From 41f378c4b46cb5dd3599d44c81fa51d3183eefee Mon Sep 17 00:00:00 2001 From: Jaakko Keränen Date: Sun, 20 Feb 2022 12:52:36 +0200 Subject: Mobile: Omit menu items for new windows --- src/ui/documentwidget.c | 7 ++- src/ui/sidebarwidget.c | 111 +++++++++++++++++++++++++----------------------- 2 files changed, 64 insertions(+), 54 deletions(-) diff --git a/src/ui/documentwidget.c b/src/ui/documentwidget.c index 7492d9bd..fdc0dd75 100644 --- a/src/ui/documentwidget.c +++ b/src/ui/documentwidget.c @@ -5128,7 +5128,12 @@ static iBool processEvent_DocumentWidget_(iDocumentWidget *d, const SDL_Event *e }, 5); if (deviceType_App() == phone_AppDeviceType) { - removeN_Array(&items, size_Array(&items) - 2, iInvalidSize); + /* Phones don't do windows or splits. */ + removeN_Array(&items, size_Array(&items) - 3, iInvalidSize); + } + else if (deviceType_App() == tablet_AppDeviceType) { + /* Tablets only do splits. */ + removeN_Array(&items, size_Array(&items) - 3, 1); } if (equalCase_Rangecc(scheme, "file")) { pushBack_Array(&items, &(iMenuItem){ "---" }); diff --git a/src/ui/sidebarwidget.c b/src/ui/sidebarwidget.c index 8f9e44c8..8a96961a 100644 --- a/src/ui/sidebarwidget.c +++ b/src/ui/sidebarwidget.c @@ -412,23 +412,25 @@ static void updateItemsWithFlags_SidebarWidget_(iSidebarWidget *d, iBool keepAct setOutline_LabelWidget(child_Widget(d->actions, 1), d->feedsMode != all_FeedsMode); setOutline_LabelWidget(child_Widget(d->actions, 2), d->feedsMode != unread_FeedsMode); } - d->menu = makeMenu_Widget( - as_Widget(d), - (iMenuItem[]){ { openTab_Icon " ${menu.opentab}", 0, 0, "feed.entry.open newtab:1" }, - { openTabBg_Icon " ${menu.opentab.background}", 0, 0, "feed.entry.open newtab:2" }, - { openWindow_Icon " ${menu.openwindow}", 0, 0, "feed.entry.open newwindow:1" }, - { "---", 0, 0, NULL }, - { circle_Icon " ${feeds.entry.markread}", 0, 0, "feed.entry.toggleread" }, - { bookmark_Icon " ${feeds.entry.bookmark}", 0, 0, "feed.entry.bookmark" }, - { "${menu.copyurl}", 0, 0, "feed.entry.copy" }, - { "---", 0, 0, NULL }, - { page_Icon " ${feeds.entry.openfeed}", 0, 0, "feed.entry.openfeed" }, - { edit_Icon " ${feeds.edit}", 0, 0, "feed.entry.edit" }, - { whiteStar_Icon " " uiTextCaution_ColorEscape "${feeds.unsubscribe}", 0, 0, "feed.entry.unsubscribe" }, - { "---", 0, 0, NULL }, - { check_Icon " ${feeds.markallread}", SDLK_a, KMOD_SHIFT, "feeds.markallread" }, - { reload_Icon " ${feeds.refresh}", SDLK_r, KMOD_PRIMARY | KMOD_SHIFT, "feeds.refresh" } }, - 13); + const iMenuItem menuItems[] = { + { openTab_Icon " ${menu.opentab}", 0, 0, "feed.entry.open newtab:1" }, + { openTabBg_Icon " ${menu.opentab.background}", 0, 0, "feed.entry.open newtab:2" }, +#if defined (iPlatformDesktop) + { openWindow_Icon " ${menu.openwindow}", 0, 0, "feed.entry.open newwindow:1" }, +#endif + { "---", 0, 0, NULL }, + { circle_Icon " ${feeds.entry.markread}", 0, 0, "feed.entry.toggleread" }, + { bookmark_Icon " ${feeds.entry.bookmark}", 0, 0, "feed.entry.bookmark" }, + { "${menu.copyurl}", 0, 0, "feed.entry.copy" }, + { "---", 0, 0, NULL }, + { page_Icon " ${feeds.entry.openfeed}", 0, 0, "feed.entry.openfeed" }, + { edit_Icon " ${feeds.edit}", 0, 0, "feed.entry.edit" }, + { whiteStar_Icon " " uiTextCaution_ColorEscape "${feeds.unsubscribe}", 0, 0, "feed.entry.unsubscribe" }, + { "---", 0, 0, NULL }, + { check_Icon " ${feeds.markallread}", SDLK_a, KMOD_SHIFT, "feeds.markallread" }, + { reload_Icon " ${feeds.refresh}", SDLK_r, KMOD_PRIMARY | KMOD_SHIFT, "feeds.refresh" } + }; + d->menu = makeMenu_Widget(as_Widget(d), menuItems, iElemCount(menuItems)); d->modeMenu = makeMenu_Widget( as_Widget(d), (iMenuItem[]){ @@ -491,27 +493,29 @@ static void updateItemsWithFlags_SidebarWidget_(iSidebarWidget *d, iBool keepAct addItem_ListWidget(d->list, item); iRelease(item); } - d->menu = makeMenu_Widget( - as_Widget(d), - (iMenuItem[]){ { openTab_Icon " ${menu.opentab}", 0, 0, "bookmark.open newtab:1" }, - { openTabBg_Icon " ${menu.opentab.background}", 0, 0, "bookmark.open newtab:2" }, - { openWindow_Icon " ${menu.openwindow}", 0, 0, "bookmark.open newwindow:1" }, - { "---", 0, 0, NULL }, - { edit_Icon " ${menu.edit}", 0, 0, "bookmark.edit" }, - { copy_Icon " ${menu.dup}", 0, 0, "bookmark.dup" }, - { "${menu.copyurl}", 0, 0, "bookmark.copy" }, - { "---", 0, 0, NULL }, - { "", 0, 0, "bookmark.tag tag:subscribed" }, - { "", 0, 0, "bookmark.tag tag:homepage" }, - { "", 0, 0, "bookmark.tag tag:remotesource" }, - { "---", 0, 0, NULL }, - { delete_Icon " " uiTextCaution_ColorEscape "${bookmark.delete}", 0, 0, "bookmark.delete" }, - { "---", 0, 0, NULL }, - { folder_Icon " ${menu.newfolder}", 0, 0, "bookmark.addfolder" }, - { upDownArrow_Icon " ${menu.sort.alpha}", 0, 0, "bookmark.sortfolder" }, - { "---", 0, 0, NULL }, - { reload_Icon " ${bookmarks.reload}", 0, 0, "bookmarks.reload.remote" } }, - 18); + const iMenuItem menuItems[] = { + { openTab_Icon " ${menu.opentab}", 0, 0, "bookmark.open newtab:1" }, + { openTabBg_Icon " ${menu.opentab.background}", 0, 0, "bookmark.open newtab:2" }, +#if defined (iPlatformDesktop) + { openWindow_Icon " ${menu.openwindow}", 0, 0, "bookmark.open newwindow:1" }, +#endif + { "---", 0, 0, NULL }, + { edit_Icon " ${menu.edit}", 0, 0, "bookmark.edit" }, + { copy_Icon " ${menu.dup}", 0, 0, "bookmark.dup" }, + { "${menu.copyurl}", 0, 0, "bookmark.copy" }, + { "---", 0, 0, NULL }, + { "", 0, 0, "bookmark.tag tag:subscribed" }, + { "", 0, 0, "bookmark.tag tag:homepage" }, + { "", 0, 0, "bookmark.tag tag:remotesource" }, + { "---", 0, 0, NULL }, + { delete_Icon " " uiTextCaution_ColorEscape "${bookmark.delete}", 0, 0, "bookmark.delete" }, + { "---", 0, 0, NULL }, + { folder_Icon " ${menu.newfolder}", 0, 0, "bookmark.addfolder" }, + { upDownArrow_Icon " ${menu.sort.alpha}", 0, 0, "bookmark.sortfolder" }, + { "---", 0, 0, NULL }, + { reload_Icon " ${bookmarks.reload}", 0, 0, "bookmarks.reload.remote" } + }; + d->menu = makeMenu_Widget(as_Widget(d), menuItems, iElemCount(menuItems)); d->modeMenu = makeMenu_Widget( as_Widget(d), (iMenuItem[]){ { bookmark_Icon " ${menu.page.bookmark}", SDLK_d, KMOD_PRIMARY, "bookmark.add" }, @@ -525,7 +529,7 @@ static void updateItemsWithFlags_SidebarWidget_(iSidebarWidget *d, iBool keepAct addActionButton_SidebarWidget_(d, "${sidebar.action.bookmarks.newfolder}", "bookmarks.addfolder", !d->isEditing ? hidden_WidgetFlag : 0); addChildFlags_Widget(d->actions, iClob(new_Widget()), expand_WidgetFlag); - iLabelWidget *btn = addActionButton_SidebarWidget_(d, + addActionButton_SidebarWidget_(d, d->isEditing ? "${sidebar.close}" : "${sidebar.action.bookmarks.edit}", "sidebar.bookmarks.edit", 0); } @@ -573,20 +577,21 @@ static void updateItemsWithFlags_SidebarWidget_(iSidebarWidget *d, iBool keepAct addItem_ListWidget(d->list, item); iRelease(item); } - d->menu = makeMenu_Widget( - as_Widget(d), - (iMenuItem[]){ - { openTab_Icon " ${menu.opentab}", 0, 0, "history.open newtab:1" }, - { openTabBg_Icon " ${menu.opentab.background}", 0, 0, "history.open newtab:2" }, - { openWindow_Icon " ${menu.openwindow}", 0, 0, "history.open newwindow:1" }, - { "---" }, - { bookmark_Icon " ${sidebar.entry.bookmark}", 0, 0, "history.addbookmark" }, - { "${menu.copyurl}", 0, 0, "history.copy" }, - { "---", 0, 0, NULL }, - { close_Icon " ${menu.forgeturl}", 0, 0, "history.delete" }, - { "---", 0, 0, NULL }, - { delete_Icon " " uiTextCaution_ColorEscape "${history.clear}", 0, 0, "history.clear confirm:1" }, - }, 10); + const iMenuItem menuItems[] = { + { openTab_Icon " ${menu.opentab}", 0, 0, "history.open newtab:1" }, + { openTabBg_Icon " ${menu.opentab.background}", 0, 0, "history.open newtab:2" }, +#if defined (iPlatformDesktop) + { openWindow_Icon " ${menu.openwindow}", 0, 0, "history.open newwindow:1" }, +#endif + { "---" }, + { bookmark_Icon " ${sidebar.entry.bookmark}", 0, 0, "history.addbookmark" }, + { "${menu.copyurl}", 0, 0, "history.copy" }, + { "---", 0, 0, NULL }, + { close_Icon " ${menu.forgeturl}", 0, 0, "history.delete" }, + { "---", 0, 0, NULL }, + { delete_Icon " " uiTextCaution_ColorEscape "${history.clear}", 0, 0, "history.clear confirm:1" }, + }; + d->menu = makeMenu_Widget(as_Widget(d), menuItems, iElemCount(menuItems)); d->modeMenu = makeMenu_Widget( as_Widget(d), (iMenuItem[]){ -- cgit v1.2.3