diff options
-rw-r--r-- | src/app.c | 35 | ||||
-rw-r--r-- | src/ui/root.c | 12 | ||||
-rw-r--r-- | src/ui/widget.c | 2 |
3 files changed, 33 insertions, 16 deletions
@@ -2827,19 +2827,28 @@ iBool handleCommand_App(const char *cmd) { | |||
2827 | refresh_Feeds(); | 2827 | refresh_Feeds(); |
2828 | return iTrue; | 2828 | return iTrue; |
2829 | } | 2829 | } |
2830 | else if (equal_Command(cmd, "feeds.update.started")) { | 2830 | else if (startsWith_CStr(cmd, "feeds.update.")) { |
2831 | iAnyObject *prog = findWidget_Root("feeds.progress"); | 2831 | const iWidget *navBar = findChild_Widget(get_Window()->roots[0]->widget, "navbar"); |
2832 | const iWidget *navBar = findWidget_Root("navbar"); | 2832 | iAnyObject *prog = findChild_Widget(navBar, "feeds.progress"); |
2833 | updateTextAndResizeWidthCStr_LabelWidget( | 2833 | if (equal_Command(cmd, "feeds.update.started") || |
2834 | prog, flags_Widget(navBar) & tight_WidgetFlag || deviceType_App() == phone_AppDeviceType ? | 2834 | equal_Command(cmd, "feeds.update.progress")) { |
2835 | "\u2605" : "\u2605 ${status.feeds}"); | 2835 | const int num = arg_Command(cmd); |
2836 | showCollapsed_Widget(prog, iTrue); | 2836 | const int total = argLabel_Command(cmd, "total"); |
2837 | return iFalse; | 2837 | updateTextAndResizeWidthCStr_LabelWidget(prog, |
2838 | } | 2838 | flags_Widget(navBar) & tight_WidgetFlag || |
2839 | else if (equal_Command(cmd, "feeds.update.finished")) { | 2839 | deviceType_App() == phone_AppDeviceType |
2840 | showCollapsed_Widget(findWidget_Root("feeds.progress"), iFalse); | 2840 | ? star_Icon |
2841 | refreshFinished_Feeds(); | 2841 | : star_Icon " ${status.feeds}"); |
2842 | refresh_Widget(findWidget_App("url")); | 2842 | showCollapsed_Widget(prog, iTrue); |
2843 | setFixedSize_Widget(findChild_Widget(prog, "feeds.progressbar"), | ||
2844 | init_I2(width_Widget(prog) * num / total, -1)); | ||
2845 | } | ||
2846 | else if (equal_Command(cmd, "feeds.update.finished")) { | ||
2847 | showCollapsed_Widget(prog, iFalse); | ||
2848 | refreshFinished_Feeds(); | ||
2849 | refresh_Widget(findWidget_App("url")); | ||
2850 | return iFalse; | ||
2851 | } | ||
2843 | return iFalse; | 2852 | return iFalse; |
2844 | } | 2853 | } |
2845 | else if (equal_Command(cmd, "visited.changed")) { | 2854 | else if (equal_Command(cmd, "visited.changed")) { |
diff --git a/src/ui/root.c b/src/ui/root.c index adc18870..253d0cfb 100644 --- a/src/ui/root.c +++ b/src/ui/root.c | |||
@@ -1149,9 +1149,10 @@ void createUserInterface_Root(iRoot *d) { | |||
1149 | iLabelWidget *queryInd = new_LabelWidget("${status.query} " return_Icon, NULL); | 1149 | iLabelWidget *queryInd = new_LabelWidget("${status.query} " return_Icon, NULL); |
1150 | setId_Widget(as_Widget(queryInd), "input.indicator.search"); | 1150 | setId_Widget(as_Widget(queryInd), "input.indicator.search"); |
1151 | setTextColor_LabelWidget(queryInd, uiTextAction_ColorId); | 1151 | setTextColor_LabelWidget(queryInd, uiTextAction_ColorId); |
1152 | setFont_LabelWidget(queryInd, defaultSmall_FontId); | ||
1152 | setBackgroundColor_Widget(as_Widget(queryInd), uiBackground_ColorId); | 1153 | setBackgroundColor_Widget(as_Widget(queryInd), uiBackground_ColorId); |
1153 | setFrameColor_Widget(as_Widget(queryInd), uiTextAction_ColorId); | 1154 | setFrameColor_Widget(as_Widget(queryInd), uiTextAction_ColorId); |
1154 | setAlignVisually_LabelWidget(queryInd, iTrue); | 1155 | // setAlignVisually_LabelWidget(queryInd, iTrue); |
1155 | setNoAutoMinHeight_LabelWidget(queryInd, iTrue); | 1156 | setNoAutoMinHeight_LabelWidget(queryInd, iTrue); |
1156 | addChildFlags_Widget(rightEmbed, | 1157 | addChildFlags_Widget(rightEmbed, |
1157 | iClob(queryInd), | 1158 | iClob(queryInd), |
@@ -1161,9 +1162,16 @@ void createUserInterface_Root(iRoot *d) { | |||
1161 | iLabelWidget *fprog = new_LabelWidget("", NULL); | 1162 | iLabelWidget *fprog = new_LabelWidget("", NULL); |
1162 | setId_Widget(as_Widget(fprog), "feeds.progress"); | 1163 | setId_Widget(as_Widget(fprog), "feeds.progress"); |
1163 | setTextColor_LabelWidget(fprog, uiTextCaution_ColorId); | 1164 | setTextColor_LabelWidget(fprog, uiTextCaution_ColorId); |
1165 | setFont_LabelWidget(fprog, defaultSmall_FontId); | ||
1164 | setBackgroundColor_Widget(as_Widget(fprog), uiBackground_ColorId); | 1166 | setBackgroundColor_Widget(as_Widget(fprog), uiBackground_ColorId); |
1165 | setAlignVisually_LabelWidget(fprog, iTrue); | 1167 | // setAlignVisually_LabelWidget(fprog, iTrue); |
1166 | setNoAutoMinHeight_LabelWidget(fprog, iTrue); | 1168 | setNoAutoMinHeight_LabelWidget(fprog, iTrue); |
1169 | iWidget *progBar = new_Widget(); | ||
1170 | setBackgroundColor_Widget(progBar, uiTextCaution_ColorId); | ||
1171 | setFixedSize_Widget(progBar, init_I2(0, gap_UI / 4)); | ||
1172 | setId_Widget(addChildFlags_Widget(as_Widget(fprog), iClob(progBar), | ||
1173 | moveToParentBottomEdge_WidgetFlag), | ||
1174 | "feeds.progressbar"); | ||
1167 | addChildFlags_Widget(rightEmbed, | 1175 | addChildFlags_Widget(rightEmbed, |
1168 | iClob(fprog), | 1176 | iClob(fprog), |
1169 | collapse_WidgetFlag | hidden_WidgetFlag | frameless_WidgetFlag); | 1177 | collapse_WidgetFlag | hidden_WidgetFlag | frameless_WidgetFlag); |
diff --git a/src/ui/widget.c b/src/ui/widget.c index bdc5f090..ec92ac5a 100644 --- a/src/ui/widget.c +++ b/src/ui/widget.c | |||
@@ -289,7 +289,7 @@ void showCollapsed_Widget(iWidget *d, iBool show) { | |||
289 | setFlags_Widget(d, hidden_WidgetFlag, !show); | 289 | setFlags_Widget(d, hidden_WidgetFlag, !show); |
290 | /* The entire UI may be affected, if parents are resized due to the (un)collapsing. */ | 290 | /* The entire UI may be affected, if parents are resized due to the (un)collapsing. */ |
291 | arrange_Widget(root_Widget(d)); | 291 | arrange_Widget(root_Widget(d)); |
292 | postRefresh_App(); | 292 | refresh_Widget(d); |
293 | } | 293 | } |
294 | } | 294 | } |
295 | 295 | ||