diff options
Diffstat (limited to 'src/ui/builder-utils.cpp')
-rw-r--r-- | src/ui/builder-utils.cpp | 20 |
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 |