summaryrefslogtreecommitdiff
path: root/muse2/muse/widgets
diff options
context:
space:
mode:
authorTim E. Real <termtech@rogers.com>2011-09-30 22:59:30 +0000
committerTim E. Real <termtech@rogers.com>2011-09-30 22:59:30 +0000
commit7616dd54d964e86393cdfa6cc3e5c2df811a0437 (patch)
tree95501412cc630bb2309947c6ea151cc43cd1b22e /muse2/muse/widgets
parent0cab73d2dc68d68d0027763543772d43bcd31958 (diff)
Fixed long-standing problem with themes (Ora/Bespin etc) and button icons.
Fixed midi strip blank automation box at bottom, too high. Repaired some non-virtual paintEvent(), resizeEvent(), event() etc.
Diffstat (limited to 'muse2/muse/widgets')
-rw-r--r--muse2/muse/widgets/bigtime.cpp1
-rw-r--r--muse2/muse/widgets/knob.cpp3
-rw-r--r--muse2/muse/widgets/knob.h4
-rw-r--r--muse2/muse/widgets/meter.cpp3
-rw-r--r--muse2/muse/widgets/meter.h8
-rw-r--r--muse2/muse/widgets/mtrackinfo.cpp70
-rw-r--r--muse2/muse/widgets/mtrackinfo.h6
-rw-r--r--muse2/muse/widgets/posedit.cpp13
-rw-r--r--muse2/muse/widgets/posedit.h4
-rw-r--r--muse2/muse/widgets/scrollscale.cpp5
-rw-r--r--muse2/muse/widgets/sigedit.cpp15
-rw-r--r--muse2/muse/widgets/sigedit.h4
-rw-r--r--muse2/muse/widgets/slider.cpp2
-rw-r--r--muse2/muse/widgets/slider.h4
-rw-r--r--muse2/muse/widgets/swidget.cpp3
-rw-r--r--muse2/muse/widgets/verticalmeter.cpp3
-rw-r--r--muse2/muse/widgets/verticalmeter.h4
-rw-r--r--muse2/muse/widgets/view.cpp3
18 files changed, 108 insertions, 47 deletions
diff --git a/muse2/muse/widgets/bigtime.cpp b/muse2/muse/widgets/bigtime.cpp
index 572710e2..f4162041 100644
--- a/muse2/muse/widgets/bigtime.cpp
+++ b/muse2/muse/widgets/bigtime.cpp
@@ -334,6 +334,7 @@ void BigTime::setPos(int idx, unsigned v, bool)
void BigTime::resizeEvent(QResizeEvent *ev)
{
+ QWidget::resizeEvent(ev);
dwin->resize(ev->size());
QFont f = dwin->font();
QFontMetrics fm(f);
diff --git a/muse2/muse/widgets/knob.cpp b/muse2/muse/widgets/knob.cpp
index 9bc63b33..ac035065 100644
--- a/muse2/muse/widgets/knob.cpp
+++ b/muse2/muse/widgets/knob.cpp
@@ -327,8 +327,9 @@ void Knob::rangeChange()
// resizeEvent
//---------------------------------------------------------
-void Knob::resizeEvent(QResizeEvent *)
+void Knob::resizeEvent(QResizeEvent* ev)
{
+ MusEWidget::SliderBase::resizeEvent(ev);
int width, width_2;
const QRect& r = rect();
diff --git a/muse2/muse/widgets/knob.h b/muse2/muse/widgets/knob.h
index a629f158..257ff0c7 100644
--- a/muse2/muse/widgets/knob.h
+++ b/muse2/muse/widgets/knob.h
@@ -78,8 +78,8 @@ class Knob : public SliderBase, public ScaleIf
void drawKnob(QPainter *p, const QRect &r);
void drawMarker(QPainter *p, double arc, const QColor &c);
- void paintEvent(QPaintEvent *);
- void resizeEvent(QResizeEvent *e);
+ virtual void paintEvent(QPaintEvent *);
+ virtual void resizeEvent(QResizeEvent *e);
double getValue(const QPoint &p);
void getScrollMode( QPoint &p, const Qt::MouseButton &button, int &scrollMode, int &direction );
void scaleChange() { repaint(); }
diff --git a/muse2/muse/widgets/meter.cpp b/muse2/muse/widgets/meter.cpp
index 789089fe..590e7f65 100644
--- a/muse2/muse/widgets/meter.cpp
+++ b/muse2/muse/widgets/meter.cpp
@@ -532,8 +532,9 @@ void Meter::drawVU(QPainter& p, const QRect& rect, const QPainterPath& drawPath,
// resizeEvent
//---------------------------------------------------------
-void Meter::resizeEvent(QResizeEvent* /*ev*/)
+void Meter::resizeEvent(QResizeEvent* ev)
{
+ QFrame::resizeEvent(ev);
cur_yv = -1; // Force re-initialization.
}
diff --git a/muse2/muse/widgets/meter.h b/muse2/muse/widgets/meter.h
index 7b5369b6..1de3841f 100644
--- a/muse2/muse/widgets/meter.h
+++ b/muse2/muse/widgets/meter.h
@@ -75,6 +75,10 @@ class Meter : public QFrame {
QColor separator_color;;
QColor peak_color;
int xrad, yrad;
+
+ virtual void resizeEvent(QResizeEvent*);
+ virtual void paintEvent(QPaintEvent*);
+ virtual void mousePressEvent(QMouseEvent*);
private:
MeterType mtype;
@@ -87,10 +91,6 @@ class Meter : public QFrame {
void drawVU(QPainter& p, const QRect&, const QPainterPath&, int);
- void paintEvent(QPaintEvent*);
- void resizeEvent(QResizeEvent*);
- void mousePressEvent(QMouseEvent*);
-
public slots:
void resetPeaks();
void setVal(double, double, bool);
diff --git a/muse2/muse/widgets/mtrackinfo.cpp b/muse2/muse/widgets/mtrackinfo.cpp
index e4c4e217..56429879 100644
--- a/muse2/muse/widgets/mtrackinfo.cpp
+++ b/muse2/muse/widgets/mtrackinfo.cpp
@@ -2,6 +2,7 @@
// MusE
// Linux Music Editor
// (C) Copyright 2010 Werner Schweer and others (ws@seh.de)
+// (C) Copyright 2011 Tim E. Real (terminator356 on sourceforge)
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
@@ -21,6 +22,9 @@
#include <QTimer>
#include <QMessageBox>
+#include <QLinearGradient>
+#include <QPalette>
+#include <QColor>
#include <math.h>
#include <string.h>
@@ -60,8 +64,10 @@ void MidiTrackInfo::setTrack(Track* t)
if(!t->isMidiTrack())
return;
selected = t;
+
+ trackNameLabel->setObjectName(selected->cname());
- QPalette pal;
+ /*QPalette pal;
if(selected->type() == Track::DRUM) {
pal.setColor(trackNameLabel->backgroundRole(), MusEConfig::config.drumTrackLabelBg);
iOutputChannel->setEnabled(false);
@@ -69,7 +75,8 @@ void MidiTrackInfo::setTrack(Track* t)
pal.setColor(trackNameLabel->backgroundRole(), MusEConfig::config.midiTrackLabelBg);
iOutputChannel->setEnabled(true);
}
- trackNameLabel->setPalette(pal);
+ trackNameLabel->setPalette(pal); */
+ //setLabelText();
updateTrackInfo(-1);
}
@@ -97,10 +104,7 @@ MidiTrackInfo::MidiTrackInfo(QWidget* parent, Track* sel_track) : QWidget(parent
//iChanDetectLabel->setPixmap(*darkgreendotIcon);
iChanDetectLabel->setPixmap(*darkRedLedIcon);
- QIcon recEchoIconSet;
- recEchoIconSet.addPixmap(*midiThruOnIcon, QIcon::Normal, QIcon::On);
- recEchoIconSet.addPixmap(*midiThruOffIcon, QIcon::Normal, QIcon::Off);
- recEchoButton->setIcon(recEchoIconSet);
+ recEchoButton->setIcon((selected && ((MidiTrack*)selected)->recEcho()) ? QIcon(*midiThruOnIcon) : QIcon(*midiThruOffIcon));
recEchoButton->setIconSize(midiThruOnIcon->size());
// MusE-2: AlignCenter and WordBreak are set in the ui(3) file, but not supported by QLabel. Turn them on here.
@@ -114,14 +118,26 @@ MidiTrackInfo::MidiTrackInfo(QWidget* parent, Track* sel_track) : QWidget(parent
if(selected)
{
trackNameLabel->setObjectName(selected->cname());
- QPalette pal;
+
+ /*QPalette pal;
+ QColor c;
//pal.setColor(trackNameLabel->backgroundRole(), QColor(0, 160, 255)); // Med blue
if(selected->type() == Track::DRUM)
- pal.setColor(trackNameLabel->backgroundRole(), MusEConfig::config.drumTrackLabelBg);
+ c = MusEConfig::config.drumTrackLabelBg;
else
- pal.setColor(trackNameLabel->backgroundRole(), MusEConfig::config.midiTrackLabelBg);
- trackNameLabel->setPalette(pal);
- }
+ c = MusEConfig::config.midiTrackLabelBg;
+
+ QLinearGradient gradient(trackNameLabel->geometry().topLeft(), trackNameLabel->geometry().bottomLeft());
+ //gradient.setColorAt(0, c.darker());
+ //gradient.setColorAt(0, c);
+ //gradient.setColorAt(1, c.darker());
+ gradient.setColorAt(0, c.lighter());
+ gradient.setColorAt(1, c);
+ //palette.setBrush(QPalette::Button, gradient);
+ //palette.setBrush(QPalette::Window, gradient);
+ pal.setBrush(trackNameLabel->backgroundRole(), gradient);
+ trackNameLabel->setPalette(pal); */
+ }
//else
//{
// pal.setColor(trackNameLabel->backgroundRole(), MusEConfig::config.midiTrackLabelBg);
@@ -543,6 +559,28 @@ void MidiTrackInfo::setLabelText()
trackNameLabel->setText(track->name());
else
trackNameLabel->setText(QString());
+
+ if(track)
+ {
+ QPalette pal;
+ QColor c;
+ //pal.setColor(trackNameLabel->backgroundRole(), QColor(0, 160, 255)); // Med blue
+ if(track->type() == Track::DRUM)
+ c = MusEConfig::config.drumTrackLabelBg;
+ else
+ c = MusEConfig::config.midiTrackLabelBg;
+
+ QLinearGradient gradient(trackNameLabel->geometry().topLeft(), trackNameLabel->geometry().bottomLeft());
+ //gradient.setColorAt(0, c.darker());
+ //gradient.setColorAt(0, c);
+ //gradient.setColorAt(1, c.darker());
+ gradient.setColorAt(0, c.lighter());
+ gradient.setColorAt(1, c);
+ //palette.setBrush(QPalette::Button, gradient);
+ //palette.setBrush(QPalette::Window, gradient);
+ pal.setBrush(trackNameLabel->backgroundRole(), gradient);
+ trackNameLabel->setPalette(pal);
+ }
}
//---------------------------------------------------------
@@ -1340,6 +1378,8 @@ void MidiTrackInfo::updateTrackInfo(int flags)
recEchoButton->setChecked(track->recEcho());
recEchoButton->blockSignals(false);
}
+ recEchoButton->setIcon(track->recEcho() ? QIcon(*midiThruOnIcon) : QIcon(*midiThruOffIcon));
+ //recEchoButton->setIconSize(midiThruOnIcon->size());
}
int outChannel = track->outChannel();
@@ -1566,4 +1606,12 @@ void MidiTrackInfo::recordClicked()
}
}
+void MidiTrackInfo::resizeEvent(QResizeEvent* ev)
+{
+ //printf("MidiTrackInfo::resizeEvent\n");
+ QWidget::resizeEvent(ev);
+ setLabelText();
+ setLabelFont();
+}
+
} // namespace MusEWidget
diff --git a/muse2/muse/widgets/mtrackinfo.h b/muse2/muse/widgets/mtrackinfo.h
index 42be1f58..42bcb2bf 100644
--- a/muse2/muse/widgets/mtrackinfo.h
+++ b/muse2/muse/widgets/mtrackinfo.h
@@ -2,6 +2,7 @@
// MusE
// Linux Music Editor
// (C) Copyright 2010 Werner Schweer and others (ws@seh.de)
+// (C) Copyright 2011 Tim E. Real (terminator356 on sourceforge)
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
@@ -40,7 +41,10 @@ class MidiTrackInfo : public QWidget, public Ui::MidiTrackInfoBase
int program, pan, volume;
int heartBeatCounter;
- private slots:
+ protected:
+ virtual void resizeEvent(QResizeEvent*);
+
+ private slots:
void iOutputChannelChanged(int);
void iOutputPortChanged(int);
void iProgHBankChanged();
diff --git a/muse2/muse/widgets/posedit.cpp b/muse2/muse/widgets/posedit.cpp
index 0e031c38..772d434a 100644
--- a/muse2/muse/widgets/posedit.cpp
+++ b/muse2/muse/widgets/posedit.cpp
@@ -77,11 +77,11 @@ class PosEditor : public QLineEdit
protected:
void init();
- bool event(QEvent *e);
- void resizeEvent(QResizeEvent*);
- void paintEvent(QPaintEvent*);
- void mousePressEvent(QMouseEvent *e);
- void keyPressEvent(QKeyEvent * event );
+ virtual bool event(QEvent *e);
+ virtual void resizeEvent(QResizeEvent*);
+ virtual void paintEvent(QPaintEvent*);
+ virtual void mousePressEvent(QMouseEvent *e);
+ virtual void keyPressEvent(QKeyEvent * event );
void applyFocusSelection() {}
public:
@@ -817,8 +817,9 @@ void PosEdit::removeLastNumber(int secNo)
// resizeEvent
//---------------------------------------------------------
-void PosEdit::resizeEvent(QResizeEvent *)
+void PosEdit::resizeEvent(QResizeEvent* ev)
{
+ QWidget::resizeEvent(ev);
controls->resize(width(), height());
}
diff --git a/muse2/muse/widgets/posedit.h b/muse2/muse/widgets/posedit.h
index 3224a3a6..5f763f51 100644
--- a/muse2/muse/widgets/posedit.h
+++ b/muse2/muse/widgets/posedit.h
@@ -74,9 +74,9 @@ class PosEdit : public QWidget
void returnPressed();
protected:
- bool event(QEvent *e );
+ virtual bool event(QEvent *e );
void timerEvent(QTimerEvent* e);
- void resizeEvent(QResizeEvent*);
+ virtual void resizeEvent(QResizeEvent*);
QString sectionFormattedText(int sec);
void addNumber(int sec, int num);
void removeLastNumber(int sec);
diff --git a/muse2/muse/widgets/scrollscale.cpp b/muse2/muse/widgets/scrollscale.cpp
index 21ed10b6..e7d40f67 100644
--- a/muse2/muse/widgets/scrollscale.cpp
+++ b/muse2/muse/widgets/scrollscale.cpp
@@ -197,9 +197,10 @@ void ScrollScale::setPosNoLimit ( unsigned pos )
// resizeEvent
//---------------------------------------------------------
-void ScrollScale::resizeEvent ( QResizeEvent* )
+void ScrollScale::resizeEvent ( QResizeEvent* ev)
{
- setScale ( scale->value() );
+ QWidget::resizeEvent(ev);
+ setScale ( scale->value() );
}
//---------------------------------------------------------
diff --git a/muse2/muse/widgets/sigedit.cpp b/muse2/muse/widgets/sigedit.cpp
index c2c5a842..a952cfef 100644
--- a/muse2/muse/widgets/sigedit.cpp
+++ b/muse2/muse/widgets/sigedit.cpp
@@ -103,11 +103,11 @@ class SigEditor : public QLineEdit
protected:
void init();
- bool event(QEvent *e);
- void resizeEvent(QResizeEvent*);
- void paintEvent(QPaintEvent*);
- void mousePressEvent(QMouseEvent *e);
- void keyPressEvent(QKeyEvent * event );
+ virtual bool event(QEvent *e);
+ virtual void resizeEvent(QResizeEvent*);
+ virtual void paintEvent(QPaintEvent*);
+ virtual void mousePressEvent(QMouseEvent *e);
+ virtual void keyPressEvent(QKeyEvent * event );
void applyFocusSelection() {}
public:
@@ -699,9 +699,10 @@ void SigEdit::removeLastNumber(int secNo)
// resizeEvent
//---------------------------------------------------------
-void SigEdit::resizeEvent(QResizeEvent *)
+void SigEdit::resizeEvent(QResizeEvent* ev)
{
- controls->resize(width(), height());
+ QWidget::resizeEvent(ev);
+ controls->resize(width(), height());
}
//---------------------------------------------------------
diff --git a/muse2/muse/widgets/sigedit.h b/muse2/muse/widgets/sigedit.h
index 3b1ca635..05684db1 100644
--- a/muse2/muse/widgets/sigedit.h
+++ b/muse2/muse/widgets/sigedit.h
@@ -72,9 +72,9 @@ class SigEdit : public QWidget
void returnPressed();
protected:
- bool event(QEvent *e );
+ virtual bool event(QEvent *e );
void timerEvent(QTimerEvent* e);
- void resizeEvent(QResizeEvent*);
+ virtual void resizeEvent(QResizeEvent*);
QString sectionFormattedText(int sec);
void addNumber(int sec, int num);
void removeLastNumber(int sec);
diff --git a/muse2/muse/widgets/slider.cpp b/muse2/muse/widgets/slider.cpp
index 593b3df6..863933d2 100644
--- a/muse2/muse/widgets/slider.cpp
+++ b/muse2/muse/widgets/slider.cpp
@@ -580,7 +580,7 @@ void Slider::paintEvent(QPaintEvent* /*ev*/)
void Slider::resizeEvent(QResizeEvent *e)
{
-
+ MusEWidget::SliderBase::resizeEvent(e);
d_resized = TRUE;
QSize s = e->size();
/* Scale is not supported
diff --git a/muse2/muse/widgets/slider.h b/muse2/muse/widgets/slider.h
index 5a2bff71..b1281da0 100644
--- a/muse2/muse/widgets/slider.h
+++ b/muse2/muse/widgets/slider.h
@@ -79,8 +79,8 @@ class Slider : public SliderBase, public ScaleIf
virtual void drawSlider (QPainter *p, const QRect &r);
double getValue(const QPoint &p);
void getScrollMode( QPoint &p, const Qt::MouseButton &button, int &scrollMode, int &direction);
- void resizeEvent(QResizeEvent *e);
- void paintEvent (QPaintEvent *e);
+ virtual void resizeEvent(QResizeEvent *e);
+ virtual void paintEvent (QPaintEvent *e);
void valueChange();
void rangeChange();
void scaleChange();
diff --git a/muse2/muse/widgets/swidget.cpp b/muse2/muse/widgets/swidget.cpp
index f8461977..51796781 100644
--- a/muse2/muse/widgets/swidget.cpp
+++ b/muse2/muse/widgets/swidget.cpp
@@ -32,7 +32,8 @@ namespace MusEWidget {
void SWidget::resizeEvent(QResizeEvent* ev)
{
- emit heightChanged(ev->size().height());
+ QWidget::resizeEvent(ev);
+ emit heightChanged(ev->size().height());
}
} // namespace MusEWidget
diff --git a/muse2/muse/widgets/verticalmeter.cpp b/muse2/muse/widgets/verticalmeter.cpp
index 74b4b695..4553b156 100644
--- a/muse2/muse/widgets/verticalmeter.cpp
+++ b/muse2/muse/widgets/verticalmeter.cpp
@@ -333,8 +333,9 @@ void VerticalMeter::drawVU(QPainter& p, int w, int h, int xv)
// resizeEvent
//---------------------------------------------------------
-void VerticalMeter::resizeEvent(QResizeEvent* /*ev*/)
+void VerticalMeter::resizeEvent(QResizeEvent* ev)
{
+ MusEWidget::Meter::resizeEvent(ev);
}
} // namespace MusEWidget
diff --git a/muse2/muse/widgets/verticalmeter.h b/muse2/muse/widgets/verticalmeter.h
index d6bee245..024ecc10 100644
--- a/muse2/muse/widgets/verticalmeter.h
+++ b/muse2/muse/widgets/verticalmeter.h
@@ -47,8 +47,8 @@ class VerticalMeter : public Meter {
void drawVU(QPainter& p, int, int, int);
- void paintEvent(QPaintEvent*);
- void resizeEvent(QResizeEvent*);
+ virtual void paintEvent(QPaintEvent*);
+ virtual void resizeEvent(QResizeEvent*);
public slots:
void resetPeaks();
diff --git a/muse2/muse/widgets/view.cpp b/muse2/muse/widgets/view.cpp
index 9be66ed5..8a9d82b4 100644
--- a/muse2/muse/widgets/view.cpp
+++ b/muse2/muse/widgets/view.cpp
@@ -290,8 +290,9 @@ void View::setYPos(int y)
// resizeEvent
//---------------------------------------------------------
-void View::resizeEvent(QResizeEvent* /*ev*/)
+void View::resizeEvent(QResizeEvent* ev)
{
+ QWidget::resizeEvent(ev);
#ifdef VIEW_USE_DOUBLE_BUFFERING
//pm.resize(ev->size());
//printf("View::resizeEvent width:%d height:%d\n",