menu: add default factor schema to XML
authorGiWoong Kim <giwoong.kim@samsung.com>
Mon, 16 Mar 2015 10:15:56 +0000 (19:15 +0900)
committerGiWoong Kim <giwoong.kim@samsung.com>
Thu, 26 Mar 2015 07:09:16 +0000 (16:09 +0900)
<factorList default="50">
    ...
</factorList>

Change-Id: Ia6edcaa453d3ad2f5422717084e952663cb2f313
Signed-off-by: GiWoong Kim <giwoong.kim@samsung.com>
tizen/src/display/qt5_supplement.cpp
tizen/src/display/xmllayoutparser.cpp
tizen/src/display/xmllayoutparser.h
tizen/src/ui/menu/scalemenuitem.cpp
tizen/src/ui/menu/scalemenuitem.h
tizen/src/ui/resource/mobile-720x1280-3btn/layout.xml
tizen/src/ui/resource/mobile-general-3btn/layout.xml

index ac531c2043689c64163ae1a52f7eb0fdc5d134b3..2a3489e539e3280c42a6f3ad9a2824c3a73e875c 100644 (file)
@@ -116,13 +116,6 @@ void qt5_gui_init(void)
     /* read MRU information */
     QSettings mruInfo(uiInfo->vmDataPath + SKIN_PROPERTIES_FILE_NAME,
         QSettings::IniFormat);
-    int scale = mruInfo.value(SKIN_PROPERTY_WINDOW_SCALE).toInt();
-    qDebug("previous scale value is %d", scale);
-
-    if (scale <= 0) {
-        scale = 50; /* default scale */
-    }
-    uiInfo->uiState.mainFormScale = scale;
 
     /* XML layout */
     QFile mainXMLFile(uiInfo->skinPath + FORM_FILE_NAME);
@@ -162,6 +155,27 @@ void qt5_gui_init(void)
         }
     }
 
+    /* default scale */
+    int scale = mruInfo.value(SKIN_PROPERTY_WINDOW_SCALE).toInt();
+    qDebug("previous scale value is %d", scale);
+
+    if (scale <= 0) {
+        scale = 100;
+
+        MenuItem *item = NULL;
+        for (int i = 0; i < uiInfo->menuList.count(); i++) {
+            item = uiInfo->menuList.at(i);
+            if (item->getType() == MenuItemType::scaleItem) {
+                ScaleMenuItem *scaleItem = (ScaleMenuItem *)item;
+                if (scaleItem->getDefaultScaleFactor() > 0) {
+                    scale = scaleItem->getDefaultScaleFactor();
+                }
+            }
+        }
+    }
+    uiInfo->uiState.mainFormScale = scale;
+    qDebug("default scale value is %d", uiInfo->uiState.mainFormScale);
+
     /* GUI */
     qDebug("start!");
 
index e0e8ed1b048802346be0c3830e8fbc8e103ef6d7..6352fd970ad9bcadd96b7a2ac8a786d7448a98ee 100644 (file)
@@ -32,6 +32,7 @@
 
 #define NAME_ATTR_KEYWORD "name"
 #define PROP_ATTR_KEYWORD "property"
+#define DEFAULT_ATTR_KEYWORD "default"
 #define LAYOUTVER_KEYWORD "layoutVersion"
 #define REGION_KEYWORD "region"
 #define KEYLIST_KEYWORD "keyList"
