author | zautrix <zautrix> | 2004-07-06 15:39:57 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2004-07-06 15:39:57 (UTC) |
commit | 60ec860b41d2af2444955e5cc3d04d132c76dbbb (patch) (unidiff) | |
tree | d50b2d27b1bd82b6a093ed5c1cdccbf60e7759a4 /microkde | |
parent | c4bd138c16e8d34294502c9da5706e21337ba53d (diff) | |
download | kdepimpi-60ec860b41d2af2444955e5cc3d04d132c76dbbb.zip kdepimpi-60ec860b41d2af2444955e5cc3d04d132c76dbbb.tar.gz kdepimpi-60ec860b41d2af2444955e5cc3d04d132c76dbbb.tar.bz2 |
Fixed again endless loop in kdialogbase okclicked
-rw-r--r-- | microkde/kdialogbase.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/microkde/kdialogbase.cpp b/microkde/kdialogbase.cpp index 489474a..2251207 100644 --- a/microkde/kdialogbase.cpp +++ b/microkde/kdialogbase.cpp | |||
@@ -1,291 +1,290 @@ | |||
1 | #include <qtabwidget.h> | 1 | #include <qtabwidget.h> |
2 | #include <qpushbutton.h> | 2 | #include <qpushbutton.h> |
3 | #include <qlayout.h> | 3 | #include <qlayout.h> |
4 | #include <qframe.h> | 4 | #include <qframe.h> |
5 | 5 | ||
6 | 6 | ||
7 | #include "klocale.h" | 7 | #include "klocale.h" |
8 | #include "kdebug.h" | 8 | #include "kdebug.h" |
9 | 9 | ||
10 | #include "kdialogbase.h" | 10 | #include "kdialogbase.h" |
11 | 11 | ||
12 | KDialogBase::KDialogBase() | 12 | KDialogBase::KDialogBase() |
13 | { | 13 | { |
14 | } | 14 | } |
15 | 15 | ||
16 | KDialogBase::KDialogBase( QWidget *parent, const char *name, bool modal, | 16 | KDialogBase::KDialogBase( QWidget *parent, const char *name, bool modal, |
17 | const QString &caption, | 17 | const QString &caption, |
18 | int buttonMask, ButtonCode defaultButton, | 18 | int buttonMask, ButtonCode defaultButton, |
19 | bool separator, | 19 | bool separator, |
20 | const QString &user1, | 20 | const QString &user1, |
21 | const QString &user2, | 21 | const QString &user2, |
22 | const QString &user3) : | 22 | const QString &user3) : |
23 | KDialog( parent, name, modal ) | 23 | KDialog( parent, name, modal ) |
24 | { | 24 | { |
25 | init( caption, buttonMask, user1, user2 ); | 25 | init( caption, buttonMask, user1, user2 ); |
26 | if (findButton( defaultButton ) ) | 26 | if (findButton( defaultButton ) ) |
27 | (findButton( defaultButton ) )->setFocus(); | 27 | (findButton( defaultButton ) )->setFocus(); |
28 | 28 | ||
29 | } | 29 | } |
30 | 30 | ||
31 | KDialogBase::KDialogBase( int dialogFace, const QString &caption, | 31 | KDialogBase::KDialogBase( int dialogFace, const QString &caption, |
32 | int buttonMask, ButtonCode defaultButton, | 32 | int buttonMask, ButtonCode defaultButton, |
33 | QWidget *parent, const char *name, bool modal, | 33 | QWidget *parent, const char *name, bool modal, |
34 | bool separator, | 34 | bool separator, |
35 | const QString &user1, | 35 | const QString &user1, |
36 | const QString &user2, | 36 | const QString &user2, |
37 | const QString &user3) : | 37 | const QString &user3) : |
38 | KDialog( parent, name, modal ) | 38 | KDialog( parent, name, modal ) |
39 | { | 39 | { |
40 | init( caption, buttonMask, user1, user2 ); | 40 | init( caption, buttonMask, user1, user2 ); |
41 | if (findButton( defaultButton ) ) | 41 | if (findButton( defaultButton ) ) |
42 | (findButton( defaultButton ) )->setFocus(); | 42 | (findButton( defaultButton ) )->setFocus(); |
43 | 43 | ||
44 | } | 44 | } |
45 | 45 | ||
46 | KDialogBase::~KDialogBase() | 46 | KDialogBase::~KDialogBase() |
47 | { | 47 | { |
48 | } | 48 | } |
49 | 49 | ||
50 | void KDialogBase::init( const QString &caption, int buttonMask, | 50 | void KDialogBase::init( const QString &caption, int buttonMask, |
51 | const QString &user1 ,const QString &user2 ) | 51 | const QString &user1 ,const QString &user2 ) |
52 | { | 52 | { |
53 | mMainWidget = 0; | 53 | mMainWidget = 0; |
54 | mTabWidget = 0; | 54 | mTabWidget = 0; |
55 | mPlainPage = 0; | 55 | mPlainPage = 0; |
56 | mTopLayout = 0; | 56 | mTopLayout = 0; |
57 | if ( !caption.isEmpty() ) { | 57 | if ( !caption.isEmpty() ) { |
58 | setCaption( caption ); | 58 | setCaption( caption ); |
59 | } | 59 | } |
60 | 60 | ||
61 | if ( buttonMask & User1 ) { | 61 | if ( buttonMask & User1 ) { |
62 | mUser1Button = new QPushButton( user1, this ); | 62 | mUser1Button = new QPushButton( user1, this ); |
63 | connect( mUser1Button, SIGNAL( clicked() ), SLOT( slotUser1() ) ); | 63 | connect( mUser1Button, SIGNAL( clicked() ), SLOT( slotUser1() ) ); |
64 | } else { | 64 | } else { |
65 | mUser1Button = 0; | 65 | mUser1Button = 0; |
66 | } | 66 | } |
67 | if ( buttonMask & User2 ) { | 67 | if ( buttonMask & User2 ) { |
68 | mUser2Button = new QPushButton( user2, this ); | 68 | mUser2Button = new QPushButton( user2, this ); |
69 | connect( mUser2Button, SIGNAL( clicked() ), SLOT( slotUser2() ) ); | 69 | connect( mUser2Button, SIGNAL( clicked() ), SLOT( slotUser2() ) ); |
70 | } else { | 70 | } else { |
71 | mUser2Button = 0; | 71 | mUser2Button = 0; |
72 | } | 72 | } |
73 | 73 | ||
74 | if ( buttonMask & Ok ) { | 74 | if ( buttonMask & Ok ) { |
75 | mOkButton = new QPushButton( i18n("Ok"), this ); | 75 | mOkButton = new QPushButton( i18n("Ok"), this ); |
76 | connect( mOkButton, SIGNAL( clicked() ), SLOT( slotOk() ) ); | 76 | connect( mOkButton, SIGNAL( clicked() ), SLOT( slotOk() ) ); |
77 | } else { | 77 | } else { |
78 | mOkButton = 0; | 78 | mOkButton = 0; |
79 | } | 79 | } |
80 | if ( buttonMask & Default ) { | 80 | if ( buttonMask & Default ) { |
81 | qDebug("buttonMask & Default "); | 81 | qDebug("buttonMask & Default "); |
82 | mDefaultButton = new QPushButton( i18n("Default"), this ); | 82 | mDefaultButton = new QPushButton( i18n("Default"), this ); |
83 | connect( mDefaultButton, SIGNAL( clicked() ), SIGNAL( defaultClicked() ) ); | 83 | connect( mDefaultButton, SIGNAL( clicked() ), SIGNAL( defaultClicked() ) ); |
84 | } else { | 84 | } else { |
85 | mDefaultButton = 0; | 85 | mDefaultButton = 0; |
86 | } | 86 | } |
87 | 87 | ||
88 | if ( buttonMask & Apply ) { | 88 | if ( buttonMask & Apply ) { |
89 | mApplyButton = new QPushButton( i18n("Apply"), this ); | 89 | mApplyButton = new QPushButton( i18n("Apply"), this ); |
90 | connect( mApplyButton, SIGNAL( clicked() ), SLOT( slotApply() ) ); | 90 | connect( mApplyButton, SIGNAL( clicked() ), SLOT( slotApply() ) ); |
91 | } else { | 91 | } else { |
92 | mApplyButton = 0; | 92 | mApplyButton = 0; |
93 | } | 93 | } |
94 | 94 | ||
95 | if ( buttonMask & Cancel ) { | 95 | if ( buttonMask & Cancel ) { |
96 | mCancelButton = new QPushButton( i18n("Cancel"), this ); | 96 | mCancelButton = new QPushButton( i18n("Cancel"), this ); |
97 | connect( mCancelButton, SIGNAL( clicked() ), SLOT( slotCancel() ) ); | 97 | connect( mCancelButton, SIGNAL( clicked() ), SLOT( slotCancel() ) ); |
98 | } else { | 98 | } else { |
99 | mCancelButton = 0; | 99 | mCancelButton = 0; |
100 | } | 100 | } |
101 | 101 | ||
102 | if ( buttonMask & Close ) { | 102 | if ( buttonMask & Close ) { |
103 | mCloseButton = new QPushButton( i18n("Close"), this ); | 103 | mCloseButton = new QPushButton( i18n("Close"), this ); |
104 | connect( mCloseButton, SIGNAL( clicked() ), SLOT( slotClose() ) ); | 104 | connect( mCloseButton, SIGNAL( clicked() ), SLOT( slotClose() ) ); |
105 | } else { | 105 | } else { |
106 | mCloseButton = 0; | 106 | mCloseButton = 0; |
107 | } | 107 | } |
108 | } | 108 | } |
109 | 109 | ||
110 | QTabWidget *KDialogBase::tabWidget() | 110 | QTabWidget *KDialogBase::tabWidget() |
111 | { | 111 | { |
112 | if ( !mTabWidget ) { | 112 | if ( !mTabWidget ) { |
113 | mTabWidget = new QTabWidget( this ); | 113 | mTabWidget = new QTabWidget( this ); |
114 | setMainWidget( mTabWidget ); | 114 | setMainWidget( mTabWidget ); |
115 | } | 115 | } |
116 | return mTabWidget; | 116 | return mTabWidget; |
117 | } | 117 | } |
118 | 118 | ||
119 | void KDialogBase::hideButtons() | 119 | void KDialogBase::hideButtons() |
120 | { | 120 | { |
121 | if ( mUser1Button ) mUser1Button->hide() ; | 121 | if ( mUser1Button ) mUser1Button->hide() ; |
122 | if ( mUser2Button ) mUser2Button->hide() ; | 122 | if ( mUser2Button ) mUser2Button->hide() ; |
123 | if ( mOkButton ) mOkButton->hide() ; | 123 | if ( mOkButton ) mOkButton->hide() ; |
124 | if ( mApplyButton ) mApplyButton->hide() ; | 124 | if ( mApplyButton ) mApplyButton->hide() ; |
125 | if ( mDefaultButton ) mDefaultButton->hide(); | 125 | if ( mDefaultButton ) mDefaultButton->hide(); |
126 | if ( mCancelButton ) mCancelButton->hide() ; | 126 | if ( mCancelButton ) mCancelButton->hide() ; |
127 | if ( mCloseButton ) mCloseButton->hide() ; | 127 | if ( mCloseButton ) mCloseButton->hide() ; |
128 | 128 | ||
129 | } | 129 | } |
130 | void KDialogBase::initLayout() | 130 | void KDialogBase::initLayout() |
131 | { | 131 | { |
132 | 132 | ||
133 | delete mTopLayout; | 133 | delete mTopLayout; |
134 | mTopLayout = new QVBoxLayout( this ); | 134 | mTopLayout = new QVBoxLayout( this ); |
135 | mTopLayout->setMargin( marginHint() ); | 135 | mTopLayout->setMargin( marginHint() ); |
136 | mTopLayout->setSpacing( spacingHint() ); | 136 | mTopLayout->setSpacing( spacingHint() ); |
137 | 137 | ||
138 | mTopLayout->addWidget( mMainWidget ); | 138 | mTopLayout->addWidget( mMainWidget ); |
139 | 139 | ||
140 | QBoxLayout *buttonLayout = new QHBoxLayout; | 140 | QBoxLayout *buttonLayout = new QHBoxLayout; |
141 | mTopLayout->addLayout( buttonLayout ); | 141 | mTopLayout->addLayout( buttonLayout ); |
142 | 142 | ||
143 | if ( mUser1Button ) buttonLayout->addWidget( mUser1Button ); | 143 | if ( mUser1Button ) buttonLayout->addWidget( mUser1Button ); |
144 | if ( mUser2Button ) buttonLayout->addWidget( mUser2Button ); | 144 | if ( mUser2Button ) buttonLayout->addWidget( mUser2Button ); |
145 | if ( mOkButton ) buttonLayout->addWidget( mOkButton ); | 145 | if ( mOkButton ) buttonLayout->addWidget( mOkButton ); |
146 | if ( mApplyButton ) buttonLayout->addWidget( mApplyButton ); | 146 | if ( mApplyButton ) buttonLayout->addWidget( mApplyButton ); |
147 | if ( mDefaultButton ) buttonLayout->addWidget( mDefaultButton ); | 147 | if ( mDefaultButton ) buttonLayout->addWidget( mDefaultButton ); |
148 | if ( mCancelButton ) buttonLayout->addWidget( mCancelButton ); | 148 | if ( mCancelButton ) buttonLayout->addWidget( mCancelButton ); |
149 | if ( mCloseButton ) buttonLayout->addWidget( mCloseButton ); | 149 | if ( mCloseButton ) buttonLayout->addWidget( mCloseButton ); |
150 | } | 150 | } |
151 | 151 | ||
152 | QFrame *KDialogBase::addPage( const QString &name ) | 152 | QFrame *KDialogBase::addPage( const QString &name ) |
153 | { | 153 | { |
154 | // kdDebug() << "KDialogBase::addPage(): " << name << endl; | 154 | // kdDebug() << "KDialogBase::addPage(): " << name << endl; |
155 | QFrame *frame = new QFrame( tabWidget() ); | 155 | QFrame *frame = new QFrame( tabWidget() ); |
156 | tabWidget()->addTab( frame, name ); | 156 | tabWidget()->addTab( frame, name ); |
157 | return frame; | 157 | return frame; |
158 | } | 158 | } |
159 | 159 | ||
160 | QFrame *KDialogBase::addPage( const QString &name, int, const QPixmap & ) | 160 | QFrame *KDialogBase::addPage( const QString &name, int, const QPixmap & ) |
161 | { | 161 | { |
162 | return addPage( name ); | 162 | return addPage( name ); |
163 | } | 163 | } |
164 | 164 | ||
165 | 165 | ||
166 | void KDialogBase::setMainWidget( QWidget *widget ) | 166 | void KDialogBase::setMainWidget( QWidget *widget ) |
167 | { | 167 | { |
168 | kdDebug() << "KDialogBase::setMainWidget()" << endl; | 168 | kdDebug() << "KDialogBase::setMainWidget()" << endl; |
169 | 169 | ||
170 | mMainWidget = widget; | 170 | mMainWidget = widget; |
171 | initLayout(); | 171 | initLayout(); |
172 | } | 172 | } |
173 | 173 | ||
174 | void KDialogBase::setButtonText( ButtonCode id, const QString &text ) | 174 | void KDialogBase::setButtonText( ButtonCode id, const QString &text ) |
175 | { | 175 | { |
176 | QPushButton *button = findButton( id ); | 176 | QPushButton *button = findButton( id ); |
177 | if ( button ) { | 177 | if ( button ) { |
178 | button->setText( text ); | 178 | button->setText( text ); |
179 | } | 179 | } |
180 | } | 180 | } |
181 | 181 | ||
182 | void KDialogBase::enableButton( ButtonCode id, bool state ) | 182 | void KDialogBase::enableButton( ButtonCode id, bool state ) |
183 | { | 183 | { |
184 | QPushButton *button = findButton( id ); | 184 | QPushButton *button = findButton( id ); |
185 | if ( button ) { | 185 | if ( button ) { |
186 | button->setEnabled( state ); | 186 | button->setEnabled( state ); |
187 | } | 187 | } |
188 | } | 188 | } |
189 | 189 | ||
190 | QPushButton *KDialogBase::findButton( ButtonCode id ) | 190 | QPushButton *KDialogBase::findButton( ButtonCode id ) |
191 | { | 191 | { |
192 | QPushButton *button = 0; | 192 | QPushButton *button = 0; |
193 | switch ( id ) { | 193 | switch ( id ) { |
194 | case Ok: | 194 | case Ok: |
195 | button = mOkButton; | 195 | button = mOkButton; |
196 | break; | 196 | break; |
197 | case Apply: | 197 | case Apply: |
198 | button = mApplyButton; | 198 | button = mApplyButton; |
199 | break; | 199 | break; |
200 | case User1: | 200 | case User1: |
201 | button = mUser1Button; | 201 | button = mUser1Button; |
202 | break; | 202 | break; |
203 | case User2: | 203 | case User2: |
204 | button = mUser2Button; | 204 | button = mUser2Button; |
205 | break; | 205 | break; |
206 | case Cancel: | 206 | case Cancel: |
207 | button = mCancelButton; | 207 | button = mCancelButton; |
208 | break; | 208 | break; |
209 | case Default: | 209 | case Default: |
210 | button = mDefaultButton; | 210 | button = mDefaultButton; |
211 | break; | 211 | break; |
212 | case Close: | 212 | case Close: |
213 | button = mCloseButton; | 213 | button = mCloseButton; |
214 | break; | 214 | break; |
215 | default: | 215 | default: |
216 | break; | 216 | break; |
217 | } | 217 | } |
218 | return button; | 218 | return button; |
219 | } | 219 | } |
220 | 220 | ||
221 | void KDialogBase::enableButtonOK( bool state ) | 221 | void KDialogBase::enableButtonOK( bool state ) |
222 | { | 222 | { |
223 | enableButton( Ok, state ); | 223 | enableButton( Ok, state ); |
224 | } | 224 | } |
225 | 225 | ||
226 | void KDialogBase::enableButtonApply( bool state ) | 226 | void KDialogBase::enableButtonApply( bool state ) |
227 | { | 227 | { |
228 | enableButton( Apply, state ); | 228 | enableButton( Apply, state ); |
229 | } | 229 | } |
230 | 230 | ||
231 | void KDialogBase::showButton( ButtonCode id, bool show ) | 231 | void KDialogBase::showButton( ButtonCode id, bool show ) |
232 | { | 232 | { |
233 | QPushButton *button = findButton( id ); | 233 | QPushButton *button = findButton( id ); |
234 | if ( button ) { | 234 | if ( button ) { |
235 | if ( show ) button->show(); | 235 | if ( show ) button->show(); |
236 | else button->hide(); | 236 | else button->hide(); |
237 | } | 237 | } |
238 | } | 238 | } |
239 | 239 | ||
240 | int KDialogBase::pageIndex( QWidget *widget ) const | 240 | int KDialogBase::pageIndex( QWidget *widget ) const |
241 | { | 241 | { |
242 | return 0; | 242 | return 0; |
243 | } | 243 | } |
244 | 244 | ||
245 | 245 | ||
246 | bool KDialogBase::showPage( int index ) | 246 | bool KDialogBase::showPage( int index ) |
247 | { | 247 | { |
248 | tabWidget()->setCurrentPage( index );return false; | 248 | tabWidget()->setCurrentPage( index );return false; |
249 | } | 249 | } |
250 | 250 | ||
251 | QFrame *KDialogBase::plainPage() | 251 | QFrame *KDialogBase::plainPage() |
252 | { | 252 | { |
253 | if ( !mPlainPage ) { | 253 | if ( !mPlainPage ) { |
254 | mPlainPage = new QFrame( this ); | 254 | mPlainPage = new QFrame( this ); |
255 | setMainWidget( mPlainPage ); | 255 | setMainWidget( mPlainPage ); |
256 | } | 256 | } |
257 | return mPlainPage; | 257 | return mPlainPage; |
258 | } | 258 | } |
259 | 259 | ||
260 | void KDialogBase::slotOk() | 260 | void KDialogBase::slotOk() |
261 | { | 261 | { |
262 | qDebug("KDialogBase::slotOk"); | ||
263 | emit okClicked(); | 262 | emit okClicked(); |
264 | accept(); | 263 | QDialog::accept(); |
265 | } | 264 | } |
266 | 265 | ||
267 | void KDialogBase::slotApply() | 266 | void KDialogBase::slotApply() |
268 | { | 267 | { |
269 | emit applyClicked(); | 268 | emit applyClicked(); |
270 | } | 269 | } |
271 | 270 | ||
272 | void KDialogBase::slotCancel() | 271 | void KDialogBase::slotCancel() |
273 | { | 272 | { |
274 | emit cancelClicked(); | 273 | emit cancelClicked(); |
275 | reject(); | 274 | reject(); |
276 | } | 275 | } |
277 | 276 | ||
278 | void KDialogBase::slotClose() | 277 | void KDialogBase::slotClose() |
279 | { | 278 | { |
280 | emit closeClicked(); | 279 | emit closeClicked(); |
281 | reject(); | 280 | reject(); |
282 | } | 281 | } |
283 | 282 | ||
284 | void KDialogBase::slotUser1() | 283 | void KDialogBase::slotUser1() |
285 | { | 284 | { |
286 | emit user1Clicked(); | 285 | emit user1Clicked(); |
287 | } | 286 | } |
288 | void KDialogBase::slotUser2() | 287 | void KDialogBase::slotUser2() |
289 | { | 288 | { |
290 | emit user2Clicked(); | 289 | emit user2Clicked(); |
291 | } | 290 | } |