Mercurial > octave
changeset 29691:67eccd062618
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
author | Torsten Lilge <ttl-octave@mailbox.org> |
---|---|
date | Tue, 18 May 2021 22:17:34 +0200 |
parents | f625b7670c0e |
children | b4e2c6150976 |
files | libgui/qterminal/libqterminal/QTerminal.cc libgui/qterminal/libqterminal/QTerminal.h libgui/qterminal/libqterminal/unix/QUnixTerminalImpl.cpp libgui/qterminal/libqterminal/unix/QUnixTerminalImpl.h libgui/qterminal/libqterminal/win32/QWinTerminalImpl.cpp libgui/qterminal/libqterminal/win32/QWinTerminalImpl.h libgui/src/m-editor/file-editor.cc libgui/src/m-editor/octave-qscintilla.cc |
diffstat | 8 files changed, 17 insertions(+), 21 deletions(-) [+] |
line wrap: on
line diff
--- 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)));
--- 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;
--- 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 <termios.h> -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); }
--- 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);
--- 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);
--- 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);
--- 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,
--- 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); }