diff --git a/src/app/chat/core.nim b/src/app/chat/core.nim index b64f85b9bb..7ea82107d1 100644 --- a/src/app/chat/core.nim +++ b/src/app/chat/core.nim @@ -1,6 +1,5 @@ import NimQml import json, eventemitter -import ../../status/chat as status_chat import ../../models/chat as chat_model import ../../signals/types import view diff --git a/src/app/profile/profileView.nim b/src/app/profile/profileView.nim new file mode 100644 index 0000000000..1e7936a80f --- /dev/null +++ b/src/app/profile/profileView.nim @@ -0,0 +1,58 @@ +import NimQml +import mailserversList + +QtObject: + type ProfileView* = ref object of QObject + username*: string + identicon*: string + mailserversList*: MailServersList + + proc setup(self: ProfileView) = + self.QObject.setup + + proc delete*(self: ProfileView) = + self.QObject.delete + + proc newProfileView*(): ProfileView = + new(result, delete) + result.username = "" + result.identicon = "" + result.mailserversList = newMailServersList() + result.setup + + proc username*(self: ProfileView): string {.slot.} = + result = self.username + + proc receivedUsername*(self: ProfileView, username: string) {.signal.} + + proc addMailserverToList*(self: ProfileView, name: string, endpoint: string) {.slot.} = + self.mailserversList.add(name, endpoint) + + proc setUsername*(self: ProfileView, username: string) {.slot.} = + self.username = username + self.receivedUsername(username) + + QtProperty[string] username: + read = username + write = setUsername + notify = receivedUsername + + proc identicon*(self: ProfileView): string {.slot.} = + result = self.identicon + + proc getMailserversList(self: ProfileView): QVariant {.slot.} = + return newQVariant(self.mailserversList) + + QtProperty[QVariant] mailserversList: + read = getMailserversList + + proc receivedIdenticon*(self: ProfileView, identicon: string) {.signal.} + + proc setIdenticon*(self: ProfileView, identicon: string) {.slot.} = + self.identicon = identicon + self.receivedIdenticon(identicon) + + QtProperty[string] identicon: + read = identicon + write = setIdenticon + notify = receivedIdenticon diff --git a/src/app/profile/views/mailservers_list.nim b/src/app/profile/views/mailservers_list.nim index 7bf3b37784..ba77abbc8d 100644 --- a/src/app/profile/views/mailservers_list.nim +++ b/src/app/profile/views/mailservers_list.nim @@ -1,6 +1,5 @@ import NimQml import Tables -import strformat import ../../../models/profile type diff --git a/src/models/accounts.nim b/src/models/accounts.nim index 5eeaa44b7b..8e727beeb7 100644 --- a/src/models/accounts.nim +++ b/src/models/accounts.nim @@ -1,7 +1,6 @@ import json import eventemitter import ../status/accounts as status_accounts -import ../status/utils import ../status/types type diff --git a/src/status/mailservers.nim b/src/status/mailservers.nim index 268969b219..9895d03bc1 100644 --- a/src/status/mailservers.nim +++ b/src/status/mailservers.nim @@ -1,6 +1,3 @@ -import core as status -import json - proc getMailservers*(): array[0..8, (string, string)] = result = [ (