Mercurial > octave
view libgui/src/history-dock-widget.h @ 22177:6e9f5408c0db
Save settings in Qt convention, delete all children in destructors (bug #45366)
* QUnixTerminalImpl.cpp (QUnixTerminalImpl::~QUnixTerminalImpl): Delete
dynamic objects pointed to by m_terminal (TerminalModel), m_kpty (KPty) and
m_terminalView (TerminalView). (bug fix)
* files-dock-widget.cc: (files_dock_widget::~files_dock_widget): Rename to
save_settings. Return if variable 'settings' is not valid object pointer.
(files_dock_widget::save_settings): Added. Similar code as destructor was.
Call base class octave_dock_widget::save_settings at end of routine.
* files-dock-widget.h: (files_dock_widget::~files_dock_widget): Provide empty
destructor.
(files_dock_widget::save_settings): Added, public slot.
* find-files-dialog.cc: (find_files_dialog::~find_files_dialog): Moved most
of the code, except the statement deleting the directory iterator, to
new routine save_settings.
(find_files_dialog::save_settings): Added. Large portion of the code that was
in the destructor. Return immediately if variable 'settings' is not valid
object pointer.
* find-files-dialog.h: (find_files_dialog::save_settings): Added, public slot.
* history-dock-widget.cc: (history_dock_widget::~history_dock_widget): Rename
to save_settings. Return if variable 'settings' is not valid object pointer.
(history_dock_widget::save_settings): Similar code as destructor was. Call
base class octave_dock_widget::save_settings at end of routine.
* history-dock-widget.h: (history_dock_widget::~history_dock_widget): Provide
empty destructor.
(history_dock_widget::save_settings): Added, public slot.
* main-window.cc (main_window::prepare_to_exit): If find_files_dlg is valid,
call the object's save_settings routine.
(main_window::construct): Connect appropriate slot of all objects that must
save_settings information to the qApp aboutToQuit signal. (Except for
find_files_dlg, see above.) At end of this sequence, connect aboutToQuit to
the shortcut_manager and resource_manager function that deletes instance.
* octave-dock-widget.cc: (octave_dock_widget::~octave_dock_widget): Rename to
save_settings. Return if variable 'settings' is not valid object pointer.
(octave_dock_widget::save_settings): Similar code as destructor was.
* octave-dock-widget.h: (octave_dock_widget::~octave_dock_widget): Provide
empty destructor.
(octave_dock_widget::save_settings): Added, public slot.
* octave-qt-link.cc (octave_qt_link::do_prompt_new_edit_file): Check that
'settings' pointer is valid before using.
* resource-manager.cc: Remove "singleton-cleanup.h" header reference.
(resource_manager::instance_ok): Do not add cleanup_instance to worker
thread's exit cleanup procedure.
* resource-manager.h (resource_manager::instance) Change variable to public for
connecting.
(resource_manager::cleanup_instance) Change to a public slot for connecting to
qApp aboutToQuit signal.
(resource_manager::resource_manager): Remove an unused variation of the
constructor.
(resource_manager::operator =) Removed.
* settings-dialog.cc: Add QMessageBox to header file list.
(settings_dialog::settings_dialog): If QSettings pointer settings is not valid
return immediately.
(settings_dialog::show_tab): Condition setting the current index on pointer
'settings' being valid.
(settings_dialog::write_changed_settings): Remove FIXME comment. If the
settings are not valid, display a dialog about missing file and return.
* shortcut-manager.cc: Remove "singleton-cleanup.h" header reference.
(shortcut_manager::instance_ok): Do not add cleanup_instance to worker
thread's exit cleanup procedure.
* shortcut-manager.h (shortcut_manager::instance) Change variable to public for
connecting.
(shortcut_manager::cleanup_instance) Change to a public slot for connecting to
qApp aboutToQuit signal.
(shortcut_manager::shortcut_manager): Remove an unused variation of the
constructor.
(shortcut_manager::operator =) Removed.
* terminal-dock-widget.cc (terminal_dock_widget::~terminal_dock_widget): Added.
Delete QTerminal terminal. (bug fix)
* terminal-dock-widget.h (terminal_dock_widget::~terminal_dock_widget): Added.
* workspace-view.cc: (workspace_view::workspace_view): Place code hunk using
QSettings pointer 'settings' within a conditional block.
(workspace_view::~workspace_view): Rename to save_settings. Return if
variable 'settings' is not valid object pointer.
(workspace_view::save_settings): Almost same code as destructor was. Call base
class octave_dock_widget::save_settings at end of routine.
* workspace-view.h: (workspace_view::~workspace_view): Provide empty
destructor.
(workspace_view::save_settings): Added, public slot.
author | Daniel J Sebald <daniel.sebald@ieee.org> |
---|---|
date | Mon, 25 Jul 2016 17:44:02 -0400 |
parents | 710e700cdd7f |
children | bac0d6f07a3e |
line wrap: on
line source
/* Copyright (C) 2011-2015 Jacob Dawid This file is part of Octave. Octave is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. Octave is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Octave; see the file COPYING. If not, see <http://www.gnu.org/licenses/>. */ #if ! defined (octave_history_dock_widget_h) #define octave_history_dock_widget_h 1 #include <QLineEdit> #include <QListView> #include <QSortFilterProxyModel> #include <QStringListModel> #include <QComboBox> #include <QCheckBox> #include "octave-dock-widget.h" class history_dock_widget : public octave_dock_widget { Q_OBJECT public: history_dock_widget (QWidget *parent = 0); ~history_dock_widget (void) { } public slots: void set_history (const QStringList& hist); void append_history (const QString& hist_entry); void clear_history (void); void save_settings (void); signals: void information (const QString& message); /** Emitted, whenever the user double-clicked a command in the history. */ void command_double_clicked (const QString& command); /** Emitted whenever the user selects command and chooses Create script from popupmenu. */ void command_create_script (const QString& commands); private slots: void update_filter_history (); void filter_activate (bool enable); void handle_double_click (QModelIndex modelIndex); void handle_contextmenu_copy (bool flag); void handle_contextmenu_evaluate (bool flag); void handle_contextmenu_create_script (bool flag); void handle_contextmenu_filter (void); void ctxMenu (const QPoint &pos); void copyClipboard (); void pasteClipboard (); void selectAll (); virtual void handle_visibility (bool visible); private: void construct (); QListView *_history_list_view; QSortFilterProxyModel _sort_filter_proxy_model; /** Stores the current history_model. */ QStringListModel *_history_model; QCheckBox *_filter_checkbox; QComboBox *_filter; QWidget *_filter_widget; bool _filter_shown; enum { MaxFilterHistory = 10 }; }; #endif