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
This commit is contained in:
Paul Davis 2016-06-07 09:05:50 -04:00
parent a88fa99049
commit b40fe18775
3 changed files with 8 additions and 7 deletions

View file

@ -37,7 +37,7 @@ namespace WM {
* method of connecting and disconnecting from a Session with * method of connecting and disconnecting from a Session with
* all other objects that have a handle on a Session. * 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: public:
ArdourWindow (std::string title); ArdourWindow (std::string title);

View file

@ -470,7 +470,7 @@ OptionEditorPage::OptionEditorPage (Gtk::Notebook& n, std::string const & t)
* @param o Configuration to edit. * @param o Configuration to edit.
* @param t Title for the dialog. * @param t Title for the dialog.
*/ */
OptionEditor::OptionEditor (PBD::Configuration* c, std::string const & t) OptionEditor::OptionEditor (PBD::Configuration* c)
: _config (c) : _config (c)
, option_tree (TreeStore::create (option_columns)) , option_tree (TreeStore::create (option_columns))
, option_treeview (option_tree) , option_treeview (option_tree)
@ -718,7 +718,7 @@ DirectoryOption::selection_changed ()
/*--------------------------*/ /*--------------------------*/
OptionEditorContainer::OptionEditorContainer (PBD::Configuration* c, string const& str) OptionEditorContainer::OptionEditorContainer (PBD::Configuration* c, string const& str)
: OptionEditor (c, str) : OptionEditor (c)
{ {
set_border_width (4); set_border_width (4);
hpacker.pack_start (treeview(), false, false); 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) OptionEditorWindow::OptionEditorWindow (PBD::Configuration* c, string const& str)
: OptionEditor (c, str) : OptionEditor (c)
, ArdourWindow (str)
{ {
container.set_border_width (4); container.set_border_width (4);
hpacker.pack_start (treeview(), false, false); hpacker.pack_start (treeview(), false, false);

View file

@ -683,10 +683,10 @@ public:
}; };
/** The OptionEditor dialog base class */ /** 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: public:
OptionEditor (PBD::Configuration *, std::string const &); OptionEditor (PBD::Configuration *);
~OptionEditor (); ~OptionEditor ();
void add_option (std::string const &, OptionEditorComponent *); void add_option (std::string const &, OptionEditorComponent *);
@ -737,7 +737,7 @@ private:
}; };
/** The OptionEditor dialog-as-container base class */ /** The OptionEditor dialog-as-container base class */
class OptionEditorWindow : public OptionEditor, public Gtk::Window class OptionEditorWindow : public OptionEditor, public ArdourWindow
{ {
public: public:
OptionEditorWindow (PBD::Configuration *, std::string const &); OptionEditorWindow (PBD::Configuration *, std::string const &);