diff --git a/out/locale/en/LC_MESSAGES/default.po b/out/locale/en/LC_MESSAGES/default.po index 15620edb..4181a6d8 100644 --- a/out/locale/en/LC_MESSAGES/default.po +++ b/out/locale/en/LC_MESSAGES/default.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: HeidiSQL\n" "POT-Creation-Date: 2012-11-05 21:40\n" -"PO-Revision-Date: 2023-10-27 13:06+0200\n" +"PO-Revision-Date: 2023-11-03 11:39+0100\n" "Last-Translator: Ansgar Becker \n" "Language-Team: English (http://www.transifex.com/projects/p/heidisql/language/en/)\n" "Language: en\n" @@ -6489,6 +6489,10 @@ msgstr "Keyboard shortcut [%s] is already assigned to \"%s\"." msgid "Remove it there and assign to \"%s\" instead?" msgstr "Remove it there and assign to \"%s\" instead?" +#. Keyboard shortcut settings +msgid "Press ignore to keep both and ignore all conflicts." +msgstr "Press ignore to keep both and ignore all conflicts." + msgid "Really auto-detect file encoding?" msgstr "Really auto-detect file encoding?" diff --git a/source/preferences.pas b/source/preferences.pas index 03324d7b..e9070bda 100644 --- a/source/preferences.pas +++ b/source/preferences.pas @@ -1314,28 +1314,35 @@ begin if RequestShortcut = 0 then Exit; MsgFormat := _('Keyboard shortcut [%s] is already assigned to "%s".') + sLineBreak + sLineBreak + - _('Remove it there and assign to "%s" instead?'); + _('Remove it there and assign to "%s" instead?') + sLineBreak + sLineBreak + + _('Press ignore to keep both and ignore all conflicts.'); Tree := TreeShortcutItems; NodeWantsIt := Tree.FocusedNode; Node := GetNextNode(Tree, nil, False); while Assigned(Node) do begin if Tree.GetNodeLevel(Node) = 1 then begin Data := Tree.GetNodeData(Node); - Msg := Format(MsgFormat, [ShortCutToText(RequestShortcut), Tree.Text[Node, 0], Tree.Text[NodeWantsIt, 0]]); + Msg := Format(MsgFormat, [ + ShortCutToText(RequestShortcut), + Tree.Text[Node, 0], + Tree.Text[NodeWantsIt, 0] + ]); if Node = NodeWantsIt then begin // Ignore requesting node end else begin if Data.ShortCut1 = RequestShortcut then begin - if MessageDialog(Msg, mtConfirmation, [mbYes, mbNo]) = mrYes then - Data.ShortCut1 := 0 // Unassign shortcut 1 - else - Result := False; + case MessageDialog(Msg, mtConfirmation, [mbYes, mbNo, mbIgnore]) of + mrYes: Data.ShortCut1 := 0; // Unassign shortcut 1 + mrNo: Result := False; + mrIgnore: Break; // Keep Result=True and exit loop, ignore further conflicts + end; end; if Data.ShortCut2 = RequestShortcut then begin - if MessageDialog(Msg, mtConfirmation, [mbYes, mbNo]) = mrYes then - Data.ShortCut2 := 0 // Unassign shortcut 2 - else - Result := False; + case MessageDialog(Msg, mtConfirmation, [mbYes, mbNo, mbIgnore]) of + mrYes: Data.ShortCut2 := 0; // Unassign shortcut 2 + mrNo: Result := False; + mrIgnore: Break; + end; end; end; end;