QWidget* PreferencesDialog::getGeneralPage() { GroupContainer* widget = new GroupContainer(); widget->setTitle("General"); QFormLayout* mainLayout = new QFormLayout; mainLayout->setRowWrapPolicy(QFormLayout::WrapLongRows); mainLayout->setFieldGrowthPolicy(QFormLayout::ExpandingFieldsGrow); mainLayout->setFormAlignment(Qt::AlignHCenter | Qt::AlignTop); mainLayout->setLabelAlignment(Qt::AlignRight); QCheckBox* autoSaveBox = new QCheckBox("Automatically save configurations when they are changed"); autoSaveBox->setChecked(UserPreferences().autoSaveConfigs()); connect(autoSaveBox, &QCheckBox::toggled, [=](bool check){ UserPreferences().setAutoSaveConfigs(check); projectData.setAutoSave(check); }); mainLayout->addRow(autoSaveBox); QCheckBox* advancedBox = new QCheckBox("Show advanced by default (valid on restart)"); advancedBox->setChecked(UserPreferences().showAdvanced()); connect(advancedBox, &QCheckBox::toggled, [=](bool check){ UserPreferences().setShowAdvanced(check); }); mainLayout->addRow(advancedBox); QSlider* outputVerbosityControl = new QSlider; outputVerbosityControl->setOrientation(Qt::Horizontal); outputVerbosityControl->setFixedSize(100, 20); outputVerbosityControl->setMinimum(0); outputVerbosityControl->setMaximum(3); outputVerbosityControl->setTickPosition(QSlider::TicksBothSides); outputVerbosityControl->setTickInterval(1); outputVerbosityControl->setSingleStep(1); outputVerbosityControl->setValue(UserPreferences().userLevel()); connect(outputVerbosityControl, &QSlider::valueChanged, [=] (int level) { UserPreferences().setUserLevel(level); }); mainLayout->addRow("Default verbosity level (valid on restart)", outputVerbosityControl); widget->setContainerLayout(mainLayout); QWidget* pageWid = new QWidget; QVBoxLayout *layout = new QVBoxLayout; layout->setMargin(0); layout->setSpacing(0); layout->addWidget(widget); layout->addStretch(1); pageWid->setLayout(layout); return pageWid; }
TMOGUIAdjust::TMOGUIAdjust(QWidget* parent, const char * name): QFrame(parent, name) { iMode = 0; pValues = 0; bLog = true; bUpdate = false; setFrameStyle( QFrame::Panel | QFrame::Sunken ); QGridLayout *pLayout = new QGridLayout(this, 8, 4); pLayout->setColStretch(0,0); pLayout->setColStretch(1,1); pLayout->setColStretch(2,0); pLayout->setColStretch(3,0); pLayout->addColSpacing(2,20); QSlider *pSlider = new QSlider(this, "HistoSlider"); pSlider->setFixedSize(16,64); pSlider->setRange(-50, 50); pSlider->setValue(0); pSlider->setOrientation(Vertical); pSlider->setTickmarks(QSlider::Right); pSlider->setTickInterval(10); pLayout->addMultiCellWidget(pSlider, 0, 3, 0, 0); pHisto = new TMOGUIHisto(this, "Histogram"); pLayout->addMultiCellWidget(pHisto, 0, 3, 1, 1, AlignBottom); pLayout->addRowSpacing(4, 2); pToneSlider = new TMOGUIToneSlider(this, "ToneSlider"); pLayout->addWidget(pToneSlider, 5, 1); pRed = new QPushButton(this, "RedButton"); pRed->setFlat(true); pRed->setFixedSize(16,16); pRed->setPixmap(*TMOResource::pResource->IconRed->pixmap()); QToolTip::add(pRed, "Select Red Channel"); pLayout->addWidget(pRed, 0, 2, AlignCenter); pGreen = new QPushButton(this, "GreenButton"); pGreen->setFlat(true); pGreen->setFixedSize(16,16); pGreen->setPixmap(*TMOResource::pResource->IconGreen->pixmap()); QToolTip::add(pGreen, "Select Green Channel"); pLayout->addWidget(pGreen, 1, 2, AlignCenter); pBlue = new QPushButton(this, "BlueButton"); pBlue->setFlat(true); pBlue->setFixedSize(16,16); pBlue->setPixmap(*TMOResource::pResource->IconBlue->pixmap()); QToolTip::add(pBlue, "Select Blue Channel"); pLayout->addWidget(pBlue, 2, 2, AlignCenter); pLum = new QPushButton(this, "LumButton"); pLum->setFlat(true); pLum->setFixedSize(16,16); pLum->setPixmap(*TMOResource::pResource->IconLumDown->pixmap()); QToolTip::add(pLum, "Select Luminance"); pLayout->addWidget(pLum, 3, 2, AlignCenter); pLinear = new QPushButton(this, "LinearButton"); pLinear->setFlat(true); pLinear->setFixedSize(32,32); pLinear->setPixmap(*TMOResource::pResource->IconLin->pixmap()); QToolTip::add(pLinear, "View In Linear Distribution"); pLayout->addMultiCellWidget(pLinear, 0, 1, 3, 3, AlignCenter); pLog = new QPushButton(this, "LogarithmicButton"); pLog->setFlat(true); pLog->setFixedSize(32,32); pLog->setPixmap(*TMOResource::pResource->IconLogDown->pixmap()); QToolTip::add(pLog, "View In Logarithmic Distribution"); pLayout->addMultiCellWidget(pLog, 2, 3, 3, 3, AlignCenter); pLayout->addRowSpacing(6, 2); QHBoxLayout* hbox = new QHBoxLayout(); QLabel* pLabel = new QLabel(this, "BlackLabel"); pLabel->setPixmap(*TMOResource::pResource->IconBlack->pixmap()); pLabel->setFrameStyle( QFrame::Panel | QFrame::Sunken ); hbox->addWidget(pLabel); pBlack = new QLineEdit(this, "EditBlack"); pBlack->setAlignment(Qt::AlignRight); pBlack->setFixedWidth(72); hbox->addWidget(pBlack); hbox->insertStretch(-1,1); pLabel = new QLabel(this, "GammaLabel"); pLabel->setPixmap(*TMOResource::pResource->IconGamma->pixmap()); pLabel->setFrameStyle( QFrame::Panel | QFrame::Sunken ); hbox->addWidget(pLabel); pGamma = new QLineEdit(this, "EditGamma"); pGamma->setAlignment(Qt::AlignRight); pGamma->setFixedWidth(72); hbox->addWidget(pGamma); hbox->insertStretch(-1,1); pLabel = new QLabel(this, "WhiteLabel"); pLabel->setPixmap(*TMOResource::pResource->IconWhite->pixmap()); pLabel->setFrameStyle( QFrame::Panel | QFrame::Sunken ); hbox->addWidget(pLabel); pWhite = new QLineEdit(this, "EditWhite"); pWhite->setAlignment(Qt::AlignRight); pWhite->setFixedWidth(72); hbox->addWidget(pWhite); pLayout->addLayout(hbox, 7, 1); connect (pSlider, SIGNAL(sliderMoved(int)), this, SLOT(scalechanged(int))); connect (pLinear, SIGNAL(clicked()), pHisto, SLOT(setlinear())); connect (pLog, SIGNAL(clicked()), pHisto, SLOT(setlog())); connect (pRed, SIGNAL(clicked()), pHisto, SLOT(setr())); connect (pGreen, SIGNAL(clicked()), pHisto, SLOT(setg())); connect (pBlue, SIGNAL(clicked()), pHisto, SLOT(setb())); connect (pLum, SIGNAL(clicked()), pHisto, SLOT(setl())); connect (pLinear, SIGNAL(clicked()), pToneSlider, SLOT(setlinear())); connect (pLog, SIGNAL(clicked()), pToneSlider, SLOT(setlog())); connect (pRed, SIGNAL(clicked()), pToneSlider, SLOT(setr())); connect (pGreen, SIGNAL(clicked()), pToneSlider, SLOT(setg())); connect (pBlue, SIGNAL(clicked()), pToneSlider, SLOT(setb())); connect (pLum, SIGNAL(clicked()), pToneSlider, SLOT(setl())); connect (pRed, SIGNAL(clicked()), this, SLOT(setr())); connect (pGreen, SIGNAL(clicked()), this, SLOT(setg())); connect (pBlue, SIGNAL(clicked()), this, SLOT(setb())); connect (pLum, SIGNAL(clicked()), this, SLOT(setl())); connect (pBlack, SIGNAL(textChanged(const QString &)), this, SLOT(setblack(const QString &))); connect (pWhite, SIGNAL(textChanged(const QString &)), this, SLOT(setwhite(const QString &))); connect (pGamma, SIGNAL(textChanged(const QString &)), this, SLOT(setgamma(const QString &))); connect (pBlack, SIGNAL(returnPressed()), this, SLOT(updateall())); connect (pWhite, SIGNAL(returnPressed()), this, SLOT(updateall())); connect (pGamma, SIGNAL(returnPressed()), this, SLOT(updateall())); connect (pLinear, SIGNAL(clicked()), this, SLOT(setlinear())); connect (pLog, SIGNAL(clicked()), this, SLOT(setlog())); }