mirror of
https://github.com/tachiyomiorg/tachiyomi.git
synced 2024-11-12 23:45:09 +01:00
Move reorder filters to display tab of library display options
Also renamed the last tab back to categories
This commit is contained in:
parent
cf18b148cc
commit
4b516e2a77
@ -4,16 +4,9 @@ import android.content.Context
|
|||||||
import android.graphics.drawable.AnimatedVectorDrawable
|
import android.graphics.drawable.AnimatedVectorDrawable
|
||||||
import android.util.AttributeSet
|
import android.util.AttributeSet
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
|
||||||
import com.afollestad.materialdialogs.MaterialDialog
|
|
||||||
import com.afollestad.materialdialogs.customview.customView
|
|
||||||
import eu.davidea.flexibleadapter.FlexibleAdapter
|
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.databinding.LibraryCategoryLayoutBinding
|
import eu.kanade.tachiyomi.databinding.LibraryCategoryLayoutBinding
|
||||||
import eu.kanade.tachiyomi.ui.library.filter.FilterBottomSheet
|
import eu.kanade.tachiyomi.ui.library.filter.FilterBottomSheet
|
||||||
import eu.kanade.tachiyomi.ui.library.filter.FilterBottomSheet.Filters.Companion.DEFAULT_ORDER
|
|
||||||
import eu.kanade.tachiyomi.ui.library.filter.ManageFilterItem
|
|
||||||
import eu.kanade.tachiyomi.util.bindToPreference
|
import eu.kanade.tachiyomi.util.bindToPreference
|
||||||
import eu.kanade.tachiyomi.util.system.toInt
|
import eu.kanade.tachiyomi.util.system.toInt
|
||||||
import eu.kanade.tachiyomi.widget.BaseLibraryDisplayView
|
import eu.kanade.tachiyomi.widget.BaseLibraryDisplayView
|
||||||
@ -53,32 +46,6 @@ class LibraryCategoryView @JvmOverloads constructor(context: Context, attrs: Att
|
|||||||
?.onGroupClicked?.invoke(FilterBottomSheet.ACTION_EXPAND_COLLAPSE_ALL)
|
?.onGroupClicked?.invoke(FilterBottomSheet.ACTION_EXPAND_COLLAPSE_ALL)
|
||||||
}
|
}
|
||||||
hopperLongPress.bindToPreference(preferences.hopperLongPressAction())
|
hopperLongPress.bindToPreference(preferences.hopperLongPressAction())
|
||||||
|
|
||||||
reorderFiltersButton.setOnClickListener {
|
|
||||||
val recycler = RecyclerView(context)
|
|
||||||
var filterOrder = preferences.filterOrder().get()
|
|
||||||
if (filterOrder.count() != 6) {
|
|
||||||
filterOrder = DEFAULT_ORDER
|
|
||||||
}
|
|
||||||
val adapter = FlexibleAdapter(
|
|
||||||
filterOrder.toCharArray().map(::ManageFilterItem),
|
|
||||||
this,
|
|
||||||
true
|
|
||||||
)
|
|
||||||
recycler.layoutManager = LinearLayoutManager(context)
|
|
||||||
recycler.adapter = adapter
|
|
||||||
adapter.isHandleDragEnabled = true
|
|
||||||
adapter.isLongPressDragEnabled = true
|
|
||||||
MaterialDialog(context).title(R.string.reorder_filters)
|
|
||||||
.customView(view = recycler, scrollable = false)
|
|
||||||
.negativeButton(android.R.string.cancel)
|
|
||||||
.positiveButton(R.string.reorder) {
|
|
||||||
val order = adapter.currentItems.map { it.char }.joinToString("")
|
|
||||||
preferences.filterOrder().set(order)
|
|
||||||
recycler.adapter = null
|
|
||||||
}
|
|
||||||
.show()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,8 +7,15 @@ import android.view.ViewTreeObserver
|
|||||||
import android.widget.SeekBar
|
import android.widget.SeekBar
|
||||||
import androidx.core.animation.addListener
|
import androidx.core.animation.addListener
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
|
import com.afollestad.materialdialogs.MaterialDialog
|
||||||
|
import com.afollestad.materialdialogs.customview.customView
|
||||||
|
import eu.davidea.flexibleadapter.FlexibleAdapter
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.databinding.LibraryDisplayLayoutBinding
|
import eu.kanade.tachiyomi.databinding.LibraryDisplayLayoutBinding
|
||||||
|
import eu.kanade.tachiyomi.ui.library.filter.FilterBottomSheet
|
||||||
|
import eu.kanade.tachiyomi.ui.library.filter.ManageFilterItem
|
||||||
import eu.kanade.tachiyomi.util.bindToPreference
|
import eu.kanade.tachiyomi.util.bindToPreference
|
||||||
import eu.kanade.tachiyomi.util.lang.withSubtitle
|
import eu.kanade.tachiyomi.util.lang.withSubtitle
|
||||||
import eu.kanade.tachiyomi.util.system.dpToPx
|
import eu.kanade.tachiyomi.util.system.dpToPx
|
||||||
@ -28,6 +35,33 @@ class LibraryDisplayView @JvmOverloads constructor(context: Context, attrs: Attr
|
|||||||
binding.resetGridSize.setOnClickListener {
|
binding.resetGridSize.setOnClickListener {
|
||||||
binding.gridSeekbar.progress = 3
|
binding.gridSeekbar.progress = 3
|
||||||
}
|
}
|
||||||
|
|
||||||
|
binding.reorderFiltersButton.setOnClickListener {
|
||||||
|
val recycler = RecyclerView(context)
|
||||||
|
var filterOrder = preferences.filterOrder().get()
|
||||||
|
if (filterOrder.count() != 6) {
|
||||||
|
filterOrder = FilterBottomSheet.Filters.DEFAULT_ORDER
|
||||||
|
}
|
||||||
|
val adapter = FlexibleAdapter(
|
||||||
|
filterOrder.toCharArray().map(::ManageFilterItem),
|
||||||
|
this,
|
||||||
|
true
|
||||||
|
)
|
||||||
|
recycler.layoutManager = LinearLayoutManager(context)
|
||||||
|
recycler.adapter = adapter
|
||||||
|
adapter.isHandleDragEnabled = true
|
||||||
|
adapter.isLongPressDragEnabled = true
|
||||||
|
MaterialDialog(context).title(R.string.reorder_filters)
|
||||||
|
.customView(view = recycler, scrollable = false)
|
||||||
|
.negativeButton(android.R.string.cancel)
|
||||||
|
.positiveButton(R.string.reorder) {
|
||||||
|
val order = adapter.currentItems.map { it.char }.joinToString("")
|
||||||
|
preferences.filterOrder().set(order)
|
||||||
|
recycler.adapter = null
|
||||||
|
}
|
||||||
|
.show()
|
||||||
|
}
|
||||||
|
|
||||||
binding.root.viewTreeObserver.addOnGlobalLayoutListener(object : ViewTreeObserver.OnGlobalLayoutListener {
|
binding.root.viewTreeObserver.addOnGlobalLayoutListener(object : ViewTreeObserver.OnGlobalLayoutListener {
|
||||||
override fun onGlobalLayout() {
|
override fun onGlobalLayout() {
|
||||||
if (binding.root.width > 0) {
|
if (binding.root.width > 0) {
|
||||||
|
@ -73,6 +73,6 @@ open class TabbedLibraryDisplaySheet(val controller: Controller) :
|
|||||||
override fun getTabTitles(): List<Int> = listOf(
|
override fun getTabTitles(): List<Int> = listOf(
|
||||||
R.string.display,
|
R.string.display,
|
||||||
R.string.badges,
|
R.string.badges,
|
||||||
R.string.more
|
R.string.categories
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -11,22 +11,12 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
|
||||||
android:id="@+id/reorder_filters_button"
|
|
||||||
android:layout_marginStart="8dp"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
app:icon="@drawable/ic_swap_vert_24dp"
|
|
||||||
style="@style/Theme.Widget.Button.TextButton"
|
|
||||||
android:textColor="?android:attr/textColorPrimary"
|
|
||||||
app:iconTint="?android:attr/textColorPrimary"
|
|
||||||
android:text="@string/reorder_filters" />
|
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/expand_collapse_categories"
|
android:id="@+id/expand_collapse_categories"
|
||||||
style="@style/Theme.Widget.Button.TextButton"
|
style="@style/Theme.Widget.Button.TextButton"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:textAlignment="textStart"
|
||||||
app:icon="@drawable/ic_expand_more_24dp"
|
app:icon="@drawable/ic_expand_more_24dp"
|
||||||
android:layout_marginStart="8dp"
|
android:layout_marginStart="8dp"
|
||||||
android:textColor="?android:attr/textColorPrimary"
|
android:textColor="?android:attr/textColorPrimary"
|
||||||
|
@ -98,6 +98,18 @@
|
|||||||
android:layout_marginStart="12dp"
|
android:layout_marginStart="12dp"
|
||||||
android:layout_marginEnd="12dp"
|
android:layout_marginEnd="12dp"
|
||||||
android:text="@string/uniform_grid_covers" />
|
android:text="@string/uniform_grid_covers" />
|
||||||
|
|
||||||
|
<com.google.android.material.button.MaterialButton
|
||||||
|
android:id="@+id/reorder_filters_button"
|
||||||
|
android:layout_marginStart="8dp"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:textAlignment="textStart"
|
||||||
|
app:icon="@drawable/ic_swap_vert_24dp"
|
||||||
|
style="@style/Theme.Widget.Button.TextButton"
|
||||||
|
android:textColor="?android:attr/textColorPrimary"
|
||||||
|
app:iconTint="?android:attr/textColorPrimary"
|
||||||
|
android:text="@string/reorder_filters" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<include
|
<include
|
||||||
|
Loading…
Reference in New Issue
Block a user