#ifndef QET_APP_H #define QET_APP_H #include #include #include class QETDiagramEditor; class QETElementEditor; /** Cette classe represente l'application QElectroTech. */ class QETApp : public QApplication { Q_OBJECT // constructeurs, destructeur public: QETApp(int &, char **); virtual ~QETApp(); private: QETApp(const QETApp &); // methodes public: void setLanguage(const QString &); static QString commonElementsDir(); static QString customElementsDir(); static QString configDir(); static QString languagesPath(); static QString realPath(QString &); static QString symbolicPath(QString &); // attributs private: QTranslator qtTranslator; QTranslator qetTranslator; QSystemTrayIcon *qsti; QMenu *menu_systray; QAction *quitter_qet; QAction *reduce_appli; QAction *restore_appli; QAction *reduce_diagrams; QAction *restore_diagrams; QAction *reduce_elements; QAction *restore_elements; QAction *new_diagram; QAction *new_element; QHash window_geometries; QHash window_states; bool every_editor_reduced; bool every_diagram_reduced; bool every_diagram_visible; bool every_element_reduced; bool every_element_visible; QSignalMapper signal_map; public slots: void systray(QSystemTrayIcon::ActivationReason); void reduceEveryEditor(); void restoreEveryEditor(); void reduceDiagramEditors(); void restoreDiagramEditors(); void reduceElementEditors(); void restoreElementEditors(); void newDiagramEditor(); void newElementEditor(); bool closeEveryEditor(); void setMainWindowVisible(QMainWindow *, bool); void invertMainWindowVisibility(QWidget *); void quitQET(); void checkRemainingWindows(); // methodes privees private slots: void cleanup(); private: QList diagramEditors() const; QList elementEditors() const; QList floatingToolbarsAndDocksForMainWindow(QMainWindow *) const; void buildSystemTrayMenu(); void fetchWindowStats(const QList &diagrams, const QList &elements); }; #endif