summaryrefslogtreecommitdiff
authordrw <drw>2005-04-24 20:24:00 (UTC)
committer drw <drw>2005-04-24 20:24:00 (UTC)
commit01ab9377017060c7ad3ab9e4ed2b76a879d442f6 (patch) (unidiff)
treec265ad8794f510a4808e545d8d18ca73ea32f04e
parent9f4dd8e0d2cbe83d23c5405394d5e076dd6c2c6b (diff)
downloadopie-01ab9377017060c7ad3ab9e4ed2b76a879d442f6.zip
opie-01ab9377017060c7ad3ab9e4ed2b76a879d442f6.tar.gz
opie-01ab9377017060c7ad3ab9e4ed2b76a879d442f6.tar.bz2
Resource -> OResource
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/settings/button/buttonsettings.cpp46
-rw-r--r--core/settings/button/buttonutils.cpp8
2 files changed, 28 insertions, 26 deletions
diff --git a/core/settings/button/buttonsettings.cpp b/core/settings/button/buttonsettings.cpp
index a90b4a1..a476a6b 100644
--- a/core/settings/button/buttonsettings.cpp
+++ b/core/settings/button/buttonsettings.cpp
@@ -1,268 +1,268 @@
1/* 1/*
2               =. This file is part of the OPIE Project 2 =. This file is part of the OPIE Project
3             .=l. Copyright (c) 2002 Robert Griebl <sandman@handhelds.org> 3 .=l. Copyright (c) 2002 Robert Griebl <sandman@handhelds.org>
4           .>+-= 4 .>+-=
5 _;:,     .>    :=|. This file is free software; you can 5_;:, .> :=|. This file is free software; you can
6.> <`_,   >  .   <= redistribute it and/or modify it under 6.> <`_, > . <= redistribute it and/or modify it under
7:`=1 )Y*s>-.--   : the terms of the GNU General Public 7:`=1 )Y*s>-.-- : the terms of the GNU General Public
8.="- .-=="i,     .._ License as published by the Free Software 8.="- .-=="i, .._ License as published by the Free Software
9 - .   .-<_>     .<> Foundation; either version 2 of the License, 9- . .-<_> .<> Foundation; either version 2 of the License,
10     ._= =}       : or (at your option) any later version. 10 ._= =} : or (at your option) any later version.
11    .%`+i>       _;_. 11 .%`+i> _;_.
12    .i_,=:_.      -<s. This file is distributed in the hope that 12 .i_,=:_. -<s. This file is distributed in the hope that
13     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 13 + . -:. = it will be useful, but WITHOUT ANY WARRANTY;
14    : ..    .:,     . . . without even the implied warranty of 14 : .. .:, . . . without even the implied warranty of
15    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A 15 =_ + =;=|` MERCHANTABILITY or FITNESS FOR A
16  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU General 16 _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU General
17..}^=.=       =       ; Public License for more details. 17..}^=.= = ; Public License for more details.
18++=   -.     .`     .: 18++= -. .` .:
19 :     =  ...= . :.=- You should have received a copy of the GNU 19: = ...= . :.=- You should have received a copy of the GNU
20 -.   .:....=;==+<; General Public License along with this file; 20-. .:....=;==+<; General Public License along with this file;
21  -_. . .   )=.  = see the file COPYING. If not, write to the 21 -_. . . )=. = see the file COPYING. If not, write to the
22    --        :-=` Free Software Foundation, Inc., 22 -- :-=` Free Software Foundation, Inc.,
23 59 Temple Place - Suite 330, 23 59 Temple Place - Suite 330,
24 Boston, MA 02111-1307, USA. 24 Boston, MA 02111-1307, USA.
25 25
26*/ 26*/
27 27
28#include "buttonsettings.h" 28#include "buttonsettings.h"
29#include "buttonutils.h" 29#include "buttonutils.h"
30#include "remapdlg.h" 30#include "remapdlg.h"
31 31
32#include <opie2/odevice.h> 32#include <opie2/odevice.h>
33 33
34#include <qpe/applnk.h> 34#include <qpe/applnk.h>
35 35
36#include <qlayout.h> 36#include <qlayout.h>
37#include <qlabel.h> 37#include <qlabel.h>
38#include <qtimer.h> 38#include <qtimer.h>
39#include <qscrollview.h> 39#include <qscrollview.h>
40 40
41 41
42using namespace Opie::Core; 42using namespace Opie::Core;
43 43
44struct buttoninfo { 44struct buttoninfo {
45 const ODeviceButton *m_button; 45 const ODeviceButton *m_button;
46 int m_index; 46 int m_index;
47 47
48 OQCopMessage m_pmsg; 48 OQCopMessage m_pmsg;
49 QLabel *m_picon; 49 QLabel *m_picon;
50 QLabel *m_plabel; 50 QLabel *m_plabel;
51 51
52 OQCopMessage m_hmsg; 52 OQCopMessage m_hmsg;
53 QLabel *m_hicon; 53 QLabel *m_hicon;
54 QLabel *m_hlabel; 54 QLabel *m_hlabel;
55 55
56 bool m_pdirty : 1; 56 bool m_pdirty : 1;
57 bool m_hdirty : 1; 57 bool m_hdirty : 1;
58}; 58};
59 59
60 60
61ButtonSettings::ButtonSettings ( QWidget *parent , const char *, bool, WFlags ) 61ButtonSettings::ButtonSettings ( QWidget *parent , const char *, bool, WFlags )
62 : QDialog ( parent, "ButtonSettings", false, WStyle_ContextHelp ) 62 : QDialog ( parent, "ButtonSettings", false, WStyle_ContextHelp )
63{ 63{
64 const QValueList <ODeviceButton> &buttons = ODevice::inst ( )-> buttons ( ); 64 const QValueList <ODeviceButton> &buttons = ODevice::inst ( )-> buttons ( );
65 (void) ButtonUtils::inst ( ); // initialise 65 (void) ButtonUtils::inst ( ); // initialise
66 66
67 setCaption ( tr( "Button Settings" )); 67 setCaption ( tr( "Button Settings" ));
68 68
69 QVBoxLayout *toplay = new QVBoxLayout ( this, 3, 3 ); 69 QVBoxLayout *toplay = new QVBoxLayout ( this, 3, 3 );
70 QScrollView*mainview = new QScrollView(this); 70 QScrollView*mainview = new QScrollView(this);
71 mainview->setResizePolicy( QScrollView::AutoOneFit ); 71 mainview->setResizePolicy( QScrollView::AutoOneFit );
72 72
73 toplay->addWidget(mainview); 73 toplay->addWidget(mainview);
74 QFrame*framehold=new QFrame(mainview->viewport()); 74 QFrame*framehold=new QFrame(mainview->viewport());
75 framehold->setFrameStyle(QFrame::NoFrame|QFrame::Plain); 75 framehold->setFrameStyle(QFrame::NoFrame|QFrame::Plain);
76 mainview->addChild(framehold); 76 mainview->addChild(framehold);
77 toplay = new QVBoxLayout (framehold, 3, 3 ); 77 toplay = new QVBoxLayout (framehold, 3, 3 );
78 78
79 QLabel *l = new QLabel ( tr( "<center>Press or hold the button you want to remap.</center>" ), framehold ); 79 QLabel *l = new QLabel ( tr( "<center>Press or hold the button you want to remap.</center>" ), framehold );
80 toplay-> addWidget ( l ); 80 toplay-> addWidget ( l );
81 81
82 QGridLayout *lay = new QGridLayout ( toplay ); 82 QGridLayout *lay = new QGridLayout ( toplay );
83 lay-> setMargin ( 0 ); 83 lay-> setMargin ( 0 );
84 lay-> setColStretch ( 0, 0 ); 84 lay-> setColStretch ( 0, 0 );
85 lay-> setColStretch ( 1, 0 ); 85 lay-> setColStretch ( 1, 0 );
86 lay-> setColStretch ( 2, 0 ); 86 lay-> setColStretch ( 2, 0 );
87 lay-> setColStretch ( 3, 10 ); 87 lay-> setColStretch ( 3, 10 );
88 88
89 m_infos. setAutoDelete ( true ); 89 m_infos. setAutoDelete ( true );
90 90
91 int i = 1; 91 int i = 1;
92 int index = 0; 92 int index = 0;
93 for ( QValueList<ODeviceButton>::ConstIterator it = buttons. begin ( ); it != buttons. end ( ); it++ ) { 93 for ( QValueList<ODeviceButton>::ConstIterator it = buttons. begin ( ); it != buttons. end ( ); it++ ) {
94 if ( it != buttons. begin ( )) { 94 if ( it != buttons. begin ( )) {
95 QFrame *f = new QFrame ( framehold ); 95 QFrame *f = new QFrame ( framehold );
96 f-> setFrameStyle ( QFrame::Sunken | QFrame::VLine ); 96 f-> setFrameStyle ( QFrame::Sunken | QFrame::VLine );
97 lay-> addMultiCellWidget ( f, i, i, 0, 3 ); 97 lay-> addMultiCellWidget ( f, i, i, 0, 3 );
98 i++; 98 i++;
99 } 99 }
100 100
101 buttoninfo *bi = new buttoninfo ( ); 101 buttoninfo *bi = new buttoninfo ( );
102 bi-> m_button = &(*it); 102 bi-> m_button = &(*it);
103 bi-> m_index = index++; 103 bi-> m_index = index++;
104 bi-> m_pmsg = (*it). pressedAction ( ); 104 bi-> m_pmsg = (*it). pressedAction ( );
105 bi-> m_hmsg = (*it). heldAction ( ); 105 bi-> m_hmsg = (*it). heldAction ( );
106 bi-> m_pdirty = false; 106 bi-> m_pdirty = false;
107 bi-> m_hdirty = false; 107 bi-> m_hdirty = false;
108 108
109 l = new QLabel ( framehold ); 109 l = new QLabel ( framehold );
110 l-> setPixmap (( *it ). pixmap ( )); 110 l-> setPixmap (( *it ). pixmap ( ));
111 111
112 lay-> addMultiCellWidget ( l, i, i + 1, 0, 0 ); 112 lay-> addMultiCellWidget ( l, i, i + 1, 0, 0 );
113 113
114 l = new QLabel ( tr( "Press:" ), framehold ); 114 l = new QLabel ( tr( "Press:" ), framehold );
115 lay-> addWidget ( l, i, 1, AlignLeft | AlignBottom ); 115 lay-> addWidget ( l, i, 1, AlignLeft | AlignBottom );
116 l = new QLabel ( tr( "Hold:" ), framehold ); 116 l = new QLabel ( tr( "Hold:" ), framehold );
117 lay-> addWidget ( l, i + 1, 1, AlignLeft | AlignTop ); 117 lay-> addWidget ( l, i + 1, 1, AlignLeft | AlignTop );
118 118
119 l = new QLabel ( framehold ); 119 l = new QLabel ( framehold );
120 l-> setFixedSize ( 16, 16 ); 120 l-> setFixedSize ( AppLnk::smallIconSize(), AppLnk::smallIconSize() );
121 lay-> addWidget ( l, i, 2, AlignLeft | AlignBottom ); 121 lay-> addWidget ( l, i, 2, AlignLeft | AlignBottom );
122 bi-> m_picon = l; 122 bi-> m_picon = l;
123 123
124 l = new QLabel ( framehold ); 124 l = new QLabel ( framehold );
125 l-> setAlignment ( AlignLeft | AlignVCenter | SingleLine ); 125 l-> setAlignment ( AlignLeft | AlignVCenter | SingleLine );
126 lay-> addWidget ( l, i, 3, AlignLeft | AlignBottom ); 126 lay-> addWidget ( l, i, 3, AlignLeft | AlignBottom );
127 bi-> m_plabel = l; 127 bi-> m_plabel = l;
128 128
129 l = new QLabel ( framehold ); 129 l = new QLabel ( framehold );
130 l-> setFixedSize ( 16, 16 ); 130 l-> setFixedSize ( AppLnk::smallIconSize(), AppLnk::smallIconSize() );
131 lay-> addWidget ( l, i + 1, 2, AlignLeft | AlignTop ); 131 lay-> addWidget ( l, i + 1, 2, AlignLeft | AlignTop );
132 bi-> m_hicon = l; 132 bi-> m_hicon = l;
133 133
134 l = new QLabel ( framehold ); 134 l = new QLabel ( framehold );
135 l-> setAlignment ( AlignLeft | AlignVCenter | SingleLine ); 135 l-> setAlignment ( AlignLeft | AlignVCenter | SingleLine );
136 lay-> addWidget ( l, i + 1, 3, AlignLeft | AlignTop ); 136 lay-> addWidget ( l, i + 1, 3, AlignLeft | AlignTop );
137 bi-> m_hlabel = l; 137 bi-> m_hlabel = l;
138 138
139 i += 2; 139 i += 2;
140 140
141 m_infos. append ( bi ); 141 m_infos. append ( bi );
142 } 142 }
143 143
144 toplay-> addStretch ( 10 ); 144 toplay-> addStretch ( 10 );
145 145
146 m_last_button = 0; 146 m_last_button = 0;
147 m_lock = false; 147 m_lock = false;
148 148
149 m_timer = new QTimer ( this ); 149 m_timer = new QTimer ( this );
150 connect ( m_timer, SIGNAL( timeout()), this, SLOT( keyTimeout())); 150 connect ( m_timer, SIGNAL( timeout()), this, SLOT( keyTimeout()));
151 151
152 updateLabels ( ); 152 updateLabels ( );
153 153
154 QPEApplication::grabKeyboard ( ); 154 QPEApplication::grabKeyboard ( );
155} 155}
156 156
157ButtonSettings::~ButtonSettings ( ) 157ButtonSettings::~ButtonSettings ( )
158{ 158{
159 QPEApplication::ungrabKeyboard ( ); 159 QPEApplication::ungrabKeyboard ( );
160} 160}
161 161
162void ButtonSettings::updateLabels ( ) 162void ButtonSettings::updateLabels ( )
163{ 163{
164 for ( QListIterator <buttoninfo> it ( m_infos ); *it; ++it ) { 164 for ( QListIterator <buttoninfo> it ( m_infos ); *it; ++it ) {
165 qCopInfo cip = ButtonUtils::inst ( )-> messageToInfo ((*it)-> m_pmsg ); 165 qCopInfo cip = ButtonUtils::inst ( )-> messageToInfo ((*it)-> m_pmsg );
166 166
167 QPixmap pic; 167 QPixmap pic;
168 pic.convertFromImage( cip.m_icon.convertToImage().smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() ) ); 168 pic.convertFromImage( cip.m_icon.convertToImage().smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() ) );
169 (*it)-> m_picon-> setPixmap ( pic ); 169 (*it)-> m_picon-> setPixmap ( pic );
170 (*it)-> m_plabel-> setText ( cip. m_name ); 170 (*it)-> m_plabel-> setText ( cip. m_name );
171 171
172 qCopInfo cih = ButtonUtils::inst ( )-> messageToInfo ((*it)-> m_hmsg ); 172 qCopInfo cih = ButtonUtils::inst ( )-> messageToInfo ((*it)-> m_hmsg );
173 173
174 pic.convertFromImage( cih.m_icon.convertToImage().smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() ) ); 174 pic.convertFromImage( cih.m_icon.convertToImage().smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() ) );
175 (*it)-> m_hicon-> setPixmap ( pic ); 175 (*it)-> m_hicon-> setPixmap ( pic );
176 (*it)-> m_hlabel-> setText ( cih. m_name ); 176 (*it)-> m_hlabel-> setText ( cih. m_name );
177 } 177 }
178} 178}
179 179
180buttoninfo *ButtonSettings::buttonInfoForKeycode ( ushort key ) 180buttoninfo *ButtonSettings::buttonInfoForKeycode ( ushort key )
181{ 181{
182 for ( QListIterator <buttoninfo> it ( m_infos ); *it; ++it ) { 182 for ( QListIterator <buttoninfo> it ( m_infos ); *it; ++it ) {
183 if ((*it)-> m_button-> keycode ( ) == key ) 183 if ((*it)-> m_button-> keycode ( ) == key )
184 return *it; 184 return *it;
185 } 185 }
186 return 0; 186 return 0;
187} 187}
188 188
189void ButtonSettings::keyPressEvent ( QKeyEvent *e ) 189void ButtonSettings::keyPressEvent ( QKeyEvent *e )
190{ 190{
191 buttoninfo *bi = buttonInfoForKeycode ( e-> key ( )); 191 buttoninfo *bi = buttonInfoForKeycode ( e-> key ( ));
192 192
193 if ( bi && !e-> isAutoRepeat ( )) { 193 if ( bi && !e-> isAutoRepeat ( )) {
194 m_timer-> stop ( ); 194 m_timer-> stop ( );
195 m_last_button = bi; 195 m_last_button = bi;
196 m_timer-> start ( ODevice::inst ( )-> buttonHoldTime ( ), true ); 196 m_timer-> start ( ODevice::inst ( )-> buttonHoldTime ( ), true );
197 } 197 }
198 else 198 else
199 QDialog::keyPressEvent ( e ); 199 QDialog::keyPressEvent ( e );
200} 200}
201 201
202void ButtonSettings::keyReleaseEvent ( QKeyEvent *e ) 202void ButtonSettings::keyReleaseEvent ( QKeyEvent *e )
203{ 203{
204 buttoninfo *bi = buttonInfoForKeycode ( e-> key ( )); 204 buttoninfo *bi = buttonInfoForKeycode ( e-> key ( ));
205 205
206 if ( bi && !e-> isAutoRepeat ( ) && m_timer-> isActive ( )) { 206 if ( bi && !e-> isAutoRepeat ( ) && m_timer-> isActive ( )) {
207 m_timer-> stop ( ); 207 m_timer-> stop ( );
208 edit ( bi, false ); 208 edit ( bi, false );
209 } 209 }
210 else 210 else
211 QDialog::keyReleaseEvent ( e ); 211 QDialog::keyReleaseEvent ( e );
212} 212}
213 213
214void ButtonSettings::keyTimeout ( ) 214void ButtonSettings::keyTimeout ( )
215{ 215{
216 if ( m_last_button ) { 216 if ( m_last_button ) {
217 edit ( m_last_button, true ); 217 edit ( m_last_button, true );
218 m_last_button = false; 218 m_last_button = false;
219 } 219 }
220} 220}
221 221
222void ButtonSettings::edit ( buttoninfo *bi, bool hold ) 222void ButtonSettings::edit ( buttoninfo *bi, bool hold )
223{ 223{
224 224
225 if ( m_lock ) 225 if ( m_lock )
226 return; 226 return;
227 m_lock = true; 227 m_lock = true;
228 228
229 RemapDlg *d = new RemapDlg ( bi-> m_button, hold, this ); 229 RemapDlg *d = new RemapDlg ( bi-> m_button, hold, this );
230 230
231 if ( QPEApplication::execDialog ( d ) == QDialog::Accepted ) { 231 if ( QPEApplication::execDialog ( d ) == QDialog::Accepted ) {
232 232
233 233
234 if ( hold ) { 234 if ( hold ) {
235 bi-> m_hmsg = d-> message ( ); 235 bi-> m_hmsg = d-> message ( );
236 bi-> m_hdirty = true; 236 bi-> m_hdirty = true;
237 } 237 }
238 else { 238 else {
239 bi-> m_pmsg = d-> message ( ); 239 bi-> m_pmsg = d-> message ( );
240 bi-> m_pdirty = true; 240 bi-> m_pdirty = true;
241 } 241 }
242 242
243 updateLabels ( ); 243 updateLabels ( );
244 } 244 }
245 245
246 delete d; 246 delete d;
247 247
248 m_lock = false; 248 m_lock = false;
249} 249}
250 250
251void ButtonSettings::accept ( ) 251void ButtonSettings::accept ( )
252{ 252{
253 for ( QListIterator <buttoninfo> it ( m_infos ); *it; ++it ) { 253 for ( QListIterator <buttoninfo> it ( m_infos ); *it; ++it ) {
254 buttoninfo *bi = *it; 254 buttoninfo *bi = *it;
255 255
256 if ( bi-> m_pdirty ) 256 if ( bi-> m_pdirty )
257 ODevice::inst ( )-> remapPressedAction ( bi-> m_index, bi-> m_pmsg ); 257 ODevice::inst ( )-> remapPressedAction ( bi-> m_index, bi-> m_pmsg );
258 if ( bi-> m_hdirty ) 258 if ( bi-> m_hdirty )
259 ODevice::inst ( )-> remapHeldAction ( bi-> m_index, bi-> m_hmsg ); 259 ODevice::inst ( )-> remapHeldAction ( bi-> m_index, bi-> m_hmsg );
260 } 260 }
261 QDialog::accept ( ); 261 QDialog::accept ( );
262} 262}
263 263
264void ButtonSettings::done ( int r ) 264void ButtonSettings::done ( int r )
265{ 265{
266 QDialog::done ( r ); 266 QDialog::done ( r );
267 close ( ); 267 close ( );
268} 268}
diff --git a/core/settings/button/buttonutils.cpp b/core/settings/button/buttonutils.cpp
index 9bf4b53..05fa883 100644
--- a/core/settings/button/buttonutils.cpp
+++ b/core/settings/button/buttonutils.cpp
@@ -1,129 +1,131 @@
1#include <stdlib.h> 1#include <stdlib.h>
2 2
3#include <opie2/oresource.h>
4
3#include <qapplication.h> 5#include <qapplication.h>
4#include <qlistview.h> 6#include <qlistview.h>
5#include <qpe/applnk.h> 7#include <qpe/applnk.h>
6#include <qpe/mimetype.h> 8#include <qpe/mimetype.h>
7#include <qpe/resource.h>
8 9
9#include "buttonutils.h" 10#include "buttonutils.h"
10 11
11using namespace Opie; 12using namespace Opie;
12 13
13using namespace Opie::Core; 14using namespace Opie::Core;
14struct predef_qcop { 15struct predef_qcop {
15 const char *m_text; 16 const char *m_text;
16 const char *m_pixmap; 17 const char *m_pixmap;
17 const char *m_channel; 18 const char *m_channel;
18 const char *m_function; 19 const char *m_function;
19}; 20};
20 21
21static const predef_qcop predef [] = { 22static const predef_qcop predef [] = {
22 23
23 { QT_TRANSLATE_NOOP( "ButtonSettings", "Beam VCard" ), "beam", "QPE/Application/addressbook", "beamBusinessCard()" }, 24 { QT_TRANSLATE_NOOP( "ButtonSettings", "Beam VCard" ), "beam", "QPE/Application/addressbook", "beamBusinessCard()" },
24 { QT_TRANSLATE_NOOP( "ButtonSettings", "Send eMail" ), "buttonsettings/mail", "QPE/Application/mail", "newMail()" }, 25 { QT_TRANSLATE_NOOP( "ButtonSettings", "Send eMail" ), "buttonsettings/mail", "QPE/Application/mail", "newMail()" },
25 26
26 27
27 { QT_TRANSLATE_NOOP( "ButtonSettings", "Toggle Menu" ), "buttonsettings/menu", "QPE/TaskBar", "toggleMenu()" }, 28 { QT_TRANSLATE_NOOP( "ButtonSettings", "Toggle Menu" ), "buttonsettings/menu", "QPE/TaskBar", "toggleMenu()" },
28 { QT_TRANSLATE_NOOP( "ButtonSettings", "Toggle O-Menu" ), "buttonsettings/omenu", "QPE/TaskBar", "toggleStartMenu()" }, 29 { QT_TRANSLATE_NOOP( "ButtonSettings", "Toggle O-Menu" ), "buttonsettings/omenu", "QPE/TaskBar", "toggleStartMenu()" },
29 { QT_TRANSLATE_NOOP( "ButtonSettings", "Show Desktop" ), "home", "QPE/Launcher", "home()" }, 30 { QT_TRANSLATE_NOOP( "ButtonSettings", "Show Desktop" ), "home", "QPE/Launcher", "home()" },
30 { QT_TRANSLATE_NOOP( "ButtonSettings", "Toggle Recording" ), "buttonsettings/record", "QPE/VMemo", "toggleRecord()" }, 31 { QT_TRANSLATE_NOOP( "ButtonSettings", "Toggle Recording" ), "buttonsettings/record", "QPE/VMemo", "toggleRecord()" },
31 32
32 { 0, 0, 0, 0 } 33 { 0, 0, 0, 0 }
33}; 34};
34 35
35 36
36 37
37 38
38ButtonUtils *ButtonUtils::ButtonUtils::inst ( ) 39ButtonUtils *ButtonUtils::ButtonUtils::inst ( )
39{ 40{
40 static ButtonUtils *p = 0; 41 static ButtonUtils *p = 0;
41 42
42 if ( !p ) { 43 if ( !p ) {
43 p = new ButtonUtils ( ); 44 p = new ButtonUtils ( );
44 ::atexit ( cleanup ); 45 ::atexit ( cleanup );
45 } 46 }
46 return p; 47 return p;
47} 48}
48 49
49void ButtonUtils::cleanup ( ) 50void ButtonUtils::cleanup ( )
50{ 51{
51 delete inst ( ); 52 delete inst ( );
52} 53}
53 54
54ButtonUtils::ButtonUtils ( ) 55ButtonUtils::ButtonUtils ( )
55{ 56{
56 m_apps = new AppLnkSet( MimeType::appsFolderName ( )); 57 m_apps = new AppLnkSet( MimeType::appsFolderName ( ));
57} 58}
58 59
59ButtonUtils::~ButtonUtils ( ) 60ButtonUtils::~ButtonUtils ( )
60{ 61{
61 delete m_apps; 62 delete m_apps;
62} 63}
63 64
64qCopInfo ButtonUtils::messageToInfo ( const OQCopMessage &c ) 65qCopInfo ButtonUtils::messageToInfo ( const OQCopMessage &c )
65{ 66{
66 QCString ch = c. channel ( ); 67 QCString ch = c. channel ( );
67 QCString f = c. message ( ); 68 QCString f = c. message ( );
68 69
69 70
70 if ( ch == "ignore" ) 71 if ( ch == "ignore" )
71 return qCopInfo ( qApp-> translate ( "ButtonSettings", "<nobr>Ignored</nobr>" )); 72 return qCopInfo ( qApp-> translate ( "ButtonSettings", "<nobr>Ignored</nobr>" ));
72 73
73 for ( const predef_qcop *p = predef; p-> m_text; p++ ) { 74 for ( const predef_qcop *p = predef; p-> m_text; p++ ) {
74 if (( ch == p-> m_channel ) && ( f == p-> m_function )) 75 if (( ch == p-> m_channel ) && ( f == p-> m_function ))
75 return qCopInfo ( qApp-> translate ( "ButtonSettings", p-> m_text ), Resource::loadPixmap ( p-> m_pixmap )); 76 return qCopInfo ( qApp-> translate ( "ButtonSettings", p-> m_text ),
77 Opie::Core::OResource::loadPixmap( p->m_pixmap, Opie::Core::OResource::SmallIcon ) );
76 } 78 }
77 79
78 if ( ch. left ( 16 ) == "QPE/Application/" ) { 80 if ( ch. left ( 16 ) == "QPE/Application/" ) {
79 QString app = ch. mid ( 16 ); 81 QString app = ch. mid ( 16 );
80 const AppLnk *applnk = m_apps-> findExec ( app ); 82 const AppLnk *applnk = m_apps-> findExec ( app );
81 if ( applnk ) 83 if ( applnk )
82 app = applnk-> name ( ); 84 app = applnk-> name ( );
83 85
84 if (( f == "raise()" ) || ( f == "nextView()" )) 86 if (( f == "raise()" ) || ( f == "nextView()" ))
85 return qCopInfo ( qApp-> translate ( "ButtonSettings", "<nobr>Show <b>%1</b></nobr>" ). arg ( app ), applnk ? applnk-> pixmap ( ) : QPixmap ( )); 87 return qCopInfo ( qApp-> translate ( "ButtonSettings", "<nobr>Show <b>%1</b></nobr>" ). arg ( app ), applnk ? applnk-> pixmap ( ) : QPixmap ( ));
86 else 88 else
87 return qCopInfo ( qApp-> translate ( "ButtonSettings", "<nobr>Call <b>%1</b>: <i>%2</i></nobr>" ). arg ( app ). arg ( f ), applnk ? applnk-> pixmap ( ) : QPixmap ( )); 89 return qCopInfo ( qApp-> translate ( "ButtonSettings", "<nobr>Call <b>%1</b>: <i>%2</i></nobr>" ). arg ( app ). arg ( f ), applnk ? applnk-> pixmap ( ) : QPixmap ( ));
88 } 90 }
89 else { 91 else {
90 return qCopInfo ( qApp-> translate ( "ButtonSettings", "<nobr>Call <b>%1</b> <i>%2</i></nobr>" ). arg (( ch. left ( 4 ) == "QPE/" ) ? ch. mid ( 4 ) : ch ). arg ( f )); 92 return qCopInfo ( qApp-> translate ( "ButtonSettings", "<nobr>Call <b>%1</b> <i>%2</i></nobr>" ). arg (( ch. left ( 4 ) == "QPE/" ) ? ch. mid ( 4 ) : ch ). arg ( f ));
91 } 93 }
92} 94}
93 95
94 96
95void ButtonUtils::insertActions ( QListViewItem *here ) 97void ButtonUtils::insertActions ( QListViewItem *here )
96{ 98{
97 for ( const predef_qcop *p = predef; p-> m_text; p++ ) { 99 for ( const predef_qcop *p = predef; p-> m_text; p++ ) {
98 QListViewItem *item = new QListViewItem ( here, qApp-> translate ( "ButtonSettings", p-> m_text ), p-> m_channel, p-> m_function ); 100 QListViewItem *item = new QListViewItem ( here, qApp-> translate ( "ButtonSettings", p-> m_text ), p-> m_channel, p-> m_function );
99 item-> setPixmap ( 0, Resource::loadPixmap ( p-> m_pixmap )); 101 item-> setPixmap ( 0, Opie::Core::OResource::loadPixmap( p->m_pixmap, Opie::Core::OResource::SmallIcon ) );
100 } 102 }
101} 103}
102 104
103 105
104void ButtonUtils::insertAppLnks ( QListViewItem *here ) 106void ButtonUtils::insertAppLnks ( QListViewItem *here )
105{ 107{
106 QStringList types = m_apps-> types ( ); 108 QStringList types = m_apps-> types ( );
107 QListViewItem *typeitem [types. count ( )]; 109 QListViewItem *typeitem [types. count ( )];
108 110
109 int i = 0; 111 int i = 0;
110 for ( QStringList::Iterator it = types. begin ( ); it != types. end ( ); ++it ) { 112 for ( QStringList::Iterator it = types. begin ( ); it != types. end ( ); ++it ) {
111 QListViewItem *item = new QListViewItem ( here, m_apps-> typeName ( *it )); 113 QListViewItem *item = new QListViewItem ( here, m_apps-> typeName ( *it ));
112 item-> setPixmap ( 0, m_apps-> typePixmap ( *it )); 114 item-> setPixmap ( 0, m_apps-> typePixmap ( *it ));
113 115
114 typeitem [i++] = item; 116 typeitem [i++] = item;
115 } 117 }
116 118
117 for ( QListIterator <AppLnk> appit ( m_apps-> children ( )); *appit; ++appit ) { 119 for ( QListIterator <AppLnk> appit ( m_apps-> children ( )); *appit; ++appit ) {
118 AppLnk *l = *appit; 120 AppLnk *l = *appit;
119 121
120 int i = 0; 122 int i = 0;
121 for ( QStringList::Iterator it = types. begin ( ); it != types. end ( ); ++it ) { 123 for ( QStringList::Iterator it = types. begin ( ); it != types. end ( ); ++it ) {
122 if ( l-> type ( ) == *it ) { 124 if ( l-> type ( ) == *it ) {
123 QListViewItem *sub = new QListViewItem ( typeitem [i], l-> name ( ), QString ( "QPE/Application/" ) + l-> exec ( ), "raise()" ); 125 QListViewItem *sub = new QListViewItem ( typeitem [i], l-> name ( ), QString ( "QPE/Application/" ) + l-> exec ( ), "raise()" );
124 sub-> setPixmap ( 0, l-> pixmap ( )); 126 sub-> setPixmap ( 0, l-> pixmap ( ));
125 } 127 }
126 i++; 128 i++;
127 } 129 }
128 } 130 }
129} 131}