summaryrefslogtreecommitdiffstats
path: root/src/inkscape-window.cpp
diff options
context:
space:
mode:
authorTavmjong Bah <tavmjong@free.fr>2019-01-22 11:31:25 +0000
committerTavmjong Bah <tavmjong@free.fr>2019-01-22 11:31:25 +0000
commitfb2bebf4919a011f0fd7cec085443d0031228e76 (patch)
treeab58c4ca7f94b0bc9b99c7bbcaca21532b401a61 /src/inkscape-window.cpp
parentTidy up toolbox utilities (diff)
downloadinkscape-fb2bebf4919a011f0fd7cec085443d0031228e76.tar.gz
inkscape-fb2bebf4919a011f0fd7cec085443d0031228e76.zip
Move main menu bar from desktop-widget to inkscape-window.
Diffstat (limited to 'src/inkscape-window.cpp')
-rw-r--r--src/inkscape-window.cpp14
1 files changed, 10 insertions, 4 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));