summaryrefslogtreecommitdiff
path: root/src/skingui
diff options
context:
space:
mode:
Diffstat (limited to 'src/skingui')
-rw-r--r--src/skingui/mediabarpanel.cpp2
-rw-r--r--src/skingui/mediapanel.cpp4
-rw-r--r--src/skingui/mediapanel.h4
-rw-r--r--src/skingui/panelseeker.cpp16
-rw-r--r--src/skingui/panelseeker.h12
-rw-r--r--src/skingui/skingui.cpp11
6 files changed, 44 insertions, 5 deletions
diff --git a/src/skingui/mediabarpanel.cpp b/src/skingui/mediabarpanel.cpp
index f7ef46d..fc3bf62 100644
--- a/src/skingui/mediabarpanel.cpp
+++ b/src/skingui/mediabarpanel.cpp
@@ -101,6 +101,8 @@ void MediaBarPanel::setCore(Core *c)
connect(core, SIGNAL(showTime(double)), this, SLOT(gotCurrentTime(double)));
connect(core, SIGNAL(mediaInfoChanged()), this, SLOT(updateMediaInfo()));
connect(core, SIGNAL(buffering()), this, SLOT(setBuffering()));
+ connect(mediaPanel, SIGNAL(seekerWheelUp()), core, SLOT(wheelUp()));
+ connect(mediaPanel, SIGNAL(seekerWheelDown()), core, SLOT(wheelDown()));
}
void MediaBarPanel::setDuration()
diff --git a/src/skingui/mediapanel.cpp b/src/skingui/mediapanel.cpp
index acdc2ec..db777f7 100644
--- a/src/skingui/mediapanel.cpp
+++ b/src/skingui/mediapanel.cpp
@@ -54,7 +54,7 @@ MediaPanel::MediaPanel(QWidget *parent)
resolutionLabel->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Preferred);
repeatButton = new MyButton(this);
shuffleButton = new MyButton(this);
- seeker = new PanelSeeker;
+ seeker = new PanelTimeSeeker;
seeker->setObjectName("panel-seeker");
seeker->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Ignored);
#ifdef SEEKBAR_RESOLUTION
@@ -97,6 +97,8 @@ MediaPanel::MediaPanel(QWidget *parent)
timer->setInterval(2000);
connect(timer, SIGNAL(timeout()), this, SLOT(reverseStatus()));
connect(seeker, SIGNAL(valueChanged(int)), this, SIGNAL(seekerChanged(int)));
+ connect(seeker, SIGNAL(wheelUp()), this, SIGNAL(seekerWheelUp()));
+ connect(seeker, SIGNAL(wheelDown()), this, SIGNAL(seekerWheelDown()));
}
MediaPanel::~MediaPanel() {
diff --git a/src/skingui/mediapanel.h b/src/skingui/mediapanel.h
index 639f8ec..d043955 100644
--- a/src/skingui/mediapanel.h
+++ b/src/skingui/mediapanel.h
@@ -103,7 +103,7 @@ private:
QPixmap rightBackground;
ScrollingLabel* mediaLabel;
QLabel *resolutionLabel;
- PanelSeeker* seeker;
+ PanelTimeSeeker* seeker;
MyButton* repeatButton;
MyButton* shuffleButton;
QLabel* elapsedLabel;
@@ -123,6 +123,8 @@ protected:
signals:
void seekerChanged(int);
+ void seekerWheelUp();
+ void seekerWheelDown();
public:
friend class IconSetter;
diff --git a/src/skingui/panelseeker.cpp b/src/skingui/panelseeker.cpp
index 465c215..b876eb2 100644
--- a/src/skingui/panelseeker.cpp
+++ b/src/skingui/panelseeker.cpp
@@ -304,6 +304,8 @@ void PanelSeeker::changeEvent(QEvent *e)
void PanelSeeker::timerEvent(QTimerEvent *t)
{
+ if (bufferingPix.width() < 1) return;
+
if(!state.testFlag(Buffering))
{
killTimer(t->timerId());
@@ -353,4 +355,18 @@ void PanelSeeker::wheelEvent(QWheelEvent *e)
}
+void PanelTimeSeeker::wheelEvent(QWheelEvent *e) {
+ qDebug("PanelTimeSeeker::wheelEvent: delta: %d", e->delta());
+ e->accept();
+
+ if (e->orientation() == Qt::Vertical) {
+ if (e->delta() >= 0)
+ emit wheelUp();
+ else
+ emit wheelDown();
+ } else {
+ qDebug("PanelTimeSeeker::wheelEvent: horizontal event received, doing nothing");
+ }
+}
+
#include "moc_panelseeker.cpp"
diff --git a/src/skingui/panelseeker.h b/src/skingui/panelseeker.h
index 3f98835..510bafc 100644
--- a/src/skingui/panelseeker.h
+++ b/src/skingui/panelseeker.h
@@ -128,4 +128,16 @@ protected:
};
Q_DECLARE_OPERATORS_FOR_FLAGS(PanelSeeker::States)
+
+class PanelTimeSeeker : public PanelSeeker {
+ Q_OBJECT
+
+signals:
+ void wheelUp();
+ void wheelDown();
+
+protected:
+ void wheelEvent(QWheelEvent *e);
+};
+
#endif // PANELSEEKER_H
diff --git a/src/skingui/skingui.cpp b/src/skingui/skingui.cpp
index 760c9c8..035f5a3 100644
--- a/src/skingui/skingui.cpp
+++ b/src/skingui/skingui.cpp
@@ -101,12 +101,17 @@ void SkinGui::changeStyleSheet(QString style) {
}
else {
QString qss = Images::styleSheet();
+#ifdef USE_RESOURCES
+ Images::setTheme(pref->iconset);
+ QString path = ":/" + pref->iconset;
+#else
QDir current = QDir::current();
QString td = Images::themesDirectory();
- QString relativePath = current.relativeFilePath(td);
+ QString path = current.relativeFilePath(td);
+#endif
qss.replace(QRegExp("url\\s*\\(\\s*([^\\);]+)\\s*\\)", Qt::CaseSensitive, QRegExp::RegExp2),
- QString("url(%1\\1)").arg(relativePath + "/"));
- //qDebug("qss: %s", qss.toLatin1().constData());
+ QString("url(%1\\1)").arg(path + "/"));
+ //qDebug("SkinGui::changeStyleSheet: qss: %s", qss.toLatin1().constData());
qApp->setStyleSheet(qss);
}
}