Browse Source

Minor fix to shift-tab indentation.

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

22
src/source.cc

@ -1025,21 +1025,19 @@ 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);
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(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) {
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;
else {
get_source_buffer()->end_user_action();
return true;
}
}
}
}

Loading…
Cancel
Save