summaryrefslogtreecommitdiffstats
path: root/src/ui/builder-utils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/builder-utils.cpp')
-rw-r--r--src/ui/builder-utils.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/ui/builder-utils.cpp b/src/ui/builder-utils.cpp
new file mode 100644
index 0000000..b555ea2
--- /dev/null
+++ b/src/ui/builder-utils.cpp
@@ -0,0 +1,20 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include "builder-utils.h"
+#include "io/resource.h"
+
+namespace Inkscape {
+namespace UI {
+
+Glib::RefPtr<Gtk::Builder> create_builder(const char* filename) {
+ auto glade = Inkscape::IO::Resource::get_filename(Inkscape::IO::Resource::UIS, filename);
+ Glib::RefPtr<Gtk::Builder> builder;
+ try {
+ return Gtk::Builder::create_from_file(glade);
+ }
+ catch (Glib::Error& ex) {
+ g_error("Cannot load glade file: %s", ex.what().c_str());
+ throw;
+ }
+}
+
+}} // namespace