summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaj Grönholm <kaj.gronholm@qt.io>2018-01-10 14:18:03 +0200
committerKaj Grönholm <kaj.gronholm@qt.io>2018-01-15 10:58:15 +0000
commit714ae1e618d3a445f31d885cc039bb2efb1fcc92 (patch)
treef3a0cac4510efa6a32e93c5cfb911b0fa6b7d29e
parentdfc37a2a61db9905fd7e3c18da81333062054998 (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.cpp23
-rw-r--r--src/Authoring/Studio/_Win/UI/TimeLineToolbar.h2
-rw-r--r--src/Authoring/Studio/_Win/UI/TimeLineToolbar.ui14
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/>