create the dialog for customizing shown bottom actions
This commit is contained in:
parent
59d277c710
commit
c618af4e95
|
@ -12,11 +12,13 @@ import com.simplemobiletools.commons.helpers.SHOW_ALL_TABS
|
||||||
import com.simplemobiletools.commons.helpers.sumByLong
|
import com.simplemobiletools.commons.helpers.sumByLong
|
||||||
import com.simplemobiletools.commons.models.RadioItem
|
import com.simplemobiletools.commons.models.RadioItem
|
||||||
import com.simplemobiletools.gallery.R
|
import com.simplemobiletools.gallery.R
|
||||||
|
import com.simplemobiletools.gallery.dialogs.ManageBottomActionsDialog
|
||||||
import com.simplemobiletools.gallery.dialogs.ManageExtendedDetailsDialog
|
import com.simplemobiletools.gallery.dialogs.ManageExtendedDetailsDialog
|
||||||
import com.simplemobiletools.gallery.extensions.config
|
import com.simplemobiletools.gallery.extensions.config
|
||||||
import com.simplemobiletools.gallery.extensions.emptyTheRecycleBin
|
import com.simplemobiletools.gallery.extensions.emptyTheRecycleBin
|
||||||
import com.simplemobiletools.gallery.extensions.galleryDB
|
import com.simplemobiletools.gallery.extensions.galleryDB
|
||||||
import com.simplemobiletools.gallery.extensions.showRecycleBinEmptyingDialog
|
import com.simplemobiletools.gallery.extensions.showRecycleBinEmptyingDialog
|
||||||
|
import com.simplemobiletools.gallery.helpers.DEFAULT_BOTTOM_ACTIONS
|
||||||
import com.simplemobiletools.gallery.helpers.ROTATE_BY_ASPECT_RATIO
|
import com.simplemobiletools.gallery.helpers.ROTATE_BY_ASPECT_RATIO
|
||||||
import com.simplemobiletools.gallery.helpers.ROTATE_BY_DEVICE_ROTATION
|
import com.simplemobiletools.gallery.helpers.ROTATE_BY_DEVICE_ROTATION
|
||||||
import com.simplemobiletools.gallery.helpers.ROTATE_BY_SYSTEM_SETTING
|
import com.simplemobiletools.gallery.helpers.ROTATE_BY_SYSTEM_SETTING
|
||||||
|
@ -419,7 +421,13 @@ class SettingsActivity : SimpleActivity() {
|
||||||
private fun setupManageBottomActions() {
|
private fun setupManageBottomActions() {
|
||||||
settings_manage_bottom_actions_holder.beVisibleIf(config.bottomActions)
|
settings_manage_bottom_actions_holder.beVisibleIf(config.bottomActions)
|
||||||
settings_manage_bottom_actions_holder.setOnClickListener {
|
settings_manage_bottom_actions_holder.setOnClickListener {
|
||||||
|
ManageBottomActionsDialog(this) {
|
||||||
|
if (config.visibleBottomActions == 0) {
|
||||||
|
settings_bottom_actions_holder.callOnClick()
|
||||||
|
config.bottomActions = false
|
||||||
|
config.visibleBottomActions = DEFAULT_BOTTOM_ACTIONS
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,65 @@
|
||||||
|
package com.simplemobiletools.gallery.dialogs
|
||||||
|
|
||||||
|
import android.support.v7.app.AlertDialog
|
||||||
|
import com.simplemobiletools.commons.activities.BaseSimpleActivity
|
||||||
|
import com.simplemobiletools.commons.extensions.setupDialogStuff
|
||||||
|
import com.simplemobiletools.gallery.R
|
||||||
|
import com.simplemobiletools.gallery.extensions.config
|
||||||
|
import com.simplemobiletools.gallery.helpers.*
|
||||||
|
import kotlinx.android.synthetic.main.dialog_manage_bottom_actions.view.*
|
||||||
|
|
||||||
|
class ManageBottomActionsDialog(val activity: BaseSimpleActivity, val callback: (result: Int) -> Unit) {
|
||||||
|
private var view = activity.layoutInflater.inflate(R.layout.dialog_manage_bottom_actions, null)
|
||||||
|
|
||||||
|
init {
|
||||||
|
val actions = activity.config.visibleBottomActions
|
||||||
|
view.apply {
|
||||||
|
manage_bottom_actions_toggle_favorite.isChecked = actions and BOTTOM_ACTION_TOGGLE_FAVORITE != 0
|
||||||
|
manage_bottom_actions_edit.isChecked = actions and BOTTOM_ACTION_EDIT != 0
|
||||||
|
manage_bottom_actions_share.isChecked = actions and BOTTOM_ACTION_SHARE != 0
|
||||||
|
manage_bottom_actions_delete.isChecked = actions and BOTTOM_ACTION_DELETE != 0
|
||||||
|
manage_bottom_actions_rotate.isChecked = actions and BOTTOM_ACTION_ROTATE != 0
|
||||||
|
manage_bottom_actions_properties.isChecked = actions and BOTTOM_ACTION_PROPERTIES != 0
|
||||||
|
manage_bottom_actions_lock_orientation.isChecked = actions and BOTTOM_ACTION_LOCK_ORIENTATION != 0
|
||||||
|
manage_bottom_actions_slideshow.isChecked = actions and BOTTOM_ACTION_PROPERTIES != 0
|
||||||
|
manage_bottom_actions_show_on_map.isChecked = actions and BOTTOM_ACTION_SHOW_ON_MAP != 0
|
||||||
|
manage_bottom_actions_toggle_visibility.isChecked = actions and BOTTOM_ACTION_TOGGLE_VISIBILITY != 0
|
||||||
|
}
|
||||||
|
|
||||||
|
AlertDialog.Builder(activity)
|
||||||
|
.setPositiveButton(R.string.ok) { dialog, which -> dialogConfirmed() }
|
||||||
|
.setNegativeButton(R.string.cancel, null)
|
||||||
|
.create().apply {
|
||||||
|
activity.setupDialogStuff(view, this)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun dialogConfirmed() {
|
||||||
|
var result = 0
|
||||||
|
view.apply {
|
||||||
|
if (manage_bottom_actions_toggle_favorite.isChecked)
|
||||||
|
result += BOTTOM_ACTION_TOGGLE_FAVORITE
|
||||||
|
if (manage_bottom_actions_edit.isChecked)
|
||||||
|
result += BOTTOM_ACTION_EDIT
|
||||||
|
if (manage_bottom_actions_share.isChecked)
|
||||||
|
result += BOTTOM_ACTION_SHARE
|
||||||
|
if (manage_bottom_actions_delete.isChecked)
|
||||||
|
result += BOTTOM_ACTION_DELETE
|
||||||
|
if (manage_bottom_actions_rotate.isChecked)
|
||||||
|
result += BOTTOM_ACTION_ROTATE
|
||||||
|
if (manage_bottom_actions_properties.isChecked)
|
||||||
|
result += BOTTOM_ACTION_PROPERTIES
|
||||||
|
if (manage_bottom_actions_lock_orientation.isChecked)
|
||||||
|
result += BOTTOM_ACTION_LOCK_ORIENTATION
|
||||||
|
if (manage_bottom_actions_slideshow.isChecked)
|
||||||
|
result += BOTTOM_ACTION_SLIDESHOW
|
||||||
|
if (manage_bottom_actions_show_on_map.isChecked)
|
||||||
|
result += BOTTOM_ACTION_SHOW_ON_MAP
|
||||||
|
if (manage_bottom_actions_toggle_visibility.isChecked)
|
||||||
|
result += BOTTOM_ACTION_TOGGLE_VISIBILITY
|
||||||
|
}
|
||||||
|
|
||||||
|
activity.config.visibleBottomActions = result
|
||||||
|
callback(result)
|
||||||
|
}
|
||||||
|
}
|
|
@ -28,7 +28,7 @@ class ManageExtendedDetailsDialog(val activity: BaseSimpleActivity, val callback
|
||||||
}
|
}
|
||||||
|
|
||||||
AlertDialog.Builder(activity)
|
AlertDialog.Builder(activity)
|
||||||
.setPositiveButton(R.string.ok, { dialog, which -> dialogConfirmed() })
|
.setPositiveButton(R.string.ok) { dialog, which -> dialogConfirmed() }
|
||||||
.setNegativeButton(R.string.cancel, null)
|
.setNegativeButton(R.string.cancel, null)
|
||||||
.create().apply {
|
.create().apply {
|
||||||
activity.setupDialogStuff(view, this)
|
activity.setupDialogStuff(view, this)
|
||||||
|
|
|
@ -362,6 +362,6 @@ class Config(context: Context) : BaseConfig(context) {
|
||||||
set(bottomActions) = prefs.edit().putBoolean(BOTTOM_ACTIONS, bottomActions).apply()
|
set(bottomActions) = prefs.edit().putBoolean(BOTTOM_ACTIONS, bottomActions).apply()
|
||||||
|
|
||||||
var visibleBottomActions: Int
|
var visibleBottomActions: Int
|
||||||
get() = prefs.getInt(VISIBLE_BOTTOM_ACTIONS, BOTTOM_ACTION_TOGGLE_FAVORITE or BOTTOM_ACTION_EDIT or BOTTOM_ACTION_SHARE or BOTTOM_ACTION_DELETE)
|
get() = prefs.getInt(VISIBLE_BOTTOM_ACTIONS, DEFAULT_BOTTOM_ACTIONS)
|
||||||
set(visibleBottomActions) = prefs.edit().putInt(VISIBLE_BOTTOM_ACTIONS, visibleBottomActions).apply()
|
set(visibleBottomActions) = prefs.edit().putInt(VISIBLE_BOTTOM_ACTIONS, visibleBottomActions).apply()
|
||||||
}
|
}
|
||||||
|
|
|
@ -142,3 +142,5 @@ const val BOTTOM_ACTION_LOCK_ORIENTATION = 64
|
||||||
const val BOTTOM_ACTION_SLIDESHOW = 128
|
const val BOTTOM_ACTION_SLIDESHOW = 128
|
||||||
const val BOTTOM_ACTION_SHOW_ON_MAP = 256
|
const val BOTTOM_ACTION_SHOW_ON_MAP = 256
|
||||||
const val BOTTOM_ACTION_TOGGLE_VISIBILITY = 512
|
const val BOTTOM_ACTION_TOGGLE_VISIBILITY = 512
|
||||||
|
|
||||||
|
const val DEFAULT_BOTTOM_ACTIONS = BOTTOM_ACTION_TOGGLE_FAVORITE or BOTTOM_ACTION_EDIT or BOTTOM_ACTION_SHARE or BOTTOM_ACTION_DELETE
|
||||||
|
|
|
@ -0,0 +1,98 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<ScrollView
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:id="@+id/manage_bottom_actions_scrollview"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/manage_bottom_actions_holder"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:paddingLeft="@dimen/activity_margin"
|
||||||
|
android:paddingRight="@dimen/activity_margin"
|
||||||
|
android:paddingTop="@dimen/medium_margin">
|
||||||
|
|
||||||
|
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||||
|
android:id="@+id/manage_bottom_actions_toggle_favorite"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingBottom="@dimen/activity_margin"
|
||||||
|
android:paddingTop="@dimen/activity_margin"
|
||||||
|
android:text="@string/toggle_favorite"/>
|
||||||
|
|
||||||
|
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||||
|
android:id="@+id/manage_bottom_actions_edit"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingBottom="@dimen/activity_margin"
|
||||||
|
android:paddingTop="@dimen/activity_margin"
|
||||||
|
android:text="@string/edit"/>
|
||||||
|
|
||||||
|
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||||
|
android:id="@+id/manage_bottom_actions_share"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingBottom="@dimen/activity_margin"
|
||||||
|
android:paddingTop="@dimen/activity_margin"
|
||||||
|
android:text="@string/share"/>
|
||||||
|
|
||||||
|
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||||
|
android:id="@+id/manage_bottom_actions_delete"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingBottom="@dimen/activity_margin"
|
||||||
|
android:paddingTop="@dimen/activity_margin"
|
||||||
|
android:text="@string/delete"/>
|
||||||
|
|
||||||
|
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||||
|
android:id="@+id/manage_bottom_actions_rotate"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingBottom="@dimen/activity_margin"
|
||||||
|
android:paddingTop="@dimen/activity_margin"
|
||||||
|
android:text="@string/rotate"/>
|
||||||
|
|
||||||
|
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||||
|
android:id="@+id/manage_bottom_actions_properties"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingBottom="@dimen/activity_margin"
|
||||||
|
android:paddingTop="@dimen/activity_margin"
|
||||||
|
android:text="@string/properties"/>
|
||||||
|
|
||||||
|
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||||
|
android:id="@+id/manage_bottom_actions_lock_orientation"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingBottom="@dimen/activity_margin"
|
||||||
|
android:paddingTop="@dimen/activity_margin"
|
||||||
|
android:text="@string/lock_orientation"/>
|
||||||
|
|
||||||
|
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||||
|
android:id="@+id/manage_bottom_actions_slideshow"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingBottom="@dimen/activity_margin"
|
||||||
|
android:paddingTop="@dimen/activity_margin"
|
||||||
|
android:text="@string/slideshow"/>
|
||||||
|
|
||||||
|
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||||
|
android:id="@+id/manage_bottom_actions_show_on_map"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingBottom="@dimen/activity_margin"
|
||||||
|
android:paddingTop="@dimen/activity_margin"
|
||||||
|
android:text="@string/show_on_map"/>
|
||||||
|
|
||||||
|
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||||
|
android:id="@+id/manage_bottom_actions_toggle_visibility"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingBottom="@dimen/activity_margin"
|
||||||
|
android:paddingTop="@dimen/activity_margin"
|
||||||
|
android:text="@string/toggle_file_visibility"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
</ScrollView>
|
Loading…
Reference in New Issue