/********************************************************************** ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. ** ** This file is part of the Qtopia Environment. ** ** 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. ** ** See http://www.trolltech.com/gpl/ for GPL licensing information. ** ** Contact info@trolltech.com if any conditions of this licensing are ** not clear to you. ** **********************************************************************/ #ifndef TZSELECT_H #define TZSELECT_H #include <qhbox.h> #include <qcombobox.h> #include <qstringlist.h> class QToolButton; class TimeZoneSelector; // a function to load defaults in case there is no file QStringList timezoneDefaults( void ); class TZCombo : public QComboBox { Q_OBJECT public: TZCombo( QWidget* parent, const char* name = 0 ); ~TZCombo(); QString currZone() const; void setCurrZone( const QString& id ); protected: friend class TimeZoneSelector; void keyPressEvent( QKeyEvent *e ); void mousePressEvent(QMouseEvent*e); void updateZones(); private slots: void handleSystemChannel(const QCString&, const QByteArray&); private: QStringList identifiers; QStringList extras; }; class TimeZoneSelectorPrivate; class TimeZoneSelector : public QHBox { Q_OBJECT public: TimeZoneSelector( QWidget* parent = 0, const char* name=0 ); ~TimeZoneSelector(); #ifdef QTOPIA_INTERNAL_TZSELECT_INC_LOCAL // badly named.. not to be used outside of qtopia (not forward compatable) // basically allows the "No Timezone" or "None" option. void setLocalIncluded(bool); bool localIncluded() const; #endif QString currentZone() const; void setCurrentZone( const QString& id ); signals: void signalNewTz( const QString& id ); private slots: void slotTzActive( int index ); void slotExecute( void ); private: TZCombo *cmbTz; QToolButton *cmdTz; TimeZoneSelectorPrivate *d; }; #endif