comparison widgets/ColourComboBox.cpp @ 1266:a34a2a25907c

Untabify
author Chris Cannam
date Thu, 01 Mar 2018 18:02:22 +0000
parents b1e3ee5f1be6
children 85f04c956f03
comparison
equal deleted inserted replaced
1265:6e724c81f18f 1266:a34a2a25907c
38 connect(this, SIGNAL(activated(int)), this, SLOT(comboActivated(int))); 38 connect(this, SIGNAL(activated(int)), this, SLOT(comboActivated(int)));
39 connect(ColourDatabase::getInstance(), SIGNAL(colourDatabaseChanged()), 39 connect(ColourDatabase::getInstance(), SIGNAL(colourDatabaseChanged()),
40 this, SLOT(rebuild())); 40 this, SLOT(rebuild()));
41 41
42 if (count() < 20 && count() > maxVisibleItems()) { 42 if (count() < 20 && count() > maxVisibleItems()) {
43 setMaxVisibleItems(count()); 43 setMaxVisibleItems(count());
44 } 44 }
45 } 45 }
46 46
47 void 47 void
48 ColourComboBox::comboActivated(int index) 48 ColourComboBox::comboActivated(int index)
49 { 49 {
50 if (!m_withAddNewColourEntry || 50 if (!m_withAddNewColourEntry ||
51 index < int(ColourDatabase::getInstance()->getColourCount())) { 51 index < int(ColourDatabase::getInstance()->getColourCount())) {
52 emit colourChanged(index); 52 emit colourChanged(index);
53 return; 53 return;
54 } 54 }
55 55
56 QColor newColour = QColorDialog::getColor(); 56 QColor newColour = QColorDialog::getColor();
57 if (!newColour.isValid()) return; 57 if (!newColour.isValid()) return;
58 58
63 if (dialog.exec() == QDialog::Accepted) { 63 if (dialog.exec() == QDialog::Accepted) {
64 //!!! command 64 //!!! command
65 ColourDatabase *db = ColourDatabase::getInstance(); 65 ColourDatabase *db = ColourDatabase::getInstance();
66 int index = db->addColour(newColour, dialog.getColourName()); 66 int index = db->addColour(newColour, dialog.getColourName());
67 db->setUseDarkBackground(index, dialog.isDarkBackgroundChecked()); 67 db->setUseDarkBackground(index, dialog.isDarkBackgroundChecked());
68 // addColour will have called back on rebuild(), and the new 68 // addColour will have called back on rebuild(), and the new
69 // colour will be at the index previously occupied by Add New 69 // colour will be at the index previously occupied by Add New
70 // Colour, which is our current index 70 // Colour, which is our current index
71 emit colourChanged(currentIndex()); 71 emit colourChanged(currentIndex());
72 } 72 }
73 } 73 }
74 74
75 void 75 void
76 ColourComboBox::rebuild() 76 ColourComboBox::rebuild()
84 int size = (QFontMetrics(QFont()).height() * 2) / 3; 84 int size = (QFontMetrics(QFont()).height() * 2) / 3;
85 if (size < 12) size = 12; 85 if (size < 12) size = 12;
86 86
87 ColourDatabase *db = ColourDatabase::getInstance(); 87 ColourDatabase *db = ColourDatabase::getInstance();
88 for (int i = 0; i < db->getColourCount(); ++i) { 88 for (int i = 0; i < db->getColourCount(); ++i) {
89 QString name = db->getColourName(i); 89 QString name = db->getColourName(i);
90 addItem(db->getExamplePixmap(i, QSize(size, size)), name); 90 addItem(db->getExamplePixmap(i, QSize(size, size)), name);
91 } 91 }
92 92
93 if (m_withAddNewColourEntry) { 93 if (m_withAddNewColourEntry) {
94 addItem(tr("Add New Colour...")); 94 addItem(tr("Add New Colour..."));
95 } 95 }
96 96
97 setCurrentIndex(ix); 97 setCurrentIndex(ix);
98 98
99 blockSignals(false); 99 blockSignals(false);