@@ -251,8 +252,11 @@ int XmlLayoutParser::parseMainFormList(
 
 /* menu */
 int XmlLayoutParser::parseFactorList(
-    QXmlStreamReader &xml, QMap<int, QString> &map)
+    QXmlStreamReader &xml, QMap<int, QString> &map, int *defaultFactor)
 {
+    QString defaultValue = xml.attributes().value(DEFAULT_ATTR_KEYWORD).toString();
+    *defaultFactor = defaultValue.toInt();
+
     QXmlStreamReader::TokenType token = xml.readNext();
 
     while (xml.atEnd() == false && (xml.name() == "factorList" &&
@@ -321,8 +325,11 @@ ScaleMenuItem *XmlLayoutParser::parseScaleMenuItem(QXmlStreamReader &xml)
             if (xml.name() == SHORTCUT_KEYWORD) {
                 parseShortcut(xml, item->getShortcutMap());
             } else if (xml.name() == "factorList") {
-                int cnt = parseFactorList(xml, item->getFactorMap());
+                int defaultFactor = 0;
+                int cnt = parseFactorList(xml, item->getFactorMap(), &defaultFactor);
                 qDebug("- scale factorList : %d", cnt);
+
+                item->setDefaultScaleFactor(defaultFactor);
             }
         }
 
index 9c38c6293a76473c13665e010c84d2cae44b76c2..3dcd75a53c9df14054f4a1dce89aa32121e5f791 100644 (file)
@@ -55,7 +55,7 @@ private:
     MainForm *parseMainForm(QXmlStreamReader &xml);
     int parseMainFormList(QXmlStreamReader &xml, QList<MainForm *> &list);
 
-    int parseFactorList(QXmlStreamReader &xml, QMap<int, QString> &map);
+    int parseFactorList(QXmlStreamReader &xml, QMap<int, QString> &map, int *defaultFactor);
     int parseShortcut(QXmlStreamReader &xml, QMap<QString, QString> &map);
     AdvancedMenuItem *parseAdvancedMenuItem(QXmlStreamReader &xml);
     ScaleMenuItem *parseScaleMenuItem(QXmlStreamReader &xml);
index 461d9cb51319a90b59406ab436680532eba0501c..931996ec002a8f0bd05e1e3d87e899bc80601e31 100644 (file)
@@ -32,7 +32,7 @@
 ScaleMenuItem::ScaleMenuItem(QString name) :
     MenuItem(MenuItemType::scaleItem, name)
 {
-    /* do nothing */
+    defaultScaleFactor = 0;
 }
 
 QMap<int, QString> &ScaleMenuItem::getFactorMap()
@@ -40,6 +40,16 @@ QMap<int, QString> &ScaleMenuItem::getFactorMap()
     return factorMap;
 }
 
+void ScaleMenuItem::setDefaultScaleFactor(int value)
+{
+    defaultScaleFactor = value;
+}
+
+int ScaleMenuItem::getDefaultScaleFactor()
+{
+    return defaultScaleFactor;
+}
+
 ScaleMenuItem::~ScaleMenuItem()
 {
     qDebug("destroy a scale menu item");
index 276bcf26cb6fa0b1c90c169a26d14adbc8d25143..1675534f9198a1c6ac061932d880d35dd6e5ea98 100644 (file)
@@ -41,9 +41,12 @@ public:
     ~ScaleMenuItem();
 
     QMap<int, QString> &getFactorMap();
+    void setDefaultScaleFactor(int value);
+    int getDefaultScaleFactor();
 
 private:
     QMap<int, QString> factorMap;
+    int defaultScaleFactor;
 };
 
 #endif // SCALEMENUITEM_H
index cc5bc017139106579bbf45678b1b502861e36583..ae1596ad216aa61865bac2cff24034dac7f8b0e0 100644 (file)
         <scaleItem name="Scale">
             <shortcut property="prev">Ctrl+F9</shortcut>
             <shortcut property="next">Ctrl+F10</shortcut>
-            <factorList>
+            <factorList default="50">
                 <factor name="1x">100</factor>
                 <factor name="3/4x">75</factor>
                 <factor name="1/2x">50</factor>
index 3af033f858925b9ab2c5312d65f5d46121fd2293..8f6b2a7b274797cbbede825f661dc09baf3c1031 100644 (file)
@@ -43,7 +43,7 @@
         <scaleItem name="Scale">
             <shortcut property="prev">Ctrl+F9</shortcut>
             <shortcut property="next">Ctrl+F10</shortcut>
-            <factorList>
+            <factorList default="50">
                 <factor name="1x">100</factor>
                 <factor name="3/4x">75</factor>
                 <factor name="1/2x">50</factor>