diff options
author | Tomi Korpipaa <tomi.korpipaa@qt.io> | 2017-12-05 09:05:01 +0200 |
---|---|---|
committer | Tomi Korpipää <tomi.korpipaa@qt.io> | 2017-12-14 04:33:27 +0000 |
commit | 0fb599b6d9610e75490d90707bca32a05484eb6e (patch) | |
tree | 5d2d23c64dea85b863de6528f7a3794c5b1b3878 /src/Authoring/Studio/MainFrm.cpp | |
parent | 46df7355d6985b751773214f4b530fa55974b4d0 (diff) |
Unify color dialogs
Force Qt style to all color dialogs. In addition, add previewing the color change
immediately.
Task-number: QT3DS-643
Change-Id: I6b6671390c8a5456e7050f9ac2a00043c299052d
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Diffstat (limited to 'src/Authoring/Studio/MainFrm.cpp')
-rw-r--r-- | src/Authoring/Studio/MainFrm.cpp | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/src/Authoring/Studio/MainFrm.cpp b/src/Authoring/Studio/MainFrm.cpp index 32a8ff05..6826dbc5 100644 --- a/src/Authoring/Studio/MainFrm.cpp +++ b/src/Authoring/Studio/MainFrm.cpp @@ -67,6 +67,7 @@ #include <QtCore/qtimer.h> #include <QtCore/qurl.h> #include <QtCore/qdir.h> +#include <QtWidgets/qcolordialog.h> // Constants const long PLAYBACK_TIMER_TIMEOUT = 10; // 10 milliseconds @@ -531,14 +532,26 @@ void CMainFrame::OnUpdateToolChange() void CMainFrame::OnTimelineSetTimeBarColor() { ITimelineTimebar *theTimelineTimebar = GetSelectedTimelineTimebar(); - if (theTimelineTimebar != NULL) { - CColor theColor = theTimelineTimebar->GetTimebarColor(); - - if (g_StudioApp.GetDialogs()->PromptObjectTimebarColor(theColor)) - theTimelineTimebar->SetTimebarColor(theColor); + if (theTimelineTimebar) { + QColor previousColor = theTimelineTimebar->GetTimebarColor(); + QColorDialog *theColorDlg = new QColorDialog(previousColor, this); + theColorDlg->setOption(QColorDialog::DontUseNativeDialog, true); + connect(theColorDlg, &QColorDialog::currentColorChanged, + this, &CMainFrame::OnTimeBarColorChanged); + if (theColorDlg->exec() == QDialog::Accepted) + theTimelineTimebar->SetTimebarColor(theColorDlg->selectedColor()); + else + theTimelineTimebar->SetTimebarColor(previousColor); } } +void CMainFrame::OnTimeBarColorChanged(const QColor &color) +{ + ITimelineTimebar *theTimelineTimebar = GetSelectedTimelineTimebar(); + if (theTimelineTimebar) + theTimelineTimebar->SetTimebarColor(color); +} + //============================================================================== /** * OnUpdateTimelineSetTimeBarColor: Handles the update UI message for the |