-rw-r--r-- | noncore/applets/autorotateapplet/autorotate.cpp | 50 |
1 files changed, 19 insertions, 31 deletions
diff --git a/noncore/applets/autorotateapplet/autorotate.cpp b/noncore/applets/autorotateapplet/autorotate.cpp index 4733860..35a11db 100644 --- a/noncore/applets/autorotateapplet/autorotate.cpp +++ b/noncore/applets/autorotateapplet/autorotate.cpp @@ -1,99 +1,87 @@ /* * copyright : (c) 2003 by Greg Gilbert * email : greg@treke.net * based on the cardmon applet by Max Reiss * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * *************************************************************************/ - #include "autorotate.h" -#include <qpe/resource.h> - +/* OPIE */ #include <opie/odevice.h> - #include <qpe/applnk.h> #include <qpe/config.h> +#include <qpe/resource.h> +/* QT */ +#include <qapplication.h> +#include <qfile.h> #include <qcopchannel_qws.h> -#include <qpainter.h> #include <qmessagebox.h> -#include <qfile.h> -#include <qtextstream.h> +#include <qpainter.h> +#include <qpixmap.h> +#include <qimage.h> #include <qtimer.h> -#include <qapplication.h> +#include <qtextstream.h> using namespace Opie; -AutoRotate::AutoRotate(QWidget * parent):QWidget(parent), - enabledPm( Resource::loadPixmap("autorotate/rotate") ), - disabledPm( Resource::loadPixmap("autorotate/norotate") ) +AutoRotate::AutoRotate(QWidget * parent):QWidget(parent) { setFixedWidth ( AppLnk::smallIconSize() ); setFixedHeight ( AppLnk::smallIconSize() ); + enabledPm.convertFromImage( Resource::loadImage("autorotate/rotate").smoothScale( height(), width() ) ); + disabledPm.convertFromImage( Resource::loadImage("autorotate/norotate").smoothScale( height(), width() ) ); + repaint(true); popupMenu = 0; show(); } AutoRotate::~AutoRotate() { if (popupMenu) { delete popupMenu; } } void AutoRotate::mousePressEvent(QMouseEvent *) { QPopupMenu *menu = new QPopupMenu(this); - - if (isRotateEnabled()) - menu->insertItem("Disable Rotation",1); - else - menu->insertItem("Enable Rotation",1); - + menu->insertItem( isRotateEnabled()? "Disable Rotation" : "Enable Rotation" ,1 ); QPoint p = mapToGlobal(QPoint(0, 0)); QSize s = menu->sizeHint(); - int opt = menu->exec(QPoint(p.x() + (width() / 2) - (s.width() / 2), - p.y() - s.height()), 0); - - if (opt==1) { - if (isRotateEnabled()) - setRotateEnabled(false); - else - setRotateEnabled(true); + int opt = menu->exec(QPoint(p.x() + (width() / 2) - (s.width() / 2), p.y() - s.height()), 0); + if (opt==1) + { + setRotateEnabled( !isRotateEnabled() ); repaint(true); } delete menu; } void AutoRotate::paintEvent(QPaintEvent *) { QPainter p(this); - - if ( isRotateEnabled() ) { - p.drawPixmap(0, 0, enabledPm ); - } else { - p.drawPixmap(0, 0, disabledPm ); - } + p.drawPixmap( 0, 0, isRotateEnabled()? enabledPm : disabledPm ); } void AutoRotate::setRotateEnabled(bool status) { Config cfg( "qpe" ); cfg.setGroup( "Appearance" ); cfg.writeEntry( "rotateEnabled",status ); } bool AutoRotate::isRotateEnabled() { Config cfg( "qpe" ); |