TuneColorDialog::TuneColorDialog(int hue,int sat,int gamma,QWidget *parent) : QDialog(parent) { setWindowTitle(tr("Tune the color of the HTML output")); QGridLayout *layout = new QGridLayout(this); m_image = new QImage(QString::fromAscii(":/images/tunecolor.png")); m_imageLab = new QLabel; updateImage(hue,sat,gamma); layout->addWidget(new QLabel(tr("Example output: use the sliders on the right to adjust the color")),0,0); layout->addWidget(m_imageLab,1,0); QHBoxLayout *buttonsLayout = new QHBoxLayout; QPushButton *okButton = new QPushButton(tr("Ok")); connect(okButton,SIGNAL(clicked()),SLOT(accept())); okButton->setDefault(true); QPushButton *cancelButton = new QPushButton(tr("Cancel")); connect(cancelButton,SIGNAL(clicked()),SLOT(reject())); ColorPicker *huePicker = new ColorPicker(ColorPicker::Hue); huePicker->setCol(hue,sat,gamma); huePicker->setFixedWidth(20); layout->addWidget(huePicker,1,1); ColorPicker *satPicker = new ColorPicker(ColorPicker::Saturation); satPicker->setCol(hue,sat,gamma); satPicker->setFixedWidth(20); layout->addWidget(satPicker,1,2); ColorPicker *gamPicker = new ColorPicker(ColorPicker::Gamma); gamPicker->setCol(hue,sat,gamma); gamPicker->setFixedWidth(20); layout->addWidget(gamPicker,1,3); connect(huePicker,SIGNAL(newHsv(int,int,int)),satPicker,SLOT(setCol(int,int,int))); connect(satPicker,SIGNAL(newHsv(int,int,int)),huePicker,SLOT(setCol(int,int,int))); connect(huePicker,SIGNAL(newHsv(int,int,int)),gamPicker,SLOT(setCol(int,int,int))); connect(satPicker,SIGNAL(newHsv(int,int,int)),gamPicker,SLOT(setCol(int,int,int))); connect(gamPicker,SIGNAL(newHsv(int,int,int)),satPicker,SLOT(setCol(int,int,int))); connect(gamPicker,SIGNAL(newHsv(int,int,int)),huePicker,SLOT(setCol(int,int,int))); connect(huePicker,SIGNAL(newHsv(int,int,int)),this,SLOT(updateImage(int,int,int))); connect(satPicker,SIGNAL(newHsv(int,int,int)),this,SLOT(updateImage(int,int,int))); connect(gamPicker,SIGNAL(newHsv(int,int,int)),this,SLOT(updateImage(int,int,int))); buttonsLayout->addStretch(); buttonsLayout->addWidget(okButton); buttonsLayout->addWidget(cancelButton); layout->addLayout(buttonsLayout,5,0,1,4); }