summaryrefslogtreecommitdiffstats
path: root/kicker
diff options
context:
space:
mode:
authorTimothy Pearson <[email protected]>2013-01-17 14:34:51 -0600
committerTimothy Pearson <[email protected]>2013-01-17 14:34:51 -0600
commita0d0b876b6447c5be26a50a0b295e91cd95a8ceb (patch)
treed8d5ddf687d96525743613a38c280fb8b4cc4706 /kicker
parent18f6f27f9f340d56b12b8f7bc87ae410d595d1b1 (diff)
downloadtdebase-a0d0b876b6447c5be26a50a0b295e91cd95a8ceb.tar.gz
tdebase-a0d0b876b6447c5be26a50a0b295e91cd95a8ceb.zip
Fix taskbar configuration issues
Fix Kicker menu button layout in Deep Buttons mode
Diffstat (limited to 'kicker')
-rw-r--r--kicker/libkicker/panelbutton.cpp31
-rw-r--r--kicker/taskbar/taskbarcontainer.cpp10
-rw-r--r--kicker/taskbar/taskcontainer.cpp6
3 files changed, 33 insertions, 14 deletions
diff --git a/kicker/libkicker/panelbutton.cpp b/kicker/libkicker/panelbutton.cpp
index a460b5409..e6a698153 100644
--- a/kicker/libkicker/panelbutton.cpp
+++ b/kicker/libkicker/panelbutton.cpp
@@ -310,8 +310,8 @@ int PanelButton::widthForHeight(int height) const
//f.setPixelSize(KMIN(height, KMAX(int(float(height) * m_fontPercent), 16)));
TQFontMetrics fm(f);
- //rc += fm.width(m_buttonText) + KMIN(25, KMAX(5, fm.width('m') / 2));
- rc += fm.width(m_buttonText);
+ rc += fm.width(m_buttonText) + ((KMIN(25, KMAX(5, fm.width('m') / 2)))/2);
+ //rc += fm.width(m_buttonText);
}
return rc;
@@ -372,7 +372,7 @@ bool PanelButton::hasText() const
void PanelButton::setButtonText(const TQString& text)
{
- m_buttonText = " " + text;
+ m_buttonText = text;
update();
}
@@ -623,7 +623,16 @@ void PanelButton::drawButtonLabel(TQPainter *p, int voffset, bool drawArrow)
TQPixmap icon = labelIcon();
bool active = isDown() || isOn();
- if (active)
+ int offsetX = 0;
+ int offsetY = 0;
+
+ if (active && KickerSettings::showDeepButtons())
+ {
+ offsetX = style().pixelMetric(TQStyle::PM_ButtonShiftHorizontal);
+ offsetY = style().pixelMetric(TQStyle::PM_ButtonShiftVertical);
+ }
+
+ if (active && !KickerSettings::showDeepButtons())
{
icon = TQImage(icon.convertToImage()).smoothScale(icon.width() - 2,
icon.height() - 2);
@@ -643,7 +652,7 @@ void PanelButton::drawButtonLabel(TQPainter *p, int voffset, bool drawArrow)
TQFont f = font();
double fontPercent = m_fontPercent;
- if (active)
+ if (active && !KickerSettings::showDeepButtons())
{
fontPercent *= .8;
}
@@ -658,7 +667,7 @@ void PanelButton::drawButtonLabel(TQPainter *p, int voffset, bool drawArrow)
if (!reverse && !icon.isNull())
{
/* Draw icon */
- p->drawPixmap(3, y+voffset, icon);
+ p->drawPixmap(offsetX+3, offsetY+y+voffset, icon);
}
int tX = reverse ? 3 : icon.width() + KMIN(25, KMAX(5, fm.width('m') / 2));
@@ -677,7 +686,7 @@ void PanelButton::drawButtonLabel(TQPainter *p, int voffset, bool drawArrow)
pixPainter.begin(&textPixmap);
pixPainter.setPen(m_textColor);
pixPainter.setFont(p->font()); // get the font from the root painter
- pixPainter.drawText(tX, tY, m_buttonText, -1, rtl);
+ pixPainter.drawText(offsetX+tX, offsetY+tY, m_buttonText, -1, rtl);
pixPainter.end();
if (!s_textShadowEngine)
@@ -692,15 +701,15 @@ void PanelButton::drawButtonLabel(TQPainter *p, int voffset, bool drawArrow)
// draw shadow
TQImage img = s_textShadowEngine->makeShadow(textPixmap, shadCol);
- p->drawImage(0, 0, img);
+ p->drawImage(offsetX, offsetY, img);
p->save();
p->setPen(m_textColor);
- p->drawText(tX, tY+voffset, m_buttonText, -1, rtl);
+ p->drawText(offsetX+tX, offsetY+tY+voffset, m_buttonText, -1, rtl);
p->restore();
if (reverse && !icon.isNull())
{
- p->drawPixmap(w - icon.width() - 3, y+voffset, icon);
+ p->drawPixmap(offsetX + w - icon.width() - 3, offsetY+y+voffset, icon);
}
p->restore();
@@ -712,7 +721,7 @@ void PanelButton::drawButtonLabel(TQPainter *p, int voffset, bool drawArrow)
x = (width() - icon.width()) / 2;
else if (m_iconAlignment & AlignRight)
x = (width() - icon.width());
- p->drawPixmap(x, y+voffset, icon);
+ p->drawPixmap(offsetX+x, offsetY+y+voffset, icon);
}
if (m_drawArrow && (m_highlight || active) && drawArrow)
diff --git a/kicker/taskbar/taskbarcontainer.cpp b/kicker/taskbar/taskbarcontainer.cpp
index 00ed9786c..581719660 100644
--- a/kicker/taskbar/taskbarcontainer.cpp
+++ b/kicker/taskbar/taskbarcontainer.cpp
@@ -23,11 +23,13 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <tqlayout.h>
#include <tqtimer.h>
+#include <tqfile.h>
#include <dcopclient.h>
#include <kapplication.h>
#include <kdebug.h>
#include <kiconloader.h>
+#include <kstandarddirs.h>
#include <twindowlistmenu.h>
#include <X11/X.h>
@@ -57,6 +59,14 @@ TaskBarContainer::TaskBarContainer( bool enableFrame, TQString configFileOverrid
{
configFile = GLOBAL_TASKBAR_CONFIG_FILE_NAME;
}
+ TQFile configFileObject(locateLocal("config", configFile));
+ if (!configFileObject.exists())
+ {
+ KConfig globalConfig(GLOBAL_TASKBAR_CONFIG_FILE_NAME, TRUE, TRUE);
+ KConfig localConfig(configFile);
+ globalConfig.copyTo(configFile, &localConfig);
+ localConfig.sync();
+ }
settingsObject = new TaskBarSettings(KSharedConfig::openConfig(configFile));
setBackgroundOrigin( AncestorOrigin );
diff --git a/kicker/taskbar/taskcontainer.cpp b/kicker/taskbar/taskcontainer.cpp
index 600bac7e9..8e10d131b 100644
--- a/kicker/taskbar/taskcontainer.cpp
+++ b/kicker/taskbar/taskcontainer.cpp
@@ -661,7 +661,7 @@ void TaskContainer::drawButton(TQPainter *p)
// draw button background
if (drawButton)
{
- if (KickerSettings::showDeepButtons()) {
+ if (m_settingsObject->drawButtons() && KickerSettings::showDeepButtons()) {
style().tqdrawPrimitive(TQStyle::PE_ButtonBevel, p,
TQRect(1, 1, width()-3, height()-2),
colors, sunken ? TQStyle::Style_On : TQStyle::Style_Raised);
@@ -770,7 +770,7 @@ void TaskContainer::drawButton(TQPainter *p)
}
}
- int availableWidth = width() - (br.x() * 2) - textPos - 2 - KickerSettings::showDeepButtons()?2:0;
+ int availableWidth = width() - (br.x() * 2) - textPos - 2 - (m_settingsObject->drawButtons() && KickerSettings::showDeepButtons())?2:0;
if (m_filteredTasks.count() > 1)
{
availableWidth -= 8;
@@ -846,7 +846,7 @@ void TaskContainer::drawButton(TQPainter *p)
}
// draw popup arrow
- if ((m_filteredTasks.count() > 1) && (!KickerSettings::showDeepButtons()))
+ if ((m_filteredTasks.count() > 1) && (!(m_settingsObject->drawButtons() && KickerSettings::showDeepButtons())))
{
TQStyle::PrimitiveElement e = TQStyle::PE_ArrowLeft;