summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opieui/oledbox.cpp58
-rw-r--r--libopie2/opieui/oledbox.h95
-rw-r--r--libopie2/opieui/opieui.pro6
3 files changed, 106 insertions, 53 deletions
diff --git a/libopie2/opieui/oledbox.cpp b/libopie2/opieui/oledbox.cpp
index 52826f1..d18d4b6 100644
--- a/libopie2/opieui/oledbox.cpp
+++ b/libopie2/opieui/oledbox.cpp
@@ -1,11 +1,40 @@
1 1/*
2#include <qbitmap.h> 2                 This file is part of the Opie Project
3#include <qpainter.h> 3 =. (C) 2002-2005 the Opie Team <opie-devel@handhelds.org>
4 .=l.
5           .>+-=
6 _;:,     .>    :=|. This program is free software; you can
7.> <`_,   >  .   <= redistribute it and/or modify it under
8:`=1 )Y*s>-.--   : the terms of the GNU Library General Public
9.="- .-=="i,     .._ License as published by the Free Software
10 - .   .-<_>     .<> Foundation; either version 2 of the License,
11     ._= =}       : or (at your option) any later version.
12    .%`+i>       _;_.
13    .i_,=:_.      -<s. This program is distributed in the hope that
14     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
15    : ..    .:,     . . . without even the implied warranty of
16    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
17  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
18..}^=.=       =       ; Library General Public License for more
19++=   -.     .`     .: details.
20 :     =  ...= . :.=-
21 -.   .:....=;==+<; You should have received a copy of the GNU
22  -_. . .   )=.  = Library General Public License along with
23    --        :-=` this library; see the file COPYING.LIB.
24 If not, write to the Free Software Foundation,
25 Inc., 59 Temple Place - Suite 330,
26 Boston, MA 02111-1307, USA.
27
28*/
4 29
5#include "oledbox.h" 30#include "oledbox.h"
6 31
32/* QT */
33#include <qbitmap.h>
34#include <qpainter.h>
7 35
8#ifdef _QTE_IS_TOO_DUMB_TO_DRAW_AN_ARC 36namespace Opie {
37namespace Ui {
9 38
10/* XPM */ 39/* XPM */
11static const char * ledborder_xpm[] = { 40static const char * ledborder_xpm[] = {
@@ -41,9 +70,6 @@ static const char * ledborder_xpm[] = {
41 70
42QPixmap *OLedBox::s_border_pix = 0; 71QPixmap *OLedBox::s_border_pix = 0;
43 72
44#endif
45
46
47OLedBox::OLedBox ( const QColor &col, QWidget *parent, const char *name ) : QWidget ( parent, name ) 73OLedBox::OLedBox ( const QColor &col, QWidget *parent, const char *name ) : QWidget ( parent, name )
48{ 74{
49 m_color = col; 75 m_color = col;
@@ -54,10 +80,8 @@ OLedBox::OLedBox ( const QColor &col, QWidget *parent, const char *name ) : QWid
54 80
55 setBackgroundMode ( PaletteBackground ); 81 setBackgroundMode ( PaletteBackground );
56 82
57#ifdef _QTE_IS_TOO_DUMB_TO_DRAW_AN_ARC
58 if ( !s_border_pix ) 83 if ( !s_border_pix )
59 s_border_pix = new QPixmap ( ledborder_xpm ); 84 s_border_pix = new QPixmap( ledborder_xpm );
60#endif
61} 85}
62 86
63OLedBox::~OLedBox ( ) 87OLedBox::~OLedBox ( )
@@ -142,9 +166,7 @@ void OLedBox::paintEvent ( QPaintEvent *e )
142 p. drawPixmap ( 0, 0, *m_pix [ ind ] ); 166 p. drawPixmap ( 0, 0, *m_pix [ ind ] );
143} 167}
144 168
145// From KDE libkdeui / led.cpp 169void OLedBox::drawLed ( QPixmap *pix, const QColor &col )
146
147void OLedBox::drawLed ( QPixmap *pix, const QColor &col ) // paint a ROUND SUNKEN led lamp
148{ 170{
149 QPainter paint; 171 QPainter paint;
150 QColor color; 172 QColor color;
@@ -221,11 +243,11 @@ void OLedBox::drawLed ( QPixmap *pix, const QColor &col ) // paint a ROUND SUNK
221 // around the LED which resembles a shadow with light coming 243 // around the LED which resembles a shadow with light coming
222 // from the upper left. 244 // from the upper left.
223 245
224#ifdef _QTE_IS_TOO_DUMB_TO_DRAW_AN_ARC 246#ifndef QT_CAN_DRAW_ARCS
225 paint. drawPixmap ( 0, 0, *s_border_pix ); 247 paint.drawPixmap ( 0, 0, *s_border_pix );
226 paint. end ( ); 248 paint.end ( );
227 249
228 pix-> setMask ( pix-> createHeuristicMask ( )); 250 pix->setMask ( pix-> createHeuristicMask ( ));
229 251
230#else 252#else
231 pen.setWidth( 3 ); 253 pen.setWidth( 3 );
@@ -275,3 +297,5 @@ void OLedBox::drawLed ( QPixmap *pix, const QColor &col ) // paint a ROUND SUNK
275#endif 297#endif
276} 298}
277 299
300};
301};
diff --git a/libopie2/opieui/oledbox.h b/libopie2/opieui/oledbox.h
index dd930bd..c02cc77 100644
--- a/libopie2/opieui/oledbox.h
+++ b/libopie2/opieui/oledbox.h
@@ -1,56 +1,85 @@
1#ifndef __OPIE_OLED_H__ 1/*
2#define __OPIE_OLED_H__ 2                 This file is part of the Opie Project
3 =. (C) 2002-2005 the Opie Team <opie-devel@handhelds.org>
4 .=l.
5           .>+-=
6 _;:,     .>    :=|. This program is free software; you can
7.> <`_,   >  .   <= redistribute it and/or modify it under
8:`=1 )Y*s>-.--   : the terms of the GNU Library General Public
9.="- .-=="i,     .._ License as published by the Free Software
10 - .   .-<_>     .<> Foundation; either version 2 of the License,
11     ._= =}       : or (at your option) any later version.
12    .%`+i>       _;_.
13    .i_,=:_.      -<s. This program is distributed in the hope that
14     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
15    : ..    .:,     . . . without even the implied warranty of
16    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
17  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
18..}^=.=       =       ; Library General Public License for more
19++=   -.     .`     .: details.
20 :     =  ...= . :.=-
21 -.   .:....=;==+<; You should have received a copy of the GNU
22  -_. . .   )=.  = Library General Public License along with
23    --        :-=` this library; see the file COPYING.LIB.
24 If not, write to the Free Software Foundation,
25 Inc., 59 Temple Place - Suite 330,
26 Boston, MA 02111-1307, USA.
3 27
28*/
29
30#ifndef OLEDBOX_H
31#define OLEDBOX_H
32
33/* QT */
4#include <qwidget.h> 34#include <qwidget.h>
5#include <qcolor.h> 35#include <qcolor.h>
6 36
7class QPixmap; 37class QPixmap;
8 38
9#define _QTE_IS_TOO_DUMB_TO_DRAW_AN_ARC 39namespace Opie {
40namespace Ui {
10 41
11class OLedBox : public QWidget { 42class OLedBox : public QWidget
12 Q_OBJECT 43{
13 44 Q_OBJECT
14public:
15 OLedBox ( const QColor &col = red, QWidget *parent = 0, const char *name = 0 );
16 virtual ~OLedBox ( );
17 45
18 QColor color ( ) const; 46 public:
19 bool isOn ( ) const; 47 OLedBox( const QColor& col = red, QWidget* parent = 0, const char* name = 0 );
20 void setReadOnly( bool R ) 48 virtual ~OLedBox();
21 { m_readonly = R; }
22 inline bool readOnly( void ) const
23 { return m_readonly; }
24
25 virtual QSize sizeHint ( ) const;
26 49
27public slots: 50 QColor color() const;
28 void toggle ( ); 51 bool isOn() const;
29 void setOn ( bool on ); 52 void setReadOnly( bool R ) { m_readonly = R; }
30 void setColor ( const QColor &col ); 53 bool readOnly( void ) const { return m_readonly; }
54
55 virtual QSize sizeHint() const;
56
57 public slots:
58 void toggle();
59 void setOn( bool on );
60 void setColor( const QColor& col );
31 61
32signals: 62 signals:
33 void toggled ( bool ); 63 void toggled( bool );
34 64
35protected: 65 protected:
36 virtual void paintEvent ( QPaintEvent *e ); 66 virtual void paintEvent( QPaintEvent* e );
37 virtual void resizeEvent ( QResizeEvent *e ); 67 virtual void resizeEvent( QResizeEvent* e );
38 68
39 virtual void mousePressEvent ( QMouseEvent *e ); 69 virtual void mousePressEvent( QMouseEvent* e );
40 70
41private: 71 private:
42 void drawLed ( QPixmap *, const QColor &col ); 72 void drawLed( QPixmap *, const QColor& col );
43 73
44private: 74 private:
45 QPixmap *m_pix [2]; 75 QPixmap *m_pix [2];
46 76
47 QColor m_color; 77 QColor m_color;
48 bool m_on; 78 bool m_on;
49 bool m_readonly; 79 bool m_readonly;
50 80
51 #ifdef _QTE_IS_TOO_DUMB_TO_DRAW_AN_ARC
52 static QPixmap *s_border_pix; 81 static QPixmap *s_border_pix;
53#endif
54}; 82};
55 83};
84};
56#endif 85#endif
diff --git a/libopie2/opieui/opieui.pro b/libopie2/opieui/opieui.pro
index 24157a1..ffa8b83 100644
--- a/libopie2/opieui/opieui.pro
+++ b/libopie2/opieui/opieui.pro
@@ -6,6 +6,7 @@ HEADERS = oclickablelabel.h \
6 ofontselector.h \ 6 ofontselector.h \
7 oimageeffect.h \ 7 oimageeffect.h \
8 okeyconfigwidget.h \ 8 okeyconfigwidget.h \
9 oledbox.h \
9 olistview.h \ 10 olistview.h \
10 opixmapeffect.h \ 11 opixmapeffect.h \
11 opopupmenu.h \ 12 opopupmenu.h \
@@ -15,7 +16,6 @@ HEADERS = oclickablelabel.h \
15 otabinfo.h \ 16 otabinfo.h \
16 otabbar.h \ 17 otabbar.h \
17 otabwidget.h \ 18 otabwidget.h \
18 oledbox.h \
19 otaskbarapplet.h \ 19 otaskbarapplet.h \
20 otimepicker.h \ 20 otimepicker.h \
21 oversatileview.h \ 21 oversatileview.h \
@@ -27,6 +27,7 @@ SOURCES = oclickablelabel.cpp \
27 ofontselector.cpp \ 27 ofontselector.cpp \
28 oimageeffect.cpp \ 28 oimageeffect.cpp \
29 okeyconfigwidget.cpp \ 29 okeyconfigwidget.cpp \
30 oledbox.cpp \
30 olistview.cpp \ 31 olistview.cpp \
31 opixmapeffect.cpp \ 32 opixmapeffect.cpp \
32 opopupmenu.cpp \ 33 opopupmenu.cpp \
@@ -35,7 +36,6 @@ SOURCES = oclickablelabel.cpp \
35 oseparator.cpp \ 36 oseparator.cpp \
36 otabbar.cpp \ 37 otabbar.cpp \
37 otabwidget.cpp \ 38 otabwidget.cpp \
38 oledbox.cpp \
39 otaskbarapplet.cpp \ 39 otaskbarapplet.cpp \
40 otimepicker.cpp \ 40 otimepicker.cpp \
41 oversatileview.cpp \ 41 oversatileview.cpp \
@@ -48,7 +48,7 @@ include( fileselector/fileselector.pro )
48INTERFACES = otimepickerbase.ui 48INTERFACES = otimepickerbase.ui
49 49
50TARGET = opieui2 50TARGET = opieui2
51VERSION = 1.8.5 51VERSION = 1.9.0
52 52
53INCLUDEPATH += $(OPIEDIR)/include 53INCLUDEPATH += $(OPIEDIR)/include
54DEPENDPATH += $(OPIEDIR)/include 54DEPENDPATH += $(OPIEDIR)/include