Skip to content
Snippets Groups Projects
Commit 79e26fe2 authored by Janne Mareike Koschinski's avatar Janne Mareike Koschinski
Browse files

Improve channel and user info, fix a casemapping bug

parent fd9be20a
Branches
No related tags found
No related merge requests found
......@@ -36,9 +36,15 @@ class ChannelInfoFragment : ServiceBoundFragment() {
@BindView(R.id.action_edit_topic)
lateinit var actionEditTopic: Button
@BindView(R.id.action_who)
lateinit var actionWho: Button
@BindView(R.id.action_part)
lateinit var actionPart: Button
@BindView(R.id.action_join)
lateinit var actionJoin: Button
@Inject
lateinit var contentFormatter: ContentFormatter
......@@ -84,6 +90,18 @@ class ChannelInfoFragment : ServiceBoundFragment() {
}
}
}
actionWho.setOnClickListener {
viewModel.session.value?.orNull()?.let { session ->
session.bufferSyncer?.find(
networkId = channel.network().networkId(),
type = Buffer_Type.of(Buffer_Type.StatusBuffer)
)?.let { statusInfo ->
session.rpcHandler?.sendInput(statusInfo, "/who ${channel.name()}")
requireActivity().finish()
}
}
}
}
})
......@@ -93,6 +111,10 @@ class ChannelInfoFragment : ServiceBoundFragment() {
actionEditTopic.setTooltip()
actionEditTopic.retint()
actionWho.setTooltip()
actionWho.retint()
actionJoin.setTooltip()
actionJoin.retint()
actionPart.setTooltip()
actionPart.retint()
......
......@@ -49,6 +49,14 @@
android:text="@string/label_edit_topic"
tools:drawableTint="?colorTextSecondary" />
<android.support.v7.widget.AppCompatButton
android:id="@+id/action_who"
style="@style/Widget.Info.ActionButton"
android:contentDescription="@string/label_who_long"
android:drawableTop="@drawable/ic_info"
android:text="@string/label_who"
tools:drawableTint="?colorTextSecondary" />
<android.support.v7.widget.AppCompatButton
android:id="@+id/action_part"
style="@style/Widget.Info.ActionButton"
......
......@@ -67,6 +67,8 @@
<string name="label_topic">Kanal-Thema</string>
<string name="label_unhide">Nicht mehr ausblenden</string>
<string name="label_website">Webseite</string>
<string name="label_who">Who</string>
<string name="label_who_long">Informationen aller Nutzer aktualisieren</string>
<string name="label_whois">Whois</string>
<string name="label_whois_long">Nutzerinformationen aktualisieren</string>
<string name="label_yes">Ja</string>
......
......@@ -67,6 +67,8 @@
<string name="label_topic">Channel Topic</string>
<string name="label_unhide">Make Visible</string>
<string name="label_website">Website</string>
<string name="label_who">Who</string>
<string name="label_who_long">Update user information of all users</string>
<string name="label_whois">Whois</string>
<string name="label_whois_long">Update user information</string>
<string name="label_yes">Yes</string>
......
......@@ -4,7 +4,7 @@ buildscript {
jcenter()
}
dependencies {
classpath("com.android.tools.build:gradle:3.1.0")
classpath("com.android.tools.build:gradle:3.1.1")
withVersion("1.2.31") {
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$version")
classpath("org.jetbrains.kotlin:kotlin-android-extensions:$version")
......
......@@ -346,11 +346,9 @@ class Network constructor(
}
}
fun ircUser(nickName: String?) = _ircUsers[nickName?.let(caseMapper::toLowerCase)]
fun ircUser(nickName: String?) = _ircUsers[caseMapper.toLowerCaseNullable(nickName)]
fun liveIrcUser(nickName: String?) = live_ircUsers.map {
ircUser(
nickName
) ?: IrcUser.NULL
ircUser(nickName) ?: IrcUser.NULL
}.distinctUntilChanged()
fun ircUsers() = _ircUsers.values.toList()
......
......@@ -3,8 +3,8 @@ package de.kuschku.libquassel.util.irc
import java.util.*
object IrcCaseMappers {
var irc: IrcCaseMapper = UnicodeCaseMapper()
var unicode: IrcCaseMapper = ClassicalIrcCaseMapper()
var irc: IrcCaseMapper = ClassicalIrcCaseMapper()
var unicode: IrcCaseMapper = UnicodeCaseMapper()
interface IrcCaseMapper {
fun equalsIgnoreCase(a: String, b: String): Boolean
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment