Kaydet (Commit) 6e90725f authored tarafından Nick Treleaven's avatar Nick Treleaven

Make 'Duplicate lines' work for whole lines when more than one line

has a selection.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1892 ea778897-0a13-0410-b9d1-a72fbfd435f5
üst f38fbd54
......@@ -3,6 +3,9 @@
* src/editor.c:
Make 'Delete lines' not include an extra line when whole lines are
selected.
* src/keybindings.c, src/callbacks.c:
Make 'Duplicate lines' work for whole lines when more than one line
has a selection.
2007-09-18 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
......
......@@ -1735,12 +1735,7 @@ void
on_menu_duplicate_line1_activate (GtkMenuItem *menuitem,
gpointer user_data)
{
gint idx = document_get_cur_idx();
if (idx == -1 || ! doc_list[idx].is_valid) return;
if (sci_can_copy(doc_list[idx].sci))
sci_selection_duplicate(doc_list[idx].sci);
else
sci_line_duplicate(doc_list[idx].sci);
keybindings_cmd(GEANY_KEYS_EDIT_DUPLICATELINE);
}
......
......@@ -1119,6 +1119,20 @@ static void cb_func_edit_global(guint key_id)
}
static void duplicate_line(ScintillaObject *sci)
{
if (sci_get_lines_selected(sci) > 1)
{
editor_select_lines(sci);
sci_selection_duplicate(sci);
}
else if (sci_can_copy(sci))
sci_selection_duplicate(sci);
else
sci_line_duplicate(sci);
}
// common function for editing keybindings, only valid when scintilla has focus.
static void cb_func_edit(guint key_id)
{
......@@ -1140,7 +1154,7 @@ static void cb_func_edit(guint key_id)
sci_cmd(doc_list[idx].sci, SCI_LINESCROLLDOWN);
break;
case GEANY_KEYS_EDIT_DUPLICATELINE:
on_menu_duplicate_line1_activate(NULL, NULL);
duplicate_line(doc_list[idx].sci);
break;
case GEANY_KEYS_EDIT_DELETELINE:
// SCI_LINEDELETE only does 1 line
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment