From b0bf9597abf1356449e6f61ffe243a2c7ce3cc1c Mon Sep 17 00:00:00 2001 From: eidheim Date: Fri, 20 May 2016 18:52:28 +0200 Subject: [PATCH] Now scrolls to the right when writing out of view, and improved selection dialog placement --- src/source.cc | 10 ++++++---- src/tooltips.cc | 3 --- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/source.cc b/src/source.cc index 206405f..ff07519 100644 --- a/src/source.cc +++ b/src/source.cc @@ -819,16 +819,17 @@ void Source::View::paste() { Gtk::TextIter Source::View::get_iter_for_dialog() { auto iter=get_buffer()->get_insert()->get_iter(); - if(iter.get_line_offset()>=80) - iter=get_buffer()->get_iter_at_line(iter.get_line()); 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); + if(iter.get_line_offset()>=80) { + get_iter_at_location(iter, visible_rect.get_x(), iter_rect.get_y()); + get_iter_location(iter, iter_rect); } + if(!visible_rect.intersects(iter_rect)) + get_iter_at_location(iter, visible_rect.get_x(), visible_rect.get_y()+visible_rect.get_height()/3); return iter; } @@ -1382,6 +1383,7 @@ bool Source::View::on_key_press_event_basic(GdkEventKey* key) { } get_buffer()->insert_at_cursor(Glib::ustring(1, unicode)); get_source_buffer()->end_user_action(); + scroll_to(get_buffer()->get_insert()); //Trick to make the cursor visible right after insertion: set_cursor_visible(false); diff --git a/src/tooltips.cc b/src/tooltips.cc index b1068e6..58022e9 100644 --- a/src/tooltips.cc +++ b/src/tooltips.cc @@ -1,8 +1,5 @@ #include "tooltips.h" -#include //TODO: remove -using namespace std; //TODO: remove - namespace sigc { #ifndef SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE template