From f2295f889e7a65a90ae51dbadfa5a765e1a4859a Mon Sep 17 00:00:00 2001
From: Tobias Hunger <tobias.hunger@nokia.com>
Date: Thu, 18 Feb 2010 15:23:24 +0100
Subject: [PATCH] Set size of widgets for devices to match default resolution

 * When creating a new project for some device: Set UI element size
   to the device resolution.
---
 share/qtcreator/templates/qt4project/main.cpp    |  4 ++++
 share/qtcreator/templates/qt4project/widget.ui   |  4 ++--
 .../qt4projectmanager/wizards/guiappwizard.cpp   |  2 ++
 .../wizards/guiappwizarddialog.cpp               | 16 ++++++++++++++++
 .../wizards/guiappwizarddialog.h                 |  2 ++
 5 files changed, 26 insertions(+), 2 deletions(-)

diff --git a/share/qtcreator/templates/qt4project/main.cpp b/share/qtcreator/templates/qt4project/main.cpp
index e1e39f6f26d..cc7344515fc 100644
--- a/share/qtcreator/templates/qt4project/main.cpp
+++ b/share/qtcreator/templates/qt4project/main.cpp
@@ -5,6 +5,10 @@ int main(int argc, char *argv[])
 {
     QApplication a(argc, argv);
     %CLASS% w;
+#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
+    w.showMaximized();
+#else
     w.show();
+#endif
     return a.exec();
 }
diff --git a/share/qtcreator/templates/qt4project/widget.ui b/share/qtcreator/templates/qt4project/widget.ui
index a804f2044eb..2ac9f1d7c70 100644
--- a/share/qtcreator/templates/qt4project/widget.ui
+++ b/share/qtcreator/templates/qt4project/widget.ui
@@ -5,8 +5,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>600</width>
-    <height>400</height>
+    <width>%WIDGET_WIDTH%</width>
+    <height>%WIDGET_HEIGHT%</height>
    </rect>
   </property>
   <property name="windowTitle" >
diff --git a/src/plugins/qt4projectmanager/wizards/guiappwizard.cpp b/src/plugins/qt4projectmanager/wizards/guiappwizard.cpp
index 87448e06972..d5cc9c34f0a 100644
--- a/src/plugins/qt4projectmanager/wizards/guiappwizard.cpp
+++ b/src/plugins/qt4projectmanager/wizards/guiappwizard.cpp
@@ -208,6 +208,8 @@ bool GuiAppWizard::parametrizeTemplate(const QString &templatePath, const QStrin
     contents.replace(QLatin1String("%INCLUDE%"), params.headerFileName);
     contents.replace(QLatin1String("%CLASS%"), params.className);
     contents.replace(QLatin1String("%BASECLASS%"), params.baseClassName);
+    contents.replace(QLatin1String("%WIDGET_HEIGHT%"), QString::number(params.widgetHeight));
+    contents.replace(QLatin1String("%WIDGET_WIDTH%"), QString::number(params.widgetWidth));
 
     const QChar dot = QLatin1Char('.');
 
diff --git a/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.cpp b/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.cpp
index 942fe9862f8..05375ec95d5 100644
--- a/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.cpp
+++ b/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.cpp
@@ -30,8 +30,11 @@
 #include "guiappwizarddialog.h"
 
 #include "filespage.h"
+#include "qt4target.h"
 #include "qtprojectparameters.h"
 
+#include <QtCore/QSet>
+
 namespace Qt4ProjectManager {
 namespace Internal {
 
@@ -104,6 +107,19 @@ GuiAppParameters GuiAppWizardDialog::parameters() const
     rc.headerFileName = m_filesPage->headerFileName();
     rc.formFileName = m_filesPage->formFileName();
     rc.designerForm =  m_filesPage->formInputChecked();
+    QSet<QString> targets = selectedTargets();
+    if (targets.contains(QLatin1String(MAEMO_DEVICE_TARGET_ID)) ||
+        targets.contains(QLatin1String(MAEMO_EMULATOR_TARGET_ID))) {
+        rc.widgetWidth = 800;
+        rc.widgetHeight = 480;
+    } else if (targets.contains(QLatin1String(S60_DEVICE_TARGET_ID)) ||
+               targets.contains(QLatin1String(S60_EMULATOR_TARGET_ID))) {
+        rc.widgetWidth = 360;
+        rc.widgetHeight = 640;
+    } else {
+        rc.widgetWidth = 400;
+        rc.widgetHeight = 300;
+    }
     return rc;
 }
 
diff --git a/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.h b/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.h
index 204dcf26458..d4f65c1a965 100644
--- a/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.h
+++ b/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.h
@@ -47,6 +47,8 @@ struct GuiAppParameters
     QString sourceFileName;
     QString headerFileName;
     QString formFileName;
+    int widgetWidth;
+    int widgetHeight;
     bool designerForm;
 };
 
-- 
GitLab