From cf338254bb0c8176aefe4d7685f86cf2a09ab205 Mon Sep 17 00:00:00 2001 From: merkost Date: Wed, 19 Jul 2023 11:02:53 +1000 Subject: [PATCH] Added column_count menu item --- .../contacts/pro/activities/MainActivity.kt | 19 +++++++++++++++++++ app/src/main/res/menu/menu.xml | 6 ++++++ 2 files changed, 25 insertions(+) diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/MainActivity.kt index e765d7ce..976c58ba 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/MainActivity.kt @@ -18,9 +18,11 @@ import com.simplemobiletools.commons.databases.ContactsDatabase import com.simplemobiletools.commons.dialogs.ChangeViewTypeDialog import com.simplemobiletools.commons.dialogs.ConfirmationDialog import com.simplemobiletools.commons.dialogs.FilePickerDialog +import com.simplemobiletools.commons.dialogs.RadioGroupDialog import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.* import com.simplemobiletools.commons.models.FAQItem +import com.simplemobiletools.commons.models.RadioItem import com.simplemobiletools.commons.models.Release import com.simplemobiletools.commons.models.contacts.Contact import com.simplemobiletools.contacts.pro.BuildConfig @@ -200,6 +202,7 @@ class MainActivity : SimpleActivity(), RefreshContactsListener { findItem(R.id.filter).isVisible = currentFragment != groups_fragment findItem(R.id.dialpad).isVisible = !config.showDialpadButton findItem(R.id.change_view_type).isVisible = currentFragment == favorites_fragment + findItem(R.id.column_count).isVisible = currentFragment == favorites_fragment && config.viewType == VIEW_TYPE_GRID findItem(R.id.more_apps_from_us).isVisible = !resources.getBoolean(R.bool.hide_google_relations) } } @@ -228,6 +231,7 @@ class MainActivity : SimpleActivity(), RefreshContactsListener { R.id.export_contacts -> tryExportContacts() R.id.more_apps_from_us -> launchMoreAppsFromUsIntent() R.id.change_view_type -> changeViewType() + R.id.column_count -> changeColumnCount() R.id.settings -> launchSettings() R.id.about -> launchAbout() else -> return@setOnMenuItemClickListener false @@ -236,6 +240,21 @@ class MainActivity : SimpleActivity(), RefreshContactsListener { } } + private fun changeColumnCount() { + val items = (CONTACTS_GRID_MIN_COLUMNS_COUNT..CONTACTS_GRID_MAX_COLUMNS_COUNT).map { + RadioItem(it, resources.getQuantityString(R.plurals.column_counts, it, it)) + } + + val currentColumnCount = config.contactsGridColumnCount + RadioGroupDialog(this, ArrayList(items), currentColumnCount) { + val newColumnCount = it as Int + if (currentColumnCount != newColumnCount) { + config.contactsGridColumnCount = newColumnCount + favorites_fragment.updateFavoritesColumnCount() + } + } + } + private fun updateMenuColors() { updateStatusbarColor(getProperBackgroundColor()) main_menu.updateColors() diff --git a/app/src/main/res/menu/menu.xml b/app/src/main/res/menu/menu.xml index 29d3bb09..8963ed08 100644 --- a/app/src/main/res/menu/menu.xml +++ b/app/src/main/res/menu/menu.xml @@ -23,6 +23,12 @@ android:icon="@drawable/ic_change_view_vector" android:title="@string/change_view_type" app:showAsAction="ifRoom" /> +