summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-06-07 09:05:50 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-06-07 09:05:50 -0400
commitb40fe187758b6890579311a3250129288730a328 (patch)
treec6e878a895a589d44a2eb07f1f471fb1141b61b6 /gtk2_ardour
parenta88fa99049c3d4c5609f6cbcf4710ad56d77e964 (diff)
fix up inheritance heirarchy and constructors so that the Session Properties dialog IS-A ArdourWindow
... and is thus subject to Ctrl-w to close it
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/ardour_window.h2
-rw-r--r--gtk2_ardour/option_editor.cc7
-rw-r--r--gtk2_ardour/option_editor.h6
3 files changed, 8 insertions, 7 deletions
diff --git a/gtk2_ardour/ardour_window.h b/gtk2_ardour/ardour_window.h
index a4c5aaa0e4..fe97855a49 100644
--- a/gtk2_ardour/ardour_window.h
+++ b/gtk2_ardour/ardour_window.h
@@ -37,7 +37,7 @@ namespace WM {
* method of connecting and disconnecting from a Session with
* all other objects that have a handle on a Session.
*/
-class ArdourWindow : public Gtk::Window, public ARDOUR::SessionHandlePtr, public Gtkmm2ext::VisibilityTracker
+class ArdourWindow : public Gtk::Window, public virtual ARDOUR::SessionHandlePtr, public Gtkmm2ext::VisibilityTracker
{
public:
ArdourWindow (std::string title);
diff --git a/gtk2_ardour/option_editor.cc b/gtk2_ardour/option_editor.cc
index be3414552a..1088d1d9b4 100644
--- a/gtk2_ardour/option_editor.cc
+++ b/gtk2_ardour/option_editor.cc
@@ -470,7 +470,7 @@ OptionEditorPage::OptionEditorPage (Gtk::Notebook& n, std::string const & t)
* @param o Configuration to edit.
* @param t Title for the dialog.
*/
-OptionEditor::OptionEditor (PBD::Configuration* c, std::string const & t)
+OptionEditor::OptionEditor (PBD::Configuration* c)
: _config (c)
, option_tree (TreeStore::create (option_columns))
, option_treeview (option_tree)
@@ -718,7 +718,7 @@ DirectoryOption::selection_changed ()
/*--------------------------*/
OptionEditorContainer::OptionEditorContainer (PBD::Configuration* c, string const& str)
- : OptionEditor (c, str)
+ : OptionEditor (c)
{
set_border_width (4);
hpacker.pack_start (treeview(), false, false);
@@ -730,7 +730,8 @@ OptionEditorContainer::OptionEditorContainer (PBD::Configuration* c, string cons
}
OptionEditorWindow::OptionEditorWindow (PBD::Configuration* c, string const& str)
- : OptionEditor (c, str)
+ : OptionEditor (c)
+ , ArdourWindow (str)
{
container.set_border_width (4);
hpacker.pack_start (treeview(), false, false);
diff --git a/gtk2_ardour/option_editor.h b/gtk2_ardour/option_editor.h
index f29fe1ed47..e1b05b27e3 100644
--- a/gtk2_ardour/option_editor.h
+++ b/gtk2_ardour/option_editor.h
@@ -683,10 +683,10 @@ public:
};
/** The OptionEditor dialog base class */
-class OptionEditor : public ARDOUR::SessionHandlePtr, virtual public sigc::trackable
+class OptionEditor : virtual public ARDOUR::SessionHandlePtr, virtual public sigc::trackable
{
public:
- OptionEditor (PBD::Configuration *, std::string const &);
+ OptionEditor (PBD::Configuration *);
~OptionEditor ();
void add_option (std::string const &, OptionEditorComponent *);
@@ -737,7 +737,7 @@ private:
};
/** The OptionEditor dialog-as-container base class */
-class OptionEditorWindow : public OptionEditor, public Gtk::Window
+class OptionEditorWindow : public OptionEditor, public ArdourWindow
{
public:
OptionEditorWindow (PBD::Configuration *, std::string const &);