summaryrefslogtreecommitdiffstats
path: root/src
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
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')
-rw-r--r--src/inkscape-window.cpp14
-rw-r--r--src/inkscape-window.h3
-rw-r--r--src/widgets/desktop-widget.cpp41
-rw-r--r--src/widgets/desktop-widget.h14
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;