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/screenshotapplet/screenshot.cpp | |
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
Diffstat (limited to 'core/applets/screenshotapplet/screenshot.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/applets/screenshotapplet/screenshot.cpp | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/core/applets/screenshotapplet/screenshot.cpp b/core/applets/screenshotapplet/screenshot.cpp index 56a031c..5d6bce4 100644 --- a/core/applets/screenshotapplet/screenshot.cpp +++ b/core/applets/screenshotapplet/screenshot.cpp @@ -1,84 +1,87 @@ /********************************************************************** ** Copyright (C) 2002 L.J. Potter ljp@llornkcor.com ** 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 "screenshot.h" #include "inputDialog.h" -#include <stdlib.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <netdb.h> -#include <unistd.h> - +/* OPIE */ +#include <opie2/otaskbarapplet.h> #include <qpe/qpeapplication.h> #include <qpe/applnk.h> +/* QT */ #include <qlineedit.h> #include <qdir.h> #include <qlabel.h> #include <qpushbutton.h> #include <qpainter.h> #include <qspinbox.h> #include <qlayout.h> #include <qcheckbox.h> #include <qmessagebox.h> +/* STD */ +#include <stdlib.h> +#include <sys/socket.h> +#include <netinet/in.h> +#include <netdb.h> +#include <unistd.h> /* XPM */ static char * snapshot_xpm[] = { "32 32 177 2", " c None", ". c #042045", "+ c #0D2B47", "@ c #0E325E", "# c #0D2E50", "$ c #0A1C32", "% c #0F3A69", "& c #164680", "* c #165EAE", "= c #134D89", "- c #0A3A6E", "; c #031024", "> c #031B36", ", c #1A5EA3", "' c #1862B1", ") c #1866B9", "! c #0F5AAC", "~ c #0F56A8", "{ c #0C4C96", "] c #030918", "^ c #060206", "/ c #20242C", "( c #3E3B3B", "_ c #186ABD", ": c #115EB3", "< c #082644", "[ c #222C38", "} c #5A5859", "| c #091921", "1 c #1E7EDE", "2 c #1A7ADA", "3 c #1970CD", "4 c #1758A1", "5 c #0E529A", "6 c #094388", "7 c #22364E", "8 c #384454", "9 c #04162C", "0 c #123451", "a c #3296B4", "b c #298AB1", "c c #2484AC", "d c #033D86", "e c #033677", @@ -452,79 +455,89 @@ void ScreenshotControl::performGrab() "\n"; header = header.arg( SCAP_model).arg( ::getenv( "USER" ) ).arg( img.numBytes() ).arg( SCAP_hostname ); qDebug(header); if ( !pix.isNull() ) { const char *ascii = header.latin1( ); uint ascii_len = ::strlen( ascii ); ::write ( sock, ascii, ascii_len ); ::write ( sock, img.bits(), img.numBytes() ); ok = true; } } ::close ( sock ); } } if ( ok ) { QMessageBox::information( 0, tr( "Success" ), QString( "<p>%1</p>" ).arg ( tr( "Screenshot was uploaded to %1" )).arg( SCAP_hostname )); } else { QMessageBox::warning( 0, tr( "Error" ), QString( "<p>%1</p>" ).arg( tr( "Connection to %1 failed." )).arg( SCAP_hostname )); } } else { QMessageBox::warning( 0, tr( "Error" ),tr("Please set <b>QWS_DISPLAY</b> environmental variable.")); } } } //=========================================================================== ScreenshotApplet::ScreenshotApplet( QWidget *parent, const char *name ) : QWidget( parent, name ) { setFixedWidth( AppLnk::smallIconSize()); QImage img = (const char **)snapshot_xpm; img = img.smoothScale(AppLnk::smallIconSize(), AppLnk::smallIconSize()); m_icon.convertFromImage(img); } ScreenshotApplet::~ScreenshotApplet() { } +int ScreenshotApplet::position() +{ + return 6; +} + void ScreenshotApplet::mousePressEvent( QMouseEvent *) { ScreenshotControl *sc = new ScreenshotControl ( ); QPoint curPos = mapToGlobal ( QPoint ( 0, 0 )); // windowPosX is the windows position centered above the applets icon. // If the icon is near the edge of the screen, the window would leave the visible area // so we check the position against the screen width and correct the difference if needed int screenWidth = qApp->desktop()->width(); int windowPosX = curPos. x ( ) - ( sc-> sizeHint ( ). width ( ) - width ( )) / 2 ; int ZwindowPosX, XwindowPosX; // the window would be placed beyond the screen wich doesn't look tooo good if ( (windowPosX + sc-> sizeHint ( ). width ( )) > screenWidth ) { XwindowPosX = windowPosX + sc-> sizeHint ( ). width ( ) - screenWidth; ZwindowPosX = windowPosX - XwindowPosX - 1; } else { ZwindowPosX = windowPosX; } sc-> move ( ZwindowPosX, curPos. y ( ) - sc-> sizeHint ( ). height ( ) ); sc-> show ( ); } void ScreenshotApplet::paintEvent( QPaintEvent* ) { QPainter p ( this ); p.drawPixmap( 0,0, m_icon ); } +Q_EXPORT_INTERFACE() +{ + Q_CREATE_INSTANCE( OTaskbarAppletWrapper<ScreenshotApplet> ); +} + |