Only add autojoin to a bookmark on creation if the room is not bookmarked

With synchronise_open_rooms, otherwise you just have autojoin added
everytime, which is probably not what you want.
This commit is contained in:
mathieui 2020-05-28 00:28:23 +02:00
parent 5cf90368c6
commit 9e3958c67d
3 changed files with 3 additions and 2 deletions

View file

@ -11,6 +11,7 @@ https://dev.louiz.org/projects/poezio/roadmap
- Contacts wont be seen playing games or music when they actually stop doing
so.
- /leave now toggles off the autojoin flag instead of removing the bookmark.
- Only add auotjoin on new bookmarks for synchronise_open_rooms on /join
- /affiliation displays things in the info win instead of directly in the room,
and additionally displays which room it refers to.
- List the correct required versions for package maintainers.

View file

@ -171,7 +171,7 @@ class BookmarkList:
return self.bookmarks[key]
return None
def __in__(self, key) -> bool:
def __contains__(self, key) -> bool:
if isinstance(key, (str, JID)):
for bookmark in self.bookmarks:
if bookmark.jid == key:

View file

@ -401,7 +401,7 @@ class CommandCore:
tab.password = password
tab.join()
if config.get('synchronise_open_rooms'):
if config.get('synchronise_open_rooms') and room not in self.core.bookmarks:
method = 'remote' if config.get(
'use_remote_bookmarks') else 'local'
self._add_bookmark('%s/%s' % (room, nick), True, password, method)