17 #include "displayoptionwidget.h"
18 #include "ui_displayoption.h"
20 #include <QToolButton>
21 #include <QGridLayout>
23 #include "preferencemanager.h"
24 #include "viewmanager.h"
25 #include "layermanager.h"
26 #include "scribblearea.h"
29 #include "flowlayout.h"
32 DisplayOptionWidget::DisplayOptionWidget(
QWidget *parent) :
34 ui(new Ui::DisplayOption)
39 DisplayOptionWidget::~DisplayOptionWidget()
44 void DisplayOptionWidget::initUI()
55 layout->
addWidget(ui->overlayCenterButton);
56 layout->
addWidget(ui->overlayThirdsButton);
57 layout->
addWidget(ui->overlayGoldenRatioButton);
58 layout->
addWidget(ui->overlaySafeAreaButton);
60 delete ui->scrollAreaWidgetContents->layout();
61 ui->scrollAreaWidgetContents->setLayout(layout);
66 "QToolButton { border: 0px; } "
67 "QToolButton:pressed{ border: 1px solid #FFADAD; border-radius: 2px; background-color: #D5D5D5; }"
68 "QToolButton:checked{ border: 1px solid #ADADAD; border-radius: 2px; background-color: #D5D5D5; }";
70 ui->mirrorButton->setStyleSheet(stylesheet);
71 ui->mirrorVButton->setStyleSheet(stylesheet);
72 ui->thinLinesButton->setStyleSheet(stylesheet);
73 ui->outLinesButton->setStyleSheet(stylesheet);
74 ui->overlayCenterButton->setStyleSheet(stylesheet);
75 ui->overlayThirdsButton->setStyleSheet(stylesheet);
76 ui->overlayGoldenRatioButton->setStyleSheet(stylesheet);
77 ui->overlaySafeAreaButton->setStyleSheet(stylesheet);
81 void DisplayOptionWidget::makeConnections()
95 connect(prefs, &PreferenceManager::optionChanged,
this, &DisplayOptionWidget::updateUI);
98 connect(view, &ViewManager::viewFlipped,
this, &DisplayOptionWidget::updateUI);
101 void DisplayOptionWidget::updateUI()
105 bool canEnableVectorButtons = editor()->layers()->currentLayer()->type() == Layer::VECTOR;
106 ui->thinLinesButton->setEnabled(canEnableVectorButtons);
107 ui->outLinesButton->setEnabled(canEnableVectorButtons);
110 ui->thinLinesButton->setChecked(prefs->isOn(SETTING::INVISIBLE_LINES));
113 ui->outLinesButton->setChecked(prefs->isOn(SETTING::OUTLINES));
116 ui->overlayCenterButton->setChecked(prefs->isOn(SETTING::OVERLAY_CENTER));
119 ui->overlayThirdsButton->setChecked(prefs->isOn(SETTING::OVERLAY_THIRDS));
122 ui->overlayGoldenRatioButton->setChecked(prefs->isOn(SETTING::OVERLAY_GOLDEN));
125 ui->overlaySafeAreaButton->setChecked(prefs->isOn(SETTING::OVERLAY_SAFE));
127 bool enableSafeArea = (prefs->isOn(SETTING::ACTION_SAFE_ON) || prefs->isOn(SETTING::TITLE_SAFE_ON));
128 ui->overlaySafeAreaButton->setEnabled(enableSafeArea);
133 ui->mirrorButton->setChecked(view->isFlipHorizontal());
136 ui->mirrorVButton->setChecked(view->isFlipVertical());
139 int DisplayOptionWidget::getMinHeightForWidth(
int width)
141 return ui->innerWidget->layout()->heightForWidth(width);
144 void DisplayOptionWidget::toggleMirror(
bool isOn)
146 editor()->view()->flipHorizontal(isOn);
149 void DisplayOptionWidget::toggleMirrorV(
bool isOn)
151 editor()->view()->flipVertical(isOn);
154 void DisplayOptionWidget::toggleOverlayCenter(
bool isOn)
156 editor()->view()->setOverlayCenter(isOn);
157 editor()->preference()->set(SETTING::OVERLAY_CENTER, isOn);
160 void DisplayOptionWidget::toggleOverlayThirds(
bool isOn)
162 editor()->view()->setOverlayThirds(isOn);
163 editor()->preference()->set(SETTING::OVERLAY_THIRDS, isOn);
166 void DisplayOptionWidget::toggleOverlayGoldenRatio(
bool isOn)
168 editor()->view()->setOverlayGoldenRatio(isOn);
169 editor()->preference()->set(SETTING::OVERLAY_GOLDEN, isOn);
172 void DisplayOptionWidget::toggleOverlaySafeAreas(
bool isOn)
174 editor()->view()->setOverlaySafeAreas(isOn);
175 editor()->preference()->set(SETTING::OVERLAY_SAFE, isOn);
bool setAlignment(QWidget *w, Qt::Alignment alignment)
QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)