Log In
New Account
  
Home My Page Project Cloud Code Snippets Project Openings Pierogi
Summary Forums Tracker Lists Tasks Docs News SCM Files
1 #ifndef MAINWINDOW_H
2 #define MAINWINDOW_H
4 #include <QtGui/QMainWindow>
6 #include "pirkeynames.h"
7 #include "pirpanelnames.h"
8 #include "pirmodprobe.h"
10 class QListWidget;
11 class QListWidgetItem;
12 class QDialog;
13 class QKeyEvent;
15 //class PIRTabWidget;
17 class PIRSelectKeysetForm;
18 class PIRSelectDeviceForm;
19 class PIRPreferencesForm;
20 class PIRDocumentationForm;
21 class PIRAboutForm;
22 class PIRFavoritesDialog;
23 class PIRKeysetWidgetItem;
24 class PIRMacroPack;
26 class PIRKeysetManager;
27 class PIRPanelManager;
28 class PIRMacroManager;
30 namespace Ui {
31     class MainWindow;
32 }
34 class MainWindow : public QMainWindow
35 {
36   Q_OBJECT
38 public:
39   enum ScreenOrientation {
40     ScreenOrientationLockPortrait,
41     ScreenOrientationLockLandscape,
42     ScreenOrientationAuto
43   };
45   explicit MainWindow(QWidget *parent = 0);
46   virtual ~MainWindow();
48   // Note that this will only have an effect on Symbian and Fremantle.
49   void setOrientation(ScreenOrientation orientation);
51   void showExpanded();
53   bool startRepeating(
54     PIRKeyName name);
56   bool startRepeating(
57     PIRKeyName name,
58     unsigned int keysetID);
60   void stopRepeating();
62   // Favorites panel actions:
63   void addToFavorites(
64     PIRKeysetWidgetItem *kwi);
66   void removeFromFavorites(
67     unsigned int keysetID);
69   void enableButtons();
71   // Preferences actions:
72   void useMainPanel();
73   void useAltMainPanel();
75   QString getCurrentMake();
76   QString getCurrentName();
77   QString getCurrentFullName();
79   QString getKeysetMake(
80     unsigned int id);
82   QString getKeysetName(
83     unsigned int id);
85   QString getFullKeysetName(
86     unsigned int id);
88   unsigned int getCurrentKeyset()
89   {
90     return currentKeyset;
91   }
93   bool findKeysetID(
94     QString make,
95     QString name,
96     unsigned int &id);
98   void insertCornerButtons();
99   void disableUpdates();
100   void enableUpdates();
101   void clearTabs();
102   void addTab(
103     QWidget *page,
104     QString label);
105   void setupTabs(PIRTabBarName name);
107   bool selectNextKeyset();
108   bool selectPrevKeyset();
109   bool selectFirstKeyset();
110   void openCurrentKeysetDialog();
112   void updateKeysetSelection(
113     unsigned int targetID);
115   PIRMacroPack *getUserPack();
116   PIRMacroPack *getMultitapPack();
118   bool hasMacroButton(
119     unsigned int buttonID);
121   QString getMacroButtonText(
122     unsigned int buttonID);
124   void executeMacroButton(
125     unsigned int buttonID);
127   void updateUserButtons(); // Should this be a slot?
129   void storeMacros();
131   void setMacroKbdFocus(
132     int index);
134   void setMacroBtnFocus(
135     int index);
137   void switchToTab(
138     int tabNumber);
140   void handleKeypress(
141     char key);
143 //  void handleKeyRelease(
144 //    char Key);
146   void gotoPreviousTabs();
148   void gotoNextTabs();
150 signals:
151   void buttonPressed(
152     unsigned int keysetID,
153     PIRKeyName name);
155   void buttonReleased();
157 public slots:
158   void receivedExternalWarning(
159     const char *warning);
161   void selectPrevFavKeyset();
162   void selectNextFavKeyset();
164   void keysetSelectionChanged(
165     QListWidgetItem *item);
167 private slots:
168   void on_actionSelectKeyset_triggered();
169   void on_actionBrowse_Device_List_triggered();
170   void on_actionPreferences_triggered();
171   void on_actionAbout_triggered();
172   void on_actionDocumentation_triggered();
174   // Internal actions:
175   void finalCleanup();
177 private:
178 //  void keyPressEvent(
179 //    QKeyEvent *event);
181 //  void keyReleaseEvent(
182 //    QKeyEvent *event);
184   void populateFavorites();
186   Ui::MainWindow *ui;
188 //  PIRTabWidget *myTabWidget;
190   PIRSelectKeysetForm *selectKeysetForm;
191   PIRSelectDeviceForm *selectDeviceForm;
192   PIRPreferencesForm *preferencesForm;
193   PIRDocumentationForm *documentationForm;
194   PIRAboutForm *aboutForm;
195   PIRFavoritesDialog *favoritesDialog;
197   PIRKeysetManager *myKeysets;
198   PIRPanelManager *myPanels;
199   PIRMacroManager *myMacros;
201   unsigned int currentKeyset;
203   PIRModprobe modprobeObj;
204 };
207 #endif // MAINWINDOW_H

Terms of Use    Privacy Policy    Contribution Guidelines    Feedback

Powered By GForge Collaborative Development Environment