summaryrefslogtreecommitdiffstats
path: root/src/gui/WidgetFactory.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-08-17 02:14:07 +0000
committerDavid Robillard <d@drobilla.net>2012-08-17 02:14:07 +0000
commit318b37d8b556add13b3f156f31c9e72eca339a16 (patch)
treeca7b881f8980a41eca77602b474f29964b5c89db /src/gui/WidgetFactory.cpp
parenta42744e1068a8630d8034df73bb344ca21a53b32 (diff)
downloadingen-318b37d8b556add13b3f156f31c9e72eca339a16.tar.gz
ingen-318b37d8b556add13b3f156f31c9e72eca339a16.tar.bz2
ingen-318b37d8b556add13b3f156f31c9e72eca339a16.zip
Implement real logging system, LV2 log extension support, and purge evil/ugly/untranslatable C++ stream printing.
Remove coloured log stuff from Raul. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4717 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/gui/WidgetFactory.cpp')
-rw-r--r--src/gui/WidgetFactory.cpp23
1 files changed, 9 insertions, 14 deletions
diff --git a/src/gui/WidgetFactory.cpp b/src/gui/WidgetFactory.cpp
index 31749ffe..642e3cea 100644
--- a/src/gui/WidgetFactory.cpp
+++ b/src/gui/WidgetFactory.cpp
@@ -17,8 +17,7 @@
#include <fstream>
#include <string>
-#include "raul/log.hpp"
-
+#include "raul/fmt.hpp"
#include "ingen/runtime_paths.hpp"
#include "WidgetFactory.hpp"
@@ -59,25 +58,21 @@ WidgetFactory::find_ui_file()
if (is_readable(ui_filename))
return;
- Raul::error << "[WidgetFactory] Unable to find ingen_gui.ui in "
- << INGEN_DATA_DIR << endl;
- throw std::runtime_error("Unable to find UI file");
+ throw std::runtime_error((Raul::fmt("Unable to find ingen_gui.ui in %1%\n")
+ % INGEN_DATA_DIR).str());
}
Glib::RefPtr<Gtk::Builder>
WidgetFactory::create(const string& toplevel_widget)
{
- if (ui_filename.empty())
+ if (ui_filename.empty()) {
find_ui_file();
+ }
- try {
- if (toplevel_widget.empty())
- return Gtk::Builder::create_from_file(ui_filename);
- else
- return Gtk::Builder::create_from_file(ui_filename, toplevel_widget.c_str());
- } catch (const Gtk::BuilderError& ex) {
- Raul::error << "[WidgetFactory] " << ex.what() << endl;
- throw ex;
+ if (toplevel_widget.empty()) {
+ return Gtk::Builder::create_from_file(ui_filename);
+ } else {
+ return Gtk::Builder::create_from_file(ui_filename, toplevel_widget.c_str());
}
}