19 ui->sldHue->setRange(0.0,360.0,1);
20 ui->sldHue->setSingleStep(1.0);
21 ui->sldHue->setPrefix(i18n(
"Hue:"));
23 ui->sldSat->setRange(-50.0,50.0,1);
24 ui->sldSat->setSingleStep(1.0);
25 ui->sldSat->setPrefix(i18n(
"Saturation:"));
27 ui->sldLevels->setRange(-50.0,50.0,1);
28 ui->sldLevels->setSingleStep(1.0);
29 ui->sldLevels->setPrefix(i18n(
"Mid-gray level:"));
39 if (background_paths.size()>0) {
48 QImage empty = QImage(200, 200, QImage::Format_ARGB32);
49 empty.fill(Qt::transparent);
50 m_baseModel->appendRow(
new QStandardItem(QIcon(QPixmap::fromImage(empty)), NULL));
53 for (
int i=0; i<toolIcon_paths.size(); i++) {
55 pix.load(toolIcon_paths.at(i));
56 QStandardItem *image =
new QStandardItem(QIcon(QPixmap::fromImage(pix)), NULL);
61 empty = QImage(40, 40, QImage::Format_ARGB32);
62 empty.fill(Qt::transparent);
63 m_optionalModel->appendRow(
new QStandardItem(QIcon(QPixmap::fromImage(empty)), NULL));
66 for (
int i=0; i<emblemIcon_paths.size(); i++) {
68 pix.load(emblemIcon_paths.at(i));
69 QStandardItem *image =
new QStandardItem(QIcon(QPixmap::fromImage(pix)), NULL);
73 connect(
ui->vwBase->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
this, SLOT(
updateIcon()));
74 connect(
ui->vwOptional->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
this, SLOT(
updateIcon()));
92 QImage base = QImage(200, 200, QImage::Format_ARGB32);
93 base.fill(Qt::transparent);
94 if (
ui->vwBase->currentIndex().isValid()) {
95 base =
m_baseModel->itemFromIndex(
ui->vwBase->currentIndex())->icon().pixmap(QSize(200, 200)).toImage();
97 if (
ui->sldHue->value()>0 ||
ui->sldSat->value()!=0.0 ||
ui->sldLevels->value()!=0.0) {
100 QImage optional = QImage(40, 40, QImage::Format_ARGB32);
101 optional.fill(Qt::transparent);
102 if (
ui->vwOptional->currentIndex().isValid()) {
103 optional =
m_optionalModel->itemFromIndex(
ui->vwOptional->currentIndex())->icon().pixmap(QSize(40, 40)).toImage();
107 p.drawImage(0, 0, base);
110 p.drawImage(x, y, optional);
121 int level = qMax(qMin( 28 + ( (
int(
ui->sldLevels->value()) + 50) * 2), 255), 0);
122 for (
int v = 0;
v < level;
v++) {
123 values[
v] = int((128.0 / qreal(level))*
v);
125 for (
int v = level;
v < 255;
v++) {
126 values[
v] = qMax(qMin(
int( (128.0 / qreal(255 - level)) *(
v - level)+128.0), 255), 0);
130 for (
int x = 0; x < img.width(); x++) {
131 for (
int y = 0; y < img.height(); y++) {
132 QColor c = img.pixelColor(x, y);
133 int hue = c.hslHue()+(int)
ui->sldHue->value();
137 int sat = qMax(qMin(c.hslSaturation() +
int(
ui->sldSat->value() * (255.0 / 100.0)), 255), 0);
138 c.setHsl(hue, sat, values.at(c.lightness()), c.alpha());
139 img.setPixelColor(x, y, c);