Branch: refs/heads/master Author: Nick Treleaven nick.treleaven@btinternet.com Committer: Nick Treleaven nick.treleaven@btinternet.com Date: Fri, 23 Nov 2012 15:39:50 UTC Commit: 535b7a6b6e2c0b8e536a7e6d6ce82db92e06c8c1 https://github.com/geany/geany/commit/535b7a6b6e2c0b8e536a7e6d6ce82db92e06c8...
Log Message: ----------- Copy selected text only (when present) for Document->Clone
Modified Paths: -------------- doc/geany.txt src/document.c
Modified: doc/geany.txt 5 files changed, 3 insertions(+), 2 deletions(-) =================================================================== @@ -568,8 +568,9 @@ shortcuts including for Most-Recently-Used document switching. Cloning documents ^^^^^^^^^^^^^^^^^ The `Document->Clone` menu item copies the current document's text, -cursor position and properties into a new untitled document. This -can be useful when making temporary copies of text or for creating +cursor position and properties into a new untitled document. If +there is a selection, only the selected text is copied. This can be +useful when making temporary copies of text or for creating documents with similar or identical contents.
Modified: src/document.c 11 files changed, 7 insertions(+), 4 deletions(-) =================================================================== @@ -2739,17 +2739,20 @@ GeanyDocument *document_index(gint idx) /* create a new file and copy file content and properties */ G_MODULE_EXPORT void on_clone1_activate(GtkMenuItem *menuitem, gpointer user_data) { - gint len; gchar *text; GeanyDocument *doc; GeanyDocument *old_doc = document_get_current(); + ScintillaObject *old_sci;
if (!old_doc) return;
- len = sci_get_length(old_doc->editor->sci) + 1; - text = (gchar*) g_malloc(len); - sci_get_text(old_doc->editor->sci, len, text); + old_sci = old_doc->editor->sci; + if (sci_has_selection(old_sci)) + text = sci_get_selection_contents(old_sci); + else + text = sci_get_contents(old_sci, -1); + doc = document_new_file(NULL, old_doc->file_type, text); g_free(text); document_set_text_changed(doc, TRUE);
-------------- This E-Mail was brought to you by github_commit_mail.py (Source: TBD).