diff options
author | Mavridis Philippe <[email protected]> | 2025-01-14 21:03:54 +0200 |
---|---|---|
committer | Mavridis Philippe <[email protected]> | 2025-01-14 21:03:54 +0200 |
commit | ba0e1b1241ee6ac62cc900249645f47ea52877de (patch) | |
tree | 8f5bbc1362c13efd3970e6ed6858fb95a4f0ed84 | |
parent | 69a72eba035a6f8a90a6bc8d458cce79025d4c53 (diff) | |
download | tdebase-ba0e1b1241ee6ac62cc900249645f47ea52877de.tar.gz tdebase-ba0e1b1241ee6ac62cc900249645f47ea52877de.zip |
Kicker: make panel blur effect strength configurable
Signed-off-by: Mavridis Philippe <[email protected]>
-rw-r--r-- | kcontrol/kicker/advancedDialog.cpp | 29 | ||||
-rw-r--r-- | kcontrol/kicker/advancedOptions.ui | 342 | ||||
-rw-r--r-- | kicker/kicker/core/containerarea.cpp | 7 | ||||
-rw-r--r-- | kicker/libkicker/kickerSettings.kcfg | 12 |
4 files changed, 293 insertions, 97 deletions
diff --git a/kcontrol/kicker/advancedDialog.cpp b/kcontrol/kicker/advancedDialog.cpp index dadb70f39..e9ed08b0a 100644 --- a/kcontrol/kicker/advancedDialog.cpp +++ b/kcontrol/kicker/advancedDialog.cpp @@ -61,9 +61,9 @@ advancedDialog::advancedDialog(TQWidget* parent, const char* name) this, TQ_SLOT(changed())); connect(m_advancedWidget->tintSlider, TQ_SIGNAL(valueChanged(int)), this, TQ_SLOT(changed())); - connect(m_advancedWidget->menubarPanelTransparent, TQ_SIGNAL(clicked()), + connect(m_advancedWidget->blurSlider, TQ_SIGNAL(valueChanged(int)), this, TQ_SLOT(changed())); - connect(m_advancedWidget->menubarPanelBlurred, TQ_SIGNAL(clicked()), + connect(m_advancedWidget->menubarPanelTransparent, TQ_SIGNAL(clicked()), this, TQ_SLOT(changed())); connect(m_advancedWidget->kickerResizeHandle, TQ_SIGNAL(clicked()), this, TQ_SLOT(changed())); @@ -97,10 +97,21 @@ void advancedDialog::load() int tintValue = c.readNumEntry( "TintValue", 33 ); m_advancedWidget->tintSlider->setValue( tintValue ); + // Compatibility with deprecated MenubarPanelBlurred option + int blurValue = 0; + if (c.hasKey("MenubarPanelBlurred")) + { + if (c.readNumEntry("MenubarPanelBlurred", false)) + { + blurValue = 4; + } + c.deleteEntry("MenubarPanelBlurred"); + } + blurValue = c.readNumEntry("BlurValue", blurValue); + m_advancedWidget->blurSlider->setValue(blurValue); + bool transparentMenubarPanel = c.readBoolEntry("MenubarPanelTransparent", false); m_advancedWidget->menubarPanelTransparent->setChecked( transparentMenubarPanel ); - bool blurredMenubarPanel = c.readBoolEntry("MenubarPanelBlurred", false); - m_advancedWidget->menubarPanelBlurred->setChecked( blurredMenubarPanel ); bool useKickerResizeHandle = c.readBoolEntry("UseResizeHandle", false); m_advancedWidget->kickerResizeHandle->setChecked( useKickerResizeHandle ); @@ -125,10 +136,10 @@ void advancedDialog::save() m_advancedWidget->tintColorB->color()); c.writeEntry("TintValue", m_advancedWidget->tintSlider->value()); + c.writeEntry("BlurValue", + m_advancedWidget->blurSlider->value()); c.writeEntry("MenubarPanelTransparent", m_advancedWidget->menubarPanelTransparent->isChecked()); - c.writeEntry("MenubarPanelBlurred", - m_advancedWidget->menubarPanelBlurred->isChecked()); c.writeEntry("UseResizeHandle", m_advancedWidget->kickerResizeHandle->isChecked()); c.writeEntry("ShowDeepButtons", @@ -161,10 +172,10 @@ void advancedDialog::save() m_advancedWidget->tintColorB->color()); extConfig.writeEntry("TintValue", m_advancedWidget->tintSlider->value()); + extConfig.writeEntry("BlurValue", + m_advancedWidget->blurSlider->value()); extConfig.writeEntry("MenubarPanelTransparent", m_advancedWidget->menubarPanelTransparent->isChecked()); - extConfig.writeEntry("MenubarPanelBlurred", - m_advancedWidget->menubarPanelBlurred->isChecked()); extConfig.writeEntry("UseResizeHandle", m_advancedWidget->kickerResizeHandle->isChecked()); extConfig.writeEntry("ShowDeepButtons", @@ -172,7 +183,7 @@ void advancedDialog::save() extConfig.sync(); } - + c.sync(); KickerConfig::the()->notifyKicker(); diff --git a/kcontrol/kicker/advancedOptions.ui b/kcontrol/kicker/advancedOptions.ui index b1e0aaf37..180244564 100644 --- a/kcontrol/kicker/advancedOptions.ui +++ b/kcontrol/kicker/advancedOptions.ui @@ -8,21 +8,30 @@ <rect> <x>0</x> <y>0</y> - <width>324</width> - <height>235</height> + <width>425</width> + <height>360</height> </rect> </property> + <property name="caption"> + <string>advancedKickerOptions</string> + </property> <vbox> <property name="name"> <cstring>unnamed</cstring> </property> <property name="margin"> - <number>0</number> + <number>5</number> </property> <widget class="TQGroupBox"> <property name="name"> <cstring>groupBox3</cstring> </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="margin"> + <number>2</number> + </property> <property name="title"> <string>Panel Dimensions</string> </property> @@ -84,6 +93,12 @@ <property name="name"> <cstring>handles</cstring> </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="margin"> + <number>2</number> + </property> <property name="title"> <string>Applet Handles</string> </property> @@ -158,6 +173,20 @@ <property name="name"> <cstring>groupBox2</cstring> </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>5</hsizetype> + <vsizetype>4</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="margin"> + <number>2</number> + </property> <property name="title"> <string>Transparency</string> </property> @@ -165,77 +194,196 @@ <property name="name"> <cstring>unnamed</cstring> </property> - <widget class="KColorButton" row="0" column="1"> + <widget class="TQLabel" row="0" column="0"> <property name="name"> - <cstring>tintColorB</cstring> + <cstring>textLabel1_2</cstring> </property> <property name="sizePolicy"> <sizepolicy> - <hsizetype>7</hsizetype> - <vsizetype>0</vsizetype> + <hsizetype>4</hsizetype> + <vsizetype>5</vsizetype> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="text"> - <string></string> + <string>Ti&nt amount:</string> + </property> + <property name="buddy" stdset="0"> + <cstring>tintSlider</cstring> </property> <property name="whatsThis" stdset="0"> - <string>Click on this button to set the color to use when tinting transparent panels.</string> + <string>Use this slider to set how much transparent panels should be tinted using the tint color.</string> </property> </widget> - <spacer row="2" column="0"> + <widget class="TQLabel" row="2" column="3"> <property name="name"> - <cstring>spacer2</cstring> + <cstring>textLabel2</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>5</hsizetype> + <vsizetype>4</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Max</string> + </property> + <property name="alignment"> + <set>AlignVCenter|AlignRight</set> + </property> + <property name="whatsThis" stdset="0"> + <string>Use this slider to set how much transparent panels should be tinted using the tint color.</string> + </property> + </widget> + <widget class="TQLabel" row="6" column="3"> + <property name="name"> + <cstring>textLabel2_2</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>5</hsizetype> + <vsizetype>4</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Max</string> + </property> + <property name="alignment"> + <set>AlignVCenter|AlignRight</set> + </property> + <property name="whatsThis" stdset="0"> + <string>Use this slider to set how much transparent panels should be tinted using the tint color.</string> + </property> + </widget> + <spacer row="7" column="2"> + <property name="name"> + <cstring>spacer2_2_2</cstring> </property> <property name="orientation"> <enum>Vertical</enum> </property> <property name="sizeType"> - <enum>Expanding</enum> + <enum>Maximum</enum> </property> <property name="sizeHint"> <size> <width>20</width> - <height>21</height> + <height>16</height> </size> </property> </spacer> - <widget class="TQLabel" row="2" column="1"> + <widget class="TQLabel" row="5" column="0"> <property name="name"> - <cstring>textLabel3</cstring> + <cstring>textLabel1_2_2</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>4</hsizetype> + <vsizetype>5</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> </property> <property name="text"> - <string>Min</string> + <string>&Blur amount:</string> </property> - <property name="alignment"> - <set>AlignVCenter|AlignLeft</set> + <property name="buddy" stdset="0"> + <cstring>tintSlider</cstring> </property> <property name="whatsThis" stdset="0"> <string>Use this slider to set how much transparent panels should be tinted using the tint color.</string> </property> </widget> - <spacer row="0" column="2"> + <widget class="TQLabel" row="3" column="0"> + <property name="name"> + <cstring>textLabel1</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>4</hsizetype> + <vsizetype>5</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Tint c&olor:</string> + </property> + <property name="buddy" stdset="0"> + <cstring>tintColorB</cstring> + </property> + <property name="whatsThis" stdset="0"> + <string>Click on this button to set the color to use when tinting transparent panels.</string> + </property> + </widget> + <spacer row="6" column="0"> <property name="name"> - <cstring>spacer3</cstring> + <cstring>spacer2_2</cstring> </property> <property name="orientation"> - <enum>Horizontal</enum> + <enum>Vertical</enum> </property> <property name="sizeType"> - <enum>Expanding</enum> + <enum>Maximum</enum> </property> <property name="sizeHint"> <size> - <width>81</width> + <width>20</width> + <height>16</height> + </size> + </property> + </spacer> + <spacer row="4" column="0"> + <property name="name"> + <cstring>spacer2_2_2_2</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>MinimumExpanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>20</width> <height>20</height> </size> </property> </spacer> - <widget class="TQSlider" row="1" column="1" rowspan="1" colspan="2"> + <spacer row="1" column="0" rowspan="2" colspan="1"> + <property name="name"> + <cstring>spacer2</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Preferred</enum> + </property> + <property name="sizeHint"> + <size> + <width>20</width> + <height>16</height> + </size> + </property> + </spacer> + <widget class="TQSlider" row="0" column="1" rowspan="2" colspan="3"> <property name="name"> <cstring>tintSlider</cstring> </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> <property name="orientation"> <enum>Horizontal</enum> </property> @@ -243,49 +391,87 @@ <string>Use this slider to set how much transparent panels should be tinted using the tint color.</string> </property> </widget> - <widget class="TQLabel" row="2" column="2"> + <widget class="KColorButton" row="3" column="1"> <property name="name"> - <cstring>textLabel2</cstring> + <cstring>tintColorB</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>4</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> </property> <property name="text"> - <string>Max</string> + <string></string> + </property> + <property name="whatsThis" stdset="0"> + <string>Click on this button to set the color to use when tinting transparent panels.</string> + </property> + </widget> + <widget class="TQLabel" row="2" column="1" rowspan="1" colspan="2"> + <property name="name"> + <cstring>textLabel3</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>5</hsizetype> + <vsizetype>4</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Min</string> </property> <property name="alignment"> - <set>AlignVCenter|AlignRight</set> + <set>AlignVCenter|AlignLeft</set> </property> <property name="whatsThis" stdset="0"> <string>Use this slider to set how much transparent panels should be tinted using the tint color.</string> </property> </widget> - <widget class="TQLabel" row="1" column="0"> + <widget class="TQSlider" row="5" column="1" rowspan="1" colspan="3"> <property name="name"> - <cstring>textLabel1_2</cstring> + <cstring>blurSlider</cstring> </property> - <property name="text"> - <string>Ti&nt amount:</string> + <property name="minValue"> + <number>0</number> </property> - <property name="buddy" stdset="0"> - <cstring>tintSlider</cstring> + <property name="maxValue"> + <number>10</number> + </property> + <property name="orientation"> + <enum>Horizontal</enum> </property> <property name="whatsThis" stdset="0"> <string>Use this slider to set how much transparent panels should be tinted using the tint color.</string> </property> </widget> - <widget class="TQLabel" row="0" column="0"> + <widget class="TQLabel" row="6" column="1"> <property name="name"> - <cstring>textLabel1</cstring> + <cstring>textLabel3_2</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>5</hsizetype> + <vsizetype>4</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> </property> <property name="text"> - <string>Tint c&olor:</string> + <string>Min</string> </property> - <property name="buddy" stdset="0"> - <cstring>tintColorB</cstring> + <property name="alignment"> + <set>AlignVCenter|AlignLeft</set> </property> <property name="whatsThis" stdset="0"> - <string>Click on this button to set the color to use when tinting transparent panels.</string> + <string>Use this slider to set how much transparent panels should be tinted using the tint color.</string> </property> </widget> - <widget class="TQCheckBox" row="3" column="0" rowspan="1" colspan="2"> + <widget class="TQCheckBox" row="8" column="0" rowspan="1" colspan="4"> <property name="name"> <cstring>menubarPanelTransparent</cstring> </property> @@ -296,54 +482,49 @@ <string>Normally if you have the desktop's or current application's menu bar displayed in a panel at the top of the screen (MacOS-style), transparency is disabled for this panel to avoid the desktop background clashing with the menu bar. Set this option to make it transparent anyways.</string> </property> </widget> - <widget class="TQCheckBox" row="4" column="0" rowspan="1" colspan="2"> + </grid> + </widget> + <widget class="TQGroupBox"> + <property name="name"> + <cstring>groupBox3</cstring> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="margin"> + <number>2</number> + </property> + <property name="title"> + <string>Texture</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="TQCheckBox" row="0" column="0"> + <property name="name"> + <cstring>kickerResizeHandle</cstring> + </property> + <property name="text"> + <string>Show resize handle on panels</string> + </property> + <property name="whatsThis" stdset="0"> + <string>Enabling this option will show a resize handle on the resizable end of each panel.</string> + </property> + </widget> + <widget class="TQCheckBox" row="0" column="1"> <property name="name"> - <cstring>menubarPanelBlurred</cstring> + <cstring>kickerDeepButtons</cstring> </property> <property name="text"> - <string>Blur the background when transparency is enabled</string> + <string>Use deep buttons</string> </property> <property name="whatsThis" stdset="0"> - <string>When checked, the displayed semi-transparent background image will be blurred to reduce eyestrain.</string> + <string>Enabling this option will yield more highly textured panels.</string> </property> </widget> </grid> </widget> - <widget class="TQGroupBox"> - <property name="name"> - <cstring>groupBox3</cstring> - </property> - <property name="title"> - <string>Texture</string> - </property> - <grid> - <property name="name"> - <cstring>unnamed</cstring> - </property> - <widget class="TQCheckBox" row="0" column="0" rowspan="0" colspan="2"> - <property name="name"> - <cstring>kickerResizeHandle</cstring> - </property> - <property name="text"> - <string>Show resize handle on panels</string> - </property> - <property name="whatsThis" stdset="0"> - <string>Enabling this option will show a resize handle on the resizable end of each panel.</string> - </property> - </widget> - <widget class="TQCheckBox" row="0" column="2" rowspan="0" colspan="2"> - <property name="name"> - <cstring>kickerDeepButtons</cstring> - </property> - <property name="text"> - <string>Use deep buttons</string> - </property> - <property name="whatsThis" stdset="0"> - <string>Enabling this option will yield more highly textured panels.</string> - </property> - </widget> - </grid> - </widget> </vbox> </widget> <tabstops> @@ -358,6 +539,7 @@ <include location="global" impldecl="in implementation">kdialog.h</include> <include location="global" impldecl="in implementation">kcolorbutton.h</include> <include location="global" impldecl="in declaration">knuminput.h</include> + <include location="global" impldecl="in implementation">knuminput.h</include> </includes> <layoutdefaults spacing="3" margin="6"/> <layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/> diff --git a/kicker/kicker/core/containerarea.cpp b/kicker/kicker/core/containerarea.cpp index 626973855..a222076d7 100644 --- a/kicker/kicker/core/containerarea.cpp +++ b/kicker/kicker/core/containerarea.cpp @@ -1446,12 +1446,7 @@ void ContainerArea::setBackground() double tint = double(KickerSettings::tintValue()) / 100; _rootPixmap->setFadeEffect(tint, KickerSettings::tintColor()); - if (KickerSettings::menubarPanelBlurred()) { - _rootPixmap->setBlurEffect(0.0, 4.0); - } - else { - _rootPixmap->setBlurEffect(0.0, 0.0); - } + _rootPixmap->setBlurEffect(0.0, KickerSettings::blurValue()); _rootPixmap->start(); _bgSet = true; return; diff --git a/kicker/libkicker/kickerSettings.kcfg b/kicker/libkicker/kickerSettings.kcfg index 9951fe9e1..9c38534c5 100644 --- a/kicker/libkicker/kickerSettings.kcfg +++ b/kicker/libkicker/kickerSettings.kcfg @@ -44,8 +44,8 @@ </entry> <entry name="MenubarPanelBlurred" type="Bool" > - <label>Enable blurring for menubar panel</label> - <whatsthis>When this option is enabled, the panel containing the menubar will blur pseudo-transparent image</whatsthis> + <label>Enable blurring for menubar panel (deprecated)</label> + <whatsthis>This option is deprecated, use MenubarPanelBlur</whatsthis> <default>false</default> </entry> @@ -79,6 +79,14 @@ <max>100</max> </entry> +<entry name="BlurValue" type="Int" > + <label>Blur strength</label> + <whatsthis>Set blur effect strenght for the panel. Set to 0 to disable blur.</whatsthis> + <default>0</default> + <min>0</min> + <max>10</max> + </entry> + <entry name="TintColor" type="Color" > <label>The tint color used to colorize transparent panels</label> <default code="true">(TQApplication::palette().active().mid())</default> |