summaryrefslogtreecommitdiffabout
path: root/kaddressbook
authorzautrix <zautrix>2005-06-07 08:53:18 (UTC)
committer zautrix <zautrix>2005-06-07 08:53:18 (UTC)
commitaa9a9368a7b38e34118b65a4e8efa7ea7ec0e8e4 (patch) (side-by-side diff)
tree69bcfb2ea1e74fa38bf8c648ecba4501dfbe5690 /kaddressbook
parentff8af7ccdd6346bba1cb871c33931352bbafe40e (diff)
downloadkdepimpi-aa9a9368a7b38e34118b65a4e8efa7ea7ec0e8e4.zip
kdepimpi-aa9a9368a7b38e34118b65a4e8efa7ea7ec0e8e4.tar.gz
kdepimpi-aa9a9368a7b38e34118b65a4e8efa7ea7ec0e8e4.tar.bz2
color dialog fix
Diffstat (limited to 'kaddressbook') (more/less context) (ignore 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
@@ -1,61 +1,64 @@
/*
* kmail: KDE mail client
* This file: Copyright (C) 2000 Espen Sand, espen@kde.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
*/
#include <qpainter.h>
#include <kcolordialog.h>
#ifndef KAB_EMBEDDED
#include <kcolordrag.h>
#endif //KAB_EMBEDDED
#include "colorlistbox.h"
+#ifdef DESKTOP_VERSION
+#include <qcolordialog.h>
+#endif
ColorListBox::ColorListBox( QWidget *parent, const char *name, WFlags f )
:KListBox( parent, name, f ), mCurrentOnDragEnter(-1)
{
connect( this, SIGNAL(selected(int)), this, SLOT(newColor(int)) );
connect( this, SIGNAL(clicked(QListBoxItem *)), this, SLOT(slotNewColor(QListBoxItem *)) );
setAcceptDrops( true);
}
void ColorListBox::setEnabled( bool state )
{
if( state == isEnabled() )
{
return;
}
QListBox::setEnabled( state );
for( uint i=0; i<count(); i++ )
{
updateItem( i );
}
}
void ColorListBox::setColor( uint index, const QColor &color )
{
if( index < count() )
{
ColorListItem *colorItem = (ColorListItem*)item(index);
colorItem->setColor(color);
updateItem( colorItem );
@@ -68,71 +71,78 @@ QColor ColorListBox::color( uint index ) const
if( index < count() )
{
ColorListItem *colorItem = (ColorListItem*)item(index);
return( colorItem->color() );
}
else
{
return( black );
}
}
void ColorListBox::slotNewColor(QListBoxItem * i)
{
if ( i )
newColor( index( i ) );
}
void ColorListBox::newColor( int index )
{
if( isEnabled() == false )
{
return;
}
if( (uint)index < count() )
{
QColor c = color( index );
#ifndef KAB_EMBEDDED
if( KColorDialog::getColor( c, this ) != QDialog::Rejected )
{
setColor( index, c );
}
#else //KAB_EMBEDDED
+#ifdef DESKTOP_VERSION
+ QColor col = QColorDialog::getColor ( c );
+ if ( col.isValid () ) {
+ setColor( index, col );
+ }
+#else
KColorDialog* k = new KColorDialog( this );
k->setColor( c );
int res = k->exec();
if ( res ) {
setColor( index, k->getColor() );
}
delete k;
+#endif
#endif //KAB_EMBEDDED
}
}
void ColorListBox::dragEnterEvent( QDragEnterEvent *e )
{
#ifndef KAB_EMBEDDED
if( KColorDrag::canDecode(e) && isEnabled() )
{
mCurrentOnDragEnter = currentItem();
e->accept( true );
}
else
{
mCurrentOnDragEnter = -1;
e->accept( false );
}
#else //KAB_EMBEDDED
qDebug("ColorListBox::dragEnterEvent drag&drop currently not supported");
#endif //KAB_EMBEDDED
}
void ColorListBox::dragLeaveEvent( QDragLeaveEvent * )
{
#ifndef KAB_EMBEDDED
if( mCurrentOnDragEnter != -1 )
{