blob: 197bea2ec5854e9a1e6747dbf788efed3124ac70 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
#include "kcolorbutton.h"
#include "kcolordialog.h"
#include "qapplication.h"
#include "qlayout.h"
#ifdef DESKTOP_VERSION
#include <qcolordialog.h>
#endif
void KColorButton:: edit()
{
#ifdef DESKTOP_VERSION
QColor col = QColorDialog::getColor ( mColor );
if ( col.isValid () ) {
mColor = col;
setColor ( mColor );
emit changed ( mColor );
emit changedID ( mColor, id );
}
#else
KColorDialog* k = new KColorDialog( this );
k->setColor( mColor );
int res = k->exec();
if ( res ) {
mColor = k->getColor();
setColor ( mColor );
emit changed ( mColor );
emit changedID ( mColor, id );
}
delete k;
#endif
}
KColorButton::KColorButton( QWidget *p ):QPushButton( p )
{
int size = 24;
if( QApplication::desktop()->width() < 480 || QApplication::desktop()->height() <= 320 )
size = 18;
setFixedSize( size,size );
int id = 0;
connect ( this, SIGNAL( clicked() ), this ,SLOT (edit() ));
}
void KColorButton::setID ( int i)
{
id = i;
}
void KColorButton::setColor ( const QColor & c)
{
mColor = c;
QPixmap pix ( height() - 4, width() - 4 );
pix.fill( c );
setPixmap ( pix );
}
|