Skip to content

Commit 6912fc3

Browse files
committed
Merge branch 'dev' into release
2 parents f6db05c + e3746a7 commit 6912fc3

File tree

2 files changed

+22
-12
lines changed

2 files changed

+22
-12
lines changed

src/ui/documentwidget.c

+21-11
Original file line numberDiff line numberDiff line change
@@ -2033,27 +2033,36 @@ static iBool setUrl_DocumentWidget_(iDocumentWidget *d, const iString *url) {
20332033
return iFalse;
20342034
}
20352035

2036+
static void makePastePrecedingLineMenuItem_(iMenuItem *item_out, const iWidget *buttons,
2037+
const char *precedingLine) {
2038+
const iBinding *bind = findCommand_Keys("input.precedingline");
2039+
*item_out = (iMenuItem){
2040+
"${menu.input.precedingline}",
2041+
bind->key,
2042+
bind->mods,
2043+
format_CStr("!valueinput.set ptr:%p text:%s", buttons, precedingLine)
2044+
};
2045+
}
2046+
20362047
static const iArray *updateInputPromptMenuItems_(iWidget *menu) {
20372048
const char *context = cstr_String(&menu->data);
20382049
const iWidget *buttons = pointerLabel_Command(context, "buttons");
20392050
const iString *url = string_Command(context, "url");
20402051
const char *precedingLine = suffixPtr_Command(context, "preceding");
2041-
const iBinding *bind = findCommand_Keys("input.precedingline");
20422052
/* Compose new menu items. */
20432053
iArray *items = collectNew_Array(sizeof(iMenuItem));
2054+
iMenuItem pasteItem;
2055+
makePastePrecedingLineMenuItem_(&pasteItem, buttons, precedingLine);
2056+
pushBack_Array(items, &pasteItem);
20442057
pushBackN_Array(
20452058
items,
20462059
(iMenuItem[]){
2047-
{ "${menu.input.precedingline}",
2048-
bind->key,
2049-
bind->mods,
2050-
format_CStr("!valueinput.set ptr:%p text:%s", buttons, precedingLine) },
20512060
{ "---" },
20522061
{ !isPromptUrl_SiteSpec(url) ? "${menu.input.setprompt}" : "${menu.input.unsetprompt}",
20532062
0,
20542063
0,
20552064
format_CStr("!prompturl.toggle url:%s", cstr_String(url)) } },
2056-
3);
2065+
2);
20572066
/* Recently submitted input texts can be restored. */ {
20582067
const iStringArray *recentInput = recentlySubmittedInput_App();
20592068
if (!isEmpty_StringArray(recentInput)) {
@@ -2130,8 +2139,13 @@ iWidget *makeInputPrompt_DocumentWidget(iDocumentWidget *d, const iString *url,
21302139
if (lineBreak && deviceType_App() != desktop_AppDeviceType) {
21312140
addChildPos_Widget(buttons, iClob(lineBreak), front_WidgetAddPos);
21322141
}
2142+
/* Shortcut for the Paste Preceding Line. The menu is dynamic so it won't listen
2143+
for the keys as usual. */ {
2144+
iMenuItem pasteItem;
2145+
makePastePrecedingLineMenuItem_(&pasteItem, buttons, cstr_String(&d->linePrecedingLink));
2146+
addAction_Widget(dlg, pasteItem.key, pasteItem.kmods, pasteItem.command);
2147+
}
21332148
/* Menu for additional actions, past entries. */ {
2134-
21352149
iLabelWidget *ellipsisButton =
21362150
makeMenuButton_LabelWidget(midEllipsis_Icon, NULL, 0);
21372151
iWidget *menu = findChild_Widget(as_Widget(ellipsisButton), "menu");
@@ -2142,10 +2156,6 @@ iWidget *makeInputPrompt_DocumentWidget(iDocumentWidget *d, const iString *url,
21422156
buttons,
21432157
cstr_String(canonicalUrl_String(url)),
21442158
cstr_String(&d->linePrecedingLink)));
2145-
// iWidget *menu = findChild_Widget(as_Widget(ellipsisButton), "menu");
2146-
// menu->updateMenuItems = updateInputPromptMenuItems_;
2147-
// set_String(&menu->data, url); /* needed when updating items */
2148-
//}
21492159
if (deviceType_App() == desktop_AppDeviceType) {
21502160
addChildPos_Widget(buttons, iClob(ellipsisButton), front_WidgetAddPos);
21512161
}

src/ui/util.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -2588,7 +2588,7 @@ iWidget *makeValueInputWithAdditionalActions_Widget(iWidget *parent, const iStri
25882588
pushBack_Array(&actions, &(iMenuItem){ "---" });
25892589
}
25902590
pushBack_Array(&actions, &(iMenuItem){ "${cancel}", SDLK_ESCAPE, 0, "valueinput.cancel" });
2591-
if (deviceType_App() != desktop_AppDeviceType) {
2591+
if (!isDesktop_Platform()) {
25922592
pushBack_Array(&actions, &(iMenuItem){ "---" });
25932593
}
25942594
pushBack_Array(&actions,

0 commit comments

Comments
 (0)