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

Implement monospace settings, fix tablet UI

parent 8f556b62
No related branches found
No related tags found
No related merge requests found
Showing
with 44 additions and 14 deletions
...@@ -28,6 +28,7 @@ import de.kuschku.quasseldroid_ng.persistence.AccountDatabase ...@@ -28,6 +28,7 @@ import de.kuschku.quasseldroid_ng.persistence.AccountDatabase
import de.kuschku.quasseldroid_ng.persistence.QuasselDatabase import de.kuschku.quasseldroid_ng.persistence.QuasselDatabase
import de.kuschku.quasseldroid_ng.ui.settings.SettingsActivity import de.kuschku.quasseldroid_ng.ui.settings.SettingsActivity
import de.kuschku.quasseldroid_ng.ui.settings.data.BacklogSettings import de.kuschku.quasseldroid_ng.ui.settings.data.BacklogSettings
import de.kuschku.quasseldroid_ng.ui.settings.data.Settings
import de.kuschku.quasseldroid_ng.ui.viewmodel.QuasselViewModel import de.kuschku.quasseldroid_ng.ui.viewmodel.QuasselViewModel
import de.kuschku.quasseldroid_ng.util.AndroidHandlerThread import de.kuschku.quasseldroid_ng.util.AndroidHandlerThread
import de.kuschku.quasseldroid_ng.util.helper.* import de.kuschku.quasseldroid_ng.util.helper.*
...@@ -54,7 +55,7 @@ class ChatActivity : ServiceBoundActivity() { ...@@ -54,7 +55,7 @@ class ChatActivity : ServiceBoundActivity() {
private lateinit var database: QuasselDatabase private lateinit var database: QuasselDatabase
private var backlogSettings = BacklogSettings() private lateinit var backlogSettings: BacklogSettings
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
handler.onCreate() handler.onCreate()
...@@ -64,6 +65,7 @@ class ChatActivity : ServiceBoundActivity() { ...@@ -64,6 +65,7 @@ class ChatActivity : ServiceBoundActivity() {
viewModel = ViewModelProviders.of(this)[QuasselViewModel::class.java] viewModel = ViewModelProviders.of(this)[QuasselViewModel::class.java]
viewModel.setBackend(this.backend) viewModel.setBackend(this.backend)
backlogSettings = Settings.backlog(this)
database = QuasselDatabase.Creator.init(application) database = QuasselDatabase.Creator.init(application)
......
...@@ -11,8 +11,8 @@ import android.widget.ImageButton ...@@ -11,8 +11,8 @@ import android.widget.ImageButton
import butterknife.BindView import butterknife.BindView
import butterknife.ButterKnife import butterknife.ButterKnife
import de.kuschku.quasseldroid_ng.R import de.kuschku.quasseldroid_ng.R
import de.kuschku.quasseldroid_ng.ui.settings.Settings
import de.kuschku.quasseldroid_ng.ui.settings.data.AppearanceSettings import de.kuschku.quasseldroid_ng.ui.settings.data.AppearanceSettings
import de.kuschku.quasseldroid_ng.ui.settings.data.Settings
import de.kuschku.quasseldroid_ng.ui.viewmodel.QuasselViewModel import de.kuschku.quasseldroid_ng.ui.viewmodel.QuasselViewModel
import de.kuschku.quasseldroid_ng.util.helper.invoke import de.kuschku.quasseldroid_ng.util.helper.invoke
import de.kuschku.quasseldroid_ng.util.helper.let import de.kuschku.quasseldroid_ng.util.helper.let
......
...@@ -11,8 +11,8 @@ import android.view.ViewGroup ...@@ -11,8 +11,8 @@ import android.view.ViewGroup
import butterknife.BindView import butterknife.BindView
import butterknife.ButterKnife import butterknife.ButterKnife
import de.kuschku.quasseldroid_ng.R import de.kuschku.quasseldroid_ng.R
import de.kuschku.quasseldroid_ng.ui.settings.Settings
import de.kuschku.quasseldroid_ng.ui.settings.data.AppearanceSettings import de.kuschku.quasseldroid_ng.ui.settings.data.AppearanceSettings
import de.kuschku.quasseldroid_ng.ui.settings.data.Settings
import de.kuschku.quasseldroid_ng.ui.viewmodel.QuasselViewModel import de.kuschku.quasseldroid_ng.ui.viewmodel.QuasselViewModel
import de.kuschku.quasseldroid_ng.util.AndroidHandlerThread import de.kuschku.quasseldroid_ng.util.AndroidHandlerThread
import de.kuschku.quasseldroid_ng.util.helper.map import de.kuschku.quasseldroid_ng.util.helper.map
......
...@@ -14,8 +14,8 @@ import de.kuschku.libquassel.quassel.BufferInfo ...@@ -14,8 +14,8 @@ import de.kuschku.libquassel.quassel.BufferInfo
import de.kuschku.libquassel.quassel.syncables.interfaces.INetwork import de.kuschku.libquassel.quassel.syncables.interfaces.INetwork
import de.kuschku.libquassel.util.hasFlag import de.kuschku.libquassel.util.hasFlag
import de.kuschku.quasseldroid_ng.R import de.kuschku.quasseldroid_ng.R
import de.kuschku.quasseldroid_ng.ui.settings.Settings
import de.kuschku.quasseldroid_ng.ui.settings.data.AppearanceSettings import de.kuschku.quasseldroid_ng.ui.settings.data.AppearanceSettings
import de.kuschku.quasseldroid_ng.ui.settings.data.Settings
import de.kuschku.quasseldroid_ng.ui.viewmodel.QuasselViewModel import de.kuschku.quasseldroid_ng.ui.viewmodel.QuasselViewModel
import de.kuschku.quasseldroid_ng.util.helper.visibleIf import de.kuschku.quasseldroid_ng.util.helper.visibleIf
import de.kuschku.quasseldroid_ng.util.helper.zip import de.kuschku.quasseldroid_ng.util.helper.zip
......
...@@ -17,8 +17,8 @@ import de.kuschku.libquassel.util.hasFlag ...@@ -17,8 +17,8 @@ import de.kuschku.libquassel.util.hasFlag
import de.kuschku.libquassel.util.minus import de.kuschku.libquassel.util.minus
import de.kuschku.quasseldroid_ng.R import de.kuschku.quasseldroid_ng.R
import de.kuschku.quasseldroid_ng.persistence.QuasselDatabase import de.kuschku.quasseldroid_ng.persistence.QuasselDatabase
import de.kuschku.quasseldroid_ng.ui.settings.Settings
import de.kuschku.quasseldroid_ng.ui.settings.data.AppearanceSettings import de.kuschku.quasseldroid_ng.ui.settings.data.AppearanceSettings
import de.kuschku.quasseldroid_ng.ui.settings.data.Settings
import de.kuschku.quasseldroid_ng.ui.viewmodel.QuasselViewModel import de.kuschku.quasseldroid_ng.ui.viewmodel.QuasselViewModel
import de.kuschku.quasseldroid_ng.util.AndroidHandlerThread import de.kuschku.quasseldroid_ng.util.AndroidHandlerThread
import de.kuschku.quasseldroid_ng.util.helper.map import de.kuschku.quasseldroid_ng.util.helper.map
......
...@@ -18,9 +18,9 @@ import de.kuschku.libquassel.protocol.MsgId ...@@ -18,9 +18,9 @@ import de.kuschku.libquassel.protocol.MsgId
import de.kuschku.libquassel.quassel.syncables.BufferSyncer import de.kuschku.libquassel.quassel.syncables.BufferSyncer
import de.kuschku.quasseldroid_ng.R import de.kuschku.quasseldroid_ng.R
import de.kuschku.quasseldroid_ng.persistence.QuasselDatabase import de.kuschku.quasseldroid_ng.persistence.QuasselDatabase
import de.kuschku.quasseldroid_ng.ui.settings.Settings
import de.kuschku.quasseldroid_ng.ui.settings.data.AppearanceSettings import de.kuschku.quasseldroid_ng.ui.settings.data.AppearanceSettings
import de.kuschku.quasseldroid_ng.ui.settings.data.BacklogSettings import de.kuschku.quasseldroid_ng.ui.settings.data.BacklogSettings
import de.kuschku.quasseldroid_ng.ui.settings.data.Settings
import de.kuschku.quasseldroid_ng.ui.viewmodel.QuasselViewModel import de.kuschku.quasseldroid_ng.ui.viewmodel.QuasselViewModel
import de.kuschku.quasseldroid_ng.util.AndroidHandlerThread import de.kuschku.quasseldroid_ng.util.AndroidHandlerThread
import de.kuschku.quasseldroid_ng.util.helper.* import de.kuschku.quasseldroid_ng.util.helper.*
...@@ -45,13 +45,14 @@ class MessageListFragment : ServiceBoundFragment() { ...@@ -45,13 +45,14 @@ class MessageListFragment : ServiceBoundFragment() {
private var lastBuffer: BufferId? = null private var lastBuffer: BufferId? = null
private var backlogSettings = BacklogSettings() private lateinit var backlogSettings: BacklogSettings
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
handler.onCreate() handler.onCreate()
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
viewModel = ViewModelProviders.of(activity!!)[QuasselViewModel::class.java] viewModel = ViewModelProviders.of(activity!!)[QuasselViewModel::class.java]
appearanceSettings = Settings.appearance(activity!!) appearanceSettings = Settings.appearance(activity!!)
backlogSettings = Settings.backlog(activity!!)
} }
private val boundaryCallback = object : private val boundaryCallback = object :
......
...@@ -86,6 +86,9 @@ class QuasselMessageRenderer( ...@@ -86,6 +86,9 @@ class QuasselMessageRenderer(
viewHolder.itemView.setBackgroundColor(getColor(1, 0)) viewHolder.itemView.setBackgroundColor(getColor(1, 0))
} }
} }
if (appearanceSettings.useMonospace) {
viewHolder.content.typeface = Typeface.MONOSPACE
}
} }
override fun bind(holder: QuasselMessageViewHolder, message: FormattedMessage) { override fun bind(holder: QuasselMessageViewHolder, message: FormattedMessage) {
......
...@@ -8,6 +8,7 @@ import android.support.v7.preference.PreferenceFragmentCompat ...@@ -8,6 +8,7 @@ import android.support.v7.preference.PreferenceFragmentCompat
import android.support.v7.preference.PreferenceGroup import android.support.v7.preference.PreferenceGroup
import de.kuschku.quasseldroid_ng.R import de.kuschku.quasseldroid_ng.R
import de.kuschku.quasseldroid_ng.ui.settings.data.AppearanceSettings import de.kuschku.quasseldroid_ng.ui.settings.data.AppearanceSettings
import de.kuschku.quasseldroid_ng.ui.settings.data.Settings
class SettingsFragment : PreferenceFragmentCompat(), class SettingsFragment : PreferenceFragmentCompat(),
SharedPreferences.OnSharedPreferenceChangeListener { SharedPreferences.OnSharedPreferenceChangeListener {
......
...@@ -7,6 +7,7 @@ data class AppearanceSettings( ...@@ -7,6 +7,7 @@ data class AppearanceSettings(
val showPrefix: ShowPrefixMode = ShowPrefixMode.HIGHEST, val showPrefix: ShowPrefixMode = ShowPrefixMode.HIGHEST,
val colorizeNicknames: ColorizeNicknamesMode = ColorizeNicknamesMode.ALL_BUT_MINE, val colorizeNicknames: ColorizeNicknamesMode = ColorizeNicknamesMode.ALL_BUT_MINE,
val colorizeMirc: Boolean = true, val colorizeMirc: Boolean = true,
val useMonospace: Boolean = false,
val showSeconds: Boolean = false, val showSeconds: Boolean = false,
val use24hClock: Boolean = true, val use24hClock: Boolean = true,
val showLag: Boolean = true, val showLag: Boolean = true,
......
package de.kuschku.quasseldroid_ng.ui.settings package de.kuschku.quasseldroid_ng.ui.settings.data
import android.content.Context import android.content.Context
import android.content.SharedPreferences import android.content.SharedPreferences
import android.preference.PreferenceManager import android.preference.PreferenceManager
import de.kuschku.quasseldroid_ng.R import de.kuschku.quasseldroid_ng.R
import de.kuschku.quasseldroid_ng.ui.settings.data.AppearanceSettings
import de.kuschku.quasseldroid_ng.ui.settings.data.AppearanceSettings.* import de.kuschku.quasseldroid_ng.ui.settings.data.AppearanceSettings.*
import de.kuschku.quasseldroid_ng.ui.settings.data.BacklogSettings
object Settings { object Settings {
private fun <T> settings(context: Context, private fun <T> settings(context: Context,
...@@ -14,7 +12,9 @@ object Settings { ...@@ -14,7 +12,9 @@ object Settings {
context context
).f() ).f()
fun appearance(context: Context) = settings(context) { fun appearance(context: Context) = settings(
context
) {
AppearanceSettings( AppearanceSettings(
theme = Theme.valueOf( theme = Theme.valueOf(
getString( getString(
...@@ -38,6 +38,10 @@ object Settings { ...@@ -38,6 +38,10 @@ object Settings {
context.getString(R.string.preference_colorize_mirc_key), context.getString(R.string.preference_colorize_mirc_key),
AppearanceSettings.DEFAULT.colorizeMirc AppearanceSettings.DEFAULT.colorizeMirc
), ),
useMonospace = getBoolean(
context.getString(R.string.preference_monospace_key),
AppearanceSettings.DEFAULT.useMonospace
),
showSeconds = getBoolean( showSeconds = getBoolean(
context.getString(R.string.preference_show_seconds_key), context.getString(R.string.preference_show_seconds_key),
AppearanceSettings.DEFAULT.showSeconds AppearanceSettings.DEFAULT.showSeconds
...@@ -53,9 +57,14 @@ object Settings { ...@@ -53,9 +57,14 @@ object Settings {
) )
} }
fun backlog(context: Context) = settings(context) { fun backlog(context: Context) = settings(
context
) {
BacklogSettings( BacklogSettings(
dynamicAmount = getString(
context.getString(R.string.preference_dynamic_fetch_key),
BacklogSettings.DEFAULT.dynamicAmount.toString()
).toIntOrNull() ?: BacklogSettings.DEFAULT.dynamicAmount
) )
} }
} }
\ No newline at end of file
...@@ -9,8 +9,8 @@ import android.support.v7.app.AppCompatActivity ...@@ -9,8 +9,8 @@ import android.support.v7.app.AppCompatActivity
import de.kuschku.libquassel.session.Backend import de.kuschku.libquassel.session.Backend
import de.kuschku.quasseldroid_ng.Keys import de.kuschku.quasseldroid_ng.Keys
import de.kuschku.quasseldroid_ng.R import de.kuschku.quasseldroid_ng.R
import de.kuschku.quasseldroid_ng.ui.settings.Settings
import de.kuschku.quasseldroid_ng.ui.settings.data.AppearanceSettings import de.kuschku.quasseldroid_ng.ui.settings.data.AppearanceSettings
import de.kuschku.quasseldroid_ng.ui.settings.data.Settings
import de.kuschku.quasseldroid_ng.util.helper.updateRecentsHeaderIfExisting import de.kuschku.quasseldroid_ng.util.helper.updateRecentsHeaderIfExisting
abstract class ServiceBoundActivity : AppCompatActivity() { abstract class ServiceBoundActivity : AppCompatActivity() {
......
...@@ -17,6 +17,11 @@ ...@@ -17,6 +17,11 @@
android:layout_height="match_parent" android:layout_height="match_parent"
tools:layout="@layout/fragment_chat_list" /> tools:layout="@layout/fragment_chat_list" />
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="?colorDivider" />
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent" android:layout_width="match_parent"
......
...@@ -61,6 +61,9 @@ ...@@ -61,6 +61,9 @@
<item>NONE</item> <item>NONE</item>
</string-array> </string-array>
<string name="preference_monospace_key" translatable="false">monospace</string>
<string name="preference_monospace_title">Use Monospace Font</string>
<string name="preference_show_seconds_key" translatable="false">show_seconds</string> <string name="preference_show_seconds_key" translatable="false">show_seconds</string>
<string name="preference_show_seconds_title">Show Seconds</string> <string name="preference_show_seconds_title">Show Seconds</string>
......
...@@ -29,6 +29,11 @@ ...@@ -29,6 +29,11 @@
android:key="@string/preference_show_prefix_key" android:key="@string/preference_show_prefix_key"
android:title="@string/preference_show_prefix_title" /> android:title="@string/preference_show_prefix_title" />
<SwitchPreference
android:defaultValue="false"
android:key="@string/preference_monospace_key"
android:title="@string/preference_monospace_title" />
<SwitchPreference <SwitchPreference
android:defaultValue="false" android:defaultValue="false"
android:key="@string/preference_show_seconds_key" android:key="@string/preference_show_seconds_key"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment