Mercurial > octave
diff libgui/src/octave-qobject.cc @ 31648:29d734430e5f stable
maint: Re-indent code after switch to using namespace macros.
* BaseControl.cc, BaseControl.h, ButtonControl.cc, ButtonControl.h,
ButtonGroup.cc, ButtonGroup.h, Canvas.cc, Canvas.h,
CheckBoxControl.cc, CheckBoxControl.h, Container.cc, Container.h,
ContextMenu.cc, ContextMenu.h, EditControl.cc, EditControl.h,
Figure.cc, Figure.h, FigureWindow.cc, FigureWindow.h, GLCanvas.cc,
GLCanvas.h, GenericEventNotify.h, KeyMap.cc, KeyMap.h,
ListBoxControl.cc, ListBoxControl.h, Logger.cc, Logger.h, Menu.cc,
Menu.h, MenuContainer.h, Object.cc, Object.h, ObjectProxy.cc,
ObjectProxy.h, Panel.cc, Panel.h, PopupMenuControl.cc,
PopupMenuControl.h, PushButtonControl.cc, PushButtonControl.h,
PushTool.cc, PushTool.h, QtHandlesUtils.cc, QtHandlesUtils.h,
RadioButtonControl.cc, RadioButtonControl.h, SliderControl.cc,
SliderControl.h, Table.cc, Table.h, TextControl.cc, TextControl.h,
TextEdit.cc, TextEdit.h, ToggleButtonControl.cc,
ToggleButtonControl.h, ToggleTool.cc, ToggleTool.h, ToolBar.cc,
ToolBar.h, ToolBarButton.cc, ToolBarButton.h, annotation-dialog.cc,
annotation-dialog.h, gl-select.cc, gl-select.h, qopengl-functions.h,
qt-graphics-toolkit.cc, qt-graphics-toolkit.h, module.mk, QTerminal.h,
color-picker.cc, color-picker.h, command-widget.cc, command-widget.h,
community-news.cc, community-news.h, dialog.cc, dialog.h,
documentation-bookmarks.cc, documentation-bookmarks.h,
documentation-dock-widget.cc, documentation-dock-widget.h,
documentation.cc, documentation.h, dw-main-window.cc,
dw-main-window.h, external-editor-interface.cc,
external-editor-interface.h, files-dock-widget.cc,
files-dock-widget.h, find-files-dialog.cc, find-files-dialog.h,
find-files-model.cc, find-files-model.h, graphics-init.cc,
graphics-init.h, gui-settings.cc, gui-settings.h, gui-utils.cc,
gui-utils.h, history-dock-widget.cc, history-dock-widget.h,
interpreter-qobject.cc, interpreter-qobject.h, led-indicator.cc,
led-indicator.h, file-editor-interface.h, file-editor-tab.cc,
file-editor-tab.h, file-editor.cc, file-editor.h, find-dialog.cc,
find-dialog.h, marker.cc, marker.h, octave-qscintilla.cc,
octave-qscintilla.h, octave-txt-lexer.cc, octave-txt-lexer.h,
main-window.cc, main-window.h, news-reader.cc, news-reader.h,
octave-dock-widget.cc, octave-dock-widget.h, octave-qobject.cc,
octave-qobject.h, qt-application.cc, qt-application.h,
qt-interpreter-events.cc, qt-interpreter-events.h, qt-utils.h,
release-notes.cc, release-notes.h, resource-manager.cc,
resource-manager.h, set-path-dialog.cc, set-path-dialog.h,
set-path-model.cc, set-path-model.h, settings-dialog.cc,
settings-dialog.h, shortcut-manager.cc, shortcut-manager.h,
tab-bar.cc, tab-bar.h, terminal-dock-widget.cc,
terminal-dock-widget.h, variable-editor-model.cc,
variable-editor-model.h, variable-editor.cc, variable-editor.h,
welcome-wizard.cc, welcome-wizard.h, workspace-model.cc,
workspace-model.h, workspace-view.cc, workspace-view.h:
Re-indent code after switch to using namespace macros.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 06 Dec 2022 14:53:00 -0500 |
parents | c6d54dd31a7e |
children | deb553ac2c54 597f3ee61a48 |
line wrap: on
line diff
--- a/libgui/src/octave-qobject.cc Tue Dec 06 14:37:51 2022 -0500 +++ b/libgui/src/octave-qobject.cc Tue Dec 06 14:53:00 2022 -0500 @@ -131,911 +131,911 @@ OCTAVE_BEGIN_NAMESPACE(octave) - // Disable all Qt messages by default. +// Disable all Qt messages by default. - static void - message_handler (QtMsgType, const QMessageLogContext&, const QString&) - { } +static void +message_handler (QtMsgType, const QMessageLogContext&, const QString&) +{ } - //! Reimplement QApplication::notify. Octave's own exceptions are - //! caught and rethrown in the interpreter thread. +//! Reimplement QApplication::notify. Octave's own exceptions are +//! caught and rethrown in the interpreter thread. - bool octave_qapplication::notify (QObject *receiver, QEvent *ev) - { - try - { - return QApplication::notify (receiver, ev); - } - catch (execution_exception& ee) - { - emit interpreter_event - ([=] (void) - { - // INTERPRETER THREAD - throw ee; - }); - } +bool octave_qapplication::notify (QObject *receiver, QEvent *ev) +{ + try + { + return QApplication::notify (receiver, ev); + } + catch (execution_exception& ee) + { + emit interpreter_event + ([=] (void) + { + // INTERPRETER THREAD + throw ee; + }); + } - return false; - } + return false; +} - // We will create a QApplication object, even if START_GUI is false, - // so that we can use Qt widgets for plot windows when running in - // command-line mode. Note that we are creating an - // octave_qapplication object but handling it as a QApplication object - // because the octave_qapplication should behave identically to a - // QApplication object except that it overrides the notify method so - // we can handle forward Octave interpreter exceptions from the GUI - // thread to the interpreter thread. +// We will create a QApplication object, even if START_GUI is false, +// so that we can use Qt widgets for plot windows when running in +// command-line mode. Note that we are creating an +// octave_qapplication object but handling it as a QApplication object +// because the octave_qapplication should behave identically to a +// QApplication object except that it overrides the notify method so +// we can handle forward Octave interpreter exceptions from the GUI +// thread to the interpreter thread. - base_qobject::base_qobject (qt_application& app_context, bool gui_app) - : QObject (), - m_app_context (app_context), - m_argc (m_app_context.sys_argc ()), - m_argv (m_app_context.sys_argv ()), - m_qapplication (new octave_qapplication (m_argc, m_argv)), - m_resource_manager (), - m_shortcut_manager (*this), - m_qt_tr (new QTranslator ()), - m_gui_tr (new QTranslator ()), - m_qsci_tr (new QTranslator ()), - m_translators_installed (false), - m_qt_interpreter_events (new qt_interpreter_events (*this)), - m_interpreter_qobj (new interpreter_qobject (*this)), - m_main_thread (new QThread ()), - m_gui_app (gui_app), - m_interpreter_ready (false), - m_workspace_model (new workspace_model ()), - m_documentation_widget (), - m_file_browser_widget (), - m_history_widget (), - m_workspace_widget (), - m_editor_widget (), - m_variable_editor_widget (), - m_main_window (nullptr) - { - std::string show_gui_msgs = - sys::env::getenv ("OCTAVE_SHOW_GUI_MESSAGES"); +base_qobject::base_qobject (qt_application& app_context, bool gui_app) + : QObject (), + m_app_context (app_context), + m_argc (m_app_context.sys_argc ()), + m_argv (m_app_context.sys_argv ()), + m_qapplication (new octave_qapplication (m_argc, m_argv)), + m_resource_manager (), + m_shortcut_manager (*this), + m_qt_tr (new QTranslator ()), + m_gui_tr (new QTranslator ()), + m_qsci_tr (new QTranslator ()), + m_translators_installed (false), + m_qt_interpreter_events (new qt_interpreter_events (*this)), + m_interpreter_qobj (new interpreter_qobject (*this)), + m_main_thread (new QThread ()), + m_gui_app (gui_app), + m_interpreter_ready (false), + m_workspace_model (new workspace_model ()), + m_documentation_widget (), + m_file_browser_widget (), + m_history_widget (), + m_workspace_widget (), + m_editor_widget (), + m_variable_editor_widget (), + m_main_window (nullptr) +{ + std::string show_gui_msgs = + sys::env::getenv ("OCTAVE_SHOW_GUI_MESSAGES"); - // Installing our handler suppresses the messages. + // Installing our handler suppresses the messages. - if (show_gui_msgs.empty ()) - qInstallMessageHandler (message_handler); + if (show_gui_msgs.empty ()) + qInstallMessageHandler (message_handler); - // Set the codec for all strings (before wizard or any GUI object) + // Set the codec for all strings (before wizard or any GUI object) #if ! defined (Q_OS_WIN32) - QTextCodec::setCodecForLocale (QTextCodec::codecForName ("UTF-8")); + QTextCodec::setCodecForLocale (QTextCodec::codecForName ("UTF-8")); #endif - // Initialize global Qt application metadata. + // Initialize global Qt application metadata. - QCoreApplication::setApplicationName ("GNU Octave"); - QCoreApplication::setApplicationVersion (OCTAVE_VERSION); + QCoreApplication::setApplicationName ("GNU Octave"); + QCoreApplication::setApplicationVersion (OCTAVE_VERSION); - // Register octave_value_list for connecting thread crossing signals. + // Register octave_value_list for connecting thread crossing signals. - qRegisterMetaType<octave_value_list> ("octave_value_list"); + qRegisterMetaType<octave_value_list> ("octave_value_list"); -// Bug #55940 (Disable App Nap on Mac) + // Bug #55940 (Disable App Nap on Mac) #if defined (Q_OS_MAC) - // Mac App Nap feature causes pause() and sleep() to misbehave. - // Disable it for the entire program run. - disable_app_nap (); + // Mac App Nap feature causes pause() and sleep() to misbehave. + // Disable it for the entire program run. + disable_app_nap (); #endif - // Force left-to-right alignment (see bug #46204) - m_qapplication->setLayoutDirection (Qt::LeftToRight); + // Force left-to-right alignment (see bug #46204) + m_qapplication->setLayoutDirection (Qt::LeftToRight); - // Qt docs recommend using Qt::QueuedConnection when connecting to - // the QCoreApplication::exit slot. - connect (m_interpreter_qobj, &interpreter_qobject::shutdown_finished, - m_qapplication, &octave_qapplication::exit, - Qt::QueuedConnection); + // Qt docs recommend using Qt::QueuedConnection when connecting to + // the QCoreApplication::exit slot. + connect (m_interpreter_qobj, &interpreter_qobject::shutdown_finished, + m_qapplication, &octave_qapplication::exit, + Qt::QueuedConnection); - connect (m_interpreter_qobj, &interpreter_qobject::ready, - this, &base_qobject::interpreter_ready); + connect (m_interpreter_qobj, &interpreter_qobject::ready, + this, &base_qobject::interpreter_ready); - connect (m_main_thread, &QThread::finished, - m_main_thread, &QThread::deleteLater); + connect (m_main_thread, &QThread::finished, + m_main_thread, &QThread::deleteLater); - // Handle any interpreter_event signal from the octave_qapplication - // object here. + // Handle any interpreter_event signal from the octave_qapplication + // object here. - connect (m_qapplication, QOverload<const fcn_callback&>::of (&octave_qapplication::interpreter_event), - this, QOverload<const fcn_callback&>::of (&base_qobject::interpreter_event)); + connect (m_qapplication, QOverload<const fcn_callback&>::of (&octave_qapplication::interpreter_event), + this, QOverload<const fcn_callback&>::of (&base_qobject::interpreter_event)); - connect (m_qapplication, QOverload<const meth_callback&>::of (&octave_qapplication::interpreter_event), - this, QOverload<const meth_callback&>::of (&base_qobject::interpreter_event)); + connect (m_qapplication, QOverload<const meth_callback&>::of (&octave_qapplication::interpreter_event), + this, QOverload<const meth_callback&>::of (&base_qobject::interpreter_event)); - if (m_app_context.experimental_terminal_widget ()) - { - connect (qt_link (), &qt_interpreter_events::start_gui_signal, - this, &base_qobject::start_gui); + if (m_app_context.experimental_terminal_widget ()) + { + connect (qt_link (), &qt_interpreter_events::start_gui_signal, + this, &base_qobject::start_gui); - connect (qt_link (), &qt_interpreter_events::show_terminal_window_signal, - this, &base_qobject::show_terminal_window); - } + connect (qt_link (), &qt_interpreter_events::show_terminal_window_signal, + this, &base_qobject::show_terminal_window); + } - connect (qt_link (), &qt_interpreter_events::copy_image_to_clipboard_signal, - this, &base_qobject::copy_image_to_clipboard); + connect (qt_link (), &qt_interpreter_events::copy_image_to_clipboard_signal, + this, &base_qobject::copy_image_to_clipboard); - connect (qt_link (), &qt_interpreter_events::show_documentation_signal, - this, &base_qobject::show_documentation_window); + connect (qt_link (), &qt_interpreter_events::show_documentation_signal, + this, &base_qobject::show_documentation_window); - connect (qt_link (), &qt_interpreter_events::show_file_browser_signal, - this, &base_qobject::show_file_browser_window); + connect (qt_link (), &qt_interpreter_events::show_file_browser_signal, + this, &base_qobject::show_file_browser_window); - connect (qt_link (), &qt_interpreter_events::show_command_history_signal, - this, &base_qobject::show_command_history_window); + connect (qt_link (), &qt_interpreter_events::show_command_history_signal, + this, &base_qobject::show_command_history_window); - connect (qt_link (), &qt_interpreter_events::show_workspace_signal, - this, &base_qobject::show_workspace_window); + connect (qt_link (), &qt_interpreter_events::show_workspace_signal, + this, &base_qobject::show_workspace_window); - connect (qt_link (), &qt_interpreter_events::edit_variable_signal, - this, &base_qobject::show_variable_editor_window); + connect (qt_link (), &qt_interpreter_events::edit_variable_signal, + this, &base_qobject::show_variable_editor_window); - connect (qt_link (), &qt_interpreter_events::show_community_news_signal, - this, &base_qobject::show_community_news); + connect (qt_link (), &qt_interpreter_events::show_community_news_signal, + this, &base_qobject::show_community_news); - connect (qt_link (), &qt_interpreter_events::show_release_notes_signal, - this, &base_qobject::show_release_notes); + connect (qt_link (), &qt_interpreter_events::show_release_notes_signal, + this, &base_qobject::show_release_notes); - if (m_app_context.experimental_terminal_widget ()) - { - m_qapplication->setQuitOnLastWindowClosed (false); - } - else - { - if (gui_app) - { - m_main_window = new main_window (*this); + if (m_app_context.experimental_terminal_widget ()) + { + m_qapplication->setQuitOnLastWindowClosed (false); + } + else + { + if (gui_app) + { + m_main_window = new main_window (*this); - connect (m_main_window, &main_window::show_community_news_signal, - this, &base_qobject::show_community_news); + connect (m_main_window, &main_window::show_community_news_signal, + this, &base_qobject::show_community_news); - connect (m_main_window, &main_window::show_release_notes_signal, - this, &base_qobject::show_release_notes); + connect (m_main_window, &main_window::show_release_notes_signal, + this, &base_qobject::show_release_notes); - if (m_interpreter_ready) - m_main_window->handle_octave_ready (); - else - connect (m_interpreter_qobj, &interpreter_qobject::ready, - m_main_window, &main_window::handle_octave_ready); + if (m_interpreter_ready) + m_main_window->handle_octave_ready (); + else + connect (m_interpreter_qobj, &interpreter_qobject::ready, + m_main_window, &main_window::handle_octave_ready); - connect (qt_link (), &qt_interpreter_events::focus_window_signal, - m_main_window, &main_window::focus_window); + connect (qt_link (), &qt_interpreter_events::focus_window_signal, + m_main_window, &main_window::focus_window); - m_app_context.gui_running (true); - } - else - { - // Get settings file. - m_resource_manager.reload_settings (); + m_app_context.gui_running (true); + } + else + { + // Get settings file. + m_resource_manager.reload_settings (); - // After settings. - config_translators (); - m_resource_manager.config_icon_theme (); + // After settings. + config_translators (); + m_resource_manager.config_icon_theme (); - // Initilize the shortcut-manager - m_shortcut_manager.init_data (); + // Initilize the shortcut-manager + m_shortcut_manager.init_data (); - m_qapplication->setQuitOnLastWindowClosed (false); - } - } + m_qapplication->setQuitOnLastWindowClosed (false); + } + } - start_main_thread (); - } + start_main_thread (); +} - base_qobject::~base_qobject (void) - { - // Note that we don't delete m_main_thread here. That is handled by - // deleteLater slot that is called when the m_main_thread issues a - // finished signal. +base_qobject::~base_qobject (void) +{ + // Note that we don't delete m_main_thread here. That is handled by + // deleteLater slot that is called when the m_main_thread issues a + // finished signal. - // FIXME: Why are dock widget settings and/or the main window - // configuration not saved correctly if the main window is deleted - // after the dock widgets? + // FIXME: Why are dock widget settings and/or the main window + // configuration not saved correctly if the main window is deleted + // after the dock widgets? - // Calling close will cause settings to be saved. - // If m_main_window exists, the widgets are closed by the main window + // Calling close will cause settings to be saved. + // If m_main_window exists, the widgets are closed by the main window - if (! m_main_window) - { - if (m_terminal_widget) - m_terminal_widget->close (); + if (! m_main_window) + { + if (m_terminal_widget) + m_terminal_widget->close (); - if (m_documentation_widget) - m_documentation_widget->close (); + if (m_documentation_widget) + m_documentation_widget->close (); - if (m_file_browser_widget) - m_file_browser_widget->close (); + if (m_file_browser_widget) + m_file_browser_widget->close (); - if (m_history_widget) - m_history_widget->close (); + if (m_history_widget) + m_history_widget->close (); - if (m_workspace_widget) - m_workspace_widget->close (); + if (m_workspace_widget) + m_workspace_widget->close (); - if (m_editor_widget) - m_editor_widget->close (); + if (m_editor_widget) + m_editor_widget->close (); - if (m_variable_editor_widget) - m_variable_editor_widget->close (); + if (m_variable_editor_widget) + m_variable_editor_widget->close (); - if (m_community_news) - m_community_news->close (); - } - else - { - delete m_main_window; - } + if (m_community_news) + m_community_news->close (); + } + else + { + delete m_main_window; + } - delete m_terminal_widget; - delete m_documentation_widget; - delete m_file_browser_widget; - delete m_history_widget; - delete m_workspace_widget; - delete m_editor_widget; - delete m_variable_editor_widget; - delete m_community_news; + delete m_terminal_widget; + delete m_documentation_widget; + delete m_file_browser_widget; + delete m_history_widget; + delete m_workspace_widget; + delete m_editor_widget; + delete m_variable_editor_widget; + delete m_community_news; - delete m_interpreter_qobj; - delete m_qsci_tr; - delete m_gui_tr; - delete m_qt_tr; - delete m_qapplication; - delete m_workspace_model; + delete m_interpreter_qobj; + delete m_qsci_tr; + delete m_gui_tr; + delete m_qt_tr; + delete m_qapplication; + delete m_workspace_model; - string_vector::delete_c_str_vec (m_argv); - } + string_vector::delete_c_str_vec (m_argv); +} - void base_qobject::config_translators (void) - { - if (m_translators_installed) - return; +void base_qobject::config_translators (void) +{ + if (m_translators_installed) + return; - m_resource_manager.config_translators (m_qt_tr, m_qsci_tr, m_gui_tr); + m_resource_manager.config_translators (m_qt_tr, m_qsci_tr, m_gui_tr); - m_qapplication->installTranslator (m_qt_tr); - m_qapplication->installTranslator (m_gui_tr); - m_qapplication->installTranslator (m_qsci_tr); + m_qapplication->installTranslator (m_qt_tr); + m_qapplication->installTranslator (m_gui_tr); + m_qapplication->installTranslator (m_qsci_tr); - m_translators_installed = true; - } + m_translators_installed = true; +} - void base_qobject::start_main_thread (void) - { - // Note: if using the new experimental terminal widget, we defer - // initializing and executing the interpreter until the main event - // loop begins executing. +void base_qobject::start_main_thread (void) +{ + // Note: if using the new experimental terminal widget, we defer + // initializing and executing the interpreter until the main event + // loop begins executing. - // With the old terminal widget, we defer initializing and executing - // the interpreter until after the main window and QApplication are - // running to prevent race conditions. + // With the old terminal widget, we defer initializing and executing + // the interpreter until after the main window and QApplication are + // running to prevent race conditions. - QTimer::singleShot (0, m_interpreter_qobj, SLOT (execute (void))); + QTimer::singleShot (0, m_interpreter_qobj, SLOT (execute (void))); - m_interpreter_qobj->moveToThread (m_main_thread); + m_interpreter_qobj->moveToThread (m_main_thread); - m_main_thread->start (); - } + m_main_thread->start (); +} - int base_qobject::exec (void) - { - int status = m_qapplication->exec (); +int base_qobject::exec (void) +{ + int status = m_qapplication->exec (); #if defined (Q_OS_MAC) - // fprintf to stderr is needed by macOS, for poorly-understood reasons. - fprintf (stderr, "\n"); + // fprintf to stderr is needed by macOS, for poorly-understood reasons. + fprintf (stderr, "\n"); #endif - m_main_thread->quit (); - m_main_thread->wait (); + m_main_thread->quit (); + m_main_thread->wait (); - return status; - } + return status; +} - // Provided for convenience. Will be removed once we eliminate the - // old terminal widget. - bool base_qobject::experimental_terminal_widget (void) const - { - return m_app_context.experimental_terminal_widget (); - } +// Provided for convenience. Will be removed once we eliminate the +// old terminal widget. +bool base_qobject::experimental_terminal_widget (void) const +{ + return m_app_context.experimental_terminal_widget (); +} - bool base_qobject::gui_running (void) const - { - return m_app_context.gui_running (); - } +bool base_qobject::gui_running (void) const +{ + return m_app_context.gui_running (); +} - QPointer<terminal_dock_widget> - base_qobject::terminal_widget (main_window *mw) - { - if (m_terminal_widget && mw) - { - m_terminal_widget->set_main_window (mw); - m_terminal_widget->set_adopted (true); - } - else if (! m_terminal_widget) - { - m_terminal_widget - = QPointer<terminal_dock_widget> (new terminal_dock_widget (mw, *this)); - if (experimental_terminal_widget ()) - { +QPointer<terminal_dock_widget> +base_qobject::terminal_widget (main_window *mw) +{ + if (m_terminal_widget && mw) + { + m_terminal_widget->set_main_window (mw); + m_terminal_widget->set_adopted (true); + } + else if (! m_terminal_widget) + { + m_terminal_widget + = QPointer<terminal_dock_widget> (new terminal_dock_widget (mw, *this)); + if (experimental_terminal_widget ()) + { #if defined (HAVE_QSCINTILLA) - command_widget *cmd_widget - = m_terminal_widget->get_command_widget (); + command_widget *cmd_widget + = m_terminal_widget->get_command_widget (); - connect (cmd_widget, &command_widget::interpreter_pause, - this, &base_qobject::interpreter_pause); + connect (cmd_widget, &command_widget::interpreter_pause, + this, &base_qobject::interpreter_pause); - connect (cmd_widget, &command_widget::interpreter_resume, - this, &base_qobject::interpreter_resume); + connect (cmd_widget, &command_widget::interpreter_resume, + this, &base_qobject::interpreter_resume); - connect (cmd_widget, &command_widget::interpreter_stop, - this, &base_qobject::interpreter_stop); + connect (cmd_widget, &command_widget::interpreter_stop, + this, &base_qobject::interpreter_stop); - connect (qt_link (), &qt_interpreter_events::interpreter_output_signal, - m_terminal_widget, &terminal_dock_widget::interpreter_output_signal); + connect (qt_link (), &qt_interpreter_events::interpreter_output_signal, + m_terminal_widget, &terminal_dock_widget::interpreter_output_signal); - connect (qt_link (), &qt_interpreter_events::update_prompt_signal, - m_terminal_widget, &terminal_dock_widget::update_prompt_signal); + connect (qt_link (), &qt_interpreter_events::update_prompt_signal, + m_terminal_widget, &terminal_dock_widget::update_prompt_signal); - connect (qt_link (), &qt_interpreter_events::new_command_line_signal, - m_terminal_widget, &terminal_dock_widget::new_command_line_signal); + connect (qt_link (), &qt_interpreter_events::new_command_line_signal, + m_terminal_widget, &terminal_dock_widget::new_command_line_signal); - connect_interpreter_events (cmd_widget); + connect_interpreter_events (cmd_widget); #endif - } - else - { - QTerminal *cmd_widget = m_terminal_widget->get_qterminal (); + } + else + { + QTerminal *cmd_widget = m_terminal_widget->get_qterminal (); - // Connect the interrupt signal (emitted by Ctrl-C) - connect (cmd_widget, &QTerminal::interrupt_signal, - this, &base_qobject::interpreter_interrupt); - } - } + // Connect the interrupt signal (emitted by Ctrl-C) + connect (cmd_widget, &QTerminal::interrupt_signal, + this, &base_qobject::interpreter_interrupt); + } + } - return m_terminal_widget; - } + return m_terminal_widget; +} - QPointer<documentation_dock_widget> - base_qobject::documentation_widget (main_window *mw) - { - if (m_documentation_widget && mw) - { - m_documentation_widget->set_main_window (mw); - m_documentation_widget->set_adopted (true); - } - else if (! m_documentation_widget) - { - m_documentation_widget - = QPointer<documentation_dock_widget> (new documentation_dock_widget (mw, *this)); +QPointer<documentation_dock_widget> +base_qobject::documentation_widget (main_window *mw) +{ + if (m_documentation_widget && mw) + { + m_documentation_widget->set_main_window (mw); + m_documentation_widget->set_adopted (true); + } + else if (! m_documentation_widget) + { + m_documentation_widget + = QPointer<documentation_dock_widget> (new documentation_dock_widget (mw, *this)); - connect (qt_link (), - &qt_interpreter_events::register_documentation_signal, - m_documentation_widget, - &documentation_dock_widget::registerDoc); + connect (qt_link (), + &qt_interpreter_events::register_documentation_signal, + m_documentation_widget, + &documentation_dock_widget::registerDoc); - connect (qt_link (), - &qt_interpreter_events::unregister_documentation_signal, - m_documentation_widget, - &documentation_dock_widget::unregisterDoc); - } + connect (qt_link (), + &qt_interpreter_events::unregister_documentation_signal, + m_documentation_widget, + &documentation_dock_widget::unregisterDoc); + } - return m_documentation_widget; - } + return m_documentation_widget; +} - QPointer<files_dock_widget> - base_qobject::file_browser_widget (main_window *mw) - { - if (m_file_browser_widget) - { - m_file_browser_widget->set_main_window (mw); - m_file_browser_widget->set_adopted (true); - } - else if (! m_file_browser_widget) - m_file_browser_widget - = QPointer<files_dock_widget> (new files_dock_widget (mw, *this)); +QPointer<files_dock_widget> +base_qobject::file_browser_widget (main_window *mw) +{ + if (m_file_browser_widget) + { + m_file_browser_widget->set_main_window (mw); + m_file_browser_widget->set_adopted (true); + } + else if (! m_file_browser_widget) + m_file_browser_widget + = QPointer<files_dock_widget> (new files_dock_widget (mw, *this)); - connect (qt_link (), &qt_interpreter_events::directory_changed_signal, - m_file_browser_widget, &files_dock_widget::update_octave_directory); + connect (qt_link (), &qt_interpreter_events::directory_changed_signal, + m_file_browser_widget, &files_dock_widget::update_octave_directory); - return m_file_browser_widget; - } + return m_file_browser_widget; +} - QPointer<history_dock_widget> - base_qobject::history_widget (main_window *mw) - { - if (m_history_widget) - { - m_history_widget->set_main_window (mw); - m_history_widget->set_adopted (true); - } - else if (! m_history_widget) - { - m_history_widget - = QPointer<history_dock_widget> (new history_dock_widget (mw, *this)); +QPointer<history_dock_widget> +base_qobject::history_widget (main_window *mw) +{ + if (m_history_widget) + { + m_history_widget->set_main_window (mw); + m_history_widget->set_adopted (true); + } + else if (! m_history_widget) + { + m_history_widget + = QPointer<history_dock_widget> (new history_dock_widget (mw, *this)); - connect (qt_link (), &qt_interpreter_events::set_history_signal, - m_history_widget, &history_dock_widget::set_history); + connect (qt_link (), &qt_interpreter_events::set_history_signal, + m_history_widget, &history_dock_widget::set_history); - connect (qt_link (), &qt_interpreter_events::append_history_signal, - m_history_widget, &history_dock_widget::append_history); + connect (qt_link (), &qt_interpreter_events::append_history_signal, + m_history_widget, &history_dock_widget::append_history); - connect (qt_link (), &qt_interpreter_events::clear_history_signal, - m_history_widget, &history_dock_widget::clear_history); + connect (qt_link (), &qt_interpreter_events::clear_history_signal, + m_history_widget, &history_dock_widget::clear_history); - emit interpreter_event - ([=] (interpreter& interp) { - // INTERPRETER THREAD + emit interpreter_event + ([=] (interpreter& interp) { + // INTERPRETER THREAD - event_manager& xevmgr = interp.get_event_manager (); + event_manager& xevmgr = interp.get_event_manager (); - xevmgr.set_history (); - }); - } + xevmgr.set_history (); + }); + } - return m_history_widget; - } + return m_history_widget; +} - QPointer<workspace_view> - base_qobject::workspace_widget (main_window *mw) - { - if (m_workspace_widget) - { - m_workspace_widget->set_main_window (mw); - m_workspace_widget->set_adopted (true); - } - else if (! m_workspace_widget) - { - m_workspace_widget - = QPointer<workspace_view> (new workspace_view (mw, *this)); +QPointer<workspace_view> +base_qobject::workspace_widget (main_window *mw) +{ + if (m_workspace_widget) + { + m_workspace_widget->set_main_window (mw); + m_workspace_widget->set_adopted (true); + } + else if (! m_workspace_widget) + { + m_workspace_widget + = QPointer<workspace_view> (new workspace_view (mw, *this)); - m_workspace_widget->setModel (m_workspace_model); + m_workspace_widget->setModel (m_workspace_model); - connect (m_workspace_model, &workspace_model::model_changed, - m_workspace_widget, &workspace_view::handle_model_changed); + connect (m_workspace_model, &workspace_model::model_changed, + m_workspace_widget, &workspace_view::handle_model_changed); - connect (qt_link (), &qt_interpreter_events::set_workspace_signal, - m_workspace_model, &workspace_model::set_workspace); + connect (qt_link (), &qt_interpreter_events::set_workspace_signal, + m_workspace_model, &workspace_model::set_workspace); - connect (qt_link (), &qt_interpreter_events::clear_workspace_signal, - m_workspace_model, &workspace_model::clear_workspace); + connect (qt_link (), &qt_interpreter_events::clear_workspace_signal, + m_workspace_model, &workspace_model::clear_workspace); - connect (m_workspace_widget, - &workspace_view::copy_variable_value_to_clipboard, - [=] (const QString& var_name) { - emit interpreter_event - ([=] (interpreter& interp) - { - // INTERPRETER THREAD + connect (m_workspace_widget, + &workspace_view::copy_variable_value_to_clipboard, + [=] (const QString& var_name) { + emit interpreter_event + ([=] (interpreter& interp) + { + // INTERPRETER THREAD - octave_value val = interp.varval (var_name.toStdString ()); + octave_value val = interp.varval (var_name.toStdString ()); - if (val.is_undefined ()) - val = 0; + if (val.is_undefined ()) + val = 0; - std::ostringstream buf; - val.print_raw (buf, true); + std::ostringstream buf; + val.print_raw (buf, true); - // FIXME: is the following operation thread safe or should - // it be done with a signal/slot connection? + // FIXME: is the following operation thread safe or should + // it be done with a signal/slot connection? - QClipboard *clipboard = QApplication::clipboard (); - clipboard->setText (QString::fromStdString (buf.str ())); - }); - }); + QClipboard *clipboard = QApplication::clipboard (); + clipboard->setText (QString::fromStdString (buf.str ())); + }); + }); - connect (m_workspace_widget, &workspace_view::rename_variable_signal, - [=] (const QString& old_name, const QString& new_name) { - emit interpreter_event - ([=] (interpreter& interp) { - // INTERPRETER THREAD + connect (m_workspace_widget, &workspace_view::rename_variable_signal, + [=] (const QString& old_name, const QString& new_name) { + emit interpreter_event + ([=] (interpreter& interp) { + // INTERPRETER THREAD - symbol_scope scope = interp.get_current_scope (); + symbol_scope scope = interp.get_current_scope (); - if (scope) - { - scope.rename (old_name.toStdString (), - new_name.toStdString ()); + if (scope) + { + scope.rename (old_name.toStdString (), + new_name.toStdString ()); - tree_evaluator& tw = interp.get_evaluator (); + tree_evaluator& tw = interp.get_evaluator (); - event_manager& xevmgr = interp.get_event_manager (); + event_manager& xevmgr = interp.get_event_manager (); - xevmgr.set_workspace (true, tw.get_symbol_info ()); - } + xevmgr.set_workspace (true, tw.get_symbol_info ()); + } - // FIXME: if this action fails, do we need a way to - // display that info in the GUI? - }); - }); + // FIXME: if this action fails, do we need a way to + // display that info in the GUI? + }); + }); - connect (m_workspace_widget, &workspace_view::edit_variable_signal, - [=] (const QString& var_name) { - emit interpreter_event - ([=] (interpreter& interp) { - // INTERPRETER THREAD + connect (m_workspace_widget, &workspace_view::edit_variable_signal, + [=] (const QString& var_name) { + emit interpreter_event + ([=] (interpreter& interp) { + // INTERPRETER THREAD - std::string name = var_name.toStdString (); - octave_value val = interp.varval (name); + std::string name = var_name.toStdString (); + octave_value val = interp.varval (name); - event_manager& xevmgr = interp.get_event_manager (); + event_manager& xevmgr = interp.get_event_manager (); - xevmgr.edit_variable (name, val); - }); - }); + xevmgr.edit_variable (name, val); + }); + }); - emit interpreter_event - ([=] (interpreter& interp) { - // INTERPRETER THREAD + emit interpreter_event + ([=] (interpreter& interp) { + // INTERPRETER THREAD - event_manager& xevmgr = interp.get_event_manager (); + event_manager& xevmgr = interp.get_event_manager (); - xevmgr.set_workspace (); - }); - } + xevmgr.set_workspace (); + }); + } - return m_workspace_widget; - } + return m_workspace_widget; +} - QPointer<file_editor_interface> - base_qobject::editor_widget (main_window */*mw*/) - { +QPointer<file_editor_interface> +base_qobject::editor_widget (main_window */*mw*/) +{ #if 0 - if (m_editor_widget && mw) - { - m_editor_widget->set_main_window (mw); - m_editor_widget->set_adopted (true); - } - else if (! m_editor_widget) - m_editor_widget = new file_editor (mw, *this); + if (m_editor_widget && mw) + { + m_editor_widget->set_main_window (mw); + m_editor_widget->set_adopted (true); + } + else if (! m_editor_widget) + m_editor_widget = new file_editor (mw, *this); #endif - return m_editor_widget; - } + return m_editor_widget; +} - QPointer<variable_editor> - base_qobject::variable_editor_widget (main_window *mw) - { - if (m_variable_editor_widget && mw) - { - m_variable_editor_widget->set_main_window (mw); - m_variable_editor_widget->set_adopted (true); - } - else if (! m_variable_editor_widget) - { - m_variable_editor_widget - = QPointer<variable_editor> (new variable_editor (mw, *this)); +QPointer<variable_editor> +base_qobject::variable_editor_widget (main_window *mw) +{ + if (m_variable_editor_widget && mw) + { + m_variable_editor_widget->set_main_window (mw); + m_variable_editor_widget->set_adopted (true); + } + else if (! m_variable_editor_widget) + { + m_variable_editor_widget + = QPointer<variable_editor> (new variable_editor (mw, *this)); - connect (m_variable_editor_widget, &variable_editor::updated, - this, &base_qobject::handle_variable_editor_update); + connect (m_variable_editor_widget, &variable_editor::updated, + this, &base_qobject::handle_variable_editor_update); - connect (m_variable_editor_widget, &variable_editor::command_signal, - this, &base_qobject::execute_command); + connect (m_variable_editor_widget, &variable_editor::command_signal, + this, &base_qobject::execute_command); - connect (qt_link (), - &qt_interpreter_events::refresh_variable_editor_signal, - m_variable_editor_widget, &variable_editor::refresh); + connect (qt_link (), + &qt_interpreter_events::refresh_variable_editor_signal, + m_variable_editor_widget, &variable_editor::refresh); - connect_interpreter_events<variable_editor> (m_variable_editor_widget); - } + connect_interpreter_events<variable_editor> (m_variable_editor_widget); + } - return m_variable_editor_widget; - } + return m_variable_editor_widget; +} - QPointer<community_news> base_qobject::community_news_widget (int serial) - { - if (! m_community_news) - m_community_news - = QPointer<community_news> (new community_news (*this, serial)); +QPointer<community_news> base_qobject::community_news_widget (int serial) +{ + if (! m_community_news) + m_community_news + = QPointer<community_news> (new community_news (*this, serial)); - return m_community_news; - } + return m_community_news; +} - QPointer<release_notes> base_qobject::release_notes_widget (void) - { - if (! m_release_notes) - m_release_notes = QPointer<release_notes> (new release_notes (*this)); +QPointer<release_notes> base_qobject::release_notes_widget (void) +{ + if (! m_release_notes) + m_release_notes = QPointer<release_notes> (new release_notes (*this)); - return m_release_notes; - } + return m_release_notes; +} - bool base_qobject::confirm_shutdown (void) - { - // Currently, we forward to main_window::confirm_shutdown instead of - // just displaying a dialog box here because the main_window also - // knows about and is responsible for notifying the editor. +bool base_qobject::confirm_shutdown (void) +{ + // Currently, we forward to main_window::confirm_shutdown instead of + // just displaying a dialog box here because the main_window also + // knows about and is responsible for notifying the editor. - return m_main_window ? m_main_window->confirm_shutdown () : true; - } + return m_main_window ? m_main_window->confirm_shutdown () : true; +} - void base_qobject::start_gui (bool gui_app) - { - if (m_app_context.experimental_terminal_widget ()) - { - if (m_main_window) - return; +void base_qobject::start_gui (bool gui_app) +{ + if (m_app_context.experimental_terminal_widget ()) + { + if (m_main_window) + return; - m_gui_app = gui_app; + m_gui_app = gui_app; - m_main_window = new main_window (*this); + m_main_window = new main_window (*this); - connect (qt_link (), &qt_interpreter_events::focus_window_signal, - m_main_window, &main_window::focus_window); + connect (qt_link (), &qt_interpreter_events::focus_window_signal, + m_main_window, &main_window::focus_window); - connect (qt_link (), &qt_interpreter_events::close_gui_signal, - this, &base_qobject::close_gui); + connect (qt_link (), &qt_interpreter_events::close_gui_signal, + this, &base_qobject::close_gui); - connect (m_main_window, &main_window::close_gui_signal, - this, &base_qobject::close_gui); + connect (m_main_window, &main_window::close_gui_signal, + this, &base_qobject::close_gui); - connect (m_main_window, &main_window::show_community_news_signal, - this, &base_qobject::show_community_news); + connect (m_main_window, &main_window::show_community_news_signal, + this, &base_qobject::show_community_news); - connect (m_main_window, &main_window::show_release_notes_signal, - this, &base_qobject::show_release_notes); + connect (m_main_window, &main_window::show_release_notes_signal, + this, &base_qobject::show_release_notes); - if (m_interpreter_ready) - m_main_window->handle_octave_ready (); - else - connect (m_interpreter_qobj, &interpreter_qobject::ready, - m_main_window, &main_window::handle_octave_ready); + if (m_interpreter_ready) + m_main_window->handle_octave_ready (); + else + connect (m_interpreter_qobj, &interpreter_qobject::ready, + m_main_window, &main_window::handle_octave_ready); - if (m_gui_app) - m_qapplication->setQuitOnLastWindowClosed (true); - else - { - // FIXME: Save current values of PS1 and PS2 so they can be - // restored when we return to the command line? - } + if (m_gui_app) + m_qapplication->setQuitOnLastWindowClosed (true); + else + { + // FIXME: Save current values of PS1 and PS2 so they can be + // restored when we return to the command line? + } - m_app_context.gui_running (true); - } - } + m_app_context.gui_running (true); + } +} - void base_qobject::show_terminal_window (void) - { - terminal_dock_widget *widget - = (m_terminal_widget - ? m_terminal_widget : terminal_widget ()); +void base_qobject::show_terminal_window (void) +{ + terminal_dock_widget *widget + = (m_terminal_widget + ? m_terminal_widget : terminal_widget ()); - if (! widget->isVisible ()) - { - widget->show (); - widget->raise (); - } - } + if (! widget->isVisible ()) + { + widget->show (); + widget->raise (); + } +} - void base_qobject::show_documentation_window (const QString& file) - { - documentation_dock_widget *widget - = (m_documentation_widget - ? m_documentation_widget : documentation_widget ()); +void base_qobject::show_documentation_window (const QString& file) +{ + documentation_dock_widget *widget + = (m_documentation_widget + ? m_documentation_widget : documentation_widget ()); - widget->showDoc (file); + widget->showDoc (file); - if (! widget->isVisible ()) - { - widget->show (); - widget->raise (); - } - } + if (! widget->isVisible ()) + { + widget->show (); + widget->raise (); + } +} - void base_qobject::show_file_browser_window (void) - { - files_dock_widget *widget - = m_file_browser_widget ? m_file_browser_widget : file_browser_widget (); +void base_qobject::show_file_browser_window (void) +{ + files_dock_widget *widget + = m_file_browser_widget ? m_file_browser_widget : file_browser_widget (); - if (! widget->isVisible ()) - { - widget->show (); - widget->raise (); - } - } + if (! widget->isVisible ()) + { + widget->show (); + widget->raise (); + } +} - void base_qobject::show_command_history_window (void) - { - history_dock_widget *widget - = m_history_widget ? m_history_widget : history_widget (); +void base_qobject::show_command_history_window (void) +{ + history_dock_widget *widget + = m_history_widget ? m_history_widget : history_widget (); - if (! widget->isVisible ()) - { - widget->show (); - widget->raise (); - } - } + if (! widget->isVisible ()) + { + widget->show (); + widget->raise (); + } +} - void base_qobject::show_workspace_window (void) - { - workspace_view *widget - = m_workspace_widget ? m_workspace_widget : workspace_widget (); +void base_qobject::show_workspace_window (void) +{ + workspace_view *widget + = m_workspace_widget ? m_workspace_widget : workspace_widget (); - if (! widget->isVisible ()) - { - widget->show (); - widget->raise (); - } - } + if (! widget->isVisible ()) + { + widget->show (); + widget->raise (); + } +} - void base_qobject::show_variable_editor_window (const QString& name, - const octave_value& value) - { - variable_editor *widget - = (m_variable_editor_widget - ? m_variable_editor_widget : variable_editor_widget ()); +void base_qobject::show_variable_editor_window (const QString& name, + const octave_value& value) +{ + variable_editor *widget + = (m_variable_editor_widget + ? m_variable_editor_widget : variable_editor_widget ()); - if (! widget->isVisible ()) - { - widget->show (); - widget->raise (); - } + if (! widget->isVisible ()) + { + widget->show (); + widget->raise (); + } - // FIXME: Should this be done with a signal/slot connection? - widget->edit_variable (name, value); - } + // FIXME: Should this be done with a signal/slot connection? + widget->edit_variable (name, value); +} - void base_qobject::handle_variable_editor_update (void) - { - // Called when the variable editor emits the updated signal. The size - // of a variable may have changed, so we refresh the workspace in the - // interpreter. That will eventually cause the workspace view in the - // GUI to be updated. +void base_qobject::handle_variable_editor_update (void) +{ + // Called when the variable editor emits the updated signal. The size + // of a variable may have changed, so we refresh the workspace in the + // interpreter. That will eventually cause the workspace view in the + // GUI to be updated. - interpreter_event - ([] (interpreter& interp) - { - // INTERPRETER THREAD + interpreter_event + ([] (interpreter& interp) + { + // INTERPRETER THREAD - tree_evaluator& tw = interp.get_evaluator (); + tree_evaluator& tw = interp.get_evaluator (); - event_manager& xevmgr = interp.get_event_manager (); + event_manager& xevmgr = interp.get_event_manager (); - xevmgr.set_workspace (true, tw.get_symbol_info (), false); - }); - } + xevmgr.set_workspace (true, tw.get_symbol_info (), false); + }); +} - void base_qobject::show_community_news (int serial) - { - // Ensure widget exists. - community_news_widget (serial); +void base_qobject::show_community_news (int serial) +{ + // Ensure widget exists. + community_news_widget (serial); - m_community_news->display (); - } + m_community_news->display (); +} - void base_qobject::show_release_notes (void) - { - // Ensure widget exists. - release_notes_widget (); +void base_qobject::show_release_notes (void) +{ + // Ensure widget exists. + release_notes_widget (); - m_release_notes->display (); - } + m_release_notes->display (); +} - void base_qobject::execute_command (const QString& command) - { - emit interpreter_event - ([=] (interpreter& interp) - { - // INTERPRETER THREAD +void base_qobject::execute_command (const QString& command) +{ + emit interpreter_event + ([=] (interpreter& interp) + { + // INTERPRETER THREAD - // FIXME: Do we need to do anything special about errors here? - // Currently the eval function will just call error() in the - // interpreter event loop and throw an execution error. It will - // be caught, so shouldn't crash the interpreter, but the - // message may not go anywhere useful depending on how the GUI - // is being used or if Octave running server mode. + // FIXME: Do we need to do anything special about errors here? + // Currently the eval function will just call error() in the + // interpreter event loop and throw an execution error. It will + // be caught, so shouldn't crash the interpreter, but the + // message may not go anywhere useful depending on how the GUI + // is being used or if Octave running server mode. - interp.eval (command.toStdString (), 0); - }); - } + interp.eval (command.toStdString (), 0); + }); +} - void base_qobject::close_gui (void) - { - if (m_app_context.experimental_terminal_widget ()) - { - if (! m_main_window) - return; +void base_qobject::close_gui (void) +{ + if (m_app_context.experimental_terminal_widget ()) + { + if (! m_main_window) + return; - // FIXME: Restore previous values of PS1 and PS2 if we are - // returning to the command line? + // FIXME: Restore previous values of PS1 and PS2 if we are + // returning to the command line? - interpreter_event - ([=] (interpreter& interp) - { - // INTERPRETER THREAD + interpreter_event + ([=] (interpreter& interp) + { + // INTERPRETER THREAD - application *app = interp.get_app_context (); + application *app = interp.get_app_context (); - cmdline_options opts = app->options (); + cmdline_options opts = app->options (); - if (opts.gui ()) - interp.quit (0, false, false); - }); + if (opts.gui ()) + interp.quit (0, false, false); + }); - m_app_context.gui_running (false); + m_app_context.gui_running (false); - if (m_main_window) - { - m_main_window->deleteLater (); + if (m_main_window) + { + m_main_window->deleteLater (); - m_main_window = nullptr; - } - } - } + m_main_window = nullptr; + } + } +} - void base_qobject::interpreter_ready (void) - { - m_interpreter_ready = true; - } +void base_qobject::interpreter_ready (void) +{ + m_interpreter_ready = true; +} - void base_qobject::interpreter_event (const fcn_callback& fcn) - { - // The following is a direct function call across threads. It works - // because it is accessing a thread-safe queue of events that - // are later executed by the Octave interpreter in the other thread. +void base_qobject::interpreter_event (const fcn_callback& fcn) +{ + // The following is a direct function call across threads. It works + // because it is accessing a thread-safe queue of events that + // are later executed by the Octave interpreter in the other thread. - // See also the comments in interpreter-qobject.h about - // interpreter_qobject slots. + // See also the comments in interpreter-qobject.h about + // interpreter_qobject slots. - m_interpreter_qobj->interpreter_event (fcn); - } + m_interpreter_qobj->interpreter_event (fcn); +} - void base_qobject::interpreter_event (const meth_callback& meth) - { - // The following is a direct function call across threads. It works - // because it is accessing a thread-safe queue of events that - // are later executed by the Octave interpreter in the other thread. +void base_qobject::interpreter_event (const meth_callback& meth) +{ + // The following is a direct function call across threads. It works + // because it is accessing a thread-safe queue of events that + // are later executed by the Octave interpreter in the other thread. - // See also the comments in interpreter-qobject.h about - // interpreter_qobject slots. + // See also the comments in interpreter-qobject.h about + // interpreter_qobject slots. - m_interpreter_qobj->interpreter_event (meth); - } + m_interpreter_qobj->interpreter_event (meth); +} - void base_qobject::interpreter_interrupt (void) - { - m_interpreter_qobj->interrupt (); - } +void base_qobject::interpreter_interrupt (void) +{ + m_interpreter_qobj->interrupt (); +} - // FIXME: Should we try to make the pause, stop, and resume actions - // work for both the old and new terminal widget? +// FIXME: Should we try to make the pause, stop, and resume actions +// work for both the old and new terminal widget? - void base_qobject::interpreter_pause (void) - { - if (m_app_context.experimental_terminal_widget ()) - m_interpreter_qobj->pause (); - } +void base_qobject::interpreter_pause (void) +{ + if (m_app_context.experimental_terminal_widget ()) + m_interpreter_qobj->pause (); +} - void base_qobject::interpreter_stop (void) - { - if (m_app_context.experimental_terminal_widget ()) - m_interpreter_qobj->stop (); - } +void base_qobject::interpreter_stop (void) +{ + if (m_app_context.experimental_terminal_widget ()) + m_interpreter_qobj->stop (); +} - void base_qobject::interpreter_resume (void) - { - if (m_app_context.experimental_terminal_widget ()) - m_interpreter_qobj->resume (); - } +void base_qobject::interpreter_resume (void) +{ + if (m_app_context.experimental_terminal_widget ()) + m_interpreter_qobj->resume (); +} - void base_qobject::copy_image_to_clipboard (const QString& file, - bool remove_file) - { - QClipboard *clipboard = QApplication::clipboard (); +void base_qobject::copy_image_to_clipboard (const QString& file, + bool remove_file) +{ + QClipboard *clipboard = QApplication::clipboard (); - QImage img (file); + QImage img (file); - if (img.isNull ()) - { - // Report error? - return; - } + if (img.isNull ()) + { + // Report error? + return; + } - clipboard->setImage (img); + clipboard->setImage (img); - if (remove_file) - QFile::remove (file); - } + if (remove_file) + QFile::remove (file); +} OCTAVE_END_NAMESPACE(octave)