Mercurial > hg > svgui
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); |