Selected font is now persisting.
authorsl
Tue, 27 May 2014 13:08:12 +0200
changeset 1bc046f5187fd
parent 0 c0e13d2503b9
child 2 780ee91f4ffb
Selected font is now persisting.
FontsTab.qml
MiniDisplayManager.pro.user
main.qml
     1.1 --- a/FontsTab.qml	Tue May 27 12:00:47 2014 +0200
     1.2 +++ b/FontsTab.qml	Tue May 27 13:08:12 2014 +0200
     1.3 @@ -1,6 +1,8 @@
     1.4  import QtQuick 2.2
     1.5  import QtQuick.Controls 1.2
     1.6  import QtQuick.Dialogs 1.1
     1.7 +import QtQuick.Layouts 1.1
     1.8 +import Qt.labs.settings 1.0
     1.9  
    1.10  Item {
    1.11      width: 640
    1.12 @@ -9,6 +11,12 @@
    1.13      clip: true
    1.14  
    1.15  
    1.16 +
    1.17 +    Settings {
    1.18 +        property alias font: textFontDemoLowerCase.font;
    1.19 +    }
    1.20 +
    1.21 +
    1.22      //
    1.23      FontDialog {
    1.24          id: fontDialog
    1.25 @@ -19,78 +27,92 @@
    1.26          monospacedFonts: fontDialogMonospacedFonts.checked
    1.27          proportionalFonts: fontDialogProportionalFonts.checked
    1.28          title: qsTr("Choose a font")
    1.29 -        font: Qt.font({ family: "Arial", pointSize: 24, weight: Font.Normal })
    1.30 -        currentFont: Qt.font({ family: "Arial", pointSize: 24, weight: Font.Normal })
    1.31 +        font: textFontDemoLowerCase.font
    1.32 +        currentFont: textFontDemoLowerCase.font
    1.33          onCurrentFontChanged: { console.log("CurrentFontChanged: " + currentFont) }
    1.34 -        onAccepted: { console.log("Accepted: " + font) }
    1.35 +        onFontChanged: { console.log("FontChanged: " + font) }
    1.36 +        onAccepted: {
    1.37 +            console.log("Accepted: " + font);
    1.38 +            textFontDemoLowerCase.font = currentFont;
    1.39 +            //textFontDemoUpperCase.font = currentFont;
    1.40 +            //textFontDemoDigits.font = currentFont;
    1.41 +        }
    1.42          onRejected: { console.log("Rejected") }
    1.43      }
    1.44      //
    1.45 -
    1.46 -    Flow {
    1.47 +    ColumnLayout {
    1.48          anchors.fill: parent
    1.49 -        anchors.margins: 12
    1.50 -        spacing: 10
    1.51 -
    1.52 -        CheckBox {
    1.53 -            id: fontDialogScalableFonts
    1.54 -            text: "Scalable fonts"
    1.55 -            Binding on checked { value: fontDialog.scalableFonts }
    1.56 -        }
    1.57 -        CheckBox {
    1.58 -            id: fontDialogNonScalableFonts
    1.59 -            text: "Non scalable fonts"
    1.60 -            Binding on checked { value: fontDialog.nonScalableFonts }
    1.61 -        }
    1.62 -        CheckBox {
    1.63 -            id: fontDialogMonospacedFonts
    1.64 -            text: "Monospaced fonts"
    1.65 -            Binding on checked { value: fontDialog.monospacedFonts }
    1.66 -        }
    1.67 -        CheckBox {
    1.68 -            id: fontDialogProportionalFonts
    1.69 -            text: "Proportional fonts"
    1.70 -            Binding on checked { value: fontDialog.proportionalFonts }
    1.71 -        }
    1.72 -
    1.73 -        Text {
    1.74 -            text: "Current font:"
    1.75 -        }
    1.76 +        anchors.margins: 8
    1.77 +        spacing: 8
    1.78  
    1.79          Text {
    1.80              id: fontLabel
    1.81 -            color: palette.windowText
    1.82 -            text: "<b>" + fontDialog.font.family + " - " + fontDialog.font.pointSize + "</b>"
    1.83 +            text: "Current font: <b>" + textFontDemoLowerCase.font.family + " - " + textFontDemoLowerCase.font.pointSize +"</b>"
    1.84              MouseArea {
    1.85                  anchors.fill: parent
    1.86                  onClicked: fontDialog.open()
    1.87              }
    1.88          }
    1.89  
    1.90 -        Text {
    1.91 -            id: textFontDemoLowerCase
    1.92 -            text: "abcdefghijklmnopqrstyvwxyz"
    1.93 -            font: fontDialog.font
    1.94 +        ColumnLayout {
    1.95 +            anchors.margins: 0
    1.96 +            spacing: 0
    1.97 +
    1.98 +            Text {
    1.99 +                id: textFontDemoLowerCase
   1.100 +                anchors.margins: 0
   1.101 +                text: "abcdefghijklmnopqrstyvwxyz"
   1.102 +                font: Qt.font({ family: "Arial", pointSize: 16, weight: Font.Normal })
   1.103 +            }
   1.104 +
   1.105 +            Text {
   1.106 +                id: textFontDemoUpperCase
   1.107 +                anchors.margins: 0
   1.108 +                text: "ABCDEFGHIJKLMNOPQRSTYVWXYZ"
   1.109 +                font: textFontDemoLowerCase.font
   1.110 +            }
   1.111 +
   1.112 +            Text {
   1.113 +                id: textFontDemoDigits
   1.114 +                anchors.margins: 0
   1.115 +                text: "0123456789"
   1.116 +                font: textFontDemoLowerCase.font
   1.117 +            }
   1.118          }
   1.119  
   1.120 -        Text {
   1.121 -            id: textFontDemoUpperCase
   1.122 -            text: "ABCDEFGHIJKLMNOPQRSTYVWXYZ"
   1.123 -            font: fontDialog.font
   1.124 +        //Font selection options
   1.125 +        GridLayout {
   1.126 +            anchors.margins: 8
   1.127 +            columns: 2
   1.128 +            columnSpacing: 8
   1.129 +
   1.130 +            CheckBox {
   1.131 +                id: fontDialogScalableFonts
   1.132 +                text: "Scalable fonts"
   1.133 +                Binding on checked { value: fontDialog.scalableFonts }
   1.134 +            }
   1.135 +            CheckBox {
   1.136 +                id: fontDialogNonScalableFonts
   1.137 +                text: "Non scalable fonts"
   1.138 +                Binding on checked { value: fontDialog.nonScalableFonts }
   1.139 +            }
   1.140 +            CheckBox {
   1.141 +                id: fontDialogMonospacedFonts
   1.142 +                text: "Monospaced fonts"
   1.143 +                Binding on checked { value: fontDialog.monospacedFonts }
   1.144 +            }
   1.145 +            CheckBox {
   1.146 +                id: fontDialogProportionalFonts
   1.147 +                text: "Proportional fonts"
   1.148 +                Binding on checked { value: fontDialog.proportionalFonts }
   1.149 +            }
   1.150          }
   1.151  
   1.152 -        Text {
   1.153 -            id: textFontDemoDigits
   1.154 -            text: "0123456789"
   1.155 -            font: fontDialog.font
   1.156 -        }
   1.157  
   1.158  
   1.159          Button {
   1.160 -            text: qsTr("Select Font")
   1.161 +            text: qsTr("Change font")
   1.162              onClicked: fontDialog.open()
   1.163          }
   1.164 -
   1.165 -
   1.166 -    }
   1.167 -}
   1.168 +    } //ColumnLayout
   1.169 +} //Item
     2.1 --- a/MiniDisplayManager.pro.user	Tue May 27 12:00:47 2014 +0200
     2.2 +++ b/MiniDisplayManager.pro.user	Tue May 27 13:08:12 2014 +0200
     2.3 @@ -1,6 +1,6 @@
     2.4  <?xml version="1.0" encoding="UTF-8"?>
     2.5  <!DOCTYPE QtCreatorProject>
     2.6 -<!-- Written by QtCreator 3.1.1, 2014-05-27T11:25:41. -->
     2.7 +<!-- Written by QtCreator 3.1.1, 2014-05-27T13:07:15. -->
     2.8  <qtcreator>
     2.9   <data>
    2.10    <variable>ProjectExplorer.Project.ActiveTarget</variable>
    2.11 @@ -219,8 +219,8 @@
    2.12      <value type="int" key="PE.EnvironmentAspect.Base">2</value>
    2.13      <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
    2.14      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">MiniDisplayManager</value>
    2.15 -    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
    2.16 -    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:D:/Dev/Qt/MiniDisplayManager/MiniDisplayManager.pro</value>
    2.17 +    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">MiniDisplayManager2</value>
    2.18 +    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:D:/Dev/slions.net/MiniDisplayManager/MiniDisplayManager.pro</value>
    2.19      <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
    2.20      <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">MiniDisplayManager.pro</value>
    2.21      <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
     3.1 --- a/main.qml	Tue May 27 12:00:47 2014 +0200
     3.2 +++ b/main.qml	Tue May 27 13:08:12 2014 +0200
     3.3 @@ -7,7 +7,6 @@
     3.4  import Qt.labs.settings 1.0
     3.5  
     3.6  
     3.7 -
     3.8  ApplicationWindow {
     3.9      id: appWindow
    3.10      visible: true