mirror of
https://github.com/YACReader/yacreader
synced 2025-05-28 03:10:27 -04:00
Simplify QColorDialog usage
This fixes the color dialog being always available in macos as a YACReader's child window.
This commit is contained in:
parent
5d1e7cf8c4
commit
794c0c47b5
@ -58,9 +58,6 @@ OptionsDialog::OptionsDialog(QWidget *parent)
|
|||||||
backgroundColor->setPalette(pal);
|
backgroundColor->setPalette(pal);
|
||||||
backgroundColor->setAutoFillBackground(true);
|
backgroundColor->setAutoFillBackground(true);
|
||||||
|
|
||||||
colorDialog = new QColorDialog(Qt::red, this);
|
|
||||||
connect(colorDialog, &QColorDialog::colorSelected, this, &OptionsDialog::updateColor);
|
|
||||||
|
|
||||||
QGroupBox *colorBox = new QGroupBox(tr("Background color"));
|
QGroupBox *colorBox = new QGroupBox(tr("Background color"));
|
||||||
// backgroundColor->setMinimumWidth(100);
|
// backgroundColor->setMinimumWidth(100);
|
||||||
colorSelection->addWidget(backgroundColor);
|
colorSelection->addWidget(backgroundColor);
|
||||||
@ -68,7 +65,7 @@ OptionsDialog::OptionsDialog(QWidget *parent)
|
|||||||
colorSelection->setStretchFactor(backgroundColor, 1);
|
colorSelection->setStretchFactor(backgroundColor, 1);
|
||||||
colorSelection->setStretchFactor(selectBackgroundColorButton, 0);
|
colorSelection->setStretchFactor(selectBackgroundColorButton, 0);
|
||||||
// colorSelection->addStretch();
|
// colorSelection->addStretch();
|
||||||
connect(selectBackgroundColorButton, &QAbstractButton::clicked, colorDialog, &QWidget::show);
|
connect(selectBackgroundColorButton, &QAbstractButton::clicked, this, &OptionsDialog::showColorDialog);
|
||||||
colorBox->setLayout(colorSelection);
|
colorBox->setLayout(colorSelection);
|
||||||
|
|
||||||
auto scrollBox = new QGroupBox(tr("Scroll behaviour"));
|
auto scrollBox = new QGroupBox(tr("Scroll behaviour"));
|
||||||
@ -219,6 +216,12 @@ void OptionsDialog::findFolder()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void OptionsDialog::showColorDialog()
|
||||||
|
{
|
||||||
|
auto color = QColorDialog::getColor(currentColor, this);
|
||||||
|
updateColor(color);
|
||||||
|
}
|
||||||
|
|
||||||
void OptionsDialog::saveOptions()
|
void OptionsDialog::saveOptions()
|
||||||
{
|
{
|
||||||
settings->setValue(GO_TO_FLOW_SIZE, QSize(static_cast<int>(slideSize->sliderPosition() / SLIDE_ASPECT_RATIO), slideSize->sliderPosition()));
|
settings->setValue(GO_TO_FLOW_SIZE, QSize(static_cast<int>(slideSize->sliderPosition() / SLIDE_ASPECT_RATIO), slideSize->sliderPosition()));
|
||||||
@ -232,7 +235,7 @@ void OptionsDialog::saveOptions()
|
|||||||
|
|
||||||
settings->setValue(PATH, pathEdit->text());
|
settings->setValue(PATH, pathEdit->text());
|
||||||
|
|
||||||
settings->setValue(BACKGROUND_COLOR, colorDialog->currentColor());
|
settings->setValue(BACKGROUND_COLOR, currentColor);
|
||||||
// settings->setValue(FIT_TO_WIDTH_RATIO,fitToWidthRatioS->sliderPosition()/100.0);
|
// settings->setValue(FIT_TO_WIDTH_RATIO,fitToWidthRatioS->sliderPosition()/100.0);
|
||||||
settings->setValue(QUICK_NAVI_MODE, quickNavi->isChecked());
|
settings->setValue(QUICK_NAVI_MODE, quickNavi->isChecked());
|
||||||
settings->setValue(DISABLE_MOUSE_OVER_GOTO_FLOW, disableShowOnMouseOver->isChecked());
|
settings->setValue(DISABLE_MOUSE_OVER_GOTO_FLOW, disableShowOnMouseOver->isChecked());
|
||||||
@ -288,7 +291,7 @@ void OptionsDialog::updateColor(const QColor &color)
|
|||||||
pal.setColor(backgroundColor->backgroundRole(), color);
|
pal.setColor(backgroundColor->backgroundRole(), color);
|
||||||
backgroundColor->setPalette(pal);
|
backgroundColor->setPalette(pal);
|
||||||
backgroundColor->setAutoFillBackground(true);
|
backgroundColor->setAutoFillBackground(true);
|
||||||
colorDialog->setCurrentColor(color);
|
currentColor = color;
|
||||||
|
|
||||||
settings->setValue(BACKGROUND_COLOR, color);
|
settings->setValue(BACKGROUND_COLOR, color);
|
||||||
|
|
||||||
|
@ -10,7 +10,6 @@ class QPushButton;
|
|||||||
class QSlider;
|
class QSlider;
|
||||||
class QPushButton;
|
class QPushButton;
|
||||||
class QRadioButton;
|
class QRadioButton;
|
||||||
class QColorDialog;
|
|
||||||
class YACReaderSpinSliderWidget;
|
class YACReaderSpinSliderWidget;
|
||||||
|
|
||||||
class OptionsDialog : public YACReaderOptionsDialog
|
class OptionsDialog : public YACReaderOptionsDialog
|
||||||
@ -44,18 +43,18 @@ private:
|
|||||||
QCheckBox *doNotTurnPageOnScroll;
|
QCheckBox *doNotTurnPageOnScroll;
|
||||||
QCheckBox *useSingleScrollStepToTurnPage;
|
QCheckBox *useSingleScrollStepToTurnPage;
|
||||||
|
|
||||||
QColorDialog *colorDialog;
|
|
||||||
|
|
||||||
YACReaderSpinSliderWidget *brightnessS;
|
YACReaderSpinSliderWidget *brightnessS;
|
||||||
|
|
||||||
YACReaderSpinSliderWidget *contrastS;
|
YACReaderSpinSliderWidget *contrastS;
|
||||||
|
|
||||||
YACReaderSpinSliderWidget *gammaS;
|
YACReaderSpinSliderWidget *gammaS;
|
||||||
|
|
||||||
|
QColor currentColor;
|
||||||
public slots:
|
public slots:
|
||||||
void saveOptions() override;
|
void saveOptions() override;
|
||||||
void restoreOptions(QSettings *settings) override;
|
void restoreOptions(QSettings *settings) override;
|
||||||
void findFolder();
|
void findFolder();
|
||||||
|
void showColorDialog();
|
||||||
void updateColor(const QColor &color);
|
void updateColor(const QColor &color);
|
||||||
// void fitToWidthRatio(int value);
|
// void fitToWidthRatio(int value);
|
||||||
void brightnessChanged(int value);
|
void brightnessChanged(int value);
|
||||||
|
Loading…
Reference in New Issue
Block a user