Bugfixes and Keysets
[pierogi] / pirselectkeysetform.h
1 #ifndef PIRSELECTKEYSETFORM_H
2 #define PIRSELECTKEYSETFORM_H
3
4 #include <QWidget>
5 #include <QString>
6
7 #include "pirmakenames.h"
8
9 class QListWidget;
10 class QListWidgetItem;
11 class PIRKeysetWidgetItem;
12 class QKeyEvent;
13 class PIREditKeysetDialog;
14 class MainWindow;
15
16 namespace Ui {
17 class PIRSelectKeysetForm;
18 }
19
20 class PIRSelectKeysetForm : public QWidget
21 {
22   Q_OBJECT
23   
24 public:
25 //  explicit PIRSelectKeysetForm(QWidget *parent = 0);
26
27   PIRSelectKeysetForm(
28     MainWindow *mw);
29
30   ~PIRSelectKeysetForm();
31
32 /*
33   void addNameToList(
34     QString name,
35     unsigned int index,
36     PIRMakeName make);
37 */
38
39   void addWidgetItem(
40     PIRKeysetWidgetItem *kwi);
41
42   // This is a bit of a hack, but not sure how to create a connection otherwise.
43   QListWidget *getKeysetListWidget();
44
45   bool selectNextKeyset();
46   bool selectPrevKeyset();
47   bool selectFirstKeyset();
48
49   QString getKeysetName();
50
51   void openCurrentKeysetDialog();
52
53   void selectKeyset(
54     unsigned int targetID);
55
56 protected:
57   void keyPressEvent(
58     QKeyEvent *event);
59
60 private slots:
61   void filterListByMake(
62     int make);
63
64   void filterListByString(
65     QString string);
66
67   void openKeysetDialog(
68     QListWidgetItem *);
69   
70   void on_searchStringLineEdit_textChanged(const QString &arg1);
71   void on_ssClosePushButton_clicked();
72   void on_showFavoritesCheckBox_toggled(bool checked);
73
74 private:
75   void refilterList();
76
77   Ui::PIRSelectKeysetForm *ui;
78
79   MainWindow *mainWindow;
80   PIREditKeysetDialog *editDialog;
81
82   bool showOnlyFavorites;
83   PIRMakeName currentMake;
84   QString searchString;
85 };
86
87 #endif // PIRSELECTKEYSETFORM_H