diff --git a/resources/etc/OpenBoard.config b/resources/etc/OpenBoard.config
index ffc35de9b..f17da3e54 100644
--- a/resources/etc/OpenBoard.config
+++ b/resources/etc/OpenBoard.config
@@ -51,6 +51,12 @@ MarkerLightBackgroundSelectedColors=#E3FF00, #FF0000, #004080, #008000, #C87400
MarkerMediumWidth=24
MarkerPressureSensitive=false
MarkerStrongWidth=48
+DesktopPaletteScalePercent=100
+DesktopPaletteShowPen=true
+DesktopPaletteShowEraser=true
+DesktopPaletteShowMarker=true
+DesktopPaletteShowSelector=true
+DesktopPaletteShowPointer=true
pageDpi=0
PenColorIndex=0
PenDarkBackgroundColors=#FFFFFF, #FF3400, #66C0FF, #81FF5C, #FFFF00, #B68360, #FF497E, #8D69FF, #000000
diff --git a/resources/forms/preferences.ui b/resources/forms/preferences.ui
index 4ec35bd9f..6fa6ad8d7 100644
--- a/resources/forms/preferences.ui
+++ b/resources/forms/preferences.ui
@@ -94,20 +94,20 @@
0
0
1018
- 1200
+ 1300
783
- 1200
+ 1300
0
- 920
+ 1020
1011
111
@@ -234,7 +234,7 @@
0
- 1040
+ 1140
1011
111
@@ -485,7 +485,7 @@
0
840
1011
- 111
+ 211
@@ -498,7 +498,7 @@
Mode
- -
+
-
-
@@ -564,6 +564,42 @@
+ -
+
+
+ Drawing palette scale:
+
+
+
+ -
+
+
- 100%
+ - 110%
+ - 120%
+ - 130%
+ - 140%
+ - 150%
+ - 160%
+ - 170%
+ - 180%
+ - 190%
+ - 200%
+
+
+ -
+
+
-
+
+ Visible palette tools:
+
+
+ - Pen
+ - Marker
+ - Eraser
+ - Selector
+ - Laser pointer
+
+
-
diff --git a/src/core/UBPreferencesController.cpp b/src/core/UBPreferencesController.cpp
index 76c5fa479..7a94aead4 100644
--- a/src/core/UBPreferencesController.cpp
+++ b/src/core/UBPreferencesController.cpp
@@ -316,6 +316,21 @@ void UBPreferencesController::wire()
settings->appThemeMode->setInt(index);
UBThemeManager::instance()->applyUserThemePreference();
});
+ connect(mPreferencesUI->desktopPaletteScaleComboBox,
+ qOverload(&QComboBox::currentIndexChanged), this,
+ [settings](int index) {
+ settings->desktopPaletteScalePercent->setInt(100 + index * 10);
+ });
+ connect(mPreferencesUI->desktopShowPenCheckBox, SIGNAL(clicked(bool)),
+ settings->desktopPaletteShowPen, SLOT(setBool(bool)));
+ connect(mPreferencesUI->desktopShowMarkerCheckBox, SIGNAL(clicked(bool)),
+ settings->desktopPaletteShowMarker, SLOT(setBool(bool)));
+ connect(mPreferencesUI->desktopShowEraserCheckBox, SIGNAL(clicked(bool)),
+ settings->desktopPaletteShowEraser, SLOT(setBool(bool)));
+ connect(mPreferencesUI->desktopShowSelectorCheckBox, SIGNAL(clicked(bool)),
+ settings->desktopPaletteShowSelector, SLOT(setBool(bool)));
+ connect(mPreferencesUI->desktopShowPointerCheckBox, SIGNAL(clicked(bool)),
+ settings->desktopPaletteShowPointer, SLOT(setBool(bool)));
connect(mPreferencesUI->useExternalBrowserCheckBox, SIGNAL(clicked(bool)), settings->webUseExternalBrowser, SLOT(setBool(bool)));
connect(mPreferencesUI->displayBrowserPageCheckBox, SIGNAL(clicked(bool)), settings->webShowPageImmediatelyOnMirroredScreen, SLOT(setBool(bool)));
@@ -472,6 +487,13 @@ void UBPreferencesController::init()
mPreferencesUI->startModeComboBox->setCurrentIndex(settings->appStartMode->get().toInt());
mPreferencesUI->themeComboBox->setCurrentIndex(settings->appThemeMode->get().toInt());
+ const int desktopScale = qBound(100, settings->desktopPaletteScalePercent->get().toInt(), 200);
+ mPreferencesUI->desktopPaletteScaleComboBox->setCurrentIndex((desktopScale - 100) / 10);
+ mPreferencesUI->desktopShowPenCheckBox->setChecked(settings->desktopPaletteShowPen->get().toBool());
+ mPreferencesUI->desktopShowMarkerCheckBox->setChecked(settings->desktopPaletteShowMarker->get().toBool());
+ mPreferencesUI->desktopShowEraserCheckBox->setChecked(settings->desktopPaletteShowEraser->get().toBool());
+ mPreferencesUI->desktopShowSelectorCheckBox->setChecked(settings->desktopPaletteShowSelector->get().toBool());
+ mPreferencesUI->desktopShowPointerCheckBox->setChecked(settings->desktopPaletteShowPointer->get().toBool());
mPreferencesUI->useExternalBrowserCheckBox->setChecked(settings->webUseExternalBrowser->get().toBool());
mPreferencesUI->displayBrowserPageCheckBox->setChecked(settings->webShowPageImmediatelyOnMirroredScreen->get().toBool());
@@ -546,6 +568,13 @@ void UBPreferencesController::defaultSettings()
mPreferencesUI->verticalChoice->setChecked(settings->appToolBarOrientationVertical->reset().toBool());
mPreferencesUI->horizontalChoice->setChecked(!settings->appToolBarOrientationVertical->reset().toBool());
mPreferencesUI->startModeComboBox->setCurrentIndex(0);
+ mPreferencesUI->desktopPaletteScaleComboBox->setCurrentIndex(
+ (settings->desktopPaletteScalePercent->reset().toInt() - 100) / 10);
+ mPreferencesUI->desktopShowPenCheckBox->setChecked(settings->desktopPaletteShowPen->reset().toBool());
+ mPreferencesUI->desktopShowMarkerCheckBox->setChecked(settings->desktopPaletteShowMarker->reset().toBool());
+ mPreferencesUI->desktopShowEraserCheckBox->setChecked(settings->desktopPaletteShowEraser->reset().toBool());
+ mPreferencesUI->desktopShowSelectorCheckBox->setChecked(settings->desktopPaletteShowSelector->reset().toBool());
+ mPreferencesUI->desktopShowPointerCheckBox->setChecked(settings->desktopPaletteShowPointer->reset().toBool());
mPreferencesUI->useSystemOSKCheckBox->setChecked(settings->useSystemOnScreenKeyboard->reset().toBool());
diff --git a/src/core/UBSettings.cpp b/src/core/UBSettings.cpp
index 0d6cd120c..a49b51eec 100644
--- a/src/core/UBSettings.cpp
+++ b/src/core/UBSettings.cpp
@@ -315,6 +315,13 @@ void UBSettings::init()
boardUseHighResTabletEvent = new UBSetting(this, "Board", "UseHighResTabletEvent", true);
+ desktopPaletteScalePercent = new UBSetting(this, "Board", "DesktopPaletteScalePercent", 100);
+ desktopPaletteShowPen = new UBSetting(this, "Board", "DesktopPaletteShowPen", true);
+ desktopPaletteShowEraser = new UBSetting(this, "Board", "DesktopPaletteShowEraser", true);
+ desktopPaletteShowMarker = new UBSetting(this, "Board", "DesktopPaletteShowMarker", true);
+ desktopPaletteShowSelector = new UBSetting(this, "Board", "DesktopPaletteShowSelector", true);
+ desktopPaletteShowPointer = new UBSetting(this, "Board", "DesktopPaletteShowPointer", true);
+
boardInterpolatePenStrokes = new UBSetting(this, "Board", "InterpolatePenStrokes", true);
boardSimplifyPenStrokes = new UBSetting(this, "Board", "SimplifyPenStrokes", true);
boardSimplifyPenStrokesThresholdAngle = new UBSetting(this, "Board", "SimplifyPenStrokesThresholdAngle", 2);
diff --git a/src/core/UBSettings.h b/src/core/UBSettings.h
index f87e8e7cf..b6e06c8b1 100644
--- a/src/core/UBSettings.h
+++ b/src/core/UBSettings.h
@@ -300,6 +300,13 @@ class UBSettings : public QObject
UBSetting* boardUseHighResTabletEvent;
+ UBSetting* desktopPaletteScalePercent;
+ UBSetting* desktopPaletteShowPen;
+ UBSetting* desktopPaletteShowEraser;
+ UBSetting* desktopPaletteShowMarker;
+ UBSetting* desktopPaletteShowSelector;
+ UBSetting* desktopPaletteShowPointer;
+
UBSetting* boardInterpolatePenStrokes;
UBSetting* boardSimplifyPenStrokes;
UBSetting* boardSimplifyPenStrokesThresholdAngle;
diff --git a/src/desktop/UBDesktopAnnotationController.cpp b/src/desktop/UBDesktopAnnotationController.cpp
index 14948b3a7..3d6d75e3c 100644
--- a/src/desktop/UBDesktopAnnotationController.cpp
+++ b/src/desktop/UBDesktopAnnotationController.cpp
@@ -570,15 +570,7 @@ void UBDesktopAnnotationController::penActionPressed()
mPenHoldTimer = QTime::currentTime();
mPendingPenButtonPressed = true;
- // Check if the mouse cursor is on the little arrow
- QPoint cursorPos = QCursor::pos();
- QPoint palettePos = mDesktopPalette->mapToGlobal(QPoint(0, 0)); // global coordinates of palette
- QPoint buttonPos = mDesktopPalette->buttonPos(UBApplication::mainWindow->actionPen);
-
- int iX = cursorPos.x() - (palettePos.x() + buttonPos.x()); // x position of the cursor in the palette
- int iY = cursorPos.y() - (palettePos.y() + buttonPos.y()); // y position of the cursor in the palette
-
- if(iX >= 30 && iX <= 44 && iY >= 30 && iY <= 44)
+ if (isSubtoolArrowPressed(UBApplication::mainWindow->actionPen))
{
mbArrowClicked = true;
penActionReleased();
@@ -624,15 +616,7 @@ void UBDesktopAnnotationController::eraserActionPressed()
mEraserHoldTimer = QTime::currentTime();
mPendingEraserButtonPressed = true;
- // Check if the mouse cursor is on the little arrow
- QPoint cursorPos = QCursor::pos();
- QPoint palettePos = mDesktopPalette->mapToGlobal(QPoint(0, 0));
- QPoint buttonPos = mDesktopPalette->buttonPos(UBApplication::mainWindow->actionEraser);
-
- int iX = cursorPos.x() - (palettePos.x() + buttonPos.x()); // x position of the cursor in the palette
- int iY = cursorPos.y() - (palettePos.y() + buttonPos.y()); // y position of the cursor in the palette
-
- if(iX >= 30 && iX <= 44 && iY >= 30 && iY <= 44)
+ if (isSubtoolArrowPressed(UBApplication::mainWindow->actionEraser))
{
mbArrowClicked = true;
eraserActionReleased();
@@ -679,15 +663,7 @@ void UBDesktopAnnotationController::markerActionPressed()
mMarkerHoldTimer = QTime::currentTime();
mPendingMarkerButtonPressed = true;
- // Check if the mouse cursor is on the little arrow
- QPoint cursorPos = QCursor::pos();
- QPoint palettePos = mDesktopPalette->mapToGlobal(QPoint(0, 0));
- QPoint buttonPos = mDesktopPalette->buttonPos(UBApplication::mainWindow->actionMarker);
-
- int iX = cursorPos.x() - (palettePos.x() + buttonPos.x()); // x position of the cursor in the palette
- int iY = cursorPos.y() - (palettePos.y() + buttonPos.y()); // y position of the cursor in the palette
-
- if(iX >= 30 && iX <= 44 && iY >= 30 && iY <= 44)
+ if (isSubtoolArrowPressed(UBApplication::mainWindow->actionMarker))
{
mbArrowClicked = true;
markerActionReleased();
@@ -777,6 +753,21 @@ void UBDesktopAnnotationController::switchCursor(const int tool)
mTransparentDrawingView->setToolCursor(tool);
}
+bool UBDesktopAnnotationController::isSubtoolArrowPressed(QAction* action) const
+{
+ UBActionPaletteButton* button = mDesktopPalette->getButtonFromAction(action);
+
+ if (!button)
+ return false;
+
+ const QPoint localPosition = button->mapFromGlobal(QCursor::pos());
+ const int arrowExtent = qMax(14, qRound(qMin(button->width(), button->height()) * 0.36));
+ const QRect arrowRegion(button->width() - arrowExtent,
+ button->height() - arrowExtent,
+ arrowExtent, arrowExtent);
+ return arrowRegion.contains(localPosition);
+}
+
/**
* \brief Reconnect the pressed & released signals of the property palettes
*/
diff --git a/src/desktop/UBDesktopAnnotationController.h b/src/desktop/UBDesktopAnnotationController.h
index b217a663a..3510b4a56 100644
--- a/src/desktop/UBDesktopAnnotationController.h
+++ b/src/desktop/UBDesktopAnnotationController.h
@@ -133,6 +133,7 @@ class UBDesktopAnnotationController : public QObject
void togglePropertyPalette(UBActionPalette* palette);
void updateMask(bool bTransparent);
static QPixmap clipboardScreenshot();
+ bool isSubtoolArrowPressed(QAction* action) const;
UBDesktopPalette *mDesktopPalette;
//UBKeyboardPalette *mKeyboardPalette;
diff --git a/src/desktop/UBDesktopPalette.cpp b/src/desktop/UBDesktopPalette.cpp
index 9e28a6442..b0d48276d 100644
--- a/src/desktop/UBDesktopPalette.cpp
+++ b/src/desktop/UBDesktopPalette.cpp
@@ -50,29 +50,14 @@ UBDesktopPalette::UBDesktopPalette(QWidget *parent, UBRightPalette* _rightPalett
, mDisplaySelectAction(NULL)
, rightPalette(_rightPalette)
{
- QList actions;
-
mActionUniboard = new QAction(QIcon(":/images/toolbar/board.png"), tr("Show OpenBoard"), this);
connect(mActionUniboard, SIGNAL(triggered()), this, SIGNAL(uniboardClick()));
- actions << mActionUniboard;
-
-
- actions << UBApplication::mainWindow->actionPen;
- actions << UBApplication::mainWindow->actionEraser;
- actions << UBApplication::mainWindow->actionMarker;
- actions << UBApplication::mainWindow->actionSelector;
- actions << UBApplication::mainWindow->actionPointer;
-
- if (UBPlatformUtils::hasVirtualKeyboard())
- actions << UBApplication::mainWindow->actionVirtualKeyboard;
mActionCustomSelect = new QAction(QIcon(":/images/toolbar/captureArea.png"), tr("Capture Part of the Screen"), this);
connect(mActionCustomSelect, SIGNAL(triggered()), this, SIGNAL(customClick()));
- actions << mActionCustomSelect;
mDisplaySelectAction = new QAction(QIcon(":/images/toolbar/captureScreen.png"), tr("Capture the Screen"), this);
connect(mDisplaySelectAction, SIGNAL(triggered()), this, SIGNAL(screenClick()));
- actions << mDisplaySelectAction;
QIcon showHideIcon;
showHideIcon.addPixmap(QPixmap(":/images/toolbar/eyeOpened.png"), QIcon::Normal , QIcon::On);
@@ -81,10 +66,9 @@ UBDesktopPalette::UBDesktopPalette(QWidget *parent, UBRightPalette* _rightPalett
mShowHideAction->setCheckable(true);
connect(mShowHideAction, SIGNAL(triggered(bool)), this, SLOT(showHideClick(bool)));
- actions << mShowHideAction;
- setActions(actions);
- setButtonIconSize(QSize(42, 42));
+ setActions(maximizedActions());
+ applyScale();
adjustSizeAndPosition();
@@ -98,6 +82,20 @@ UBDesktopPalette::UBDesktopPalette(QWidget *parent, UBRightPalette* _rightPalett
setMinimizePermission(true);
connect(rightPalette, SIGNAL(resized()), this, SLOT(parentResized()));
+
+ UBSettings* settings = UBSettings::settings();
+ connect(settings->desktopPaletteScalePercent, SIGNAL(changed(QVariant)),
+ this, SLOT(desktopPaletteSettingsChanged(QVariant)));
+ connect(settings->desktopPaletteShowPen, SIGNAL(changed(QVariant)),
+ this, SLOT(desktopPaletteSettingsChanged(QVariant)));
+ connect(settings->desktopPaletteShowEraser, SIGNAL(changed(QVariant)),
+ this, SLOT(desktopPaletteSettingsChanged(QVariant)));
+ connect(settings->desktopPaletteShowMarker, SIGNAL(changed(QVariant)),
+ this, SLOT(desktopPaletteSettingsChanged(QVariant)));
+ connect(settings->desktopPaletteShowSelector, SIGNAL(changed(QVariant)),
+ this, SLOT(desktopPaletteSettingsChanged(QVariant)));
+ connect(settings->desktopPaletteShowPointer, SIGNAL(changed(QVariant)),
+ this, SLOT(desktopPaletteSettingsChanged(QVariant)));
}
@@ -165,6 +163,7 @@ void UBDesktopPalette::minimizeMe(eMinimizedLocation location)
{
Q_UNUSED(location);
QList actions;
+ mIsMinimized = true;
clearLayout();
actions << mMaximizeAction;
@@ -180,30 +179,70 @@ void UBDesktopPalette::minimizeMe(eMinimizedLocation location)
// Called when the user wants to maximize the palette
void UBDesktopPalette::maximizeMe()
{
- QList actions;
+ mIsMinimized = false;
clearLayout();
+ setActions(maximizedActions());
+
+ adjustSizeAndPosition();
+
+ // Notify that the maximization has been done
+ emit maximized();
+#ifdef UB_REQUIRES_MASK_UPDATE
+ emit refreshMask();
+#endif
+}
+
+QList UBDesktopPalette::maximizedActions() const
+{
+ UBSettings* settings = UBSettings::settings();
+ QList actions;
+
actions << mActionUniboard;
- actions << UBApplication::mainWindow->actionPen;
- actions << UBApplication::mainWindow->actionEraser;
- actions << UBApplication::mainWindow->actionMarker;
- actions << UBApplication::mainWindow->actionSelector;
- actions << UBApplication::mainWindow->actionPointer;
+ if (settings->desktopPaletteShowPen->get().toBool())
+ actions << UBApplication::mainWindow->actionPen;
+ if (settings->desktopPaletteShowEraser->get().toBool())
+ actions << UBApplication::mainWindow->actionEraser;
+ if (settings->desktopPaletteShowMarker->get().toBool())
+ actions << UBApplication::mainWindow->actionMarker;
+ if (settings->desktopPaletteShowSelector->get().toBool())
+ actions << UBApplication::mainWindow->actionSelector;
+ if (settings->desktopPaletteShowPointer->get().toBool())
+ actions << UBApplication::mainWindow->actionPointer;
+
if (UBPlatformUtils::hasVirtualKeyboard())
actions << UBApplication::mainWindow->actionVirtualKeyboard;
actions << mActionCustomSelect;
actions << mDisplaySelectAction;
actions << mShowHideAction;
+ return actions;
+}
- setActions(actions);
+void UBDesktopPalette::applyScale()
+{
+ const int percent = qBound(100,
+ UBSettings::settings()->desktopPaletteScalePercent->get().toInt(), 200);
+ const int iconExtent = qRound(42.0 * percent / 100.0);
+ setButtonIconSize(QSize(iconExtent, iconExtent));
+}
+
+void UBDesktopPalette::desktopPaletteSettingsChanged(QVariant value)
+{
+ Q_UNUSED(value);
+ applyScale();
+
+ if (!mIsMinimized)
+ {
+ clearLayout();
+ setActions(maximizedActions());
+ emit maximized();
+ }
adjustSizeAndPosition();
- // Notify that the maximization has been done
- emit maximized();
#ifdef UB_REQUIRES_MASK_UPDATE
- emit refreshMask();
+ emit refreshMask();
#endif
}
diff --git a/src/desktop/UBDesktopPalette.h b/src/desktop/UBDesktopPalette.h
index 25a2b031c..7914534f4 100644
--- a/src/desktop/UBDesktopPalette.h
+++ b/src/desktop/UBDesktopPalette.h
@@ -69,6 +69,7 @@ class UBDesktopPalette : public UBActionPalette
void minimizeMe(eMinimizedLocation location);
void maximizeMe();
void parentResized();
+ void desktopPaletteSettingsChanged(QVariant value = QVariant());
protected:
void showEvent(QShowEvent *event);
@@ -83,10 +84,13 @@ class UBDesktopPalette : public UBActionPalette
QAction *mActionUniboard;
QAction *mActionCustomSelect;
QAction* mActionTest;
+ bool mIsMinimized{false};
UBRightPalette* rightPalette;
void adjustPosition();
+ QList maximizedActions() const;
+ void applyScale();
signals:
diff --git a/src/gui/UBActionPalette.cpp b/src/gui/UBActionPalette.cpp
index 66d241a09..64af42288 100644
--- a/src/gui/UBActionPalette.cpp
+++ b/src/gui/UBActionPalette.cpp
@@ -109,7 +109,8 @@ UBActionPaletteButton* UBActionPalette::createPaletteButton(QAction* action, QWi
connect(button, &UBActionPaletteButton::clicked,
this, &UBActionPalette::buttonClicked);
connect(action, &QAction::changed,
- this, &UBActionPalette::actionChanged);
+ this, &UBActionPalette::actionChanged,
+ Qt::UniqueConnection);
return button;
}
diff --git a/src/gui/UBStylusPalette.cpp b/src/gui/UBStylusPalette.cpp
index 0e8b5b7e3..d3aa534e2 100644
--- a/src/gui/UBStylusPalette.cpp
+++ b/src/gui/UBStylusPalette.cpp
@@ -76,13 +76,39 @@ UBStylusPalette::UBStylusPalette(QWidget *parent, Qt::Orientation orient)
UBApplication::mainWindow->actionSnap->setProperty("ungrouped", true);
setActions(actions);
- setButtonIconSize(QSize(42, 42));
groupActions();
UBShortcutManager::shortcutManager()->addActionGroup(mActionGroup);
- adjustSizeAndPosition();
+ UBSettings* settings = UBSettings::settings();
+ connect(settings->desktopPaletteScalePercent, SIGNAL(changed(QVariant)),
+ this, SLOT(paletteSettingsChanged(QVariant)));
+ connect(settings->desktopPaletteShowPen, SIGNAL(changed(QVariant)),
+ this, SLOT(paletteSettingsChanged(QVariant)));
+ connect(settings->desktopPaletteShowEraser, SIGNAL(changed(QVariant)),
+ this, SLOT(paletteSettingsChanged(QVariant)));
+ connect(settings->desktopPaletteShowMarker, SIGNAL(changed(QVariant)),
+ this, SLOT(paletteSettingsChanged(QVariant)));
+ connect(settings->desktopPaletteShowSelector, SIGNAL(changed(QVariant)),
+ this, SLOT(paletteSettingsChanged(QVariant)));
+ connect(settings->desktopPaletteShowPointer, SIGNAL(changed(QVariant)),
+ this, SLOT(paletteSettingsChanged(QVariant)));
+
+ const QList configurableActions = {
+ UBApplication::mainWindow->actionPen,
+ UBApplication::mainWindow->actionEraser,
+ UBApplication::mainWindow->actionMarker,
+ UBApplication::mainWindow->actionSelector,
+ UBApplication::mainWindow->actionPointer
+ };
+
+ for (QAction* action : configurableActions)
+ {
+ // Reapply palette visibility after QAction state changes.
+ connect(action, &QAction::changed, this, [this]() { applyToolVisibility(); });
+ }
+ paletteSettingsChanged();
initPosition();
foreach(const UBActionPaletteButton* button, mButtons)
@@ -92,6 +118,40 @@ UBStylusPalette::UBStylusPalette(QWidget *parent, Qt::Orientation orient)
}
+void UBStylusPalette::paletteSettingsChanged(QVariant value)
+{
+ Q_UNUSED(value);
+
+ UBSettings* settings = UBSettings::settings();
+ const int percent = qBound(100, settings->desktopPaletteScalePercent->get().toInt(), 200);
+ const int iconExtent = qRound(42.0 * percent / 100.0);
+ setButtonIconSize(QSize(iconExtent, iconExtent));
+
+ applyToolVisibility();
+ adjustSizeAndPosition();
+}
+
+void UBStylusPalette::applyToolVisibility()
+{
+ UBSettings* settings = UBSettings::settings();
+
+ const auto setButtonVisible = [this](QAction* action, bool visible) {
+ if (UBActionPaletteButton* button = getButtonFromAction(action))
+ button->setVisible(visible);
+ };
+
+ setButtonVisible(UBApplication::mainWindow->actionPen,
+ settings->desktopPaletteShowPen->get().toBool());
+ setButtonVisible(UBApplication::mainWindow->actionEraser,
+ settings->desktopPaletteShowEraser->get().toBool());
+ setButtonVisible(UBApplication::mainWindow->actionMarker,
+ settings->desktopPaletteShowMarker->get().toBool());
+ setButtonVisible(UBApplication::mainWindow->actionSelector,
+ settings->desktopPaletteShowSelector->get().toBool());
+ setButtonVisible(UBApplication::mainWindow->actionPointer,
+ settings->desktopPaletteShowPointer->get().toBool());
+}
+
void UBStylusPalette::initPosition()
{
QWidget* pParentW = parentWidget();
@@ -130,5 +190,3 @@ void UBStylusPalette::stylusToolDoubleClicked()
{
emit stylusToolDoubleClicked(mActionGroup->checkedAction()->property("id").toInt());
}
-
-
diff --git a/src/gui/UBStylusPalette.h b/src/gui/UBStylusPalette.h
index 4bce4cf8d..346ceabd5 100644
--- a/src/gui/UBStylusPalette.h
+++ b/src/gui/UBStylusPalette.h
@@ -48,8 +48,10 @@ class UBStylusPalette : public UBActionPalette
private slots:
void stylusToolDoubleClicked();
+ void paletteSettingsChanged(QVariant value = QVariant());
private:
+ void applyToolVisibility();
int mLastSelectedId;
signals: