on xenial help sign in
changes to the way the rating is stored
ed4397dAndrea Cimitan
qml/Dash/Previews/PreviewCommentInput.qml+2−3
@@ -41,12 +41,11 @@ PreviewWidget {
41 onWidgetIdChanged: restoreCommentState()
41 onWidgetIdChanged: restoreCommentState()
42
42
43 function storeCommentState() {
43 function storeCommentState() {
44− PreviewSingleton.widgetExtraData[widgetId] = [ commentText, commentTextArea.focus ];
44+ PreviewSingleton.widgetExtraData[widgetId] = commentText;
45 }
45 }
46
46
47 function restoreCommentState() {
47 function restoreCommentState() {
48− if (PreviewSingleton.widgetExtraData[widgetId][0] != "") commentText = PreviewSingleton.widgetExtraData[widgetId][0];
48+ if (PreviewSingleton.widgetExtraData[widgetId] != "") commentText = PreviewSingleton.widgetExtraData[widgetId];
49− if (PreviewSingleton.widgetExtraData[widgetId][1]) root.makeSureVisible(commentTextArea);
50 }
49 }
51
50
52 TextArea {
51 TextArea {
qml/Dash/Previews/PreviewRatingInput.qml+16−6
@@ -54,18 +54,28 @@ PreviewWidget {
54 property alias ratingValue: rating.value
54 property alias ratingValue: rating.value
55 property alias reviewText: reviewTextArea.text
55 property alias reviewText: reviewTextArea.text
56
56
57− onRatingValueChanged: storeReviewState()
57+ onRatingValueChanged: storeRatingState()
58− onReviewTextChanged: storeReviewState()
58+ onReviewTextChanged: storeTextState()
59 onWidgetIdChanged: restoreReviewState()
59 onWidgetIdChanged: restoreReviewState()
60
60
61− function storeReviewState() {
61+ function initializeWidgetExtraData() {
62− PreviewSingleton.widgetExtraData[widgetId] = [ ratingValue, reviewText, reviewTextArea.focus ];
62+ if (typeof(PreviewSingleton.widgetExtraData[widgetId]) == "undefined") PreviewSingleton.widgetExtraData[widgetId] = [];
63+ }
64+
65+ function storeRatingState() {
66+ initializeWidgetExtraData();
67+ PreviewSingleton.widgetExtraData[widgetId][0] = ratingValue;
68+ }
69+
70+ function storeTextState() {
71+ initializeWidgetExtraData();
72+ PreviewSingleton.widgetExtraData[widgetId][1] = reviewText;
63 }
73 }
64
74
65 function restoreReviewState() {
75 function restoreReviewState() {
76+ if (!PreviewSingleton.widgetExtraData[widgetId]) return;
66 if (PreviewSingleton.widgetExtraData[widgetId][0] > 0) ratingValue = PreviewSingleton.widgetExtraData[widgetId][0];
77 if (PreviewSingleton.widgetExtraData[widgetId][0] > 0) ratingValue = PreviewSingleton.widgetExtraData[widgetId][0];
67 if (PreviewSingleton.widgetExtraData[widgetId][1] != "") reviewText = PreviewSingleton.widgetExtraData[widgetId][1];
78 if (PreviewSingleton.widgetExtraData[widgetId][1] != "") reviewText = PreviewSingleton.widgetExtraData[widgetId][1];
68− if (PreviewSingleton.widgetExtraData[widgetId][2]) root.makeSureVisible(reviewTextArea);
69 }
79 }
70
80
71 function submit() {
81 function submit() {
@@ -104,7 +114,7 @@ PreviewWidget {
104 size: 5
114 size: 5
105 height: units.gu(4)
115 height: units.gu(4)
106 onValueChanged: {
116 onValueChanged: {
107− if (widgetData["visible"] === "rating") root.submit();
117+ if (widgetData && widgetData["visible"] === "rating") root.submit();
108 }
118 }
109
119
110 property var urlIconEmpty: widgetData["rating-icon-empty"] || "image://theme/non-starred"
120 property var urlIconEmpty: widgetData["rating-icon-empty"] || "image://theme/non-starred"