author | mickeyl <mickeyl> | 2004-03-01 19:19:37 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2004-03-01 19:19:37 (UTC) |
commit | ddc3d749af5f7afebf69488b79641771fe246b5b (patch) (side-by-side diff) | |
tree | 8ea8614906c568e4677493ef09040724d60dd2d4 /core/applets/volumeapplet | |
parent | fb0981f47e529f9d1dd77fa005ffa3c3ecedff67 (diff) | |
download | opie-ddc3d749af5f7afebf69488b79641771fe246b5b.zip opie-ddc3d749af5f7afebf69488b79641771fe246b5b.tar.gz opie-ddc3d749af5f7afebf69488b79641771fe246b5b.tar.bz2 |
remove duplicated boiler plate code in favour of the OTaskbarApplet template
-rw-r--r-- | core/applets/volumeapplet/volume.cpp | 20 | ||||
-rw-r--r-- | core/applets/volumeapplet/volume.h | 1 | ||||
-rw-r--r-- | core/applets/volumeapplet/volumeapplet.pro | 4 | ||||
-rw-r--r-- | core/applets/volumeapplet/volumeappletimpl.cpp | 65 | ||||
-rw-r--r-- | core/applets/volumeapplet/volumeappletimpl.h | 43 |
5 files changed, 15 insertions, 118 deletions
diff --git a/core/applets/volumeapplet/volume.cpp b/core/applets/volumeapplet/volume.cpp index c736437..8fd88f6 100644 --- a/core/applets/volumeapplet/volume.cpp +++ b/core/applets/volumeapplet/volume.cpp @@ -9,48 +9,44 @@ ** packaging of this file. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ** See http://www.trolltech.com/gpl/ for GPL licensing information. ** ** Contact info@trolltech.com if any conditions of this licensing are ** not clear to you. ** **********************************************************************/ -#include <stdio.h> - #include "volume.h" +#include "oledbox.h" +#include <opie2/odevice.h> +#include <opie2/otaskbarapplet.h> #include <qpe/resource.h> #include <qpe/applnk.h> #include <qpe/config.h> -#if ( defined Q_WS_QWS || defined(_WS_QWS_) ) && !defined(QT_NO_COP) #include <qpe/qcopenvelope_qws.h> -#endif #include <qpainter.h> #include <qcheckbox.h> #include <qslider.h> #include <qlayout.h> #include <qvbox.h> #include <qlabel.h> - #include <qpushbutton.h> #include <qtimer.h> -#include <opie/odevice.h> - -#include "oledbox.h" +#include <stdio.h> using namespace Opie; #define RATE_TIMER_INTERVAL 100 // Ten times per second is fine (RATE_TIMER_INTERVAL 100). A shorter time // results in "hanging" buttons on the iPAQ due to quite high CPU consumption. /* XPM */ static const char * vol_xpm[] = { "20 20 3 1", " c None", @@ -728,24 +724,28 @@ VolumeApplet::VolumeApplet( QWidget *parent, const char *name ) m_pixmap = new QPixmap ( Resource::loadPixmap ( "volume" )); m_dialog = new VolumeControl ( this, true, this, "volumecontrol" ); connect ( qApp, SIGNAL( volumeChanged ( bool )), m_dialog, SLOT( volumeChanged( bool ))); connect ( qApp, SIGNAL( micChanged ( bool )), m_dialog, SLOT ( micChanged( bool ))); } VolumeApplet::~VolumeApplet() { delete m_pixmap; } +int VolumeApplet::position() +{ + return 6; +} void VolumeApplet::mousePressEvent ( QMouseEvent * ) { if ( m_dialog-> isVisible ( )) m_dialog-> hide ( ); else m_dialog-> show ( true ); } void VolumeApplet::redraw ( bool all ) { if ( all ) @@ -768,12 +768,16 @@ void VolumeApplet::paintEvent ( QPaintEvent * ) p. fillRect ( pixelsWide + 2, height() - 3, width() - 4 - pixelsWide, 2, lightGray ); if ( m_dialog-> volMuted ( )) { p. setPen ( red ); p. drawLine ( 1, 2, width() - 2, height() - 5 ); p. drawLine ( 1, 3, width() - 2, height() - 4 ); p. drawLine ( width() - 2, 2, 1, height() - 5 ); p. drawLine ( width() - 2, 3, 1, height() - 4 ); } } +Q_EXPORT_INTERFACE() +{ + Q_CREATE_INSTANCE( OTaskbarAppletWrapper<VolumeApplet> ); +} diff --git a/core/applets/volumeapplet/volume.h b/core/applets/volumeapplet/volume.h index d2345b5..454a688 100644 --- a/core/applets/volumeapplet/volume.h +++ b/core/applets/volumeapplet/volume.h @@ -108,24 +108,25 @@ private: bool m_snd_touch; bool m_snd_key; VolumeApplet *m_icon; }; class VolumeApplet : public QWidget { Q_OBJECT public: VolumeApplet ( QWidget *parent = 0, const char *name=0 ); ~VolumeApplet ( ); + static int position(); void redraw ( bool all = true ); protected: virtual void mousePressEvent ( QMouseEvent * ); virtual void paintEvent ( QPaintEvent* ); private: QPixmap * m_pixmap; VolumeControl *m_dialog; }; diff --git a/core/applets/volumeapplet/volumeapplet.pro b/core/applets/volumeapplet/volumeapplet.pro index 92c6b0a..b14956e 100644 --- a/core/applets/volumeapplet/volumeapplet.pro +++ b/core/applets/volumeapplet/volumeapplet.pro @@ -1,13 +1,13 @@ TEMPLATE = lib CONFIG += qt plugin warn_on release -HEADERS = volume.h volumeappletimpl.h oledbox.h -SOURCES = volume.cpp volumeappletimpl.cpp oledbox.cpp +HEADERS = volume.h oledbox.h +SOURCES = volume.cpp oledbox.cpp TARGET = volumeapplet DESTDIR = $(OPIEDIR)/plugins/applets INCLUDEPATH += $(OPIEDIR)/include DEPENDPATH += ../$(OPIEDIR)/include LIBS += -lqpe VERSION = 1.0.0 include ( $(OPIEDIR)/include.pro ) target.path = $$prefix/plugins/applets diff --git a/core/applets/volumeapplet/volumeappletimpl.cpp b/core/applets/volumeapplet/volumeappletimpl.cpp deleted file mode 100644 index 9c7dea3..0000000 --- a/core/applets/volumeapplet/volumeappletimpl.cpp +++ b/dev/null @@ -1,65 +0,0 @@ -/********************************************************************** -** Copyright (C) 2000 Trolltech AS. All rights reserved. -** -** This file is part of Qtopia Environment. -** -** This file may be distributed and/or modified under the terms of the -** GNU General Public License version 2 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -** See http://www.trolltech.com/gpl/ for GPL licensing information. -** -** Contact info@trolltech.com if any conditions of this licensing are -** not clear to you. -** -**********************************************************************/ -#include "volume.h" -#include "volumeappletimpl.h" - -VolumeAppletImpl::VolumeAppletImpl() - : volume(0) -{ -} - -VolumeAppletImpl::~VolumeAppletImpl() -{ - delete volume; -} - -QWidget *VolumeAppletImpl::applet( QWidget *parent ) -{ - if ( !volume ) - volume = new VolumeApplet( parent ); - return volume; -} - -int VolumeAppletImpl::position() const -{ - return 6; -} - -QRESULT VolumeAppletImpl::queryInterface( const QUuid &uuid, QUnknownInterface **iface ) -{ - *iface = 0; - if ( uuid == IID_QUnknown ) - *iface = this; - else if ( uuid == IID_TaskbarApplet ) - *iface = this; - else - return QS_FALSE; - - if ( *iface ) - (*iface)->addRef(); - return QS_OK; -} - -Q_EXPORT_INTERFACE() -{ - Q_CREATE_INSTANCE( VolumeAppletImpl ) -} - - diff --git a/core/applets/volumeapplet/volumeappletimpl.h b/core/applets/volumeapplet/volumeappletimpl.h deleted file mode 100644 index a9221c6..0000000 --- a/core/applets/volumeapplet/volumeappletimpl.h +++ b/dev/null @@ -1,43 +0,0 @@ -/********************************************************************** -** Copyright (C) 2000 Trolltech AS. All rights reserved. -** -** This file is part of Qtopia Environment. -** -** This file may be distributed and/or modified under the terms of the -** GNU General Public License version 2 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -** See http://www.trolltech.com/gpl/ for GPL licensing information. -** -** Contact info@trolltech.com if any conditions of this licensing are -** not clear to you. -** -**********************************************************************/ -#ifndef VOLUMEAPPLETIMPL_H -#define VOLUMEAPPLETIMPL_H - -#include <qpe/taskbarappletinterface.h> - -class VolumeApplet; - -class VolumeAppletImpl : public TaskbarAppletInterface -{ -public: - VolumeAppletImpl(); - virtual ~VolumeAppletImpl(); - - QRESULT queryInterface( const QUuid&, QUnknownInterface** ); - Q_REFCOUNT - - virtual QWidget *applet( QWidget *parent ); - virtual int position() const; - -private: - VolumeApplet *volume; -}; - -#endif |