]> git.sesse.net Git - kdenlive/blobdiff - src/headertrack.cpp
Fix crash when adding or deleting a profile, also fix scrolling issue:
[kdenlive] / src / headertrack.cpp
index bd245b3eeee8b0542c06a3a96638229bcc10ee4d..117d67f267c80c03a865f0429dbcabd2358ee745 100644 (file)
@@ -23,6 +23,7 @@
 #include <KIcon>
 #include <KLocale>
 #include <KDebug>
+#include <KColorScheme>
 
 #include <QMouseEvent>
 #include <QWidget>
@@ -46,6 +47,11 @@ HeaderTrack::HeaderTrack(int index, TrackInfo info, int height, QWidget *parent)
     buttonLock->setChecked(info.isLocked);
     buttonLock->setToolTip(i18n("Lock track"));
 
+    QPalette p = palette();
+    KColorScheme scheme(p.currentColorGroup(), KColorScheme::Window);
+    p.setColor(QPalette::Button, scheme.background(KColorScheme::ActiveBackground).color().darker(120));
+    setPalette(p);
+
     if (m_type == VIDEOTRACK) {
         setBackgroundRole(QPalette::AlternateBase);
         setAutoFillBackground(true);
@@ -95,6 +101,23 @@ HeaderTrack::HeaderTrack(int index, TrackInfo info, int height, QWidget *parent)
 {
 }*/
 
+// virtual
+void HeaderTrack::mousePressEvent(QMouseEvent * event)
+{
+    emit selectTrack(m_index);
+    QWidget::mousePressEvent(event);
+}
+
+void HeaderTrack::setSelectedIndex(int ix)
+{
+    if (m_index == ix) {
+        setBackgroundRole(QPalette::Button);
+        setAutoFillBackground(true);
+    } else if (m_type != VIDEOTRACK) setAutoFillBackground(false);
+    else setBackgroundRole(QPalette::AlternateBase);
+    update();
+}
+
 void HeaderTrack::adjustSize(int height)
 {
     // Don't show track buttons if size is too small