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 /noncore/applets/pyquicklaunch/pyquicklaunch.cpp | |
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
Diffstat (limited to 'noncore/applets/pyquicklaunch/pyquicklaunch.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/applets/pyquicklaunch/pyquicklaunch.cpp | 109 |
1 files changed, 109 insertions, 0 deletions
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 ) + |