From b27a4eb1452fb76df9ad6927efadaf3305d2d8d3 Mon Sep 17 00:00:00 2001 From: eidheim Date: Mon, 27 Jun 2016 14:31:07 +0200 Subject: [PATCH] Removed unnecessary widgets from headers --- src/notebook.cc | 20 ++++++++++------- src/notebook.h | 2 -- src/window.cc | 58 +++++++++++++++++++++++++++++-------------------- src/window.h | 8 ------- 4 files changed, 46 insertions(+), 42 deletions(-) diff --git a/src/notebook.cc b/src/notebook.cc index f28d1f5..7ce9208 100644 --- a/src/notebook.cc +++ b/src/notebook.cc @@ -27,18 +27,22 @@ namespace sigc { Notebook::TabLabel::TabLabel(const boost::filesystem::path &path, std::function on_close) { set_can_focus(false); set_tooltip_text(path.string()); - hbox.set_can_focus(false); + + auto button=Gtk::manage(new Gtk::Button()); + auto hbox=Gtk::manage(new Gtk::HBox()); + + hbox->set_can_focus(false); label.set_text(path.filename().string()+' '); label.set_can_focus(false); - button.set_image_from_icon_name("window-close-symbolic", Gtk::ICON_SIZE_MENU); - button.set_can_focus(false); - button.set_relief(Gtk::ReliefStyle::RELIEF_NONE); + button->set_image_from_icon_name("window-close-symbolic", Gtk::ICON_SIZE_MENU); + button->set_can_focus(false); + button->set_relief(Gtk::ReliefStyle::RELIEF_NONE); - hbox.pack_start(label, Gtk::PACK_SHRINK); - hbox.pack_end(button, Gtk::PACK_SHRINK); - add(hbox); + hbox->pack_start(label, Gtk::PACK_SHRINK); + hbox->pack_end(*button, Gtk::PACK_SHRINK); + add(*hbox); - button.signal_clicked().connect(on_close); + button->signal_clicked().connect(on_close); signal_button_press_event().connect([on_close](GdkEventButton *event) { if(event->button==GDK_BUTTON_MIDDLE) { on_close(); diff --git a/src/notebook.h b/src/notebook.h index 87676d5..e35f98e 100644 --- a/src/notebook.h +++ b/src/notebook.h @@ -11,8 +11,6 @@ class Notebook : public Gtk::HPaned { class TabLabel : public Gtk::EventBox { - Gtk::HBox hbox; - Gtk::Button button; public: TabLabel(const boost::filesystem::path &path, std::function on_close); Gtk::Label label; diff --git a/src/window.cc b/src/window.cc index 66237e5..b2aeffb 100644 --- a/src/window.cc +++ b/src/window.cc @@ -3,7 +3,6 @@ #include "menu.h" #include "notebook.h" #include "directories.h" -//#include "api.h" #include "dialogs.h" #include "filesystem.h" #include "project.h" @@ -34,43 +33,54 @@ Window::Window() { set_default_size(Config::get().window.default_size.first, Config::get().window.default_size.second); - directories_scrolled_window.add(Directories::get()); - directory_and_notebook_panes.pack1(directories_scrolled_window, Gtk::SHRINK); + auto directories_scrolled_window=Gtk::manage(new Gtk::ScrolledWindow()); + directories_scrolled_window->add(Directories::get()); + notebook_vbox.pack_start(Notebook::get()); notebook_vbox.pack_end(EntryBox::get(), Gtk::PACK_SHRINK); + + directory_and_notebook_panes.pack1(*directories_scrolled_window, Gtk::SHRINK); directory_and_notebook_panes.pack2(notebook_vbox, Gtk::SHRINK); directory_and_notebook_panes.set_position(static_cast(0.2*Config::get().window.default_size.first)); - vpaned.set_position(static_cast(0.75*Config::get().window.default_size.second)); - vpaned.pack1(directory_and_notebook_panes, true, false); - terminal_scrolled_window.add(Terminal::get()); - terminal_vbox.pack_start(terminal_scrolled_window); - - info_and_status_hbox.pack_start(Notebook::get().info, Gtk::PACK_SHRINK); + auto info_and_status_hbox=Gtk::manage(new Gtk::HBox()); + info_and_status_hbox->pack_start(Notebook::get().info, Gtk::PACK_SHRINK); #if GTK_VERSION_GE(3, 12) - info_and_status_hbox.set_center_widget(Project::debug_status_label()); + info_and_status_hbox->set_center_widget(Project::debug_status_label()); #else Project::debug_status_label().set_halign(Gtk::Align::ALIGN_CENTER); - info_and_status_hbox.pack_start(Project::debug_status_label()); + info_and_status_hbox->pack_start(Project::debug_status_label()); #endif - info_and_status_hbox.pack_end(Notebook::get().status, Gtk::PACK_SHRINK); - terminal_vbox.pack_end(info_and_status_hbox, Gtk::PACK_SHRINK); - vpaned.pack2(terminal_vbox, true, true); + info_and_status_hbox->pack_end(Notebook::get().status, Gtk::PACK_SHRINK); + + terminal_scrolled_window.add(Terminal::get()); + + auto terminal_vbox=Gtk::manage(new Gtk::VBox()); + terminal_vbox->pack_start(terminal_scrolled_window); + terminal_vbox->pack_end(*info_and_status_hbox, Gtk::PACK_SHRINK); + + vpaned.set_position(static_cast(0.75*Config::get().window.default_size.second)); + vpaned.pack1(directory_and_notebook_panes, true, false); + vpaned.pack2(*terminal_vbox, true, true); #if GTKMM_MAJOR_VERSION>3 || (GTKMM_MAJOR_VERSION==3 && GTKMM_MINOR_VERSION>=14) - overlay_vbox.set_hexpand(false); - overlay_vbox.set_halign(Gtk::Align::ALIGN_START); - overlay_hbox.set_hexpand(false); - overlay_hbox.set_halign(Gtk::Align::ALIGN_END); - overlay_vbox.pack_start(Info::get(), Gtk::PACK_SHRINK, 20); - overlay_hbox.pack_end(overlay_vbox, Gtk::PACK_SHRINK, 20); - overlay.add(vpaned); - overlay.add_overlay(overlay_hbox); + auto overlay_vbox=Gtk::manage(new Gtk::VBox()); + auto overlay_hbox=Gtk::manage(new Gtk::HBox()); + overlay_vbox->set_hexpand(false); + overlay_vbox->set_halign(Gtk::Align::ALIGN_START); + overlay_vbox->pack_start(Info::get(), Gtk::PACK_SHRINK, 20); + overlay_hbox->set_hexpand(false); + overlay_hbox->set_halign(Gtk::Align::ALIGN_END); + overlay_hbox->pack_end(*overlay_vbox, Gtk::PACK_SHRINK, 20); + + auto overlay=Gtk::manage(new Gtk::Overlay()); + overlay->add(vpaned); + overlay->add_overlay(*overlay_hbox); #if GTKMM_MAJOR_VERSION>3 || (GTKMM_MAJOR_VERSION==3 && GTKMM_MINOR_VERSION>=18) - overlay.set_overlay_pass_through(overlay_hbox, true); + overlay->set_overlay_pass_through(*overlay_hbox, true); #endif - add(overlay); + add(*overlay); #else add(vpaned); #endif diff --git a/src/window.h b/src/window.h index dbabba4..2ec091b 100644 --- a/src/window.h +++ b/src/window.h @@ -20,15 +20,7 @@ private: Gtk::VPaned vpaned; Gtk::Paned directory_and_notebook_panes; Gtk::VBox notebook_vbox; - Gtk::VBox terminal_vbox; - Gtk::ScrolledWindow directories_scrolled_window; Gtk::ScrolledWindow terminal_scrolled_window; - Gtk::HBox info_and_status_hbox; - Gtk::VBox overlay_vbox; - Gtk::HBox overlay_hbox; -#if GTKMM_MAJOR_VERSION>3 || (GTKMM_MAJOR_VERSION==3 && GTKMM_MINOR_VERSION>=14) - Gtk::Overlay overlay; -#endif Gtk::AboutDialog about; Glib::RefPtr css_provider;