diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/app.c | 15 | ||||
-rw-r--r-- | src/ui/documentwidget.c | 12 |
2 files changed, 22 insertions, 5 deletions
@@ -1383,9 +1383,18 @@ iBool handleCommand_App(const char *cmd) { | |||
1383 | } | 1383 | } |
1384 | else if (equal_Command(cmd, "bookmark.add")) { | 1384 | else if (equal_Command(cmd, "bookmark.add")) { |
1385 | iDocumentWidget *doc = document_App(); | 1385 | iDocumentWidget *doc = document_App(); |
1386 | makeBookmarkCreation_Widget(url_DocumentWidget(doc), | 1386 | if (suffixPtr_Command(cmd, "url")) { |
1387 | bookmarkTitle_DocumentWidget(doc), | 1387 | iString *title = collect_String(newRange_String(range_Command(cmd, "title"))); |
1388 | siteIcon_GmDocument(document_DocumentWidget(doc))); | 1388 | replace_String(title, "%20", " "); |
1389 | makeBookmarkCreation_Widget(collect_String(suffix_Command(cmd, "url")), | ||
1390 | title, | ||
1391 | 0x1f588 /* pin */); | ||
1392 | } | ||
1393 | else { | ||
1394 | makeBookmarkCreation_Widget(url_DocumentWidget(doc), | ||
1395 | bookmarkTitle_DocumentWidget(doc), | ||
1396 | siteIcon_GmDocument(document_DocumentWidget(doc))); | ||
1397 | } | ||
1389 | postCommand_App("focus.set id:bmed.title"); | 1398 | postCommand_App("focus.set id:bmed.title"); |
1390 | return iTrue; | 1399 | return iTrue; |
1391 | } | 1400 | } |
diff --git a/src/ui/documentwidget.c b/src/ui/documentwidget.c index 3f3e453a..1830239a 100644 --- a/src/ui/documentwidget.c +++ b/src/ui/documentwidget.c | |||
@@ -2325,10 +2325,18 @@ static iBool processEvent_DocumentWidget_(iDocumentWidget *d, const SDL_Event *e | |||
2325 | format_CStr("!open noproxy:1 url:%s", cstr_String(linkUrl)) } }, | 2325 | format_CStr("!open noproxy:1 url:%s", cstr_String(linkUrl)) } }, |
2326 | 2); | 2326 | 2); |
2327 | } | 2327 | } |
2328 | iString *linkLabel = collect_String(newRange_String(d->contextLink->text)); | ||
2329 | urlEncodeSpaces_String(linkLabel); | ||
2328 | pushBackN_Array(&items, | 2330 | pushBackN_Array(&items, |
2329 | (iMenuItem[]){ { "---", 0, 0, NULL }, | 2331 | (iMenuItem[]){ { "---", 0, 0, NULL }, |
2330 | { "Copy Link", 0, 0, "document.copylink" } }, | 2332 | { "Copy Link", 0, 0, "document.copylink" }, |
2331 | 2); | 2333 | { "Bookmark Link...", |
2334 | 0, | ||
2335 | 0, | ||
2336 | format_CStr("!bookmark.add title:%s url:%s", | ||
2337 | cstr_String(linkLabel), | ||
2338 | cstr_String(linkUrl)) } }, | ||
2339 | 3); | ||
2332 | iMediaRequest *mediaReq; | 2340 | iMediaRequest *mediaReq; |
2333 | if ((mediaReq = findMediaRequest_DocumentWidget_(d, d->contextLink->linkId)) != NULL) { | 2341 | if ((mediaReq = findMediaRequest_DocumentWidget_(d, d->contextLink->linkId)) != NULL) { |
2334 | if (isFinished_GmRequest(mediaReq->req)) { | 2342 | if (isFinished_GmRequest(mediaReq->req)) { |