diff options
author | Jaakko Keränen <jaakko.keranen@iki.fi> | 2020-12-28 12:36:09 +0200 |
---|---|---|
committer | Jaakko Keränen <jaakko.keranen@iki.fi> | 2020-12-28 12:36:09 +0200 |
commit | 247b033aaf5a7a72e26cd11a6ab676b913b67ace (patch) | |
tree | e8b76e8a66393a33e01bdedc2ff0f381511b954c /src | |
parent | e8b9d34565824b526aa48a28699781b486e897b6 (diff) |
SidebarWidget: Opening feed entries in new tab
Diffstat (limited to 'src')
-rw-r--r-- | src/gmutil.c | 7 | ||||
-rw-r--r-- | src/gmutil.h | 2 | ||||
-rw-r--r-- | src/ui/lookupwidget.c | 2 | ||||
-rw-r--r-- | src/ui/sidebarwidget.c | 3 |
4 files changed, 8 insertions, 6 deletions
diff --git a/src/gmutil.c b/src/gmutil.c index afca4978..cf96cfd8 100644 --- a/src/gmutil.c +++ b/src/gmutil.c | |||
@@ -315,7 +315,7 @@ void urlEncodeSpaces_String(iString *d) { | |||
315 | } | 315 | } |
316 | } | 316 | } |
317 | 317 | ||
318 | const iString *feedEntryOpenCommand_String(const iString *url) { | 318 | const iString *feedEntryOpenCommand_String(const iString *url, int newTab) { |
319 | if (!isEmpty_String(url)) { | 319 | if (!isEmpty_String(url)) { |
320 | iString *cmd = collectNew_String(); | 320 | iString *cmd = collectNew_String(); |
321 | const size_t fragPos = indexOf_String(url, '#'); | 321 | const size_t fragPos = indexOf_String(url, '#'); |
@@ -323,14 +323,15 @@ const iString *feedEntryOpenCommand_String(const iString *url) { | |||
323 | iString *head = newRange_String( | 323 | iString *head = newRange_String( |
324 | (iRangecc){ constBegin_String(url) + fragPos + 1, constEnd_String(url) }); | 324 | (iRangecc){ constBegin_String(url) + fragPos + 1, constEnd_String(url) }); |
325 | format_String(cmd, | 325 | format_String(cmd, |
326 | "open gotourlheading:%s url:%s", | 326 | "open newtab:%d gotourlheading:%s url:%s", |
327 | newTab, | ||
327 | cstr_String(head), | 328 | cstr_String(head), |
328 | cstr_Rangecc((iRangecc){ constBegin_String(url), | 329 | cstr_Rangecc((iRangecc){ constBegin_String(url), |
329 | constBegin_String(url) + fragPos })); | 330 | constBegin_String(url) + fragPos })); |
330 | delete_String(head); | 331 | delete_String(head); |
331 | } | 332 | } |
332 | else { | 333 | else { |
333 | format_String(cmd, "open url:%s", cstr_String(url)); | 334 | format_String(cmd, "open newtab:%d url:%s", newTab, cstr_String(url)); |
334 | } | 335 | } |
335 | return cmd; | 336 | return cmd; |
336 | } | 337 | } |
diff --git a/src/gmutil.h b/src/gmutil.h index 88ed1f32..a9c8c42a 100644 --- a/src/gmutil.h +++ b/src/gmutil.h | |||
@@ -110,4 +110,4 @@ iString * makeFileUrl_String (const iString *localFilePath); | |||
110 | const char * makeFileUrl_CStr (const char *localFilePath); | 110 | const char * makeFileUrl_CStr (const char *localFilePath); |
111 | void urlEncodeSpaces_String (iString *); | 111 | void urlEncodeSpaces_String (iString *); |
112 | 112 | ||
113 | const iString * feedEntryOpenCommand_String (const iString *url); /* checks fragment */ | 113 | const iString * feedEntryOpenCommand_String (const iString *url, int newTab); /* checks fragment */ |
diff --git a/src/ui/lookupwidget.c b/src/ui/lookupwidget.c index b80170d2..284d518e 100644 --- a/src/ui/lookupwidget.c +++ b/src/ui/lookupwidget.c | |||
@@ -535,7 +535,7 @@ static void presentResults_LookupWidget_(iLookupWidget *d) { | |||
535 | cstr_String(&res->label), | 535 | cstr_String(&res->label), |
536 | uiText_ColorEscape, | 536 | uiText_ColorEscape, |
537 | cstr_String(&res->meta)); | 537 | cstr_String(&res->meta)); |
538 | const iString *cmd = feedEntryOpenCommand_String(&res->url); | 538 | const iString *cmd = feedEntryOpenCommand_String(&res->url, 0); |
539 | if (cmd) { | 539 | if (cmd) { |
540 | set_String(&item->command, cmd); | 540 | set_String(&item->command, cmd); |
541 | } | 541 | } |
diff --git a/src/ui/sidebarwidget.c b/src/ui/sidebarwidget.c index 406ce2f2..d3be3710 100644 --- a/src/ui/sidebarwidget.c +++ b/src/ui/sidebarwidget.c | |||
@@ -524,7 +524,8 @@ static void itemClicked_SidebarWidget_(iSidebarWidget *d, const iSidebarItem *it | |||
524 | break; | 524 | break; |
525 | } | 525 | } |
526 | case feeds_SidebarMode: { | 526 | case feeds_SidebarMode: { |
527 | postCommandString_App(feedEntryOpenCommand_String(&item->url)); | 527 | postCommandString_App( |
528 | feedEntryOpenCommand_String(&item->url, openTabMode_Sym(SDL_GetModState()))); | ||
528 | break; | 529 | break; |
529 | } | 530 | } |
530 | case bookmarks_SidebarMode: | 531 | case bookmarks_SidebarMode: |