diff options
author | Kaj Grönholm <kaj.gronholm@qt.io> | 2018-01-10 14:18:03 +0200 |
---|---|---|
committer | Kaj Grönholm <kaj.gronholm@qt.io> | 2018-01-15 10:58:15 +0000 |
commit | 714ae1e618d3a445f31d885cc039bb2efb1fcc92 (patch) | |
tree | f3a0cac4510efa6a32e93c5cfb911b0fa6b7d29e | |
parent | dfc37a2a61db9905fd7e3c18da81333062054998 (diff) |
Combine play&stop playback toolbar buttons
Combine playback control into a single button as they are anyway
never enabled at the same time. This way user doesn't need to move
the mouse between those. Combining also matches with some other
editor UIs users might be familiar with.
Change-Id: I38dd13293831dc109e6c090d17b3e12612c322b8
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
-rw-r--r-- | src/Authoring/Studio/_Win/UI/TimeLineToolbar.cpp | 23 | ||||
-rw-r--r-- | src/Authoring/Studio/_Win/UI/TimeLineToolbar.h | 2 | ||||
-rw-r--r-- | src/Authoring/Studio/_Win/UI/TimeLineToolbar.ui | 14 |
3 files changed, 18 insertions, 21 deletions
diff --git a/src/Authoring/Studio/_Win/UI/TimeLineToolbar.cpp b/src/Authoring/Studio/_Win/UI/TimeLineToolbar.cpp index a679e9dc..753ce160 100644 --- a/src/Authoring/Studio/_Win/UI/TimeLineToolbar.cpp +++ b/src/Authoring/Studio/_Win/UI/TimeLineToolbar.cpp @@ -47,20 +47,20 @@ TimeLineToolbar::TimeLineToolbar(CMainFrame *mainFrame, const QSize &preferredSi : QWidget(pParent) , m_ui(new QT_PREPEND_NAMESPACE(Ui::TimeLineToolbar)) , m_preferredSize(preferredSize) + , m_mainFrame(mainFrame) { m_ui->setupUi(this); connect(m_ui->playButton, &QToolButton::clicked, - mainFrame, &CMainFrame::OnPlaybackPlay); + this, &TimeLineToolbar::onPlayButtonClicked); connect(m_ui->rewindButton, &QToolButton::clicked, mainFrame, &CMainFrame::OnPlaybackRewind); - connect(m_ui->stopButton, &QToolButton::clicked, - mainFrame, &CMainFrame::OnPlaybackStop); connect(mainFrame, &CMainFrame::playStateChanged, - [this](bool state){ - m_ui->playButton->setEnabled(!state); - m_ui->playButton->setChecked(state); - m_ui->stopButton->setEnabled(state); + [this](bool started) { + if (started) + m_ui->playButton->setIcon(QIcon(":/images/playback_tools_low-01.png")); + else + m_ui->playButton->setIcon(QIcon(":/images/playback_tools_low-02.png")); }); CDoc *doc = g_StudioApp.GetCore()->GetDoc(); @@ -145,3 +145,12 @@ void TimeLineToolbar::onAddLayerClicked() DocumentEditorInsertType::PreviousSibling, CPt(), PRIMITIVETYPE_UNKNOWN, -1); } + +void TimeLineToolbar::onPlayButtonClicked() +{ + CDoc *doc = g_StudioApp.GetCore()->GetDoc(); + if (doc->IsPlaying()) + m_mainFrame->OnPlaybackStop(); + else + m_mainFrame->OnPlaybackPlay(); +} diff --git a/src/Authoring/Studio/_Win/UI/TimeLineToolbar.h b/src/Authoring/Studio/_Win/UI/TimeLineToolbar.h index 9a3800bc..7272566f 100644 --- a/src/Authoring/Studio/_Win/UI/TimeLineToolbar.h +++ b/src/Authoring/Studio/_Win/UI/TimeLineToolbar.h @@ -56,10 +56,12 @@ public: private Q_SLOTS: void onAddLayerClicked(); + void onPlayButtonClicked(); protected: QT_PREPEND_NAMESPACE(Ui::TimeLineToolbar) *m_ui; QSize m_preferredSize; + CMainFrame *m_mainFrame; std::vector<std::shared_ptr<qt3dsdm::ISignalConnection>> m_Connections; }; diff --git a/src/Authoring/Studio/_Win/UI/TimeLineToolbar.ui b/src/Authoring/Studio/_Win/UI/TimeLineToolbar.ui index c5dd8e81..74521fa8 100644 --- a/src/Authoring/Studio/_Win/UI/TimeLineToolbar.ui +++ b/src/Authoring/Studio/_Win/UI/TimeLineToolbar.ui @@ -172,20 +172,6 @@ </widget> </item> <item> - <widget class="QToolButton" name="stopButton"> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="text"> - <string/> - </property> - <property name="icon"> - <iconset> - <normaloff>:/images/playback_tools_low-01.png</normaloff>:/images/playback_tools_low-01.png</iconset> - </property> - </widget> - </item> - <item> <widget class="QToolButton" name="playButton"> <property name="text"> <string/> |