diff options
Diffstat (limited to 'src/ui')
-rw-r--r-- | src/ui/sidebarwidget.c | 72 |
1 files changed, 41 insertions, 31 deletions
diff --git a/src/ui/sidebarwidget.c b/src/ui/sidebarwidget.c index ca45f013..f5beb785 100644 --- a/src/ui/sidebarwidget.c +++ b/src/ui/sidebarwidget.c | |||
@@ -350,37 +350,47 @@ static void updateItemsWithFlags_SidebarWidget_(iSidebarWidget *d, iBool keepAct | |||
350 | } | 350 | } |
351 | /* Actions. */ | 351 | /* Actions. */ |
352 | if (!isMobile) { | 352 | if (!isMobile) { |
353 | if (!keepActions) { | 353 | if (!keepActions && !isEmpty) { |
354 | addActionButton_SidebarWidget_(d, | 354 | addActionButton_SidebarWidget_(d, |
355 | check_Icon " ${sidebar.action.feeds.markallread}", | 355 | check_Icon |
356 | " ${sidebar.action.feeds.markallread}", | ||
356 | "feeds.markallread", | 357 | "feeds.markallread", |
357 | expand_WidgetFlag | tight_WidgetFlag); | 358 | expand_WidgetFlag | tight_WidgetFlag); |
358 | updateSize_LabelWidget(addChildFlags_Widget(d->actions, | 359 | updateSize_LabelWidget( |
359 | iClob(new_LabelWidget("${sidebar.action.show}", NULL)), | 360 | addChildFlags_Widget(d->actions, |
360 | frameless_WidgetFlag | tight_WidgetFlag)); | 361 | iClob(new_LabelWidget("${sidebar.action.show}", NULL)), |
361 | const iMenuItem items[] = { | 362 | frameless_WidgetFlag | tight_WidgetFlag)); |
362 | { page_Icon " ${sidebar.action.feeds.showall}", SDLK_u, KMOD_SHIFT, "feeds.mode arg:0" }, | 363 | const iMenuItem items[] = { |
363 | { circle_Icon " ${sidebar.action.feeds.showunread}", SDLK_u, 0, "feeds.mode arg:1" }, | 364 | { page_Icon " ${sidebar.action.feeds.showall}", |
364 | }; | 365 | SDLK_u, |
365 | iWidget *dropButton = addChild_Widget( | 366 | KMOD_SHIFT, |
366 | d->actions, | 367 | "feeds.mode arg:0" }, |
367 | iClob(makeMenuButton_LabelWidget(items[d->feedsMode].label, items, 2))); | 368 | { circle_Icon " ${sidebar.action.feeds.showunread}", |
368 | setId_Widget(dropButton, "feeds.modebutton"); | 369 | SDLK_u, |
369 | checkIcon_LabelWidget((iLabelWidget *) dropButton); | 370 | 0, |
370 | setFixedSize_Widget( | 371 | "feeds.mode arg:1" }, |
371 | dropButton, | 372 | }; |
372 | init_I2(iMaxi(20 * gap_UI, | 373 | iWidget *dropButton = addChild_Widget( |
373 | measure_Text(default_FontId, | 374 | d->actions, |
374 | translateCStr_Lang( | 375 | iClob(makeMenuButton_LabelWidget(items[d->feedsMode].label, items, 2))); |
375 | items[findWidestLabel_MenuItem(items, 2)].label)) | 376 | setId_Widget(dropButton, "feeds.modebutton"); |
376 | .advance.x + | 377 | checkIcon_LabelWidget((iLabelWidget *) dropButton); |
377 | 13 * gap_UI), | 378 | setFixedSize_Widget( |
379 | dropButton, | ||
380 | init_I2( | ||
381 | iMaxi(20 * gap_UI, | ||
382 | measure_Text(default_FontId, | ||
383 | translateCStr_Lang( | ||
384 | items[findWidestLabel_MenuItem(items, 2)].label)) | ||
385 | .advance.x + | ||
386 | 13 * gap_UI), | ||
378 | -1)); | 387 | -1)); |
379 | } | 388 | } |
380 | else { | 389 | else { |
381 | updateDropdownSelection_LabelWidget(findChild_Widget(d->actions, "feeds.modebutton"), | 390 | updateDropdownSelection_LabelWidget( |
382 | format_CStr(" arg:%d", d->feedsMode)); | 391 | findChild_Widget(d->actions, "feeds.modebutton"), |
383 | } | 392 | format_CStr(" arg:%d", d->feedsMode)); |
393 | } | ||
384 | } | 394 | } |
385 | else { | 395 | else { |
386 | if (!keepActions) { | 396 | if (!keepActions) { |
@@ -600,12 +610,12 @@ static void updateItemsWithFlags_SidebarWidget_(iSidebarWidget *d, iBool keepAct | |||
600 | if (isEmpty) { | 610 | if (isEmpty) { |
601 | if (d->mode == feeds_SidebarMode) { | 611 | if (d->mode == feeds_SidebarMode) { |
602 | iWidget *div = makeVDiv_Widget(); | 612 | iWidget *div = makeVDiv_Widget(); |
603 | //setPadding_Widget(div, 3 * gap_UI, 0, 3 * gap_UI, 2 * gap_UI); | 613 | setPadding_Widget(div, 3 * gap_UI, 0, 3 * gap_UI, 2 * gap_UI); |
604 | arrange_Widget(d->actions); | 614 | arrange_Widget(d->actions); |
605 | setPadding_Widget(div, 0, 0, 0, height_Widget(d->actions)); | 615 | // setPadding_Widget(div, 0, 0, 0, height_Widget(d->actions)); |
606 | addChildFlags_Widget(div, iClob(new_Widget()), expand_WidgetFlag); /* pad */ | 616 | addChildFlags_Widget(div, iClob(new_Widget()), expand_WidgetFlag); /* pad */ |
607 | if (d->feedsMode == all_FeedsMode) { | 617 | if (d->feedsMode == all_FeedsMode) { |
608 | addChild_Widget(div, iClob(new_LabelWidget("${menu.feeds.refresh}", "feeds.refresh"))); | 618 | addChild_Widget(div, iClob(new_LabelWidget("${menu.feeds.refresh}", "feeds.refresh"))); |
609 | } | 619 | } |
610 | else { | 620 | else { |
611 | iLabelWidget *msg = addChildFlags_Widget(div, iClob(new_LabelWidget("${sidebar.empty.unread}", NULL)), | 621 | iLabelWidget *msg = addChildFlags_Widget(div, iClob(new_LabelWidget("${sidebar.empty.unread}", NULL)), |
@@ -640,7 +650,7 @@ static void updateItemsWithFlags_SidebarWidget_(iSidebarWidget *d, iBool keepAct | |||
640 | setWrap_LabelWidget(linkLabel, iTrue); | 650 | setWrap_LabelWidget(linkLabel, iTrue); |
641 | addChild_Widget(d->blank, iClob(div)); | 651 | addChild_Widget(d->blank, iClob(div)); |
642 | } | 652 | } |
643 | // arrange_Widget(d->blank); | 653 | arrange_Widget(d->blank); |
644 | } | 654 | } |
645 | #if 0 | 655 | #if 0 |
646 | if (deviceType_App() != desktop_AppDeviceType) { | 656 | if (deviceType_App() != desktop_AppDeviceType) { |