diff --git a/modules/gui/src/gosty.cc b/modules/gui/src/gosty.cc index c978300894b699abb22739ada6792126807780d3..574d2cffdbc4d63a9f229a1983369fa05b04541d 100644 --- a/modules/gui/src/gosty.cc +++ b/modules/gui/src/gosty.cc @@ -28,6 +28,7 @@ #include <ost/gui/module_config.hh> #include <ost/log.hh> #include <ost/platform.hh> +#include <ost/gui/python_shell/text_logger.hh> #include <ost/gui/python_shell/python_shell.hh> #include <ost/gui/python_shell/python_interpreter.hh> #include "gl_win.hh" @@ -124,6 +125,19 @@ int setup_resources(QApplication& app) return 0; } + +void read_logger_settings(const QString& group_name, TextLogger* logger) +{ + QSettings settings; + settings.beginGroup("logging"); + settings.beginGroup(group_name); + logger->SetCodeLogging(settings.value("log_code",QVariant(false)).toBool()); + logger->SetOutputLogging(settings.value("log_output",QVariant(true)).toBool()); + logger->SetErrorLogging(settings.value("log_error",QVariant(true)).toBool()); + settings.endGroup(); + settings.endGroup(); +} + int init_python_interpreter() { // the order of these two calls is important! @@ -136,8 +150,23 @@ int init_python_interpreter() if(root == "") { return -1; } + // setup python shell logging + TextLogger* console_logger=new TextLogger(stdout); + read_logger_settings("console", console_logger); + if (console_logger->GetErrorLogging()) { + QObject::connect(&PythonInterpreter::Instance(), + SIGNAL(ErrorOutput(unsigned int, const QString &)), + console_logger, + SLOT(AppendOutput(unsigned int, const QString &))); + } + if (console_logger->GetOutputLogging()) { + QObject::connect(&PythonInterpreter::Instance(), + SIGNAL(Output(unsigned int, const QString &)), + console_logger, + SLOT(AppendOutput(unsigned int, const QString &))); + } setup_python_search_path(root, py); - py.RunCommand("from ost import *"); + py.RunCommand("from ost import *"); return 0; } diff --git a/modules/gui/src/gosty_app.cc b/modules/gui/src/gosty_app.cc index 91216a846132507ee2a96e4462fd5b36b3fd70d8..212cb1781ac0e706c87a8813f832cc7cc4d1a285 100644 --- a/modules/gui/src/gosty_app.cc +++ b/modules/gui/src/gosty_app.cc @@ -28,7 +28,6 @@ #include <ost/gui/python_shell/python_shell.hh> #include <ost/gui/gl_win.hh> #include <ost/gui/tools/tool_options_win.hh> -#include <ost/gui/python_shell/text_logger.hh> #include <ost/gui/perspective.hh> #include <ost/gui/main_area.hh> @@ -110,39 +109,11 @@ ost::img::gui::DataViewer* GostyApp::CreateDataViewer(const ost::img::Data& d, c return new ost::img::gui::DataViewer(main_,d,name); } #endif - -void GostyApp::ReadLoggerSettings(const QString& group_name, TextLogger* logger) -{ - QSettings settings; - settings.beginGroup("logging"); - settings.beginGroup(group_name); - logger->SetCodeLogging(settings.value("log_code",QVariant(false)).toBool()); - logger->SetOutputLogging(settings.value("log_output",QVariant(true)).toBool()); - logger->SetErrorLogging(settings.value("log_error",QVariant(true)).toBool()); - settings.endGroup(); - settings.endGroup(); -} -void GostyApp::SetupPyShellLogging() -{ - TextLogger* console_logger=new TextLogger(stdout); - this->ReadLoggerSettings("console", console_logger); - if (console_logger->GetErrorLogging()) { - connect(&PythonInterpreter::Instance(), SIGNAL(ErrorOutput(unsigned int, const QString &)), - console_logger,SLOT(AppendOutput(unsigned int, const QString &))); - } - if (console_logger->GetOutputLogging()) { - connect(&PythonInterpreter::Instance(), SIGNAL(Output(unsigned int, const QString &)), - console_logger,SLOT(AppendOutput(unsigned int, const QString &))); - } - // TODO: Setup file logging -} - PythonShell* GostyApp::GetPyShell() { if (py_shell_==NULL) { py_shell_=new PythonShell; - this->SetupPyShellLogging(); py_shell_->SetDestroyOnClose(false); } return py_shell_; diff --git a/modules/gui/src/gosty_app.hh b/modules/gui/src/gosty_app.hh index f9ce1d851526513ed93f8d825ffc8a3ab74ca600..bf92ec71e3f7f6d53dbb2d865fdc2aad6db17860 100644 --- a/modules/gui/src/gosty_app.hh +++ b/modules/gui/src/gosty_app.hh @@ -142,8 +142,6 @@ public slots: /// \brief This slot must be called when the application is going to be terminated. void OnQuit(); private: - void SetupPyShellLogging(); - void ReadLoggerSettings(const QString& group_name, TextLogger* logger); GostyApp(); PythonShell* py_shell_; QWidget* w_py_shell_;