OSDN Git Service

Version: 0.4
[fontmanager/fontmanager.git] / qml / fontmanager / MainPage.qml
index db8646c..a543ce3 100644 (file)
@@ -89,9 +89,9 @@ Page {
             onClicked: {
                 if (!mainPage.enabled)
                     return
-                if (mainMenu.status != DialogStatus.Closed)
+                if (mainMenu.status !== DialogStatus.Closed)
                     mainMenu.close()
-                pageStack.push(installedFontInfoPage, { "fontInfo": controller.fontInfo(title, subtitle) } );
+                pageStack.push(installedFontInfoPageComponent, { "fontInfo": controller.fontInfo(title, subtitle) } );
             }
         }
 
@@ -102,7 +102,7 @@ Page {
         width: parent.width - UI.DEFAULT_MARGIN * 2
         wrapMode: Text.WrapAtWordBoundaryOrAnywhere
         anchors.centerIn: parent
-        text: qsTr("No Fonts Found!")
+        text: qsTr("No Fonts Installed")
         font.pixelSize: UI.FONT_XLARGE
         font.bold: true
         color: "gray"
@@ -119,7 +119,7 @@ Page {
     }
 
     Component {
-        id: installedFontInfoPage
+        id: installedFontInfoPageComponent
         InstalledFontInfoPage { }
     }
 
@@ -128,6 +128,11 @@ Page {
         FontsConfViewPage { }
     }
 
+    Component {
+        id: editFontsConfPageComponent
+        EditFontsConfPage {}
+    }
+
     ToolBarLayout {
         id: mainTools
         visible: true
@@ -136,18 +141,34 @@ Page {
             onClicked: {
                 if (!mainPage.enabled)
                     return
-                if (mainMenu.status != DialogStatus.Closed)
+                if (mainMenu.status !== DialogStatus.Closed)
                     mainMenu.close()
                 pageStack.push(fontSelectPage)
             }
         }
         ToolIcon {
+            platformIconId: "toolbar-settings"
+            enabled: (installedFontList.count > 0)
+            opacity: enabled ? 1.0 : 0.5
+            onClicked: {
+                if (!mainPage.enabled)
+                    return
+                if (mainMenu.status !== DialogStatus.Closed)
+                    mainMenu.close()
+                pageStack.push(editFontsConfPageComponent)
+            }
+        }
+
+        ToolIcon {
             platformIconId: "toolbar-view-menu"
             anchors.right: (parent === undefined) ? undefined : parent.right
             onClicked: {
                 if (!mainPage.enabled)
                     return
-                (mainMenu.status == DialogStatus.Closed) ? mainMenu.open() : mainMenu.close()
+                if (mainMenu.status === DialogStatus.Closed)
+                    mainMenu.open()
+                else
+                    mainMenu.close()
             }
         }
     }
@@ -157,23 +178,27 @@ Page {
         visualParent: pageStack
         MenuLayout {
             MenuItem {
-                text: qsTr("View current fonts config");
-                enabled: controller.localFontsConfExists
-                onClicked: {
-                    mainMenu.close()
-                    pageStack.push(fontsConfViewPageComponent, { "text": controller.localFontsConf } )
-                }
-            }
-            MenuItem {
-                text: qsTr("Remove uninstalled fonts from config");
-                enabled: controller.configHasUninstalledFonts
+                text: qsTr("Create Recommended Settings");
+                enabled: (installedFontList.count > 0)
                 onClicked: {
-                    mainMenu.close()
-                    controller.removeUninstalledFontsFromConfig()
-                    controller.saveFontsConf()
+                    if (mainMenu.status !== DialogStatus.Closed)
+                        mainMenu.close()
+                    if (controller.localFontsConfExists)
+                        createConfirmDialog.open()
+                    else
+                        controller.createRecommendedSettings()
                 }
             }
         }
     }
 
+    QueryDialog {
+        id: createConfirmDialog
+        titleText: qsTr("Replace it?")
+        message: qsTr("Existing %1 will be replaced by recommended settings.  Are you sure?").arg(controller.localFontsConfPath)
+        acceptButtonText: qsTr("OK")
+        rejectButtonText: qsTr("Cancel")
+        onAccepted: controller.createRecommendedSettings()
+    }
+
 }