summaryrefslogtreecommitdiff
path: root/library/tzselect.cpp
Unidiff
Diffstat (limited to 'library/tzselect.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--library/tzselect.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/library/tzselect.cpp b/library/tzselect.cpp
index 2e5a433..335037e 100644
--- a/library/tzselect.cpp
+++ b/library/tzselect.cpp
@@ -1,63 +1,65 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. 2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of the Qtopia Environment. 4** This file is part of the Qtopia Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 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 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 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 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. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20 20
21#define QTOPIA_INTERNAL_TZSELECT_INC_LOCAL 21#define QTOPIA_INTERNAL_TZSELECT_INC_LOCAL
22 22
23#include "tzselect.h" 23#include "tzselect.h"
24#include "resource.h" 24#include "resource.h"
25#include "global.h" 25#include "global.h"
26#include "config.h" 26#include "config.h"
27#include <qtoolbutton.h> 27#include <qtoolbutton.h>
28#include <qfile.h> 28#include <qfile.h>
29#include <stdlib.h> 29#include <stdlib.h>
30 30
31#include <qcopchannel_qws.h> 31#include <qcopchannel_qws.h>
32#include <qpe/qpeapplication.h>
33#include <qmessagebox.h>
32 34
33class TimeZoneSelectorPrivate 35class TimeZoneSelectorPrivate
34{ 36{
35public: 37public:
36 TimeZoneSelectorPrivate() : includeLocal(FALSE) {} 38 TimeZoneSelectorPrivate() : includeLocal(FALSE) {}
37 bool includeLocal; 39 bool includeLocal;
38}; 40};
39 41
40TZCombo::TZCombo( QWidget *p, const char* n ) 42TZCombo::TZCombo( QWidget *p, const char* n )
41 : QComboBox( p, n ) 43 : QComboBox( p, n )
42{ 44{
43 updateZones(); 45 updateZones();
44 // check to see if TZ is set, if it is set the current item to that 46 // check to see if TZ is set, if it is set the current item to that
45 QString tz = getenv("TZ"); 47 QString tz = getenv("TZ");
46 if (parent()->inherits("TimeZoneSelector")) { 48 if (parent()->inherits("TimeZoneSelector")) {
47 if ( ((TimeZoneSelector *)parent())->localIncluded() ) { 49 if ( ((TimeZoneSelector *)parent())->localIncluded() ) {
48 // overide to the 'local' type. 50 // overide to the 'local' type.
49 tz = "None"; 51 tz = "None";
50 } 52 }
51 } 53 }
52 if ( !tz.isNull() ) { 54 if ( !tz.isNull() ) {
53 int n = 0, 55 int n = 0,
54 index = 0; 56 index = 0;
55 for ( QStringList::Iterator it=identifiers.begin(); 57 for ( QStringList::Iterator it=identifiers.begin();
56 it!=identifiers.end(); ++it) { 58 it!=identifiers.end(); ++it) {
57 if ( *it == tz ) 59 if ( *it == tz )
58 index = n; 60 index = n;
59 n++; 61 n++;
60 } 62 }
61 setCurrentItem(index); 63 setCurrentItem(index);
62 } else { 64 } else {
63 setCurrentItem(0); 65 setCurrentItem(0);
@@ -215,57 +217,61 @@ TimeZoneSelector::~TimeZoneSelector()
215{ 217{
216} 218}
217 219
218void TimeZoneSelector::setLocalIncluded(bool b) 220void TimeZoneSelector::setLocalIncluded(bool b)
219{ 221{
220 d->includeLocal = b; 222 d->includeLocal = b;
221 cmbTz->updateZones(); 223 cmbTz->updateZones();
222} 224}
223 225
224bool TimeZoneSelector::localIncluded() const 226bool TimeZoneSelector::localIncluded() const
225{ 227{
226 return d->includeLocal; 228 return d->includeLocal;
227} 229}
228 230
229 231
230QString TimeZoneSelector::currentZone() const 232QString TimeZoneSelector::currentZone() const
231{ 233{
232 return cmbTz->currZone(); 234 return cmbTz->currZone();
233} 235}
234 236
235void TimeZoneSelector::setCurrentZone( const QString& id ) 237void TimeZoneSelector::setCurrentZone( const QString& id )
236{ 238{
237 cmbTz->setCurrZone( id ); 239 cmbTz->setCurrZone( id );
238} 240}
239 241
240void TimeZoneSelector::slotTzActive( int ) 242void TimeZoneSelector::slotTzActive( int )
241{ 243{
242 emit signalNewTz( cmbTz->currZone() ); 244 emit signalNewTz( cmbTz->currZone() );
243} 245}
244 246
245void TimeZoneSelector::slotExecute( void ) 247void TimeZoneSelector::slotExecute( void )
246{ 248{
247 // execute the world time application... 249 // execute the world time application...
250 if (QFile::exists(QPEApplication::qpeDir()+"bin/citytime"))
248 Global::execute( "citytime" ); 251 Global::execute( "citytime" );
252 else
253 QMessageBox::warning(this,tr("citytime executable not found"),
254 tr("In order to choose the time zones,\nplease install citytime."));
249} 255}
250 256
251QStringList timezoneDefaults( void ) 257QStringList timezoneDefaults( void )
252{ 258{
253 QStringList tzs; 259 QStringList tzs;
254 // load up the list just like the file format (citytime.cpp) 260 // load up the list just like the file format (citytime.cpp)
255 tzs.append( "America/New_York" ); 261 tzs.append( "America/New_York" );
256 tzs.append( "New York" ); 262 tzs.append( "New York" );
257 tzs.append( "America/Los_Angeles" ); 263 tzs.append( "America/Los_Angeles" );
258 tzs.append( "Los Angeles" ); 264 tzs.append( "Los Angeles" );
259 tzs.append( "Australia/Brisbane" ); 265 tzs.append( "Australia/Brisbane" );
260 tzs.append( "Brisbane" ); 266 tzs.append( "Brisbane" );
261 tzs.append( "Europe/Berlin" ); 267 tzs.append( "Europe/Berlin" );
262 tzs.append( "Berlin" ); 268 tzs.append( "Berlin" );
263 tzs.append( "Asia/Tokyo" ); 269 tzs.append( "Asia/Tokyo" );
264 tzs.append( "Tokyo" ); 270 tzs.append( "Tokyo" );
265 tzs.append( "America/Denver" ); 271 tzs.append( "America/Denver" );
266 tzs.append( "Denver" ); 272 tzs.append( "Denver" );
267 273
268 return tzs; 274 return tzs;
269} 275}
270 276
271 277