summaryrefslogtreecommitdiff
path: root/inputmethods/pickboard/pickboardcfg.cpp
Unidiff
Diffstat (limited to 'inputmethods/pickboard/pickboardcfg.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--inputmethods/pickboard/pickboardcfg.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/inputmethods/pickboard/pickboardcfg.cpp b/inputmethods/pickboard/pickboardcfg.cpp
index e8b47cb..d500266 100644
--- a/inputmethods/pickboard/pickboardcfg.cpp
+++ b/inputmethods/pickboard/pickboardcfg.cpp
@@ -113,100 +113,100 @@ void PickboardConfig::pickPoint(const QPoint& p, bool press)
113void PickboardConfig::fillMenu(QPopupMenu& menu) 113void PickboardConfig::fillMenu(QPopupMenu& menu)
114{ 114{
115 menu.insertItem("Reset",100); 115 menu.insertItem("Reset",100);
116 menu.insertSeparator(); 116 menu.insertSeparator();
117 menu.insertItem("Help",1); 117 menu.insertItem("Help",1);
118} 118}
119 119
120void PickboardConfig::doMenu(int i) 120void PickboardConfig::doMenu(int i)
121{ 121{
122 switch (i) { 122 switch (i) {
123 case 100: 123 case 100:
124 if ( parent->currentMode() ) { 124 if ( parent->currentMode() ) {
125 changeMode(0); 125 changeMode(0);
126 updateRows(0,1); 126 updateRows(0,1);
127 } 127 }
128 break; 128 break;
129 case 1: { 129 case 1: {
130 QMessageBox help("Pickboard Help", pickboard_help, 130 QMessageBox help("Pickboard Help", pickboard_help,
131 QMessageBox::NoIcon, 1, 0, 0); 131 QMessageBox::NoIcon, 1, 0, 0);
132 help.showMaximized(); 132 help.showMaximized();
133 help.exec(); 133 help.exec();
134 } 134 }
135 } 135 }
136} 136}
137 137
138void StringConfig::draw(QPainter* p) 138void StringConfig::draw(QPainter* p)
139{ 139{
140 QFontMetrics fm = p->fontMetrics(); 140 QFontMetrics fm = p->fontMetrics();
141 141
142 for (int r=0; r<nrows; r++) { 142 for (int r=0; r<nrows; r++) {
143 p->translate(0,fm.lineSpacing()); 143 p->translate(0,fm.lineSpacing());
144 p->setPen(rowColor(r)); 144 p->setPen(rowColor(r));
145 145
146 int tw=0; 146 int tw=0;
147 QString s; 147 QString s;
148 int i=0; 148 int i=0;
149 for (; !(s=text(r,i)).isNull(); ++i) { 149 for (; !(s=text(r,i)).isNull(); ++i) {
150 int w = fm.width(s); 150 int w = fm.width(s);
151 tw += w; 151 tw += w;
152 } 152 }
153 bool spread = spreadRow(r);// && parent->width() > tw; 153 bool spread = spreadRow(r);// && parent->width() > tw;
154 int xw = spread ? (parent->width()-tw)/(i-1) : 3; 154 int xw = spread ? (parent->width()-tw)/(i-1) : 3;
155 int x = spread ? (parent->width()-tw-xw*(i-1))/2 : 2; 155 int x = spread ? (parent->width()-tw-xw*(i-1))/2 : 2;
156 156
157 i=0; 157 i=0;
158 for (; !(s=text(r,i)).isNull(); ++i) { 158 for (; !(s=text(r,i)).isNull(); ++i) {
159 int w = fm.width(s)+xw; 159 int w = fm.width(s)+xw;
160 if ( highlight(r,i) ) { 160 if ( highlight(r,i) ) {
161 p->fillRect(x-xw/2,1+fm.descent()-fm.lineSpacing(),w,fm.lineSpacing(),Qt::black); 161 p->fillRect(x-xw/2,1+fm.descent()-fm.lineSpacing(),w,fm.lineSpacing(),::Qt::black);
162 p->setPen(Qt::white); 162 p->setPen(::Qt::white);
163 }else{ 163 }else{
164 p->setPen(Qt::black); 164 p->setPen(::Qt::black);
165 } 165 }
166 p->drawText(x,-fm.descent()-1,s); 166 p->drawText(x,-fm.descent()-1,s);
167 x += w; 167 x += w;
168 } 168 }
169 } 169 }
170} 170}
171 171
172void StringConfig::pickInRow(int r, int xpos, bool press) 172void StringConfig::pickInRow(int r, int xpos, bool press)
173{ 173{
174 QFontMetrics fm = parent->fontMetrics(); 174 QFontMetrics fm = parent->fontMetrics();
175 175
176 int tw=0; 176 int tw=0;
177 QString s; 177 QString s;
178 int i=0; 178 int i=0;
179 for (; !(s=text(r,i)).isNull(); ++i) { 179 for (; !(s=text(r,i)).isNull(); ++i) {
180 int w = fm.width(s); 180 int w = fm.width(s);
181 tw += w; 181 tw += w;
182 } 182 }
183 bool spread = spreadRow(r) && parent->width() > tw; 183 bool spread = spreadRow(r) && parent->width() > tw;
184 int xw = spread ? (parent->width()-tw)/(i-1) : 3; 184 int xw = spread ? (parent->width()-tw)/(i-1) : 3;
185 int x = spread ? (parent->width()-tw-xw*(i-1))/2 : 2; 185 int x = spread ? (parent->width()-tw-xw*(i-1))/2 : 2;
186 186
187 i=0; 187 i=0;
188 for (; !(s=text(r,i)).isNull(); ++i) { 188 for (; !(s=text(r,i)).isNull(); ++i) {
189 int x2 = x + fm.width(s)+xw; 189 int x2 = x + fm.width(s)+xw;
190 if ( xpos >= x && xpos < x2 ) { 190 if ( xpos >= x && xpos < x2 ) {
191 pick(press, r, i); 191 pick(press, r, i);
192 return; 192 return;
193 } 193 }
194 x = x2; 194 x = x2;
195 } 195 }
196} 196}
197 197
198void StringConfig::updateItem(int r, int item) 198void StringConfig::updateItem(int r, int item)
199{ 199{
200 QFontMetrics fm = parent->fontMetrics(); 200 QFontMetrics fm = parent->fontMetrics();
201 201
202 int y = r * fm.lineSpacing(); 202 int y = r * fm.lineSpacing();
203 203
204 int tw=0; 204 int tw=0;
205 QString s; 205 QString s;
206 int i=0; 206 int i=0;
207 for (; !(s=text(r,i)).isNull(); ++i) { 207 for (; !(s=text(r,i)).isNull(); ++i) {
208 int w = fm.width(s); 208 int w = fm.width(s);
209 tw += w; 209 tw += w;
210 } 210 }
211 bool spread = spreadRow(r) && parent->width() > tw; 211 bool spread = spreadRow(r) && parent->width() > tw;
212 int xw = spread ? (parent->width()-tw)/(i-1) : 3; 212 int xw = spread ? (parent->width()-tw)/(i-1) : 3;
@@ -386,100 +386,100 @@ bool DictFilterConfig::spreadRow(int r)
386} 386}
387 387
388QStringList DictFilterConfig::capitalize(const QStringList& l) 388QStringList DictFilterConfig::capitalize(const QStringList& l)
389{ 389{
390 switch ( shift ) { 390 switch ( shift ) {
391 case 1: { 391 case 1: {
392 QStringList r; 392 QStringList r;
393 QStringList::ConstIterator it = l.begin(); 393 QStringList::ConstIterator it = l.begin();
394 r.append((*it).upper()); 394 r.append((*it).upper());
395 for (++it; it != l.end(); ++it) 395 for (++it; it != l.end(); ++it)
396 r.append(*it); 396 r.append(*it);
397 return r; 397 return r;
398 } case 2: { 398 } case 2: {
399 QStringList r; 399 QStringList r;
400 for (QStringList::ConstIterator it = l.begin(); it != l.end(); ++it) 400 for (QStringList::ConstIterator it = l.begin(); it != l.end(); ++it)
401 r.append((*it).upper()); 401 r.append((*it).upper());
402 return r; 402 return r;
403 } 403 }
404 } 404 }
405 return l; 405 return l;
406} 406}
407 407
408QString DictFilterConfig::capitalize(const QString& s) 408QString DictFilterConfig::capitalize(const QString& s)
409{ 409{
410 switch ( shift ) { 410 switch ( shift ) {
411 case 1: { 411 case 1: {
412 QString u = s; 412 QString u = s;
413 u[0] = u[0].upper(); 413 u[0] = u[0].upper();
414 return u; 414 return u;
415 break; 415 break;
416 } case 2: 416 } case 2:
417 return s.upper(); 417 return s.upper();
418 break; 418 break;
419 } 419 }
420 return s; 420 return s;
421} 421}
422 422
423void DictFilterConfig::pick(bool press, int row, int item) 423void DictFilterConfig::pick(bool press, int row, int item)
424{ 424{
425 if ( row == 0 ) { 425 if ( row == 0 ) {
426 if ( press ) { 426 if ( press ) {
427 if ( input.isEmpty() ) { 427 if ( input.isEmpty() ) {
428 lit0 = item; 428 lit0 = item;
429 if ( othermodes[item] == "Space" ) { 429 if ( othermodes[item] == "Space" ) {
430 updateItem(row,item); 430 updateItem(row,item);
431 generateText(" "); 431 generateText(" ");
432 } else if ( othermodes[item] == "Back" ) { 432 } else if ( othermodes[item] == "Back" ) {
433 updateItem(row,item); 433 updateItem(row,item);
434 generateKey(Qt::Key_Backspace); 434 generateKey(::Qt::Key_Backspace);
435 } else if ( othermodes[item] == "Enter" ) { 435 } else if ( othermodes[item] == "Enter" ) {
436 updateItem(row,item); 436 updateItem(row,item);
437 generateKey(Qt::Key_Return); 437 generateKey(::Qt::Key_Return);
438 } else if ( othermodes[item] == "Shift" ) { 438 } else if ( othermodes[item] == "Shift" ) {
439 updateItem(row,item); 439 updateItem(row,item);
440 shift = (shift+1)%3; 440 shift = (shift+1)%3;
441 } 441 }
442 } 442 }
443 } else { 443 } else {
444 if ( !input.isEmpty() ) { 444 if ( !input.isEmpty() ) {
445 input.clear(); 445 input.clear();
446 if ( item>=0 ) { 446 if ( item>=0 ) {
447 generateText(capitalize(matches[item])); 447 generateText(capitalize(matches[item]));
448 } 448 }
449 shift = 0; 449 shift = 0;
450 matches.clear(); 450 matches.clear();
451 updateRows(0,0); 451 updateRows(0,0);
452 } else if ( item < 3 ) { 452 } else if ( item < 3 ) {
453 lit0 = -1; 453 lit0 = -1;
454 changeMode(item+1); // I'm mode 0! #### 454 changeMode(item+1); // I'm mode 0! ####
455 updateRows(0,1); 455 updateRows(0,1);
456 } 456 }
457 if ( lit0 >= 0 ) { 457 if ( lit0 >= 0 ) {
458 if ( !shift || othermodes[lit0] != "Shift" ) { 458 if ( !shift || othermodes[lit0] != "Shift" ) {
459 updateItem(0,lit0); 459 updateItem(0,lit0);
460 lit0 = -1; 460 lit0 = -1;
461 } 461 }
462 } 462 }
463 } 463 }
464 } else { 464 } else {
465 lit0 = -1; 465 lit0 = -1;
466 if ( press && item >= 0 ) { 466 if ( press && item >= 0 ) {
467 lit1 = item; 467 lit1 = item;
468 add(sets[item]); 468 add(sets[item]);
469 updateItem(1,item); 469 updateItem(1,item);
470 updateRows(0,0); 470 updateRows(0,0);
471 } else { 471 } else {
472 updateItem(1,lit1); 472 updateItem(1,lit1);
473 lit1 = -1; 473 lit1 = -1;
474 } 474 }
475 } 475 }
476} 476}
477 477
478bool DictFilterConfig::scanMatch(const QString& set, const QChar& l) const 478bool DictFilterConfig::scanMatch(const QString& set, const QChar& l) const
479{ 479{
480 return set == "?" || set == "*" || set.contains(l); 480 return set == "?" || set == "*" || set.contains(l);
481} 481}
482 482
483//static int visit=0; 483//static int visit=0;
484//static int lvisit=0; 484//static int lvisit=0;
485 485