diff --git a/app/src/onionskinwidget.cpp b/app/src/onionskinwidget.cpp
index f4872aa3d3..8b7b8cac1c 100644
--- a/app/src/onionskinwidget.cpp
+++ b/app/src/onionskinwidget.cpp
@@ -57,9 +57,23 @@ void OnionSkinWidget::initUI()
ui->opacityGroup->setLayout(opacityLayout);
#ifdef __APPLE__
+
+ ui->scrollAreaWidgetContents->layout()->setSpacing(8);
+
// Mac only style. ToolButtons are naturally borderless on Win/Linux.
QString stylesheet =
"QToolButton { border: 0px; } "
+ "QGroupBox::title {"
+ "subcontrol-origin: padding;"
+ "left: 6px;"
+ "padding: 2px 2px 0px 0px;"
+ "background: transparent;"
+ "}"
+ "QGroupBox {"
+ "subcontrol-origin: margin;"
+ "margin-top: 8px;"
+ "padding-top: 16px;"
+ "}"
"QToolButton:pressed{ border: 1px solid #FFADAD; border-radius: 2px; background-color: #D5D5D5; }"
"QToolButton:checked{ border: 1px solid #ADADAD; border-radius: 2px; background-color: #D5D5D5; }";
setStyleSheet(this->styleSheet().append(stylesheet));
@@ -74,8 +88,8 @@ void OnionSkinWidget::makeConnections()
connect(ui->onionPrevFramesNumBox, spinBoxChanged, this, &OnionSkinWidget::onionPrevFramesNumChange);
connect(ui->onionNextFramesNumBox, spinBoxChanged, this, &OnionSkinWidget::onionNextFramesNumChange);
- connect(ui->onionPrevButton, &QToolButton::clicked, this, &OnionSkinWidget::onionPrevButtonClicked);
- connect(ui->onionNextButton, &QToolButton::clicked, this, &OnionSkinWidget::onionNextButtonClicked);
+ connect(ui->prevFramesGroup, &QGroupBox::clicked, this, &OnionSkinWidget::prevFramesGroupClicked);
+ connect(ui->nextFramesGroup, &QGroupBox::clicked, this, &OnionSkinWidget::nextFramesGroupClicked);
connect(ui->onionBlueButton, &QToolButton::clicked, this, &OnionSkinWidget::onionBlueButtonClicked);
connect(ui->onionRedButton, &QToolButton::clicked, this, &OnionSkinWidget::onionRedButtonClicked);
@@ -91,18 +105,12 @@ void OnionSkinWidget::updateUI()
{
PreferenceManager* prefs = editor()->preference();
- QSignalBlocker b1(ui->onionPrevButton);
- ui->onionPrevButton->setChecked(prefs->isOn(SETTING::PREV_ONION));
-
- QSignalBlocker b2(ui->onionNextButton);
- ui->onionNextButton->setChecked(prefs->isOn(SETTING::NEXT_ONION));
+ ui->prevFramesGroup->setChecked(prefs->isOn(SETTING::PREV_ONION));
+ ui->nextFramesGroup->setChecked(prefs->isOn(SETTING::NEXT_ONION));
QSignalBlocker b3(ui->onionBlueButton);
ui->onionBlueButton->setChecked(prefs->isOn(SETTING::ONION_BLUE));
- ui->onionRedButton->setEnabled(ui->onionPrevButton->isChecked());
- ui->onionBlueButton->setEnabled(ui->onionNextButton->isChecked());
-
QSignalBlocker b4(ui->onionRedButton);
ui->onionRedButton->setChecked(prefs->isOn(SETTING::ONION_RED));
@@ -119,13 +127,13 @@ void OnionSkinWidget::updateUI()
}
-void OnionSkinWidget::onionPrevButtonClicked(bool isOn)
+void OnionSkinWidget::prevFramesGroupClicked(bool isOn)
{
PreferenceManager* prefs = editor()->preference();
prefs->set(SETTING::PREV_ONION, isOn);
}
-void OnionSkinWidget::onionNextButtonClicked(bool isOn)
+void OnionSkinWidget::nextFramesGroupClicked(bool isOn)
{
PreferenceManager* prefs = editor()->preference();
prefs->set(SETTING::NEXT_ONION, isOn);
diff --git a/app/src/onionskinwidget.h b/app/src/onionskinwidget.h
index 0bfcf64ef7..711f249702 100644
--- a/app/src/onionskinwidget.h
+++ b/app/src/onionskinwidget.h
@@ -41,8 +41,8 @@ class OnionSkinWidget : public BaseDockWidget
private slots:
void playbackStateChanged(int);
- void onionPrevButtonClicked(bool);
- void onionNextButtonClicked(bool);
+ void prevFramesGroupClicked(bool);
+ void nextFramesGroupClicked(bool);
void onionBlueButtonClicked(bool);
void onionRedButtonClicked(bool);
void onionMaxOpacityChange(int);
diff --git a/app/ui/onionskin.ui b/app/ui/onionskin.ui
index bc9b8967c7..9623c2cd59 100644
--- a/app/ui/onionskin.ui
+++ b/app/ui/onionskin.ui
@@ -104,6 +104,9 @@
Previous Frames
+
+ true
+
QLayout::SetDefaultConstraint
@@ -120,38 +123,6 @@
6
- -
-
-
- Onion skin previous frame
-
-
- Onion skin previous frame
-
-
- false
-
-
- ...
-
-
-
- :/app/icons/onionPrev.png:/app/icons/onionPrev.png
-
-
-
- 24
- 24
-
-
-
- true
-
-
- true
-
-
-
-
@@ -214,6 +185,9 @@
Next Frames
+
+ true
+
QLayout::SetDefaultConstraint
@@ -230,35 +204,6 @@
6
-
-
-
-
- Onion skin next frame
-
-
- Onion skin next frame
-
-
- ...
-
-
-
- :/app/icons/onionNext.png:/app/icons/onionNext.png
-
-
-
- 24
- 24
-
-
-
- true
-
-
- true
-
-
-
-