# HG changeset patch # User Torsten Lilge # Date 1621369054 -7200 # Node ID 67eccd06261825c26edd921b9295a36bc3c62db4 # Parent f625b7670c0e3649efef2bface6d1b780309488d fix calling documentations from terminal and editor * QTerminal.cc (create): pass base_qobject to the created terminal; (doc_on_expression): replace emitting a signal by calling the interpreter event show_documentation_window; (construct): remove obsolete signal connection * QTerminal.h: QTerminal with base_qobject as additional argument, new class variable m_octave_qobj * QUnixTerminalImpl.cpp (QUnixTerminalImpl): new argument base_qobject * QUnixTerminalImpl.h: dito * QWinTerminalImpl.cpp (QWinTerminalImpl): new argument base_qobject * QWinTerminalImpl.h: dito * file-editor.cc (make_file_editor_tab): remove obsolete signal connection * octave-qscintilla.cc (contextmenu_help_doc): replace emitting a signal by calling the interpreter diff -r f625b7670c0e -r 67eccd062618 libgui/qterminal/libqterminal/QTerminal.cc --- a/libgui/qterminal/libqterminal/QTerminal.cc Tue May 18 09:08:45 2021 -0400 +++ b/libgui/qterminal/libqterminal/QTerminal.cc Tue May 18 22:17:34 2021 +0200 @@ -54,9 +54,9 @@ // p: real parent // xparent: main window for signal connections #if defined (Q_OS_WIN32) - QTerminal *terminal = new QWinTerminalImpl (p, main_win); + QTerminal *terminal = new QWinTerminalImpl (oct_qobj, p, main_win); #else - QTerminal *terminal = new QUnixTerminalImpl (p, main_win); + QTerminal *terminal = new QUnixTerminalImpl (oct_qobj, p, main_win); #endif // FIXME: this function should probably be called from or part of the @@ -197,8 +197,7 @@ void QTerminal::doc_on_expression () { QString expr = m_doc_selected_action->data ().toString (); - - emit show_doc_signal (expr); + m_octave_qobj.show_documentation_window (expr); } void @@ -326,9 +325,6 @@ connect (this, SIGNAL (report_status_message (const QString&)), xparent, SLOT (report_status_message (const QString&))); - connect (this, SIGNAL (show_doc_signal (const QString&)), - xparent, SLOT (handle_show_doc (const QString&))); - connect (this, SIGNAL (edit_mfile_request (const QString&, int)), xparent, SLOT (edit_mfile (const QString&, int))); diff -r f625b7670c0e -r 67eccd062618 libgui/qterminal/libqterminal/QTerminal.h --- a/libgui/qterminal/libqterminal/QTerminal.h Tue May 18 09:08:45 2021 -0400 +++ b/libgui/qterminal/libqterminal/QTerminal.h Tue May 18 22:17:34 2021 +0200 @@ -34,6 +34,7 @@ // for the signal/slot macros. Could maybe change later when using // Qt5-style signal/slot connections. #include "gui-settings.h" + using octave::gui_settings; namespace octave @@ -137,12 +138,15 @@ protected: - QTerminal (QWidget *xparent = nullptr) : QWidget (xparent) { } + QTerminal (octave::base_qobject& oct_qobj, QWidget *xparent = nullptr) + : QWidget (xparent), m_octave_qobj (oct_qobj) { } void construct (octave::base_qobject& oct_qobj, QWidget *xparent); private: + octave::base_qobject& m_octave_qobj; + QMenu *_contextMenu; QAction * _copy_action; QAction * _paste_action; diff -r f625b7670c0e -r 67eccd062618 libgui/qterminal/libqterminal/unix/QUnixTerminalImpl.cpp --- a/libgui/qterminal/libqterminal/unix/QUnixTerminalImpl.cpp Tue May 18 09:08:45 2021 -0400 +++ b/libgui/qterminal/libqterminal/unix/QUnixTerminalImpl.cpp Tue May 18 22:17:34 2021 +0200 @@ -24,8 +24,9 @@ #include -QUnixTerminalImpl::QUnixTerminalImpl(QWidget *p, QWidget *main_win) - : QTerminal(p) +QUnixTerminalImpl::QUnixTerminalImpl(octave::base_qobject& oct_qobj, + QWidget *p, QWidget *main_win) + : QTerminal(oct_qobj, p) { initialize(main_win); } diff -r f625b7670c0e -r 67eccd062618 libgui/qterminal/libqterminal/unix/QUnixTerminalImpl.h --- a/libgui/qterminal/libqterminal/unix/QUnixTerminalImpl.h Tue May 18 09:08:45 2021 -0400 +++ b/libgui/qterminal/libqterminal/unix/QUnixTerminalImpl.h Tue May 18 22:17:34 2021 +0200 @@ -36,7 +36,7 @@ int fdstderr; public: - QUnixTerminalImpl(QWidget *parent, QWidget *main_win); + QUnixTerminalImpl(octave::base_qobject&, QWidget *parent, QWidget *main_win); virtual ~QUnixTerminalImpl(); void setTerminalFont(const QFont &font); diff -r f625b7670c0e -r 67eccd062618 libgui/qterminal/libqterminal/win32/QWinTerminalImpl.cpp --- a/libgui/qterminal/libqterminal/win32/QWinTerminalImpl.cpp Tue May 18 09:08:45 2021 -0400 +++ b/libgui/qterminal/libqterminal/win32/QWinTerminalImpl.cpp Tue May 18 22:17:34 2021 +0200 @@ -1441,8 +1441,9 @@ ////////////////////////////////////////////////////////////////////////////// -QWinTerminalImpl::QWinTerminalImpl (QWidget* parent, QWidget* main_win) - : QTerminal (parent), d (new QConsolePrivate (this)), +QWinTerminalImpl::QWinTerminalImpl (octave::base_qobject& oct_qobj, + QWidget* parent, QWidget* main_win) + : QTerminal (oct_qobj, parent), d (new QConsolePrivate (this)), allowTripleClick (false) { installEventFilter (this); diff -r f625b7670c0e -r 67eccd062618 libgui/qterminal/libqterminal/win32/QWinTerminalImpl.h --- a/libgui/qterminal/libqterminal/win32/QWinTerminalImpl.h Tue May 18 09:08:45 2021 -0400 +++ b/libgui/qterminal/libqterminal/win32/QWinTerminalImpl.h Tue May 18 22:17:34 2021 +0200 @@ -49,7 +49,7 @@ friend class QConsoleView; public: - QWinTerminalImpl (QWidget* parent, QWidget* main_win); + QWinTerminalImpl (octave::base_qobject&, QWidget* parent, QWidget* main_win); QWinTerminalImpl (const QString& cmd, QWidget* parent = 0); ~QWinTerminalImpl (void); diff -r f625b7670c0e -r 67eccd062618 libgui/src/m-editor/file-editor.cc --- a/libgui/src/m-editor/file-editor.cc Tue May 18 09:08:45 2021 -0400 +++ b/libgui/src/m-editor/file-editor.cc Tue May 18 22:17:34 2021 +0200 @@ -2556,12 +2556,6 @@ connect (this, &file_editor::update_gui_lexer_signal, f, &file_editor_tab::update_lexer_settings); - // FIXME: What was the intent here? The - // main_window::handle_show_doc slot no longer exists. - // - // connect (f->qsci_edit_area (), SIGNAL (show_doc_signal (const QString&)), - // main_win (), SLOT (handle_show_doc (const QString&))); - // Convert other signals from the edit area and tab to editor signals. connect (f->qsci_edit_area (), &octave_qscintilla::execute_command_in_terminal_signal, diff -r f625b7670c0e -r 67eccd062618 libgui/src/m-editor/octave-qscintilla.cc --- a/libgui/src/m-editor/octave-qscintilla.cc Tue May 18 09:08:45 2021 -0400 +++ b/libgui/src/m-editor/octave-qscintilla.cc Tue May 18 22:17:34 2021 +0200 @@ -324,7 +324,7 @@ void octave_qscintilla::contextmenu_help_doc (bool documentation) { if (documentation) - emit show_doc_signal (m_word_at_cursor); + m_octave_qobj.show_documentation_window (m_word_at_cursor); else emit execute_command_in_terminal_signal ("help " + m_word_at_cursor); }