author | sandman <sandman> | 2002-10-06 22:22:17 (UTC) |
---|---|---|
committer | sandman <sandman> | 2002-10-06 22:22:17 (UTC) |
commit | 932cb3b350748549bfdb6fdc6f080061f4340f73 (patch) (unidiff) | |
tree | 2998710324342eed2b4da3dc37f09fbf42daddda | |
parent | 685c08f1c48813f9d222446f0516b8e20635607e (diff) | |
download | opie-932cb3b350748549bfdb6fdc6f080061f4340f73.zip opie-932cb3b350748549bfdb6fdc6f080061f4340f73.tar.gz opie-932cb3b350748549bfdb6fdc6f080061f4340f73.tar.bz2 |
- added a new logout menu-applet
- fixed the positions of all menu applets
- changed the icons for logout/suspend
-rw-r--r-- | core/applets/homeapplet/home.cpp | 4 | ||||
-rw-r--r-- | core/applets/logoutapplet/logout.cpp | 115 | ||||
-rw-r--r-- | core/applets/logoutapplet/logout.h | 47 | ||||
-rw-r--r-- | core/applets/logoutapplet/logoutapplet.pro | 25 | ||||
-rw-r--r-- | core/applets/suspendapplet/suspend.cpp | 6 |
5 files changed, 192 insertions, 5 deletions
diff --git a/core/applets/homeapplet/home.cpp b/core/applets/homeapplet/home.cpp index 2b726ae..3670e6d 100644 --- a/core/applets/homeapplet/home.cpp +++ b/core/applets/homeapplet/home.cpp | |||
@@ -1,74 +1,74 @@ | |||
1 | #include <qpe/resource.h> | 1 | #include <qpe/resource.h> |
2 | #include <qpe/qcopenvelope_qws.h> | 2 | #include <qpe/qcopenvelope_qws.h> |
3 | 3 | ||
4 | #include <qiconset.h> | 4 | #include <qiconset.h> |
5 | #include <qpopupmenu.h> | 5 | #include <qpopupmenu.h> |
6 | 6 | ||
7 | #include "home.h" | 7 | #include "home.h" |
8 | 8 | ||
9 | 9 | ||
10 | HomeApplet::HomeApplet ( ) | 10 | HomeApplet::HomeApplet ( ) |
11 | : QObject ( 0, "HomeApplet" ), ref ( 0 ) | 11 | : QObject ( 0, "HomeApplet" ), ref ( 0 ) |
12 | { | 12 | { |
13 | } | 13 | } |
14 | 14 | ||
15 | HomeApplet::~HomeApplet ( ) | 15 | HomeApplet::~HomeApplet ( ) |
16 | { | 16 | { |
17 | } | 17 | } |
18 | 18 | ||
19 | int HomeApplet::position ( ) const | 19 | int HomeApplet::position ( ) const |
20 | { | 20 | { |
21 | return 0; | 21 | return 4; |
22 | } | 22 | } |
23 | 23 | ||
24 | QString HomeApplet::name ( ) const | 24 | QString HomeApplet::name ( ) const |
25 | { | 25 | { |
26 | return tr( "Home shortcut" ); | 26 | return tr( "Home shortcut" ); |
27 | } | 27 | } |
28 | 28 | ||
29 | QString HomeApplet::text ( ) const | 29 | QString HomeApplet::text ( ) const |
30 | { | 30 | { |
31 | return tr( "Home" ); | 31 | return tr( "Home" ); |
32 | } | 32 | } |
33 | 33 | ||
34 | QIconSet HomeApplet::icon ( ) const | 34 | QIconSet HomeApplet::icon ( ) const |
35 | { | 35 | { |
36 | QPixmap pix; | 36 | QPixmap pix; |
37 | QImage img = Resource::loadImage ( "home" ); | 37 | QImage img = Resource::loadImage ( "home" ); |
38 | 38 | ||
39 | if ( !img. isNull ( )) | 39 | if ( !img. isNull ( )) |
40 | pix. convertFromImage ( img. smoothScale ( 16, 16 )); | 40 | pix. convertFromImage ( img. smoothScale ( 14, 14 )); |
41 | return pix; | 41 | return pix; |
42 | } | 42 | } |
43 | 43 | ||
44 | QPopupMenu *HomeApplet::popup ( QWidget * ) const | 44 | QPopupMenu *HomeApplet::popup ( QWidget * ) const |
45 | { | 45 | { |
46 | return 0; | 46 | return 0; |
47 | } | 47 | } |
48 | 48 | ||
49 | void HomeApplet::activated ( ) | 49 | void HomeApplet::activated ( ) |
50 | { | 50 | { |
51 | // to desktop (home) | 51 | // to desktop (home) |
52 | QCopEnvelope ( "QPE/Desktop", "home()" ); | 52 | QCopEnvelope ( "QPE/Desktop", "home()" ); |
53 | } | 53 | } |
54 | 54 | ||
55 | 55 | ||
56 | QRESULT HomeApplet::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) | 56 | QRESULT HomeApplet::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) |
57 | { | 57 | { |
58 | *iface = 0; | 58 | *iface = 0; |
59 | if ( uuid == IID_QUnknown ) | 59 | if ( uuid == IID_QUnknown ) |
60 | *iface = this; | 60 | *iface = this; |
61 | else if ( uuid == IID_MenuApplet ) | 61 | else if ( uuid == IID_MenuApplet ) |
62 | *iface = this; | 62 | *iface = this; |
63 | 63 | ||
64 | if ( *iface ) | 64 | if ( *iface ) |
65 | (*iface)-> addRef ( ); | 65 | (*iface)-> addRef ( ); |
66 | return QS_OK; | 66 | return QS_OK; |
67 | } | 67 | } |
68 | 68 | ||
69 | Q_EXPORT_INTERFACE( ) | 69 | Q_EXPORT_INTERFACE( ) |
70 | { | 70 | { |
71 | Q_CREATE_INSTANCE( HomeApplet ) | 71 | Q_CREATE_INSTANCE( HomeApplet ) |
72 | } | 72 | } |
73 | 73 | ||
74 | 74 | ||
diff --git a/core/applets/logoutapplet/logout.cpp b/core/applets/logoutapplet/logout.cpp new file mode 100644 index 0000000..9470401 --- a/dev/null +++ b/core/applets/logoutapplet/logout.cpp | |||
@@ -0,0 +1,115 @@ | |||
1 | #include <qpe/resource.h> | ||
2 | #include <qpe/qcopenvelope_qws.h> | ||
3 | |||
4 | #include <qapplication.h> | ||
5 | #include <qiconset.h> | ||
6 | #include <qpopupmenu.h> | ||
7 | #include <qmessagebox.h> | ||
8 | |||
9 | #include <unistd.h> | ||
10 | |||
11 | #include "logout.h" | ||
12 | |||
13 | |||
14 | LogoutApplet::LogoutApplet ( ) | ||
15 | : QObject ( 0, "LogoutApplet" ), ref ( 0 ) | ||
16 | { | ||
17 | } | ||
18 | |||
19 | LogoutApplet::~LogoutApplet ( ) | ||
20 | { | ||
21 | } | ||
22 | |||
23 | int LogoutApplet::position ( ) const | ||
24 | { | ||
25 | return 0; | ||
26 | } | ||
27 | |||
28 | QString LogoutApplet::name ( ) const | ||
29 | { | ||
30 | return tr( "Logout shortcut" ); | ||
31 | } | ||
32 | |||
33 | QString LogoutApplet::text ( ) const | ||
34 | { | ||
35 | return tr( "Logout" ); | ||
36 | } | ||
37 | |||
38 | QIconSet LogoutApplet::icon ( ) const | ||
39 | { | ||
40 | QPixmap pix; | ||
41 | QImage img = Resource::loadImage ( "logout" ); | ||
42 | |||
43 | if ( !img. isNull ( )) | ||
44 | pix. convertFromImage ( img. smoothScale ( 14, 14 )); | ||
45 | return pix; | ||
46 | } | ||
47 | |||
48 | QPopupMenu *LogoutApplet::popup ( QWidget * ) const | ||
49 | { | ||
50 | return 0; | ||
51 | } | ||
52 | |||
53 | // This is a workaround for a Qt bug | ||
54 | // clipboard applet has to stop its poll timer, or Qt/E | ||
55 | // will hang on quit() right before it emits aboutToQuit() | ||
56 | |||
57 | class HackApplication : public QApplication { | ||
58 | public: | ||
59 | HackApplication ( ) : QApplication ( dummy, 0 ) | ||
60 | { | ||
61 | } | ||
62 | |||
63 | void emit_about_to_quit ( ) | ||
64 | { | ||
65 | emit aboutToQuit ( ); | ||
66 | } | ||
67 | |||
68 | int dummy; | ||
69 | }; | ||
70 | |||
71 | |||
72 | void LogoutApplet::activated ( ) | ||
73 | { | ||
74 | QMessageBox mb ( tr( "Logout" ), | ||
75 | tr( "Do you really want to\nend this session ?" ), | ||
76 | QMessageBox::NoIcon, | ||
77 | QMessageBox::Yes | QMessageBox::Default, | ||
78 | QMessageBox::No | QMessageBox::Escape, | ||
79 | QMessageBox::NoButton ); | ||
80 | |||
81 | mb. setButtonText ( QMessageBox::Yes, "Yes" ); | ||
82 | mb. setButtonText ( QMessageBox::No, "No" ); | ||
83 | mb. setIconPixmap ( icon ( ). pixmap ( )); | ||
84 | |||
85 | if ( mb. exec ( ) == QMessageBox::Yes ) { | ||
86 | { QCopEnvelope envelope( "QPE/System", "forceQuit()" ); } | ||
87 | |||
88 | qApp-> processEvents ( ); // ensure the message goes out. | ||
89 | sleep ( 1 ); // You have 1 second to comply. | ||
90 | |||
91 | ((HackApplication *) qApp )-> emit_about_to_quit ( ); | ||
92 | qApp-> quit(); | ||
93 | } | ||
94 | } | ||
95 | |||
96 | |||
97 | QRESULT LogoutApplet::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) | ||
98 | { | ||
99 | *iface = 0; | ||
100 | if ( uuid == IID_QUnknown ) | ||
101 | *iface = this; | ||
102 | else if ( uuid == IID_MenuApplet ) | ||
103 | *iface = this; | ||
104 | |||
105 | if ( *iface ) | ||
106 | (*iface)-> addRef ( ); | ||
107 | return QS_OK; | ||
108 | } | ||
109 | |||
110 | Q_EXPORT_INTERFACE( ) | ||
111 | { | ||
112 | Q_CREATE_INSTANCE( LogoutApplet ) | ||
113 | } | ||
114 | |||
115 | |||
diff --git a/core/applets/logoutapplet/logout.h b/core/applets/logoutapplet/logout.h new file mode 100644 index 0000000..e45f3ba --- a/dev/null +++ b/core/applets/logoutapplet/logout.h | |||
@@ -0,0 +1,47 @@ | |||
1 | /********************************************************************** | ||
2 | ** Copyright (C) 2000 Trolltech AS. All rights reserved. | ||
3 | ** | ||
4 | ** This file is part of Qtopia Environment. | ||
5 | ** | ||
6 | ** This file may be distributed and/or modified under the terms of the | ||
7 | ** GNU General Public License version 2 as published by the Free Software | ||
8 | ** Foundation and appearing in the file LICENSE.GPL included in the | ||
9 | ** packaging of this file. | ||
10 | ** | ||
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | ||
12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | ||
13 | ** | ||
14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | ||
15 | ** | ||
16 | ** Contact info@trolltech.com if any conditions of this licensing are | ||
17 | ** not clear to you. | ||
18 | ** | ||
19 | **********************************************************************/ | ||
20 | #ifndef __OPIE_LOGOUT_APPLET_H__ | ||
21 | #define __OPIE_LOGOUT_APPLET_H__ | ||
22 | |||
23 | #include <qpe/menuappletinterface.h> | ||
24 | |||
25 | class LogoutApplet : public QObject, public MenuAppletInterface | ||
26 | { | ||
27 | public: | ||
28 | LogoutApplet ( ); | ||
29 | virtual ~LogoutApplet ( ); | ||
30 | |||
31 | QRESULT queryInterface( const QUuid&, QUnknownInterface** ); | ||
32 | Q_REFCOUNT | ||
33 | |||
34 | virtual int position() const; | ||
35 | |||
36 | virtual QString name ( ) const; | ||
37 | virtual QIconSet icon ( ) const; | ||
38 | virtual QString text ( ) const; | ||
39 | virtual QPopupMenu *popup ( QWidget *parent ) const; | ||
40 | |||
41 | virtual void activated ( ); | ||
42 | |||
43 | private: | ||
44 | ulong ref; | ||
45 | }; | ||
46 | |||
47 | #endif | ||
diff --git a/core/applets/logoutapplet/logoutapplet.pro b/core/applets/logoutapplet/logoutapplet.pro new file mode 100644 index 0000000..9adfea5 --- a/dev/null +++ b/core/applets/logoutapplet/logoutapplet.pro | |||
@@ -0,0 +1,25 @@ | |||
1 | TEMPLATE = lib | ||
2 | CONFIG += qt warn_on release | ||
3 | HEADERS = logout.h | ||
4 | SOURCES = logout.cpp | ||
5 | TARGET = logoutapplet | ||
6 | DESTDIR = $(OPIEDIR)/plugins/applets | ||
7 | INCLUDEPATH += $(OPIEDIR)/include | ||
8 | DEPENDPATH += $(OPIEDIR)/include | ||
9 | LIBS += -lqpe | ||
10 | VERSION = 1.0.0 | ||
11 | |||
12 | TRANSLATIONS = ../../../i18n/de/liblogoutapplet.ts \ | ||
13 | ../../../i18n/en/liblogoutapplet.ts \ | ||
14 | ../../../i18n/es/liblogoutapplet.ts \ | ||
15 | ../../../i18n/fr/liblogoutapplet.ts \ | ||
16 | ../../../i18n/hu/liblogoutapplet.ts \ | ||
17 | ../../../i18n/ja/liblogoutapplet.ts \ | ||
18 | ../../../i18n/ko/liblogoutapplet.ts \ | ||
19 | ../../../i18n/no/liblogoutapplet.ts \ | ||
20 | ../../../i18n/pl/liblogoutapplet.ts \ | ||
21 | ../../../i18n/pt/liblogoutapplet.ts \ | ||
22 | ../../../i18n/pt_BR/liblogoutapplet.ts \ | ||
23 | ../../../i18n/sl/liblogoutapplet.ts \ | ||
24 | ../../../i18n/zh_CN/liblogoutapplet.ts \ | ||
25 | ../../../i18n/zh_TW/liblogoutapplet.ts | ||
diff --git a/core/applets/suspendapplet/suspend.cpp b/core/applets/suspendapplet/suspend.cpp index 5966a84..e9861e8 100644 --- a/core/applets/suspendapplet/suspend.cpp +++ b/core/applets/suspendapplet/suspend.cpp | |||
@@ -1,74 +1,74 @@ | |||
1 | #include <qpe/resource.h> | 1 | #include <qpe/resource.h> |
2 | #include <qpe/qcopenvelope_qws.h> | 2 | #include <qpe/qcopenvelope_qws.h> |
3 | 3 | ||
4 | #include <qiconset.h> | 4 | #include <qiconset.h> |
5 | #include <qpopupmenu.h> | 5 | #include <qpopupmenu.h> |
6 | 6 | ||
7 | #include "suspend.h" | 7 | #include "suspend.h" |
8 | 8 | ||
9 | 9 | ||
10 | SuspendApplet::SuspendApplet ( ) | 10 | SuspendApplet::SuspendApplet ( ) |
11 | : QObject ( 0, "SuspendApplet" ), ref ( 0 ) | 11 | : QObject ( 0, "SuspendApplet" ), ref ( 0 ) |
12 | { | 12 | { |
13 | } | 13 | } |
14 | 14 | ||
15 | SuspendApplet::~SuspendApplet ( ) | 15 | SuspendApplet::~SuspendApplet ( ) |
16 | { | 16 | { |
17 | } | 17 | } |
18 | 18 | ||
19 | int SuspendApplet::position ( ) const | 19 | int SuspendApplet::position ( ) const |
20 | { | 20 | { |
21 | return 0; | 21 | return 2; |
22 | } | 22 | } |
23 | 23 | ||
24 | QString SuspendApplet::name ( ) const | 24 | QString SuspendApplet::name ( ) const |
25 | { | 25 | { |
26 | return tr( "Suspend shortcut" ); | 26 | return tr( "Suspend shortcut" ); |
27 | } | 27 | } |
28 | 28 | ||
29 | QString SuspendApplet::text ( ) const | 29 | QString SuspendApplet::text ( ) const |
30 | { | 30 | { |
31 | return tr( "Suspend" ); | 31 | return tr( "Suspend" ); |
32 | } | 32 | } |
33 | 33 | ||
34 | QIconSet SuspendApplet::icon ( ) const | 34 | QIconSet SuspendApplet::icon ( ) const |
35 | { | 35 | { |
36 | QPixmap pix; | 36 | QPixmap pix; |
37 | QImage img = Resource::loadImage ( "Shutdown" ); | 37 | QImage img = Resource::loadImage ( "suspend" ); |
38 | 38 | ||
39 | if ( !img. isNull ( )) | 39 | if ( !img. isNull ( )) |
40 | pix. convertFromImage ( img. smoothScale ( 16, 16 )); | 40 | pix. convertFromImage ( img. smoothScale ( 14, 14 )); |
41 | return pix; | 41 | return pix; |
42 | } | 42 | } |
43 | 43 | ||
44 | QPopupMenu *SuspendApplet::popup ( QWidget * ) const | 44 | QPopupMenu *SuspendApplet::popup ( QWidget * ) const |
45 | { | 45 | { |
46 | return 0; | 46 | return 0; |
47 | } | 47 | } |
48 | 48 | ||
49 | void SuspendApplet::activated ( ) | 49 | void SuspendApplet::activated ( ) |
50 | { | 50 | { |
51 | // suspend | 51 | // suspend |
52 | QCopEnvelope ( "QPE/Desktop", "suspend()" ); | 52 | QCopEnvelope ( "QPE/Desktop", "suspend()" ); |
53 | } | 53 | } |
54 | 54 | ||
55 | 55 | ||
56 | QRESULT SuspendApplet::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) | 56 | QRESULT SuspendApplet::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) |
57 | { | 57 | { |
58 | *iface = 0; | 58 | *iface = 0; |
59 | if ( uuid == IID_QUnknown ) | 59 | if ( uuid == IID_QUnknown ) |
60 | *iface = this; | 60 | *iface = this; |
61 | else if ( uuid == IID_MenuApplet ) | 61 | else if ( uuid == IID_MenuApplet ) |
62 | *iface = this; | 62 | *iface = this; |
63 | 63 | ||
64 | if ( *iface ) | 64 | if ( *iface ) |
65 | (*iface)-> addRef ( ); | 65 | (*iface)-> addRef ( ); |
66 | return QS_OK; | 66 | return QS_OK; |
67 | } | 67 | } |
68 | 68 | ||
69 | Q_EXPORT_INTERFACE( ) | 69 | Q_EXPORT_INTERFACE( ) |
70 | { | 70 | { |
71 | Q_CREATE_INSTANCE( SuspendApplet ) | 71 | Q_CREATE_INSTANCE( SuspendApplet ) |
72 | } | 72 | } |
73 | 73 | ||
74 | 74 | ||