summaryrefslogtreecommitdiffabout
path: root/kaddressbook/views
Unidiff
Diffstat (limited to 'kaddressbook/views') (more/less context) (show whitespace changes)
-rw-r--r--kaddressbook/views/colorlistbox.cpp10
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
@@ -6,48 +6,51 @@
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
31ColorListBox::ColorListBox( QWidget *parent, const char *name, WFlags f ) 34ColorListBox::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
40void ColorListBox::setEnabled( bool state ) 43void 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
@@ -76,55 +79,62 @@ QColor ColorListBox::color( uint index ) const
76 } 79 }
77} 80}
78void ColorListBox::slotNewColor(QListBoxItem * i) 81void ColorListBox::slotNewColor(QListBoxItem * i)
79{ 82{
80 if ( i ) 83 if ( i )
81 newColor( index( i ) ); 84 newColor( index( i ) );
82} 85}
83 86
84void ColorListBox::newColor( int index ) 87void 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
113void ColorListBox::dragEnterEvent( QDragEnterEvent *e ) 123void 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
127qDebug("ColorListBox::dragEnterEvent drag&drop currently not supported"); 137qDebug("ColorListBox::dragEnterEvent drag&drop currently not supported");
128#endif //KAB_EMBEDDED 138#endif //KAB_EMBEDDED
129 139
130} 140}