[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kdenlive] src: Small color adjustments for timeline (make locked tracks more visible)
From: Jean-Baptiste Mardelle <jb () kdenlive ! org>
Date: 2016-04-30 17:02:09
Message-ID: E1awYHR-0003TM-QJ () scm ! kde ! org
[Download RAW message or body]
Git commit e027fca0bb78be76983618fccfa60b24e351029b by Jean-Baptiste Mardelle.
Committed on 30/04/2016 at 16:59.
Pushed by mardelle into branch 'master'.
Small color adjustments for timeline (make locked tracks more visible)
Fix missing icons on small track height
CCBUG: 361978
M +9 -3 src/timeline/customtrackview.cpp
M +1 -0 src/timeline/customtrackview.h
M +35 -21 src/timeline/headertrack.cpp
M +2 -1 src/timeline/headertrack.h
M +7 -5 src/timeline/timeline.cpp
M +2 -2 src/ui/timeline_ui.ui
http://commits.kde.org/kdenlive/e027fca0bb78be76983618fccfa60b24e351029b
diff --git a/src/timeline/customtrackview.cpp b/src/timeline/customtrackview.cpp
index 83f4668..94b7af8 100644
--- a/src/timeline/customtrackview.cpp
+++ b/src/timeline/customtrackview.cpp
@@ -137,6 +137,9 @@ CustomTrackView::CustomTrackView(KdenliveDoc *doc, Timeline \
*timeline, CustomTra
m_selectedTrackColor = scheme.background(KColorScheme::ActiveBackground \
).color(); m_selectedTrackColor.setAlpha(150);
+ m_lockedTrackColor = scheme.background(KColorScheme::NegativeBackground \
).color(); + m_lockedTrackColor.setAlpha(150);
+
m_keyPropertiesTimer = new QTimeLine(800);
m_keyPropertiesTimer->setFrameRange(0, 5);
m_keyPropertiesTimer->setUpdateInterval(100);
@@ -6459,16 +6462,17 @@ void CustomTrackView::drawBackground(QPainter * painter, \
const QRectF &rect) double max = rect.right();
painter->drawLine(QPointF(min, 0), QPointF(max, 0));
int maxTrack = m_timeline->visibleTracksCount();
- QColor lockedColor = palette().button().color();
QColor audioColor = palette().alternateBase().color();
+ QColor activeLockColor = m_lockedTrackColor;
+ activeLockColor.setAlpha(90);
for (int i = 1; i <= maxTrack; ++i) {
TrackInfo info = m_timeline->getTrackInfo(i);
if (info.isLocked || info.type == AudioTrack || i == m_selectedTrack) {
const QRectF track(min, m_tracksHeight * (maxTrack - i), max - min, \
m_tracksHeight - 1); if (i == m_selectedTrack)
- painter->fillRect(track, m_selectedTrackColor);
+ painter->fillRect(track, info.isLocked ? activeLockColor : \
m_selectedTrackColor); else
- painter->fillRect(track, info.isLocked ? lockedColor : audioColor);
+ painter->fillRect(track, info.isLocked ? m_lockedTrackColor : \
audioColor); }
painter->drawLine(QPointF(min, m_tracksHeight * (maxTrack - i) - 1), \
QPointF(max, m_tracksHeight * (maxTrack - i) - 1)); }
@@ -7988,6 +7992,8 @@ void CustomTrackView::updatePalette()
KColorScheme scheme(palette().currentColorGroup(), KColorScheme::Window, \
KSharedConfig::openConfig(KdenliveSettings::colortheme()));
m_selectedTrackColor = scheme.background(KColorScheme::ActiveBackground \
).color(); m_selectedTrackColor.setAlpha(150);
+ m_lockedTrackColor = scheme.background(KColorScheme::NegativeBackground \
).color(); + m_lockedTrackColor.setAlpha(150);
}
void CustomTrackView::removeTipAnimation()
diff --git a/src/timeline/customtrackview.h b/src/timeline/customtrackview.h
index 93fdb17..9ce9527 100644
--- a/src/timeline/customtrackview.h
+++ b/src/timeline/customtrackview.h
@@ -389,6 +389,7 @@ private:
QList <CommentedTime> m_searchPoints;
QList <Guide *> m_guides;
QColor m_selectedTrackColor;
+ QColor m_lockedTrackColor;
/** @brief Returns a clip from timeline
* @param pos a time value that is inside the clip
diff --git a/src/timeline/headertrack.cpp b/src/timeline/headertrack.cpp
index 844a79b..ea95a7f 100644
--- a/src/timeline/headertrack.cpp
+++ b/src/timeline/headertrack.cpp
@@ -77,10 +77,8 @@ HeaderTrack::HeaderTrack(TrackInfo info, const QList <QAction *> \
&actions, Track m_switchAudio->setActive(info.isMute);
connect(m_switchAudio, SIGNAL(activeChanged(bool)), this, \
SLOT(switchAudio(bool))); m_tb->addAction(m_switchAudio);
-
+ setAutoFillBackground(true);
if (m_type == VideoTrack) {
- setBackgroundRole(QPalette::AlternateBase);
- setAutoFillBackground(true);
m_switchVideo = new KDualAction(i18n("Disable video"), i18n("Enable video"), \
this);
m_switchVideo->setActiveIcon(KoIconUtils::themedIcon(QStringLiteral("kdenlive-hide-video")));
m_switchVideo->setInactiveIcon(KoIconUtils::themedIcon(QStringLiteral("kdenlive-show-video")));
@@ -95,6 +93,7 @@ HeaderTrack::HeaderTrack(TrackInfo info, const QList <QAction *> \
&actions, Track
connect(m_switchComposite, &KDualAction::activeChangedByUser, this, \
&HeaderTrack::switchComposite); m_tb->addAction(m_switchComposite);
} else {
+ setBackgroundRole(QPalette::AlternateBase);
m_switchVideo = NULL;
m_switchComposite = NULL;
}
@@ -131,9 +130,23 @@ void HeaderTrack::updateStatus(TrackInfo info)
if (m_switchVideo) m_switchVideo->setActive(info.isBlind);
if (m_switchComposite) m_switchComposite->setActive(info.composite);
m_switchLock->setActive(info.isLocked);
+ updateBackground(info.isLocked);
renameTrack(info.trackName);
}
+void HeaderTrack::updateBackground(bool isLocked)
+{
+ if (isLocked) {
+ setBackgroundRole(m_isSelected ? QPalette::Dark : QPalette::Shadow);
+ } else if (m_isSelected) {
+ setBackgroundRole(QPalette::Mid);
+ } else if (m_type == VideoTrack) {
+ setBackgroundRole(QPalette::Base);
+ } else {
+ setBackgroundRole(QPalette::AlternateBase);
+ }
+}
+
void HeaderTrack::setTrackHeight(int height)
{
setFixedHeight(height);
@@ -214,28 +227,18 @@ void HeaderTrack::dragEnterEvent(QDragEnterEvent *event)
void HeaderTrack::setSelectedIndex(int ix)
{
- if (m_parentTrack->index() == ix) {
- m_isSelected = true;
- QPalette pal = palette();
- KColorScheme scheme(pal.currentColorGroup(), KColorScheme::Window, \
KSharedConfig::openConfig(KdenliveSettings::colortheme()));
- pal.setColor(QPalette::Mid, scheme.background(KColorScheme::ActiveBackground \
).color());
- setPalette(pal);
- setBackgroundRole(QPalette::Mid);
- setAutoFillBackground(true);
- } else if (m_type != VideoTrack) {
- m_isSelected = false;
- setAutoFillBackground(false);
- } else {
- m_isSelected = false;
- setBackgroundRole(QPalette::AlternateBase);
- }
- update();
+ m_isSelected = ix == m_parentTrack->index();
+ updateBackground(m_switchLock->isActive());
}
void HeaderTrack::adjustSize(int height)
{
// Don't show track buttons if size is too small
- bool smallTracks = height < 40;
+ QFontMetrics metrics(font());
+ int trackHeight = metrics.height();
+ QStyle *style = qApp->style();
+ trackHeight += style->pixelMetric(QStyle::PM_ToolBarIconSize) + 2 * \
style->pixelMetric(QStyle::PM_ToolBarItemMargin) + \
style->pixelMetric(QStyle::PM_ToolBarItemSpacing); + bool smallTracks = height < \
trackHeight; m_tb->setHidden(smallTracks);
setFixedHeight(height);
}
@@ -265,6 +268,7 @@ void HeaderTrack::setLock(bool lock)
m_switchLock->blockSignals(true);
m_switchLock->setActive(lock);
m_switchLock->blockSignals(false);
+ updateBackground(lock);
}
void HeaderTrack::disableComposite()
@@ -301,6 +305,16 @@ QString HeaderTrack::name() const
return m_name;
}
-
+void HeaderTrack::refreshPalette()
+{
+ QPalette pal = palette();
+ KColorScheme scheme(pal.currentColorGroup(), KColorScheme::Window, \
KSharedConfig::openConfig(KdenliveSettings::colortheme())); + \
pal.setColor(QPalette::Base, \
scheme.background(KColorScheme::NormalBackground).color()); + \
pal.setColor(QPalette::AlternateBase, \
scheme.background(KColorScheme::AlternateBackground).color()); + \
pal.setColor(QPalette::Mid, scheme.background(KColorScheme::ActiveBackground \
).color()); + pal.setColor(QPalette::Shadow, \
scheme.background(KColorScheme::NeutralBackground ).color()); + \
pal.setColor(QPalette::Dark, scheme.background(KColorScheme::NegativeBackground \
).color()); + setPalette(pal);
+}
diff --git a/src/timeline/headertrack.h b/src/timeline/headertrack.h
index c64b885..3c8b30b 100644
--- a/src/timeline/headertrack.h
+++ b/src/timeline/headertrack.h
@@ -49,6 +49,7 @@ public:
void updateStatus(TrackInfo info);
/** @brief Track has no composite transition, disable switch button.*/
void disableComposite();
+ void refreshPalette();
protected:
void mousePressEvent(QMouseEvent * event);
@@ -67,7 +68,7 @@ private:
KDualAction *m_switchVideo;
KDualAction *m_switchAudio;
KDualAction *m_switchLock;
-
+ void updateBackground(bool isLocked);
private slots:
void switchAudio(bool);
diff --git a/src/timeline/timeline.cpp b/src/timeline/timeline.cpp
index e1d0eba..221a98a 100644
--- a/src/timeline/timeline.cpp
+++ b/src/timeline/timeline.cpp
@@ -835,16 +835,18 @@ void Timeline::updatePalette()
setPalette(qApp->palette());
QPalette p = qApp->palette();
KColorScheme scheme(p.currentColorGroup(), KColorScheme::View, \
KSharedConfig::openConfig(KdenliveSettings::colortheme()));
- QColor norm = scheme.shade(scheme.background(KColorScheme::ActiveBackground).color(), \
KColorScheme::MidShade);
- p.setColor(QPalette::Button, norm);
QColor col = scheme.background().color();
QColor col2 = scheme.foreground().color();
- headers_container->setStyleSheet(QStringLiteral("QLineEdit { background-color: \
transparent;color: %1;} QLineEdit:hover{ background-color: %2;} QLineEdit:focus { \
background-color: %2;}").arg(col2.name(), col.name())); + \
headers_container->setStyleSheet(QStringLiteral("QLineEdit { background-color: \
transparent;color: %1;} QLineEdit:hover{ background-color: %2;} QLineEdit:focus { \
background-color: %2;} ").arg(col2.name(), col.name())); \
m_trackview->updatePalette(); if (!m_tracks.isEmpty()) {
int ix = m_trackview->selectedTrack();
- if (m_tracks.at(ix)->trackHeader) {
- m_tracks.at(ix)->trackHeader->setSelectedIndex(ix);
+ for (int i = 0; i < m_tracks.count(); i++) {
+ if (m_tracks.at(i)->trackHeader) {
+ m_tracks.at(i)->trackHeader->refreshPalette();
+ if (i == ix)
+ m_tracks.at(ix)->trackHeader->setSelectedIndex(ix);
+ }
}
}
}
diff --git a/src/ui/timeline_ui.ui b/src/ui/timeline_ui.ui
index 8f78dad..58ebc5e 100644
--- a/src/ui/timeline_ui.ui
+++ b/src/ui/timeline_ui.ui
@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>308</width>
- <height>163</height>
+ <height>139</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout">
@@ -90,7 +90,7 @@
<x>0</x>
<y>0</y>
<width>70</width>
- <height>153</height>
+ <height>129</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout_2">
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic