diff options
| -rw-r--r-- | kcontrol/kicker/advancedDialog.cpp | 8 | ||||
| -rw-r--r-- | kcontrol/kicker/advancedOptions.ui | 13 | ||||
| -rw-r--r-- | kicker/kicker/core/container_extension.cpp | 57 | ||||
| -rw-r--r-- | kicker/libkicker/kickerSettings.kcfg | 6 |
4 files changed, 69 insertions, 15 deletions
diff --git a/kcontrol/kicker/advancedDialog.cpp b/kcontrol/kicker/advancedDialog.cpp index e9ed08b0a..ef163ae28 100644 --- a/kcontrol/kicker/advancedDialog.cpp +++ b/kcontrol/kicker/advancedDialog.cpp @@ -69,6 +69,8 @@ advancedDialog::advancedDialog(TQWidget* parent, const char* name) this, TQ_SLOT(changed())); connect(m_advancedWidget->kickerDeepButtons, TQ_SIGNAL(clicked()), this, TQ_SLOT(changed())); + connect(m_advancedWidget->kickerBorder, TQ_SIGNAL(clicked()), + this, TQ_SLOT(changed())); load(); } @@ -117,6 +119,8 @@ void advancedDialog::load() m_advancedWidget->kickerResizeHandle->setChecked( useKickerResizeHandle ); bool usekickerDeepButtons = c.readBoolEntry("ShowDeepButtons", false); m_advancedWidget->kickerDeepButtons->setChecked( usekickerDeepButtons ); + bool usekickerBorder = c.readBoolEntry("ShowPanelBorder", false); + m_advancedWidget->kickerBorder->setChecked( usekickerBorder ); enableButtonApply(false); } @@ -144,6 +148,8 @@ void advancedDialog::save() m_advancedWidget->kickerResizeHandle->isChecked()); c.writeEntry("ShowDeepButtons", m_advancedWidget->kickerDeepButtons->isChecked()); + c.writeEntry("ShowPanelBorder", + m_advancedWidget->kickerBorder->isChecked()); TQStringList elist = c.readListEntry("Extensions2"); for (TQStringList::Iterator it = elist.begin(); it != elist.end(); ++it) @@ -180,6 +186,8 @@ void advancedDialog::save() m_advancedWidget->kickerResizeHandle->isChecked()); extConfig.writeEntry("ShowDeepButtons", m_advancedWidget->kickerDeepButtons->isChecked()); + extConfig.writeEntry("ShowPanelBorder", + m_advancedWidget->kickerBorder->isChecked()); extConfig.sync(); } diff --git a/kcontrol/kicker/advancedOptions.ui b/kcontrol/kicker/advancedOptions.ui index 0e65401db..ddedd1eaa 100644 --- a/kcontrol/kicker/advancedOptions.ui +++ b/kcontrol/kicker/advancedOptions.ui @@ -495,7 +495,18 @@ <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"> + <widget class="TQCheckBox" row="1" column="0"> + <property name="name"> + <cstring>kickerBorder</cstring> + </property> + <property name="text"> + <string>Show panel border</string> + </property> + <property name="whatsThis" stdset="0"> + <string>Enabling this option will draw a 3D border around the panel. Use this for a more classic look.</string> + </property> + </widget> + <widget class="TQCheckBox" row="2" column="0"> <property name="name"> <cstring>kickerDeepButtons</cstring> </property> diff --git a/kicker/kicker/core/container_extension.cpp b/kicker/kicker/core/container_extension.cpp index a58b006ee..a70acfab7 100644 --- a/kicker/kicker/core/container_extension.cpp +++ b/kicker/kicker/core/container_extension.cpp @@ -233,9 +233,13 @@ TQSize ExtensionContainer::sizeHint(KPanelExtension::Position p, const TQSize &m int height = 0; if (p == KPanelExtension::Top || p == KPanelExtension::Bottom) { - if (needsBorder()) + if (KickerSettings::showPanelBorder()) + { + height += 2; + } + else if (needsBorder()) { - height += 1; // border + height += 1; } if (KickerSettings::useResizeHandle()) @@ -258,9 +262,13 @@ TQSize ExtensionContainer::sizeHint(KPanelExtension::Position p, const TQSize &m } else { - if (needsBorder()) + if (KickerSettings::showPanelBorder()) + { + width += 2; + } + else if (needsBorder()) { - width += 1; // border + width += 1; } if (KickerSettings::useResizeHandle()) @@ -1212,9 +1220,13 @@ int ExtensionContainer::arrangeHideButtons() { int maxWidth = width(); + if (KickerSettings::showPanelBorder()) + { + maxWidth -= 2; + } if (needsBorder()) { - --maxWidth; + maxWidth -= 1; } if (KickerSettings::useResizeHandle()) @@ -1242,9 +1254,13 @@ int ExtensionContainer::arrangeHideButtons() { int maxHeight = height(); - if (needsBorder()) + if (KickerSettings::showPanelBorder()) + { + maxHeight -= 2; + } + else if (needsBorder()) { - --maxHeight; + maxHeight -= 1; } if (KickerSettings::useResizeHandle()) @@ -1302,12 +1318,12 @@ int ExtensionContainer::setupBorderSpace() _layout->setColSpacing(0, 0); _layout->setColSpacing(2, 0); - if (!needsBorder() && !KickerSettings::useResizeHandle()) + if (!(KickerSettings::showPanelBorder() || needsBorder()) && !KickerSettings::useResizeHandle()) { return 0; } - int borderWidth = 1; + int borderWidth = KickerSettings::showPanelBorder() ? 2 : 1; if (KickerSettings::useResizeHandle()) borderWidth = PANEL_RESIZE_HANDLE_WIDTH + PANEL_BOTTOM_SPACING_W_RESIZE_HANDLE; @@ -1396,7 +1412,12 @@ void ExtensionContainer::paintEvent(TQPaintEvent *e) { TQFrame::paintEvent(e); - if (needsBorder()) + if (KickerSettings::showPanelBorder()) + { + TQPainter p(this); + style().drawPrimitive(TQStyle::PE_Panel, &p, rect(), colorGroup()); + } + else if (needsBorder()) { // draw border TQPainter p(this); @@ -1547,7 +1568,7 @@ void ExtensionContainer::arrange(KPanelExtension::Position p, { m_settings.setPosition(p); } - else if (!needsBorder() && !KickerSettings::useResizeHandle()) + else if (!(KickerSettings::showPanelBorder() || needsBorder()) && !KickerSettings::useResizeHandle()) { // this ensures that the layout gets rejigged // even if position doesn't change @@ -1570,7 +1591,7 @@ void ExtensionContainer::arrange(KPanelExtension::Position p, } actuallyUpdateLayout(); - + if (positionChanged) { positionChange(p); @@ -1727,7 +1748,11 @@ void ExtensionContainer::resetLayout() m_extension->setMaximumWidth(maxWidth); - if (needsBorder()) + if (KickerSettings::showPanelBorder()) + { + m_extension->setFixedHeight(height() - 2); + } + else if (needsBorder()) { m_extension->setFixedHeight(height() - 1); } @@ -1757,7 +1782,11 @@ void ExtensionContainer::resetLayout() m_extension->setMaximumHeight(maxHeight); - if (needsBorder()) + if (KickerSettings::showPanelBorder()) + { + m_extension->setFixedWidth(width() - 2); + } + else if (needsBorder()) { m_extension->setFixedWidth(width() - 1); } diff --git a/kicker/libkicker/kickerSettings.kcfg b/kicker/libkicker/kickerSettings.kcfg index 9c38534c5..0ecde36b2 100644 --- a/kicker/libkicker/kickerSettings.kcfg +++ b/kicker/libkicker/kickerSettings.kcfg @@ -37,6 +37,12 @@ <default>false</default> </entry> +<entry name="ShowPanelBorder" type="Bool" > + <label>Show panel border</label> + <whatsthis>Draw 3D border around panel</whatsthis> + <default>false</default> +</entry> + <entry name="MenubarPanelTransparent" type="Bool" > <label>Enable transparency for menubar panel</label> <whatsthis>When this option is enabled, the panel containing the menubar will become pseudo-transparent as well</whatsthis> |
