selected Stripables now have a counter to indicate the order they were selected in
This commit is contained in:
parent
02cf331403
commit
67ba18d154
@ -158,6 +158,8 @@ class LIBARDOUR_API PresentationInfo : public PBD::Stateful
|
||||
|
||||
bool order_set() const { return _flags & OrderSet; }
|
||||
|
||||
int selection_cnt() const { return _selection_cnt; }
|
||||
|
||||
bool hidden() const { return _flags & Hidden; }
|
||||
bool selected() const { return _flags & Selected; }
|
||||
bool special() const { return _flags & (MasterOut|MonitorOut|Auditioner); }
|
||||
@ -263,11 +265,14 @@ class LIBARDOUR_API PresentationInfo : public PBD::Stateful
|
||||
order_t _order;
|
||||
Flag _flags;
|
||||
color_t _color;
|
||||
int _selection_cnt;
|
||||
|
||||
static PBD::PropertyChange _pending_static_changes;
|
||||
static Glib::Threads::Mutex static_signal_lock;
|
||||
static int _change_signal_suspended;
|
||||
static void send_static_change (const PBD::PropertyChange&);
|
||||
|
||||
static int selection_counter;
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -43,6 +43,7 @@ PBD::Signal1<void,PropertyChange const &> PresentationInfo::Change;
|
||||
Glib::Threads::Mutex PresentationInfo::static_signal_lock;
|
||||
int PresentationInfo::_change_signal_suspended = 0;
|
||||
PBD::PropertyChange PresentationInfo::_pending_static_changes;
|
||||
int PresentationInfo::selection_counter = 0;
|
||||
|
||||
namespace ARDOUR {
|
||||
namespace Properties {
|
||||
@ -243,8 +244,10 @@ PresentationInfo::set_selected (bool yn)
|
||||
if (yn != selected()) {
|
||||
if (yn) {
|
||||
_flags = Flag (_flags | Selected);
|
||||
_selection_cnt = g_atomic_int_add (&selection_counter, 1);
|
||||
} else {
|
||||
_flags = Flag (_flags & ~Selected);
|
||||
_selection_cnt = 0;
|
||||
}
|
||||
send_change (PropertyChange (Properties::selected));
|
||||
send_static_change (PropertyChange (Properties::selected));
|
||||
|
Loading…
Reference in New Issue
Block a user