diff options
author | Jaakko Keränen <jaakko.keranen@iki.fi> | 2021-11-24 08:29:32 +0200 |
---|---|---|
committer | Jaakko Keränen <jaakko.keranen@iki.fi> | 2021-11-24 08:29:32 +0200 |
commit | 11cb01d77815ae08499041f586348536b065dc5d (patch) | |
tree | e0ec5bfcb73679bdb02f1828eb8e489b636a7508 | |
parent | 83b560ddd19703d52c6a2cfe9ad6da7f9f0c9eb8 (diff) |
SidebarWidget: Save feeds mode (all/unread)
-rw-r--r-- | src/app.c | 12 | ||||
-rw-r--r-- | src/ui/sidebarwidget.c | 8 | ||||
-rw-r--r-- | src/ui/sidebarwidget.h | 1 |
3 files changed, 17 insertions, 4 deletions
@@ -491,7 +491,13 @@ static iBool loadState_App_(iApp *d) { | |||
491 | setClosedFolders_SidebarWidget(sidebar, closedFolders[0]); | 491 | setClosedFolders_SidebarWidget(sidebar, closedFolders[0]); |
492 | setClosedFolders_SidebarWidget(sidebar2, closedFolders[1]); | 492 | setClosedFolders_SidebarWidget(sidebar2, closedFolders[1]); |
493 | postCommandf_Root(root, "sidebar.mode arg:%u", modes & 0xf); | 493 | postCommandf_Root(root, "sidebar.mode arg:%u", modes & 0xf); |
494 | postCommandf_Root(root, "sidebar2.mode arg:%u", modes >> 4); | 494 | postCommandf_Root(root, "sidebar2.mode arg:%u", (modes >> 4) & 0xf); |
495 | if (flags & 4) { | ||
496 | postCommand_Widget(sidebar, "feeds.mode arg:%d", unread_FeedsMode); | ||
497 | } | ||
498 | if (flags & 8) { | ||
499 | postCommand_Widget(sidebar2, "feeds.mode arg:%d", unread_FeedsMode); | ||
500 | } | ||
495 | if (deviceType_App() != phone_AppDeviceType) { | 501 | if (deviceType_App() != phone_AppDeviceType) { |
496 | setWidth_SidebarWidget(sidebar, widths[0]); | 502 | setWidth_SidebarWidget(sidebar, widths[0]); |
497 | setWidth_SidebarWidget(sidebar2, widths[1]); | 503 | setWidth_SidebarWidget(sidebar2, widths[1]); |
@@ -566,7 +572,9 @@ static void saveState_App_(const iApp *d) { | |||
566 | const iSidebarWidget *sidebar2 = findChild_Widget(root->widget, "sidebar2"); | 572 | const iSidebarWidget *sidebar2 = findChild_Widget(root->widget, "sidebar2"); |
567 | writeU16_File(f, i | | 573 | writeU16_File(f, i | |
568 | (isVisible_Widget(sidebar) ? 0x100 : 0) | | 574 | (isVisible_Widget(sidebar) ? 0x100 : 0) | |
569 | (isVisible_Widget(sidebar2) ? 0x200 : 0)); | 575 | (isVisible_Widget(sidebar2) ? 0x200 : 0) | |
576 | (feedsMode_SidebarWidget(sidebar) == unread_FeedsMode ? 0x400 : 0) | | ||
577 | (feedsMode_SidebarWidget(sidebar2) == unread_FeedsMode ? 0x800 : 0)); | ||
570 | writeU8_File(f, | 578 | writeU8_File(f, |
571 | mode_SidebarWidget(sidebar) | | 579 | mode_SidebarWidget(sidebar) | |
572 | (mode_SidebarWidget(sidebar2) << 4)); | 580 | (mode_SidebarWidget(sidebar2) << 4)); |
diff --git a/src/ui/sidebarwidget.c b/src/ui/sidebarwidget.c index 6397528e..7982841d 100644 --- a/src/ui/sidebarwidget.c +++ b/src/ui/sidebarwidget.c | |||
@@ -360,11 +360,11 @@ static void updateItems_SidebarWidget_(iSidebarWidget *d) { | |||
360 | iClob(makeMenuButton_LabelWidget(items[d->feedsMode].label, items, 2))); | 360 | iClob(makeMenuButton_LabelWidget(items[d->feedsMode].label, items, 2))); |
361 | setFixedSize_Widget( | 361 | setFixedSize_Widget( |
362 | dropButton, | 362 | dropButton, |
363 | init_I2(measure_Text( | 363 | init_I2(iMaxi(20 * gap_UI, measure_Text( |
364 | default_FontId, | 364 | default_FontId, |
365 | translateCStr_Lang(items[findWidestLabel_MenuItem(items, 2)].label)) | 365 | translateCStr_Lang(items[findWidestLabel_MenuItem(items, 2)].label)) |
366 | .advance.x + | 366 | .advance.x + |
367 | 6 * gap_UI, | 367 | 6 * gap_UI), |
368 | -1)); | 368 | -1)); |
369 | } | 369 | } |
370 | d->menu = makeMenu_Widget( | 370 | d->menu = makeMenu_Widget( |
@@ -691,6 +691,10 @@ enum iSidebarMode mode_SidebarWidget(const iSidebarWidget *d) { | |||
691 | return d ? d->mode : 0; | 691 | return d ? d->mode : 0; |
692 | } | 692 | } |
693 | 693 | ||
694 | enum iFeedsMode feedsMode_SidebarWidget(const iSidebarWidget *d) { | ||
695 | return d ? d->feedsMode : 0; | ||
696 | } | ||
697 | |||
694 | float width_SidebarWidget(const iSidebarWidget *d) { | 698 | float width_SidebarWidget(const iSidebarWidget *d) { |
695 | return d ? d->widthAsGaps : 0; | 699 | return d ? d->widthAsGaps : 0; |
696 | } | 700 | } |
diff --git a/src/ui/sidebarwidget.h b/src/ui/sidebarwidget.h index 638a1f2f..81c6681f 100644 --- a/src/ui/sidebarwidget.h +++ b/src/ui/sidebarwidget.h | |||
@@ -56,5 +56,6 @@ iBool setButtonFont_SidebarWidget (iSidebarWidget *, int font); | |||
56 | void setClosedFolders_SidebarWidget (iSidebarWidget *, const iIntSet *closedFolders); | 56 | void setClosedFolders_SidebarWidget (iSidebarWidget *, const iIntSet *closedFolders); |
57 | 57 | ||
58 | enum iSidebarMode mode_SidebarWidget (const iSidebarWidget *); | 58 | enum iSidebarMode mode_SidebarWidget (const iSidebarWidget *); |
59 | enum iFeedsMode feedsMode_SidebarWidget (const iSidebarWidget *); | ||
59 | float width_SidebarWidget (const iSidebarWidget *); | 60 | float width_SidebarWidget (const iSidebarWidget *); |
60 | const iIntSet * closedFolders_SidebarWidget (const iSidebarWidget *); | 61 | const iIntSet * closedFolders_SidebarWidget (const iSidebarWidget *); |