author | mickeyl <mickeyl> | 2004-05-28 09:19:18 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2004-05-28 09:19:18 (UTC) |
commit | 568d43a21aa45c402bff7570202467f0e7631634 (patch) (side-by-side diff) | |
tree | dff88c1aed244b622b791b7272d1266139cca760 | |
parent | 4f7c3c4d0d634706d13950b3827714b168e279e3 (diff) | |
download | opie-568d43a21aa45c402bff7570202467f0e7631634.zip opie-568d43a21aa45c402bff7570202467f0e7631634.tar.gz opie-568d43a21aa45c402bff7570202467f0e7631634.tar.bz2 |
add sceleton for the pyquicklaunchapplet, an applet which mimicks the quicklaunch
technology for PyQt applications hence giving them a startup boost
-rw-r--r-- | noncore/applets/pyquicklaunch/.cvsignore | 6 | ||||
-rw-r--r-- | noncore/applets/pyquicklaunch/config.in | 4 | ||||
-rw-r--r-- | noncore/applets/pyquicklaunch/pyquicklaunch.cpp | 109 | ||||
-rw-r--r-- | noncore/applets/pyquicklaunch/pyquicklaunch.h | 57 | ||||
-rw-r--r-- | noncore/applets/pyquicklaunch/pyquicklaunch.pro | 13 | ||||
-rw-r--r-- | packages | 1 |
6 files changed, 190 insertions, 0 deletions
diff --git a/noncore/applets/pyquicklaunch/.cvsignore b/noncore/applets/pyquicklaunch/.cvsignore new file mode 100644 index 0000000..0f79c04 --- a/dev/null +++ b/noncore/applets/pyquicklaunch/.cvsignore @@ -0,0 +1,6 @@ +Makefile* +advancedconfigbase.cpp +advancedconfigbase.h +moc_* +.moc +.obj diff --git a/noncore/applets/pyquicklaunch/config.in b/noncore/applets/pyquicklaunch/config.in new file mode 100644 index 0000000..f4828d3 --- a/dev/null +++ b/noncore/applets/pyquicklaunch/config.in @@ -0,0 +1,4 @@ + config WIRELESSAPPLET + boolean "opie-wirelessapplet (view wireless signal strength, and renew IP on AP change)" + default "y" + depends ( LIBQPE || LIBQPE-X11 ) && LIBOPIE2CORE && LIBOPIE2NET diff --git a/noncore/applets/pyquicklaunch/pyquicklaunch.cpp b/noncore/applets/pyquicklaunch/pyquicklaunch.cpp new file mode 100644 index 0000000..2ee8e17 --- a/dev/null +++ b/noncore/applets/pyquicklaunch/pyquicklaunch.cpp @@ -0,0 +1,109 @@ +/********************************************************************** +** Copyright (C) 2004 Michael 'Mickey' Lauer <mickey@vanille.de> +** All rights reserved. +** +** 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. +** +**********************************************************************/ + +#include "pyquicklaunch.h" + +/* OPIE */ +#include <opie2/odebug.h> +#include <opie2/otaskbarapplet.h> +#include <qpe/qpeapplication.h> +#include <qpe/config.h> +using namespace Opie::Core; + +/* QT */ +#include <qpainter.h> +#include <qframe.h> + +PyQuicklaunchControl::PyQuicklaunchControl( PyQuicklaunchApplet *applet, QWidget *parent, const char *name ) + : QFrame( parent, name, WStyle_StaysOnTop | WType_Popup ), applet( applet ) +{ + + setFrameStyle( QFrame::PopupPanel | QFrame::Raised ); + setFixedSize( sizeHint() ); + setFocusPolicy( QWidget::NoFocus ); +} + + +void PyQuicklaunchControl::show( bool ) +{ + QPoint curPos = applet->mapToGlobal( QPoint ( 0, 0 ) ); + + int w = sizeHint().width(); + int x = curPos.x() - ( w / 2 ); + + if ( ( x + w ) > QPEApplication::desktop() ->width() ) + x = QPEApplication::desktop ( ) -> width ( ) - w; + + move( x, curPos.y () - sizeHint().height () ); + QFrame::show(); +} + +void PyQuicklaunchControl::readConfig() +{ + Config cfg( "qpe" ); + cfg.setGroup( "PyQuicklaunch" ); + + // ... +} + +void PyQuicklaunchControl::writeConfigEntry( const char *entry, int val ) +{ + Config cfg( "qpe" ); + cfg.setGroup( "PyQuicklaunch" ); + cfg.writeEntry( entry, val ); +} + +//=========================================================================== + +PyQuicklaunchApplet::PyQuicklaunchApplet( QWidget *parent, const char *name ) + : QWidget( parent, name ) +{ + setFixedHeight( 18 ); + setFixedWidth( 14 ); + status = new PyQuicklaunchControl( this, this, "Python Quicklaunch Status" ); +} + + +PyQuicklaunchApplet::~PyQuicklaunchApplet() +{} + + +void PyQuicklaunchApplet::timerEvent( QTimerEvent* ) +{ + // FIXME +} + +void PyQuicklaunchApplet::mousePressEvent( QMouseEvent * ) +{ + status->isVisible() ? status->hide() : status->show( true ); +} + +void PyQuicklaunchApplet::paintEvent( QPaintEvent* ) +{ + QPainter p( this ); + int h = height(); + int w = width(); + + // FIXME + +} + + +int PyQuicklaunchApplet::position() +{ + return 6; +} + +EXPORT_OPIE_APPLET_v1( PyQuicklaunchApplet ) + diff --git a/noncore/applets/pyquicklaunch/pyquicklaunch.h b/noncore/applets/pyquicklaunch/pyquicklaunch.h new file mode 100644 index 0000000..e99f780 --- a/dev/null +++ b/noncore/applets/pyquicklaunch/pyquicklaunch.h @@ -0,0 +1,57 @@ +/********************************************************************** +** Copyright (C) 2004 Michael 'Mickey' Lauer <mickey@Vanille.de> +** All rights reserved. +** +** 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. +** +**********************************************************************/ + +#ifndef PYQUICKLAUNCHAPPLET_H +#define PYQUICKLAUNCHAPPLET_H + +#include <qwidget.h> +#include <qframe.h> +#include <qpixmap.h> + +class PyQuicklaunchApplet; + +class PyQuicklaunchControl : public QFrame +{ + Q_OBJECT + public: + PyQuicklaunchControl( PyQuicklaunchApplet* icon, QWidget *parent=0, const char *name=0 ); + void show( bool ); + + void readConfig(); + void writeConfigEntry( const char* entry, int val ); + + public slots: + + private: + PyQuicklaunchApplet* applet; +}; + +class PyQuicklaunchApplet : public QWidget +{ + Q_OBJECT + public: + PyQuicklaunchApplet( QWidget *parent = 0, const char *name=0 ); + ~PyQuicklaunchApplet(); + static int position(); + PyQuicklaunchControl* status; + + virtual void timerEvent( QTimerEvent* ); + + protected: + virtual void mousePressEvent( QMouseEvent * ); + virtual void paintEvent( QPaintEvent* ); +}; + +#endif // PYQUICKLAUNCHAPPLET_H + diff --git a/noncore/applets/pyquicklaunch/pyquicklaunch.pro b/noncore/applets/pyquicklaunch/pyquicklaunch.pro new file mode 100644 index 0000000..901781e --- a/dev/null +++ b/noncore/applets/pyquicklaunch/pyquicklaunch.pro @@ -0,0 +1,13 @@ +TEMPLATE = lib +CONFIG += qt plugin warn_on +HEADERS = pyquicklaunch.h +SOURCES = pyquicklaunch.cpp +INTERFACES = +TARGET = pyquicklaunch +DESTDIR = $(OPIEDIR)/plugins/applets +INCLUDEPATH += $(OPIEDIR)/include +DEPENDPATH += $(OPIEDIR)/include +LIBS += -lqpe -lopiecore2 +VERSION = 0.0.1 + +include ( $(OPIEDIR)/include.pro ) @@ -124,48 +124,49 @@ CONFIG_OPIEALARM core/opiealarm opiealarm.pro CONFIG_OPIE-CONSOLE noncore/apps/opie-console opie-console.pro CONFIG_OPIE_EYE noncore/graphics/opie-eye phunk_view.pro CONFIG_OPIE_EYE_SLAVE noncore/graphics/opie-eye/slave slave.pro CONFIG_OPIEFTP noncore/net/opieftp opieftp.pro CONFIG_OPIEIRC noncore/net/opieirc opieirc.pro CONFIG_OPIE-LOGIN core/opie-login opie-login.pro CONFIG_OPIEMAIL2 noncore/unsupported/mail2 mail.pro CONFIG_OPIEPLAYER2 noncore/multimedia/opieplayer2 opieplayer2.pro CONFIG_OPIEPLAYER core/multimedia/opieplayer opieplayer.pro CONFIG_OPIE-RDESKTOP noncore/net/opierdesktop opierdesktop.pro CONFIG_OPIE-READER noncore/apps/opie-reader opie-reader.pro CONFIG_OPIEREC noncore/multimedia/opierec opierec.pro CONFIG_OPIE-SHEET noncore/apps/opie-sheet opie-sheet.pro CONFIG_OPIE-SH noncore/tools/opie-sh opie-sh.pro CONFIG_OPIETOOTH-APPLET noncore/net/opietooth/applet applet.pro CONFIG_OPIETOOTH-MANAGER noncore/net/opietooth/manager manager.pro CONFIG_OPIE-WRITE noncore/apps/opie-write opie-write.pro CONFIG_OSEARCH core/pim/osearch osearch.pro CONFIG_OXYGEN noncore/apps/oxygen oxygen.pro CONFIG_PACKAGEMANAGER noncore/settings/packagemanager packagemanager.pro CONFIG_PARASHOOT noncore/games/parashoot parashoot.pro CONFIG_PICKBOARD inputmethods/pickboard pickboard.pro CONFIG_POWERCHORD noncore/multimedia/powerchord powerchord.pro CONFIG_PPP noncore/settings/networksettings/ppp ppp.pro +CONFIG_PYQUICKLAUNCH noncore/applets/pyquicklaunch pyquicklaunch.pro CONFIG_QASHMONEY noncore/apps/qashmoney qashmoney.pro CONFIG_QASTEROIDS noncore/games/qasteroids qasteroids.pro CONFIG_QCOP core/apps/qcop qcop.pro CONFIG_QPDF noncore/unsupported/qpdf qpdf.pro CONFIG_QUICKLAUNCHER core/tools/quicklauncher quicklauncher.pro CONFIG_QWS core/qws qws.pro CONFIG_REMOTE noncore/tools/remote remote.pro CONFIG_RESTARTAPPLET2 core/applets/restartapplet2 restartapplet2.pro CONFIG_RESTARTAPPLET core/applets/restartapplet restartapplet.pro CONFIG_ROTATEAPPLET core/applets/rotateapplet rotateapplet.pro CONFIG_ROTATION noncore/settings/rotation rotation.pro CONFIG_RUNAPPLET core/applets/runapplet runapplet.pro CONFIG_SCREENSHOTAPPLET core/applets/screenshotapplet screenshotapplet.pro CONFIG_SECURITY core/settings/security security.pro CONFIG_SFCAVE noncore/games/sfcave sfcave.pro CONFIG_SFCAVE-SDL noncore/games/sfcave-sdl sfcave-sdl.pro CONFIG_SHOWIMG noncore/multimedia/showimg showimg.pro CONFIG_SIMPLE_EXAMPLE examples/simple example.pro CONFIG_SIMPLE_ICON examples/simple-icon example.pro CONFIG_SIMPLE_MAIN examples/simple-main example.pro CONFIG_SIMPLE noncore/tools/calc2/simple simple.pro CONFIG_SIMPLE_PIM examples/simple-pim example.pro CONFIG_SINGLE single single.pro CONFIG_SNAKE noncore/games/snake snake.pro |