summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/applets/pyquicklaunch/pyquicklaunch.cpp64
-rw-r--r--noncore/applets/pyquicklaunch/pyquicklaunch.h15
2 files changed, 68 insertions, 11 deletions
diff --git a/noncore/applets/pyquicklaunch/pyquicklaunch.cpp b/noncore/applets/pyquicklaunch/pyquicklaunch.cpp
index 2ee8e17..bcd2f0d 100644
--- a/noncore/applets/pyquicklaunch/pyquicklaunch.cpp
+++ b/noncore/applets/pyquicklaunch/pyquicklaunch.cpp
@@ -19,4 +19,5 @@
19#include <opie2/otaskbarapplet.h> 19#include <opie2/otaskbarapplet.h>
20#include <qpe/qpeapplication.h>
21#include <qpe/config.h> 20#include <qpe/config.h>
21#include <qpe/qpeapplication.h>
22#include <qpe/resource.h>
22using namespace Opie::Core; 23using namespace Opie::Core;
@@ -24,4 +25,12 @@ using namespace Opie::Core;
24/* QT */ 25/* QT */
26#include <qcopchannel_qws.h>
25#include <qpainter.h> 27#include <qpainter.h>
26#include <qframe.h> 28#include <qframe.h>
29#include <qfile.h>
30#include <qtimer.h>
31
32/* STD */
33#include <pwd.h>
34#include <sys/types.h>
35#include <unistd.h>
27 36
@@ -69,3 +78,3 @@ void PyQuicklaunchControl::writeConfigEntry( const char *entry, int val )
69PyQuicklaunchApplet::PyQuicklaunchApplet( QWidget *parent, const char *name ) 78PyQuicklaunchApplet::PyQuicklaunchApplet( QWidget *parent, const char *name )
70 : QWidget( parent, name ) 79 : QWidget( parent, name ), online( false )
71{ 80{
@@ -74,2 +83,14 @@ PyQuicklaunchApplet::PyQuicklaunchApplet( QWidget *parent, const char *name )
74 status = new PyQuicklaunchControl( this, this, "Python Quicklaunch Status" ); 83 status = new PyQuicklaunchControl( this, this, "Python Quicklaunch Status" );
84
85 _online = Resource::loadPixmap( "pyquicklaunch/online" );
86 _offline = Resource::loadPixmap( "pyquicklaunch/offline" );
87
88 _fifoName = QString().sprintf( "/tmp/mickeys-quicklauncher-%s", ::getpwuid( ::getuid() )->pw_name );
89 odebug << "PyQuicklaunchApplet fifo name = '" << _fifoName << "'" << oendl;
90 _fifo.setName( _fifoName );
91
92 _control = new QCopChannel( "QPE/PyLauncher", parent, "PyLauncher QCop Control Channel" );
93 connect( _control, SIGNAL(received(const QCString&,const QByteArray&)),
94 this, SLOT(receivedMessage(const QCString&,const QByteArray&) ) );
95
75} 96}
@@ -78,3 +99,25 @@ PyQuicklaunchApplet::PyQuicklaunchApplet( QWidget *parent, const char *name )
78PyQuicklaunchApplet::~PyQuicklaunchApplet() 99PyQuicklaunchApplet::~PyQuicklaunchApplet()
79{} 100{
101}
102
103
104void PyQuicklaunchApplet::receivedMessage( const QCString& msg, const QByteArray& data )
105{
106 odebug << "receivedMessage = '" << msg << "' " << oendl;
107
108 if ( msg == "setOnline()" )
109 {
110 online = true;
111 repaint( true );
112 }
113 else if ( msg == "setOffline()" )
114 {
115 online = false;
116 repaint( true );
117 }
118 else
119 {
120 odebug << "unknown command." << oendl;
121 }
122}
80 123
@@ -83,5 +126,11 @@ void PyQuicklaunchApplet::timerEvent( QTimerEvent* )
83{ 126{
84 // FIXME 127 bool nowOnline = _fifo.exists();
128 if ( nowOnline != online )
129 {
130 online = nowOnline;
131 repaint( true );
132 }
85} 133}
86 134
135
87void PyQuicklaunchApplet::mousePressEvent( QMouseEvent * ) 136void PyQuicklaunchApplet::mousePressEvent( QMouseEvent * )
@@ -91,2 +140,3 @@ void PyQuicklaunchApplet::mousePressEvent( QMouseEvent * )
91 140
141
92void PyQuicklaunchApplet::paintEvent( QPaintEvent* ) 142void PyQuicklaunchApplet::paintEvent( QPaintEvent* )
@@ -94,7 +144,3 @@ void PyQuicklaunchApplet::paintEvent( QPaintEvent* )
94 QPainter p( this ); 144 QPainter p( this );
95 int h = height(); 145 p.drawPixmap( 0, 2, online ? _online : _offline );
96 int w = width();
97
98 // FIXME
99
100} 146}
diff --git a/noncore/applets/pyquicklaunch/pyquicklaunch.h b/noncore/applets/pyquicklaunch/pyquicklaunch.h
index e99f780..f108b43 100644
--- a/noncore/applets/pyquicklaunch/pyquicklaunch.h
+++ b/noncore/applets/pyquicklaunch/pyquicklaunch.h
@@ -18,2 +18,3 @@
18#include <qwidget.h> 18#include <qwidget.h>
19#include <qfile.h>
19#include <qframe.h> 20#include <qframe.h>
@@ -22,2 +23,3 @@
22class PyQuicklaunchApplet; 23class PyQuicklaunchApplet;
24class QCopChannel;
23 25
@@ -33,4 +35,2 @@ class PyQuicklaunchControl : public QFrame
33 35
34 public slots:
35
36 private: 36 private:
@@ -49,2 +49,6 @@ class PyQuicklaunchApplet : public QWidget
49 virtual void timerEvent( QTimerEvent* ); 49 virtual void timerEvent( QTimerEvent* );
50 bool online;
51
52 public slots:
53 void receivedMessage( const QCString & msg, const QByteArray & data );
50 54
@@ -53,2 +57,9 @@ class PyQuicklaunchApplet : public QWidget
53 virtual void paintEvent( QPaintEvent* ); 57 virtual void paintEvent( QPaintEvent* );
58
59 private:
60 QCopChannel* _control;
61 QFile _fifo;
62 QString _fifoName;
63 QPixmap _online;
64 QPixmap _offline;
54}; 65};