diff options
Diffstat (limited to 'kdeui/ktimezonewidget.cpp')
-rw-r--r-- | kdeui/ktimezonewidget.cpp | 133 |
1 files changed, 0 insertions, 133 deletions
diff --git a/kdeui/ktimezonewidget.cpp b/kdeui/ktimezonewidget.cpp deleted file mode 100644 index a9a73a4f5..000000000 --- a/kdeui/ktimezonewidget.cpp +++ /dev/null @@ -1,133 +0,0 @@ -/* - Copyright (C) 2005, S.R.Haque <srhaque@iee.org>. - This file is part of the KDE project - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License version 2, as published by the Free Software Foundation. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#include <kdialog.h> -#include <kdebug.h> -#include <kfile.h> -#include <klistview.h> -#include <klocale.h> -#include <kstandarddirs.h> -#include <ktimezones.h> -#include <ktimezonewidget.h> -#include <tqpixmap.h> -#include <time.h> - -#define COLUMN_CITY 0 -#define COLUMN_REGION 1 -#define COLUMN_COMMENT 2 -#define COLUMN_ZONE 3 - -KTimezoneWidget::KTimezoneWidget(TQWidget *parent, const char *name, KTimezones *db) : - KListView(parent, name), - d(0) -{ - // If the user did not provide a timezone database, we'll use the system default. - bool userDb = (db != 0); - if (!userDb) - db = new KTimezones(); - - addColumn(i18n("Area")); - addColumn(i18n("Region")); - addColumn(i18n("Comment")); - - const KTimezones::ZoneMap zones = db->allZones(); - for (KTimezones::ZoneMap::ConstIterator it = zones.begin(); it != zones.end(); ++it) - { - const KTimezone *zone = it.data(); - TQString tzName = zone->name(); - TQString comment = zone->comment(); - if (!comment.isEmpty()) - comment = i18n(comment.utf8()); - - // Convert: - // - // "Europe/London", "GB" -> "London", "Europe/GB". - // "UTC", "" -> "UTC", "". - TQStringList continentCity = TQStringList::split("/", displayName(zone)); - TQListViewItem *listItem = new TQListViewItem(this, continentCity[continentCity.count() - 1]); - continentCity[continentCity.count() - 1] = zone->countryCode(); - listItem->setText(COLUMN_REGION, continentCity.join("/")); - listItem->setText(COLUMN_COMMENT, comment); - listItem->setText(COLUMN_ZONE, tzName); /* store complete path in ListView */ - - // Locate the flag from /l10n/%1/flag.png. - TQString flag = locate("locale", TQString("l10n/%1/flag.png").arg(zone->countryCode().lower())); - if (TQFile::exists(flag)) - listItem->setPixmap(COLUMN_REGION, TQPixmap(flag)); - } - - if (!userDb) - delete db; - -} - -KTimezoneWidget::~KTimezoneWidget() -{ - // FIXME when needed: - // delete d; -} - -TQString KTimezoneWidget::displayName(const KTimezone *zone) -{ - return i18n(zone->name().utf8()).replace("_", " "); -} - -TQStringList KTimezoneWidget::selection() const -{ - TQStringList selection; - - // Loop through all entries. - TQListViewItem *listItem = firstChild(); - while (listItem) - { - if (listItem->isSelected()) - { - selection.append(listItem->text(COLUMN_ZONE)); - } - listItem = listItem->nextSibling(); - } - return selection; -} - -void KTimezoneWidget::setSelected(const TQString &zone, bool selected) -{ - bool found = false; - - // Loop through all entries. - TQListViewItem *listItem = firstChild(); - while (listItem) - { - if (listItem->text(COLUMN_ZONE) == zone) - { - KListView::setSelected(listItem, selected); - - // Ensure the selected item is visible as appropriate. - listItem = selectedItem(); - if (listItem) - ensureItemVisible(listItem); - found = true; - break; - } - listItem = listItem->nextSibling(); - } - if (!found) - kdDebug() << "No such zone: " << zone << endl; -} - -#include "ktimezonewidget.moc" |