mirror of
https://github.com/SimpleMobileTools/Simple-Calendar.git
synced 2025-06-05 21:59:17 +02:00
move view switching to a dialog
This commit is contained in:
@@ -13,12 +13,13 @@ import com.simplemobiletools.calendar.R
|
|||||||
import com.simplemobiletools.calendar.adapters.MyMonthPagerAdapter
|
import com.simplemobiletools.calendar.adapters.MyMonthPagerAdapter
|
||||||
import com.simplemobiletools.calendar.adapters.MyYearPagerAdapter
|
import com.simplemobiletools.calendar.adapters.MyYearPagerAdapter
|
||||||
import com.simplemobiletools.calendar.extensions.updateWidget
|
import com.simplemobiletools.calendar.extensions.updateWidget
|
||||||
|
import com.simplemobiletools.calendar.views.dialogs.ChangeViewDialog
|
||||||
import kotlinx.android.synthetic.main.activity_main.*
|
import kotlinx.android.synthetic.main.activity_main.*
|
||||||
import org.joda.time.DateTime
|
import org.joda.time.DateTime
|
||||||
import org.joda.time.DateTimeZone
|
import org.joda.time.DateTimeZone
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
class MainActivity : SimpleActivity(), NavigationListener {
|
class MainActivity : SimpleActivity(), NavigationListener, ChangeViewDialog.ChangeViewListener {
|
||||||
private val PREFILLED_MONTHS = 73
|
private val PREFILLED_MONTHS = 73
|
||||||
private val PREFILLED_YEARS = 21
|
private val PREFILLED_YEARS = 21
|
||||||
|
|
||||||
@@ -45,20 +46,13 @@ class MainActivity : SimpleActivity(), NavigationListener {
|
|||||||
override fun onCreateOptionsMenu(menu: Menu): Boolean {
|
override fun onCreateOptionsMenu(menu: Menu): Boolean {
|
||||||
menuInflater.inflate(R.menu.menu, menu)
|
menuInflater.inflate(R.menu.menu, menu)
|
||||||
|
|
||||||
menu.findItem(R.id.yearly_view).isVisible = mConfig.view == Constants.MONTHLY_VIEW
|
|
||||||
menu.findItem(R.id.monthly_view).isVisible = mConfig.view == Constants.YEARLY_VIEW
|
|
||||||
|
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onOptionsItemSelected(item: MenuItem): Boolean {
|
override fun onOptionsItemSelected(item: MenuItem): Boolean {
|
||||||
return when (item.itemId) {
|
return when (item.itemId) {
|
||||||
R.id.monthly_view -> {
|
R.id.change_view -> {
|
||||||
updateView(Constants.MONTHLY_VIEW)
|
showViewDialog()
|
||||||
true
|
|
||||||
}
|
|
||||||
R.id.yearly_view -> {
|
|
||||||
updateView(Constants.YEARLY_VIEW)
|
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
R.id.settings -> {
|
R.id.settings -> {
|
||||||
@@ -81,6 +75,14 @@ class MainActivity : SimpleActivity(), NavigationListener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun showViewDialog() {
|
||||||
|
ChangeViewDialog(this)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun ViewChanged(newView: Int) {
|
||||||
|
updateView(newView)
|
||||||
|
}
|
||||||
|
|
||||||
private fun updateView(view: Int) {
|
private fun updateView(view: Int) {
|
||||||
mIsMonthSelected = view == Constants.MONTHLY_VIEW
|
mIsMonthSelected = view == Constants.MONTHLY_VIEW
|
||||||
mConfig.view = view
|
mConfig.view = view
|
||||||
|
@@ -0,0 +1,49 @@
|
|||||||
|
package com.simplemobiletools.calendar.views.dialogs
|
||||||
|
|
||||||
|
import android.app.Activity
|
||||||
|
import android.app.AlertDialog
|
||||||
|
import android.widget.RadioGroup
|
||||||
|
import com.simplemobiletools.calendar.Config
|
||||||
|
import com.simplemobiletools.calendar.Constants
|
||||||
|
import com.simplemobiletools.calendar.R
|
||||||
|
import kotlinx.android.synthetic.main.dialog_change_views.view.*
|
||||||
|
|
||||||
|
class ChangeViewDialog(val activity: Activity) : AlertDialog.Builder(activity), RadioGroup.OnCheckedChangeListener {
|
||||||
|
val dialog: AlertDialog?
|
||||||
|
|
||||||
|
init {
|
||||||
|
val view = activity.layoutInflater.inflate(R.layout.dialog_change_views, null)
|
||||||
|
view.dialog_radio_view.check(getSavedItem())
|
||||||
|
view.dialog_radio_view.setOnCheckedChangeListener(this)
|
||||||
|
|
||||||
|
dialog = AlertDialog.Builder(activity)
|
||||||
|
.setTitle(activity.resources.getString(R.string.change_view))
|
||||||
|
.setView(view)
|
||||||
|
.create()
|
||||||
|
|
||||||
|
dialog?.show()
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onCheckedChanged(group: RadioGroup?, checkedId: Int) {
|
||||||
|
(activity as ChangeViewListener).ViewChanged(getNewView(checkedId))
|
||||||
|
dialog?.dismiss()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun getNewView(id: Int): Int {
|
||||||
|
return when (id) {
|
||||||
|
R.id.dialog_radio_yearly -> Constants.YEARLY_VIEW
|
||||||
|
else -> Constants.MONTHLY_VIEW
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun getSavedItem(): Int {
|
||||||
|
return when (Config.newInstance(activity).view) {
|
||||||
|
Constants.YEARLY_VIEW -> R.id.dialog_radio_yearly
|
||||||
|
else -> R.id.dialog_radio_monthly
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
interface ChangeViewListener {
|
||||||
|
fun ViewChanged(newView: Int)
|
||||||
|
}
|
||||||
|
}
|
25
app/src/main/res/layout/dialog_change_views.xml
Normal file
25
app/src/main/res/layout/dialog_change_views.xml
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<RadioGroup
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:id="@+id/dialog_radio_view"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:padding="@dimen/activity_margin">
|
||||||
|
|
||||||
|
<RadioButton
|
||||||
|
android:id="@+id/dialog_radio_monthly"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingBottom="@dimen/activity_margin"
|
||||||
|
android:paddingTop="@dimen/activity_margin"
|
||||||
|
android:text="@string/monthly_view"/>
|
||||||
|
|
||||||
|
<RadioButton
|
||||||
|
android:id="@+id/dialog_radio_yearly"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingBottom="@dimen/activity_margin"
|
||||||
|
android:paddingTop="@dimen/activity_margin"
|
||||||
|
android:text="@string/yearly_view"/>
|
||||||
|
|
||||||
|
</RadioGroup>
|
@@ -2,12 +2,8 @@
|
|||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
<menu 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">
|
||||||
<item
|
<item
|
||||||
android:id="@+id/monthly_view"
|
android:id="@+id/change_view"
|
||||||
android:title="@string/monthly_view"
|
android:title="@string/change_view"
|
||||||
app:showAsAction="never"/>
|
|
||||||
<item
|
|
||||||
android:id="@+id/yearly_view"
|
|
||||||
android:title="@string/yearly_view"
|
|
||||||
app:showAsAction="never"/>
|
app:showAsAction="never"/>
|
||||||
<item
|
<item
|
||||||
android:id="@+id/settings"
|
android:id="@+id/settings"
|
||||||
|
@@ -4,6 +4,7 @@
|
|||||||
<string name="undo">Rückgängig</string>
|
<string name="undo">Rückgängig</string>
|
||||||
<string name="ok">OK</string>
|
<string name="ok">OK</string>
|
||||||
<string name="cancel">Abbrechen</string>
|
<string name="cancel">Abbrechen</string>
|
||||||
|
<string name="change_view">Change view</string>
|
||||||
<string name="monthly_view">Monthly view</string>
|
<string name="monthly_view">Monthly view</string>
|
||||||
<string name="yearly_view">Yearly view</string>
|
<string name="yearly_view">Yearly view</string>
|
||||||
|
|
||||||
|
@@ -4,6 +4,7 @@
|
|||||||
<string name="undo">Annulla</string>
|
<string name="undo">Annulla</string>
|
||||||
<string name="ok">OK</string>
|
<string name="ok">OK</string>
|
||||||
<string name="cancel">Cancel</string>
|
<string name="cancel">Cancel</string>
|
||||||
|
<string name="change_view">Change view</string>
|
||||||
<string name="monthly_view">Monthly view</string>
|
<string name="monthly_view">Monthly view</string>
|
||||||
<string name="yearly_view">Yearly view</string>
|
<string name="yearly_view">Yearly view</string>
|
||||||
|
|
||||||
|
@@ -4,6 +4,7 @@
|
|||||||
<string name="undo">元に戻す</string>
|
<string name="undo">元に戻す</string>
|
||||||
<string name="ok">OK</string>
|
<string name="ok">OK</string>
|
||||||
<string name="cancel">Cancel</string>
|
<string name="cancel">Cancel</string>
|
||||||
|
<string name="change_view">Change view</string>
|
||||||
<string name="monthly_view">Monthly view</string>
|
<string name="monthly_view">Monthly view</string>
|
||||||
<string name="yearly_view">Yearly view</string>
|
<string name="yearly_view">Yearly view</string>
|
||||||
|
|
||||||
|
@@ -4,6 +4,7 @@
|
|||||||
<string name="undo">Desfazer</string>
|
<string name="undo">Desfazer</string>
|
||||||
<string name="ok">OK</string>
|
<string name="ok">OK</string>
|
||||||
<string name="cancel">Cancelar</string>
|
<string name="cancel">Cancelar</string>
|
||||||
|
<string name="change_view">Change view</string>
|
||||||
<string name="monthly_view">Monthly view</string>
|
<string name="monthly_view">Monthly view</string>
|
||||||
<string name="yearly_view">Yearly view</string>
|
<string name="yearly_view">Yearly view</string>
|
||||||
|
|
||||||
|
@@ -4,6 +4,7 @@
|
|||||||
<string name="undo">Ångra</string>
|
<string name="undo">Ångra</string>
|
||||||
<string name="ok">OK</string>
|
<string name="ok">OK</string>
|
||||||
<string name="cancel">Cancel</string>
|
<string name="cancel">Cancel</string>
|
||||||
|
<string name="change_view">Change view</string>
|
||||||
<string name="monthly_view">Monthly view</string>
|
<string name="monthly_view">Monthly view</string>
|
||||||
<string name="yearly_view">Yearly view</string>
|
<string name="yearly_view">Yearly view</string>
|
||||||
|
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
<resources>
|
<resources>
|
||||||
<dimen name="activity_margin">16dp</dimen>
|
<dimen name="activity_margin">16dp</dimen>
|
||||||
|
<dimen name="medium_padding">8dp</dimen>
|
||||||
<dimen name="social_padding">8dp</dimen>
|
<dimen name="social_padding">8dp</dimen>
|
||||||
<dimen name="social_logo">40dp</dimen>
|
<dimen name="social_logo">40dp</dimen>
|
||||||
<dimen name="event_padding">8dp</dimen>
|
<dimen name="event_padding">8dp</dimen>
|
||||||
|
@@ -4,6 +4,7 @@
|
|||||||
<string name="undo">Undo</string>
|
<string name="undo">Undo</string>
|
||||||
<string name="ok">OK</string>
|
<string name="ok">OK</string>
|
||||||
<string name="cancel">Cancel</string>
|
<string name="cancel">Cancel</string>
|
||||||
|
<string name="change_view">Change view</string>
|
||||||
<string name="monthly_view">Monthly view</string>
|
<string name="monthly_view">Monthly view</string>
|
||||||
<string name="yearly_view">Yearly view</string>
|
<string name="yearly_view">Yearly view</string>
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user