mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-09-13 20:23:04 +02:00
Uniformisation des menus entre l'editeur de schemas et l'editeur d'element.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@703 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
parent
1897ecfce7
commit
a8295b71be
@ -38,4 +38,4 @@ fi
|
||||
# launching
|
||||
${QET_EXE} ${OPTIONS} $*
|
||||
|
||||
cd -
|
||||
cd - > /dev/null 2>&1
|
||||
|
@ -107,6 +107,11 @@ void QETElementEditor::setupActions() {
|
||||
add_arc = new QAction(QET::Icons::PartArc, tr("Ajouter un arc de cercle"), this);
|
||||
add_terminal = new QAction(QET::Icons::Terminal, tr("Ajouter une borne"), this);
|
||||
add_textfield = new QAction(QET::Icons::PartTextField, tr("Ajouter un champ de texte"), this);
|
||||
fullscreen = new QAction(this);
|
||||
slot_updateFullScreenAction();
|
||||
configure = new QAction(QET::Icons::Configure, tr("&Configurer QElectroTech"), 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);
|
||||
|
||||
QString add_status_tip = tr("Maintenez la touche Shift enfonc\351e pour effectuer plusieurs ajouts d'affil\351e");
|
||||
add_line -> setStatusTip(add_status_tip);
|
||||
@ -117,7 +122,10 @@ void QETElementEditor::setupActions() {
|
||||
add_arc -> setStatusTip(add_status_tip);
|
||||
add_terminal -> setStatusTip(add_status_tip);
|
||||
add_textfield -> setStatusTip(add_status_tip);
|
||||
add_polygon -> setStatusTip(tr("Utilisez le bouton droit de la souris pour poser le dernier point du polygone"));
|
||||
add_polygon -> setStatusTip(tr("Utilisez le bouton droit de la souris pour poser le dernier point du polygone"));
|
||||
configure -> setStatusTip(tr("Permet de r\351gler diff\351rents param\350tres de QElectroTech", "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"));
|
||||
|
||||
undo = ce_scene -> undoStack().createUndoAction(this, tr("Annuler"));
|
||||
redo = ce_scene -> undoStack().createRedoAction(this, tr("Refaire"));
|
||||
@ -147,6 +155,8 @@ void QETElementEditor::setupActions() {
|
||||
zoom_fit -> setShortcut(QKeySequence(tr("Ctrl+9")));
|
||||
zoom_reset -> setShortcut(QKeySequence(tr("Ctrl+0")));
|
||||
|
||||
fullscreen -> setShortcut(QKeySequence(tr("Ctrl+Shift+F")));
|
||||
|
||||
edit_names -> setShortcut(QKeySequence(tr("Ctrl+E")));
|
||||
edit_size_hs -> setShortcut(QKeySequence(tr("Ctrl+R")));
|
||||
edit_ori -> setShortcut(QKeySequence(tr("Ctrl+T")));
|
||||
@ -156,6 +166,8 @@ void QETElementEditor::setupActions() {
|
||||
edit_backward -> setShortcut(QKeySequence(tr("Ctrl+Shift+End")));
|
||||
edit_forward -> setShortcut(QKeySequence(tr("Ctrl+Shift+Home")));
|
||||
|
||||
QETApp *qet_app = QETApp::instance();
|
||||
|
||||
connect(new_element, SIGNAL(triggered()), this, SLOT(slot_new()));
|
||||
connect(open, SIGNAL(triggered()), this, SLOT(slot_open()));
|
||||
connect(open_file, SIGNAL(triggered()), this, SLOT(slot_openFile()));
|
||||
@ -178,6 +190,8 @@ void QETElementEditor::setupActions() {
|
||||
connect(edit_delete, SIGNAL(triggered()), ce_scene, SLOT(slot_delete()));
|
||||
connect(edit_size_hs, SIGNAL(triggered()), ce_scene, SLOT(slot_editSizeHotSpot()));
|
||||
connect(edit_names, SIGNAL(triggered()), ce_scene, SLOT(slot_editNames()));
|
||||
connect(fullscreen, SIGNAL(triggered()), this, SLOT(toggleFullScreen()));
|
||||
connect(configure, SIGNAL(triggered()), qet_app, SLOT(configureQET()));
|
||||
connect(edit_ori, SIGNAL(triggered()), ce_scene, SLOT(slot_editOrientations()));
|
||||
connect(edit_forward, SIGNAL(triggered()), ce_scene, SLOT(slot_bringForward()));
|
||||
connect(edit_raise, SIGNAL(triggered()), ce_scene, SLOT(slot_raise()));
|
||||
@ -205,6 +219,9 @@ void QETElementEditor::setupActions() {
|
||||
connect(add_terminal, SIGNAL(triggered()), this, SLOT(slot_setNoDragToView()));
|
||||
connect(add_textfield, SIGNAL(triggered()), this, SLOT(slot_setNoDragToView()));
|
||||
|
||||
connect(about_qet, SIGNAL(triggered()), qet_app, SLOT(aboutQET()));
|
||||
connect(about_qt, SIGNAL(triggered()), qet_app, SLOT(aboutQt()));
|
||||
|
||||
connect(ce_scene, SIGNAL(needNormalMode()), this, SLOT(slot_setNormalMode()));
|
||||
|
||||
move -> setCheckable(true);
|
||||
@ -292,16 +309,18 @@ void QETElementEditor::setupActions() {
|
||||
Met en place les menus.
|
||||
*/
|
||||
void QETElementEditor::setupMenus() {
|
||||
file_menu = new QMenu(tr("Fichier"), this);
|
||||
edit_menu = new QMenu(tr("\311dition"), this);
|
||||
display_menu = new QMenu(tr("Affichage"), this);
|
||||
tools_menu = new QMenu(tr("Outils"), this);
|
||||
help_menu = new QMenu(tr("Aide"), this);
|
||||
file_menu = new QMenu(tr("Fichier"), this);
|
||||
edit_menu = new QMenu(tr("\311dition"), this);
|
||||
display_menu = new QMenu(tr("Affichage"), this);
|
||||
tools_menu = new QMenu(tr("Outils"), this);
|
||||
config_menu = new QMenu(tr("&Configuration"), this);
|
||||
help_menu = new QMenu(tr("Aide"), this);
|
||||
|
||||
file_menu -> setTearOffEnabled(true);
|
||||
edit_menu -> setTearOffEnabled(true);
|
||||
display_menu -> setTearOffEnabled(true);
|
||||
tools_menu -> setTearOffEnabled(true);
|
||||
config_menu -> setTearOffEnabled(true);
|
||||
help_menu -> setTearOffEnabled(true);
|
||||
|
||||
file_menu -> addAction(new_element);
|
||||
@ -340,20 +359,29 @@ void QETElementEditor::setupMenus() {
|
||||
edit_menu -> addAction(edit_lower);
|
||||
edit_menu -> addAction(edit_backward);
|
||||
|
||||
// menu Affichage > Afficher
|
||||
display_menu -> addAction(zoom_in);
|
||||
display_menu -> addAction(zoom_out);
|
||||
display_menu -> addAction(zoom_fit);
|
||||
display_menu -> addAction(zoom_reset);
|
||||
|
||||
// menu Configurer > Afficher
|
||||
QMenu *display_toolbars = createPopupMenu();
|
||||
display_toolbars -> setTearOffEnabled(true);
|
||||
display_toolbars -> setTitle(tr("Afficher"));
|
||||
display_menu -> addMenu(display_toolbars);
|
||||
|
||||
config_menu -> addMenu(display_toolbars);
|
||||
config_menu -> addAction(fullscreen);
|
||||
config_menu -> addAction(configure);
|
||||
|
||||
help_menu -> addAction(about_qet);
|
||||
help_menu -> addAction(about_qt);
|
||||
|
||||
menuBar() -> addMenu(file_menu);
|
||||
menuBar() -> addMenu(edit_menu);
|
||||
menuBar() -> addMenu(display_menu);
|
||||
|
||||
/*
|
||||
menuBar() -> addMenu(tools_menu);
|
||||
//menuBar() -> addMenu(tools_menu);
|
||||
menuBar() -> addMenu(config_menu);
|
||||
menuBar() -> addMenu(help_menu);
|
||||
*/
|
||||
}
|
||||
|
||||
/**
|
||||
@ -374,6 +402,23 @@ void QETElementEditor::slot_updateMenus() {
|
||||
edit_lower -> setEnabled(selected_items);
|
||||
edit_backward -> setEnabled(selected_items);
|
||||
save -> setEnabled(!ce_scene -> undoStack().isClean());
|
||||
|
||||
slot_updateFullScreenAction();
|
||||
}
|
||||
|
||||
/**
|
||||
Gere l'action permettant de passer en plein ecran ou d'en sortir
|
||||
*/
|
||||
void QETElementEditor::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"));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -970,6 +1015,19 @@ void QETElementEditor::closeEvent(QCloseEvent *qce) {
|
||||
} else qce -> ignore();
|
||||
}
|
||||
|
||||
/**
|
||||
Gere les evenements du l'editeur d'element
|
||||
Reimplemente ici pour :
|
||||
* mettre a jour l'action permettant d'entrer en mode plein ecran ou d'en sortir
|
||||
@param e Evenement
|
||||
*/
|
||||
bool QETElementEditor::event(QEvent *e) {
|
||||
if (e -> type() == QEvent::WindowStateChange) {
|
||||
slot_updateFullScreenAction();
|
||||
}
|
||||
return(QMainWindow::event(e));
|
||||
}
|
||||
|
||||
/**
|
||||
Remplit la liste des parties
|
||||
*/
|
||||
@ -1032,6 +1090,13 @@ void QETElementEditor::slot_updateSelectionFromPartsList() {
|
||||
slot_updateMenus();
|
||||
}
|
||||
|
||||
/**
|
||||
Fait passer la fenetre du mode plein ecran au mode normal et vice-versa
|
||||
*/
|
||||
void QETElementEditor::toggleFullScreen() {
|
||||
setWindowState(windowState() ^ Qt::WindowFullScreen);
|
||||
}
|
||||
|
||||
/// Lit les parametres de l'editeur d'element
|
||||
void QETElementEditor::readSettings() {
|
||||
QSettings &settings = QETApp::settings();
|
||||
|
@ -43,7 +43,7 @@ class QETElementEditor : public QMainWindow {
|
||||
/// booleen indiquant si l'editeur est en mode "lecture seule" ou non
|
||||
bool read_only;
|
||||
/// menus
|
||||
QMenu *file_menu, *edit_menu, *display_menu, *tools_menu, *help_menu;
|
||||
QMenu *file_menu, *edit_menu, *display_menu, *tools_menu, *config_menu, *help_menu;
|
||||
/// vue sur la scene d'edition
|
||||
ElementView *ce_view;
|
||||
/// scene d'edition
|
||||
@ -68,9 +68,16 @@ class QETElementEditor : public QMainWindow {
|
||||
QAction *selectall, *deselectall, *inv_select;
|
||||
QAction *cut, *copy, *paste, *paste_in_area;
|
||||
QAction *undo, *redo;
|
||||
QAction *zoom_in, *zoom_out, *zoom_fit, *zoom_reset;
|
||||
QAction *edit_delete, *edit_size_hs, *edit_names, *edit_ori;
|
||||
QAction *edit_raise, *edit_lower, *edit_backward, *edit_forward;
|
||||
/// actions du menu affichage
|
||||
QAction *zoom_in, *zoom_out, *zoom_fit, *zoom_reset;
|
||||
/// actions du menu configurer
|
||||
QAction *fullscreen; ///< Passe en mode plein ecran ou en sort
|
||||
QAction *configure; ///< Lance le dialogue de configuration de QElectroTech
|
||||
/// actions du menu aide
|
||||
QAction *about_qet; ///< Lance le dialogue "A propos de QElectroTech"
|
||||
QAction *about_qt; ///< Lance le dialogue "A propos de Qt"
|
||||
/// barres d'outils
|
||||
QToolBar *parts_toolbar, *main_toolbar, *view_toolbar, *depth_toolbar, *element_toolbar;
|
||||
/// actions de la barre d'outils
|
||||
@ -113,6 +120,7 @@ class QETElementEditor : public QMainWindow {
|
||||
|
||||
protected:
|
||||
void closeEvent(QCloseEvent *);
|
||||
virtual bool event(QEvent *);
|
||||
|
||||
private:
|
||||
void setupActions();
|
||||
@ -136,10 +144,12 @@ class QETElementEditor : public QMainWindow {
|
||||
void slot_setNormalMode();
|
||||
void slot_updateInformations();
|
||||
void slot_updateMenus();
|
||||
void slot_updateFullScreenAction();
|
||||
void slot_updateTitle();
|
||||
void slot_createPartsList();
|
||||
void slot_updatePartsList();
|
||||
void slot_updateSelectionFromPartsList();
|
||||
void toggleFullScreen();
|
||||
void xmlPreview();
|
||||
bool checkElement();
|
||||
};
|
||||
|
@ -16,6 +16,8 @@
|
||||
along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include "qetapp.h"
|
||||
#include "aboutqet.h"
|
||||
#include "configdialog.h"
|
||||
#include "qetdiagrameditor.h"
|
||||
#include "qetelementeditor.h"
|
||||
#include "elementscollectionitem.h"
|
||||
@ -37,6 +39,7 @@ QMap<uint, QETProject *> QETApp::registered_projects_ = QMap<uint, QETProject *>
|
||||
uint QETApp::next_project_id = 0;
|
||||
RecentFiles *QETApp::projects_recent_files_ = 0;
|
||||
RecentFiles *QETApp::elements_recent_files_ = 0;
|
||||
AboutQET *QETApp::about_dialog_ = 0;
|
||||
|
||||
/**
|
||||
Constructeur
|
||||
@ -99,6 +102,9 @@ QETApp::~QETApp() {
|
||||
projects_recent_files_ -> save();
|
||||
delete elements_recent_files_;
|
||||
delete projects_recent_files_;
|
||||
if (about_dialog_) {
|
||||
delete about_dialog_;
|
||||
}
|
||||
delete qsti;
|
||||
delete custom_collection;
|
||||
delete common_collection;
|
||||
@ -727,6 +733,61 @@ void QETApp::openElementFiles(const QStringList &files_list) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Permet a l'utilisateur de configurer QET en lancant un dialogue approprie.
|
||||
@see ConfigDialog
|
||||
*/
|
||||
void QETApp::configureQET() {
|
||||
// determine le widget parent a utiliser pour le dialogue
|
||||
#ifdef Q_WS_MAC
|
||||
QWidget *parent_widget = 0;
|
||||
#else
|
||||
QWidget *parent_widget = activeWindow();
|
||||
#endif
|
||||
|
||||
// cree le dialogue
|
||||
ConfigDialog cd;
|
||||
|
||||
// associe le dialogue a un eventuel widget parent
|
||||
if (parent_widget) {
|
||||
cd.setParent(parent_widget, cd.windowFlags());
|
||||
}
|
||||
|
||||
// affiche le dialogue puis evite de le lier a un quelconque widget parent
|
||||
cd.exec();
|
||||
cd.setParent(0, cd.windowFlags());
|
||||
}
|
||||
|
||||
/**
|
||||
Dialogue "A propos de QElectroTech"
|
||||
Le dialogue en question est cree lors du premier appel de cette fonction.
|
||||
En consequence, sa premiere apparition n'est pas immediate. Par la suite,
|
||||
le dialogue n'a pas a etre recree et il apparait instantanement. Il est
|
||||
detruit en meme temps que l'application.
|
||||
*/
|
||||
void QETApp::aboutQET() {
|
||||
// determine le widget parent a utiliser pour le dialogue
|
||||
#ifdef Q_WS_MAC
|
||||
QWidget *parent_widget = 0;
|
||||
#else
|
||||
QWidget *parent_widget = activeWindow();
|
||||
#endif
|
||||
|
||||
// cree le dialogue si cela n'a pas deja ete fait
|
||||
if (!about_dialog_) {
|
||||
about_dialog_ = new AboutQET();
|
||||
}
|
||||
|
||||
// associe le dialogue a un eventuel widget parent
|
||||
if (parent_widget) {
|
||||
about_dialog_ -> setParent(parent_widget, about_dialog_ -> windowFlags());
|
||||
}
|
||||
|
||||
// affiche le dialogue puis evite de le lier a un quelconque widget parent
|
||||
about_dialog_ -> exec();
|
||||
about_dialog_ -> setParent(0, about_dialog_ -> windowFlags());
|
||||
}
|
||||
|
||||
/**
|
||||
@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
|
||||
|
@ -22,6 +22,7 @@
|
||||
#include <QtGui>
|
||||
#include "elementslocation.h"
|
||||
#include "qetarguments.h"
|
||||
class AboutQET;
|
||||
class QETDiagramEditor;
|
||||
class QETElementEditor;
|
||||
class ElementsCollection;
|
||||
@ -136,6 +137,7 @@ class QETApp : public QETSingleApplication {
|
||||
static uint next_project_id;
|
||||
static RecentFiles *projects_recent_files_;
|
||||
static RecentFiles *elements_recent_files_;
|
||||
static AboutQET *about_dialog_;
|
||||
|
||||
public slots:
|
||||
void systray(QSystemTrayIcon::ActivationReason);
|
||||
@ -157,6 +159,8 @@ class QETApp : public QETSingleApplication {
|
||||
void openFiles(const QETArguments &);
|
||||
void openProjectFiles(const QStringList &);
|
||||
void openElementFiles(const QStringList &);
|
||||
void configureQET();
|
||||
void aboutQET();
|
||||
|
||||
// methodes privees
|
||||
private slots:
|
||||
|
@ -20,9 +20,7 @@
|
||||
#include "diagramview.h"
|
||||
#include "diagram.h"
|
||||
#include "elementspanelwidget.h"
|
||||
#include "aboutqet.h"
|
||||
#include "conductorpropertieswidget.h"
|
||||
#include "configdialog.h"
|
||||
#include "qetproject.h"
|
||||
#include "projectview.h"
|
||||
#include "recentfiles.h"
|
||||
@ -168,18 +166,6 @@ void QETDiagramEditor::toggleFullScreen() {
|
||||
setWindowState(windowState() ^ Qt::WindowFullScreen);
|
||||
}
|
||||
|
||||
/**
|
||||
Dialogue "A propos de QElectroTech"
|
||||
Le dialogue en question est cree lors du premier appel de cette fonction.
|
||||
En consequence, sa premiere apparition n'est pas immediate. Par la suite,
|
||||
le dialogue n'a pas a etre recree et il apparait instantanement. Il est
|
||||
detruit en meme temps que son parent (ici, le QETDiagramEditor).
|
||||
*/
|
||||
void QETDiagramEditor::aboutQET() {
|
||||
static AboutQET *apqet = new AboutQET(this);
|
||||
apqet -> exec();
|
||||
}
|
||||
|
||||
/**
|
||||
Mise en place des actions
|
||||
*/
|
||||
@ -353,6 +339,8 @@ void QETDiagramEditor::actions() {
|
||||
grp_view_mode -> addAction(tabbed_view_mode);
|
||||
grp_view_mode -> setExclusive(true);
|
||||
|
||||
QETApp *qet_app = QETApp::instance();
|
||||
|
||||
// connexion a des slots
|
||||
connect(quit_editor, SIGNAL(triggered()), this, SLOT(close()) );
|
||||
connect(select_all, SIGNAL(triggered()), this, SLOT(slot_selectAll()) );
|
||||
@ -361,13 +349,13 @@ void QETDiagramEditor::actions() {
|
||||
connect(delete_selection, SIGNAL(triggered()), this, SLOT(slot_delete()) );
|
||||
connect(rotate_selection, SIGNAL(triggered()), this, SLOT(slot_rotate()) );
|
||||
connect(fullscreen, SIGNAL(triggered()), this, SLOT(toggleFullScreen()) );
|
||||
connect(configure, SIGNAL(triggered()), this, SLOT(configureQET()) );
|
||||
connect(configure, SIGNAL(triggered()), qet_app, SLOT(configureQET()) );
|
||||
connect(windowed_view_mode, SIGNAL(triggered()), this, SLOT(setWindowedMode()) );
|
||||
connect(tabbed_view_mode, SIGNAL(triggered()), this, SLOT(setTabbedMode()) );
|
||||
connect(mode_selection, SIGNAL(triggered()), this, SLOT(slot_setSelectionMode()) );
|
||||
connect(mode_visualise, SIGNAL(triggered()), this, SLOT(slot_setVisualisationMode()) );
|
||||
connect(about_qet, SIGNAL(triggered()), this, SLOT(aboutQET()) );
|
||||
connect(about_qt, SIGNAL(triggered()), qApp, SLOT(aboutQt()) );
|
||||
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_add_diagram, SIGNAL(triggered()), this, SLOT(addDiagramToProject()) );
|
||||
connect(prj_del_diagram, SIGNAL(triggered()), this, SLOT(removeDiagramFromProject()) );
|
||||
@ -1712,15 +1700,6 @@ void QETDiagramEditor::findElementInPanel(const ElementsLocation &location) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Permet a l'utilisateur de configurer QET en lancant un dialogue approprie.
|
||||
@see ConfigDialog
|
||||
*/
|
||||
void QETDiagramEditor::configureQET() {
|
||||
ConfigDialog cd(this);
|
||||
cd.exec();
|
||||
}
|
||||
|
||||
/**
|
||||
@return Les proprietes par defaut pour le cartouche d'un schema
|
||||
*/
|
||||
|
@ -78,8 +78,6 @@ class QETDiagramEditor : public QMainWindow {
|
||||
|
||||
public slots:
|
||||
void toggleFullScreen();
|
||||
void configureQET();
|
||||
void aboutQET();
|
||||
void printDialog();
|
||||
void exportDialog();
|
||||
bool saveAsDialog();
|
||||
|
Loading…
x
Reference in New Issue
Block a user