Adding Macros!
[pierogi] / dialogs / pireditmacrodialog.cpp
1 #include "pireditmacrodialog.h"
2 #include "ui_pireditmacrodialog.h"
3
4 #include <QTreeWidgetItem>
5 #include "macros/pirmacro.h"
6
7 #include <iostream>
8
9 PIREditMacroDialog::PIREditMacroDialog(QWidget *parent) :
10   QDialog(parent),
11   ui(new Ui::PIREditMacroDialog)
12 {
13   ui->setupUi(this);
14
15   // Set up the button names:
16   ui->macroButtonComboBox->addItem("None");
17   ui->macroButtonComboBox->addItem("User Defined 1");
18   ui->macroButtonComboBox->addItem("User Defined 2");
19   ui->macroButtonComboBox->addItem("User Defined 3");
20   ui->macroButtonComboBox->addItem("User Defined 4");
21   ui->macroButtonComboBox->addItem("User Defined 5");
22   ui->macroButtonComboBox->addItem("User Defined 6");
23
24   // Set up the key names:
25   ui->macroKeyComboBox->addItem("None", 0);
26   ui->macroKeyComboBox->addItem("A", 'A');
27   ui->macroKeyComboBox->addItem("B", 'B');
28   ui->macroKeyComboBox->addItem("C", 'C');
29   ui->macroKeyComboBox->addItem("D", 'D');
30   ui->macroKeyComboBox->addItem("E", 'E');
31   ui->macroKeyComboBox->addItem("F", 'F');
32   ui->macroKeyComboBox->addItem("G", 'G');
33   ui->macroKeyComboBox->addItem("H", 'H');
34   ui->macroKeyComboBox->addItem("I", 'I');
35   ui->macroKeyComboBox->addItem("J", 'J');
36   ui->macroKeyComboBox->addItem("K", 'K');
37   ui->macroKeyComboBox->addItem("L", 'L');
38   ui->macroKeyComboBox->addItem("M", 'M');
39   ui->macroKeyComboBox->addItem("N", 'N');
40   ui->macroKeyComboBox->addItem("O", 'O');
41   ui->macroKeyComboBox->addItem("P", 'P');
42   ui->macroKeyComboBox->addItem("Q", 'Q');
43   ui->macroKeyComboBox->addItem("R", 'R');
44   ui->macroKeyComboBox->addItem("S", 'S');
45   ui->macroKeyComboBox->addItem("T", 'T');
46   ui->macroKeyComboBox->addItem("U", 'U');
47   ui->macroKeyComboBox->addItem("V", 'V');
48   ui->macroKeyComboBox->addItem("W", 'W');
49   ui->macroKeyComboBox->addItem("X", 'X');
50   ui->macroKeyComboBox->addItem("Y", 'Y');
51   ui->macroKeyComboBox->addItem("Z", 'Z');
52   ui->macroKeyComboBox->addItem("Space", ' ');
53 }
54
55
56 PIREditMacroDialog::~PIREditMacroDialog()
57 {
58   delete ui;
59 }
60
61
62 void PIREditMacroDialog::clear()
63 {
64   ui->macroNameLineEdit->clear();
65
66   ui->macroButtonComboBox->setCurrentIndex(0);
67
68   ui->macroKeyComboBox->setCurrentIndex(0);
69 }
70
71
72 void PIREditMacroDialog::setup(
73   QTreeWidgetItem *item)
74 {
75   if (!item) return;
76
77   PIRMacro *m = dynamic_cast<PIRMacro *> (item);
78
79   if (!m) return;
80
81   ui->macroNameLineEdit->setText(m->getName());
82
83   ui->macroButtonComboBox->setCurrentIndex(m->getButtonID());
84
85   char key = m->getKey();
86   int index = 0;
87   int count = ui->macroKeyComboBox->count();
88
89   while (index < count)
90   {
91     if (ui->macroKeyComboBox->itemData(index).toInt() == key)
92     {
93       ui->macroKeyComboBox->setCurrentIndex(index);
94       break;
95     }
96
97     ++index;
98   }
99 }
100
101
102 QString PIREditMacroDialog::getText()
103 {
104   return ui->macroNameLineEdit->text();
105 }
106
107
108 char PIREditMacroDialog::getKey()
109 {
110   return ui->macroKeyComboBox->itemData(
111     ui->macroKeyComboBox->currentIndex()).toInt();
112 }
113
114
115 unsigned int PIREditMacroDialog::getButtonID()
116 {
117   return ui->macroButtonComboBox->currentIndex();
118 }