/*! Creates a new QWorldmapDialog with parent \a parent. */ QWorldmapDialog::QWorldmapDialog(QWidget* parent) : QDialog(parent), realResult(0), mMap(0), mZone(), reallyDone(0) { qLog(Time) << __PRETTY_FUNCTION__; setWindowTitle( tr( "Select Time Zone" ) ); QVBoxLayout *bl = new QVBoxLayout(this); mMap = new QWorldmap(this); bl->addWidget( mMap ); bl->setSpacing(0); bl->setMargin(0); connect(mMap, SIGNAL(newZone(QTimeZone)), this, SLOT(selected(QTimeZone))); connect(mMap, SIGNAL(selectZoneCanceled()), this, SLOT(cancelled())); if( Qtopia::mousePreferred()) { mMap->setFocus(); QSoftMenuBar::setLabel(this, Qt::Key_Back, QSoftMenuBar::Select); } else { QSoftMenuBar::setLabel(this, Qt::Key_Back, QSoftMenuBar::Cancel); } }
WorldTime::WorldTime( QWidget *parent, Qt::WFlags fl ) : QWidget( parent, fl ) { #ifdef Q_WS_QWS setWindowTitle(tr("World Time")); #endif while (listCities.count()) { delete listCities.takeLast(); } while (listTimes.count()) { delete listTimes.takeLast(); } float dpi = QApplication::desktop()->screen()->logicalDpiY(); QFont font = QApplication::font(); // qWarning()<<"DPI:"<<dpi; if(dpi < 100) { mMode = Minimal; setFont(font); maxVisibleZones = 3; } else if(dpi < 200) { mMode = Medium; font.setPointSize(font.pointSize() - 1); setFont(font); maxVisibleZones = 5; } else { mMode = Tall; maxVisibleZones = 4; } isEditMode = false; int columns/*,rows*/; columns = 3;/*rows = 3;*/ // Don't need a select softkey for touchscreen phones as it does nothing if ( Qtopia::mousePreferred() ) QSoftMenuBar::setLabel( this, Qt::Key_Select, QSoftMenuBar::NoLabel ); // first, work out current number of columns? gl = new QGridLayout(this); frmMap = new QWorldmap(this); QSizePolicy sp = frmMap->sizePolicy(); if ( qApp->desktop()->width() < qApp->desktop()->height() ) { sp.setHeightForWidth(true); } frmMap->setSizePolicy(sp); gl->addWidget(frmMap, 0, 0, 0, columns, Qt::Alignment(Qt::AlignTop)); for(int i=0; i < maxVisibleZones + 1; i++) { gl->setRowStretch(i, 1); } gl->setColumnStretch(1,4); int goodWidth = qApp->desktop()->width() / 2 + 5; for (int i = 0; i < maxVisibleZones; i++) { listCities.append(new QPushButton(this)); listCities.at(i)->setFixedWidth(goodWidth ); if(mMode == Medium) listCities.at(i)->setMaximumHeight(20); listCities.at(i)->setCheckable(true); connect(listCities.at(i), SIGNAL(clicked()), this, SLOT(slotSetZone())); listTimes.append(new CityInfo(this)); gl->addWidget( listCities.at(i), i + 3, 0 ); gl->addWidget( listTimes.at(i), i + 3, 1, Qt::Alignment(Qt::AlignVCenter) | Qt::AlignHCenter); } QMenu *contextMenu = QSoftMenuBar::menuFor(this); QAction *a = new QAction(QIcon(":icon/edit"), tr("Select City"), this); connect(a, SIGNAL(triggered()), this, SLOT(beginNewTz())); contextMenu->addAction(a); contextMenu->addSeparator(); gl->setSpacing(4); gl->setMargin(4); readInTimes(); changed = false; QObject::connect( qApp, SIGNAL(clockChanged(bool)), this, SLOT(showTime())); // now start the timer so we can update the time quickly every second timerEvent( 0 ); frmMap->setContinuousSelect(true); connect( frmMap, SIGNAL(newZone(QTimeZone) ), this, SLOT( slotNewTz(QTimeZone))); if( Qtopia::mousePreferred()) { connect( frmMap, SIGNAL(buttonSelected()), this, SLOT(selected())); } connect( frmMap, SIGNAL(selectZoneCanceled()), this, SLOT(slotNewTzCancelled())); frmMap->setFocus(); QTimer::singleShot(0,this,SLOT(slotNewTzCancelled())); }