# HG changeset patch # User Torsten # Date 1359656903 -3600 # Node ID 38348a6c3db0f60d498ebf36d57f1b6cc4dbdd66 # Parent 47a4c92924a70ae18d2481dc62b52b41b922b6f3 gui: initialize search text in the find dialog with selected text in editor file * find_dialog.h: new function init_search_text () * find_dialog.cc (init_search_text): new function, initializes the search text of the file dialog with the slected text of the related editor tab * file-editor-tab.cc (find): call init_search_text after activating the find dialog diff -r 47a4c92924a7 -r 38348a6c3db0 libgui/src/m-editor/file-editor-tab.cc --- a/libgui/src/m-editor/file-editor-tab.cc Tue Jan 29 18:24:16 2013 +0100 +++ b/libgui/src/m-editor/file-editor-tab.cc Thu Jan 31 19:28:23 2013 +0100 @@ -624,6 +624,8 @@ } _find_dialog->activateWindow (); + _find_dialog->init_search_text (); + } void diff -r 47a4c92924a7 -r 38348a6c3db0 libgui/src/m-editor/find-dialog.cc --- a/libgui/src/m-editor/find-dialog.cc Tue Jan 29 18:24:16 2013 +0100 +++ b/libgui/src/m-editor/find-dialog.cc Thu Jan 31 19:28:23 2013 +0100 @@ -130,6 +130,21 @@ _extension->hide (); } + +// initialize search text with selected text if this is in one single line +void +find_dialog::init_search_text () +{ + if (_edit_area->hasSelectedText ()) + { + int lbeg, lend, cbeg, cend; + _edit_area->getSelection(&lbeg,&cbeg,&lend,&cend); + if (lbeg == lend) + _search_line_edit->setText (_edit_area->selectedText ()); + } +} + + void find_dialog::search_next () { diff -r 47a4c92924a7 -r 38348a6c3db0 libgui/src/m-editor/find-dialog.h --- a/libgui/src/m-editor/find-dialog.h Tue Jan 29 18:24:16 2013 +0100 +++ b/libgui/src/m-editor/find-dialog.h Thu Jan 31 19:28:23 2013 +0100 @@ -57,6 +57,7 @@ Q_OBJECT public: find_dialog (QsciScintilla* edit_area, QWidget *parent = 0); + void init_search_text (); private slots: void search_next ();