summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opieui/olistview.cpp8
-rw-r--r--libopie2/opieui/opopupmenu.cpp4
-rw-r--r--libopie2/opieui/oselector.cpp2
-rw-r--r--libopie2/opieui/oselector.h4
-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
8 files changed, 19 insertions, 19 deletions
diff --git a/libopie2/opieui/olistview.cpp b/libopie2/opieui/olistview.cpp
index 67b4b83..4386e0e 100644
--- a/libopie2/opieui/olistview.cpp
+++ b/libopie2/opieui/olistview.cpp
@@ -2,166 +2,166 @@
2                 This file is part of the Opie Project 2                 This file is part of the Opie Project
3 =. (C) 2003-2004 Michael 'Mickey' Lauer <mickey@Vanille.de> 3 =. (C) 2003-2004 Michael 'Mickey' Lauer <mickey@Vanille.de>
4 .=l. 4 .=l.
5           .>+-= 5           .>+-=
6 _;:,     .>    :=|. This program is free software; you can 6 _;:,     .>    :=|. This program is free software; you can
7.> <`_,   >  .   <= redistribute it and/or modify it under 7.> <`_,   >  .   <= redistribute it and/or modify it under
8:`=1 )Y*s>-.--   : the terms of the GNU Library General Public 8:`=1 )Y*s>-.--   : the terms of the GNU Library General Public
9.="- .-=="i,     .._ License as published by the Free Software 9.="- .-=="i,     .._ License as published by the Free Software
10 - .   .-<_>     .<> Foundation; either version 2 of the License, 10 - .   .-<_>     .<> Foundation; either version 2 of the License,
11     ._= =}       : or (at your option) any later version. 11     ._= =}       : or (at your option) any later version.
12    .%`+i>       _;_. 12    .%`+i>       _;_.
13    .i_,=:_.      -<s. This program is distributed in the hope that 13    .i_,=:_.      -<s. This program is distributed in the hope that
14     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 14     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
15    : ..    .:,     . . . without even the implied warranty of 15    : ..    .:,     . . . without even the implied warranty of
16    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A 16    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
17  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU 17  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
18..}^=.=       =       ; Library General Public License for more 18..}^=.=       =       ; Library General Public License for more
19++=   -.     .`     .: details. 19++=   -.     .`     .: details.
20 :     =  ...= . :.=- 20 :     =  ...= . :.=-
21 -.   .:....=;==+<; You should have received a copy of the GNU 21 -.   .:....=;==+<; You should have received a copy of the GNU
22  -_. . .   )=.  = Library General Public License along with 22  -_. . .   )=.  = Library General Public License along with
23    --        :-=` this library; see the file COPYING.LIB. 23    --        :-=` this library; see the file COPYING.LIB.
24 If not, write to the Free Software Foundation, 24 If not, write to the Free Software Foundation,
25 Inc., 59 Temple Place - Suite 330, 25 Inc., 59 Temple Place - Suite 330,
26 Boston, MA 02111-1307, USA. 26 Boston, MA 02111-1307, USA.
27 27
28*/ 28*/
29 29
30/* QT */ 30/* QT */
31 31
32#include <qpixmap.h> 32#include <qpixmap.h>
33 33
34/* OPIE */ 34/* OPIE */
35 35
36#include <opie2/odebug.h> 36#include <opie2/odebug.h>
37#include <opie2/olistview.h> 37#include <opie2/olistview.h>
38 38
39using namespace Opie::Core; 39using namespace Opie::Core;
40 40
41 41
42namespace Opie { 42namespace Opie {
43namespace Ui { 43namespace Ui {
44/*====================================================================================== 44/*======================================================================================
45 * OListView 45 * OListView
46 *======================================================================================*/ 46 *======================================================================================*/
47 47
48OListView::OListView( QWidget *parent, const char *name, WFlags fl ) 48OListView::OListView( QWidget *parent, const char *name, WFlags fl )
49 :QListView( parent, name, fl ) 49 :QListView( parent, name, fl )
50{ 50{
51 //FIXME: get from global settings and calculate ==> see oglobalsettings.* 51 //FIXME: get from global settings and calculate ==> see oglobalsettings.*
52 52
53 m_alternateBackground = QColor( 238, 246, 255 ); 53 m_alternateBackground = QColor( 238, 246, 255 );
54 m_columnSeparator = QPen( QColor( 150, 160, 170 ), 0, DotLine ); 54 m_columnSeparator = QPen( QColor( 150, 160, 170 ), 0, DotLine );
55 m_fullWidth = true; 55 m_fullWidth = true;
56 connect( this, SIGNAL(expanded(QListViewItem*)), SLOT(expand(QListViewItem*))); 56 connect( this, SIGNAL(expanded(QListViewItem*)), SLOT(expand(QListViewItem*)));
57} 57}
58 58
59OListView::~OListView() 59OListView::~OListView()
60{ 60{
61} 61}
62 62
63void OListView::setFullWidth( bool fullWidth ) 63void OListView::setFullWidth( bool fullWidth )
64{ 64{
65 m_fullWidth = fullWidth; 65 m_fullWidth = fullWidth;
66 #if QT_VERSION > 290 66 #if QT_VERSION >= 0x030000
67 header()->setStretchEnabled( fullWidth, columns()-1 ); 67 header()->setStretchEnabled( fullWidth, columns()-1 );
68 #endif 68 #endif
69} 69}
70 70
71bool OListView::fullWidth() const 71bool OListView::fullWidth() const
72{ 72{
73 return m_fullWidth; 73 return m_fullWidth;
74} 74}
75 75
76int OListView::addColumn( const QString& label, int width ) 76int OListView::addColumn( const QString& label, int width )
77{ 77{
78 int result = QListView::addColumn( label, width ); 78 int result = QListView::addColumn( label, width );
79 #if QT_VERSION > 290 79 #if QT_VERSION >= 0x030000
80 if (m_fullWidth) { 80 if (m_fullWidth) {
81 header()->setStretchEnabled( false, columns()-2 ); 81 header()->setStretchEnabled( false, columns()-2 );
82 header()->setStretchEnabled( true, columns()-1 ); 82 header()->setStretchEnabled( true, columns()-1 );
83 } 83 }
84 #endif 84 #endif
85 return result; 85 return result;
86} 86}
87 87
88int OListView::addColumn( const QIconSet& iconset, const QString& label, int width ) 88int OListView::addColumn( const QIconSet& iconset, const QString& label, int width )
89{ 89{
90 int result = QListView::addColumn( iconset, label, width ); 90 int result = QListView::addColumn( iconset, label, width );
91 #if QT_VERSION > 290 91 #if QT_VERSION >= 0x030000
92 if (m_fullWidth) { 92 if (m_fullWidth) {
93 header()->setStretchEnabled( false, columns()-2 ); 93 header()->setStretchEnabled( false, columns()-2 );
94 header()->setStretchEnabled( true, columns()-1 ); 94 header()->setStretchEnabled( true, columns()-1 );
95 } 95 }
96 #endif 96 #endif
97 return result; 97 return result;
98} 98}
99 99
100void OListView::removeColumn( int index ) 100void OListView::removeColumn( int index )
101{ 101{
102 QListView::removeColumn(index); 102 QListView::removeColumn(index);
103 #if QT_VERSION > 290 103 #if QT_VERSION >= 0x030000
104 if ( m_fullWidth && index == columns() ) 104 if ( m_fullWidth && index == columns() )
105 { 105 {
106 header()->setStretchEnabled( true, columns()-1 ); 106 header()->setStretchEnabled( true, columns()-1 );
107 } 107 }
108 #endif 108 #endif
109} 109}
110 110
111const QColor& OListView::alternateBackground() const 111const QColor& OListView::alternateBackground() const
112{ 112{
113 return m_alternateBackground; 113 return m_alternateBackground;
114} 114}
115 115
116void OListView::setAlternateBackground( const QColor &c ) 116void OListView::setAlternateBackground( const QColor &c )
117{ 117{
118 m_alternateBackground = c; 118 m_alternateBackground = c;
119 repaint(); 119 repaint();
120} 120}
121 121
122const QPen& OListView::columnSeparator() const 122const QPen& OListView::columnSeparator() const
123{ 123{
124 return m_columnSeparator; 124 return m_columnSeparator;
125} 125}
126 126
127void OListView::setColumnSeparator( const QPen& p ) 127void OListView::setColumnSeparator( const QPen& p )
128{ 128{
129 m_columnSeparator = p; 129 m_columnSeparator = p;
130 repaint(); 130 repaint();
131} 131}
132 132
133void OListView::expand(QListViewItem *item) 133void OListView::expand(QListViewItem *item)
134{ 134{
135 ((OListViewItem*)item)->expand(); 135 ((OListViewItem*)item)->expand();
136} 136}
137 137
138OListViewItem* OListView::childFactory() 138OListViewItem* OListView::childFactory()
139{ 139{
140 return new OListViewItem( this ); 140 return new OListViewItem( this );
141} 141}
142 142
143#ifndef QT_NO_DATASTREAM 143#ifndef QT_NO_DATASTREAM
144void OListView::serializeTo( QDataStream& s ) const 144void OListView::serializeTo( QDataStream& s ) const
145{ 145{
146 #warning Caution... the binary format is still under construction... 146 #warning Caution... the binary format is still under construction...
147 odebug << "storing OListView..." << oendl; 147 odebug << "storing OListView..." << oendl;
148 148
149 // store number of columns and the labels 149 // store number of columns and the labels
150 s << columns(); 150 s << columns();
151 for ( int i = 0; i < columns(); ++i ) 151 for ( int i = 0; i < columns(); ++i )
152 s << columnText( i ); 152 s << columnText( i );
153 153
154 // calculate the number of top-level items to serialize 154 // calculate the number of top-level items to serialize
155 int items = 0; 155 int items = 0;
156 QListViewItem* item = firstChild(); 156 QListViewItem* item = firstChild();
157 while ( item ) 157 while ( item )
158 { 158 {
159 item = item->nextSibling(); 159 item = item->nextSibling();
160 items++; 160 items++;
161 } 161 }
162 162
163 // store number of items and the items itself 163 // store number of items and the items itself
164 s << items; 164 s << items;
165 item = firstChild(); 165 item = firstChild();
166 for ( int i = 0; i < items; ++i ) 166 for ( int i = 0; i < items; ++i )
167 { 167 {
diff --git a/libopie2/opieui/opopupmenu.cpp b/libopie2/opieui/opopupmenu.cpp
index 50c613f..5ce048e 100644
--- a/libopie2/opieui/opopupmenu.cpp
+++ b/libopie2/opieui/opopupmenu.cpp
@@ -24,129 +24,129 @@
24 24
25/* QT */ 25/* QT */
26#include <qdrawutil.h> 26#include <qdrawutil.h>
27#include <qtimer.h> 27#include <qtimer.h>
28 28
29 29
30using namespace Opie::Core; 30using namespace Opie::Core;
31using namespace Opie::Ui; 31using namespace Opie::Ui;
32 32
33OPopupTitle::OPopupTitle(QWidget *parent, const char *name) 33OPopupTitle::OPopupTitle(QWidget *parent, const char *name)
34 : QWidget(parent, name) 34 : QWidget(parent, name)
35{ 35{
36 setMinimumSize(16, fontMetrics().height()+8); 36 setMinimumSize(16, fontMetrics().height()+8);
37} 37}
38 38
39OPopupTitle::OPopupTitle(OPixmapEffect::GradientType /* gradient */, 39OPopupTitle::OPopupTitle(OPixmapEffect::GradientType /* gradient */,
40 const QColor &/* color */, const QColor &/* textColor */, 40 const QColor &/* color */, const QColor &/* textColor */,
41 QWidget *parent, const char *name) 41 QWidget *parent, const char *name)
42 : QWidget(parent, name) 42 : QWidget(parent, name)
43{ 43{
44 setMinimumSize(16, fontMetrics().height()+8); 44 setMinimumSize(16, fontMetrics().height()+8);
45} 45}
46 46
47OPopupTitle::OPopupTitle(const OPixmap & /* background */, const QColor &/* color */, 47OPopupTitle::OPopupTitle(const OPixmap & /* background */, const QColor &/* color */,
48 const QColor &/* textColor */, QWidget *parent, 48 const QColor &/* textColor */, QWidget *parent,
49 const char *name) 49 const char *name)
50 : QWidget(parent, name) 50 : QWidget(parent, name)
51{ 51{
52 setMinimumSize(16, fontMetrics().height()+8); 52 setMinimumSize(16, fontMetrics().height()+8);
53} 53}
54 54
55void OPopupTitle::setTitle(const QString &text, const QPixmap *icon) 55void OPopupTitle::setTitle(const QString &text, const QPixmap *icon)
56{ 56{
57 titleStr = text; 57 titleStr = text;
58 if (icon) 58 if (icon)
59 miniicon = *icon; 59 miniicon = *icon;
60 else 60 else
61 miniicon.resize(0, 0); 61 miniicon.resize(0, 0);
62 62
63 int w = miniicon.width()+fontMetrics().width(titleStr); 63 int w = miniicon.width()+fontMetrics().width(titleStr);
64 int h = QMAX( fontMetrics().height(), miniicon.height() ); 64 int h = QMAX( fontMetrics().height(), miniicon.height() );
65 setMinimumSize( w+16, h+8 ); 65 setMinimumSize( w+16, h+8 );
66} 66}
67 67
68void OPopupTitle::setText( const QString &text ) 68void OPopupTitle::setText( const QString &text )
69{ 69{
70 titleStr = text; 70 titleStr = text;
71 int w = miniicon.width()+fontMetrics().width(titleStr); 71 int w = miniicon.width()+fontMetrics().width(titleStr);
72 int h = QMAX( fontMetrics().height(), miniicon.height() ); 72 int h = QMAX( fontMetrics().height(), miniicon.height() );
73 setMinimumSize( w+16, h+8 ); 73 setMinimumSize( w+16, h+8 );
74} 74}
75 75
76void OPopupTitle::setIcon( const QPixmap &pix ) 76void OPopupTitle::setIcon( const QPixmap &pix )
77{ 77{
78 miniicon = pix; 78 miniicon = pix;
79 int w = miniicon.width()+fontMetrics().width(titleStr); 79 int w = miniicon.width()+fontMetrics().width(titleStr);
80 int h = QMAX( fontMetrics().height(), miniicon.height() ); 80 int h = QMAX( fontMetrics().height(), miniicon.height() );
81 setMinimumSize( w+16, h+8 ); 81 setMinimumSize( w+16, h+8 );
82} 82}
83 83
84void OPopupTitle::paintEvent(QPaintEvent *) 84void OPopupTitle::paintEvent(QPaintEvent *)
85{ 85{
86 QRect r(rect()); 86 QRect r(rect());
87 QPainter p(this); 87 QPainter p(this);
88 #if QT_VERSION > 290 88 #if QT_VERSION >= 0x030000
89 qApp->style().drawPrimitive(QStyle::PE_HeaderSection, &p, r, palette().active()); 89 qApp->style().drawPrimitive(QStyle::PE_HeaderSection, &p, r, palette().active());
90 #else 90 #else
91 #warning OPopupMenu is not fully functional on Qt2 91 #warning OPopupMenu is not fully functional on Qt2
92 #endif 92 #endif
93 93
94 if (!miniicon.isNull()) 94 if (!miniicon.isNull())
95 p.drawPixmap(4, (r.height()-miniicon.height())/2, miniicon); 95 p.drawPixmap(4, (r.height()-miniicon.height())/2, miniicon);
96 96
97 if (!titleStr.isNull()) 97 if (!titleStr.isNull())
98 { 98 {
99 p.setPen(palette().active().text()); 99 p.setPen(palette().active().text());
100 QFont f = p.font(); 100 QFont f = p.font();
101 f.setBold(true); 101 f.setBold(true);
102 p.setFont(f); 102 p.setFont(f);
103 if(!miniicon.isNull()) 103 if(!miniicon.isNull())
104 { 104 {
105 p.drawText(miniicon.width()+8, 0, width()-(miniicon.width()+8), 105 p.drawText(miniicon.width()+8, 0, width()-(miniicon.width()+8),
106 height(), AlignLeft | AlignVCenter | SingleLine, 106 height(), AlignLeft | AlignVCenter | SingleLine,
107 titleStr); 107 titleStr);
108 } 108 }
109 else 109 else
110 { 110 {
111 p.drawText(0, 0, width(), height(), 111 p.drawText(0, 0, width(), height(),
112 AlignCenter | SingleLine, titleStr); 112 AlignCenter | SingleLine, titleStr);
113 } 113 }
114 } 114 }
115 115
116 p.setPen(palette().active().highlight()); 116 p.setPen(palette().active().highlight());
117 p.drawLine(0, 0, r.right(), 0); 117 p.drawLine(0, 0, r.right(), 0);
118} 118}
119 119
120QSize OPopupTitle::sizeHint() const 120QSize OPopupTitle::sizeHint() const
121{ 121{
122 return(minimumSize()); 122 return(minimumSize());
123} 123}
124 124
125class OPopupMenu::OPopupMenuPrivate 125class OPopupMenu::OPopupMenuPrivate
126{ 126{
127public: 127public:
128 OPopupMenuPrivate () 128 OPopupMenuPrivate ()
129 : noMatches(false) 129 : noMatches(false)
130 , shortcuts(false) 130 , shortcuts(false)
131 , autoExec(false) 131 , autoExec(false)
132 , lastHitIndex(-1) 132 , lastHitIndex(-1)
133 , m_ctxMenu(0) 133 , m_ctxMenu(0)
134 {} 134 {}
135 135
136 ~OPopupMenuPrivate () 136 ~OPopupMenuPrivate ()
137 { 137 {
138 delete m_ctxMenu; 138 delete m_ctxMenu;
139 } 139 }
140 140
141 QString m_lastTitle; 141 QString m_lastTitle;
142 142
143 // variables for keyboard navigation 143 // variables for keyboard navigation
144 QTimer clearTimer; 144 QTimer clearTimer;
145 145
146 bool noMatches : 1; 146 bool noMatches : 1;
147 bool shortcuts : 1; 147 bool shortcuts : 1;
148 bool autoExec : 1; 148 bool autoExec : 1;
149 149
150 QString keySeq; 150 QString keySeq;
151 QString originalText; 151 QString originalText;
152 152
@@ -488,113 +488,113 @@ void OPopupMenu::cancelContextMenuShow()
488 OPopupMenuPrivate::s_continueCtxMenuShow = false; 488 OPopupMenuPrivate::s_continueCtxMenuShow = false;
489} 489}
490 490
491int OPopupMenu::contextMenuFocusItem() 491int OPopupMenu::contextMenuFocusItem()
492{ 492{
493 return OPopupMenuPrivate::s_highlightedItem; 493 return OPopupMenuPrivate::s_highlightedItem;
494} 494}
495 495
496OPopupMenu* OPopupMenu::contextMenuFocus() 496OPopupMenu* OPopupMenu::contextMenuFocus()
497{ 497{
498 return OPopupMenuPrivate::s_contextedMenu; 498 return OPopupMenuPrivate::s_contextedMenu;
499} 499}
500 500
501void OPopupMenu::itemHighlighted(int /* whichItem */) 501void OPopupMenu::itemHighlighted(int /* whichItem */)
502{ 502{
503 if (!d->m_ctxMenu || !d->m_ctxMenu->isVisible()) 503 if (!d->m_ctxMenu || !d->m_ctxMenu->isVisible())
504 { 504 {
505 return; 505 return;
506 } 506 }
507 507
508 d->m_ctxMenu->hide(); 508 d->m_ctxMenu->hide();
509 showCtxMenu(mapFromGlobal(QCursor::pos())); 509 showCtxMenu(mapFromGlobal(QCursor::pos()));
510} 510}
511 511
512void OPopupMenu::showCtxMenu(QPoint pos) 512void OPopupMenu::showCtxMenu(QPoint pos)
513{ 513{
514 OPopupMenuPrivate::s_highlightedItem = idAt(pos); 514 OPopupMenuPrivate::s_highlightedItem = idAt(pos);
515 515
516 if (OPopupMenuPrivate::s_highlightedItem == -1) 516 if (OPopupMenuPrivate::s_highlightedItem == -1)
517 { 517 {
518 OPopupMenuPrivate::s_contextedMenu = 0; 518 OPopupMenuPrivate::s_contextedMenu = 0;
519 return; 519 return;
520 } 520 }
521 521
522 emit aboutToShowContextMenu(this, OPopupMenuPrivate::s_highlightedItem, d->m_ctxMenu); 522 emit aboutToShowContextMenu(this, OPopupMenuPrivate::s_highlightedItem, d->m_ctxMenu);
523 523
524 if (!OPopupMenuPrivate::s_continueCtxMenuShow) 524 if (!OPopupMenuPrivate::s_continueCtxMenuShow)
525 { 525 {
526 OPopupMenuPrivate::s_continueCtxMenuShow = true; 526 OPopupMenuPrivate::s_continueCtxMenuShow = true;
527 return; 527 return;
528 } 528 }
529 529
530 OPopupMenuPrivate::s_contextedMenu = this; 530 OPopupMenuPrivate::s_contextedMenu = this;
531 d->m_ctxMenu->popup(this->mapToGlobal(pos)); 531 d->m_ctxMenu->popup(this->mapToGlobal(pos));
532 connect(this, SIGNAL(highlighted(int)), this, SLOT(itemHighlighted(int))); 532 connect(this, SIGNAL(highlighted(int)), this, SLOT(itemHighlighted(int)));
533} 533}
534 534
535void OPopupMenu::ctxMenuHiding() 535void OPopupMenu::ctxMenuHiding()
536{ 536{
537 disconnect(this, SIGNAL(highlighted(int)), this, SLOT(itemHighlighted(int))); 537 disconnect(this, SIGNAL(highlighted(int)), this, SLOT(itemHighlighted(int)));
538 OPopupMenuPrivate::s_continueCtxMenuShow = true; 538 OPopupMenuPrivate::s_continueCtxMenuShow = true;
539} 539}
540 540
541bool OPopupMenu::eventFilter(QObject* obj, QEvent* event) 541bool OPopupMenu::eventFilter(QObject* obj, QEvent* event)
542{ 542{
543 if (d->m_ctxMenu && obj == this) 543 if (d->m_ctxMenu && obj == this)
544 { 544 {
545 if (event->type() == QEvent::MouseButtonRelease) 545 if (event->type() == QEvent::MouseButtonRelease)
546 { 546 {
547 if (d->m_ctxMenu->isVisible()) 547 if (d->m_ctxMenu->isVisible())
548 { 548 {
549 return true; 549 return true;
550 } 550 }
551 } 551 }
552 #if QT_VERSION > 290 552 #if QT_VERSION >= 0x030000
553 else if (event->type() == QEvent::ContextMenu) 553 else if (event->type() == QEvent::ContextMenu)
554 #else 554 #else
555 else if ( (event->type() == QEvent::MouseButtonPress) && 555 else if ( (event->type() == QEvent::MouseButtonPress) &&
556 ( (QMouseEvent*) event )->button() == QMouseEvent::RightButton ) 556 ( (QMouseEvent*) event )->button() == QMouseEvent::RightButton )
557 #endif 557 #endif
558 { 558 {
559 showCtxMenu(mapFromGlobal(QCursor::pos())); 559 showCtxMenu(mapFromGlobal(QCursor::pos()));
560 return true; 560 return true;
561 } 561 }
562 } 562 }
563 563
564 return QWidget::eventFilter(obj, event); 564 return QWidget::eventFilter(obj, event);
565} 565}
566 566
567void OPopupMenu::hideEvent(QHideEvent*) 567void OPopupMenu::hideEvent(QHideEvent*)
568{ 568{
569 if (d->m_ctxMenu) 569 if (d->m_ctxMenu)
570 { 570 {
571 d->m_ctxMenu->hide(); 571 d->m_ctxMenu->hide();
572 } 572 }
573} 573}
574/** 574/**
575 * end of RMB menus on menus support 575 * end of RMB menus on menus support
576 */ 576 */
577 577
578// Obsolete 578// Obsolete
579OPopupMenu::OPopupMenu(const QString& title, QWidget *parent, const char *name) 579OPopupMenu::OPopupMenu(const QString& title, QWidget *parent, const char *name)
580 : QPopupMenu(parent, name) 580 : QPopupMenu(parent, name)
581{ 581{
582 d = new OPopupMenuPrivate; 582 d = new OPopupMenuPrivate;
583 setTitle(title); 583 setTitle(title);
584} 584}
585 585
586// Obsolete 586// Obsolete
587void OPopupMenu::setTitle(const QString &title) 587void OPopupMenu::setTitle(const QString &title)
588{ 588{
589 OPopupTitle *titleItem = new OPopupTitle(); 589 OPopupTitle *titleItem = new OPopupTitle();
590 titleItem->setTitle(title); 590 titleItem->setTitle(title);
591 insertItem(titleItem); 591 insertItem(titleItem);
592 d->m_lastTitle = title; 592 d->m_lastTitle = title;
593} 593}
594 594
595void OPopupTitle::virtual_hook( int, void* ) 595void OPopupTitle::virtual_hook( int, void* )
596{ /*BASE::virtual_hook( id, data );*/ } 596{ /*BASE::virtual_hook( id, data );*/ }
597 597
598void OPopupMenu::virtual_hook( int, void* ) 598void OPopupMenu::virtual_hook( int, void* )
599{ /*BASE::virtual_hook( id, data );*/ } 599{ /*BASE::virtual_hook( id, data );*/ }
600 600
diff --git a/libopie2/opieui/oselector.cpp b/libopie2/opieui/oselector.cpp
index 05543c5..936dfe6 100644
--- a/libopie2/opieui/oselector.cpp
+++ b/libopie2/opieui/oselector.cpp
@@ -78,129 +78,129 @@ void OXYSelector::setValues( int _xPos, int _yPos )
78 78
79 if ( yPos > maxY ) 79 if ( yPos > maxY )
80 yPos = maxY; 80 yPos = maxY;
81 else if ( yPos < minY ) 81 else if ( yPos < minY )
82 yPos = minY; 82 yPos = minY;
83 83
84 int xp = 2 + (width() - 4) * xPos / (maxX - minX); 84 int xp = 2 + (width() - 4) * xPos / (maxX - minX);
85 int yp = height() - 2 - (height() - 4) * yPos / (maxY - minY); 85 int yp = height() - 2 - (height() - 4) * yPos / (maxY - minY);
86 86
87 setPosition( xp, yp ); 87 setPosition( xp, yp );
88} 88}
89 89
90QRect OXYSelector::contentsRect() const 90QRect OXYSelector::contentsRect() const
91{ 91{
92 return QRect( 2, 2, width()-4, height()-4 ); 92 return QRect( 2, 2, width()-4, height()-4 );
93} 93}
94 94
95void OXYSelector::paintEvent( QPaintEvent *ev ) 95void OXYSelector::paintEvent( QPaintEvent *ev )
96{ 96{
97 QRect cursorRect( px - STORE_W, py - STORE_W, STORE_W2, STORE_W2); 97 QRect cursorRect( px - STORE_W, py - STORE_W, STORE_W2, STORE_W2);
98 QRect paintRect = ev->rect(); 98 QRect paintRect = ev->rect();
99 99
100 QPainter painter; 100 QPainter painter;
101 painter.begin( this ); 101 painter.begin( this );
102 102
103 QBrush brush; 103 QBrush brush;
104 qDrawShadePanel( &painter, 0, 0, width(), height(), colorGroup(), 104 qDrawShadePanel( &painter, 0, 0, width(), height(), colorGroup(),
105 TRUE, 2, &brush ); 105 TRUE, 2, &brush );
106 106
107 drawContents( &painter ); 107 drawContents( &painter );
108 if (paintRect.contains(cursorRect)) 108 if (paintRect.contains(cursorRect))
109 { 109 {
110 bitBlt( &store, 0, 0, this, px - STORE_W, py - STORE_W, 110 bitBlt( &store, 0, 0, this, px - STORE_W, py - STORE_W,
111 STORE_W2, STORE_W2, CopyROP ); 111 STORE_W2, STORE_W2, CopyROP );
112 drawCursor( &painter, px, py ); 112 drawCursor( &painter, px, py );
113 } 113 }
114 else if (paintRect.intersects(cursorRect)) 114 else if (paintRect.intersects(cursorRect))
115 { 115 {
116 repaint( cursorRect, false); 116 repaint( cursorRect, false);
117 } 117 }
118 118
119 painter.end(); 119 painter.end();
120} 120}
121 121
122void OXYSelector::mousePressEvent( QMouseEvent *e ) 122void OXYSelector::mousePressEvent( QMouseEvent *e )
123{ 123{
124 int xVal, yVal; 124 int xVal, yVal;
125 valuesFromPosition( e->pos().x() - 2, e->pos().y() - 2, xVal, yVal ); 125 valuesFromPosition( e->pos().x() - 2, e->pos().y() - 2, xVal, yVal );
126 setValues( xVal, yVal ); 126 setValues( xVal, yVal );
127 127
128 emit valueChanged( xPos, yPos ); 128 emit valueChanged( xPos, yPos );
129} 129}
130 130
131void OXYSelector::mouseMoveEvent( QMouseEvent *e ) 131void OXYSelector::mouseMoveEvent( QMouseEvent *e )
132{ 132{
133 int xVal, yVal; 133 int xVal, yVal;
134 valuesFromPosition( e->pos().x() - 2, e->pos().y() - 2, xVal, yVal ); 134 valuesFromPosition( e->pos().x() - 2, e->pos().y() - 2, xVal, yVal );
135 setValues( xVal, yVal ); 135 setValues( xVal, yVal );
136 136
137 emit valueChanged( xPos, yPos ); 137 emit valueChanged( xPos, yPos );
138} 138}
139 139
140void OXYSelector::wheelEvent( QWheelEvent *e ) 140void OXYSelector::wheelEvent( QWheelEvent *e )
141{ 141{
142 #if QT_VERSION > 290 142 #if QT_VERSION >= 0x030000
143 if ( e->orientation() == Qt::Horizontal ) 143 if ( e->orientation() == Qt::Horizontal )
144 setValues( xValue() + e->delta()/120, yValue() ); 144 setValues( xValue() + e->delta()/120, yValue() );
145 else 145 else
146 setValues( xValue(), yValue() + e->delta()/120 ); 146 setValues( xValue(), yValue() + e->delta()/120 );
147 147
148 emit valueChanged( xPos, yPos ); 148 emit valueChanged( xPos, yPos );
149 #else 149 #else
150 Q_UNUSED( e ) 150 Q_UNUSED( e )
151 #endif 151 #endif
152} 152}
153 153
154void OXYSelector::valuesFromPosition( int x, int y, int &xVal, int &yVal ) const 154void OXYSelector::valuesFromPosition( int x, int y, int &xVal, int &yVal ) const
155{ 155{
156 xVal = ( (maxX-minX) * (x-2) ) / ( width()-4 ); 156 xVal = ( (maxX-minX) * (x-2) ) / ( width()-4 );
157 yVal = maxY - ( ( (maxY-minY) * (y-2) ) / ( height()-4 ) ); 157 yVal = maxY - ( ( (maxY-minY) * (y-2) ) / ( height()-4 ) );
158 158
159 if ( xVal > maxX ) 159 if ( xVal > maxX )
160 xVal = maxX; 160 xVal = maxX;
161 else if ( xVal < minX ) 161 else if ( xVal < minX )
162 xVal = minX; 162 xVal = minX;
163 163
164 if ( yVal > maxY ) 164 if ( yVal > maxY )
165 yVal = maxY; 165 yVal = maxY;
166 else if ( yVal < minY ) 166 else if ( yVal < minY )
167 yVal = minY; 167 yVal = minY;
168} 168}
169 169
170void OXYSelector::setPosition( int xp, int yp ) 170void OXYSelector::setPosition( int xp, int yp )
171{ 171{
172 if ( xp < 2 ) 172 if ( xp < 2 )
173 xp = 2; 173 xp = 2;
174 else if ( xp > width() - 2 ) 174 else if ( xp > width() - 2 )
175 xp = width() - 2; 175 xp = width() - 2;
176 176
177 if ( yp < 2 ) 177 if ( yp < 2 )
178 yp = 2; 178 yp = 2;
179 else if ( yp > height() - 2 ) 179 else if ( yp > height() - 2 )
180 yp = height() - 2; 180 yp = height() - 2;
181 181
182 QPainter painter; 182 QPainter painter;
183 painter.begin( this ); 183 painter.begin( this );
184 184
185 bitBlt( this, px - STORE_W, py - STORE_W, &store, 0, 0, 185 bitBlt( this, px - STORE_W, py - STORE_W, &store, 0, 0,
186 STORE_W2, STORE_W2, CopyROP ); 186 STORE_W2, STORE_W2, CopyROP );
187 bitBlt( &store, 0, 0, this, xp - STORE_W, yp - STORE_W, 187 bitBlt( &store, 0, 0, this, xp - STORE_W, yp - STORE_W,
188 STORE_W2, STORE_W2, CopyROP ); 188 STORE_W2, STORE_W2, CopyROP );
189 drawCursor( &painter, xp, yp ); 189 drawCursor( &painter, xp, yp );
190 px = xp; 190 px = xp;
191 py = yp; 191 py = yp;
192 192
193 painter.end(); 193 painter.end();
194} 194}
195 195
196void OXYSelector::drawContents( QPainter * ) 196void OXYSelector::drawContents( QPainter * )
197{} 197{}
198 198
199 199
200void OXYSelector::drawCursor( QPainter *p, int xp, int yp ) 200void OXYSelector::drawCursor( QPainter *p, int xp, int yp )
201{ 201{
202 p->setPen( QPen( white ) ); 202 p->setPen( QPen( white ) );
203 203
204 p->drawLine( xp - 6, yp - 6, xp - 2, yp - 2 ); 204 p->drawLine( xp - 6, yp - 6, xp - 2, yp - 2 );
205 p->drawLine( xp - 6, yp + 6, xp - 2, yp + 2 ); 205 p->drawLine( xp - 6, yp + 6, xp - 2, yp + 2 );
206 p->drawLine( xp + 6, yp - 6, xp + 2, yp - 2 ); 206 p->drawLine( xp + 6, yp - 6, xp + 2, yp - 2 );
diff --git a/libopie2/opieui/oselector.h b/libopie2/opieui/oselector.h
index fe75a46..3dbdb38 100644
--- a/libopie2/opieui/oselector.h
+++ b/libopie2/opieui/oselector.h
@@ -147,144 +147,144 @@ private:
147 * 147 *
148 * A custom drawing routine for the widget surface has 148 * A custom drawing routine for the widget surface has
149 * to be provided by the subclass. 149 * to be provided by the subclass.
150 */ 150 */
151class OSelector : public QWidget, public QRangeControl 151class OSelector : public QWidget, public QRangeControl
152{ 152{
153 Q_OBJECT 153 Q_OBJECT
154 Q_PROPERTY( int value READ value WRITE setValue ) 154 Q_PROPERTY( int value READ value WRITE setValue )
155 Q_PROPERTY( int minValue READ minValue WRITE setMinValue ) 155 Q_PROPERTY( int minValue READ minValue WRITE setMinValue )
156 Q_PROPERTY( int maxValue READ maxValue WRITE setMaxValue ) 156 Q_PROPERTY( int maxValue READ maxValue WRITE setMaxValue )
157public: 157public:
158 158
159 /** 159 /**
160 * Constructs a horizontal one-dimensional selection widget. 160 * Constructs a horizontal one-dimensional selection widget.
161 */ 161 */
162 OSelector( QWidget *parent=0, const char *name=0 ); 162 OSelector( QWidget *parent=0, const char *name=0 );
163 /** 163 /**
164 * Constructs a one-dimensional selection widget with 164 * Constructs a one-dimensional selection widget with
165 * a given orientation. 165 * a given orientation.
166 */ 166 */
167 OSelector( Orientation o, QWidget *parent = 0L, const char *name = 0L ); 167 OSelector( Orientation o, QWidget *parent = 0L, const char *name = 0L );
168 /* 168 /*
169 * Destructs the widget. 169 * Destructs the widget.
170 */ 170 */
171 ~OSelector(); 171 ~OSelector();
172 172
173 /** 173 /**
174 * @return the orientation of the widget. 174 * @return the orientation of the widget.
175 */ 175 */
176 Orientation orientation() const 176 Orientation orientation() const
177 {return _orientation; } 177 {return _orientation; }
178 178
179 /** 179 /**
180 * @return the rectangle on which subclasses should draw. 180 * @return the rectangle on which subclasses should draw.
181 */ 181 */
182 QRect contentsRect() const; 182 QRect contentsRect() const;
183 183
184 /** 184 /**
185 * Sets the indent option of the widget to i. 185 * Sets the indent option of the widget to i.
186 * This determines whether a shaded frame is drawn. 186 * This determines whether a shaded frame is drawn.
187 */ 187 */
188 void setIndent( bool i ) 188 void setIndent( bool i )
189 {_indent = i; } 189 {_indent = i; }
190 /** 190 /**
191 * @return whether the indent option is set. 191 * @return whether the indent option is set.
192 */ 192 */
193 bool indent() const 193 bool indent() const
194 {return _indent; } 194 {return _indent; }
195 195
196 /** 196 /**
197 * Sets the value. 197 * Sets the value.
198 */ 198 */
199 void setValue(int value) 199 void setValue(int value)
200 { QRangeControl::setValue(value); } 200 { QRangeControl::setValue(value); }
201 201
202 /** 202 /**
203 * @returns the value. 203 * @returns the value.
204 */ 204 */
205 int value() const 205 int value() const
206 { return QRangeControl::value(); } 206 { return QRangeControl::value(); }
207 207
208 /** 208 /**
209 * Sets the min value. 209 * Sets the min value.
210 */ 210 */
211 #if ( QT_VERSION > 290 ) 211 #if ( QT_VERSION >= 0x030000 )
212 void setMinValue(int value) { QRangeControl::setMinValue(value); } 212 void setMinValue(int value) { QRangeControl::setMinValue(value); }
213 #else 213 #else
214 void setMinValue(int value) { QRangeControl::setRange(value,QRangeControl::maxValue()); } 214 void setMinValue(int value) { QRangeControl::setRange(value,QRangeControl::maxValue()); }
215 #endif 215 #endif
216 216
217 /** 217 /**
218 * @return the min value. 218 * @return the min value.
219 */ 219 */
220 int minValue() const 220 int minValue() const
221 { return QRangeControl::minValue(); } 221 { return QRangeControl::minValue(); }
222 222
223 /** 223 /**
224 * Sets the max value. 224 * Sets the max value.
225 */ 225 */
226 #if ( QT_VERSION > 290 ) 226 #if ( QT_VERSION >= 0x030000 )
227 void setMaxValue(int value) { QRangeControl::setMaxValue(value); } 227 void setMaxValue(int value) { QRangeControl::setMaxValue(value); }
228 #else 228 #else
229 void setMaxValue(int value) { QRangeControl::setRange(QRangeControl::minValue(),value); } 229 void setMaxValue(int value) { QRangeControl::setRange(QRangeControl::minValue(),value); }
230 #endif 230 #endif
231 231
232 /** 232 /**
233 * @return the max value. 233 * @return the max value.
234 */ 234 */
235 int maxValue() const 235 int maxValue() const
236 { return QRangeControl::maxValue(); } 236 { return QRangeControl::maxValue(); }
237 237
238signals: 238signals:
239 /** 239 /**
240 * This signal is emitted whenever the user chooses a value, 240 * This signal is emitted whenever the user chooses a value,
241 * e.g. by clicking with the mouse on the widget. 241 * e.g. by clicking with the mouse on the widget.
242 */ 242 */
243 void valueChanged( int value ); 243 void valueChanged( int value );
244 244
245protected: 245protected:
246 /** 246 /**
247 * Override this function to draw the contents of the control. 247 * Override this function to draw the contents of the control.
248 * The default implementation does nothing. 248 * The default implementation does nothing.
249 * 249 *
250 * Draw only within contentsRect(). 250 * Draw only within contentsRect().
251 */ 251 */
252 virtual void drawContents( QPainter * ); 252 virtual void drawContents( QPainter * );
253 /** 253 /**
254 * Override this function to draw the cursor which 254 * Override this function to draw the cursor which
255 * indicates the current value. This function is 255 * indicates the current value. This function is
256 * always called twice, once with argument show=false 256 * always called twice, once with argument show=false
257 * to clear the old cursor, once with argument show=true 257 * to clear the old cursor, once with argument show=true
258 * to draw the new one. 258 * to draw the new one.
259 */ 259 */
260 virtual void drawArrow( QPainter *painter, bool show, const QPoint &pos ); 260 virtual void drawArrow( QPainter *painter, bool show, const QPoint &pos );
261 261
262 /** 262 /**
263 * @reimplemented 263 * @reimplemented
264 */ 264 */
265 virtual void valueChange(); 265 virtual void valueChange();
266 /** 266 /**
267 * @reimplemented 267 * @reimplemented
268 */ 268 */
269 virtual void paintEvent( QPaintEvent * ); 269 virtual void paintEvent( QPaintEvent * );
270 /** 270 /**
271 * @reimplemented 271 * @reimplemented
272 */ 272 */
273 virtual void mousePressEvent( QMouseEvent *e ); 273 virtual void mousePressEvent( QMouseEvent *e );
274 /** 274 /**
275 * @reimplemented 275 * @reimplemented
276 */ 276 */
277 virtual void mouseMoveEvent( QMouseEvent *e ); 277 virtual void mouseMoveEvent( QMouseEvent *e );
278 /** 278 /**
279 * @reimplemented 279 * @reimplemented
280 */ 280 */
281 virtual void wheelEvent( QWheelEvent * ); 281 virtual void wheelEvent( QWheelEvent * );
282 282
283private: 283private:
284 QPoint calcArrowPos( int val ); 284 QPoint calcArrowPos( int val );
285 void moveArrow( const QPoint &pos ); 285 void moveArrow( const QPoint &pos );
286 286
287 Orientation _orientation; 287 Orientation _orientation;
288 bool _indent; 288 bool _indent;
289 289
290private: 290private:
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,98 +1,98 @@
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;
83 } 83 }
84 84
85 Key index() const { 85 Key index() const {
86 return first; 86 return first;
87 } 87 }
88}; 88};
89 89
90 90
91// convenience 91// convenience
92template <class T, class Key = int> 92template <class T, class Key = int>
93class OSortableValueList : public QValueList<OSortableItem<T, Key> > 93class OSortableValueList : public QValueList<OSortableItem<T, Key> >
94{ 94{
95public: 95public:
96 void insert( Key i, const T& t ) { 96 void insert( Key i, const T& t ) {
97 QValueList<OSortableItem<T, Key> >::append( OSortableItem<T, Key>( i, t ) ); 97 QValueList<OSortableItem<T, Key> >::append( OSortableItem<T, Key>( i, t ) );
98 } 98 }
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
@@ -257,176 +257,176 @@ bool OComboBox::eventFilter( QObject* o, QEvent* ev )
257 return QComboBox::eventFilter( o, ev ); 257 return QComboBox::eventFilter( o, ev );
258} 258}
259 259
260void OComboBox::setTrapReturnKey( bool grab ) 260void OComboBox::setTrapReturnKey( bool grab )
261{ 261{
262 m_trapReturnKey = grab; 262 m_trapReturnKey = grab;
263} 263}
264 264
265bool OComboBox::trapReturnKey() const 265bool OComboBox::trapReturnKey() const
266{ 266{
267 return m_trapReturnKey; 267 return m_trapReturnKey;
268} 268}
269 269
270/* 270/*
271void OComboBox::setEditURL( const OURL& url ) 271void OComboBox::setEditURL( const OURL& url )
272{ 272{
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,
417 QWidget *parent, const char *name ) 417 QWidget *parent, const char *name )
418 : OComboBox( true, parent, name ) 418 : OComboBox( true, parent, name )
419{ 419{
420 init( useCompletion ); 420 init( useCompletion );
421} 421}
422 422
423void OHistoryCombo::init( bool useCompletion ) 423void OHistoryCombo::init( bool useCompletion )
424{ 424{
425 if ( useCompletion ) 425 if ( useCompletion )
426 completionObject()->setOrder( OCompletion::Weighted ); 426 completionObject()->setOrder( OCompletion::Weighted );
427 427
428 setInsertionPolicy( NoInsertion ); 428 setInsertionPolicy( NoInsertion );
429 myIterateIndex = -1; 429 myIterateIndex = -1;
430 myRotated = false; 430 myRotated = false;
431 myPixProvider = 0L; 431 myPixProvider = 0L;
432 432
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
@@ -131,237 +131,237 @@ void OEditListBox::init( bool checkAtEntering, int buttons,
131 connect(servNewButton, SIGNAL(clicked()), SLOT(addItem())); 131 connect(servNewButton, SIGNAL(clicked()), SLOT(addItem()));
132 132
133 grid->addWidget(servNewButton, row++, 1); 133 grid->addWidget(servNewButton, row++, 1);
134 } 134 }
135 135
136 if ( buttons & Remove ) { 136 if ( buttons & Remove ) {
137 servRemoveButton = new QPushButton(tr("&Remove"), gb); 137 servRemoveButton = new QPushButton(tr("&Remove"), gb);
138 servRemoveButton->setEnabled(false); 138 servRemoveButton->setEnabled(false);
139 connect(servRemoveButton, SIGNAL(clicked()), SLOT(removeItem())); 139 connect(servRemoveButton, SIGNAL(clicked()), SLOT(removeItem()));
140 140
141 grid->addWidget(servRemoveButton, row++, 1); 141 grid->addWidget(servRemoveButton, row++, 1);
142 } 142 }
143 143
144 if ( buttons & UpDown ) { 144 if ( buttons & UpDown ) {
145 servUpButton = new QPushButton(tr("Move &Up"), gb); 145 servUpButton = new QPushButton(tr("Move &Up"), gb);
146 servUpButton->setEnabled(false); 146 servUpButton->setEnabled(false);
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)
352 { 352 {
353 servUpButton->setEnabled(false); 353 servUpButton->setEnabled(false);
354 servDownButton->setEnabled(true); 354 servDownButton->setEnabled(true);
355 } 355 }
356 else 356 else
357 { 357 {
358 servUpButton->setEnabled(true); 358 servUpButton->setEnabled(true);
359 servDownButton->setEnabled(true); 359 servDownButton->setEnabled(true);
360 } 360 }
361 } 361 }
362 362
363 if ( servRemoveButton ) 363 if ( servRemoveButton )
364 servRemoveButton->setEnabled(true); 364 servRemoveButton->setEnabled(true);
365} 365}
366 366
367void OEditListBox::clear() 367void OEditListBox::clear()
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
@@ -84,255 +84,255 @@ OLineEdit::OLineEdit( QWidget *parent, const char *name )
84{ 84{
85 init(); 85 init();
86} 86}
87 87
88OLineEdit::~OLineEdit () 88OLineEdit::~OLineEdit ()
89{ 89{
90 delete d; 90 delete d;
91} 91}
92 92
93void OLineEdit::init() 93void OLineEdit::init()
94{ 94{
95 d = new OLineEditPrivate; 95 d = new OLineEditPrivate;
96 possibleTripleClick = false; 96 possibleTripleClick = false;
97 // Enable the context menu by default. 97 // Enable the context menu by default.
98 setContextMenuEnabled( true ); 98 setContextMenuEnabled( true );
99 //OCursor::setAutoHideCursor( this, true, true ); 99 //OCursor::setAutoHideCursor( this, true, true );
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
197 { 197 {
198 QColor color = p.color(QPalette::Normal, QColorGroup::Base); 198 QColor color = p.color(QPalette::Normal, QColorGroup::Base);
199 p.setColor(QColorGroup::Base, color); 199 p.setColor(QColorGroup::Base, color);
200 p.setColor(QColorGroup::Background, color); 200 p.setColor(QColorGroup::Background, color);
201 } 201 }
202 setPalette(p); 202 setPalette(p);
203 203
204 QLineEdit::setReadOnly (readOnly); 204 QLineEdit::setReadOnly (readOnly);
205} 205}
206 206
207void OLineEdit::keyPressEvent( QKeyEvent *e ) 207void OLineEdit::keyPressEvent( QKeyEvent *e )
208{ 208{
209 qDebug( "OLineEdit::keyPressEvent()" ); 209 qDebug( "OLineEdit::keyPressEvent()" );
210 210
211 /* 211 /*
212 212
213 KKey key( e ); 213 KKey key( e );
214 214
215 if ( KStdAccel::copy().contains( key ) ) { 215 if ( KStdAccel::copy().contains( key ) ) {
216 copy(); 216 copy();
217 return; 217 return;
218 } 218 }
219 else if ( KStdAccel::paste().contains( key ) ) { 219 else if ( KStdAccel::paste().contains( key ) ) {
220 paste(); 220 paste();
221 return; 221 return;
222 } 222 }
223 else if ( KStdAccel::cut().contains( key ) ) { 223 else if ( KStdAccel::cut().contains( key ) ) {
224 cut(); 224 cut();
225 return; 225 return;
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);
323 else 323 else
324 cut = keys[TextCompletion]; 324 cut = keys[TextCompletion];
325 325
326 if ( cut.contains( key ) ) 326 if ( cut.contains( key ) )
327 { 327 {
328 // Emit completion if the completion mode is CompletionShell 328 // Emit completion if the completion mode is CompletionShell
329 // and the cursor is at the end of the string. 329 // and the cursor is at the end of the string.
330 QString txt = text(); 330 QString txt = text();
331 int len = txt.length(); 331 int len = txt.length();
332 if ( cursorPosition() == len && len != 0 ) 332 if ( cursorPosition() == len && len != 0 )
333 { 333 {
334 if ( emitSignals() ) 334 if ( emitSignals() )
335 emit completion( txt ); 335 emit completion( txt );
336 if ( handleSignals() ) 336 if ( handleSignals() )
337 makeCompletion( txt ); 337 makeCompletion( txt );
338 return; 338 return;
@@ -375,129 +375,129 @@ void OLineEdit::keyPressEvent( QKeyEvent *e )
375 rotateText( OCompletionBase::NextCompletionMatch ); 375 rotateText( OCompletionBase::NextCompletionMatch );
376 return; 376 return;
377 } 377 }
378 } 378 }
379 379
380 // substring completion 380 // substring completion
381 if ( compObj() ) 381 if ( compObj() )
382 { 382 {
383 KShortcut cut; 383 KShortcut cut;
384 if ( keys[SubstringCompletion].isNull() ) 384 if ( keys[SubstringCompletion].isNull() )
385 cut = KStdAccel::shortcut(KStdAccel::SubstringCompletion); 385 cut = KStdAccel::shortcut(KStdAccel::SubstringCompletion);
386 else 386 else
387 cut = keys[SubstringCompletion]; 387 cut = keys[SubstringCompletion];
388 388
389 if ( cut.contains( key ) ) 389 if ( cut.contains( key ) )
390 { 390 {
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)
488 emit aboutToShowContextMenu( popup ); 488 emit aboutToShowContextMenu( popup );
489 489
490 return popup; 490 return popup;
491} 491}
492 492
493void OLineEdit::completionMenuActivated( int id ) 493void OLineEdit::completionMenuActivated( int id )
494{ 494{
495 OGlobalSettings::Completion oldMode = completionMode(); 495 OGlobalSettings::Completion oldMode = completionMode();
496 496
497 switch ( id ) 497 switch ( id )
498 { 498 {
499 case Default: 499 case Default:
500 setCompletionMode( OGlobalSettings::completionMode() ); break; 500 setCompletionMode( OGlobalSettings::completionMode() ); break;
501 case NoCompletion: 501 case NoCompletion:
502 setCompletionMode( OGlobalSettings::CompletionNone ); break; 502 setCompletionMode( OGlobalSettings::CompletionNone ); break;
503 case AutoCompletion: 503 case AutoCompletion: