changeset 29550:8dd0fca2a3d9

where possible, use default destructors in GUI classes In most cases, don't explicitly delete objects that have parents in the QObject class hierarchy as they will be deleted automatically when the parent object is deleted. Explicitly declare more destructors as "default". Files affected: dialog.cc, dialog.h, documentation-bookmarks.cc, documentation-bookmarks.h, documentation-dock-widget.cc, documentation-dock-widget.h, documentation.cc, documentation.h, m-editor/file-editor.cc, m-editor/file-editor.h, main-window.cc, main-window.h, set-path-dialog.cc, set-path-dialog.h, tab-bar.cc, tab-bar.h, terminal-dock-widget.cc, and terminal-dock-widget.h.
author John W. Eaton <jwe@octave.org>
date Thu, 22 Apr 2021 12:52:14 -0400
parents cf02394695b3
children 06f4bb661d96
files libgui/src/dialog.cc libgui/src/dialog.h libgui/src/documentation-bookmarks.cc libgui/src/documentation-bookmarks.h libgui/src/documentation-dock-widget.cc libgui/src/documentation-dock-widget.h libgui/src/documentation.cc libgui/src/documentation.h libgui/src/m-editor/file-editor.cc libgui/src/m-editor/file-editor.h libgui/src/main-window.cc libgui/src/main-window.h libgui/src/set-path-dialog.cc libgui/src/set-path-dialog.h libgui/src/tab-bar.cc libgui/src/tab-bar.h libgui/src/terminal-dock-widget.cc libgui/src/terminal-dock-widget.h
diffstat 18 files changed, 22 insertions(+), 53 deletions(-) [+]
line wrap: on
line diff
--- a/libgui/src/dialog.cc	Wed Apr 21 13:23:16 2021 -0400
+++ b/libgui/src/dialog.cc	Thu Apr 22 12:52:14 2021 -0400
@@ -394,7 +394,7 @@
                           const QStringList& prompt,
                           const QString& ok_string,
                           const QString& cancel_string)
-    : QDialog (), m_model (new QStringListModel (list))
+    : QDialog (), m_model (new QStringListModel (list, this))
   {
     QListView *view = new QListView;
     view->setModel (m_model);
@@ -486,11 +486,6 @@
              this, &ListDialog::item_double_clicked);
   }
 
-  ListDialog::~ListDialog (void)
-  {
-    delete m_model;
-  }
-
   void ListDialog::buttonOk_clicked (void)
   {
     // Store information about what button was pressed so that builtin
--- a/libgui/src/dialog.h	Wed Apr 21 13:23:16 2021 -0400
+++ b/libgui/src/dialog.h	Thu Apr 22 12:52:14 2021 -0400
@@ -181,6 +181,8 @@
                    const QStringList& button, const QString& defbutton,
                    const QStringList& role);
 
+    ~MessageDialog (void) = default;
+
   private:
 
     void closeEvent (QCloseEvent *)
@@ -205,7 +207,7 @@
                 const QStringList& prompt, const QString& ok_string,
                 const QString& cancel_string);
 
-    ~ListDialog (void);
+    ~ListDialog (void) = default;
 
   signals:
 
@@ -238,6 +240,8 @@
                  const QString& title, const QFloatList& nr,
                  const QFloatList& nc, const QStringList& defaults);
 
+    ~InputDialog (void) = default;
+
   signals:
 
     void finish_input (const QStringList&, int);
@@ -261,6 +265,8 @@
                 const QString& title, const QString& filename,
                 const QString& dirname, const QString& multimode);
 
+    ~FileDialog (void) = default;
+
   signals:
 
     void finish_input (const QStringList&, const QString&, int);
--- a/libgui/src/documentation-bookmarks.cc	Wed Apr 21 13:23:16 2021 -0400
+++ b/libgui/src/documentation-bookmarks.cc	Thu Apr 22 12:52:14 2021 -0400
@@ -153,9 +153,6 @@
     setLayout (v_box_bm);
   }
 
-  documentation_bookmarks::~documentation_bookmarks (void)
-  { }
-
   // Slot for adding the current page as a bookmark
   void documentation_bookmarks::add_bookmark (void)
   {
--- a/libgui/src/documentation-bookmarks.h	Wed Apr 21 13:23:16 2021 -0400
+++ b/libgui/src/documentation-bookmarks.h	Thu Apr 22 12:52:14 2021 -0400
@@ -49,7 +49,8 @@
     documentation_bookmarks (
                 documentation *doc, documentation_browser *browser,
                 base_qobject& oct_qobj, QWidget *p = nullptr);
-    ~documentation_bookmarks (void);
+
+    ~documentation_bookmarks (void) = default;
 
   public slots:
 
--- a/libgui/src/documentation-dock-widget.cc	Wed Apr 21 13:23:16 2021 -0400
+++ b/libgui/src/documentation-dock-widget.cc	Thu Apr 22 12:52:14 2021 -0400
@@ -35,13 +35,13 @@
 {
   documentation_dock_widget::documentation_dock_widget (QWidget *p,
                                                         base_qobject& oct_qobj)
-    : octave_dock_widget ("DocumentationDockWidget", p, oct_qobj)
+    : octave_dock_widget ("DocumentationDockWidget", p, oct_qobj),
+      m_docs (new documentation (this, oct_qobj))
   {
     setWindowIcon (QIcon (":/actions/icons/logo.png"));
     set_title (tr ("Documentation"));
     setStatusTip (tr ("See the documentation for help."));
 
-    m_docs = new documentation (this, oct_qobj);
     setWidget (m_docs);
 
     connect (p, SIGNAL (show_doc_signal (const QString&)),
@@ -54,12 +54,6 @@
              this, SLOT (unregisterDoc (const QString&)));
   }
 
-  documentation_dock_widget::~documentation_dock_widget (void)
-  {
-    if (m_docs)
-      delete m_docs;
-  }
-
   void documentation_dock_widget::notice_settings (const gui_settings *settings)
   {
     m_docs->notice_settings (settings);
--- a/libgui/src/documentation-dock-widget.h	Wed Apr 21 13:23:16 2021 -0400
+++ b/libgui/src/documentation-dock-widget.h	Thu Apr 22 12:52:14 2021 -0400
@@ -40,7 +40,8 @@
   public:
 
     documentation_dock_widget (QWidget *parent, base_qobject& oct_qobj);
-    ~documentation_dock_widget (void);
+
+    ~documentation_dock_widget (void) = default;
 
   signals:
 
--- a/libgui/src/documentation.cc	Wed Apr 21 13:23:16 2021 -0400
+++ b/libgui/src/documentation.cc	Thu Apr 22 12:52:14 2021 -0400
@@ -301,9 +301,6 @@
 
   documentation::~documentation (void)
   {
-    if (m_help_engine)
-      delete m_help_engine;
-
     // Cleanup temporary file and directory
     QFile file (m_collection);
     if (file.exists ())
@@ -967,9 +964,6 @@
              this, [=] (const QUrl& url) { handle_index_clicked (url); });
   }
 
-  documentation_browser::~documentation_browser (void)
-  { }
-
   void documentation_browser::handle_index_clicked (const QUrl& url,
                                                     const QString&)
   {
--- a/libgui/src/documentation.h	Wed Apr 21 13:23:16 2021 -0400
+++ b/libgui/src/documentation.h	Thu Apr 22 12:52:14 2021 -0400
@@ -53,7 +53,7 @@
   public:
 
     documentation_browser (QHelpEngine *help_engine, QWidget *parent = nullptr);
-    ~documentation_browser (void);
+    ~documentation_browser (void) = default;
 
     virtual QVariant loadResource (int type, const QUrl &url);
 
--- a/libgui/src/m-editor/file-editor.cc	Wed Apr 21 13:23:16 2021 -0400
+++ b/libgui/src/m-editor/file-editor.cc	Thu Apr 22 12:52:14 2021 -0400
@@ -127,11 +127,6 @@
     setFocusPolicy (Qt::StrongFocus);
   }
 
-  file_editor::~file_editor (void)
-  {
-    delete m_mru_file_menu;
-  }
-
   void file_editor::focusInEvent (QFocusEvent *e)
   {
     // The focus is transferred to the active tab and its edit
--- a/libgui/src/m-editor/file-editor.h	Wed Apr 21 13:23:16 2021 -0400
+++ b/libgui/src/m-editor/file-editor.h	Thu Apr 22 12:52:14 2021 -0400
@@ -90,7 +90,7 @@
 
     file_editor (QWidget *p, base_qobject& oct_qobj);
 
-    ~file_editor (void);
+    ~file_editor (void) = default;
 
     QMenu * get_mru_menu (void) { return m_mru_file_menu; }
 
--- a/libgui/src/main-window.cc	Wed Apr 21 13:23:16 2021 -0400
+++ b/libgui/src/main-window.cc	Thu Apr 22 12:52:14 2021 -0400
@@ -253,12 +253,6 @@
     focus_command_window ();
   }
 
-  main_window::~main_window (void)
-  {
-    delete m_release_notes_window;
-    delete m_community_news_window;
-  }
-
   bool main_window::command_window_has_focus (void) const
   {
     return m_command_window->has_focus ();
@@ -695,7 +689,7 @@
         // a title bar, so don't its parent to main_window.  Do remember
         // to delete in the main_window destructor.
 
-        m_release_notes_window = new QWidget ();
+        m_release_notes_window = new QWidget (this);
 
         QTextBrowser *browser = new QTextBrowser (m_release_notes_window);
         browser->setText (news);
@@ -770,7 +764,7 @@
         // a title bar, so don't its parent to main_window.  Do remember
         // to delete in the main_window destructor.
 
-        m_community_news_window = new QWidget ();
+        m_community_news_window = new QWidget (this);
 
         QTextBrowser *browser = new QTextBrowser (m_community_news_window);
 
--- a/libgui/src/main-window.h	Wed Apr 21 13:23:16 2021 -0400
+++ b/libgui/src/main-window.h	Thu Apr 22 12:52:14 2021 -0400
@@ -84,7 +84,7 @@
 
     main_window (base_qobject& oct_qobj);
 
-    ~main_window (void);
+    ~main_window (void) = default;
 
     bool command_window_has_focus (void) const;
 
--- a/libgui/src/set-path-dialog.cc	Wed Apr 21 13:23:16 2021 -0400
+++ b/libgui/src/set-path-dialog.cc	Thu Apr 22 12:52:14 2021 -0400
@@ -173,10 +173,6 @@
       settings->value(pd_geometry.key).toByteArray());
   }
 
-  set_path_dialog::~set_path_dialog (void)
-  {
-  }
-
   void set_path_dialog::update_model (void)
   {
     set_path_model *m = static_cast<set_path_model *> (m_path_list->model ());
--- a/libgui/src/set-path-dialog.h	Wed Apr 21 13:23:16 2021 -0400
+++ b/libgui/src/set-path-dialog.h	Thu Apr 22 12:52:14 2021 -0400
@@ -55,7 +55,7 @@
 
     set_path_dialog (QWidget *parent, base_qobject& oct_qobj);
 
-    virtual ~set_path_dialog (void);
+    virtual ~set_path_dialog (void) = default;
 
     void save_settings (void);
 
--- a/libgui/src/tab-bar.cc	Wed Apr 21 13:23:16 2021 -0400
+++ b/libgui/src/tab-bar.cc	Thu Apr 22 12:52:14 2021 -0400
@@ -42,8 +42,6 @@
     : QTabBar (p), m_context_menu (new QMenu (this))
   { }
 
-  tab_bar::~tab_bar (void) { }
-
   void tab_bar::set_rotated (int rotated)
   {
     m_rotated = rotated;
--- a/libgui/src/tab-bar.h	Wed Apr 21 13:23:16 2021 -0400
+++ b/libgui/src/tab-bar.h	Thu Apr 22 12:52:14 2021 -0400
@@ -49,7 +49,7 @@
 
     tab_bar (QWidget *p);
 
-    ~tab_bar (void);
+    ~tab_bar (void) = default;
 
     void set_rotated (int rotated);
     QMenu *get_context_menu (void) { return m_context_menu; };
--- a/libgui/src/terminal-dock-widget.cc	Wed Apr 21 13:23:16 2021 -0400
+++ b/libgui/src/terminal-dock-widget.cc	Thu Apr 22 12:52:14 2021 -0400
@@ -119,8 +119,6 @@
     setGeometry (0, 0, win_x, win_y);
   }
 
-  terminal_dock_widget::~terminal_dock_widget (void) { }
-
   bool terminal_dock_widget::has_focus (void) const
   {
     QWidget *w = widget ();
--- a/libgui/src/terminal-dock-widget.h	Wed Apr 21 13:23:16 2021 -0400
+++ b/libgui/src/terminal-dock-widget.h	Thu Apr 22 12:52:14 2021 -0400
@@ -42,7 +42,7 @@
 
     terminal_dock_widget (QWidget *parent, base_qobject& oct_qobj);
 
-    ~terminal_dock_widget (void);
+    ~terminal_dock_widget (void) = default;
 
     bool has_focus (void) const;