diff --git a/editor/qetelementeditor.cpp b/editor/qetelementeditor.cpp index 40a96bae5..5429ed5f2 100644 --- a/editor/qetelementeditor.cpp +++ b/editor/qetelementeditor.cpp @@ -169,10 +169,17 @@ void QETElementEditor::setupMenus() { edit_menu -> addAction(edit_size_hs); edit_menu -> addAction(edit_ori); + // menu Affichage > Afficher + QMenu *display_toolbars = createPopupMenu(); + display_toolbars -> setTearOffEnabled(true); + display_toolbars -> setTitle(tr("Afficher")); + display_menu -> addMenu(display_toolbars); + menuBar() -> addMenu(file_menu); menuBar() -> addMenu(edit_menu); - /* menuBar() -> addMenu(display_menu); + + /* menuBar() -> addMenu(tools_menu); menuBar() -> addMenu(help_menu); */ diff --git a/elementspanel.cpp b/elementspanel.cpp index 5706a11b8..dd614dfa5 100644 --- a/elementspanel.cpp +++ b/elementspanel.cpp @@ -78,7 +78,6 @@ void ElementsPanel::dropEvent(QDropEvent */*e*/) { /** Gere le debut des drag'n drop @param supportedActions Les actions supportees - @todo virer les lignes type «if ("tel appareil") construire TelAppareil» => trouver un moyen d'automatiser ca */ void ElementsPanel::startDrag(Qt::DropActions /*supportedActions*/) { // recupere le nom du fichier decrivant l'element diff --git a/qetapp.cpp b/qetapp.cpp index 8937a629f..3142a1b68 100644 --- a/qetapp.cpp +++ b/qetapp.cpp @@ -243,10 +243,28 @@ void QETApp::setMainWindowVisible(QMainWindow *window, bool visible) { window_geometries.insert(window, window -> saveGeometry()); window_states.insert(window, window -> saveState()); window -> hide(); - /// @todo cacher aussi les toolbars et les docks ? + // cache aussi les toolbars et les docks + foreach (QWidget *qw, floatingToolbarsAndDocksForMainWindow(window)) { + qw -> hide(); + } } else { window -> show(); window -> restoreGeometry(window_geometries[window]); window -> restoreState(window_states[window]); } } + +/** + @param window fenetre dont il faut trouver les barres d'outils et dock flottants + @return les barres d'outils et dock flottants de la fenetre +*/ +QList QETApp::floatingToolbarsAndDocksForMainWindow(QMainWindow *window) const { + QList widgets; + foreach(QWidget *qw, topLevelWidgets()) { + if (!qw -> isWindow()) continue; + if (qobject_cast(qw) || qobject_cast(qw)) { + if (qw -> parent() == window) widgets << qw; + } + } + return(widgets); +} diff --git a/qetapp.h b/qetapp.h index 9f8c5d6cb..559d73692 100644 --- a/qetapp.h +++ b/qetapp.h @@ -62,6 +62,7 @@ class QETApp : public QApplication { private: QList diagramEditors() const; QList elementEditors() const; + QList floatingToolbarsAndDocksForMainWindow(QMainWindow *) const; void setMainWindowVisible(QMainWindow *, bool); }; #endif