summaryrefslogtreecommitdiff
path: root/libopie2/qt3
Unidiff
Diffstat (limited to 'libopie2/qt3') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/qt3/opiecore/osortablevaluelist.h2
-rw-r--r--libopie2/qt3/opieui/ocombobox.cpp6
-rw-r--r--libopie2/qt3/opieui/oeditlistbox.cpp6
-rw-r--r--libopie2/qt3/opieui/olineedit.cpp6
4 files changed, 10 insertions, 10 deletions
diff --git a/libopie2/qt3/opiecore/osortablevaluelist.h b/libopie2/qt3/opiecore/osortablevaluelist.h
index f66cf25..a3f75b4 100644
--- a/libopie2/qt3/opiecore/osortablevaluelist.h
+++ b/libopie2/qt3/opiecore/osortablevaluelist.h
@@ -1,82 +1,82 @@
1/* 1/*
2                 This file is part of the Opie Project 2                 This file is part of the Opie Project
3 Originally a part of the KDE Project 3 Originally a part of the KDE Project
4 (C) 2001 Carsten Pfeiffer <pfeiffer@kde.org> 4 (C) 2001 Carsten Pfeiffer <pfeiffer@kde.org>
5 =. 5 =.
6 .=l. 6 .=l.
7           .>+-= 7           .>+-=
8 _;:,     .>    :=|. This program is free software; you can 8 _;:,     .>    :=|. This program is free software; you can
9.> <`_,   >  .   <= redistribute it and/or modify it under 9.> <`_,   >  .   <= redistribute it and/or modify it under
10:`=1 )Y*s>-.--   : the terms of the GNU Library General Public 10:`=1 )Y*s>-.--   : the terms of the GNU Library General Public
11.="- .-=="i,     .._ License as published by the Free Software 11.="- .-=="i,     .._ License as published by the Free Software
12 - .   .-<_>     .<> Foundation; either version 2 of the License, 12 - .   .-<_>     .<> Foundation; either version 2 of the License,
13     ._= =}       : or (at your option) any later version. 13     ._= =}       : or (at your option) any later version.
14    .%`+i>       _;_. 14    .%`+i>       _;_.
15    .i_,=:_.      -<s. This program is distributed in the hope that 15    .i_,=:_.      -<s. This program is distributed in the hope that
16     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 16     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
17    : ..    .:,     . . . without even the implied warranty of 17    : ..    .:,     . . . without even the implied warranty of
18    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A 18    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
19  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU 19  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
20..}^=.=       =       ; Library General Public License for more 20..}^=.=       =       ; Library General Public License for more
21++=   -.     .`     .: details. 21++=   -.     .`     .: details.
22 :     =  ...= . :.=- 22 :     =  ...= . :.=-
23 -.   .:....=;==+<; You should have received a copy of the GNU 23 -.   .:....=;==+<; You should have received a copy of the GNU
24  -_. . .   )=.  = Library General Public License along with 24  -_. . .   )=.  = Library General Public License along with
25    --        :-=` this library; see the file COPYING.LIB. 25    --        :-=` this library; see the file COPYING.LIB.
26 If not, write to the Free Software Foundation, 26 If not, write to the Free Software Foundation,
27 Inc., 59 Temple Place - Suite 330, 27 Inc., 59 Temple Place - Suite 330,
28 Boston, MA 02111-1307, USA. 28 Boston, MA 02111-1307, USA.
29*/ 29*/
30 30
31#ifndef OSORTABLEVALUELIST_H 31#ifndef OSORTABLEVALUELIST_H
32#define OSORTABLEVALUELIST_H 32#define OSORTABLEVALUELIST_H
33 33
34#if QT_VERSION > 290 34#if QT_VERSION >= 0x030000
35#include <qtl.h> 35#include <qtl.h>
36#include <qpair.h> 36#include <qpair.h>
37#else 37#else
38#include <opie2/otl.h> 38#include <opie2/otl.h>
39#include <opie2/opair.h> 39#include <opie2/opair.h>
40#endif 40#endif
41#include <qvaluelist.h> 41#include <qvaluelist.h>
42 42
43template<class T, class Key = int> class OSortableItem : public QPair<Key,T> 43template<class T, class Key = int> class OSortableItem : public QPair<Key,T>
44{ 44{
45public: 45public:
46 OSortableItem( Key i, const T& t ) : QPair<Key, T>( i, t ) {} 46 OSortableItem( Key i, const T& t ) : QPair<Key, T>( i, t ) {}
47 OSortableItem( const OSortableItem<T, Key> &rhs ) 47 OSortableItem( const OSortableItem<T, Key> &rhs )
48 : QPair<Key,T>( rhs.first, rhs.second ) {} 48 : QPair<Key,T>( rhs.first, rhs.second ) {}
49 49
50 OSortableItem() {} 50 OSortableItem() {}
51 51
52 OSortableItem<T, Key> &operator=( const OSortableItem<T, Key>& i ) { 52 OSortableItem<T, Key> &operator=( const OSortableItem<T, Key>& i ) {
53 first = i.first; 53 first = i.first;
54 second = i.second; 54 second = i.second;
55 return *this; 55 return *this;
56 } 56 }
57 57
58 // operators for sorting 58 // operators for sorting
59 bool operator> ( const OSortableItem<T, Key>& i2 ) const { 59 bool operator> ( const OSortableItem<T, Key>& i2 ) const {
60 return (i2.first < first); 60 return (i2.first < first);
61 } 61 }
62 bool operator< ( const OSortableItem<T, Key>& i2 ) const { 62 bool operator< ( const OSortableItem<T, Key>& i2 ) const {
63 return (first < i2.first); 63 return (first < i2.first);
64 } 64 }
65 bool operator>= ( const OSortableItem<T, Key>& i2 ) const { 65 bool operator>= ( const OSortableItem<T, Key>& i2 ) const {
66 return (first >= i2.first); 66 return (first >= i2.first);
67 } 67 }
68 bool operator<= ( const OSortableItem<T, Key>& i2 ) const { 68 bool operator<= ( const OSortableItem<T, Key>& i2 ) const {
69 return !(i2.first < first); 69 return !(i2.first < first);
70 } 70 }
71 bool operator== ( const OSortableItem<T, Key>& i2 ) const { 71 bool operator== ( const OSortableItem<T, Key>& i2 ) const {
72 return (first == i2.first); 72 return (first == i2.first);
73 } 73 }
74 bool operator!= ( const OSortableItem<T, Key>& i2 ) const { 74 bool operator!= ( const OSortableItem<T, Key>& i2 ) const {
75 return (first != i2.first); 75 return (first != i2.first);
76 } 76 }
77 77
78 T& value() { 78 T& value() {
79 return second; 79 return second;
80 } 80 }
81 const T& value() const { 81 const T& value() const {
82 return second; 82 return second;
diff --git a/libopie2/qt3/opieui/ocombobox.cpp b/libopie2/qt3/opieui/ocombobox.cpp
index bd330e0..130112c 100644
--- a/libopie2/qt3/opieui/ocombobox.cpp
+++ b/libopie2/qt3/opieui/ocombobox.cpp
@@ -273,144 +273,144 @@ void OComboBox::setEditURL( const OURL& url )
273 QComboBox::setEditText( url.prettyURL() ); 273 QComboBox::setEditText( url.prettyURL() );
274} 274}
275 275
276void OComboBox::insertURL( const OURL& url, int index ) 276void OComboBox::insertURL( const OURL& url, int index )
277{ 277{
278 QComboBox::insertItem( url.prettyURL(), index ); 278 QComboBox::insertItem( url.prettyURL(), index );
279} 279}
280 280
281void OComboBox::insertURL( const QPixmap& pixmap, const OURL& url, int index ) 281void OComboBox::insertURL( const QPixmap& pixmap, const OURL& url, int index )
282{ 282{
283 QComboBox::insertItem( pixmap, url.prettyURL(), index ); 283 QComboBox::insertItem( pixmap, url.prettyURL(), index );
284} 284}
285 285
286void OComboBox::changeURL( const OURL& url, int index ) 286void OComboBox::changeURL( const OURL& url, int index )
287{ 287{
288 QComboBox::changeItem( url.prettyURL(), index ); 288 QComboBox::changeItem( url.prettyURL(), index );
289} 289}
290 290
291void OComboBox::changeURL( const QPixmap& pixmap, const OURL& url, int index ) 291void OComboBox::changeURL( const QPixmap& pixmap, const OURL& url, int index )
292{ 292{
293 QComboBox::changeItem( pixmap, url.prettyURL(), index ); 293 QComboBox::changeItem( pixmap, url.prettyURL(), index );
294} 294}
295*/ 295*/
296 296
297 297
298void OComboBox::setCompletedItems( const QStringList& items ) 298void OComboBox::setCompletedItems( const QStringList& items )
299{ 299{
300 if ( d->olineEdit ) 300 if ( d->olineEdit )
301 d->olineEdit->setCompletedItems( items ); 301 d->olineEdit->setCompletedItems( items );
302} 302}
303 303
304 304
305OCompletionBox * OComboBox::completionBox( bool create ) 305OCompletionBox * OComboBox::completionBox( bool create )
306{ 306{
307 if ( d->olineEdit ) 307 if ( d->olineEdit )
308 return d->olineEdit->completionBox( create ); 308 return d->olineEdit->completionBox( create );
309 return 0; 309 return 0;
310} 310}
311 311
312// QWidget::create() turns off mouse-Tracking which would break auto-hiding 312// QWidget::create() turns off mouse-Tracking which would break auto-hiding
313void OComboBox::create( WId id, bool initializeWindow, bool destroyOldWindow ) 313void OComboBox::create( WId id, bool initializeWindow, bool destroyOldWindow )
314{ 314{
315 QComboBox::create( id, initializeWindow, destroyOldWindow ); 315 QComboBox::create( id, initializeWindow, destroyOldWindow );
316 //OCursor::setAutoHideCursor( lineEdit(), true, true ); 316 //OCursor::setAutoHideCursor( lineEdit(), true, true );
317} 317}
318 318
319void OComboBox::setLineEdit( OLineEdit *edit ) 319void OComboBox::setLineEdit( OLineEdit *edit )
320{ 320{
321 #if QT_VERSION > 290 321 #if QT_VERSION >= 0x030000
322 QComboBox::setLineEdit( edit ); 322 QComboBox::setLineEdit( edit );
323 if ( !edit->inherits( "OLineEdit" ) ) 323 if ( !edit->inherits( "OLineEdit" ) )
324 d->olineEdit = 0; 324 d->olineEdit = 0;
325 else 325 else
326 d->olineEdit = static_cast<OLineEdit*>( edit ); 326 d->olineEdit = static_cast<OLineEdit*>( edit );
327 setDelegate( d->olineEdit ); 327 setDelegate( d->olineEdit );
328 328
329 // forward some signals. We only emit returnPressed() ourselves. 329 // forward some signals. We only emit returnPressed() ourselves.
330 if ( d->olineEdit ) { 330 if ( d->olineEdit ) {
331 connect( d->olineEdit, SIGNAL( completion(const QString&)), 331 connect( d->olineEdit, SIGNAL( completion(const QString&)),
332 SIGNAL( completion(const QString&)) ); 332 SIGNAL( completion(const QString&)) );
333 connect( d->olineEdit, SIGNAL( substringCompletion(const QString&)), 333 connect( d->olineEdit, SIGNAL( substringCompletion(const QString&)),
334 SIGNAL( substringCompletion(const QString&)) ); 334 SIGNAL( substringCompletion(const QString&)) );
335 connect( d->olineEdit, 335 connect( d->olineEdit,
336 SIGNAL( textRotation(OCompletionBase::KeyBindingType)), 336 SIGNAL( textRotation(OCompletionBase::KeyBindingType)),
337 SIGNAL( textRotation(OCompletionBase::KeyBindingType)) ); 337 SIGNAL( textRotation(OCompletionBase::KeyBindingType)) );
338 connect( d->olineEdit, 338 connect( d->olineEdit,
339 SIGNAL( completionModeChanged(OGlobalSettings::Completion)), 339 SIGNAL( completionModeChanged(OGlobalSettings::Completion)),
340 SIGNAL( completionModeChanged(OGlobalSettings::Completion))); 340 SIGNAL( completionModeChanged(OGlobalSettings::Completion)));
341 341
342 connect( d->olineEdit, 342 connect( d->olineEdit,
343 SIGNAL( aboutToShowContextMenu(QPopupMenu*)), 343 SIGNAL( aboutToShowContextMenu(QPopupMenu*)),
344 SIGNAL( aboutToShowContextMenu(QPopupMenu*)) ); 344 SIGNAL( aboutToShowContextMenu(QPopupMenu*)) );
345 } 345 }
346 #else 346 #else
347 #warning OComboBox is not fully functional with Qt2 347 #warning OComboBox is not fully functional with Qt2
348 #endif 348 #endif
349} 349}
350 350
351// Temporary functions until QT3 appears. - Seth Chaiklin 20 may 2001 351// Temporary functions until QT3 appears. - Seth Chaiklin 20 may 2001
352void OComboBox::deleteWordForward() 352void OComboBox::deleteWordForward()
353{ 353{
354 lineEdit()->cursorWordForward(TRUE); 354 lineEdit()->cursorWordForward(TRUE);
355 #if QT_VERSION > 290 355 #if QT_VERSION >= 0x030000
356 if ( lineEdit()->hasSelectedText() ) 356 if ( lineEdit()->hasSelectedText() )
357 #else 357 #else
358 if ( lineEdit()->hasMarkedText() ) 358 if ( lineEdit()->hasMarkedText() )
359 #endif 359 #endif
360 { 360 {
361 lineEdit()->del(); 361 lineEdit()->del();
362 } 362 }
363} 363}
364 364
365void OComboBox::deleteWordBack() 365void OComboBox::deleteWordBack()
366{ 366{
367 lineEdit()->cursorWordBackward(TRUE); 367 lineEdit()->cursorWordBackward(TRUE);
368 #if QT_VERSION > 290 368 #if QT_VERSION >= 0x030000
369 if ( lineEdit()->hasSelectedText() ) 369 if ( lineEdit()->hasSelectedText() )
370 #else 370 #else
371 if ( lineEdit()->hasMarkedText() ) 371 if ( lineEdit()->hasMarkedText() )
372 #endif 372 #endif
373 { 373 {
374 lineEdit()->del(); 374 lineEdit()->del();
375 } 375 }
376} 376}
377 377
378void OComboBox::setCurrentItem( const QString& item, bool insert, int index ) 378void OComboBox::setCurrentItem( const QString& item, bool insert, int index )
379{ 379{
380 int sel = -1; 380 int sel = -1;
381 for (int i = 0; i < count(); ++i) 381 for (int i = 0; i < count(); ++i)
382 if (text(i) == item) 382 if (text(i) == item)
383 { 383 {
384 sel = i; 384 sel = i;
385 break; 385 break;
386 } 386 }
387 if (sel == -1 && insert) 387 if (sel == -1 && insert)
388 { 388 {
389 insertItem(item, index); 389 insertItem(item, index);
390 if (index >= 0) 390 if (index >= 0)
391 sel = index; 391 sel = index;
392 else 392 else
393 sel = count() - 1; 393 sel = count() - 1;
394 } 394 }
395 setCurrentItem(sel); 395 setCurrentItem(sel);
396} 396}
397 397
398void OComboBox::setCurrentItem(int index) 398void OComboBox::setCurrentItem(int index)
399{ 399{
400 QComboBox::setCurrentItem(index); 400 QComboBox::setCurrentItem(index);
401} 401}
402 402
403 403
404/*====================================================================================== 404/*======================================================================================
405 * OHistoryCombo 405 * OHistoryCombo
406 *======================================================================================*/ 406 *======================================================================================*/
407 407
408// we are always read-write 408// we are always read-write
409OHistoryCombo::OHistoryCombo( QWidget *parent, const char *name ) 409OHistoryCombo::OHistoryCombo( QWidget *parent, const char *name )
410 : OComboBox( true, parent, name ) 410 : OComboBox( true, parent, name )
411{ 411{
412 init( true ); // using completion 412 init( true ); // using completion
413} 413}
414 414
415// we are always read-write 415// we are always read-write
416OHistoryCombo::OHistoryCombo( bool useCompletion, 416OHistoryCombo::OHistoryCombo( bool useCompletion,
diff --git a/libopie2/qt3/opieui/oeditlistbox.cpp b/libopie2/qt3/opieui/oeditlistbox.cpp
index 0e95274..dcc697d 100644
--- a/libopie2/qt3/opieui/oeditlistbox.cpp
+++ b/libopie2/qt3/opieui/oeditlistbox.cpp
@@ -147,205 +147,205 @@ void OEditListBox::init( bool checkAtEntering, int buttons,
147 connect(servUpButton, SIGNAL(clicked()), SLOT(moveItemUp())); 147 connect(servUpButton, SIGNAL(clicked()), SLOT(moveItemUp()));
148 148
149 servDownButton = new QPushButton(tr("Move &Down"), gb); 149 servDownButton = new QPushButton(tr("Move &Down"), gb);
150 servDownButton->setEnabled(false); 150 servDownButton->setEnabled(false);
151 connect(servDownButton, SIGNAL(clicked()), SLOT(moveItemDown())); 151 connect(servDownButton, SIGNAL(clicked()), SLOT(moveItemDown()));
152 152
153 grid->addWidget(servUpButton, row++, 1); 153 grid->addWidget(servUpButton, row++, 1);
154 grid->addWidget(servDownButton, row++, 1); 154 grid->addWidget(servDownButton, row++, 1);
155 } 155 }
156 156
157 connect(m_lineEdit,SIGNAL(textChanged(const QString&)),this,SLOT(typedSomething(const QString&))); 157 connect(m_lineEdit,SIGNAL(textChanged(const QString&)),this,SLOT(typedSomething(const QString&)));
158 m_lineEdit->setTrapReturnKey(true); 158 m_lineEdit->setTrapReturnKey(true);
159 connect(m_lineEdit,SIGNAL(returnPressed()),this,SLOT(addItem())); 159 connect(m_lineEdit,SIGNAL(returnPressed()),this,SLOT(addItem()));
160 connect(m_listBox, SIGNAL(highlighted(int)), SLOT(enableMoveButtons(int))); 160 connect(m_listBox, SIGNAL(highlighted(int)), SLOT(enableMoveButtons(int)));
161 161
162 // maybe supplied lineedit has some text already 162 // maybe supplied lineedit has some text already
163 typedSomething( m_lineEdit->text() ); 163 typedSomething( m_lineEdit->text() );
164} 164}
165 165
166void OEditListBox::typedSomething(const QString& text) 166void OEditListBox::typedSomething(const QString& text)
167{ 167{
168 if(currentItem() >= 0) { 168 if(currentItem() >= 0) {
169 if(currentText() != m_lineEdit->text()) 169 if(currentText() != m_lineEdit->text())
170 { 170 {
171 // IMHO changeItem() shouldn't do anything with the value 171 // IMHO changeItem() shouldn't do anything with the value
172 // of currentItem() ... like changing it or emitting signals ... 172 // of currentItem() ... like changing it or emitting signals ...
173 // but TT disagree with me on this one (it's been that way since ages ... grrr) 173 // but TT disagree with me on this one (it's been that way since ages ... grrr)
174 bool block = m_listBox->signalsBlocked(); 174 bool block = m_listBox->signalsBlocked();
175 m_listBox->blockSignals( true ); 175 m_listBox->blockSignals( true );
176 m_listBox->changeItem(text, currentItem()); 176 m_listBox->changeItem(text, currentItem());
177 m_listBox->blockSignals( block ); 177 m_listBox->blockSignals( block );
178 emit changed(); 178 emit changed();
179 } 179 }
180 } 180 }
181 181
182 if ( !servNewButton ) 182 if ( !servNewButton )
183 return; 183 return;
184 184
185 if (!d->m_checkAtEntering) 185 if (!d->m_checkAtEntering)
186 servNewButton->setEnabled(!text.isEmpty()); 186 servNewButton->setEnabled(!text.isEmpty());
187 else 187 else
188 { 188 {
189 if (text.isEmpty()) 189 if (text.isEmpty())
190 { 190 {
191 servNewButton->setEnabled(false); 191 servNewButton->setEnabled(false);
192 } 192 }
193 else 193 else
194 { 194 {
195 #if QT_VERSION > 290 195 #if QT_VERSION >= 0x030000
196 StringComparisonMode mode = (StringComparisonMode) (ExactMatch | CaseSensitive ); 196 StringComparisonMode mode = (StringComparisonMode) (ExactMatch | CaseSensitive );
197 bool enable = (m_listBox->findItem( text, mode ) == 0L); 197 bool enable = (m_listBox->findItem( text, mode ) == 0L);
198 #else 198 #else
199 bool enable = (m_listBox->findItem( text ) == 0L); 199 bool enable = (m_listBox->findItem( text ) == 0L);
200 #endif 200 #endif
201 servNewButton->setEnabled( enable ); 201 servNewButton->setEnabled( enable );
202 } 202 }
203 } 203 }
204} 204}
205 205
206void OEditListBox::moveItemUp() 206void OEditListBox::moveItemUp()
207{ 207{
208 if (!m_listBox->isEnabled()) 208 if (!m_listBox->isEnabled())
209 { 209 {
210 //ONotifyClient::beep(); 210 //ONotifyClient::beep();
211 return; 211 return;
212 } 212 }
213 213
214 unsigned int selIndex = m_listBox->currentItem(); 214 unsigned int selIndex = m_listBox->currentItem();
215 if (selIndex == 0) 215 if (selIndex == 0)
216 { 216 {
217 //ONotifyClient::beep(); 217 //ONotifyClient::beep();
218 return; 218 return;
219 } 219 }
220 220
221 QListBoxItem *selItem = m_listBox->item(selIndex); 221 QListBoxItem *selItem = m_listBox->item(selIndex);
222 m_listBox->takeItem(selItem); 222 m_listBox->takeItem(selItem);
223 m_listBox->insertItem(selItem, selIndex-1); 223 m_listBox->insertItem(selItem, selIndex-1);
224 m_listBox->setCurrentItem(selIndex - 1); 224 m_listBox->setCurrentItem(selIndex - 1);
225 225
226 emit changed(); 226 emit changed();
227} 227}
228 228
229void OEditListBox::moveItemDown() 229void OEditListBox::moveItemDown()
230{ 230{
231 if (!m_listBox->isEnabled()) 231 if (!m_listBox->isEnabled())
232 { 232 {
233 //ONotifyClient::beep(); 233 //ONotifyClient::beep();
234 return; 234 return;
235 } 235 }
236 236
237 unsigned int selIndex = m_listBox->currentItem(); 237 unsigned int selIndex = m_listBox->currentItem();
238 if (selIndex == m_listBox->count() - 1) 238 if (selIndex == m_listBox->count() - 1)
239 { 239 {
240 //ONotifyClient::beep(); 240 //ONotifyClient::beep();
241 return; 241 return;
242 } 242 }
243 243
244 QListBoxItem *selItem = m_listBox->item(selIndex); 244 QListBoxItem *selItem = m_listBox->item(selIndex);
245 m_listBox->takeItem(selItem); 245 m_listBox->takeItem(selItem);
246 m_listBox->insertItem(selItem, selIndex+1); 246 m_listBox->insertItem(selItem, selIndex+1);
247 m_listBox->setCurrentItem(selIndex + 1); 247 m_listBox->setCurrentItem(selIndex + 1);
248 248
249 emit changed(); 249 emit changed();
250} 250}
251 251
252void OEditListBox::addItem() 252void OEditListBox::addItem()
253{ 253{
254 // when m_checkAtEntering is true, the add-button is disabled, but this 254 // when m_checkAtEntering is true, the add-button is disabled, but this
255 // slot can still be called through Key_Return/Key_Enter. So we guard 255 // slot can still be called through Key_Return/Key_Enter. So we guard
256 // against this. 256 // against this.
257 if ( !servNewButton || !servNewButton->isEnabled() ) 257 if ( !servNewButton || !servNewButton->isEnabled() )
258 return; 258 return;
259 259
260 const QString& currentTextLE=m_lineEdit->text(); 260 const QString& currentTextLE=m_lineEdit->text();
261 bool alreadyInList(false); 261 bool alreadyInList(false);
262 //if we didn't check for dupes at the inserting we have to do it now 262 //if we didn't check for dupes at the inserting we have to do it now
263 if (!d->m_checkAtEntering) 263 if (!d->m_checkAtEntering)
264 { 264 {
265 // first check current item instead of dumb iterating the entire list 265 // first check current item instead of dumb iterating the entire list
266 if ( m_listBox->currentText() == currentTextLE ) 266 if ( m_listBox->currentText() == currentTextLE )
267 alreadyInList = true; 267 alreadyInList = true;
268 else 268 else
269 { 269 {
270 #if QT_VERSION > 290 270 #if QT_VERSION >= 0x030000
271 StringComparisonMode mode = (StringComparisonMode) (ExactMatch | CaseSensitive ); 271 StringComparisonMode mode = (StringComparisonMode) (ExactMatch | CaseSensitive );
272 alreadyInList =(m_listBox->findItem(currentTextLE, mode) != 0); 272 alreadyInList =(m_listBox->findItem(currentTextLE, mode) != 0);
273 #else 273 #else
274 alreadyInList =(m_listBox->findItem(currentTextLE) != 0); 274 alreadyInList =(m_listBox->findItem(currentTextLE) != 0);
275 #endif 275 #endif
276 } 276 }
277 } 277 }
278 278
279 if ( servNewButton ) 279 if ( servNewButton )
280 servNewButton->setEnabled(false); 280 servNewButton->setEnabled(false);
281 281
282 bool block = m_lineEdit->signalsBlocked(); 282 bool block = m_lineEdit->signalsBlocked();
283 m_lineEdit->blockSignals(true); 283 m_lineEdit->blockSignals(true);
284 m_lineEdit->clear(); 284 m_lineEdit->clear();
285 m_lineEdit->blockSignals(block); 285 m_lineEdit->blockSignals(block);
286 286
287 m_listBox->setSelected(currentItem(), false); 287 m_listBox->setSelected(currentItem(), false);
288 288
289 if (!alreadyInList) 289 if (!alreadyInList)
290 { 290 {
291 block = m_listBox->signalsBlocked(); 291 block = m_listBox->signalsBlocked();
292 m_listBox->blockSignals( true ); 292 m_listBox->blockSignals( true );
293 m_listBox->insertItem(currentTextLE); 293 m_listBox->insertItem(currentTextLE);
294 m_listBox->blockSignals( block ); 294 m_listBox->blockSignals( block );
295 emit changed(); 295 emit changed();
296 emit added( currentTextLE ); 296 emit added( currentTextLE );
297 } 297 }
298} 298}
299 299
300int OEditListBox::currentItem() const 300int OEditListBox::currentItem() const
301{ 301{
302 int nr = m_listBox->currentItem(); 302 int nr = m_listBox->currentItem();
303 #if QT_VERSION > 290 303 #if QT_VERSION >= 0x030000
304 if(nr >= 0 && !m_listBox->item(nr)->isSelected()) return -1; 304 if(nr >= 0 && !m_listBox->item(nr)->isSelected()) return -1;
305 #else 305 #else
306 if(nr >= 0 && !m_listBox->isSelected(m_listBox->item(nr))) return -1; 306 if(nr >= 0 && !m_listBox->isSelected(m_listBox->item(nr))) return -1;
307 #endif 307 #endif
308 return nr; 308 return nr;
309} 309}
310 310
311void OEditListBox::removeItem() 311void OEditListBox::removeItem()
312{ 312{
313 int selected = m_listBox->currentItem(); 313 int selected = m_listBox->currentItem();
314 314
315 if ( selected >= 0 ) 315 if ( selected >= 0 )
316 { 316 {
317 QString removedText = m_listBox->currentText(); 317 QString removedText = m_listBox->currentText();
318 318
319 m_listBox->removeItem( selected ); 319 m_listBox->removeItem( selected );
320 if ( count() > 0 ) 320 if ( count() > 0 )
321 m_listBox->setSelected( QMIN( selected, count() - 1 ), true ); 321 m_listBox->setSelected( QMIN( selected, count() - 1 ), true );
322 322
323 emit changed(); 323 emit changed();
324 emit removed( removedText ); 324 emit removed( removedText );
325 } 325 }
326 326
327 if ( servRemoveButton && m_listBox->currentItem() == -1 ) 327 if ( servRemoveButton && m_listBox->currentItem() == -1 )
328 servRemoveButton->setEnabled(false); 328 servRemoveButton->setEnabled(false);
329} 329}
330 330
331void OEditListBox::enableMoveButtons(int index) 331void OEditListBox::enableMoveButtons(int index)
332{ 332{
333 // Update the lineEdit when we select a different line. 333 // Update the lineEdit when we select a different line.
334 if(currentText() != m_lineEdit->text()) 334 if(currentText() != m_lineEdit->text())
335 m_lineEdit->setText(currentText()); 335 m_lineEdit->setText(currentText());
336 336
337 bool moveEnabled = servUpButton && servDownButton; 337 bool moveEnabled = servUpButton && servDownButton;
338 338
339 if (moveEnabled ) 339 if (moveEnabled )
340 { 340 {
341 if (m_listBox->count() <= 1) 341 if (m_listBox->count() <= 1)
342 { 342 {
343 servUpButton->setEnabled(false); 343 servUpButton->setEnabled(false);
344 servDownButton->setEnabled(false); 344 servDownButton->setEnabled(false);
345 } 345 }
346 else if ((uint) index == (m_listBox->count() - 1)) 346 else if ((uint) index == (m_listBox->count() - 1))
347 { 347 {
348 servUpButton->setEnabled(true); 348 servUpButton->setEnabled(true);
349 servDownButton->setEnabled(false); 349 servDownButton->setEnabled(false);
350 } 350 }
351 else if (index == 0) 351 else if (index == 0)
diff --git a/libopie2/qt3/opieui/olineedit.cpp b/libopie2/qt3/opieui/olineedit.cpp
index 6f66fc7..b150987 100644
--- a/libopie2/qt3/opieui/olineedit.cpp
+++ b/libopie2/qt3/opieui/olineedit.cpp
@@ -100,97 +100,97 @@ void OLineEdit::init()
100 installEventFilter( this ); 100 installEventFilter( this );
101} 101}
102 102
103void OLineEdit::setCompletionMode( OGlobalSettings::Completion mode ) 103void OLineEdit::setCompletionMode( OGlobalSettings::Completion mode )
104{ 104{
105 OGlobalSettings::Completion oldMode = completionMode(); 105 OGlobalSettings::Completion oldMode = completionMode();
106 if ( oldMode != mode && oldMode == OGlobalSettings::CompletionPopup && 106 if ( oldMode != mode && oldMode == OGlobalSettings::CompletionPopup &&
107 d->completionBox && d->completionBox->isVisible() ) 107 d->completionBox && d->completionBox->isVisible() )
108 d->completionBox->hide(); 108 d->completionBox->hide();
109 109
110 // If the widgets echo mode is not Normal, no completion 110 // If the widgets echo mode is not Normal, no completion
111 // feature will be enabled even if one is requested. 111 // feature will be enabled even if one is requested.
112 if ( echoMode() != QLineEdit::Normal ) 112 if ( echoMode() != QLineEdit::Normal )
113 mode = OGlobalSettings::CompletionNone; // Override the request. 113 mode = OGlobalSettings::CompletionNone; // Override the request.
114 114
115 OCompletionBase::setCompletionMode( mode ); 115 OCompletionBase::setCompletionMode( mode );
116} 116}
117 117
118void OLineEdit::setCompletedText( const QString& t, bool marked ) 118void OLineEdit::setCompletedText( const QString& t, bool marked )
119{ 119{
120 QString txt = text(); 120 QString txt = text();
121 if ( t != txt ) 121 if ( t != txt )
122 { 122 {
123 int curpos = marked ? txt.length() : t.length(); 123 int curpos = marked ? txt.length() : t.length();
124 validateAndSet( t, curpos, curpos, t.length() ); 124 validateAndSet( t, curpos, curpos, t.length() );
125 } 125 }
126} 126}
127 127
128void OLineEdit::setCompletedText( const QString& text ) 128void OLineEdit::setCompletedText( const QString& text )
129{ 129{
130 OGlobalSettings::Completion mode = completionMode(); 130 OGlobalSettings::Completion mode = completionMode();
131 bool marked = ( mode == OGlobalSettings::CompletionAuto || 131 bool marked = ( mode == OGlobalSettings::CompletionAuto ||
132 mode == OGlobalSettings::CompletionMan || 132 mode == OGlobalSettings::CompletionMan ||
133 mode == OGlobalSettings::CompletionPopup ); 133 mode == OGlobalSettings::CompletionPopup );
134 setCompletedText( text, marked ); 134 setCompletedText( text, marked );
135} 135}
136 136
137void OLineEdit::rotateText( OCompletionBase::KeyBindingType type ) 137void OLineEdit::rotateText( OCompletionBase::KeyBindingType type )
138{ 138{
139 OCompletion* comp = compObj(); 139 OCompletion* comp = compObj();
140 if ( comp && 140 if ( comp &&
141 (type == OCompletionBase::PrevCompletionMatch || 141 (type == OCompletionBase::PrevCompletionMatch ||
142 type == OCompletionBase::NextCompletionMatch ) ) 142 type == OCompletionBase::NextCompletionMatch ) )
143 { 143 {
144 QString input = (type == OCompletionBase::PrevCompletionMatch) ? comp->previousMatch() : comp->nextMatch(); 144 QString input = (type == OCompletionBase::PrevCompletionMatch) ? comp->previousMatch() : comp->nextMatch();
145 // Skip rotation if previous/next match is null or the same text 145 // Skip rotation if previous/next match is null or the same text
146 if ( input.isNull() || input == displayText() ) 146 if ( input.isNull() || input == displayText() )
147 return; 147 return;
148 #if QT_VERSION > 290 148 #if QT_VERSION >= 0x030000
149 setCompletedText( input, hasSelectedText() ); 149 setCompletedText( input, hasSelectedText() );
150 #else 150 #else
151 setCompletedText( input, hasMarkedText() ); 151 setCompletedText( input, hasMarkedText() );
152 #endif 152 #endif
153 } 153 }
154} 154}
155 155
156void OLineEdit::makeCompletion( const QString& text ) 156void OLineEdit::makeCompletion( const QString& text )
157{ 157{
158 OCompletion *comp = compObj(); 158 OCompletion *comp = compObj();
159 if ( !comp ) 159 if ( !comp )
160 return; // No completion object... 160 return; // No completion object...
161 161
162 QString match = comp->makeCompletion( text ); 162 QString match = comp->makeCompletion( text );
163 OGlobalSettings::Completion mode = completionMode(); 163 OGlobalSettings::Completion mode = completionMode();
164 if ( mode == OGlobalSettings::CompletionPopup ) 164 if ( mode == OGlobalSettings::CompletionPopup )
165 { 165 {
166 if ( match.isNull() ) 166 if ( match.isNull() )
167 { 167 {
168 if ( d->completionBox ) { 168 if ( d->completionBox ) {
169 d->completionBox->hide(); 169 d->completionBox->hide();
170 d->completionBox->clear(); 170 d->completionBox->clear();
171 } 171 }
172 } 172 }
173 else 173 else
174 setCompletedItems( comp->allMatches() ); 174 setCompletedItems( comp->allMatches() );
175 } 175 }
176 else 176 else
177 { 177 {
178 // all other completion modes 178 // all other completion modes
179 // If no match or the same match, simply return without completing. 179 // If no match or the same match, simply return without completing.
180 if ( match.isNull() || match == text ) 180 if ( match.isNull() || match == text )
181 return; 181 return;
182 182
183 setCompletedText( match ); 183 setCompletedText( match );
184 } 184 }
185} 185}
186 186
187void OLineEdit::setReadOnly(bool readOnly) 187void OLineEdit::setReadOnly(bool readOnly)
188{ 188{
189 QPalette p = palette(); 189 QPalette p = palette();
190 if (readOnly) 190 if (readOnly)
191 { 191 {
192 QColor color = p.color(QPalette::Disabled, QColorGroup::Background); 192 QColor color = p.color(QPalette::Disabled, QColorGroup::Background);
193 p.setColor(QColorGroup::Base, color); 193 p.setColor(QColorGroup::Base, color);
194 p.setColor(QColorGroup::Background, color); 194 p.setColor(QColorGroup::Background, color);
195 } 195 }
196 else 196 else
@@ -226,97 +226,97 @@ void OLineEdit::keyPressEvent( QKeyEvent *e )
226 } 226 }
227 else if ( KStdAccel::undo().contains( key ) ) { 227 else if ( KStdAccel::undo().contains( key ) ) {
228 undo(); 228 undo();
229 return; 229 return;
230 } 230 }
231 else if ( KStdAccel::redo().contains( key ) ) { 231 else if ( KStdAccel::redo().contains( key ) ) {
232 redo(); 232 redo();
233 return; 233 return;
234 } 234 }
235 else if ( KStdAccel::deleteWordBack().contains( key ) ) 235 else if ( KStdAccel::deleteWordBack().contains( key ) )
236 { 236 {
237 cursorWordBackward(TRUE); 237 cursorWordBackward(TRUE);
238 if ( hasSelectedText() ) 238 if ( hasSelectedText() )
239 del(); 239 del();
240 240
241 e->accept(); 241 e->accept();
242 return; 242 return;
243 } 243 }
244 else if ( KStdAccel::deleteWordForward().contains( key ) ) 244 else if ( KStdAccel::deleteWordForward().contains( key ) )
245 { 245 {
246 // Workaround for QT bug where 246 // Workaround for QT bug where
247 cursorWordForward(TRUE); 247 cursorWordForward(TRUE);
248 if ( hasSelectedText() ) 248 if ( hasSelectedText() )
249 del(); 249 del();
250 250
251 e->accept(); 251 e->accept();
252 return; 252 return;
253 } 253 }
254 */ 254 */
255 255
256 // Filter key-events if EchoMode is normal & 256 // Filter key-events if EchoMode is normal &
257 // completion mode is not set to CompletionNone 257 // completion mode is not set to CompletionNone
258 if ( echoMode() == QLineEdit::Normal && 258 if ( echoMode() == QLineEdit::Normal &&
259 completionMode() != OGlobalSettings::CompletionNone ) 259 completionMode() != OGlobalSettings::CompletionNone )
260 { 260 {
261 KeyBindingMap keys = getKeyBindings(); 261 KeyBindingMap keys = getKeyBindings();
262 OGlobalSettings::Completion mode = completionMode(); 262 OGlobalSettings::Completion mode = completionMode();
263 bool noModifier = (e->state() == NoButton || e->state()== ShiftButton); 263 bool noModifier = (e->state() == NoButton || e->state()== ShiftButton);
264 264
265 if ( (mode == OGlobalSettings::CompletionAuto || 265 if ( (mode == OGlobalSettings::CompletionAuto ||
266 mode == OGlobalSettings::CompletionMan) && noModifier ) 266 mode == OGlobalSettings::CompletionMan) && noModifier )
267 { 267 {
268 QString keycode = e->text(); 268 QString keycode = e->text();
269 if ( !keycode.isNull() && keycode.unicode()->isPrint() ) 269 if ( !keycode.isNull() && keycode.unicode()->isPrint() )
270 { 270 {
271 QLineEdit::keyPressEvent ( e ); 271 QLineEdit::keyPressEvent ( e );
272 QString txt = text(); 272 QString txt = text();
273 int len = txt.length(); 273 int len = txt.length();
274 #if QT_VERSION > 290 274 #if QT_VERSION >= 0x030000
275 if ( !hasSelectedText() && len && cursorPosition() == len ) 275 if ( !hasSelectedText() && len && cursorPosition() == len )
276 #else 276 #else
277 if ( !hasMarkedText() && len && cursorPosition() == len ) 277 if ( !hasMarkedText() && len && cursorPosition() == len )
278 #endif 278 #endif
279 { 279 {
280 if ( emitSignals() ) 280 if ( emitSignals() )
281 emit completion( txt ); 281 emit completion( txt );
282 if ( handleSignals() ) 282 if ( handleSignals() )
283 makeCompletion( txt ); 283 makeCompletion( txt );
284 e->accept(); 284 e->accept();
285 } 285 }
286 return; 286 return;
287 } 287 }
288 } 288 }
289 289
290 else if ( mode == OGlobalSettings::CompletionPopup && noModifier ) 290 else if ( mode == OGlobalSettings::CompletionPopup && noModifier )
291 { 291 {
292 qDebug( "OLineEdit::keyPressEvent() - global settings = CompletionPopup & noModifier" ); 292 qDebug( "OLineEdit::keyPressEvent() - global settings = CompletionPopup & noModifier" );
293 293
294 QString old_txt = text(); 294 QString old_txt = text();
295 QLineEdit::keyPressEvent ( e ); 295 QLineEdit::keyPressEvent ( e );
296 QString txt = text(); 296 QString txt = text();
297 int len = txt.length(); 297 int len = txt.length();
298 QString keycode = e->text(); 298 QString keycode = e->text();
299 299
300 300
301 if ( txt != old_txt && len && cursorPosition() == len && 301 if ( txt != old_txt && len && cursorPosition() == len &&
302 ( (!keycode.isNull() && keycode.unicode()->isPrint()) || 302 ( (!keycode.isNull() && keycode.unicode()->isPrint()) ||
303 e->key() == Key_Backspace ) ) 303 e->key() == Key_Backspace ) )
304 { 304 {
305 if ( emitSignals() ) 305 if ( emitSignals() )
306 emit completion( txt ); // emit when requested... 306 emit completion( txt ); // emit when requested...
307 if ( handleSignals() ) 307 if ( handleSignals() )
308 makeCompletion( txt ); // handle when requested... 308 makeCompletion( txt ); // handle when requested...
309 e->accept(); 309 e->accept();
310 } 310 }
311 else if (!len && d->completionBox && d->completionBox->isVisible()) 311 else if (!len && d->completionBox && d->completionBox->isVisible())
312 d->completionBox->hide(); 312 d->completionBox->hide();
313 313
314 return; 314 return;
315 } 315 }
316 316
317 /*else if ( mode == OGlobalSettings::CompletionShell ) 317 /*else if ( mode == OGlobalSettings::CompletionShell )
318 { 318 {
319 // Handles completion. 319 // Handles completion.
320 KShortcut cut; 320 KShortcut cut;
321 if ( keys[TextCompletion].isNull() ) 321 if ( keys[TextCompletion].isNull() )
322 cut = KStdAccel::shortcut(KStdAccel::TextCompletion); 322 cut = KStdAccel::shortcut(KStdAccel::TextCompletion);
@@ -391,97 +391,97 @@ void OLineEdit::keyPressEvent( QKeyEvent *e )
391 if ( emitSignals() ) 391 if ( emitSignals() )
392 emit substringCompletion( text() ); 392 emit substringCompletion( text() );
393 if ( handleSignals() ) 393 if ( handleSignals() )
394 { 394 {
395 setCompletedItems( compObj()->substringCompletion(text())); 395 setCompletedItems( compObj()->substringCompletion(text()));
396 e->accept(); 396 e->accept();
397 } 397 }
398 return; 398 return;
399 } 399 }
400 } */ 400 } */
401 } 401 }
402 402
403 // Let QLineEdit handle any other keys events. 403 // Let QLineEdit handle any other keys events.
404 QLineEdit::keyPressEvent ( e ); 404 QLineEdit::keyPressEvent ( e );
405} 405}
406 406
407void OLineEdit::mouseDoubleClickEvent( QMouseEvent* e ) 407void OLineEdit::mouseDoubleClickEvent( QMouseEvent* e )
408{ 408{
409 if ( e->button() == Qt::LeftButton ) 409 if ( e->button() == Qt::LeftButton )
410 { 410 {
411 possibleTripleClick=true; 411 possibleTripleClick=true;
412 QTimer::singleShot( QApplication::doubleClickInterval(),this, 412 QTimer::singleShot( QApplication::doubleClickInterval(),this,
413 SLOT(tripleClickTimeout()) ); 413 SLOT(tripleClickTimeout()) );
414 } 414 }
415 QLineEdit::mouseDoubleClickEvent( e ); 415 QLineEdit::mouseDoubleClickEvent( e );
416} 416}
417 417
418void OLineEdit::mousePressEvent( QMouseEvent* e ) 418void OLineEdit::mousePressEvent( QMouseEvent* e )
419{ 419{
420 if ( possibleTripleClick && e->button() == Qt::LeftButton ) 420 if ( possibleTripleClick && e->button() == Qt::LeftButton )
421 { 421 {
422 selectAll(); 422 selectAll();
423 return; 423 return;
424 } 424 }
425 QLineEdit::mousePressEvent( e ); 425 QLineEdit::mousePressEvent( e );
426} 426}
427 427
428void OLineEdit::tripleClickTimeout() 428void OLineEdit::tripleClickTimeout()
429{ 429{
430 possibleTripleClick=false; 430 possibleTripleClick=false;
431} 431}
432 432
433QPopupMenu *OLineEdit::createPopupMenu() 433QPopupMenu *OLineEdit::createPopupMenu()
434{ 434{
435 // Return if popup menu is not enabled !! 435 // Return if popup menu is not enabled !!
436 if ( !m_bEnableMenu ) 436 if ( !m_bEnableMenu )
437 return 0; 437 return 0;
438 438
439 #if QT_VERSION > 290 439 #if QT_VERSION >= 0x030000
440 QPopupMenu *popup = QLineEdit::createPopupMenu(); 440 QPopupMenu *popup = QLineEdit::createPopupMenu();
441 #else 441 #else
442 QPopupMenu *popup = new QPopupMenu(); 442 QPopupMenu *popup = new QPopupMenu();
443 #warning OLineEdit is not fully functional on Qt2 443 #warning OLineEdit is not fully functional on Qt2
444 #endif 444 #endif
445 445
446 // completion object is present. 446 // completion object is present.
447 if ( compObj() ) 447 if ( compObj() )
448 { 448 {
449 QPopupMenu *subMenu = new QPopupMenu( popup ); 449 QPopupMenu *subMenu = new QPopupMenu( popup );
450 connect( subMenu, SIGNAL( activated(int) ), 450 connect( subMenu, SIGNAL( activated(int) ),
451 this, SLOT( completionMenuActivated(int) ) ); 451 this, SLOT( completionMenuActivated(int) ) );
452 452
453 popup->insertSeparator(); 453 popup->insertSeparator();
454 //popup->insertItem( SmallIconSet("completion"), i18n("Text Completion"), 454 //popup->insertItem( SmallIconSet("completion"), i18n("Text Completion"),
455 // subMenu ); 455 // subMenu );
456 456
457 popup->insertItem( tr("Text Completion"), subMenu ); 457 popup->insertItem( tr("Text Completion"), subMenu );
458 458
459 subMenu->insertItem( tr("None"), NoCompletion ); 459 subMenu->insertItem( tr("None"), NoCompletion );
460 subMenu->insertItem( tr("Manual"), ShellCompletion ); 460 subMenu->insertItem( tr("Manual"), ShellCompletion );
461 subMenu->insertItem( tr("Automatic"), AutoCompletion ); 461 subMenu->insertItem( tr("Automatic"), AutoCompletion );
462 subMenu->insertItem( tr("Dropdown List"), PopupCompletion ); 462 subMenu->insertItem( tr("Dropdown List"), PopupCompletion );
463 subMenu->insertItem( tr("Short Automatic"), SemiAutoCompletion ); 463 subMenu->insertItem( tr("Short Automatic"), SemiAutoCompletion );
464 464
465 //subMenu->setAccel( KStdAccel::completion(), ShellCompletion ); 465 //subMenu->setAccel( KStdAccel::completion(), ShellCompletion );
466 subMenu->setAccel( Key_Tab, ShellCompletion ); 466 subMenu->setAccel( Key_Tab, ShellCompletion );
467 467
468 OGlobalSettings::Completion mode = completionMode(); 468 OGlobalSettings::Completion mode = completionMode();
469 subMenu->setItemChecked( NoCompletion, 469 subMenu->setItemChecked( NoCompletion,
470 mode == OGlobalSettings::CompletionNone ); 470 mode == OGlobalSettings::CompletionNone );
471 subMenu->setItemChecked( ShellCompletion, 471 subMenu->setItemChecked( ShellCompletion,
472 mode == OGlobalSettings::CompletionShell ); 472 mode == OGlobalSettings::CompletionShell );
473 subMenu->setItemChecked( PopupCompletion, 473 subMenu->setItemChecked( PopupCompletion,
474 mode == OGlobalSettings::CompletionPopup ); 474 mode == OGlobalSettings::CompletionPopup );
475 subMenu->setItemChecked( AutoCompletion, 475 subMenu->setItemChecked( AutoCompletion,
476 mode == OGlobalSettings::CompletionAuto ); 476 mode == OGlobalSettings::CompletionAuto );
477 subMenu->setItemChecked( SemiAutoCompletion, 477 subMenu->setItemChecked( SemiAutoCompletion,
478 mode == OGlobalSettings::CompletionMan ); 478 mode == OGlobalSettings::CompletionMan );
479 if ( mode != OGlobalSettings::completionMode() ) 479 if ( mode != OGlobalSettings::completionMode() )
480 { 480 {
481 subMenu->insertSeparator(); 481 subMenu->insertSeparator();
482 subMenu->insertItem( tr("Default"), Default ); 482 subMenu->insertItem( tr("Default"), Default );
483 } 483 }
484 } 484 }
485 // ### do we really need this? Yes, Please do not remove! This 485 // ### do we really need this? Yes, Please do not remove! This
486 // allows applications to extend the popup menu without having to 486 // allows applications to extend the popup menu without having to
487 // inherit from this class! (DA) 487 // inherit from this class! (DA)