Browse Source

Now scrolls to the right when writing out of view, and improved selection dialog placement

merge-requests/365/head
eidheim 10 years ago
parent
commit
b0bf9597ab
  1. 10
      src/source.cc
  2. 3
      src/tooltips.cc

10
src/source.cc

@ -819,16 +819,17 @@ void Source::View::paste() {
Gtk::TextIter Source::View::get_iter_for_dialog() { Gtk::TextIter Source::View::get_iter_for_dialog() {
auto iter=get_buffer()->get_insert()->get_iter(); 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; Gdk::Rectangle visible_rect;
get_visible_rect(visible_rect); get_visible_rect(visible_rect);
Gdk::Rectangle iter_rect; Gdk::Rectangle iter_rect;
get_iter_location(iter, iter_rect); get_iter_location(iter, iter_rect);
iter_rect.set_width(1); iter_rect.set_width(1);
if(!visible_rect.intersects(iter_rect)) { if(iter.get_line_offset()>=80) {
get_iter_at_location(iter, 0, visible_rect.get_y()+visible_rect.get_height()/3); 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; 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_buffer()->insert_at_cursor(Glib::ustring(1, unicode));
get_source_buffer()->end_user_action(); get_source_buffer()->end_user_action();
scroll_to(get_buffer()->get_insert());
//Trick to make the cursor visible right after insertion: //Trick to make the cursor visible right after insertion:
set_cursor_visible(false); set_cursor_visible(false);

3
src/tooltips.cc

@ -1,8 +1,5 @@
#include "tooltips.h" #include "tooltips.h"
#include <iostream> //TODO: remove
using namespace std; //TODO: remove
namespace sigc { namespace sigc {
#ifndef SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE #ifndef SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE
template <typename Functor> template <typename Functor>

Loading…
Cancel
Save