Browse Source

Added Toggle Status to Window menu

pipelines/357160723
eidheim 4 years ago
parent
commit
4525a596e5
  1. 2
      CMakeLists.txt
  2. 1
      src/config.cpp
  3. 4
      src/menu.cpp
  4. 16
      src/window.cpp
  5. 1
      src/window.hpp

2
CMakeLists.txt

@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.1) cmake_minimum_required(VERSION 3.1)
project(juci) project(juci)
set(JUCI_VERSION "1.7.0") set(JUCI_VERSION "1.7.0.1")
set(CPACK_PACKAGE_NAME "jucipp") set(CPACK_PACKAGE_NAME "jucipp")
set(CPACK_PACKAGE_CONTACT "Ole Christian Eidheim <eidheim@gmail.com>") set(CPACK_PACKAGE_CONTACT "Ole Christian Eidheim <eidheim@gmail.com>")

1
src/config.cpp

@ -441,6 +441,7 @@ std::string Config::default_config() {
R"RAW( R"RAW(
"window_toggle_directories": "", "window_toggle_directories": "",
"window_toggle_terminal": "", "window_toggle_terminal": "",
"window_toggle_status": "",
"window_toggle_menu": "", "window_toggle_menu": "",
"window_toggle_tabs": "", "window_toggle_tabs": "",
"window_toggle_zen_mode": "", "window_toggle_zen_mode": "",

4
src/menu.cpp

@ -543,6 +543,10 @@ const Glib::ustring menu_xml = R"RAW(<interface>
<attribute name='label' translatable='yes'>_Toggle _Terminal</attribute> <attribute name='label' translatable='yes'>_Toggle _Terminal</attribute>
<attribute name='action'>app.window_toggle_terminal</attribute> <attribute name='action'>app.window_toggle_terminal</attribute>
</item> </item>
<item>
<attribute name='label' translatable='yes'>_Toggle _Status</attribute>
<attribute name='action'>app.window_toggle_status</attribute>
</item>
<item> <item>
<attribute name='label' translatable='yes'>_Toggle _Menu</attribute> <attribute name='label' translatable='yes'>_Toggle _Menu</attribute>
<attribute name='action'>app.window_toggle_menu</attribute> <attribute name='action'>app.window_toggle_menu</attribute>

16
src/window.cpp

@ -1760,6 +1760,9 @@ void Window::set_menu_actions() {
menu.add_action("window_toggle_terminal", [this] { menu.add_action("window_toggle_terminal", [this] {
terminal_scrolled_window.set_visible(!terminal_scrolled_window.get_visible()); terminal_scrolled_window.set_visible(!terminal_scrolled_window.get_visible());
}); });
menu.add_action("window_toggle_status", [this] {
status_overlay.set_visible(!status_overlay.get_visible());
});
menu.add_action("window_toggle_menu", [this] { menu.add_action("window_toggle_menu", [this] {
set_show_menubar(!get_show_menubar()); set_show_menubar(!get_show_menubar());
}); });
@ -1778,10 +1781,12 @@ void Window::set_menu_actions() {
if(not_zen_mode) { if(not_zen_mode) {
directories_scrolled_window.hide(); directories_scrolled_window.hide();
terminal_scrolled_window.hide(); terminal_scrolled_window.hide();
status_overlay.hide();
} }
else { else {
directories_scrolled_window.show(); directories_scrolled_window.show();
terminal_scrolled_window.show(); terminal_scrolled_window.show();
status_overlay.show();
} }
set_show_menubar(!not_zen_mode); set_show_menubar(!not_zen_mode);
}); });
@ -1857,19 +1862,18 @@ void Window::add_widgets() {
status_right_overlay->add_overlay(Notebook::get().status_diagnostics); status_right_overlay->add_overlay(Notebook::get().status_diagnostics);
status_hbox->pack_end(*status_right_overlay); status_hbox->pack_end(*status_right_overlay);
auto status_overlay = Gtk::manage(new Gtk::Overlay()); status_overlay.get_style_context()->add_class("juci_status_overlay");
status_overlay->get_style_context()->add_class("juci_status_overlay"); status_overlay.add(*status_hbox);
status_overlay->add(*status_hbox);
auto status_file_info_hbox = Gtk::manage(new Gtk::Box); auto status_file_info_hbox = Gtk::manage(new Gtk::Box);
status_file_info_hbox->pack_start(Notebook::get().status_file_path, Gtk::PACK_SHRINK); status_file_info_hbox->pack_start(Notebook::get().status_file_path, Gtk::PACK_SHRINK);
status_file_info_hbox->pack_start(Notebook::get().status_branch, Gtk::PACK_SHRINK); status_file_info_hbox->pack_start(Notebook::get().status_branch, Gtk::PACK_SHRINK);
status_file_info_hbox->pack_start(Notebook::get().status_location, Gtk::PACK_SHRINK); status_file_info_hbox->pack_start(Notebook::get().status_location, Gtk::PACK_SHRINK);
status_overlay->add_overlay(*status_file_info_hbox); status_overlay.add_overlay(*status_file_info_hbox);
status_overlay->add_overlay(Project::debug_status_label()); status_overlay.add_overlay(Project::debug_status_label());
auto vbox = Gtk::manage(new Gtk::Box(Gtk::Orientation::ORIENTATION_VERTICAL)); auto vbox = Gtk::manage(new Gtk::Box(Gtk::Orientation::ORIENTATION_VERTICAL));
vbox->pack_start(*hpaned); vbox->pack_start(*hpaned);
vbox->pack_start(*status_overlay, Gtk::PACK_SHRINK); vbox->pack_start(status_overlay, Gtk::PACK_SHRINK);
auto overlay_vbox = Gtk::manage(new Gtk::Box(Gtk::Orientation::ORIENTATION_VERTICAL)); auto overlay_vbox = Gtk::manage(new Gtk::Box(Gtk::Orientation::ORIENTATION_VERTICAL));
auto overlay_hbox = Gtk::manage(new Gtk::Box()); auto overlay_hbox = Gtk::manage(new Gtk::Box());

1
src/window.hpp

@ -23,6 +23,7 @@ protected:
private: private:
Gtk::AboutDialog about; Gtk::AboutDialog about;
Gtk::ScrolledWindow directories_scrolled_window, terminal_scrolled_window; Gtk::ScrolledWindow directories_scrolled_window, terminal_scrolled_window;
Gtk::Overlay status_overlay;
void configure(); void configure();
void set_menu_actions(); void set_menu_actions();

Loading…
Cancel
Save