From 4525a596e56520ff3fccaaf4dda5258c1f534090 Mon Sep 17 00:00:00 2001 From: eidheim Date: Fri, 20 Aug 2021 09:21:52 +0200 Subject: [PATCH] Added Toggle Status to Window menu --- CMakeLists.txt | 2 +- src/config.cpp | 1 + src/menu.cpp | 4 ++++ src/window.cpp | 16 ++++++++++------ src/window.hpp | 1 + 5 files changed, 17 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3bd1e41..db21275 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.1) project(juci) -set(JUCI_VERSION "1.7.0") +set(JUCI_VERSION "1.7.0.1") set(CPACK_PACKAGE_NAME "jucipp") set(CPACK_PACKAGE_CONTACT "Ole Christian Eidheim ") diff --git a/src/config.cpp b/src/config.cpp index a6097fc..2a60103 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -441,6 +441,7 @@ std::string Config::default_config() { R"RAW( "window_toggle_directories": "", "window_toggle_terminal": "", + "window_toggle_status": "", "window_toggle_menu": "", "window_toggle_tabs": "", "window_toggle_zen_mode": "", diff --git a/src/menu.cpp b/src/menu.cpp index ad65ca8..ea77729 100644 --- a/src/menu.cpp +++ b/src/menu.cpp @@ -543,6 +543,10 @@ const Glib::ustring menu_xml = R"RAW( _Toggle _Terminal app.window_toggle_terminal + + _Toggle _Status + app.window_toggle_status + _Toggle _Menu app.window_toggle_menu diff --git a/src/window.cpp b/src/window.cpp index 82abcb7..ffd4498 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -1760,6 +1760,9 @@ void Window::set_menu_actions() { menu.add_action("window_toggle_terminal", [this] { 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] { set_show_menubar(!get_show_menubar()); }); @@ -1778,10 +1781,12 @@ void Window::set_menu_actions() { if(not_zen_mode) { directories_scrolled_window.hide(); terminal_scrolled_window.hide(); + status_overlay.hide(); } else { directories_scrolled_window.show(); terminal_scrolled_window.show(); + status_overlay.show(); } set_show_menubar(!not_zen_mode); }); @@ -1857,19 +1862,18 @@ void Window::add_widgets() { status_right_overlay->add_overlay(Notebook::get().status_diagnostics); 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->add(*status_hbox); + status_overlay.get_style_context()->add_class("juci_status_overlay"); + status_overlay.add(*status_hbox); 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_branch, 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(Project::debug_status_label()); + status_overlay.add_overlay(*status_file_info_hbox); + status_overlay.add_overlay(Project::debug_status_label()); auto vbox = Gtk::manage(new Gtk::Box(Gtk::Orientation::ORIENTATION_VERTICAL)); 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_hbox = Gtk::manage(new Gtk::Box()); diff --git a/src/window.hpp b/src/window.hpp index 7b9455f..88de5b0 100644 --- a/src/window.hpp +++ b/src/window.hpp @@ -23,6 +23,7 @@ protected: private: Gtk::AboutDialog about; Gtk::ScrolledWindow directories_scrolled_window, terminal_scrolled_window; + Gtk::Overlay status_overlay; void configure(); void set_menu_actions();