Make unread channels persist across sessions
This commit is contained in:
parent
4ee23bdff7
commit
1fd0c6966f
|
@ -72,7 +72,7 @@ def getChannelDisplayName(channel):
|
|||
else:
|
||||
channelName = "Group: [No name]"
|
||||
|
||||
if channel in unreadChannels:
|
||||
if channel.id in unreadChannels:
|
||||
channelName = "* " +channelName
|
||||
|
||||
return channelName
|
||||
|
@ -113,15 +113,15 @@ class dbfApp:
|
|||
index += 1
|
||||
|
||||
if activeWindow.type == "channel":
|
||||
if activeWindow.channel in unreadChannels:
|
||||
if activeWindow.channel.id in unreadChannels:
|
||||
if activeWindow.messageLog.scrollbar.value() == activeWindow.messageLog.scrollbar.maximum():
|
||||
del unreadChannels[unreadChannels.index(activeWindow.channel)]
|
||||
del unreadChannels[unreadChannels.index(activeWindow.channel.id)]
|
||||
|
||||
index = 0
|
||||
while index < length:
|
||||
gui = openGuis[index]
|
||||
if gui.type == "channel":
|
||||
if gui.channel in unreadChannels:
|
||||
if gui.channel.id in unreadChannels:
|
||||
if gui.read == False: index += 1; continue
|
||||
gui.title = getChannelDisplayName(gui.channel)
|
||||
gui.window.setWindowTitle(getTitle(gui.title))
|
||||
|
@ -139,6 +139,9 @@ class dbfApp:
|
|||
if gui.type == "channels":
|
||||
gui.repopulateChannels("conversations")
|
||||
oldUnreadChannels = unreadChannels.copy()
|
||||
fh = open(p(loginPath,"unreadChannels.json"),"w")
|
||||
fh.write(json.dumps(unreadChannels))
|
||||
fh.close()
|
||||
|
||||
conditions = []
|
||||
length = len(guiTasks)
|
||||
|
@ -592,7 +595,7 @@ class guiChannel:
|
|||
self.window.resize(self.width,self.height)
|
||||
|
||||
self.channel = channel
|
||||
self.read = (not channel in unreadChannels)
|
||||
self.read = (not channel.id in unreadChannels)
|
||||
self.messages = []
|
||||
self.pendingMessages = []
|
||||
|
||||
|
@ -730,7 +733,7 @@ def discordClient(token):
|
|||
|
||||
fetchMsgs = False
|
||||
guiLock.acquire()
|
||||
if not channel in unreadChannels: unreadChannels.append(channel)
|
||||
if not channel.id in unreadChannels: unreadChannels.append(channel.id)
|
||||
for gui in openGuis:
|
||||
if gui.type == "channel":
|
||||
if channel != gui.channel: continue
|
||||
|
@ -835,7 +838,7 @@ def discordClient(token):
|
|||
|
||||
if type(message.channel) in channelFilter:
|
||||
addGuiTask(None,playNotificationSound,(),{})
|
||||
if not message.channel in unreadChannels: unreadChannels.append(message.channel)
|
||||
if not message.channel.id in unreadChannels: unreadChannels.append(message.channel.id)
|
||||
|
||||
for gui in openGuis:
|
||||
if gui.type == "channels":
|
||||
|
@ -906,6 +909,12 @@ def init(nlogin):
|
|||
with open(p(loginPath,"token")) as tokenFile:
|
||||
token = tokenFile.read()
|
||||
|
||||
if os.path.isfile(p(loginPath,"unreadChannels.json")):
|
||||
global unreadChannels
|
||||
fh = open(p(loginPath,"unreadChannels.json"))
|
||||
unreadChannels = json.loads(fh.read())
|
||||
fh.close()
|
||||
|
||||
guiLock.acquire()
|
||||
for gui in openGuis:
|
||||
if gui.type == "loginProgress":
|
||||
|
|
Loading…
Reference in New Issue