diff options
author | Olli Werwolff <qt-info@nokia.com> | 2010-05-28 15:38:18 +0200 |
---|---|---|
committer | Olli Werwolff <qt-info@nokia.com> | 2010-05-31 10:36:28 +0200 |
commit | 428d63bc66caf5ebf479a4adefa3fbabc91a27ad (patch) | |
tree | 967ee9481e15fdea2e5133e12aa3c8a63d0221b2 | |
parent | 181ab314e46e4072ccf3035a940b253d38966580 (diff) |
Reenable closeButton as it got lost when changing menu structure
Reviewed-by: ckamm
-rw-r--r-- | models/maemoFremantle/maemoFremantle.config | 2 | ||||
-rw-r--r-- | src/other/configurationreader.cpp | 13 | ||||
-rw-r--r-- | src/other/deviceitem.cpp | 11 | ||||
-rw-r--r-- | src/other/deviceitem.h | 3 |
4 files changed, 27 insertions, 2 deletions
diff --git a/models/maemoFremantle/maemoFremantle.config b/models/maemoFremantle/maemoFremantle.config index 3d45983..65f6bbc 100644 --- a/models/maemoFremantle/maemoFremantle.config +++ b/models/maemoFremantle/maemoFremantle.config @@ -12,3 +12,5 @@ menuPortrait:fremantle_portrait.png availableGeometryPortrait:0,56,480,744 menuLandscape:fremantle_landscape.png availableGeometryLandscape:0,57,800,423 +closeButtonLandscape:691,0,109,57 +closeButtonPortrait:371,0,109,56 diff --git a/src/other/configurationreader.cpp b/src/other/configurationreader.cpp index 550f0be..2db1308 100644 --- a/src/other/configurationreader.cpp +++ b/src/other/configurationreader.cpp @@ -138,6 +138,19 @@ bool ConfigurationReader::processLine(const QByteArray &line, DeviceData *device b.area = QRectF(values[2].toFloat(), values[3].toFloat(), values[4].toFloat(), values[5].toFloat()); deviceData->buttons.append(b); + } else if (parameter == "closeButtonPortrait" || parameter == "closeButtonLandscape") { + QList<QByteArray> values = value.split(','); + if (values.count() != 4) { + errorMsg = tr("ConfigurationReader: closeButton property requires four comma separated values\n" + " closeButton:x,y,width,height"); + return false; + } + QRectF toSet = QRectF(values[0].toFloat(), values[1].toFloat(), + values[2].toFloat(), values[3].toFloat()); + if (parameter == "closeButtonPortrait") + deviceData->closeButtonPortrait = toSet; + else + deviceData->closeButtonLandscape = toSet; } else if (parameter == "availableGeometryPortrait" || parameter == "availableGeometryLandscape") { QList<QByteArray> values = value.split(','); if (values.count() != 4) { diff --git a/src/other/deviceitem.cpp b/src/other/deviceitem.cpp index a1c3c0d..51ccbf4 100644 --- a/src/other/deviceitem.cpp +++ b/src/other/deviceitem.cpp @@ -44,6 +44,7 @@ DeviceItem::DeviceItem(QGraphicsItem *parent) , mLandscape(false) , mDisplay(0) , mMockup(0) + , mCloseButton(0) , mMenu(0) { qRegisterMetaType<DeviceData>("DeviceData"); @@ -58,7 +59,10 @@ DeviceItem::DeviceItem(QGraphicsItem *parent) mMenu->setFlag(QGraphicsItem::ItemIsFocusable); mMenu->setFocusProxy(mDisplay); mMenu->setZValue(SIMULATOR_MENU_Z); - + + mCloseButton = new DeviceButton(mMenu); + connect(mCloseButton, SIGNAL(pressed()), this, SIGNAL(closeWindowPressed())); + mLandscapeState = new QState; mPortraitState = new QState; @@ -132,7 +136,6 @@ void DeviceItem::changeDevice(const DeviceData &data) if (!data.landscapeMenu.pixmap || data.landscapeMenu.pixmap->isNull()) qFatal("Could not read landscape menu image %s", qPrintable(data.landscapeMenu.pixmapPath)); } - Orientation current; if (mLandscape) @@ -308,6 +311,8 @@ void DeviceItem::updateMenuPositionAndSize() mMenu->setPixmap(QPixmap()); mAvailableGeometry = displayRect; } + mCloseButton->setPos(mDeviceData.closeButtonLandscape.topLeft()); + mCloseButton->setSize(mDeviceData.closeButtonLandscape.size()); } else { displayRect.setRect(0, 0, mDeviceData.resolution.width(), mDeviceData.resolution.height()); if (mDeviceData.portraitMenu.pixmap) { @@ -317,6 +322,8 @@ void DeviceItem::updateMenuPositionAndSize() mMenu->setPixmap(QPixmap()); mAvailableGeometry = displayRect; } + mCloseButton->setPos(mDeviceData.closeButtonPortrait.topLeft()); + mCloseButton->setSize(mDeviceData.closeButtonPortrait.size()); } emit offsetChanged(mAvailableGeometry.topLeft()); } diff --git a/src/other/deviceitem.h b/src/other/deviceitem.h index 2a8d4a2..256a12a 100644 --- a/src/other/deviceitem.h +++ b/src/other/deviceitem.h @@ -72,6 +72,8 @@ struct DeviceData QPoint offset; int defaultFontSize; int forceDpi; + QRectF closeButtonPortrait; + QRectF closeButtonLandscape; QList<Button> buttons; QString style; Orientation nativeOrientation; @@ -187,6 +189,7 @@ private: QPoint mDragOffset; QList<KeyButton*> mButtons; + DeviceButton *mCloseButton; MenuPixmapItem *mMenu; private slots: |