From 31b0207dccbf4550a65b97f1e3df6cafdf256f70 Mon Sep 17 00:00:00 2001 From: Richard Ramos Date: Tue, 2 Jun 2020 12:53:18 -0400 Subject: [PATCH] refactor: Use status object --- src/app/chat/core.nim | 10 +++++----- src/status/mailservers.nim | 4 ++-- src/status/status.nim | 3 +++ 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/app/chat/core.nim b/src/app/chat/core.nim index 99f1a05ecc..3f3143dc31 100644 --- a/src/app/chat/core.nim +++ b/src/app/chat/core.nim @@ -41,17 +41,17 @@ proc handleChatEvents(self: ChatController) = let chatItem = newChatItem(id = channelMessage.channel, channelMessage.chatTypeInt) discard self.view.chats.addChatItemToList(chatItem) - self.chatModel.events.on("channelLeft") do(e: Args): + self.status.events.on("channelLeft") do(e: Args): discard self.view.chats.removeChatItemFromList(self.view.activeChannel) - self.chatModel.events.on("activeChannelChanged") do(e: Args): + self.status.events.on("activeChannelChanged") do(e: Args): self.view.setActiveChannel(ChannelArgs(e).channel) proc init*(self: ChatController) = self.handleChatEvents() - self.chatModel.init() - self.mailserverModel.init() + self.status.chat.init() + self.status.mailservers.init() self.view.setActiveChannelByIndex(0) @@ -68,7 +68,7 @@ proc handleMessage(self: ChatController, data: Signal) = proc handleDiscoverySummary(self: ChatController, data: Signal) = var discovery = DiscoverySummarySignal(data) - self.mailserverModel.peerSummaryChange(discovery.enodes) + self.status.mailservers.peerSummaryChange(discovery.enodes) method onSignal(self: ChatController, data: Signal) = case data.signalType: diff --git a/src/status/mailservers.nim b/src/status/mailservers.nim index 541aa57129..aa63a726b3 100644 --- a/src/status/mailservers.nim +++ b/src/status/mailservers.nim @@ -32,9 +32,9 @@ proc cmpMailserverReply(x, y: (string, int)): int = proc poolSize(fleetSize: int): int = ceil(fleetSize / 4).int -proc newMailserverModel*(): MailserverModel = +proc newMailserverModel*(events: EventEmitter): MailserverModel = result = MailserverModel() - result.events = createEventEmitter() + result.events = events result.nodes = initTable[string, MailserverStatus]() proc trustPeer*(self: MailserverModel, enode:string) = diff --git a/src/status/status.nim b/src/status/status.nim index acdcacb0a1..a7212d97ab 100644 --- a/src/status/status.nim +++ b/src/status/status.nim @@ -8,10 +8,12 @@ import chat as chat import accounts as accounts import wallet as wallet import node as node +import mailservers as mailservers type Status* = ref object events*: EventEmitter chat*: ChatModel + mailservers*: MailserverModel accounts*: AccountModel wallet*: WalletModel node*: NodeModel @@ -23,6 +25,7 @@ proc newStatusInstance*(): Status = result.accounts = accounts.newAccountModel() result.wallet = wallet.newWalletModel() result.node = node.newNodeModel() + result.mailservers = mailservers.newMailserverModel(result.events) proc initNodeAccounts*(self: Status): seq[NodeAccount] = libstatus_accounts.initNodeAccounts()