void ColorPaletteWidget::clickAddColorButton() { QColor prevColor = Qt::white; if ( currentColourNumber() > -1 ) { prevColor = core()->object()->getColour(currentColourNumber()).colour; } bool ok; QRgb qrgba = QColorDialog::getRgba( prevColor.rgba(), &ok, this ); if ( ok ) { ColourRef ref = ColourRef(QColor::fromRgba(qrgba)); bool ok; QString text = QInputDialog::getText(this, tr("Colour name"), tr("Colour name:"), QLineEdit::Normal, QString(tr("Colour %1")).arg( ui->colorListWidget->count()), &ok ); if (ok) { ref.name = text; core()->object()->addColour(ref); refreshColorList(); core()->color()->setColor( core()->object()->getColourCount() - 1 ); } } }
bool Object::importPalette(QString filePath) { QFile* file = new QFile(filePath); if (!file->open(QFile::ReadOnly)) { //QMessageBox::warning(this, "Warning", "Cannot read file"); return false; } QDomDocument doc; doc.setContent(file); myPalette.clear(); QDomElement docElem = doc.documentElement(); QDomNode tag = docElem.firstChild(); while(!tag.isNull()) { QDomElement e = tag.toElement(); // try to convert the node to an element. if(!e.isNull()) { QString name = e.attribute("name"); int r = e.attribute("red").toInt(); int g = e.attribute("green").toInt(); int b = e.attribute("blue").toInt(); myPalette.append( ColourRef( QColor(r, g, b), name) ); //qDebug() << name << r << g << b << endl; // the node really is an element. } tag = tag.nextSibling(); } return true; }
void Object::loadDefaultPalette() { myPalette.clear(); addColour( ColourRef(QColor(Qt::black), QString("Black")) ); addColour( ColourRef(QColor(Qt::red), QString("Red")) ); addColour( ColourRef(QColor(Qt::darkRed), QString("Dark Red")) ); addColour( ColourRef(QColor(255,128,0), QString("Orange")) ); addColour( ColourRef(QColor(128,64,0), QString("Dark Orange")) ); addColour( ColourRef(QColor(Qt::yellow), QString("Yellow")) ); addColour( ColourRef(QColor(Qt::darkYellow), QString("Dark Yellow")) ); addColour( ColourRef(QColor(Qt::green), QString("Green")) ); addColour( ColourRef(QColor(Qt::darkGreen), QString("Dark Green")) ); addColour( ColourRef(QColor(Qt::cyan), QString("Cyan")) ); addColour( ColourRef(QColor(Qt::darkCyan), QString("Dark Cyan")) ); addColour( ColourRef(QColor(Qt::blue), QString("Blue")) ); addColour( ColourRef(QColor(Qt::darkBlue), QString("Dark Blue")) ); addColour( ColourRef(QColor(255,255,255), QString("White")) ); addColour( ColourRef(QColor(220,220,229), QString("Very Light Grey")) ); addColour( ColourRef(QColor(Qt::lightGray), QString("Light Grey")) ); addColour( ColourRef(QColor(Qt::gray), QString("Grey")) ); addColour( ColourRef(QColor(Qt::darkGray), QString("Dark Grey")) ); addColour( ColourRef(QColor(255,227,187), QString("Light Skin")) ); addColour( ColourRef(QColor(221,196,161), QString("Light Skin - shade")) ); addColour( ColourRef(QColor(255,214,156), QString("Skin")) ); addColour( ColourRef(QColor(207,174,127), QString("Skin - shade")) ); addColour( ColourRef(QColor(255,198,116), QString("Dark Skin")) ); addColour( ColourRef(QColor(227,177,105), QString("Dark Skin - shade")) ); }
void Object::addColour(QColor colour) { addColour( ColourRef(colour, "Colour "+QString::number(myPalette.size()) ) ); }