From 568d43a21aa45c402bff7570202467f0e7631634 Mon Sep 17 00:00:00 2001 From: mickeyl Date: Fri, 28 May 2004 09:19:18 +0000 Subject: add sceleton for the pyquicklaunchapplet, an applet which mimicks the quicklaunch technology for PyQt applications hence giving them a startup boost --- (limited to 'noncore') 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 +** 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 +#include +#include +#include +using namespace Opie::Core; + +/* QT */ +#include +#include + +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 +** 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 +#include +#include + +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 ) -- cgit v0.9.0.2