summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaakko Keränen <jaakko.keranen@iki.fi>2021-11-24 08:29:32 +0200
committerJaakko Keränen <jaakko.keranen@iki.fi>2021-11-24 08:29:32 +0200
commit11cb01d77815ae08499041f586348536b065dc5d (patch)
treee0ec5bfcb73679bdb02f1828eb8e489b636a7508
parent83b560ddd19703d52c6a2cfe9ad6da7f9f0c9eb8 (diff)
SidebarWidget: Save feeds mode (all/unread)
-rw-r--r--src/app.c12
-rw-r--r--src/ui/sidebarwidget.c8
-rw-r--r--src/ui/sidebarwidget.h1
3 files changed, 17 insertions, 4 deletions
diff --git a/src/app.c b/src/app.c
index 9a292ea5..5e7af85e 100644
--- a/src/app.c
+++ b/src/app.c
@@ -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
694enum iFeedsMode feedsMode_SidebarWidget(const iSidebarWidget *d) {
695 return d ? d->feedsMode : 0;
696}
697
694float width_SidebarWidget(const iSidebarWidget *d) { 698float 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);
56void setClosedFolders_SidebarWidget (iSidebarWidget *, const iIntSet *closedFolders); 56void setClosedFolders_SidebarWidget (iSidebarWidget *, const iIntSet *closedFolders);
57 57
58enum iSidebarMode mode_SidebarWidget (const iSidebarWidget *); 58enum iSidebarMode mode_SidebarWidget (const iSidebarWidget *);
59enum iFeedsMode feedsMode_SidebarWidget (const iSidebarWidget *);
59float width_SidebarWidget (const iSidebarWidget *); 60float width_SidebarWidget (const iSidebarWidget *);
60const iIntSet * closedFolders_SidebarWidget (const iSidebarWidget *); 61const iIntSet * closedFolders_SidebarWidget (const iSidebarWidget *);