diff options
author | Florian Jung <flo@windfisch.org> | 2011-08-13 15:15:27 +0000 |
---|---|---|
committer | Florian Jung <flo@windfisch.org> | 2011-08-13 15:15:27 +0000 |
commit | 238b1b82799a26b73384bb9d712656c39a822a99 (patch) | |
tree | aa0e89f1de0eef045b8760171861df69576d7c81 /muse2/muse/app.h | |
parent | 55d5f2d38bfe7c9673a315bb5597c20675bfde99 (diff) |
main work for sharing menus and toolbars done
this is only a "safety commit", it doesn't really work yet.
but it also doesn't segfault :)
Diffstat (limited to 'muse2/muse/app.h')
-rw-r--r-- | muse2/muse/app.h | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/muse2/muse/app.h b/muse2/muse/app.h index 51a494bf..f1d112e9 100644 --- a/muse2/muse/app.h +++ b/muse2/muse/app.h @@ -13,8 +13,9 @@ #include "cobject.h" #include <QFileInfo> +#include <list> - +class TopWin; class QCloseEvent; class QFocusEvent; class QMainWindow; @@ -101,6 +102,15 @@ class MusE : public QMainWindow private: QMdiArea* mdiArea; + + TopWin* activeTopWin; + TopWin* currentMenuSharingTopwin; + + std::list<QToolBar*> requiredToolbars; //always displayed + std::list<QToolBar*> optionalToolbars; //only displayed when no toolbar-sharing window is active + std::list<QToolBar*> foreignToolbars; //holds a temporary list of the toolbars of a toolbar-sharer + std::list<QMenu*> leadingMenus; + std::list<QMenu*> trailingMenus; // View Menu actions QAction *viewTransportAction, *viewBigtimeAction, *viewMixerAAction, *viewMixerBAction, *viewCliplistAction, *viewMarkerAction, *viewArrangerAction; @@ -130,11 +140,15 @@ class MusE : public QMainWindow QFileInfo project; QToolBar *tools; + // when adding a toolbar to the main window, remember adding it to + // either the requiredToolbars or optionalToolbars list! Transport* transport; BigTime* bigtime; EditInstrument* editInstrument; + // when adding a menu to the main window, remember adding it to + // either the leadingMenus or trailingMenus list! QMenu *menu_file, *menuView, *menuSettings, *menu_help; QMenu* menu_audio, *menuAutomation, *menuUtils; QMenu* menu_functions, *menuScriptPlugins; @@ -200,6 +214,7 @@ class MusE : public QMainWindow signals: void configChanged(); + void activeTopWinChanged(TopWin*); private slots: void loadProject(); @@ -269,6 +284,9 @@ class MusE : public QMainWindow void execDeliveredScript(int); void execUserScript(int); + + void activeTopWinChangedSlot(TopWin*); + void setCurrentMenuSharingTopwin(TopWin*); public slots: bool saveAs(); @@ -309,6 +327,8 @@ class MusE : public QMainWindow void startDrumEditor(PartList* /*pl*/, bool /*showDefaultCtrls*/ = false); void startEditor(Track*); void startMidiTransformer(); + + void focusChanged(QWidget* old, QWidget* now); public: MusE(int argc, char** argv); |