Diffstat (limited to 'core/applets/screenshotapplet/screenshot.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | core/applets/screenshotapplet/screenshot.cpp | 27 |
1 files changed, 9 insertions, 18 deletions
diff --git a/core/applets/screenshotapplet/screenshot.cpp b/core/applets/screenshotapplet/screenshot.cpp index 1d88aa5..4ea81c8 100644 --- a/core/applets/screenshotapplet/screenshot.cpp +++ b/core/applets/screenshotapplet/screenshot.cpp | |||
@@ -1,49 +1,49 @@ | |||
1 | /********************************************************************** | 1 | /********************************************************************** |
2 | ** Copyright (C) 2002 L.J. Potter ljp@llornkcor.com | 2 | ** Copyright (C) 2002 L.J. Potter ljp@llornkcor.com |
3 | ** All rights reserved. | 3 | ** All rights reserved. |
4 | ** | 4 | ** |
5 | ** This file may be distributed and/or modified under the terms of the | 5 | ** This file may be distributed and/or modified under the terms of the |
6 | ** GNU General Public License version 2 as published by the Free Software | 6 | ** GNU General Public License version 2 as published by the Free Software |
7 | ** Foundation and appearing in the file LICENSE.GPL included in the | 7 | ** Foundation and appearing in the file LICENSE.GPL included in the |
8 | ** packaging of this file. | 8 | ** packaging of this file. |
9 | ** | 9 | ** |
10 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | 10 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE |
11 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | 11 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. |
12 | ** | 12 | ** |
13 | **********************************************************************/ | 13 | **********************************************************************/ |
14 | 14 | ||
15 | #include "screenshot.h" | 15 | #include "screenshot.h" |
16 | #include "inputDialog.h" | ||
17 | 16 | ||
18 | /* OPIE */ | 17 | /* OPIE */ |
19 | #include <opie2/odebug.h> | 18 | #include <opie2/odebug.h> |
19 | #include <opie2/ofiledialog.h> | ||
20 | #include <opie2/oresource.h> | ||
20 | #include <opie2/otaskbarapplet.h> | 21 | #include <opie2/otaskbarapplet.h> |
22 | |||
21 | #include <qpe/qpeapplication.h> | 23 | #include <qpe/qpeapplication.h> |
22 | #include <qpe/applnk.h> | 24 | #include <qpe/applnk.h> |
23 | #include <qpe/qcopenvelope_qws.h> | 25 | #include <qpe/qcopenvelope_qws.h> |
24 | #include <qpe/resource.h> | ||
25 | |||
26 | 26 | ||
27 | /* QT */ | 27 | /* QT */ |
28 | #include <qlineedit.h> | 28 | #include <qlineedit.h> |
29 | #include <qdir.h> | 29 | #include <qdir.h> |
30 | #include <qlabel.h> | 30 | #include <qlabel.h> |
31 | #include <qpushbutton.h> | 31 | #include <qpushbutton.h> |
32 | #include <qpainter.h> | 32 | #include <qpainter.h> |
33 | #include <qspinbox.h> | 33 | #include <qspinbox.h> |
34 | #include <qlayout.h> | 34 | #include <qlayout.h> |
35 | #include <qcheckbox.h> | 35 | #include <qcheckbox.h> |
36 | #include <qmessagebox.h> | 36 | #include <qmessagebox.h> |
37 | 37 | ||
38 | /* STD */ | 38 | /* STD */ |
39 | #include <stdlib.h> | 39 | #include <stdlib.h> |
40 | #include <sys/socket.h> | 40 | #include <sys/socket.h> |
41 | #include <netinet/in.h> | 41 | #include <netinet/in.h> |
42 | #include <netdb.h> | 42 | #include <netdb.h> |
43 | #include <unistd.h> | 43 | #include <unistd.h> |
44 | 44 | ||
45 | using namespace Opie::Core; | 45 | using namespace Opie::Core; |
46 | using namespace Opie::Ui; | 46 | using namespace Opie::Ui; |
47 | 47 | ||
48 | static const char *SCAP_hostname = "www.handhelds.org"; | 48 | static const char *SCAP_hostname = "www.handhelds.org"; |
49 | static const int SCAP_port = 80; | 49 | static const int SCAP_port = 80; |
@@ -90,64 +90,55 @@ ScreenshotControl::ScreenshotControl( QWidget *parent, const char *name ) | |||
90 | scapButton = new QPushButton( tr( "Scap" ), this, "ScapButton" ); | 90 | scapButton = new QPushButton( tr( "Scap" ), this, "ScapButton" ); |
91 | scapButton ->setFocusPolicy( QWidget::TabFocus ); | 91 | scapButton ->setFocusPolicy( QWidget::TabFocus ); |
92 | hbox-> addWidget ( scapButton ); | 92 | hbox-> addWidget ( scapButton ); |
93 | 93 | ||
94 | setFixedSize ( sizeHint ( )); | 94 | setFixedSize ( sizeHint ( )); |
95 | setFocusPolicy ( QWidget::NoFocus ); | 95 | setFocusPolicy ( QWidget::NoFocus ); |
96 | 96 | ||
97 | 97 | ||
98 | grabTimer = new QTimer ( this, "grab timer"); | 98 | grabTimer = new QTimer ( this, "grab timer"); |
99 | 99 | ||
100 | connect ( grabTimer, SIGNAL( timeout()), this, SLOT( performGrab())); | 100 | connect ( grabTimer, SIGNAL( timeout()), this, SLOT( performGrab())); |
101 | connect ( grabItButton, SIGNAL( clicked()), SLOT( slotGrab())); | 101 | connect ( grabItButton, SIGNAL( clicked()), SLOT( slotGrab())); |
102 | connect ( scapButton, SIGNAL( clicked()), SLOT( slotScap())); | 102 | connect ( scapButton, SIGNAL( clicked()), SLOT( slotScap())); |
103 | connect ( drawPadButton, SIGNAL(clicked()), SLOT(slotDrawpad()) ); | 103 | connect ( drawPadButton, SIGNAL(clicked()), SLOT(slotDrawpad()) ); |
104 | } | 104 | } |
105 | 105 | ||
106 | void ScreenshotControl::slotGrab() | 106 | void ScreenshotControl::slotGrab() |
107 | { | 107 | { |
108 | buttonPushed = 1; | 108 | buttonPushed = 1; |
109 | hide(); | 109 | hide(); |
110 | 110 | ||
111 | setFileName = FALSE; | 111 | setFileName = FALSE; |
112 | if ( saveNamedCheck->isChecked()) { | 112 | if ( saveNamedCheck->isChecked()) { |
113 | setFileName = TRUE; | 113 | setFileName = TRUE; |
114 | InputDialog *fileDlg; | ||
115 | 114 | ||
116 | fileDlg = new InputDialog( 0 , tr("Name of screenshot "), TRUE, 0); | 115 | MimeTypes types; |
117 | fileDlg->exec(); | 116 | QStringList list; |
118 | fileDlg->raise(); | 117 | list << "image/*"; |
119 | QString fileName, list; | 118 | types. insert ( "Images", list ); |
120 | if ( fileDlg->result() == 1 ) { | ||
121 | fileName = fileDlg->LineEdit1->text(); | ||
122 | 119 | ||
123 | if (fileName.find("/", 0, TRUE) == -1) | 120 | FileNamePath = Opie::Ui::OFileDialog::getSaveFileName( 1,"/","", types, 0 ); |
124 | FileNamePath = QDir::homeDirPath() + "/Documents/image/png/" + fileName; | ||
125 | else | ||
126 | FileNamePath = fileName; | ||
127 | |||
128 | } | ||
129 | delete fileDlg; | ||
130 | } | 121 | } |
131 | 122 | ||
132 | if ( delaySpin->value() ) | 123 | if ( delaySpin->value() ) |
133 | grabTimer->start( delaySpin->value() * 1000, true ); | 124 | grabTimer->start( delaySpin->value() * 1000, true ); |
134 | else | 125 | else |
135 | show(); | 126 | show(); |
136 | } | 127 | } |
137 | 128 | ||
138 | void ScreenshotControl::slotScap() | 129 | void ScreenshotControl::slotScap() |
139 | { | 130 | { |
140 | buttonPushed = 2; | 131 | buttonPushed = 2; |
141 | hide(); | 132 | hide(); |
142 | 133 | ||
143 | if ( delaySpin->value() ) | 134 | if ( delaySpin->value() ) |
144 | grabTimer->start( delaySpin->value() * 1000, true ); | 135 | grabTimer->start( delaySpin->value() * 1000, true ); |
145 | else | 136 | else |
146 | show(); | 137 | show(); |
147 | } | 138 | } |
148 | 139 | ||
149 | void ScreenshotControl::slotDrawpad() | 140 | void ScreenshotControl::slotDrawpad() |
150 | { | 141 | { |
151 | buttonPushed = 3; | 142 | buttonPushed = 3; |
152 | hide(); | 143 | hide(); |
153 | if ( delaySpin->value() ) | 144 | if ( delaySpin->value() ) |
@@ -283,49 +274,49 @@ void ScreenshotControl::performGrab() | |||
283 | ::close ( sock ); | 274 | ::close ( sock ); |
284 | } | 275 | } |
285 | } | 276 | } |
286 | if ( ok ) { | 277 | if ( ok ) { |
287 | QMessageBox::information( 0, tr( "Success" ), QString( "<p>%1</p>" ).arg ( tr( "Screenshot was uploaded to %1" )).arg( SCAP_hostname )); | 278 | QMessageBox::information( 0, tr( "Success" ), QString( "<p>%1</p>" ).arg ( tr( "Screenshot was uploaded to %1" )).arg( SCAP_hostname )); |
288 | } else { | 279 | } else { |
289 | QMessageBox::warning( 0, tr( "Error" ), QString( "<p>%1</p>" ).arg( tr( "Connection to %1 failed." )).arg( SCAP_hostname )); | 280 | QMessageBox::warning( 0, tr( "Error" ), QString( "<p>%1</p>" ).arg( tr( "Connection to %1 failed." )).arg( SCAP_hostname )); |
290 | } | 281 | } |
291 | } else { | 282 | } else { |
292 | QMessageBox::warning( 0, tr( "Error" ),tr("Please set <b>QWS_DISPLAY</b> environmental variable.")); | 283 | QMessageBox::warning( 0, tr( "Error" ),tr("Please set <b>QWS_DISPLAY</b> environmental variable.")); |
293 | } | 284 | } |
294 | } | 285 | } |
295 | 286 | ||
296 | } | 287 | } |
297 | 288 | ||
298 | 289 | ||
299 | 290 | ||
300 | //=========================================================================== | 291 | //=========================================================================== |
301 | 292 | ||
302 | ScreenshotApplet::ScreenshotApplet( QWidget *parent, const char *name ) | 293 | ScreenshotApplet::ScreenshotApplet( QWidget *parent, const char *name ) |
303 | : QWidget( parent, name ) | 294 | : QWidget( parent, name ) |
304 | { | 295 | { |
305 | setFixedHeight( AppLnk::smallIconSize() ); | 296 | setFixedHeight( AppLnk::smallIconSize() ); |
306 | setFixedWidth( AppLnk::smallIconSize() ); | 297 | setFixedWidth( AppLnk::smallIconSize() ); |
307 | m_icon.convertFromImage( Resource::loadImage( "screenshotapplet/screenshot" ).smoothScale( height(), width() ) ); | 298 | m_icon = Opie::Core::OResource::loadPixmap( "screenshotapplet/screenshot", Opie::Core::OResource::SmallIcon ); |
308 | } | 299 | } |
309 | 300 | ||
310 | ScreenshotApplet::~ScreenshotApplet() | 301 | ScreenshotApplet::~ScreenshotApplet() |
311 | { | 302 | { |
312 | } | 303 | } |
313 | 304 | ||
314 | int ScreenshotApplet::position() | 305 | int ScreenshotApplet::position() |
315 | { | 306 | { |
316 | return 6; | 307 | return 6; |
317 | } | 308 | } |
318 | 309 | ||
319 | void ScreenshotApplet::mousePressEvent( QMouseEvent *) | 310 | void ScreenshotApplet::mousePressEvent( QMouseEvent *) |
320 | { | 311 | { |
321 | ScreenshotControl *sc = new ScreenshotControl ( ); | 312 | ScreenshotControl *sc = new ScreenshotControl ( ); |
322 | QPoint curPos = mapToGlobal ( QPoint ( 0, 0 )); | 313 | QPoint curPos = mapToGlobal ( QPoint ( 0, 0 )); |
323 | 314 | ||
324 | // windowPosX is the windows position centered above the applets icon. | 315 | // windowPosX is the windows position centered above the applets icon. |
325 | // If the icon is near the edge of the screen, the window would leave the visible area | 316 | // If the icon is near the edge of the screen, the window would leave the visible area |
326 | // so we check the position against the screen width and correct the difference if needed | 317 | // so we check the position against the screen width and correct the difference if needed |
327 | 318 | ||
328 | int screenWidth = qApp->desktop()->width(); | 319 | int screenWidth = qApp->desktop()->width(); |
329 | int windowPosX = curPos. x ( ) - ( sc-> sizeHint ( ). width ( ) - width ( )) / 2 ; | 320 | int windowPosX = curPos. x ( ) - ( sc-> sizeHint ( ). width ( ) - width ( )) / 2 ; |
330 | int ZwindowPosX, XwindowPosX; | 321 | int ZwindowPosX, XwindowPosX; |
331 | 322 | ||