From ca5793f2d74313e0dbb2fbb1dd5e7e184305c14c Mon Sep 17 00:00:00 2001 From: Janne Koschinski <janne@kuschku.de> Date: Wed, 18 Apr 2018 00:52:12 +0200 Subject: [PATCH] Add missing code --- .../quassel/syncables/HighlightRuleManager.kt | 33 +++++++++++-------- .../viewmodel/QuasselViewModel.kt | 2 ++ 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/HighlightRuleManager.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/HighlightRuleManager.kt index 8176eec97..1814b07b3 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/HighlightRuleManager.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/HighlightRuleManager.kt @@ -19,26 +19,20 @@ class HighlightRuleManager( ) : Serializable override fun toVariantMap(): QVariantMap = mapOf( - "HighlightRuleList" to QVariant.of(initHighlightRuleList(), Type.QVariantMap), - "HighlightNick" to QVariant.of(_highlightNick.value, Type.Int), - "NicksCaseSensitive" to QVariant.of(_nicksCaseSensitive, Type.Bool) + "HighlightRuleList" to QVariant.of(initHighlightRuleList(), Type.QVariantMap) ) override fun fromVariantMap(properties: QVariantMap) { initSetHighlightRuleList(properties["HighlightRuleList"].valueOr(::emptyMap)) - _highlightNick = properties["HighlightNick"].value<Int>()?.let { - IHighlightRuleManager.HighlightNickType.of(it) - } ?: _highlightNick - _nicksCaseSensitive = properties["NicksCaseSensitive"].value(_nicksCaseSensitive) } override fun initHighlightRuleList(): QVariantMap = mapOf( "name" to QVariant.of(_highlightRuleList.map { - QVariant.of(it.name, Type.QString) - }, Type.QVariantList), + it.name + }, Type.QStringList), "isRegEx" to QVariant.of(_highlightRuleList.map { QVariant.of(it.isRegEx, Type.Bool) - }, Type.QStringList), + }, Type.QVariantList), "isCaseSensitive" to QVariant.of(_highlightRuleList.map { QVariant.of(it.isCaseSensitive, Type.Bool) }, Type.QVariantList), @@ -49,11 +43,13 @@ class HighlightRuleManager( QVariant.of(it.isInverse, Type.Bool) }, Type.QVariantList), "sender" to QVariant.of(_highlightRuleList.map { - QVariant.of(it.sender, Type.QString) + it.sender }, Type.QStringList), "channel" to QVariant.of(_highlightRuleList.map { - QVariant.of(it.channel, Type.QString) - }, Type.QVariantList) + it.channel + }, Type.QStringList), + "highlightNick" to QVariant.of(_highlightNick.value, Type.Int), + "nicksCaseSensitive" to QVariant.of(_nicksCaseSensitive, Type.Bool) ) override fun initSetHighlightRuleList(highlightRuleList: QVariantMap) { @@ -81,6 +77,10 @@ class HighlightRuleManager( channel = channelList[it] ?: "" ) }) + _highlightNick = highlightRuleList["highlightNick"].value<Int>()?.let { + IHighlightRuleManager.HighlightNickType.of(it) + } ?: _highlightNick + _nicksCaseSensitive = highlightRuleList["nicksCaseSensitive"].value(_nicksCaseSensitive) } override fun removeHighlightRule(highlightRule: String) = removeAt(indexOf(highlightRule)) @@ -101,10 +101,13 @@ class HighlightRuleManager( ) } + + fun highlightNick() = _highlightNick override fun setHighlightNick(highlightNick: Int) { _highlightNick = IHighlightRuleManager.HighlightNickType.of(highlightNick) ?: _highlightNick } + fun nicksCaseSensitive() = _nicksCaseSensitive override fun setNicksCaseSensitive(nicksCaseSensitive: Boolean) { _nicksCaseSensitive = nicksCaseSensitive } @@ -124,6 +127,10 @@ class HighlightRuleManager( _highlightRuleList = list } + fun copy() = HighlightRuleManager(proxy).also { + it.fromVariantMap(toVariantMap()) + } + private var _highlightRuleList = emptyList<HighlightRule>() private var _highlightNick = IHighlightRuleManager.HighlightNickType.CurrentNick private var _nicksCaseSensitive = false diff --git a/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/QuasselViewModel.kt b/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/QuasselViewModel.kt index d0434bd8f..8e8e54401 100644 --- a/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/QuasselViewModel.kt +++ b/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/QuasselViewModel.kt @@ -74,6 +74,8 @@ class QuasselViewModel : ViewModel() { val ignoreListManager = session.mapMapNullable(ISession::ignoreListManager) + val highlightRuleManager = session.mapMapNullable(ISession::highlightRuleManager) + val networks = session.switchMap { it.map(ISession::liveNetworks).orElse(Observable.just(emptyMap())) } -- GitLab