## eventually only move past the last conference to minimize movement. see how this feels during usage. (or sort them alphabetically with conferences at the top) -Dan
#for position, session in enumerate(self.sessions):
# if session not in (dragged, sibling) and session.conference is None:
# if session not in (dragged, sibling) and session.client_conference is None:
# move_point = position
# break
#else:
...
...
@@ -1671,7 +1671,7 @@ class AudioSessionModel(QAbstractListModel):
# not the right place to do this. the list should do it (else the model needs a backreference to the list), however in addSessionAndConference we can't avoid doing it -Dan
...
...
@@ -1741,16 +1741,16 @@ class AudioSessionModel(QAbstractListModel):
return
ifsiblingnotinself.sessions:
raiseValueError('sibling %r not in sessions list'%sibling)
@@ -1835,18 +1835,18 @@ class AudioSessionModel(QAbstractListModel):
self.sessions.remove(session)
self.sessions.insert(move_point-index-1,session)
self.endMoveRows()
session.conference=None
session.client_conference=None
session.widget.selected=sessionisselected_session
session.active=sessionisselected_session
session_list.scrollToBottom()
self.structureChanged.emit()
def_SH_BlinkSessionConferenceChanged(self,old_conference,new_conference):# would this better be handled by the audio session item itself? (apparently not) -Dan
def_SH_BlinkSessionClientConferenceChanged(self,old_conference,new_conference):# would this better be handled by the audio session item itself? (apparently not) -Dan
blink_session=self.sender()
session=blink_session.items.audio
ifnotnew_conference:
session.widget.conference_position=None
session.widget.position_in_conference=None
session.widget.mute_button.hide()
ifsession.widget.mute_button.isChecked():
session.widget.mute_button.click()
...
...
@@ -1856,12 +1856,12 @@ class AudioSessionModel(QAbstractListModel):