From 83e845857283fe358635b48709c649f90665edc6 Mon Sep 17 00:00:00 2001 From: tpearson Date: Mon, 20 Sep 2010 17:18:56 +0000 Subject: Fixed user configurability of icon text box corners git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1177588 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kcontrol/icons/icons.cpp | 15 +++++++++++++++ kcontrol/icons/icons.h | 3 ++- kdesktop/kfileividesktop.cpp | 22 +++++++++++++++++----- 3 files changed, 34 insertions(+), 6 deletions(-) diff --git a/kcontrol/icons/icons.cpp b/kcontrol/icons/icons.cpp index 83db5ec52..0e1e51541 100644 --- a/kcontrol/icons/icons.cpp +++ b/kcontrol/icons/icons.cpp @@ -27,6 +27,7 @@ #include #include #include +#include #include #include "icons.h" @@ -94,6 +95,10 @@ KIconConfig::KIconConfig(TQWidget *parent, const char *name) connect(mpAnimatedCheck, TQT_SIGNAL(toggled(bool)), TQT_SLOT(slotAnimatedCheck(bool))); grid->addMultiCellWidget(mpAnimatedCheck, 2, 2, 0, 1, Qt::AlignLeft); + mpRoundedCheck = new TQCheckBox(i18n("Rounded text selection"), m_pTab1); + connect(mpRoundedCheck, TQT_SIGNAL(toggled(bool)), TQT_SLOT(slotRoundedCheck(bool))); + grid->addMultiCellWidget(mpRoundedCheck, 3, 3, 0, 1, Qt::AlignLeft); + top->activate(); mpSystrayConfig = new KSimpleConfig( TQString::fromLatin1( "systemtray_panelappletrc" )); @@ -279,6 +284,9 @@ void KIconConfig::read() mpKickerConfig->setGroup("General"); mQuickLaunchSize = mpKickerConfig->readNumEntry("panelIconWidth", KIcon::SizeLarge); + + mpConfig->setGroup("KDE"); + mpRoundedCheck.setChecked(config->readBoolEntry("IconsUseRoundedRect", KDE_DEFAULT_ICONTEXTROUNDED)); } void KIconConfig::apply() @@ -459,6 +467,8 @@ void KIconConfig::save() mpSystrayConfig->writeEntry("systrayIconWidth", mSysTraySize); mpKickerConfig->setGroup("General"); mpKickerConfig->writeEntry("panelIconWidth", mQuickLaunchSize); + mpConfig->setGroup("KDE"); + mpConfig->writeEntry("IconsUseRoundedRect", mpRoundedCheck.isChecked()); mpConfig->sync(); mpSystrayConfig->sync(); @@ -632,6 +642,11 @@ void KIconConfig::slotAnimatedCheck(bool check) } } +void KIconConfig::slotRoundedCheck(bool check) +{ + // Do nothing +} + KIconEffectSetupDialog::KIconEffectSetupDialog(const Effect &effect, const Effect &defaultEffect, const TQString &caption, const TQImage &image, diff --git a/kcontrol/icons/icons.h b/kcontrol/icons/icons.h index df6ab86e7..5f98db8c7 100644 --- a/kcontrol/icons/icons.h +++ b/kcontrol/icons/icons.h @@ -76,6 +76,7 @@ private slots: void slotSize(int index); void slotDPCheck(bool check); void slotAnimatedCheck(bool check); + void slotRoundedCheck(bool check); void QLSizeLockedChanged(bool checked); private: @@ -113,7 +114,7 @@ private: TQListBox *mpUsageList; TQComboBox *mpSizeBox; - TQCheckBox *mpDPCheck, *wordWrapCB, *underlineCB, *mpAnimatedCheck; + TQCheckBox *mpDPCheck, *wordWrapCB, *underlineCB, *mpAnimatedCheck, *mpRoundedCheck; TQTabWidget *m_pTabWidget; TQWidget *m_pTab1; TQPushButton *mPreviewButton1, *mPreviewButton2, *mPreviewButton3; diff --git a/kdesktop/kfileividesktop.cpp b/kdesktop/kfileividesktop.cpp index 90c6a213d..d5e367bc0 100644 --- a/kdesktop/kfileividesktop.cpp +++ b/kdesktop/kfileividesktop.cpp @@ -31,6 +31,7 @@ #include #include #include +#include #include #include "kdesktopshadowsettings.h" @@ -138,7 +139,13 @@ bool KFileIVIDesktop::shouldUpdateShadow(bool selected) void KFileIVIDesktop::drawShadowedText( TQPainter *p, const TQColorGroup &cg ) { - int textX = textRect( FALSE ).x() + 4; + bool drawRoundedRect = KGlobalSettings::iconUseRoundedRect(); + + int textX; + if (drawRoundedRect == true) + textX = textRect( FALSE ).x() + 4; + else + textX = textRect( FALSE ).x() + 2; int textY = textRect( FALSE ).y(); int align = ((KIconView *) iconView())->itemTextPos() == TQIconView::Bottom ? AlignHCenter : AlignAuto; @@ -159,11 +166,16 @@ void KFileIVIDesktop::drawShadowedText( TQPainter *p, const TQColorGroup &cg ) TQRect rect = textRect( false ); rect.setRight( rect.right() - spread ); rect.setBottom( rect.bottom() - spread + 1 ); - p->setBrush( TQBrush( cg.highlight() ) ); - p->setPen( TQPen( cg.highlight() ) ); - p->drawRoundRect( rect, + if (drawRoundedRect == true) { + p->setBrush( TQBrush( cg.highlight() ) ); + p->setPen( TQPen( cg.highlight() ) ); + p->drawRoundRect( rect, 1000 / rect.width(), - 1000 / rect.height() ); + 1000 / rect.height() ); + } + else { + p->fillRect( textRect( false ), cg.highlight() ); + } } else { // use shadow -- cgit v1.2.3