on xenial help sign in
more singleton state save
48520a7Andrea Cimitan
qml/Dash/Previews/PreviewCommentInput.qml+14
@@ -35,6 +35,20 @@ PreviewWidget {
35 triggered(root.widgetId, "commented", data);
35 triggered(root.widgetId, "commented", data);
36 }
36 }
37
37
38+ property alias commentText: commentTextArea.text
39+
40+ onCommentTextChanged: storeCommentState()
41+ onWidgetIdChanged: restoreCommentState()
42+
43+ function storeCommentState() {
44+ PreviewSingleton.widgetExtraData[widgetId] = [ commentText, commentTextArea.focus ];
45+ }
46+
47+ function restoreCommentState() {
48+ if (PreviewSingleton.widgetExtraData[widgetId][0] != "") commentText = PreviewSingleton.widgetExtraData[widgetId][0];
49+ if (PreviewSingleton.widgetExtraData[widgetId][1]) root.makeSureVisible(commentTextArea);
50+ }
51+
38 TextArea {
52 TextArea {
39 id: commentTextArea
53 id: commentTextArea
40 objectName: "commentTextArea"
54 objectName: "commentTextArea"
qml/Dash/Previews/PreviewRatingInput.qml+15
@@ -17,6 +17,7 @@
17import QtQuick 2.4
17import QtQuick 2.4
18import Ubuntu.Components 1.3
18import Ubuntu.Components 1.3
19import "../../Components"
19import "../../Components"
20+import "PreviewSingleton"
20
21
21/*! \brief Preview widget for rating.
22/*! \brief Preview widget for rating.
22
23
@@ -53,6 +54,20 @@ PreviewWidget {
53 property alias ratingValue: rating.value
54 property alias ratingValue: rating.value
54 property alias reviewText: reviewTextArea.text
55 property alias reviewText: reviewTextArea.text
55
56
57+ onRatingValueChanged: storeReviewState()
58+ onReviewTextChanged: storeReviewState()
59+ onWidgetIdChanged: restoreReviewState()
60+
61+ function storeReviewState() {
62+ PreviewSingleton.widgetExtraData[widgetId] = [ ratingValue, reviewText, reviewTextArea.focus ];
63+ }
64+
65+ function restoreReviewState() {
66+ if (PreviewSingleton.widgetExtraData[widgetId][0] > 0) ratingValue = PreviewSingleton.widgetExtraData[widgetId][0];
67+ if (PreviewSingleton.widgetExtraData[widgetId][1] != "") reviewText = PreviewSingleton.widgetExtraData[widgetId][1];
68+ if (PreviewSingleton.widgetExtraData[widgetId][2]) root.makeSureVisible(reviewTextArea);
69+ }
70+
56 function submit() {
71 function submit() {
57 // checks rating-input requirements
72 // checks rating-input requirements
58 if (((widgetData["required"] === "both" ||
73 if (((widgetData["required"] === "both" ||