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) {