Skip to content
Snippets Groups Projects
Unverified Commit 1afbb4d2 authored by Janne Mareike Koschinski's avatar Janne Mareike Koschinski
Browse files

fix: network edit not working

parent 84e03b12
No related branches found
No related tags found
No related merge requests found
......@@ -25,7 +25,7 @@ import de.kuschku.quasseldroid.util.ui.settings.fragment.Deletable
class NetworkEditFragment : NetworkBaseFragment(false), Deletable {
override fun onSave() = network?.let { (it, data) ->
applyChanges(data)
it?.requestSetNetworkInfo(data.networkInfo())
it?.requestSetNetworkInfo(data.networkInfo().toVariantMap())
true
} ?: false
......
......@@ -20,14 +20,12 @@
package de.kuschku.libquassel.quassel.syncables
import de.kuschku.libquassel.protocol.*
import de.kuschku.libquassel.protocol.QtType
import de.kuschku.libquassel.protocol.primitive.serializer.StringSerializer
import de.kuschku.libquassel.quassel.syncables.interfaces.INetwork
import de.kuschku.libquassel.quassel.syncables.interfaces.INetwork.*
import de.kuschku.libquassel.session.SignalProxy
import de.kuschku.libquassel.util.helper.getOr
import de.kuschku.libquassel.util.helper.serializeString
import de.kuschku.libquassel.util.helper.value
import de.kuschku.libquassel.util.irc.HostmaskHelper
import de.kuschku.libquassel.util.irc.IrcCaseMappers
import io.reactivex.Observable
......@@ -188,56 +186,57 @@ class Network constructor(
fun liveNetworkInfo(): Observable<NetworkInfo> = live_networkInfo.map { networkInfo() }
override fun setNetworkInfo(info: NetworkInfo) {
override fun setNetworkInfo(info: QVariantMap) {
val networkInfo = NetworkInfo().apply { fromVariantMap(info) }
// we don't set our ID!
if (info.networkName.isNotEmpty() && info.networkName != networkName())
setNetworkName(info.networkName)
if (info.identity.isValidId() && info.identity != identity())
setIdentity(info.identity)
if (info.codecForServer != codecForServer())
setCodecForServer(info.codecForServer)
if (info.codecForEncoding != codecForEncoding())
setCodecForEncoding(info.codecForEncoding)
if (info.codecForDecoding != codecForDecoding())
setCodecForDecoding(info.codecForDecoding)
if (networkInfo.networkName.isNotEmpty() && networkInfo.networkName != networkName())
setNetworkName(networkInfo.networkName)
if (networkInfo.identity.isValidId() && networkInfo.identity != identity())
setIdentity(networkInfo.identity)
if (networkInfo.codecForServer != codecForServer())
setCodecForServer(networkInfo.codecForServer)
if (networkInfo.codecForEncoding != codecForEncoding())
setCodecForEncoding(networkInfo.codecForEncoding)
if (networkInfo.codecForDecoding != codecForDecoding())
setCodecForDecoding(networkInfo.codecForDecoding)
// FIXME compare components
if (info.serverList.isNotEmpty())
setServerList(info.serverList.map { QVariant.of(it.toVariantMap(), QuasselType.Network_Server) })
if (info.useRandomServer != useRandomServer())
setUseRandomServer(info.useRandomServer)
if (info.perform != perform())
setPerform(info.perform)
if (info.useAutoIdentify != useAutoIdentify())
setUseAutoIdentify(info.useAutoIdentify)
if (info.autoIdentifyService != autoIdentifyService())
setAutoIdentifyService(info.autoIdentifyService)
if (info.autoIdentifyPassword != autoIdentifyPassword())
setAutoIdentifyPassword(info.autoIdentifyPassword)
if (info.useSasl != useSasl())
setUseSasl(info.useSasl)
if (info.saslAccount != saslAccount())
setSaslAccount(info.saslAccount)
if (info.saslPassword != saslPassword())
setSaslPassword(info.saslPassword)
if (info.useAutoReconnect != useAutoReconnect())
setUseAutoReconnect(info.useAutoReconnect)
if (info.autoReconnectInterval != autoReconnectInterval())
setAutoReconnectInterval(info.autoReconnectInterval)
if (info.autoReconnectRetries != autoReconnectRetries())
setAutoReconnectRetries(info.autoReconnectRetries)
if (info.unlimitedReconnectRetries != unlimitedReconnectRetries())
setUnlimitedReconnectRetries(info.unlimitedReconnectRetries)
if (info.rejoinChannels != rejoinChannels())
setRejoinChannels(info.rejoinChannels)
if (networkInfo.serverList.isNotEmpty())
setServerList(networkInfo.serverList.map { QVariant.of(it.toVariantMap(), QuasselType.Network_Server) })
if (networkInfo.useRandomServer != useRandomServer())
setUseRandomServer(networkInfo.useRandomServer)
if (networkInfo.perform != perform())
setPerform(networkInfo.perform)
if (networkInfo.useAutoIdentify != useAutoIdentify())
setUseAutoIdentify(networkInfo.useAutoIdentify)
if (networkInfo.autoIdentifyService != autoIdentifyService())
setAutoIdentifyService(networkInfo.autoIdentifyService)
if (networkInfo.autoIdentifyPassword != autoIdentifyPassword())
setAutoIdentifyPassword(networkInfo.autoIdentifyPassword)
if (networkInfo.useSasl != useSasl())
setUseSasl(networkInfo.useSasl)
if (networkInfo.saslAccount != saslAccount())
setSaslAccount(networkInfo.saslAccount)
if (networkInfo.saslPassword != saslPassword())
setSaslPassword(networkInfo.saslPassword)
if (networkInfo.useAutoReconnect != useAutoReconnect())
setUseAutoReconnect(networkInfo.useAutoReconnect)
if (networkInfo.autoReconnectInterval != autoReconnectInterval())
setAutoReconnectInterval(networkInfo.autoReconnectInterval)
if (networkInfo.autoReconnectRetries != autoReconnectRetries())
setAutoReconnectRetries(networkInfo.autoReconnectRetries)
if (networkInfo.unlimitedReconnectRetries != unlimitedReconnectRetries())
setUnlimitedReconnectRetries(networkInfo.unlimitedReconnectRetries)
if (networkInfo.rejoinChannels != rejoinChannels())
setRejoinChannels(networkInfo.rejoinChannels)
// Custom rate limiting
if (info.useCustomMessageRate != useCustomMessageRate())
setUseCustomMessageRate(info.useCustomMessageRate)
if (info.messageRateBurstSize != messageRateBurstSize())
setMessageRateBurstSize(info.messageRateBurstSize)
if (info.messageRateDelay != messageRateDelay())
setMessageRateDelay(info.messageRateDelay)
if (info.unlimitedMessageRate != unlimitedMessageRate())
setUnlimitedMessageRate(info.unlimitedMessageRate)
if (networkInfo.useCustomMessageRate != useCustomMessageRate())
setUseCustomMessageRate(networkInfo.useCustomMessageRate)
if (networkInfo.messageRateBurstSize != messageRateBurstSize())
setMessageRateBurstSize(networkInfo.messageRateBurstSize)
if (networkInfo.messageRateDelay != messageRateDelay())
setMessageRateDelay(networkInfo.messageRateDelay)
if (networkInfo.unlimitedMessageRate != unlimitedMessageRate())
setUnlimitedMessageRate(networkInfo.unlimitedMessageRate)
}
fun prefixes(): List<Char> {
......
......@@ -411,7 +411,7 @@ interface INetwork : ISyncableObject {
}
@SyncedCall(target = ProtocolSide.CORE)
fun requestSetNetworkInfo(info: NetworkInfo) {
fun requestSetNetworkInfo(info: QVariantMap) {
sync(
target = ProtocolSide.CORE,
"requestSetNetworkInfo",
......@@ -420,7 +420,7 @@ interface INetwork : ISyncableObject {
}
@SyncedCall(target = ProtocolSide.CLIENT)
fun setNetworkInfo(info: NetworkInfo) {
fun setNetworkInfo(info: QVariantMap) {
sync(
target = ProtocolSide.CLIENT,
"setNetworkInfo",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment