Browse Source

Minor fix to shift-tab indentation.

merge-requests/365/head
eidheim 10 years ago
parent
commit
a69e7a8dd0
  1. 12
      src/source.cc

12
src/source.cc

@ -1025,24 +1025,22 @@ bool Source::View::on_key_press_event(GdkEventKey* key) {
auto line_it = get_source_buffer()->get_iter_at_line(line_nr);
if(!get_buffer()->get_has_selection() || line_it!=selection_end) {
auto tabs_end_iter=get_tabs_end_iter(line_nr);
if(tabs_end_iter.starts_line() && tabs_end_iter.ends_line())
ignore_line.push_back(true);
else {
auto line_tabs=get_line_before(tabs_end_iter);
if(line_tabs.size()>0 || tabs_end_iter.ends_line()) {
if(!tabs_end_iter.ends_line()) {
if(line_tabs.size()>0) {
indent_left_steps=std::min(indent_left_steps, static_cast<unsigned>(line_tabs.size()));
ignore_line.push_back(false);
}
else if(static_cast<unsigned>(line_tabs.size())<indent_left_steps)
ignore_line.push_back(true);
else
ignore_line.push_back(false);
}
else {
get_source_buffer()->end_user_action();
return true;
}
}
}
}
for(int line_nr=line_start;line_nr<=line_end;line_nr++) {
Gtk::TextIter line_it = get_source_buffer()->get_iter_at_line(line_nr);

Loading…
Cancel
Save