diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/ui/dialogs/event/EventDetailsDialog.kt b/app/src/main/java/pl/szczodrzynski/edziennik/ui/dialogs/event/EventDetailsDialog.kt index b2c04308..2f050bf3 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/ui/dialogs/event/EventDetailsDialog.kt +++ b/app/src/main/java/pl/szczodrzynski/edziennik/ui/dialogs/event/EventDetailsDialog.kt @@ -18,6 +18,7 @@ import pl.szczodrzynski.edziennik.* import pl.szczodrzynski.edziennik.data.api.szkolny.SzkolnyApi import pl.szczodrzynski.edziennik.data.db.full.EventFull import pl.szczodrzynski.edziennik.databinding.DialogEventDetailsBinding +import pl.szczodrzynski.edziennik.ui.modules.timetable.TimetableFragment import pl.szczodrzynski.edziennik.utils.models.Date import kotlin.coroutines.CoroutineContext @@ -118,9 +119,43 @@ class EventDetailsDialog( ) } + b.goToTimetableButton.setOnClickListener { + dialog.dismiss() + val dateStr = event.eventDate?.stringY_m_d ?: return@setOnClickListener + + val intent = + if (activity is MainActivity && activity.navTargetId == MainActivity.DRAWER_ITEM_TIMETABLE) + Intent(TimetableFragment.ACTION_SCROLL_TO_DATE) + else if (activity is MainActivity) + Intent("android.intent.action.MAIN") + else + Intent(activity, MainActivity::class.java) + + intent.apply { + putExtra("fragmentId", MainActivity.DRAWER_ITEM_TIMETABLE) + putExtra("timetableDate", dateStr) + } + if (activity is MainActivity) + activity.sendBroadcast(intent) + else + activity.startActivity(intent) + } b.saveInCalendarButton.setOnClickListener { openInCalendar() } + + b.goToTimetableButton.setOnLongClickListener { + Toast.makeText(activity, R.string.hint_go_to_timetable, Toast.LENGTH_SHORT).show() + true + } + b.saveInCalendarButton.setOnLongClickListener { + Toast.makeText(activity, R.string.hint_save_in_calendar, Toast.LENGTH_SHORT).show() + true + } + b.editButton.setOnLongClickListener { + Toast.makeText(activity, R.string.hint_edit_event, Toast.LENGTH_SHORT).show() + true + } } private fun showRemoveEventDialog() { diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/ui/dialogs/event/EventListAdapter.kt b/app/src/main/java/pl/szczodrzynski/edziennik/ui/dialogs/event/EventListAdapter.kt index ef69a86f..c70e97cf 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/ui/dialogs/event/EventListAdapter.kt +++ b/app/src/main/java/pl/szczodrzynski/edziennik/ui/dialogs/event/EventListAdapter.kt @@ -8,16 +8,19 @@ import android.content.Context import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.Toast import androidx.recyclerview.widget.RecyclerView import pl.szczodrzynski.edziennik.* import pl.szczodrzynski.edziennik.data.db.full.EventFull import pl.szczodrzynski.edziennik.databinding.EventListItemBinding import pl.szczodrzynski.edziennik.utils.models.Date +import pl.szczodrzynski.edziennik.utils.models.Week class EventListAdapter( val context: Context, val simpleMode: Boolean = false, val showDate: Boolean = false, + val showWeekDay: Boolean = false, val onItemClick: ((event: EventFull) -> Unit)? = null, val onEventEditClick: ((event: EventFull) -> Unit)? = null ) : RecyclerView.Adapter() { @@ -47,6 +50,7 @@ class EventListAdapter( b.topic.text = event.topic b.details.text = mutableListOf( + if (showWeekDay) Week.getFullDayName(event.eventDate.weekDay) else null, if (showDate) event.eventDate.getRelativeString(context, 7) ?: event.eventDate.formattedStringShort else null, event.typeName, if (simpleMode) null else event.startTime?.stringHM ?: app.getString(R.string.event_all_day), @@ -70,11 +74,16 @@ class EventListAdapter( b.typeColor.background?.setTintColor(event.getColor()) - b.editButton.visibility = if (event.addedManually) View.VISIBLE else View.GONE + b.editButton.visibility = if (event.addedManually && !simpleMode) View.VISIBLE else View.GONE b.editButton.onClick { onEventEditClick?.invoke(event) } + b.editButton.setOnLongClickListener { + Toast.makeText(context, R.string.hint_edit_event, Toast.LENGTH_SHORT).show() + true + } + /*with(holder) { b.eventListItemRoot.background.colorFilter = when (event.type) { Event.TYPE_HOMEWORK -> PorterDuffColorFilter(0xffffffff.toInt(), PorterDuff.Mode.CLEAR) diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/ui/modules/home/cards/HomeEventsCard.kt b/app/src/main/java/pl/szczodrzynski/edziennik/ui/modules/home/cards/HomeEventsCard.kt index bd77efba..e218d3d3 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/ui/modules/home/cards/HomeEventsCard.kt +++ b/app/src/main/java/pl/szczodrzynski/edziennik/ui/modules/home/cards/HomeEventsCard.kt @@ -61,6 +61,7 @@ class HomeEventsCard( activity, simpleMode = true, showDate = true, + showWeekDay = true, onItemClick = { EventDetailsDialog( activity, diff --git a/app/src/main/res/layout/dialog_event_details.xml b/app/src/main/res/layout/dialog_event_details.xml index 8532b212..8def11ec 100644 --- a/app/src/main/res/layout/dialog_event_details.xml +++ b/app/src/main/res/layout/dialog_event_details.xml @@ -149,6 +149,12 @@ android:textAppearance="@style/NavView.TextView.Medium" tools:text="Rozdział II: Panowanie Piastów i Jagiellonów.Przeniesiony z 11 grudnia." /> + + + + diff --git a/app/src/main/res/layout/event_list_item.xml b/app/src/main/res/layout/event_list_item.xml index c5d48310..f43a7637 100644 --- a/app/src/main/res/layout/event_list_item.xml +++ b/app/src/main/res/layout/event_list_item.xml @@ -69,8 +69,7 @@ style="@style/Widget.MaterialComponents.Button.OutlinedButton" android:text="\uFC92" android:textSize="20sp" - android:fontFamily="@font/community_material_font_v3_5_95_1" - android:visibility="@{simpleMode ? View.GONE : View.VISIBLE}"/> + android:fontFamily="@font/community_material_font_v3_5_95_1"/> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 154897ea..c27ecc89 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1192,4 +1192,7 @@ Najbliższe wydarzenia Nie ma więcej wydarzeń w kalendarzu. za %s + Zapisz do kalendarza + Edytuj wydarzenie + Idź do planu lekcji