QETDiagramEditor now inherits from QETMainWindow.

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/branches/0.3@1504 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
xavier
2012-02-13 22:12:37 +00:00
parent 5f019b859d
commit 92897f14a8
2 changed files with 16 additions and 85 deletions

View File

@@ -35,7 +35,7 @@
@param parent le widget parent de la fenetre principale @param parent le widget parent de la fenetre principale
*/ */
QETDiagramEditor::QETDiagramEditor(const QStringList &files, QWidget *parent) : QETDiagramEditor::QETDiagramEditor(const QStringList &files, QWidget *parent) :
QMainWindow(parent), QETMainWindow(parent),
open_dialog_dir(QDesktopServices::storageLocation(QDesktopServices::DesktopLocation)), open_dialog_dir(QDesktopServices::storageLocation(QDesktopServices::DesktopLocation)),
can_update_actions(true) can_update_actions(true)
{ {
@@ -164,13 +164,6 @@ void QETDiagramEditor::closeEvent(QCloseEvent *qce) {
} }
} }
/**
Fait passer la fenetre du mode plein ecran au mode normal et vice-versa
*/
void QETDiagramEditor::toggleFullScreen() {
setWindowState(windowState() ^ Qt::WindowFullScreen);
}
/** /**
Mise en place des actions Mise en place des actions
*/ */
@@ -225,18 +218,11 @@ void QETDiagramEditor::actions() {
mode_selection = new QAction(QET::Icons::PartSelect, tr("Mode Selection"), this); mode_selection = new QAction(QET::Icons::PartSelect, tr("Mode Selection"), this);
mode_visualise = new QAction(QET::Icons::ViewMove, tr("Mode Visualisation"), this); mode_visualise = new QAction(QET::Icons::ViewMove, tr("Mode Visualisation"), this);
fullscreen = new QAction(this);
slot_updateFullScreenAction();
configure = new QAction(QET::Icons::Configure, tr("&Configurer QElectroTech"), this);
tile_window = new QAction( tr("&Mosa\357que"), this); tile_window = new QAction( tr("&Mosa\357que"), this);
cascade_window = new QAction( tr("&Cascade"), this); cascade_window = new QAction( tr("&Cascade"), this);
next_window = new QAction( tr("Projet suivant"), this); next_window = new QAction( tr("Projet suivant"), this);
prev_window = new QAction( tr("Projet pr\351c\351dent"), this); prev_window = new QAction( tr("Projet pr\351c\351dent"), this);
about_qet = new QAction(QET::Icons::QETLogo, tr("\300 &propos de QElectroTech"), this);
about_qt = new QAction(QET::Icons::QtLogo, tr("\300 propos de &Qt"), this);
// raccourcis clavier // raccourcis clavier
new_file -> setShortcut(QKeySequence::New); new_file -> setShortcut(QKeySequence::New);
open_file -> setShortcut(QKeySequence::Open); open_file -> setShortcut(QKeySequence::Open);
@@ -274,8 +260,6 @@ void QETDiagramEditor::actions() {
zoom_fit -> setShortcut(QKeySequence(tr("Ctrl+9"))); zoom_fit -> setShortcut(QKeySequence(tr("Ctrl+9")));
zoom_reset -> setShortcut(QKeySequence(tr("Ctrl+0"))); zoom_reset -> setShortcut(QKeySequence(tr("Ctrl+0")));
fullscreen -> setShortcut(QKeySequence(tr("Ctrl+Shift+F")));
next_window -> setShortcut(QKeySequence::NextChild); next_window -> setShortcut(QKeySequence::NextChild);
prev_window -> setShortcut(QKeySequence::PreviousChild); prev_window -> setShortcut(QKeySequence::PreviousChild);
@@ -321,16 +305,11 @@ void QETDiagramEditor::actions() {
mode_selection -> setStatusTip(tr("Permet de s\351lectionner les \351l\351ments", "status bar tip")); mode_selection -> setStatusTip(tr("Permet de s\351lectionner les \351l\351ments", "status bar tip"));
mode_visualise -> setStatusTip(tr("Permet de visualiser le sch\351ma sans pouvoir le modifier", "status bar tip")); mode_visualise -> setStatusTip(tr("Permet de visualiser le sch\351ma sans pouvoir le modifier", "status bar tip"));
configure -> setStatusTip(tr("Permet de r\351gler diff\351rents param\350tres de QElectroTech", "status bar tip"));
tile_window -> setStatusTip(tr("Dispose les fen\352tres en mosa\357que", "status bar tip")); tile_window -> setStatusTip(tr("Dispose les fen\352tres en mosa\357que", "status bar tip"));
cascade_window -> setStatusTip(tr("Dispose les fen\352tres en cascade", "status bar tip")); cascade_window -> setStatusTip(tr("Dispose les fen\352tres en cascade", "status bar tip"));
next_window -> setStatusTip(tr("Active le projet suivant", "status bar tip")); next_window -> setStatusTip(tr("Active le projet suivant", "status bar tip"));
prev_window -> setStatusTip(tr("Active le projet pr\351c\351dent", "status bar tip")); prev_window -> setStatusTip(tr("Active le projet pr\351c\351dent", "status bar tip"));
about_qet -> setStatusTip(tr("Affiche des informations sur QElectroTech", "status bar tip"));
about_qt -> setStatusTip(tr("Affiche des informations sur la biblioth\350que Qt", "status bar tip"));
// traitements speciaux // traitements speciaux
add_text -> setCheckable(true); add_text -> setCheckable(true);
windowed_view_mode -> setCheckable(true); windowed_view_mode -> setCheckable(true);
@@ -349,8 +328,6 @@ void QETDiagramEditor::actions() {
grp_view_mode -> addAction(tabbed_view_mode); grp_view_mode -> addAction(tabbed_view_mode);
grp_view_mode -> setExclusive(true); grp_view_mode -> setExclusive(true);
QETApp *qet_app = QETApp::instance();
// connexion a des slots // connexion a des slots
connect(quit_editor, SIGNAL(triggered()), this, SLOT(close()) ); connect(quit_editor, SIGNAL(triggered()), this, SLOT(close()) );
connect(select_all, SIGNAL(triggered()), this, SLOT(slot_selectAll()) ); connect(select_all, SIGNAL(triggered()), this, SLOT(slot_selectAll()) );
@@ -359,14 +336,10 @@ void QETDiagramEditor::actions() {
connect(delete_selection, SIGNAL(triggered()), this, SLOT(slot_delete()) ); connect(delete_selection, SIGNAL(triggered()), this, SLOT(slot_delete()) );
connect(rotate_selection, SIGNAL(triggered()), this, SLOT(slot_rotate()) ); connect(rotate_selection, SIGNAL(triggered()), this, SLOT(slot_rotate()) );
connect(rotate_texts, SIGNAL(triggered()), this, SLOT(slot_rotateTexts()) ); connect(rotate_texts, SIGNAL(triggered()), this, SLOT(slot_rotateTexts()) );
connect(fullscreen, SIGNAL(triggered()), this, SLOT(toggleFullScreen()) );
connect(configure, SIGNAL(triggered()), qet_app, SLOT(configureQET()) );
connect(windowed_view_mode, SIGNAL(triggered()), this, SLOT(setWindowedMode()) ); connect(windowed_view_mode, SIGNAL(triggered()), this, SLOT(setWindowedMode()) );
connect(tabbed_view_mode, SIGNAL(triggered()), this, SLOT(setTabbedMode()) ); connect(tabbed_view_mode, SIGNAL(triggered()), this, SLOT(setTabbedMode()) );
connect(mode_selection, SIGNAL(triggered()), this, SLOT(slot_setSelectionMode()) ); connect(mode_selection, SIGNAL(triggered()), this, SLOT(slot_setSelectionMode()) );
connect(mode_visualise, SIGNAL(triggered()), this, SLOT(slot_setVisualisationMode()) ); connect(mode_visualise, SIGNAL(triggered()), this, SLOT(slot_setVisualisationMode()) );
connect(about_qet, SIGNAL(triggered()), qet_app, SLOT(aboutQET()) );
connect(about_qt, SIGNAL(triggered()), qet_app, SLOT(aboutQt()) );
connect(prj_edit_prop, SIGNAL(triggered()), this, SLOT(editCurrentProjectProperties())); connect(prj_edit_prop, SIGNAL(triggered()), this, SLOT(editCurrentProjectProperties()));
connect(prj_add_diagram, SIGNAL(triggered()), this, SLOT(addDiagramToProject()) ); connect(prj_add_diagram, SIGNAL(triggered()), this, SLOT(addDiagramToProject()) );
connect(prj_del_diagram, SIGNAL(triggered()), this, SLOT(removeDiagramFromProject()) ); connect(prj_del_diagram, SIGNAL(triggered()), this, SLOT(removeDiagramFromProject()) );
@@ -404,7 +377,6 @@ void QETDiagramEditor::actions() {
Gere les evenements du l'editeur de schema Gere les evenements du l'editeur de schema
Reimplemente ici pour : Reimplemente ici pour :
* eviter un conflit sur le raccourci clavier "Ctrl+W" (QKeySequence::Close) * eviter un conflit sur le raccourci clavier "Ctrl+W" (QKeySequence::Close)
* mettre a jour l'action permettant d'entrer en mode plein ecran ou d'en sortir
@param e Evenement @param e Evenement
*/ */
bool QETDiagramEditor::event(QEvent *e) { bool QETDiagramEditor::event(QEvent *e) {
@@ -415,34 +387,27 @@ bool QETDiagramEditor::event(QEvent *e) {
e -> accept(); e -> accept();
return(true); return(true);
} }
} else if (e -> type() == QEvent::WindowStateChange) {
slot_updateFullScreenAction();
} }
return(QMainWindow::event(e)); return(QETMainWindow::event(e));
} }
/** /**
Mise en place des menus Mise en place des menus
*/ */
void QETDiagramEditor::menus() { void QETDiagramEditor::menus() {
QMenu *menu_fichier = menuBar() -> addMenu(tr("&Fichier"));
QMenu *menu_edition = menuBar() -> addMenu(tr("&\311dition"));
QMenu *menu_project = menuBar() -> addMenu(tr("&Projet"));
QMenu *menu_affichage = menuBar() -> addMenu(tr("Afficha&ge"));
//QMenu *menu_outils = menuBar() -> addMenu(tr("O&utils"));
QMenu *menu_config = menuBar() -> addMenu(tr("&Configuration"));
windows_menu = menuBar() -> addMenu(tr("Fe&n\352tres"));
QMenu *menu_aide = menuBar() -> addMenu(tr("&Aide"));
// tear off feature rulezz... pas ^^ mais bon... QMenu *menu_fichier = new QMenu(tr("&Fichier"));
menu_fichier -> setTearOffEnabled(true); QMenu *menu_edition = new QMenu(tr("&\311dition"));
menu_edition -> setTearOffEnabled(true); QMenu *menu_project = new QMenu(tr("&Projet"));
menu_project -> setTearOffEnabled(true); QMenu *menu_affichage = new QMenu(tr("Afficha&ge"));
menu_affichage -> setTearOffEnabled(true); //QMenu *menu_outils = new QMenu(tr("O&utils"));
//menu_outils -> setTearOffEnabled(true); windows_menu = new QMenu(tr("Fe&n\352tres"));
menu_config -> setTearOffEnabled(true);
windows_menu -> setTearOffEnabled(true); insertMenu(settings_menu_, menu_fichier);
menu_aide -> setTearOffEnabled(true); insertMenu(settings_menu_, menu_edition);
insertMenu(settings_menu_, menu_project);
insertMenu(settings_menu_, menu_affichage);
insertMenu(help_menu_, windows_menu);
// menu Fichier // menu Fichier
menu_fichier -> addAction(new_file); menu_fichier -> addAction(new_file);
@@ -492,11 +457,6 @@ void QETDiagramEditor::menus() {
menu_project -> addAction(prj_del_diagram); menu_project -> addAction(prj_del_diagram);
menu_project -> addAction(prj_clean); menu_project -> addAction(prj_clean);
// menu Configurer > Afficher
QMenu *display_toolbars = createPopupMenu();
display_toolbars -> setTearOffEnabled(true);
display_toolbars -> setTitle(tr("Afficher"));
display_toolbars -> setIcon(QET::Icons::ConfigureToolbars);
main_bar -> toggleViewAction() -> setStatusTip(tr("Affiche ou non la barre d'outils principale")); main_bar -> toggleViewAction() -> setStatusTip(tr("Affiche ou non la barre d'outils principale"));
view_bar -> toggleViewAction() -> setStatusTip(tr("Affiche ou non la barre d'outils Affichage")); view_bar -> toggleViewAction() -> setStatusTip(tr("Affiche ou non la barre d'outils Affichage"));
diagram_bar -> toggleViewAction() -> setStatusTip(tr("Affiche ou non la barre d'outils Sch\351ma")); diagram_bar -> toggleViewAction() -> setStatusTip(tr("Affiche ou non la barre d'outils Sch\351ma"));
@@ -518,17 +478,8 @@ void QETDiagramEditor::menus() {
menu_affichage -> addAction(zoom_fit); menu_affichage -> addAction(zoom_fit);
menu_affichage -> addAction(zoom_reset); menu_affichage -> addAction(zoom_reset);
// menu Configuration
menu_config -> addMenu(display_toolbars);
menu_config -> addAction(fullscreen);
menu_config -> addAction(configure);
// menu Fenetres // menu Fenetres
slot_updateWindowsMenu(); slot_updateWindowsMenu();
// menu Aide
menu_aide -> addAction(about_qet);
menu_aide -> addAction(about_qt);
} }
/** /**
@@ -1122,7 +1073,6 @@ void QETDiagramEditor::slot_updateActions() {
redo -> setEnabled(false); redo -> setEnabled(false);
} }
slot_updateFullScreenAction();
slot_updateModeActions(); slot_updateModeActions();
slot_updatePasteAction(); slot_updatePasteAction();
slot_updateComplexActions(); slot_updateComplexActions();
@@ -1154,20 +1104,6 @@ void QETDiagramEditor::slot_updateComplexActions() {
rotate_texts -> setEnabled(editable_diagram && selected_texts); rotate_texts -> setEnabled(editable_diagram && selected_texts);
} }
/**
Gere l'action permettant de passer en plein ecran ou d'en sortir
*/
void QETDiagramEditor::slot_updateFullScreenAction() {
if (windowState() & Qt::WindowFullScreen) {
fullscreen -> setText(tr("Sortir du &mode plein \351cran"));
fullscreen -> setIcon(QET::Icons::FullScreenExit);
fullscreen -> setStatusTip(tr("Affiche QElectroTech en mode fen\352tr\351", "status bar tip"));
} else {
fullscreen -> setText(tr("Passer en &mode plein \351cran"));
fullscreen -> setIcon(QET::Icons::FullScreenEnter);
fullscreen -> setStatusTip(tr("Affiche QElectroTech en mode plein \351cran", "status bar tip"));
}
}
/** /**
Gere les actions relatives au mode du schema Gere les actions relatives au mode du schema

View File

@@ -18,6 +18,7 @@
#ifndef QET_DIAGRAM_EDITOR_H #ifndef QET_DIAGRAM_EDITOR_H
#define QET_DIAGRAM_EDITOR_H #define QET_DIAGRAM_EDITOR_H
#include <QtGui> #include <QtGui>
#include "qetmainwindow.h"
#include "borderproperties.h" #include "borderproperties.h"
#include "conductorproperties.h" #include "conductorproperties.h"
#include "titleblockproperties.h" #include "titleblockproperties.h"
@@ -36,7 +37,7 @@ class RecentFiles;
"DiagramView" en guise de widget central et un "Panel d'Elements" en "DiagramView" en guise de widget central et un "Panel d'Elements" en
guise de widget "Dock". guise de widget "Dock".
*/ */
class QETDiagramEditor : public QMainWindow { class QETDiagramEditor : public QETMainWindow {
Q_OBJECT Q_OBJECT
// constructeurs, destructeur // constructeurs, destructeur
@@ -80,7 +81,6 @@ class QETDiagramEditor : public QMainWindow {
void toolbar(); void toolbar();
public slots: public slots:
void toggleFullScreen();
void printDialog(); void printDialog();
void exportDialog(); void exportDialog();
bool saveAsDialog(); bool saveAsDialog();
@@ -108,7 +108,6 @@ class QETDiagramEditor : public QMainWindow {
void slot_setSelectionMode(); void slot_setSelectionMode();
void slot_setVisualisationMode(); void slot_setVisualisationMode();
void slot_updateActions(); void slot_updateActions();
void slot_updateFullScreenAction();
void slot_updateModeActions(); void slot_updateModeActions();
void slot_updateComplexActions(); void slot_updateComplexActions();
void slot_updatePasteAction(); void slot_updatePasteAction();
@@ -196,10 +195,6 @@ class QETDiagramEditor : public QMainWindow {
QAction *zoom_out; ///< Zoome arriere QAction *zoom_out; ///< Zoome arriere
QAction *zoom_fit; ///< Ajuste le zoom de facon a voir l'integralite des elements QAction *zoom_fit; ///< Ajuste le zoom de facon a voir l'integralite des elements
QAction *zoom_reset; ///< Remet le zoom 1:1 QAction *zoom_reset; ///< Remet le zoom 1:1
QAction *about_qet; ///< Lance le dialogue "A propos de QElectroTech"
QAction *about_qt; ///< Lance le dialogue "A propos de Qt"
QAction *configure; ///< Lance le dialogue de configuration de QElectroTech
QAction *fullscreen; ///< Passe en mode plein ecran ou en sort
QAction *tile_window; ///< Affiche les fenetre MDI en mosaique QAction *tile_window; ///< Affiche les fenetre MDI en mosaique
QAction *cascade_window; ///< Affiche les fenetres MDI en cascade QAction *cascade_window; ///< Affiche les fenetres MDI en cascade
QAction *prev_window; ///< Affiche la fenetre MDI precedente QAction *prev_window; ///< Affiche la fenetre MDI precedente