src/configDialog.cpp

changeset 252
3f9067022d74
parent 251
c4b96bc41298
child 286
7a562bf3d829
equal deleted inserted replaced
251:c4b96bc41298 252:3f9067022d74
366 } 366 }
367 367
368 // ============================================================================= 368 // =============================================================================
369 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 369 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
370 // ============================================================================= 370 // =============================================================================
371 void ConfigDialog::updateQuickColorList (quickColorMetaEntry* sel) { 371 void ConfigDialog::updateQuickColorList (quickColor* sel) {
372 for (QListWidgetItem* item : quickColorItems) 372 for (QListWidgetItem* item : quickColorItems)
373 delete item; 373 delete item;
374 374
375 quickColorItems.clear (); 375 quickColorItems.clear ();
376 376
377 // Init table items 377 // Init table items
378 for (quickColorMetaEntry& entry : quickColorMeta) { 378 for (quickColor& entry : quickColorMeta) {
379 QListWidgetItem* item = new QListWidgetItem; 379 QListWidgetItem* item = new QListWidgetItem;
380 380
381 if (entry.bSeparator) { 381 if (entry.bSeparator) {
382 item->setText ("--------"); 382 item->setText ("--------");
383 item->setIcon (getIcon ("empty")); 383 item->setIcon (getIcon ("empty"));
392 item->setIcon (makeColorIcon (col, 16)); 392 item->setIcon (makeColorIcon (col, 16));
393 } 393 }
394 } 394 }
395 395
396 lw_quickColors->addItem (item); 396 lw_quickColors->addItem (item);
397 quickColorItems.push_back (item); 397 quickColorItems << item;
398 398
399 if (sel && &entry == sel) { 399 if (sel && &entry == sel) {
400 lw_quickColors->setCurrentItem (item); 400 lw_quickColors->setCurrentItem (item);
401 lw_quickColors->scrollToItem (item); 401 lw_quickColors->scrollToItem (item);
402 } 402 }
405 405
406 // ============================================================================= 406 // =============================================================================
407 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 407 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
408 // ============================================================================= 408 // =============================================================================
409 void ConfigDialog::slot_setColor () { 409 void ConfigDialog::slot_setColor () {
410 quickColorMetaEntry* entry = null; 410 quickColor* entry = null;
411 QListWidgetItem* item = null; 411 QListWidgetItem* item = null;
412 const bool isNew = static_cast<QPushButton*> (sender ()) == pb_addColor; 412 const bool isNew = static_cast<QPushButton*> (sender ()) == pb_addColor;
413 413
414 if (isNew == false) { 414 if (isNew == false) {
415 item = getSelectedQuickColor (); 415 item = getSelectedQuickColor ();
430 return; 430 return;
431 431
432 if (entry) 432 if (entry)
433 entry->col = getColor (dValue); 433 entry->col = getColor (dValue);
434 else { 434 else {
435 quickColorMetaEntry entry = {getColor (dValue), null, false}; 435 quickColor entry = {getColor (dValue), null, false};
436 436
437 item = getSelectedQuickColor (); 437 item = getSelectedQuickColor ();
438 ulong idx; 438 ulong idx;
439 439
440 if (item) 440 if (item)
461 updateQuickColorList (); 461 updateQuickColorList ();
462 } 462 }
463 463
464 // ============================================================================= 464 // =============================================================================
465 void ConfigDialog::slot_moveColor () { 465 void ConfigDialog::slot_moveColor () {
466 const bool bUp = (static_cast<QPushButton*> (sender()) == pb_moveColorUp); 466 const bool up = (static_cast<QPushButton*> (sender()) == pb_moveColorUp);
467 467
468 if (lw_quickColors->selectedItems().size() == 0) 468 if (lw_quickColors->selectedItems().size() == 0)
469 return; 469 return;
470 470
471 QListWidgetItem* qItem = lw_quickColors->selectedItems ()[0]; 471 QListWidgetItem* item = lw_quickColors->selectedItems ()[0];
472 ulong ulIdx = getItemRow (qItem, quickColorItems); 472 ulong idx = getItemRow (item, quickColorItems);
473 473
474 long lDest = bUp ? (ulIdx - 1) : (ulIdx + 1); 474 long dest = up ? (idx - 1) : (idx + 1);
475 475
476 if (lDest < 0 || (ulong)lDest >= quickColorItems.size ()) 476 if (dest < 0 || (ulong) dest >= quickColorItems.size ())
477 return; // destination out of bounds 477 return; // destination out of bounds
478 478
479 quickColorMetaEntry tmp = quickColorMeta[lDest]; 479 quickColor tmp = quickColorMeta[dest];
480 quickColorMeta[lDest] = quickColorMeta[ulIdx]; 480 quickColorMeta[dest] = quickColorMeta[idx];
481 quickColorMeta[ulIdx] = tmp; 481 quickColorMeta[idx] = tmp;
482 482
483 updateQuickColorList (&quickColorMeta[lDest]); 483 updateQuickColorList (&quickColorMeta[dest]);
484 } 484 }
485 485
486 // ============================================================================= 486 // =============================================================================
487 void ConfigDialog::slot_addColorSeparator() { 487 void ConfigDialog::slot_addColorSeparator() {
488 quickColorMeta.push_back ({null, null, true}); 488 quickColorMeta << quickColor ({null, null, true});
489 updateQuickColorList (&quickColorMeta[quickColorMeta.size () - 1]); 489 updateQuickColorList (&quickColorMeta[quickColorMeta.size () - 1]);
490 } 490 }
491 491
492 // ============================================================================= 492 // =============================================================================
493 void ConfigDialog::slot_clearColors () { 493 void ConfigDialog::slot_clearColors () {
653 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 653 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
654 // ============================================================================= 654 // =============================================================================
655 str ConfigDialog::makeColorToolBarString () { 655 str ConfigDialog::makeColorToolBarString () {
656 str val; 656 str val;
657 657
658 for (quickColorMetaEntry entry : quickColorMeta) { 658 for (quickColor entry : quickColorMeta) {
659 if (~val > 0) 659 if (~val > 0)
660 val += ':'; 660 val += ':';
661 661
662 if (entry.bSeparator) 662 if (entry.bSeparator)
663 val += '|'; 663 val += '|';

mercurial