diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/network/NetworkEditFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/network/NetworkEditFragment.kt index bce4c03c988ef1ef852a95d3d55d8361ae7ef611..177d591385ee48cfce9f36235155ca5ac3aab75d 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/network/NetworkEditFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/network/NetworkEditFragment.kt @@ -25,7 +25,7 @@ import de.kuschku.quasseldroid.ui.coresettings.SettingsFragment class NetworkEditFragment : NetworkBaseFragment(false), SettingsFragment.Deletable { override fun onSave() = network?.let { (it, data) -> applyChanges(data) - it?.requestUpdate(data.toVariantMap()) + it?.requestSetNetworkInfo(data.networkInfo()) true } ?: false diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/IrcChannel.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/IrcChannel.kt index 554895b13722cc172e36beb82c80e169a09211d5..f213b12c5a9b4557557ee26a0dc52dae78c66abe 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/IrcChannel.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/IrcChannel.kt @@ -53,18 +53,15 @@ class IrcChannel( } override fun initChanModes(): QVariantMap = mapOf( - "A" to QVariant.of(_A_channelModes.entries.map { (key, value) -> - key to QVariant.of(value.toList(), Type.QStringList) - }, Type.QVariantMap - ), - "B" to QVariant.of(_B_channelModes.entries.map { (key, value) -> - key to QVariant.of(value, Type.QString) - }, Type.QVariantMap - ), - "C" to QVariant.of(_C_channelModes.entries.map { (key, value) -> - key to QVariant.of(value, Type.QString) - }, Type.QVariantMap - ), + "A" to QVariant.of(_A_channelModes.mapValues { (_, value) -> + QVariant.of(value.toList(), Type.QStringList) + }, Type.QVariantMap), + "B" to QVariant.of(_B_channelModes.mapValues { (_, value) -> + QVariant.of(value, Type.QString) + }, Type.QVariantMap), + "C" to QVariant.of(_C_channelModes.mapValues { (_, value) -> + QVariant.of(value, Type.QString) + }, Type.QVariantMap), "D" to QVariant.of(_D_channelModes.joinToString(), Type.QString) ) diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/IrcUser.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/IrcUser.kt index 4ece8907d19a106ae6d6b205d5882151b0ced8f1..6c5c38970f06a9a9c1f20a8d2e6698cef866cef8 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/IrcUser.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/IrcUser.kt @@ -58,8 +58,8 @@ class IrcUser( "loginTime" to QVariant.of(loginTime(), Type.QDateTime), "server" to QVariant.of(server(), Type.QString), "ircOperator" to QVariant.of(ircOperator(), Type.QString), - "lastAwayMessage" to QVariant.of(lastAwayMessage(), Type.Long), - "lastAwayMessageTime" to QVariant.of(lastAwayMessageTime(), Type.Long), + "lastAwayMessage" to QVariant.of(lastAwayMessage(), Type.Int), + "lastAwayMessageTime" to QVariant.of(lastAwayMessageTime(), Type.QDateTime), "whoisServiceReply" to QVariant.of(whoisServiceReply(), Type.QString), "suserHost" to QVariant.of(suserHost(), Type.QString), "encrypted" to QVariant.of(encrypted(), Type.Bool), diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/Network.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/Network.kt index 49ac4ef7e46b68d0bcf1b35b2182b8eb9051a6e4..576fa0f037acb241233421e29d16a08964acd6ef 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/Network.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/Network.kt @@ -185,7 +185,7 @@ class Network constructor( fun liveNetworkInfo() = live_networkInfo.map { networkInfo() } - fun setNetworkInfo(info: NetworkInfo) { + override fun setNetworkInfo(info: NetworkInfo) { // we don't set our ID! if (!info.networkName.isEmpty() && info.networkName != networkName()) setNetworkName(info.networkName) @@ -523,13 +523,13 @@ class Network constructor( _useSasl = sasl } - override fun setSaslAccount(account: String) { + override fun setSaslAccount(account: String?) { if (_saslAccount == account) return _saslAccount = account } - override fun setSaslPassword(password: String) { + override fun setSaslPassword(password: String?) { if (_saslPassword == password) return _saslPassword = password @@ -962,12 +962,12 @@ class Network constructor( field = value live_networkInfo.onNext(Unit) } - private var _saslAccount: String = "" + private var _saslAccount: String? = null set(value) { field = value live_networkInfo.onNext(Unit) } - private var _saslPassword: String = "" + private var _saslPassword: String? = null set(value) { field = value live_networkInfo.onNext(Unit) diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/INetwork.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/INetwork.kt index 6811d3a0bdb243f99c79f3c5c3f75a67ec4d4c49..5e514160954c23c835029af1a5218abafb5d2834 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/INetwork.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/INetwork.kt @@ -87,7 +87,7 @@ interface INetwork : ISyncableObject { @Slot fun requestSetNetworkInfo(info: NetworkInfo) { - REQUEST("requestSetNetworkInfo", ARG(info, QType.NetworkInfo)) + REQUEST("requestSetNetworkInfo", ARG(info.toVariantMap(), QType.NetworkInfo)) } @Slot @@ -138,6 +138,9 @@ interface INetwork : ISyncableObject { @Slot fun setNetworkName(networkName: String) + @Slot + fun setNetworkInfo(info: NetworkInfo) + @Slot fun setPerform(perform: QStringList) @@ -145,10 +148,10 @@ interface INetwork : ISyncableObject { fun setRejoinChannels(rejoinChannels: Boolean) @Slot - fun setSaslAccount(account: String) + fun setSaslAccount(account: String?) @Slot - fun setSaslPassword(password: String) + fun setSaslPassword(password: String?) @Slot fun setServerList(serverList: QVariantList) @@ -306,8 +309,8 @@ interface INetwork : ISyncableObject { var autoIdentifyService: String = "", var autoIdentifyPassword: String = "", var useSasl: Boolean = false, - var saslAccount: String = "", - var saslPassword: String = "", + var saslAccount: String? = null, + var saslPassword: String? = null, var useAutoReconnect: Boolean = true, var autoReconnectInterval: Int = 0, var autoReconnectRetries: Short = 0,