Browse Source

Minor improvements to close_tab action and Window::on_delete_event

merge-requests/365/head
eidheim 10 years ago
parent
commit
169b36a2b2
  1. 24
      src/window.cc

24
src/window.cc

@ -793,16 +793,17 @@ void Window::set_menu_actions() {
Notebook::get().previous(); Notebook::get().previous();
}); });
menu.add_action("close_tab", [this]() { menu.add_action("close_tab", [this]() {
Notebook::get().close_current(); if(Notebook::get().get_current_view() && Notebook::get().close_current()) {
if(auto view=Notebook::get().get_current_view()) { if(auto view=Notebook::get().get_current_view()) {
view->set_status(view->status); view->set_status(view->status);
view->set_info(view->info); view->set_info(view->info);
} }
else { else {
Notebook::get().status.set_text(""); Notebook::get().status.set_text("");
Notebook::get().info.set_text(""); Notebook::get().info.set_text("");
activate_menu_items(false); activate_menu_items(false);
}
} }
}); });
menu.add_action("window_toggle_split", [this] { menu.add_action("window_toggle_split", [this] {
@ -871,9 +872,8 @@ bool Window::on_key_press_event(GdkEventKey *event) {
bool Window::on_delete_event(GdkEventAny *event) { bool Window::on_delete_event(GdkEventAny *event) {
Notebook::get().save_session(); Notebook::get().save_session();
auto size=Notebook::get().size(); for(size_t c=Notebook::get().size();c!=static_cast<size_t>(-1);--c) {
for(size_t c=0;c<size;c++) { if(!Notebook::get().close(c))
if(!Notebook::get().close_current())
return true; return true;
} }
Terminal::get().kill_async_processes(); Terminal::get().kill_async_processes();

Loading…
Cancel
Save