Mercurial > hg > sonic-visualiser
comparison main/MainWindow.cpp @ 458:a94be56cf98f toggle
Add/remove several actions from the Playback menu when switching mode: constrain playback to selection, loop, solo, align
author | mathieub <mathieu.barthet@eecs.qmul.ac.uk> |
---|---|
date | Mon, 04 Jul 2011 13:06:02 +0100 |
parents | 1604cb12ce11 |
children | f8f74f1b5b4f |
comparison
equal
deleted
inserted
replaced
454:1604cb12ce11 | 458:a94be56cf98f |
---|---|
151 m_ffwdSimilarAction(0), | 151 m_ffwdSimilarAction(0), |
152 m_ffwdEndAction(0), | 152 m_ffwdEndAction(0), |
153 m_playAction(0), | 153 m_playAction(0), |
154 m_playSelectionAction(0), | 154 m_playSelectionAction(0), |
155 m_playLoopAction(0), | 155 m_playLoopAction(0), |
156 m_alAction(0), | |
156 m_playControlsSpacer(0), | 157 m_playControlsSpacer(0), |
157 m_playControlsWidth(0), | 158 m_playControlsWidth(0), |
158 m_preferencesDialog(0), | 159 m_preferencesDialog(0), |
159 m_layerTreeDialog(0), | 160 m_layerTreeDialog(0), |
160 m_activityLog(new ActivityLog()), | 161 m_activityLog(new ActivityLog()), |
1858 connect(m_viewManager, SIGNAL(playSoloModeChanged(bool)), | 1859 connect(m_viewManager, SIGNAL(playSoloModeChanged(bool)), |
1859 m_soloAction, SLOT(setChecked(bool))); | 1860 m_soloAction, SLOT(setChecked(bool))); |
1860 connect(m_soloAction, SIGNAL(triggered()), this, SLOT(playSoloToggled())); | 1861 connect(m_soloAction, SIGNAL(triggered()), this, SLOT(playSoloToggled())); |
1861 connect(this, SIGNAL(canChangeSolo(bool)), m_soloAction, SLOT(setEnabled(bool))); | 1862 connect(this, SIGNAL(canChangeSolo(bool)), m_soloAction, SLOT(setEnabled(bool))); |
1862 | 1863 |
1863 QAction *alAction = 0; | 1864 //QAction *alAction = 0; |
1864 if (Document::canAlign()) { | 1865 if (Document::canAlign()) { |
1865 alAction = m_playModeToolBar->addAction(il.load("align"), | 1866 m_alAction = m_playModeToolBar->addAction(il.load("align"), |
1866 tr("Align File Timelines")); | 1867 tr("Align File Timelines")); |
1867 alAction->setCheckable(true); | 1868 m_alAction->setCheckable(true); |
1868 alAction->setChecked(m_viewManager->getAlignMode()); | 1869 m_alAction->setChecked(m_viewManager->getAlignMode()); |
1869 alAction->setStatusTip(tr("Treat multiple audio files as versions of the same work, and align their timelines")); | 1870 m_alAction->setStatusTip(tr("Treat multiple audio files as versions of the same work, and align their timelines")); |
1870 connect(m_viewManager, SIGNAL(alignModeChanged(bool)), | 1871 connect(m_viewManager, SIGNAL(alignModeChanged(bool)), |
1871 alAction, SLOT(setChecked(bool))); | 1872 m_alAction, SLOT(setChecked(bool))); |
1872 connect(alAction, SIGNAL(triggered()), this, SLOT(alignToggled())); | 1873 connect(m_alAction, SIGNAL(triggered()), this, SLOT(alignToggled())); |
1873 connect(this, SIGNAL(canAlign(bool)), alAction, SLOT(setEnabled(bool))); | 1874 connect(this, SIGNAL(canAlign(bool)), m_alAction, SLOT(setEnabled(bool))); |
1874 } | 1875 } |
1875 | 1876 |
1876 m_keyReference->registerShortcut(m_playAction); | 1877 m_keyReference->registerShortcut(m_playAction); |
1877 m_keyReference->registerShortcut(m_playSelectionAction); | 1878 m_keyReference->registerShortcut(m_playSelectionAction); |
1878 m_keyReference->registerShortcut(m_playLoopAction); | 1879 m_keyReference->registerShortcut(m_playLoopAction); |
1879 m_keyReference->registerShortcut(m_soloAction); | 1880 m_keyReference->registerShortcut(m_soloAction); |
1880 if (alAction) m_keyReference->registerShortcut(alAction); | 1881 if (m_alAction) m_keyReference->registerShortcut(m_alAction); |
1881 m_keyReference->registerShortcut(m_rwdAction); | 1882 m_keyReference->registerShortcut(m_rwdAction); |
1882 m_keyReference->registerShortcut(m_ffwdAction); | 1883 m_keyReference->registerShortcut(m_ffwdAction); |
1883 m_keyReference->registerShortcut(m_rwdSimilarAction); | 1884 m_keyReference->registerShortcut(m_rwdSimilarAction); |
1884 m_keyReference->registerShortcut(m_ffwdSimilarAction); | 1885 m_keyReference->registerShortcut(m_ffwdSimilarAction); |
1885 m_keyReference->registerShortcut(m_rwdStartAction); | 1886 m_keyReference->registerShortcut(m_rwdStartAction); |
1887 | 1888 |
1888 menu->addAction(m_playAction); | 1889 menu->addAction(m_playAction); |
1889 menu->addAction(m_playSelectionAction); | 1890 menu->addAction(m_playSelectionAction); |
1890 menu->addAction(m_playLoopAction); | 1891 menu->addAction(m_playLoopAction); |
1891 menu->addAction(m_soloAction); | 1892 menu->addAction(m_soloAction); |
1892 if (alAction) menu->addAction(alAction); | 1893 if (m_alAction) menu->addAction(m_alAction); |
1893 menu->addSeparator(); | 1894 menu->addSeparator(); |
1894 menu->addAction(m_rwdAction); | 1895 menu->addAction(m_rwdAction); |
1895 menu->addAction(m_ffwdAction); | 1896 menu->addAction(m_ffwdAction); |
1896 menu->addSeparator(); | 1897 menu->addSeparator(); |
1897 menu->addAction(m_rwdSimilarAction); | 1898 menu->addAction(m_rwdSimilarAction); |
1903 | 1904 |
1904 m_rightButtonPlaybackMenu->addAction(m_playAction); | 1905 m_rightButtonPlaybackMenu->addAction(m_playAction); |
1905 m_rightButtonPlaybackMenu->addAction(m_playSelectionAction); | 1906 m_rightButtonPlaybackMenu->addAction(m_playSelectionAction); |
1906 m_rightButtonPlaybackMenu->addAction(m_playLoopAction); | 1907 m_rightButtonPlaybackMenu->addAction(m_playLoopAction); |
1907 m_rightButtonPlaybackMenu->addAction(m_soloAction); | 1908 m_rightButtonPlaybackMenu->addAction(m_soloAction); |
1908 if (alAction) m_rightButtonPlaybackMenu->addAction(alAction); | 1909 if (m_alAction) m_rightButtonPlaybackMenu->addAction(m_alAction); |
1909 m_rightButtonPlaybackMenu->addSeparator(); | 1910 m_rightButtonPlaybackMenu->addSeparator(); |
1910 m_rightButtonPlaybackMenu->addAction(m_rwdAction); | 1911 m_rightButtonPlaybackMenu->addAction(m_rwdAction); |
1911 m_rightButtonPlaybackMenu->addAction(m_ffwdAction); | 1912 m_rightButtonPlaybackMenu->addAction(m_ffwdAction); |
1912 m_rightButtonPlaybackMenu->addSeparator(); | 1913 m_rightButtonPlaybackMenu->addSeparator(); |
1913 m_rightButtonPlaybackMenu->addAction(m_rwdStartAction); | 1914 m_rightButtonPlaybackMenu->addAction(m_rwdStartAction); |
4228 | 4229 |
4229 m_playModeToolBar->setVisible(show); | 4230 m_playModeToolBar->setVisible(show); |
4230 m_editToolBar->setVisible(show); | 4231 m_editToolBar->setVisible(show); |
4231 m_toolsToolBar->setVisible(show); | 4232 m_toolsToolBar->setVisible(show); |
4232 | 4233 |
4234 //add/remove actions from the File menu | |
4233 m_importAnnotationLayerAction->setVisible(show); | 4235 m_importAnnotationLayerAction->setVisible(show); |
4234 m_exportAnnotationLayerAction->setVisible(show); | 4236 m_exportAnnotationLayerAction->setVisible(show); |
4237 //add/remove actions from the View menu | |
4235 m_showNoOverlaysAction->setVisible(show); | 4238 m_showNoOverlaysAction->setVisible(show); |
4236 m_showMinimalOverlaysAction->setVisible(show); | 4239 m_showMinimalOverlaysAction->setVisible(show); |
4237 m_showStandardOverlaysAction->setVisible(show); | 4240 m_showStandardOverlaysAction->setVisible(show); |
4238 m_showAllOverlaysAction->setVisible(show); | 4241 m_showAllOverlaysAction->setVisible(show); |
4239 m_showAllTimeRulersAction->setVisible(show); | 4242 m_showAllTimeRulersAction->setVisible(show); |
4240 m_showZoomWheelsAction->setVisible(show); | 4243 m_showZoomWheelsAction->setVisible(show); |
4241 m_showPropertyBoxesAction->setVisible(show); | 4244 m_showPropertyBoxesAction->setVisible(show); |
4242 m_showStatusBarAction->setVisible(show); | 4245 m_showStatusBarAction->setVisible(show); |
4246 //add/remove actions from the Playback menu | |
4247 m_playSelectionAction->setVisible(show); | |
4248 m_playLoopAction->setVisible(show); | |
4249 m_soloAction->setVisible(show); | |
4250 m_alAction->setVisible(show); | |
4243 | 4251 |
4244 m_playControlsSpacer->setVisible(show); | 4252 m_playControlsSpacer->setVisible(show); |
4245 | 4253 |
4246 if (wasMinimal) { | 4254 if (wasMinimal) { |
4247 resizeConstrained(settings.value("size").toSize()); | 4255 resizeConstrained(settings.value("size").toSize()); |
4251 } | 4259 } |
4252 | 4260 |
4253 settings.endGroup(); | 4261 settings.endGroup(); |
4254 | 4262 |
4255 //TO-DOS: | 4263 //TO-DOS: |
4264 //The Constrain Playback to Selection option is still effective when the minimal mode is activated whereas | |
4265 //the functionality to modify the selection has been removed from this mode. Playback mode should switch to | |
4266 //normal when the minimal mode is activated and then be set up again to what it was when the full mode is | |
4267 //activated again. | |
4268 | |
4269 //done: | |
4256 //- when switching back to full mode, the pane is not shown entirely, should restore the previous size | 4270 //- when switching back to full mode, the pane is not shown entirely, should restore the previous size |
4257 //- the size of the overview (namely its width) should be increased when the minimal mode is activated | 4271 //- the size of the overview (namely its width) should be increased when the minimal mode is activated |
4258 //- the menus which have no effects in the minimal mode should be removed (or their actions disabled) | 4272 //- the menus which have no effects in the minimal mode should be removed (or their actions disabled) |
4259 //even if this doesn't lead cause the application to crash (the actual changes are made in the hidden pane(s)) | 4273 //even if this doesn't lead cause the application to crash (the actual changes are made in the hidden pane(s)) |
4260 //- the menu actions which have no effects in the minimal mode should be removed or disabled | 4274 //- the menu actions which have no effects in the minimal mode should be removed or disabled |