author | zautrix <zautrix> | 2005-07-10 10:17:55 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-07-10 10:17:55 (UTC) |
commit | 58b7818a74809dc9280a3249eeb7e0195a66f93d (patch) (unidiff) | |
tree | 04b04b867647a8c48d59e7a0fa89df6430039599 /microkde/kdeui | |
parent | e8b6635ef7c98996f0415e6a77394569493ab151 (diff) | |
download | kdepimpi-58b7818a74809dc9280a3249eeb7e0195a66f93d.zip kdepimpi-58b7818a74809dc9280a3249eeb7e0195a66f93d.tar.gz kdepimpi-58b7818a74809dc9280a3249eeb7e0195a66f93d.tar.bz2 |
fixx
-rw-r--r-- | microkde/kdeui/kbuttonbox.cpp | 2 | ||||
-rw-r--r-- | microkde/kdeui/kpopupmenu.cpp | 19 | ||||
-rw-r--r-- | microkde/kdeui/kpopupmenu.h | 22 |
3 files changed, 40 insertions, 3 deletions
diff --git a/microkde/kdeui/kbuttonbox.cpp b/microkde/kdeui/kbuttonbox.cpp index 16206e8..83d622a 100644 --- a/microkde/kdeui/kbuttonbox.cpp +++ b/microkde/kdeui/kbuttonbox.cpp | |||
@@ -1,145 +1,145 @@ | |||
1 | /* This file is part of the KDE libraries | 1 | /* This file is part of the KDE libraries |
2 | Copyright (C) 1997 Mario Weilguni (mweilguni@sime.com) | 2 | Copyright (C) 1997 Mario Weilguni (mweilguni@sime.com) |
3 | 3 | ||
4 | This library is free software; you can redistribute it and/or | 4 | This library is free software; you can redistribute it and/or |
5 | modify it under the terms of the GNU Library General Public | 5 | modify it under the terms of the GNU Library General Public |
6 | License as published by the Free Software Foundation; either | 6 | License as published by the Free Software Foundation; either |
7 | version 2 of the License, or (at your option) any later version. | 7 | version 2 of the License, or (at your option) any later version. |
8 | 8 | ||
9 | This library is distributed in the hope that it will be useful, | 9 | This library is distributed in the hope that it will be useful, |
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
12 | Library General Public License for more details. | 12 | Library General Public License for more details. |
13 | 13 | ||
14 | You should have received a copy of the GNU Library General Public License | 14 | You should have received a copy of the GNU Library General Public License |
15 | along with this library; see the file COPYING.LIB. If not, write to | 15 | along with this library; see the file COPYING.LIB. If not, write to |
16 | the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | 16 | the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
17 | Boston, MA 02111-1307, USA. | 17 | Boston, MA 02111-1307, USA. |
18 | */ | 18 | */ |
19 | 19 | ||
20 | /* | 20 | /* |
21 | * KButtonBox class | 21 | * KButtonBox class |
22 | * | 22 | * |
23 | * A container widget for buttons. Uses Qt layout control to place the | 23 | * A container widget for buttons. Uses Qt layout control to place the |
24 | * buttons, can handle both vertical and horizontal button placement. | 24 | * buttons, can handle both vertical and horizontal button placement. |
25 | * | 25 | * |
26 | * HISTORY | 26 | * HISTORY |
27 | * | 27 | * |
28 | * 03/08/2000 Mario Weilguni <mweilguni@kde.org> | 28 | * 03/08/2000 Mario Weilguni <mweilguni@kde.org> |
29 | * Removed all those long outdated Motif stuff | 29 | * Removed all those long outdated Motif stuff |
30 | * Improved and clarified some if conditions (easier to understand) | 30 | * Improved and clarified some if conditions (easier to understand) |
31 | * | 31 | * |
32 | * 11/13/98 Reginald Stadlbauer <reggie@kde.org> | 32 | * 11/13/98 Reginald Stadlbauer <reggie@kde.org> |
33 | * Now in Qt 1.4x motif default buttons have no extra width/height anymore. | 33 | * Now in Qt 1.4x motif default buttons have no extra width/height anymore. |
34 | * So the KButtonBox doesn't add this width/height to default buttons anymore | 34 | * So the KButtonBox doesn't add this width/height to default buttons anymore |
35 | * which makes the buttons look better. | 35 | * which makes the buttons look better. |
36 | * | 36 | * |
37 | * 01/17/98 Mario Weilguni <mweilguni@sime.com> | 37 | * 01/17/98 Mario Weilguni <mweilguni@sime.com> |
38 | * Fixed a bug in sizeHint() | 38 | * Fixed a bug in sizeHint() |
39 | * Improved the handling of Motif default buttons | 39 | * Improved the handling of Motif default buttons |
40 | * | 40 | * |
41 | * 01/09/98 Mario Weilguni <mweilguni@sime.com> | 41 | * 01/09/98 Mario Weilguni <mweilguni@sime.com> |
42 | * The last button was to far right away from the right/bottom border. | 42 | * The last button was to far right away from the right/bottom border. |
43 | * Fixed this. Removed old code. Buttons get now a minimum width. | 43 | * Fixed this. Removed old code. Buttons get now a minimum width. |
44 | * Programmer may now override minimum width and height of a button. | 44 | * Programmer may now override minimum width and height of a button. |
45 | * | 45 | * |
46 | */ | 46 | */ |
47 | 47 | ||
48 | //US #include "kbuttonbox.moc" | 48 | //US #include "kbuttonbox.moc" |
49 | 49 | ||
50 | #include <kbuttonbox.h> | 50 | #include <kbuttonbox.h> |
51 | #include <qpushbutton.h> | 51 | #include <qpushbutton.h> |
52 | #include <qptrlist.h> | 52 | #include <qptrlist.h> |
53 | #include <assert.h> | 53 | #include <assert.h> |
54 | 54 | ||
55 | #define minButtonWidth 50 | 55 | #define minButtonWidth 50 |
56 | 56 | ||
57 | class KButtonBox::Item { | 57 | class KButtonBox::Item { |
58 | public: | 58 | public: |
59 | QPushButton *button; | 59 | QPushButton *button; |
60 | bool noexpand; | 60 | bool noexpand; |
61 | unsigned short stretch; | 61 | unsigned short stretch; |
62 | unsigned short actual_size; | 62 | unsigned short actual_size; |
63 | }; | 63 | }; |
64 | 64 | ||
65 | template class QPtrList<KButtonBox::Item>; | 65 | template class QPtrList<KButtonBox::Item>; |
66 | 66 | ||
67 | class KButtonBoxPrivate { | 67 | class KButtonBoxPrivate { |
68 | public: | 68 | public: |
69 | unsigned short border; | 69 | unsigned short border; |
70 | unsigned short autoborder; | 70 | unsigned short autoborder; |
71 | unsigned short orientation; | 71 | unsigned short orientation; |
72 | bool activated; | 72 | bool activated; |
73 | QPtrList<KButtonBox::Item> buttons; | 73 | QPtrList<KButtonBox::Item> buttons; |
74 | }; | 74 | }; |
75 | 75 | ||
76 | KButtonBox::KButtonBox(QWidget *parent, Orientation _orientation, | 76 | KButtonBox::KButtonBox(QWidget *parent, Orientation _orientation, |
77 | int border, int autoborder) | 77 | int border, int autoborder) |
78 | : QWidget(parent) | 78 | : QWidget(parent) |
79 | { | 79 | { |
80 | data = new KButtonBoxPrivate; | 80 | data = new KButtonBoxPrivate; |
81 | assert(data != 0); | 81 | assert(data != 0); |
82 | 82 | ||
83 | data->orientation = _orientation; | 83 | data->orientation = _orientation; |
84 | data->border = border; | 84 | data->border = border; |
85 | data->autoborder = autoborder < 0 ? border : autoborder; | 85 | data->autoborder = autoborder < 0 ? border : autoborder; |
86 | data->buttons.setAutoDelete(TRUE); | 86 | data->buttons.setAutoDelete(TRUE); |
87 | } | 87 | } |
88 | 88 | ||
89 | KButtonBox::~KButtonBox() { | 89 | KButtonBox::~KButtonBox() { |
90 | delete data; | 90 | delete data; |
91 | } | 91 | } |
92 | 92 | ||
93 | QPushButton *KButtonBox::addButton(const QString& text, bool noexpand) { | 93 | QPushButton *KButtonBox::addButton(const QString& text, bool noexpand) { |
94 | Item *item = new Item; | 94 | Item *item = new Item; |
95 | 95 | ||
96 | item->button = new QPushButton(text, this); | 96 | item->button = new QPushButton(text, this); |
97 | item->noexpand = noexpand; | 97 | item->noexpand = noexpand; |
98 | data->buttons.append(item); | 98 | data->buttons.append(item); |
99 | item->button->adjustSize(); | 99 | item->button->adjustSize(); |
100 | 100 | ||
101 | return item->button; | 101 | return item->button; |
102 | } | 102 | } |
103 | 103 | ||
104 | QPushButton * | 104 | QPushButton * |
105 | KButtonBox::addButton( | 105 | KButtonBox::addButton( |
106 | const QString & text, | 106 | const QString & text, |
107 | QObject * receiver, | 107 | QObject * receiver, |
108 | const char * slot, | 108 | const char * slot, |
109 | bool noexpand | 109 | bool noexpand |
110 | ) | 110 | ) |
111 | { | 111 | { |
112 | QPushButton * pb = addButton(text, noexpand); | 112 | QPushButton * pb = addButton(text, noexpand); |
113 | 113 | ||
114 | if ((0 != receiver) && (0 != slot)) | 114 | if ((0 != receiver) && (0 != slot)) |
115 | QObject::connect(pb, SIGNAL(clicked()), receiver, slot); | 115 | QObject::connect(pb, SIGNAL(clicked()), receiver, slot); |
116 | 116 | ||
117 | return pb; | 117 | return pb; |
118 | } | 118 | } |
119 | 119 | ||
120 | 120 | ||
121 | void KButtonBox::addStretch(int scale) { | 121 | void KButtonBox::addStretch(int scale) { |
122 | if(scale > 0) { | 122 | if(scale > 0) { |
123 | Item *item = new Item; | 123 | Item *item = new Item; |
124 | item->button = 0; | 124 | item->button = 0; |
125 | item->noexpand = FALSE; | 125 | item->noexpand = FALSE; |
126 | item->stretch = scale; | 126 | item->stretch = scale; |
127 | data->buttons.append(item); | 127 | data->buttons.append(item); |
128 | } | 128 | } |
129 | } | 129 | } |
130 | 130 | ||
131 | void KButtonBox::layout() { | 131 | void KButtonBox::layout() { |
132 | // resize all buttons | 132 | // resize all buttons |
133 | QSize bs = bestButtonSize(); | 133 | QSize bs = bestButtonSize(); |
134 | 134 | ||
135 | for(unsigned int i = 0; i < data->buttons.count(); i++) { | 135 | for(unsigned int i = 0; i < data->buttons.count(); i++) { |
136 | Item *item = data->buttons.at(i); | 136 | Item *item = data->buttons.at(i); |
137 | QPushButton *b = item->button; | 137 | QPushButton *b = item->button; |
138 | if(b != 0) { | 138 | if(b != 0) { |
139 | if(item->noexpand) | 139 | if(item->noexpand) |
140 | b->setFixedSize(buttonSizeHint(b)); | 140 | b->setFixedSize(buttonSizeHint(b)); |
141 | else | 141 | else |
142 | b->setFixedSize(bs); | 142 | b->setFixedSize(bs); |
143 | } | 143 | } |
144 | } | 144 | } |
145 | 145 | ||
diff --git a/microkde/kdeui/kpopupmenu.cpp b/microkde/kdeui/kpopupmenu.cpp new file mode 100644 index 0000000..96d2a87 --- a/dev/null +++ b/microkde/kdeui/kpopupmenu.cpp | |||
@@ -0,0 +1,19 @@ | |||
1 | |||
2 | #include <kpopupmenu.h> | ||
3 | #include <qtimer.h> | ||
4 | |||
5 | |||
6 | KPopupMenu::KPopupMenu ( QWidget * parent, const char * name ) | ||
7 | : QPopupMenu ( parent, name ) {;} | ||
8 | |||
9 | |||
10 | |||
11 | KMenuBar::KMenuBar ( QWidget * parent, const char * name ) | ||
12 | : QPEMenuBar ( parent, name ) {} | ||
13 | |||
14 | void KMenuBar::focusOutEvent ( QFocusEvent * e) | ||
15 | { | ||
16 | QPEMenuBar::focusOutEvent( e ); | ||
17 | QTimer::singleShot( 100, this, SIGNAL ( lostFocus() ) ); | ||
18 | |||
19 | } | ||
diff --git a/microkde/kdeui/kpopupmenu.h b/microkde/kdeui/kpopupmenu.h index 1352429..f16ce77 100644 --- a/microkde/kdeui/kpopupmenu.h +++ b/microkde/kdeui/kpopupmenu.h | |||
@@ -1,14 +1,32 @@ | |||
1 | #ifndef KPOPUPMENU_H | 1 | #ifndef KPOPUPMENU_H |
2 | #define KPOPUPMENU_H | 2 | #define KPOPUPMENU_H |
3 | 3 | ||
4 | #include <qpopupmenu.h> | 4 | #include <qpopupmenu.h> |
5 | #ifdef DESKTOP_VERSION | ||
6 | #include <qmenubar.h> | ||
7 | #define QPEMenuBar QMenubar | ||
8 | #else | ||
9 | #include <qpe/qpemenubar.h> | ||
10 | #endif | ||
5 | 11 | ||
6 | class KPopupMenu : public QPopupMenu | 12 | class KPopupMenu : public QPopupMenu |
7 | { | 13 | { |
14 | Q_OBJECT | ||
8 | public: | 15 | public: |
9 | KPopupMenu ( QWidget * parent=0, const char * name=0 ) | 16 | KPopupMenu ( QWidget * parent=0, const char * name=0 ); |
10 | : QPopupMenu ( parent, name ) {} | 17 | |
18 | }; | ||
11 | 19 | ||
20 | |||
21 | class KMenuBar : public QPEMenuBar | ||
22 | { | ||
23 | Q_OBJECT | ||
24 | public: | ||
25 | KMenuBar ( QWidget * parent=0, const char * name=0 ); | ||
26 | signals: | ||
27 | void lostFocus(); | ||
28 | protected: | ||
29 | void focusOutEvent ( QFocusEvent * e); | ||
12 | }; | 30 | }; |
13 | 31 | ||
14 | #endif | 32 | #endif |