remember plugin-UI type (custom/basic) with session.
amend to 3.1-81-g1acf8bd
This commit is contained in:
parent
04967de3af
commit
4341d675dc
|
@ -2642,6 +2642,38 @@ ProcessorWindowProxy::session_handle()
|
|||
return 0;
|
||||
}
|
||||
|
||||
XMLNode&
|
||||
ProcessorWindowProxy::get_state () const
|
||||
{
|
||||
XMLNode *node;
|
||||
node = &ProxyBase::get_state();
|
||||
node->add_property (X_("custom-ui"), is_custom? X_("yes") : X_("no"));
|
||||
return *node;
|
||||
}
|
||||
|
||||
void
|
||||
ProcessorWindowProxy::set_state (const XMLNode& node)
|
||||
{
|
||||
XMLNodeList children = node.children ();
|
||||
XMLNodeList::const_iterator i = children.begin ();
|
||||
while (i != children.end()) {
|
||||
XMLProperty* prop = (*i)->property (X_("name"));
|
||||
if ((*i)->name() == X_("Window") && prop && prop->value() == _name) {
|
||||
break;
|
||||
}
|
||||
++i;
|
||||
}
|
||||
|
||||
if (i != children.end()) {
|
||||
XMLProperty* prop;
|
||||
if ((prop = (*i)->property (X_("custom-ui"))) != 0) {
|
||||
want_custom = PBD::string_is_affirmative (prop->value ());
|
||||
}
|
||||
}
|
||||
|
||||
ProxyBase::set_state(node);
|
||||
}
|
||||
|
||||
Gtk::Window*
|
||||
ProcessorWindowProxy::get (bool create)
|
||||
{
|
||||
|
|
|
@ -92,6 +92,9 @@ class ProcessorWindowProxy : public WM::ProxyBase
|
|||
|
||||
bool marked;
|
||||
|
||||
void set_state (const XMLNode&);
|
||||
XMLNode& get_state () const;
|
||||
|
||||
private:
|
||||
ProcessorBox* _processor_box;
|
||||
boost::weak_ptr<ARDOUR::Processor> _processor;
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
#include "ardour_dialog.h"
|
||||
#include "ardour_window.h"
|
||||
#include "window_manager.h"
|
||||
#include "processor_box.h"
|
||||
|
||||
#include "i18n.h"
|
||||
|
||||
|
@ -106,7 +107,12 @@ Manager::add_state (XMLNode& root) const
|
|||
if (dynamic_cast<ProxyTemporary*> (*i)) {
|
||||
continue;
|
||||
}
|
||||
root.add_child_nocopy ((*i)->get_state());
|
||||
if (dynamic_cast<ProcessorWindowProxy*> (*i)) {
|
||||
ProcessorWindowProxy *pi = dynamic_cast<ProcessorWindowProxy*> (*i);
|
||||
root.add_child_nocopy (pi->get_state());
|
||||
} else {
|
||||
root.add_child_nocopy ((*i)->get_state());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue