00001 #ifndef QONSOLE_H
00002 #define QONSOLE_H
00003
00004 #include "ui_MainWindow.h"
00005 #include "config_groups.h"
00006 #include "config_portmap.h"
00007 #include "config_cues.h"
00008
00009
00010 #include "bbobabout.h"
00011
00012
00013 #include "plugins/bbob_interfaces.h"
00014 #include "bcore/bcore.h"
00015 #include "debugdialog.h"
00016
00017
00018 #include <QtGui>
00019 #include <QAssistantClient>
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 class Qonsole : public QMainWindow, public Ui::qonsole
00033 {
00034 Q_OBJECT
00035
00036 QDateTimeEdit* time;
00037 void timerEvent(QTimerEvent *event);
00038
00039 QList<QByteArray> Desks;
00040 int Desk;
00041 void saveDesks();
00042 void loadDesks();
00043
00044
00045 public:
00046 Qonsole( QSplashScreen* splash, bool Debug, bool BootUser, QString BootFile, bool BootPluginSettings, QString args,
00047 QWidget * parent = 0, Qt::WFlags f = 0 );
00048
00049
00050 QMenuBar* menubar;
00051 QMenu* helpMenu;
00052 QMenu* fileMenu;
00053 QMenu* editMenu;
00054
00055
00056 QMenu* plugSubMenu;
00057
00058
00059 QLinkedList<QPluginLoader *> PluginList;
00060
00061
00062 QTabWidget* ConfigTabs;
00063 QDockWidget* ConfigDock;
00064 QAction* ConfigToggle;
00065
00066
00067 Config_Groups* ConfigGroups;
00068 Config_Portmap* ConfigPortmap;
00069 Config_Cues* ConfigCues;
00070
00071
00072 DebugDialog* DebugWindow;
00073 QIcon debugIcon;
00074
00075 private:
00076 BCore* bcore;
00077 BBoB_About* aboutDialog;
00078 QAssistantClient* assistantClient;
00079
00080
00081 QDir pluginsDir;
00082 QStringList pluginFileNames;
00083
00084 void SaveSettings();
00085 void LoadForStartup();
00086
00087 void addToMenu( QObject *plugin, const QStringList &texts, QMenu *menu,
00088 const char *member, QActionGroup *actionGroup = 0);
00089
00090 signals:
00091
00092 public slots:
00093 void LoadDebug(QString text);
00094
00095 void SaveExit();
00096 void pluginMenuDisplay();
00097 void populateMenus(QObject *plugin);
00098 void addConfigTab(QWidget* tab, bool first = false);
00099 void addDock(QDockWidget* dock);
00100 void removeDock(bool state);
00101 void on_fileNew_triggered();
00102 void on_fileOpen_triggered();
00103 void on_fileSave_triggered();
00104 void on_fileSaveAs_triggered();
00105 void on_filePrint_triggered();
00106 void on_fileExit_triggered();
00107 void on_editUndo_triggered();
00108 void on_editRedo_triggered();
00109 void on_editCut_triggered();
00110 void on_editCopy_triggered();
00111 void on_editPaste_triggered();
00112 void on_helpIndex_triggered();
00113 void on_helpContents_triggered();
00114 void on_helpAbout_triggered();
00115
00116 private slots:
00117 void showDebugWindow();
00118 void ChangeDesk(bool checked);
00119
00120 };
00121 #endif
00122