From 3b9be01cc5c91adfad3c6b35631157cb4fec3977 Mon Sep 17 00:00:00 2001 From: Iuri Matias Date: Fri, 8 May 2020 18:12:32 -0400 Subject: [PATCH] move subscriber logic to level above the view --- src/applicationLogic.nim | 13 ------------- src/nim_status_client.nim | 15 ++++++++++++++- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/applicationLogic.nim b/src/applicationLogic.nim index e6cb0fcde0..a59e010b36 100644 --- a/src/applicationLogic.nim +++ b/src/applicationLogic.nim @@ -2,7 +2,6 @@ import NimQml import status import libstatus import json -import state var signalHandler: SignalCallback = proc(p0: cstring): void = setupForeignThreadGc() @@ -38,18 +37,6 @@ QtObject: result.accountResult = status.queryAccounts() status.subscribeToTest() - var appState = state.newAppState() - echo appState.title - appState.subscribe(proc () = - echo "1nd subscriber got a new update!" - for channel in appState.channels: - echo channel.name - ) - - appState.addChannel("test") - appState.addChannel("test2") - # result.chats.add(ChatView(name: "test")) - # ¯\_(ツ)_/¯ dunno what is this proc setup(self: ApplicationLogic) = # discard status.onMessage(self.onMessage) diff --git a/src/nim_status_client.nim b/src/nim_status_client.nim index 59c2d3b735..22e067ac35 100644 --- a/src/nim_status_client.nim +++ b/src/nim_status_client.nim @@ -1,6 +1,7 @@ import NimQml import applicationLogic import chats +import state proc mainProc() = @@ -27,7 +28,19 @@ proc mainProc() = let chatsVariant = newQVariant(chatsModel) defer: chatsVariant.delete - chatsModel.addNameTolist("hello") + + var appState = state.newAppState() + echo appState.title + + appState.subscribe(proc () = + chatsModel.names = @[] + for channel in appState.channels: + echo channel.name + chatsModel.addNameTolist(channel.name) + ) + + appState.addChannel("test") + appState.addChannel("test2") engine.setRootContextProperty("logic", logicVariant) engine.setRootContextProperty("chatsModel", chatsVariant)