From 012e8384918dc73337b7ac988b68d0db1209112f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Fauconnier?= <fc86@outlook.fr> Date: Mon, 19 Feb 2018 13:20:09 +0100 Subject: [PATCH] added a 'reset background grid size' button in the background palette --- resources/OpenBoard.qrc | 1 + resources/forms/mainWindow.ui | 12 +++++++++++ .../resetDefaultGridSize.svg | 21 +++++++++++++++++++ src/core/UBSettings.cpp | 1 + src/core/UBSettings.h | 1 + src/gui/UBBackgroundPalette.cpp | 15 +++++++++++++ src/gui/UBBackgroundPalette.h | 2 ++ 7 files changed, 53 insertions(+) create mode 100644 resources/images/backgroundPalette/resetDefaultGridSize.svg diff --git a/resources/OpenBoard.qrc b/resources/OpenBoard.qrc index 4f7d7765..18c33750 100644 --- a/resources/OpenBoard.qrc +++ b/resources/OpenBoard.qrc @@ -359,5 +359,6 @@ <file>images/groupItems.svg</file> <file>images/ungroupItems.svg</file> <file>images/setAsBackground.svg</file> + <file>images/backgroundPalette/resetDefaultGridSize.svg</file> </qresource> </RCC> diff --git a/resources/forms/mainWindow.ui b/resources/forms/mainWindow.ui index d1c27a4b..c8002440 100644 --- a/resources/forms/mainWindow.ui +++ b/resources/forms/mainWindow.ui @@ -1647,6 +1647,18 @@ <string>Open the tutorial web page</string> </property> </action> + <action name="actionDefaultGridSize"> + <property name="icon"> + <iconset resource="../OpenBoard.qrc"> + <normaloff>:/images/backgroundPalette/resetDefaultGridSize.svg</normaloff>:/images/backgroundPalette/resetDefaultGridSize.svg</iconset> + </property> + <property name="text"> + <string>Default Grid Size</string> + </property> + <property name="toolTip"> + <string>return to Default Grid Size</string> + </property> + </action> </widget> <resources> <include location="../OpenBoard.qrc"/> diff --git a/resources/images/backgroundPalette/resetDefaultGridSize.svg b/resources/images/backgroundPalette/resetDefaultGridSize.svg new file mode 100644 index 00000000..5df55a0f --- /dev/null +++ b/resources/images/backgroundPalette/resetDefaultGridSize.svg @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="26.724px" height="22.304px" viewBox="2.233 3.234 26.724 22.304" enable-background="new 2.233 3.234 26.724 22.304" + xml:space="preserve"> +<g> + <path fill="#333333" stroke="#CECECD" stroke-miterlimit="3.8637" d="M20.228,3.732c4.545,0,8.229,3.687,8.229,8.232v4.838 + c0,4.547-3.686,8.231-8.229,8.231h-9.246c-4.547,0-8.231-3.687-8.231-8.231v-4.838c0-4.547,3.687-8.232,8.231-8.232H20.228z"/> + <path fill="#FFFFFF" d="M14.28,10.516c-1.023-0.006-2.032,0.475-2.663,1.376c-1.021,1.457-0.663,3.459,0.798,4.48 + c0.061,0.043,0.106,0.09,0.145,0.139l0.108-2.099c0.021-0.402,0.335-0.733,0.726-0.714c0.391,0.021,0.667,0.383,0.646,0.784 + l-0.148,2.812l-0.071,1.369l-1.367-0.072L9.64,18.446c-0.401-0.021-0.732-0.335-0.714-0.725c0.021-0.39,0.384-0.668,0.785-0.646 + l1.875,0.1c-1.822-1.416-2.241-4.021-0.899-5.938c0.863-1.234,2.253-1.886,3.61-1.869c0.183,0.002,0.358,0.023,0.537,0.049 + c0.376,0.05,0.524,0.371,0.488,0.64c-0.035,0.27-0.266,0.538-0.641,0.488c-0.158-0.021-0.317-0.031-0.479-0.028H14.28z + M16.999,17.831c1.022,0.006,2.032-0.475,2.663-1.375c1.021-1.458,0.662-3.459-0.797-4.482c-0.061-0.041-0.107-0.088-0.146-0.138 + l-0.107,2.099c-0.021,0.402-0.336,0.734-0.725,0.714c-0.392-0.02-0.668-0.383-0.646-0.784l0.148-2.812l0.071-1.369l1.367,0.072 + L21.64,9.9c0.399,0.021,0.731,0.335,0.713,0.726c-0.021,0.389-0.383,0.667-0.785,0.646l-1.875-0.1 + c1.822,1.416,2.24,4.021,0.899,5.937c-0.864,1.234-2.254,1.886-3.612,1.869c-0.182-0.002-0.357-0.022-0.537-0.048 + c-0.375-0.052-0.523-0.371-0.487-0.64c0.036-0.271,0.266-0.539,0.642-0.488c0.157,0.021,0.316,0.029,0.479,0.027h-0.077V17.831z"/> +</g> +</svg> diff --git a/src/core/UBSettings.cpp b/src/core/UBSettings.cpp index 131ae78c..d30855cc 100644 --- a/src/core/UBSettings.cpp +++ b/src/core/UBSettings.cpp @@ -47,6 +47,7 @@ QPointer<UBSettings> UBSettings::sSingleton = 0; int UBSettings::pointerDiameter = 40; int UBSettings::crossSize = 24; +int UBSettings::defaultCrossSize = 24; int UBSettings::minCrossSize = 12; int UBSettings::maxCrossSize = 96; //TODO: user-settable? int UBSettings::colorPaletteSize = 5; diff --git a/src/core/UBSettings.h b/src/core/UBSettings.h index 91d6dc25..28af670b 100644 --- a/src/core/UBSettings.h +++ b/src/core/UBSettings.h @@ -188,6 +188,7 @@ class UBSettings : public QObject // Background grid static int crossSize; + static int defaultCrossSize; static int minCrossSize; static int maxCrossSize; diff --git a/src/gui/UBBackgroundPalette.cpp b/src/gui/UBBackgroundPalette.cpp index 4cb6b3b1..92ce0bd8 100644 --- a/src/gui/UBBackgroundPalette.cpp +++ b/src/gui/UBBackgroundPalette.cpp @@ -1,5 +1,7 @@ #include "UBBackgroundPalette.h" +#include "gui/UBMainWindow.h" + UBBackgroundPalette::UBBackgroundPalette(QList<QAction*> actions, QWidget * parent) : UBActionPalette(parent) { @@ -47,9 +49,16 @@ void UBBackgroundPalette::init() mSliderLabel = new QLabel(tr("Grid size")); + mResetDefaultGridSizeButton = createPaletteButton(UBApplication::mainWindow->actionDefaultGridSize, this); + mResetDefaultGridSizeButton->setFixedSize(24,24); + mActions << UBApplication::mainWindow->actionDefaultGridSize; + + connect(UBApplication::mainWindow->actionDefaultGridSize, SIGNAL(triggered()), this, SLOT(defaultBackgroundGridSize())); + mBottomLayout->addSpacing(16); mBottomLayout->addWidget(mSliderLabel); mBottomLayout->addWidget(mSlider); + mBottomLayout->addWidget(mResetDefaultGridSizeButton); mBottomLayout->addSpacing(16); updateLayout(); @@ -137,6 +146,12 @@ void UBBackgroundPalette::sliderValueChanged(int value) UBSettings::settings()->crossSize = value; // since this function is called (indirectly, by refresh) when we switch scenes, the settings will always have the current scene's cross size. } +void UBBackgroundPalette::defaultBackgroundGridSize() +{ + mSlider->setValue(UBSettings::settings()->defaultCrossSize); + sliderValueChanged(UBSettings::settings()->defaultCrossSize); +} + void UBBackgroundPalette::backgroundChanged() { bool dark = UBApplication::boardController->activeScene()->isDarkBackground(); diff --git a/src/gui/UBBackgroundPalette.h b/src/gui/UBBackgroundPalette.h index c9f6ffe1..83472d47 100644 --- a/src/gui/UBBackgroundPalette.h +++ b/src/gui/UBBackgroundPalette.h @@ -27,6 +27,7 @@ class UBBackgroundPalette : public UBActionPalette protected slots: void sliderValueChanged(int value); + void defaultBackgroundGridSize(); protected: virtual void updateLayout(); @@ -39,6 +40,7 @@ class UBBackgroundPalette : public UBActionPalette QSlider* mSlider; QLabel* mSliderLabel; + UBActionPaletteButton* mResetDefaultGridSizeButton; }; -- 2.18.1