summaryrefslogtreecommitdiff
authorhash <hash>2002-08-21 20:00:48 (UTC)
committer hash <hash>2002-08-21 20:00:48 (UTC)
commit10739e8b7d203e56ef30011770f6d12d8b0bb270 (patch) (unidiff)
tree341451202d077ed4bdf16beb696a94e494c7693c
parent33fb38da29cfb4b29eff08928742b8d6918eb852 (diff)
downloadopie-10739e8b7d203e56ef30011770f6d12d8b0bb270.zip
opie-10739e8b7d203e56ef30011770f6d12d8b0bb270.tar.gz
opie-10739e8b7d203e56ef30011770f6d12d8b0bb270.tar.bz2
fixed bug where it adds blank lines to the keymap list
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--inputmethods/multikey/configdlg.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/inputmethods/multikey/configdlg.cpp b/inputmethods/multikey/configdlg.cpp
index a9137b9..9ea59a4 100644
--- a/inputmethods/multikey/configdlg.cpp
+++ b/inputmethods/multikey/configdlg.cpp
@@ -56,309 +56,312 @@ ConfigDlg::ConfigDlg () : QTabWidget ()
56 QString cur(tr("Current Language")); 56 QString cur(tr("Current Language"));
57 keymaps->insertItem(cur); 57 keymaps->insertItem(cur);
58 keymaps->setSelected(0, true); 58 keymaps->setSelected(0, true);
59 59
60 QDir map_dir(QPEApplication::qpeDir() + "/share/multikey", "*.keymap"); 60 QDir map_dir(QPEApplication::qpeDir() + "/share/multikey", "*.keymap");
61 default_maps = map_dir.entryList(); // so i can access it in other places 61 default_maps = map_dir.entryList(); // so i can access it in other places
62 62
63 for (uint i = 0; i <map_dir.count(); i++) { 63 for (uint i = 0; i <map_dir.count(); i++) {
64 64
65 keymaps->insertItem(map_dir.absPath() + "/" + map_dir[i]); 65 keymaps->insertItem(map_dir.absPath() + "/" + map_dir[i]);
66 if (map_dir.absPath() + "/" + map_dir[i] == current_map) { 66 if (map_dir.absPath() + "/" + map_dir[i] == current_map) {
67 67
68 keymaps->setSelected(i + 1, true); 68 keymaps->setSelected(i + 1, true);
69 } 69 }
70 70
71 } 71 }
72 72
73 custom_maps = config.readListEntry("maps", QChar('|')); 73 custom_maps = config.readListEntry("maps", QChar('|'));
74 74
75 for (uint i = 0; i < custom_maps.count(); i++) { 75 for (uint i = 0; i < custom_maps.count(); i++) {
76 76
77 if (map_dir.exists(QFileInfo(custom_maps[i]).fileName(), false) 77 if (map_dir.exists(QFileInfo(custom_maps[i]).fileName(), false)
78 || !QFile::exists(custom_maps[i])) { 78 || !QFile::exists(custom_maps[i])) {
79 79
80 custom_maps.remove(custom_maps.at(i)); 80 custom_maps.remove(custom_maps.at(i));
81 81
82 // remove it from the list too 82 // remove it from the list too
83 config.writeEntry("maps", custom_maps.join("|")); 83 config.writeEntry("maps", custom_maps.join("|"));
84 84
85 85
86 } else { 86 } else {
87 87
88 keymaps->insertItem(custom_maps[i]); 88 keymaps->insertItem(custom_maps[i]);
89 if (custom_maps[i] == current_map) { 89 if (custom_maps[i] == current_map) {
90 90
91 keymaps->setSelected(map_dir.count() + i + 1, true); 91 keymaps->setSelected(map_dir.count() + i + 1, true);
92 } 92 }
93 } 93 }
94 } 94 }
95 95
96 // have to "+1" because the "current language" listItem... remember? 96 // have to "+1" because the "current language" listItem... remember?
97 97
98 connect(keymaps, SIGNAL(highlighted(int)), SLOT(setMap(int))); 98 connect(keymaps, SIGNAL(highlighted(int)), SLOT(setMap(int)));
99 99
100 100
101 QGrid *add_remove_grid = new QGrid(2, map_group); 101 QGrid *add_remove_grid = new QGrid(2, map_group);
102 add_remove_grid->setMargin(3); 102 add_remove_grid->setMargin(3);
103 add_remove_grid->setSpacing(3); 103 add_remove_grid->setSpacing(3);
104 104
105 add_button = new QPushButton(tr("Add"), add_remove_grid); 105 add_button = new QPushButton(tr("Add"), add_remove_grid);
106 add_button->setFlat((bool)1); 106 add_button->setFlat((bool)1);
107 connect(add_button, SIGNAL(clicked()), SLOT(addMap())); 107 connect(add_button, SIGNAL(clicked()), SLOT(addMap()));
108 108
109 remove_button = new QPushButton(tr("Remove"), add_remove_grid); 109 remove_button = new QPushButton(tr("Remove"), add_remove_grid);
110 remove_button->setFlat((bool)1); 110 remove_button->setFlat((bool)1);
111 if ((int)map_dir.count() >= keymaps->currentItem()) 111 if ((int)map_dir.count() >= keymaps->currentItem())
112 remove_button->setDisabled(true); 112 remove_button->setDisabled(true);
113 connect(remove_button, SIGNAL(clicked()), SLOT(removeMap())); 113 connect(remove_button, SIGNAL(clicked()), SLOT(removeMap()));
114 114
115 // make a box that will contain the buttons on the bottom 115 // make a box that will contain the buttons on the bottom
116 QGrid *other_grid = new QGrid(2, gen_box); 116 QGrid *other_grid = new QGrid(2, gen_box);
117 pick_button = new QCheckBox(tr("Pickboard"), other_grid); 117 pick_button = new QCheckBox(tr("Pickboard"), other_grid);
118 118
119 config.setGroup ("general"); 119 config.setGroup ("general");
120 bool pick_open = config.readBoolEntry ("usePickboard", (bool)0); // default closed 120 bool pick_open = config.readBoolEntry ("usePickboard", (bool)0); // default closed
121 if (pick_open) { 121 if (pick_open) {
122 122
123 pick_button->setChecked(true); 123 pick_button->setChecked(true);
124 } 124 }
125 125
126 // by connecting it after checking it, the signal isn't emmited 126 // by connecting it after checking it, the signal isn't emmited
127 connect (pick_button, SIGNAL(clicked()), this, SLOT(pickTog())); 127 connect (pick_button, SIGNAL(clicked()), this, SLOT(pickTog()));
128 128
129 repeat_button = new QCheckBox(tr("Key Repeat"), other_grid); 129 repeat_button = new QCheckBox(tr("Key Repeat"), other_grid);
130 bool repeat_on = config.readBoolEntry ("useRepeat", (bool)1); 130 bool repeat_on = config.readBoolEntry ("useRepeat", (bool)1);
131 131
132 if (repeat_on) { 132 if (repeat_on) {
133 133
134 repeat_button->setChecked(true); 134 repeat_button->setChecked(true);
135 } 135 }
136 connect (repeat_button, SIGNAL(clicked()), this, SLOT(repeatTog())); 136 connect (repeat_button, SIGNAL(clicked()), this, SLOT(repeatTog()));
137 137
138 138
139 /* 139 /*
140 * 'color' tab 140 * 'color' tab
141 */ 141 */
142 142
143 QGrid *color_box = new QGrid(2, this); 143 QGrid *color_box = new QGrid(2, this);
144 color_box->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed)); 144 color_box->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed));
145 color_box->setMargin(3); 145 color_box->setMargin(3);
146 color_box->setSpacing(3); 146 color_box->setSpacing(3);
147 addTab(color_box, tr("Colors")); 147 addTab(color_box, tr("Colors"));
148 148
149 QLabel *label; 149 QLabel *label;
150 QStringList color; 150 QStringList color;
151 config.setGroup("colors"); 151 config.setGroup("colors");
152 152
153 label = new QLabel(tr("Key Color"), color_box); 153 label = new QLabel(tr("Key Color"), color_box);
154 keycolor_button = new QPushButton(color_box); 154 keycolor_button = new QPushButton(color_box);
155 connect(keycolor_button, SIGNAL(clicked()), SLOT(keyColorClicked())); 155 connect(keycolor_button, SIGNAL(clicked()), SLOT(keyColorClicked()));
156 keycolor_button->setFlat((bool)1); 156 keycolor_button->setFlat((bool)1);
157 color = config.readListEntry("keycolor", QChar(',')); 157 color = config.readListEntry("keycolor", QChar(','));
158 /* 158 /*
159 * hopefully not required 159 * hopefully not required
160 160
161 if (color.isEmpty()) { 161 if (color.isEmpty()) {
162 color = QStringList::split(",", "240,240,240"); 162 color = QStringList::split(",", "240,240,240");
163 config.writeEntry("keycolor", color.join(",")); 163 config.writeEntry("keycolor", color.join(","));
164 164
165 } 165 }
166 */ 166 */
167 keycolor_button->setBackgroundColor(QColor(color[0].toInt(), color[1].toInt(), color[2].toInt())); 167 keycolor_button->setBackgroundColor(QColor(color[0].toInt(), color[1].toInt(), color[2].toInt()));
168 168
169 169
170 label = new QLabel(tr("Key Pressed Color"), color_box); 170 label = new QLabel(tr("Key Pressed Color"), color_box);
171 keycolor_pressed_button = new QPushButton(color_box); 171 keycolor_pressed_button = new QPushButton(color_box);
172 connect(keycolor_pressed_button, SIGNAL(clicked()), SLOT(keyColorPressedClicked())); 172 connect(keycolor_pressed_button, SIGNAL(clicked()), SLOT(keyColorPressedClicked()));
173 keycolor_pressed_button->setFlat((bool)1); 173 keycolor_pressed_button->setFlat((bool)1);
174 color = config.readListEntry("keycolor_pressed", QChar(',')); 174 color = config.readListEntry("keycolor_pressed", QChar(','));
175 keycolor_pressed_button->setBackgroundColor(QColor(color[0].toInt(), color[1].toInt(), color[2].toInt())); 175 keycolor_pressed_button->setBackgroundColor(QColor(color[0].toInt(), color[1].toInt(), color[2].toInt()));
176 176
177 label = new QLabel(tr("Line Color"), color_box); 177 label = new QLabel(tr("Line Color"), color_box);
178 keycolor_lines_button = new QPushButton(color_box); 178 keycolor_lines_button = new QPushButton(color_box);
179 connect(keycolor_lines_button, SIGNAL(clicked()), SLOT(keyColorLinesClicked())); 179 connect(keycolor_lines_button, SIGNAL(clicked()), SLOT(keyColorLinesClicked()));
180 keycolor_lines_button->setFlat((bool)1); 180 keycolor_lines_button->setFlat((bool)1);
181 color = config.readListEntry("keycolor_lines", QChar(',')); 181 color = config.readListEntry("keycolor_lines", QChar(','));
182 keycolor_lines_button->setBackgroundColor(QColor(color[0].toInt(), color[1].toInt(), color[2].toInt())); 182 keycolor_lines_button->setBackgroundColor(QColor(color[0].toInt(), color[1].toInt(), color[2].toInt()));
183 183
184 184
185 label = new QLabel(tr("Text Color"), color_box); 185 label = new QLabel(tr("Text Color"), color_box);
186 textcolor_button = new QPushButton(color_box); 186 textcolor_button = new QPushButton(color_box);
187 connect(textcolor_button, SIGNAL(clicked()), SLOT(textColorClicked())); 187 connect(textcolor_button, SIGNAL(clicked()), SLOT(textColorClicked()));
188 textcolor_button->setFlat((bool)1); 188 textcolor_button->setFlat((bool)1);
189 color = config.readListEntry("textcolor", QChar(',')); 189 color = config.readListEntry("textcolor", QChar(','));
190 textcolor_button->setBackgroundColor(QColor(color[0].toInt(), color[1].toInt(), color[2].toInt())); 190 textcolor_button->setBackgroundColor(QColor(color[0].toInt(), color[1].toInt(), color[2].toInt()));
191 191
192 192
193 label = new QLabel("", color_box); // a spacer so the above buttons dont expand 193 label = new QLabel("", color_box); // a spacer so the above buttons dont expand
194 label->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding)); 194 label->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding));
195 195
196} 196}
197 197
198void ConfigDlg::pickTog() { 198void ConfigDlg::pickTog() {
199 199
200 Config config ("multikey"); 200 Config config ("multikey");
201 config.setGroup ("general"); 201 config.setGroup ("general");
202 config.writeEntry ("usePickboard", pick_button->isChecked()); // default closed 202 config.writeEntry ("usePickboard", pick_button->isChecked()); // default closed
203 203
204 emit pickboardToggled(pick_button->isChecked()); 204 emit pickboardToggled(pick_button->isChecked());
205} 205}
206 206
207void ConfigDlg::repeatTog() { 207void ConfigDlg::repeatTog() {
208 208
209 Config config ("multikey"); 209 Config config ("multikey");
210 config.setGroup ("general"); 210 config.setGroup ("general");
211 config.writeEntry ("useRepeat", repeat_button->isChecked()); // default closed 211 config.writeEntry ("useRepeat", repeat_button->isChecked()); // default closed
212 212
213 emit repeatToggled(repeat_button->isChecked()); 213 emit repeatToggled(repeat_button->isChecked());
214} 214}
215 215
216// ConfigDlg::setMap {{{1 216// ConfigDlg::setMap {{{1
217 217
218/* 218/*
219 * the index is kinda screwy, because in the config file, index 0 is just the 219 * the index is kinda screwy, because in the config file, index 0 is just the
220 * first element in the QStringList, but here it's the "Current Language" 220 * first element in the QStringList, but here it's the "Current Language"
221 * listItem. therefor you have to minus one to the index before you access it. 221 * listItem. therefor you have to minus one to the index before you access it.
222 * 222 *
223 */ 223 */
224 224
225void ConfigDlg::setMap(int index) { 225void ConfigDlg::setMap(int index) {
226 226
227 if (index == 0) { 227 if (index == 0) {
228 228
229 remove_button->setDisabled(true); 229 remove_button->setDisabled(true);
230 emit setMapToDefault(); 230 emit setMapToDefault();
231 } 231 }
232 else if ((uint)index <= default_maps.count()) { 232 else if ((uint)index <= default_maps.count()) {
233 233
234 remove_button->setDisabled(true); 234 remove_button->setDisabled(true);
235 emit setMapToFile(keymaps->text(index)); 235 emit setMapToFile(keymaps->text(index));
236 236
237 } else { 237 } else {
238 238
239 remove_button->setEnabled(true); 239 remove_button->setEnabled(true);
240 emit setMapToFile(keymaps->text(index)); 240 emit setMapToFile(keymaps->text(index));
241 } 241 }
242} 242}
243 243
244// ConfigDlg::addMap() {{{1 244// ConfigDlg::addMap() {{{1
245void ConfigDlg::addMap() { 245void ConfigDlg::addMap() {
246 246
247 QString map = OFileDialog::getOpenFileName(1, QDir::home().absPath()); 247 QString map = OFileDialog::getOpenFileName(1, QDir::home().absPath());
248
249 if (map.isNull()) return;
250
248 Config config ("multikey"); 251 Config config ("multikey");
249 config.setGroup("keymaps"); 252 config.setGroup("keymaps");
250 QStringList maps = config.readListEntry("maps", QChar('|')); 253 QStringList maps = config.readListEntry("maps", QChar('|'));
251 maps.append(map); 254 maps.append(map);
252 keymaps->insertItem(map); 255 keymaps->insertItem(map);
253 keymaps->setSelected(keymaps->count() - 1, true); 256 keymaps->setSelected(keymaps->count() - 1, true);
254 257
255 258
256 config.writeEntry("maps", maps, QChar('|')); 259 config.writeEntry("maps", maps, QChar('|'));
257 config.writeEntry("current", map); 260 config.writeEntry("current", map);
258 261
259} 262}
260 263
261// ConfigDlg::removeMap() {{{1 264// ConfigDlg::removeMap() {{{1
262void ConfigDlg::removeMap() { 265void ConfigDlg::removeMap() {
263 266
264 cout << "removing : " << custom_maps[keymaps->currentItem() - default_maps.count() - 1] << "\n"; 267 cout << "removing : " << custom_maps[keymaps->currentItem() - default_maps.count() - 1] << "\n";
265 cout << "currentItem : " << keymaps->currentItem() << "\n"; 268 cout << "currentItem : " << keymaps->currentItem() << "\n";
266 269
267 // move selection up one 270 // move selection up one
268 keymaps->setSelected(keymaps->currentItem() - 1, true); 271 keymaps->setSelected(keymaps->currentItem() - 1, true);
269 // delete the next selected item cus you just moved it up 272 // delete the next selected item cus you just moved it up
270 keymaps->removeItem(keymaps->currentItem() + 1); 273 keymaps->removeItem(keymaps->currentItem() + 1);
271 274
272 custom_maps.remove(custom_maps[keymaps->currentItem() - default_maps.count()]); 275 custom_maps.remove(custom_maps[keymaps->currentItem() - default_maps.count()]);
273 276
274 // write the changes 277 // write the changes
275 Config config ("multikey"); 278 Config config ("multikey");
276 config.setGroup("keymaps"); 279 config.setGroup("keymaps");
277 config.writeEntry("maps", custom_maps, QChar('|')); 280 config.writeEntry("maps", custom_maps, QChar('|'));
278} 281}
279 282
280/* ConfigDlg::slots for the color buttons {{{1 283/* ConfigDlg::slots for the color buttons {{{1
281 * 284 *
282 * these four slots are almost the same, except for the names. i was thinking 285 * these four slots are almost the same, except for the names. i was thinking
283 * of making a map with pointers to the buttons and names of the configEntry 286 * of making a map with pointers to the buttons and names of the configEntry
284 * so it could be one slot, but then there would be no way of telling which 287 * so it could be one slot, but then there would be no way of telling which
285 * of the buttons was clicked if they all connect to the same slot. 288 * of the buttons was clicked if they all connect to the same slot.
286 * 289 *
287 */ 290 */
288 291
289void ConfigDlg::keyColorClicked() { 292void ConfigDlg::keyColorClicked() {
290 293
291 Config config ("multikey"); 294 Config config ("multikey");
292 config.setGroup ("colors"); 295 config.setGroup ("colors");
293 296
294 QStringList color = config.readListEntry("keycolor", QChar(',')); 297 QStringList color = config.readListEntry("keycolor", QChar(','));
295 298
296 QColor newcolor = OColorDialog::getColor(QColor(color[0].toInt(), color[1].toInt(), color[2].toInt())); 299 QColor newcolor = OColorDialog::getColor(QColor(color[0].toInt(), color[1].toInt(), color[2].toInt()));
297 300
298 color[0].setNum(newcolor.red()); 301 color[0].setNum(newcolor.red());
299 color[1].setNum(newcolor.green()); 302 color[1].setNum(newcolor.green());
300 color[2].setNum(newcolor.blue()); 303 color[2].setNum(newcolor.blue());
301 304
302 config.writeEntry("keycolor", color, QChar(',')); 305 config.writeEntry("keycolor", color, QChar(','));
303 config.write(); 306 config.write();
304 307
305 keycolor_button->setBackgroundColor(newcolor); 308 keycolor_button->setBackgroundColor(newcolor);
306 emit reloadKeyboard(); 309 emit reloadKeyboard();
307} 310}
308void ConfigDlg::keyColorPressedClicked() { 311void ConfigDlg::keyColorPressedClicked() {
309 312
310 Config config ("multikey"); 313 Config config ("multikey");
311 config.setGroup ("colors"); 314 config.setGroup ("colors");
312 315
313 QStringList color = config.readListEntry("keycolor_pressed", QChar(',')); 316 QStringList color = config.readListEntry("keycolor_pressed", QChar(','));
314 317
315 QColor newcolor = OColorDialog::getColor(QColor(color[0].toInt(), color[1].toInt(), color[2].toInt())); 318 QColor newcolor = OColorDialog::getColor(QColor(color[0].toInt(), color[1].toInt(), color[2].toInt()));
316 319
317 color[0].setNum(newcolor.red()); 320 color[0].setNum(newcolor.red());
318 color[1].setNum(newcolor.green()); 321 color[1].setNum(newcolor.green());
319 color[2].setNum(newcolor.blue()); 322 color[2].setNum(newcolor.blue());
320 323
321 config.writeEntry("keycolor_pressed", color, QChar(',')); 324 config.writeEntry("keycolor_pressed", color, QChar(','));
322 config.write(); 325 config.write();
323 326
324 keycolor_pressed_button->setBackgroundColor(newcolor); 327 keycolor_pressed_button->setBackgroundColor(newcolor);
325 emit reloadKeyboard(); 328 emit reloadKeyboard();
326} 329}
327void ConfigDlg::keyColorLinesClicked() { 330void ConfigDlg::keyColorLinesClicked() {
328 331
329 Config config ("multikey"); 332 Config config ("multikey");
330 config.setGroup ("colors"); 333 config.setGroup ("colors");
331 334
332 QStringList color = config.readListEntry("keycolor_lines", QChar(',')); 335 QStringList color = config.readListEntry("keycolor_lines", QChar(','));
333 336
334 QColor newcolor = OColorDialog::getColor(QColor(color[0].toInt(), color[1].toInt(), color[2].toInt())); 337 QColor newcolor = OColorDialog::getColor(QColor(color[0].toInt(), color[1].toInt(), color[2].toInt()));
335 338
336 color[0].setNum(newcolor.red()); 339 color[0].setNum(newcolor.red());
337 color[1].setNum(newcolor.green()); 340 color[1].setNum(newcolor.green());
338 color[2].setNum(newcolor.blue()); 341 color[2].setNum(newcolor.blue());
339 342
340 config.writeEntry("keycolor_lines", color, QChar(',')); 343 config.writeEntry("keycolor_lines", color, QChar(','));
341 config.write(); 344 config.write();
342 345
343 keycolor_lines_button->setBackgroundColor(newcolor); 346 keycolor_lines_button->setBackgroundColor(newcolor);
344 emit reloadKeyboard(); 347 emit reloadKeyboard();
345} 348}
346void ConfigDlg::textColorClicked() { 349void ConfigDlg::textColorClicked() {
347 350
348 Config config ("multikey"); 351 Config config ("multikey");
349 config.setGroup ("colors"); 352 config.setGroup ("colors");
350 353
351 QStringList color = config.readListEntry("textcolor", QChar(',')); 354 QStringList color = config.readListEntry("textcolor", QChar(','));
352 355
353 QColor newcolor = OColorDialog::getColor(QColor(color[0].toInt(), color[1].toInt(), color[2].toInt())); 356 QColor newcolor = OColorDialog::getColor(QColor(color[0].toInt(), color[1].toInt(), color[2].toInt()));
354 357
355 color[0].setNum(newcolor.red()); 358 color[0].setNum(newcolor.red());
356 color[1].setNum(newcolor.green()); 359 color[1].setNum(newcolor.green());
357 color[2].setNum(newcolor.blue()); 360 color[2].setNum(newcolor.blue());
358 361
359 config.writeEntry("textcolor", color, QChar(',')); 362 config.writeEntry("textcolor", color, QChar(','));
360 config.write(); 363 config.write();
361 364
362 textcolor_button->setBackgroundColor(newcolor); 365 textcolor_button->setBackgroundColor(newcolor);
363 emit reloadKeyboard(); 366 emit reloadKeyboard();
364} 367}