summaryrefslogtreecommitdiffstats
path: root/src/widgets/toolbox.cpp
diff options
context:
space:
mode:
authorMartin Owens <doctormo@gmail.com>2017-06-15 01:20:41 +0000
committerMartin Owens <doctormo@gmail.com>2017-06-16 20:40:33 +0000
commit23e929240ea0e2d5ec5c84c1ba37ce4b99ed34c8 (patch)
treef729feabb2ade066c82d39aface5266854a3c5f0 /src/widgets/toolbox.cpp
parentMake tests buildable on windows and account for newer gtest 1.8.0 (which alre... (diff)
downloadinkscape-23e929240ea0e2d5ec5c84c1ba37ce4b99ed34c8.tar.gz
inkscape-23e929240ea0e2d5ec5c84c1ba37ce4b99ed34c8.zip
Use user interface files for the user interface
Diffstat (limited to 'src/widgets/toolbox.cpp')
-rw-r--r--src/widgets/toolbox.cpp20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/widgets/toolbox.cpp b/src/widgets/toolbox.cpp
index 016eafdaa..3f595dd35 100644
--- a/src/widgets/toolbox.cpp
+++ b/src/widgets/toolbox.cpp
@@ -61,7 +61,7 @@
#include "../xml/attribute-record.h"
#include "../xml/node-event-vector.h"
#include "ui/uxmanager.h"
-
+#include "io/resource.h"
#include "arc-toolbar.h"
#include "box3d-toolbar.h"
@@ -101,6 +101,9 @@ using Inkscape::UI::PrefPusher;
using Inkscape::UI::ToolboxFactory;
using Inkscape::UI::Tools::ToolBase;
+using Inkscape::IO::Resource::get_filename;
+using Inkscape::IO::Resource::UI;
+
typedef void (*SetupFunction)(GtkWidget *toolbox, SPDesktop *desktop);
typedef void (*UpdateFunction)(SPDesktop *desktop, ToolBase *eventcontext, GtkWidget *toolbox);
@@ -1209,7 +1212,15 @@ static void setupToolboxCommon( GtkWidget *toolbox,
GtkOrientation orientation = GTK_ORIENTATION_HORIZONTAL;
gtk_ui_manager_insert_action_group( mgr, mainActions->gobj(), 0 );
- gtk_ui_manager_add_ui_from_string( mgr, descr, -1, &errVal );
+
+ // This isn't good, but it is flexible.
+ if(descr[0] == '<') {
+ gtk_ui_manager_add_ui_from_string( mgr, descr, -1, &errVal );
+ } else {
+ char const *filename = get_filename(UI, descr);
+ gtk_ui_manager_add_ui_from_file( mgr, filename, &errVal );
+ g_warning("RET CODE: %d", errVal);
+ }
GtkWidget* toolBar = gtk_ui_manager_get_widget( mgr, toolbarName );
if ( prefs->getBool("/toolbox/icononly", true) ) {
@@ -1313,12 +1324,14 @@ void ToolboxFactory::setOrientation(GtkWidget* toolbox, GtkOrientation orientati
void setup_tool_toolbox(GtkWidget *toolbox, SPDesktop *desktop)
{
- gchar const * descr =
+ gchar const * descr = "tool-toolbar.ui";
+ /*
"<ui>"
" <toolbar name='ToolToolbar'>"
" <!-- Basics -->"
" <toolitem action='ToolSelector' />"
+ " <toolitem action='FooBar' />"
" <toolitem action='ToolNode' />"
" <toolitem action='ToolTweak' />"
" <toolitem action='ToolZoom' />"
@@ -1360,6 +1373,7 @@ void setup_tool_toolbox(GtkWidget *toolbox, SPDesktop *desktop)
#endif
" </toolbar>"
"</ui>";
+*/
setupToolboxCommon( toolbox, desktop, descr,
"/ui/ToolToolbar",