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 (); |
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 += '|'; |