Diffstat (limited to 'kaddressbook/views/colorlistbox.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | kaddressbook/views/colorlistbox.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/kaddressbook/views/colorlistbox.cpp b/kaddressbook/views/colorlistbox.cpp index 7386207..2bddca6 100644 --- a/kaddressbook/views/colorlistbox.cpp +++ b/kaddressbook/views/colorlistbox.cpp | |||
@@ -1,61 +1,64 @@ | |||
1 | /* | 1 | /* |
2 | * kmail: KDE mail client | 2 | * kmail: KDE mail client |
3 | * This file: Copyright (C) 2000 Espen Sand, espen@kde.org | 3 | * This file: Copyright (C) 2000 Espen Sand, espen@kde.org |
4 | * | 4 | * |
5 | * This program is free software; you can redistribute it and/or modify | 5 | * This program is free software; you can redistribute it and/or modify |
6 | * it under the terms of the GNU General Public License as published by | 6 | * it under the terms of the GNU General Public License as published by |
7 | * the Free Software Foundation; either version 2 of the License, or | 7 | * the Free Software Foundation; either version 2 of the License, or |
8 | * (at your option) any later version. | 8 | * (at your option) any later version. |
9 | * | 9 | * |
10 | * This program is distributed in the hope that it will be useful, | 10 | * This program is distributed in the hope that it will be useful, |
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13 | * GNU General Public License for more details. | 13 | * GNU General Public License for more details. |
14 | * | 14 | * |
15 | * You should have received a copy of the GNU General Public License | 15 | * You should have received a copy of the GNU General Public License |
16 | * along with this program; if not, write to the Free Software | 16 | * along with this program; if not, write to the Free Software |
17 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 17 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
18 | * | 18 | * |
19 | */ | 19 | */ |
20 | 20 | ||
21 | #include <qpainter.h> | 21 | #include <qpainter.h> |
22 | 22 | ||
23 | #include <kcolordialog.h> | 23 | #include <kcolordialog.h> |
24 | 24 | ||
25 | #ifndef KAB_EMBEDDED | 25 | #ifndef KAB_EMBEDDED |
26 | #include <kcolordrag.h> | 26 | #include <kcolordrag.h> |
27 | #endif //KAB_EMBEDDED | 27 | #endif //KAB_EMBEDDED |
28 | 28 | ||
29 | #include "colorlistbox.h" | 29 | #include "colorlistbox.h" |
30 | #ifdef DESKTOP_VERSION | ||
31 | #include <qcolordialog.h> | ||
32 | #endif | ||
30 | 33 | ||
31 | ColorListBox::ColorListBox( QWidget *parent, const char *name, WFlags f ) | 34 | ColorListBox::ColorListBox( QWidget *parent, const char *name, WFlags f ) |
32 | :KListBox( parent, name, f ), mCurrentOnDragEnter(-1) | 35 | :KListBox( parent, name, f ), mCurrentOnDragEnter(-1) |
33 | { | 36 | { |
34 | connect( this, SIGNAL(selected(int)), this, SLOT(newColor(int)) ); | 37 | connect( this, SIGNAL(selected(int)), this, SLOT(newColor(int)) ); |
35 | connect( this, SIGNAL(clicked(QListBoxItem *)), this, SLOT(slotNewColor(QListBoxItem *)) ); | 38 | connect( this, SIGNAL(clicked(QListBoxItem *)), this, SLOT(slotNewColor(QListBoxItem *)) ); |
36 | setAcceptDrops( true); | 39 | setAcceptDrops( true); |
37 | } | 40 | } |
38 | 41 | ||
39 | 42 | ||
40 | void ColorListBox::setEnabled( bool state ) | 43 | void ColorListBox::setEnabled( bool state ) |
41 | { | 44 | { |
42 | if( state == isEnabled() ) | 45 | if( state == isEnabled() ) |
43 | { | 46 | { |
44 | return; | 47 | return; |
45 | } | 48 | } |
46 | 49 | ||
47 | QListBox::setEnabled( state ); | 50 | QListBox::setEnabled( state ); |
48 | for( uint i=0; i<count(); i++ ) | 51 | for( uint i=0; i<count(); i++ ) |
49 | { | 52 | { |
50 | updateItem( i ); | 53 | updateItem( i ); |
51 | } | 54 | } |
52 | } | 55 | } |
53 | 56 | ||
54 | 57 | ||
55 | void ColorListBox::setColor( uint index, const QColor &color ) | 58 | void ColorListBox::setColor( uint index, const QColor &color ) |
56 | { | 59 | { |
57 | if( index < count() ) | 60 | if( index < count() ) |
58 | { | 61 | { |
59 | ColorListItem *colorItem = (ColorListItem*)item(index); | 62 | ColorListItem *colorItem = (ColorListItem*)item(index); |
60 | colorItem->setColor(color); | 63 | colorItem->setColor(color); |
61 | updateItem( colorItem ); | 64 | updateItem( colorItem ); |
@@ -68,71 +71,78 @@ QColor ColorListBox::color( uint index ) const | |||
68 | if( index < count() ) | 71 | if( index < count() ) |
69 | { | 72 | { |
70 | ColorListItem *colorItem = (ColorListItem*)item(index); | 73 | ColorListItem *colorItem = (ColorListItem*)item(index); |
71 | return( colorItem->color() ); | 74 | return( colorItem->color() ); |
72 | } | 75 | } |
73 | else | 76 | else |
74 | { | 77 | { |
75 | return( black ); | 78 | return( black ); |
76 | } | 79 | } |
77 | } | 80 | } |
78 | void ColorListBox::slotNewColor(QListBoxItem * i) | 81 | void ColorListBox::slotNewColor(QListBoxItem * i) |
79 | { | 82 | { |
80 | if ( i ) | 83 | if ( i ) |
81 | newColor( index( i ) ); | 84 | newColor( index( i ) ); |
82 | } | 85 | } |
83 | 86 | ||
84 | void ColorListBox::newColor( int index ) | 87 | void ColorListBox::newColor( int index ) |
85 | { | 88 | { |
86 | if( isEnabled() == false ) | 89 | if( isEnabled() == false ) |
87 | { | 90 | { |
88 | return; | 91 | return; |
89 | } | 92 | } |
90 | 93 | ||
91 | if( (uint)index < count() ) | 94 | if( (uint)index < count() ) |
92 | { | 95 | { |
93 | QColor c = color( index ); | 96 | QColor c = color( index ); |
94 | #ifndef KAB_EMBEDDED | 97 | #ifndef KAB_EMBEDDED |
95 | if( KColorDialog::getColor( c, this ) != QDialog::Rejected ) | 98 | if( KColorDialog::getColor( c, this ) != QDialog::Rejected ) |
96 | { | 99 | { |
97 | setColor( index, c ); | 100 | setColor( index, c ); |
98 | } | 101 | } |
99 | #else //KAB_EMBEDDED | 102 | #else //KAB_EMBEDDED |
103 | #ifdef DESKTOP_VERSION | ||
104 | QColor col = QColorDialog::getColor ( c ); | ||
105 | if ( col.isValid () ) { | ||
106 | setColor( index, col ); | ||
107 | } | ||
108 | #else | ||
100 | KColorDialog* k = new KColorDialog( this ); | 109 | KColorDialog* k = new KColorDialog( this ); |
101 | k->setColor( c ); | 110 | k->setColor( c ); |
102 | int res = k->exec(); | 111 | int res = k->exec(); |
103 | if ( res ) { | 112 | if ( res ) { |
104 | setColor( index, k->getColor() ); | 113 | setColor( index, k->getColor() ); |
105 | } | 114 | } |
106 | delete k; | 115 | delete k; |
116 | #endif | ||
107 | #endif //KAB_EMBEDDED | 117 | #endif //KAB_EMBEDDED |
108 | 118 | ||
109 | } | 119 | } |
110 | } | 120 | } |
111 | 121 | ||
112 | 122 | ||
113 | void ColorListBox::dragEnterEvent( QDragEnterEvent *e ) | 123 | void ColorListBox::dragEnterEvent( QDragEnterEvent *e ) |
114 | { | 124 | { |
115 | #ifndef KAB_EMBEDDED | 125 | #ifndef KAB_EMBEDDED |
116 | if( KColorDrag::canDecode(e) && isEnabled() ) | 126 | if( KColorDrag::canDecode(e) && isEnabled() ) |
117 | { | 127 | { |
118 | mCurrentOnDragEnter = currentItem(); | 128 | mCurrentOnDragEnter = currentItem(); |
119 | e->accept( true ); | 129 | e->accept( true ); |
120 | } | 130 | } |
121 | else | 131 | else |
122 | { | 132 | { |
123 | mCurrentOnDragEnter = -1; | 133 | mCurrentOnDragEnter = -1; |
124 | e->accept( false ); | 134 | e->accept( false ); |
125 | } | 135 | } |
126 | #else //KAB_EMBEDDED | 136 | #else //KAB_EMBEDDED |
127 | qDebug("ColorListBox::dragEnterEvent drag&drop currently not supported"); | 137 | qDebug("ColorListBox::dragEnterEvent drag&drop currently not supported"); |
128 | #endif //KAB_EMBEDDED | 138 | #endif //KAB_EMBEDDED |
129 | 139 | ||
130 | } | 140 | } |
131 | 141 | ||
132 | 142 | ||
133 | void ColorListBox::dragLeaveEvent( QDragLeaveEvent * ) | 143 | void ColorListBox::dragLeaveEvent( QDragLeaveEvent * ) |
134 | { | 144 | { |
135 | #ifndef KAB_EMBEDDED | 145 | #ifndef KAB_EMBEDDED |
136 | 146 | ||
137 | if( mCurrentOnDragEnter != -1 ) | 147 | if( mCurrentOnDragEnter != -1 ) |
138 | { | 148 | { |