diff options
| author | Tavmjong Bah <tavmjong@free.fr> | 2019-01-22 11:31:25 +0000 |
|---|---|---|
| committer | Tavmjong Bah <tavmjong@free.fr> | 2019-01-22 11:31:25 +0000 |
| commit | fb2bebf4919a011f0fd7cec085443d0031228e76 (patch) | |
| tree | ab58c4ca7f94b0bc9b99c7bbcaca21532b401a61 /src | |
| parent | Tidy up toolbox utilities (diff) | |
| download | inkscape-fb2bebf4919a011f0fd7cec085443d0031228e76.tar.gz inkscape-fb2bebf4919a011f0fd7cec085443d0031228e76.zip | |
Move main menu bar from desktop-widget to inkscape-window.
Diffstat (limited to 'src')
| -rw-r--r-- | src/inkscape-window.cpp | 14 | ||||
| -rw-r--r-- | src/inkscape-window.h | 3 | ||||
| -rw-r--r-- | src/widgets/desktop-widget.cpp | 41 | ||||
| -rw-r--r-- | src/widgets/desktop-widget.h | 14 |
4 files changed, 14 insertions, 58 deletions
diff --git a/src/inkscape-window.cpp b/src/inkscape-window.cpp index 0c38b33ec..70192b711 100644 --- a/src/inkscape-window.cpp +++ b/src/inkscape-window.cpp @@ -23,6 +23,7 @@ #include "object/sp-namedview.h" // TODO Remove need for this! #include "ui/drag-and-drop.h" // Move to canvas? +#include "ui/interface.h" // main menu #include "ui/monitor.h" // get_monitor_geometry_at_point() #include "ui/drag-and-drop.h" @@ -53,24 +54,29 @@ InkscapeWindow::InkscapeWindow(SPDocument* document) // =============== Build interface =============== // Main box - _mainbox = Gtk::manage(new Gtk::Box); + _mainbox = Gtk::manage(new Gtk::Box(Gtk::ORIENTATION_VERTICAL)); _mainbox->set_name("DesktopMainBox"); _mainbox->show(); add(*_mainbox); - // Menu bar - // Desktop widget (=> MultiPaned) _desktop_widget = sp_desktop_widget_new(_document); _desktop_widget->window = this; - gtk_container_add(GTK_CONTAINER(_mainbox->gobj()), GTK_WIDGET(_desktop_widget)); gtk_widget_show(GTK_WIDGET(_desktop_widget)); _desktop = _desktop_widget->desktop; + // Menu bar (must come after desktop widget creation as we need _desktop) + _menubar = Glib::wrap(GTK_MENU_BAR(sp_ui_main_menubar(_desktop))); + _menubar->set_name("MenuBar"); + _menubar->show_all(); + // Pallet // Status bar + _mainbox->pack_start(*_menubar, false, false); + gtk_box_pack_start(GTK_BOX(_mainbox->gobj()), GTK_WIDGET(_desktop_widget), true, true, 0); // Can't use Glib::wrap() + // ================== Callbacks ================== signal_key_press_event().connect( sigc::mem_fun(*this, &InkscapeWindow::key_press)); signal_delete_event().connect( sigc::mem_fun(*_desktop, &SPDesktop::onDeleteUI)); diff --git a/src/inkscape-window.h b/src/inkscape-window.h index 8aa19d508..9fee2d991 100644 --- a/src/inkscape-window.h +++ b/src/inkscape-window.h @@ -45,7 +45,8 @@ private: SPDesktop* _desktop; SPDesktopWidget* _desktop_widget; - Gtk::Box* _mainbox; // Remove after we don't need set_desktop_widget() + Gtk::Box* _mainbox; + Gtk::MenuBar* _menubar; // Callbacks bool key_press(GdkEventKey* event); diff --git a/src/widgets/desktop-widget.cpp b/src/widgets/desktop-widget.cpp index 351b437d6..d74b60be3 100644 --- a/src/widgets/desktop-widget.cpp +++ b/src/widgets/desktop-widget.cpp @@ -25,21 +25,6 @@ # include "config.h" // only include where actually required! #endif -#include <gtkmm/cssprovider.h> -#include <gtkmm/menubar.h> -#include <gtkmm/messagedialog.h> -#include <gtkmm/paned.h> -#include <gtkmm/scrollbar.h> -#include <gtkmm/separator.h> -#include <gtkmm/separatormenuitem.h> - -#include <gdkmm/types.h> -#if GTK_CHECK_VERSION(3,20,0) -#include <gdkmm/seat.h> -#else -#include <gdkmm/devicemanager.h> -#endif - #include <2geom/rect.h> #include "attributes.h" @@ -1445,12 +1430,6 @@ void SPDesktopWidget::layoutWidgets() pref_root = "/window/"; } - if (!prefs->getBool(pref_root + "menu/state", true)) { - dtw->_menubar->hide(); - } else { - dtw->_menubar->show_all(); - } - if (!prefs->getBool(pref_root + "commands/state", true)) { gtk_widget_hide (dtw->commands_toolbox); } else { @@ -1657,11 +1636,6 @@ SPDesktopWidget* SPDesktopWidget::createInstance(SPDocument *document) dtw->layer_selector->setDesktop(dtw->desktop); - dtw->_menubar = Glib::wrap(GTK_MENU_BAR(sp_ui_main_menubar (dtw->desktop))); - dtw->_menubar->set_name("MenuBar"); - dtw->_menubar->show_all(); - - dtw->_vbox->pack_start(*dtw->_menubar, false, false); dtw->layoutWidgets(); std::vector<GtkWidget *> toolboxes; @@ -2090,21 +2064,6 @@ SPDesktopWidget::toggle_color_prof_adj() } } -/* Unused -void -sp_spw_toggle_menubar (SPDesktopWidget *dtw, bool is_fullscreen) -{ - Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - if (dtw->_menubar->get_visible()) { - dtw->_menubar->hide(); - prefs->setBool(is_fullscreen ? "/fullscreen/menu/state" : "/window/menu/state", false); - } else { - dtw->_menubar->show_all(); - prefs->setBool(is_fullscreen ? "/fullscreen/menu/state" : "/window/menu/state", true); - } -} -*/ - static void set_adjustment (Glib::RefPtr<Gtk::Adjustment> &adj, double l, double u, double ps, double si, double pi) { diff --git a/src/widgets/desktop-widget.h b/src/widgets/desktop-widget.h index e6702ce41..5d1be6398 100644 --- a/src/widgets/desktop-widget.h +++ b/src/widgets/desktop-widget.h @@ -15,7 +15,8 @@ * Released under GNU GPL v2+, read the file 'COPYING' for more information. */ -#include <gtkmm/window.h> +#include <gtkmm.h> + #include "message.h" #include "ui/view/view-widget.h" #include "ui/view/edit-widget-interface.h" @@ -33,16 +34,6 @@ class SPDesktop; struct SPDesktopWidget; class SPObject; -namespace Gtk { - class Box; - class EventBox; - class Grid; - class MenuBar; - class Scrollbar; - class SpinButton; - class ToggleButton; -} - namespace Inkscape { namespace UI { namespace Dialog { @@ -107,7 +98,6 @@ private: Gtk::Box *_hbox; - Gtk::MenuBar *_menubar; Gtk::Box *_statusbar; Inkscape::UI::Dialog::SwatchesPanel *_panels; |
