From a2fd6166bff576ff6000ae99c5e240d431946cb6 Mon Sep 17 00:00:00 2001 From: eidheim Date: Tue, 29 Sep 2015 10:34:34 +0200 Subject: [PATCH] Goto method selection window will now show even if cursor is not in view. --- src/source.cc | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/source.cc b/src/source.cc index 2ad8385..76e4a41 100644 --- a/src/source.cc +++ b/src/source.cc @@ -2158,7 +2158,16 @@ Source::ClangViewAutocomplete(file_path, project_path, language) { goto_method=[this](){ if(source_readable) { - selection_dialog=std::unique_ptr(new SelectionDialog(*this, get_buffer()->create_mark(get_buffer()->get_insert()->get_iter()))); + auto iter=get_buffer()->get_insert()->get_iter(); + Gdk::Rectangle visible_rect; + get_visible_rect(visible_rect); + Gdk::Rectangle iter_rect; + get_iter_location(iter, iter_rect); + iter_rect.set_width(1); + if(!visible_rect.intersects(iter_rect)) { + get_iter_at_location(iter, 0, visible_rect.get_y()+visible_rect.get_height()/3); + } + selection_dialog=std::unique_ptr(new SelectionDialog(*this, get_buffer()->create_mark(iter))); auto rows=std::make_shared >(); auto methods=clang_tokens->get_cxx_methods(); if(methods.size()==0)