summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMavridis Philippe <[email protected]>2025-01-14 21:03:54 +0200
committerMavridis Philippe <[email protected]>2025-01-14 21:03:54 +0200
commitba0e1b1241ee6ac62cc900249645f47ea52877de (patch)
tree8f5bbc1362c13efd3970e6ed6858fb95a4f0ed84
parent69a72eba035a6f8a90a6bc8d458cce79025d4c53 (diff)
downloadtdebase-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.cpp29
-rw-r--r--kcontrol/kicker/advancedOptions.ui342
-rw-r--r--kicker/kicker/core/containerarea.cpp7
-rw-r--r--kicker/libkicker/kickerSettings.kcfg12
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&amp;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>&amp;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&amp;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&amp;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&amp;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>