summaryrefslogtreecommitdiff
path: root/inputmethods/multikey/configdlg.cpp
Unidiff
Diffstat (limited to 'inputmethods/multikey/configdlg.cpp') (more/less context) (show whitespace changes)
-rw-r--r--inputmethods/multikey/configdlg.cpp60
1 files changed, 40 insertions, 20 deletions
diff --git a/inputmethods/multikey/configdlg.cpp b/inputmethods/multikey/configdlg.cpp
index f23bf1c..7bea589 100644
--- a/inputmethods/multikey/configdlg.cpp
+++ b/inputmethods/multikey/configdlg.cpp
@@ -1,99 +1,105 @@
1/* 1/*
2 * TODO 2 * TODO
3 * make a font selection thing 3 * make a font selection thing (size too)
4 * 4 *
5 * FIXME
6 * if you open the config dialog and close it from the little (x) button on the title bar,
7 * you have to hit the button on the keyboard twice for it to open the next time
8 * 5 *
9 * 6 *
10 */ 7 */
11 8
12#include <qpe/qpeapplication.h> 9#include <qpe/qpeapplication.h>
13#include <qpe/config.h> 10#include <qpe/config.h>
14 11
15#include <qwidget.h> 12#include <qwidget.h>
16#include <qdialog.h> 13#include <qdialog.h>
17#include <qtabwidget.h> 14#include <qtabwidget.h>
18#include <qvbox.h> 15#include <qvbox.h>
19#include <qgrid.h> 16#include <qgrid.h>
20#include <qgroupbox.h> 17#include <qgroupbox.h>
21#include <qlabel.h> 18#include <qlabel.h>
22#include <qcheckbox.h> 19#include <qcheckbox.h>
23#include <qsizepolicy.h> 20#include <qsizepolicy.h>
24#include <qpushbutton.h> 21#include <qpushbutton.h>
25#include <qcombobox.h> 22#include <qlistbox.h>
26#include "configdlg.h" 23#include "configdlg.h"
27#include "keyboard.h" 24#include "keyboard.h"
28 25
29ConfigDlg::ConfigDlg () : QTabWidget () 26ConfigDlg::ConfigDlg () : QTabWidget ()
30{ 27{
31 setCaption( tr("Multikey Configuration") ); 28 setCaption( tr("Multikey Configuration") );
32 29
33 /* 30 /*
34 * 'general config' tab 31 * 'general config' tab
35 */ 32 */
36 33
37 QVBox *gen_box = new QVBox (this); 34 QVBox *gen_box = new QVBox (this);
38 gen_box->setMargin(3); 35 gen_box->setMargin(3);
39 addTab(gen_box, tr("General Settings")); 36 addTab(gen_box, tr("General Settings"));
40 37
41 QGroupBox *map_group = new QGroupBox (2, Qt::Horizontal, tr("Keymap File"), gen_box); 38 QGroupBox *map_group = new QGroupBox (2, Qt::Vertical, tr("Keymap File"), gen_box);
42 39
43 map_combo = new QComboBox ((bool)0, map_group); 40 keymaps = new QListBox (map_group);
44 map_combo->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed)); 41 keymaps->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding));
42 //keymaps->setMaximumHeight(150);
45 43
46 QString cur(tr("Current Language")); 44 QString cur(tr("Current Language"));
47 map_combo->insertItem(cur); 45 keymaps->insertItem(cur);
48 connect(map_combo, SIGNAL(activated(int)), SLOT(setMap(int))); 46 connect(keymaps, SIGNAL(highlighted(int)), SLOT(setMap(int)));
49 47
50 QString ko(tr(QPEApplication::qpeDir() + "/share/multikey/ko.keymap")); 48 QString ko(QPEApplication::qpeDir() + "/share/multikey/ko.keymap");
51 map_combo->insertItem(ko); 49 keymaps->insertItem(ko);
52 50
53 QString en(tr(QPEApplication::qpeDir() + "/share/multikey/en.keymap")); 51 QString en(QPEApplication::qpeDir() + "/share/multikey/en.keymap");
54 map_combo->insertItem(en); 52 keymaps->insertItem(en);
55 53
56 QString de(tr(QPEApplication::qpeDir() + "/share/multikey/de.keymap")); 54 QString de(QPEApplication::qpeDir() + "/share/multikey/de.keymap");
57 map_combo->insertItem(de); 55 keymaps->insertItem(de);
58 56
59 QPushButton *button = new QPushButton(tr("Browse..."), map_group); 57 QGrid *add_remove_grid = new QGrid(2, map_group);
60 button->setFlat((bool)1); 58 add_remove_grid->setMargin(3);
59 add_remove_grid->setSpacing(3);
60
61 add_button = new QPushButton(tr("Add"), add_remove_grid);
62 add_button->setFlat((bool)1);
63
64 remove_button = new QPushButton(tr("Remove"), add_remove_grid);
65 remove_button->setFlat((bool)1);
61 66
62 pick_button = new QCheckBox(tr("Pickboard"), gen_box); 67 pick_button = new QCheckBox(tr("Pickboard"), gen_box);
63 68
64 Config config ("multikey"); 69 Config config ("multikey");
65 config.setGroup ("pickboard"); 70 config.setGroup ("pickboard");
66 bool pick_open = config.readBoolEntry ("open", "0"); // default closed 71 bool pick_open = config.readBoolEntry ("open", "0"); // default closed
67 if (pick_open) { 72 if (pick_open) {
68 73
69 pick_button->setChecked(true); 74 pick_button->setChecked(true);
70 } 75 }
71 76
72 // by connecting it after checking it, the signal isn't emmited 77 // by connecting it after checking it, the signal isn't emmited
73 connect (pick_button, SIGNAL(clicked()), this, SLOT(pickTog())); 78 connect (pick_button, SIGNAL(clicked()), this, SLOT(pickTog()));
74 79
75 /* 80 /*
76 * 'color' tab 81 * 'color' tab
77 */ 82 */
78 83
79 QGrid *color_box = new QGrid(2, this); 84 QGrid *color_box = new QGrid(2, this);
80 color_box->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed)); 85 color_box->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed));
81 color_box->setMargin(3); 86 color_box->setMargin(3);
87 color_box->setSpacing(3);
82 addTab(color_box, tr("Colors")); 88 addTab(color_box, tr("Colors"));
83 89
84 QLabel *label; 90 QLabel *label;
85 91
86 label = new QLabel(tr("Key Color"), color_box); 92 label = new QLabel(tr("Key Color"), color_box);
87 button = new QPushButton(color_box); 93 QPushButton *button = new QPushButton(color_box);
88 button->setFlat((bool)1); 94 button->setFlat((bool)1);
89 label = new QLabel(tr("Key Pressed Color"), color_box); 95 label = new QLabel(tr("Key Pressed Color"), color_box);
90 button = new QPushButton(color_box); 96 button = new QPushButton(color_box);
91 button->setFlat((bool)1); 97 button->setFlat((bool)1);
92 label = new QLabel(tr("Line Color"), color_box); 98 label = new QLabel(tr("Line Color"), color_box);
93 button = new QPushButton(color_box); 99 button = new QPushButton(color_box);
94 button->setFlat((bool)1); 100 button->setFlat((bool)1);
95 label = new QLabel(tr("Text Color"), color_box); 101 label = new QLabel(tr("Text Color"), color_box);
96 button = new QPushButton(color_box); 102 button = new QPushButton(color_box);
97 button->setFlat((bool)1); 103 button->setFlat((bool)1);
98 104
99 label = new QLabel("", color_box); // a spacer so the above buttons dont expand 105 label = new QLabel("", color_box); // a spacer so the above buttons dont expand
@@ -105,19 +111,33 @@ void ConfigDlg::pickTog() {
105 111
106 Config config ("multikey"); 112 Config config ("multikey");
107 config.setGroup ("pickboard"); 113 config.setGroup ("pickboard");
108 config.writeEntry ("open", pick_button->isChecked()); // default closed 114 config.writeEntry ("open", pick_button->isChecked()); // default closed
109 115
110 emit pickboardToggled(pick_button->isChecked()); 116 emit pickboardToggled(pick_button->isChecked());
111} 117}
112 118
113void ConfigDlg::setMap(int index) { 119void ConfigDlg::setMap(int index) {
114 120
115 if (index == 0) { 121 if (index == 0) {
116 122
123 if (remove_button->isEnabled())
124 remove_button->setDisabled(true);
125
117 emit setMapToDefault(); 126 emit setMapToDefault();
118 } 127 }
119 else { 128 else {
120 129
121 emit setMapToFile(map_combo->text(index)); 130 if (!remove_button->isEnabled())
131 remove_button->setEnabled(true);
132
133 emit setMapToFile(keymaps->text(index));
122 } 134 }
123} 135}
136
137void ConfigDlg::addMap() {
138
139}
140
141void ConfigDlg::removeMap(int index) {
142
143}