summaryrefslogtreecommitdiff
path: root/noncore/applets/keyhelper/keyhelperapplet/extension/MenuTitle.cpp
Unidiff
Diffstat (limited to 'noncore/applets/keyhelper/keyhelperapplet/extension/MenuTitle.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/applets/keyhelper/keyhelperapplet/extension/MenuTitle.cpp67
1 files changed, 67 insertions, 0 deletions
diff --git a/noncore/applets/keyhelper/keyhelperapplet/extension/MenuTitle.cpp b/noncore/applets/keyhelper/keyhelperapplet/extension/MenuTitle.cpp
new file mode 100644
index 0000000..d8fd2a3
--- a/dev/null
+++ b/noncore/applets/keyhelper/keyhelperapplet/extension/MenuTitle.cpp
@@ -0,0 +1,67 @@
1#include "MenuTitle.h"
2
3MenuTitle::MenuTitle(const QString& s, const QFont& f, const QString& k)
4{
5 font = f;
6 kind = k;
7
8 ConfigEx& cfg = ConfigEx::getInstance("keyhelper");
9
10 const QString curGroup = cfg.getGroup();
11 cfg.setGroup("Style");
12
13 caption = cfg.readEntry("Caption_" + k, s);
14 cfg.setGroup(curGroup);
15}
16
17bool MenuTitle::fullSpan() const
18{
19 return(true);
20}
21
22bool MenuTitle::isSeparator() const
23{
24 return(true);
25}
26
27void MenuTitle::paint(QPainter* p, const QColorGroup& cg, bool /*act*/,
28 bool /*enabled*/, int x, int y, int w, int h)
29{
30 ConfigEx& cfg = ConfigEx::getInstance("keyhelper");
31 const QString& curGroup = cfg.getGroup();
32
33 cfg.setGroup("Style");
34
35 QString name;
36 QColor color;
37
38 p->setFont(font);
39
40 /* set fontcolor */
41 name = cfg.readEntry("FontColor_" + kind, QString::null);
42 if(name != QString::null){
43 color.setNamedColor(name);
44 if(color.isValid()){
45 p->setPen(color);
46 }
47 }
48
49 /* set bgcolor */
50 name = cfg.readEntry("BgColor_" + kind, QString::null);
51 if(name != QString::null){
52 color.setNamedColor(name);
53 if(color.isValid() == false){
54 color = cg.mid();
55 }
56 } else {
57 color = cg.mid();
58 }
59 p->fillRect(x, y, w, h, QBrush(color));
60 p->drawText(x, y, w, h, AlignCenter, caption);
61 cfg.setGroup(curGroup);
62}
63
64QSize MenuTitle::sizeHint()
65{
66 return(QFontMetrics(font).size(AlignCenter, caption));
67}