change Gravity setting to a dialog too

This commit is contained in:
tibbi 2017-03-09 23:53:11 +01:00
parent 4262446d3a
commit 2ad38bf411
3 changed files with 34 additions and 30 deletions

View File

@ -10,10 +10,7 @@ import com.simplemobiletools.commons.models.RadioItem
import com.simplemobiletools.notes.R
import com.simplemobiletools.notes.extensions.config
import com.simplemobiletools.notes.extensions.updateWidget
import com.simplemobiletools.notes.helpers.DBHelper
import com.simplemobiletools.notes.helpers.FONT_SIZE_LARGE
import com.simplemobiletools.notes.helpers.FONT_SIZE_NORMAL
import com.simplemobiletools.notes.helpers.FONT_SIZE_SMALL
import com.simplemobiletools.notes.helpers.*
import com.simplemobiletools.notes.models.Note
import kotlinx.android.synthetic.main.activity_settings.*
@ -30,8 +27,8 @@ class SettingsActivity : SimpleActivity() {
setupDisplaySuccess()
setupClickableLinks()
setupFontSize()
setupWidgetNote()
setupGravity()
setupWidgetNote()
updateTextColors(settings_scrollview)
}
@ -80,6 +77,28 @@ class SettingsActivity : SimpleActivity() {
else -> R.string.extra_large
})
private fun setupGravity() {
settings_gravity.text = getGravityText()
settings_gravity_holder.setOnClickListener {
val items = arrayOf(
RadioItem(0, R.string.left),
RadioItem(1, R.string.center),
RadioItem(2, R.string.right))
RadioGroupDialog(this@SettingsActivity, items, config.gravity) {
config.gravity = it
settings_gravity.text = getGravityText()
updateWidget()
}
}
}
private fun getGravityText() = getString(when (config.gravity) {
GRAVITY_LEFT -> R.string.left
GRAVITY_CENTER -> R.string.center
else -> R.string.right
})
private fun setupWidgetNote() {
val notes = DBHelper.newInstance(this).getNotes()
if (notes.size <= 1) {
@ -104,19 +123,6 @@ class SettingsActivity : SimpleActivity() {
}
}
private fun setupGravity() {
settings_gravity.setSelection(config.gravity)
settings_gravity.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
config.gravity = settings_gravity.selectedItemPosition
updateWidget()
}
override fun onNothingSelected(parent: AdapterView<*>?) {
}
}
}
private fun getNoteIndexWithId(id: Int, notes: List<Note>): Int {
for (i in 0..notes.count() - 1) {
if (notes[i].id == id) {

View File

@ -111,7 +111,10 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:padding="@dimen/activity_margin">
android:paddingBottom="@dimen/bigger_margin"
android:paddingLeft="@dimen/activity_margin"
android:paddingRight="@dimen/activity_margin"
android:paddingTop="@dimen/bigger_margin">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/settings_gravity_label"
@ -122,15 +125,18 @@
android:layout_toStartOf="@+id/settings_gravity"
android:paddingLeft="@dimen/medium_margin"
android:paddingRight="@dimen/medium_margin"
android:text="@string/gravity"/>
android:text="@string/note_font_size"/>
<com.simplemobiletools.commons.views.MyAppCompatSpinner
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/settings_gravity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:entries="@array/gravities"/>
android:layout_marginEnd="@dimen/medium_margin"
android:layout_marginRight="@dimen/medium_margin"
android:background="@null"
android:clickable="false"/>
</RelativeLayout>

View File

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="gravities" translatable="false">
<item>@string/left</item>
<item>@string/center</item>
<item>@string/right</item>
</string-array>
</resources>