mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 14:27:57 +01:00 
			
		
		
		
	Change catalogue hiding dialog to accommodate more options in the future
This commit is contained in:
		| @@ -9,6 +9,7 @@ import android.view.View | ||||
| import android.view.ViewGroup | ||||
| import androidx.appcompat.widget.SearchView | ||||
| import androidx.recyclerview.widget.LinearLayoutManager | ||||
| import com.afollestad.materialdialogs.MaterialDialog | ||||
| import com.bluelinelabs.conductor.ControllerChangeHandler | ||||
| import com.bluelinelabs.conductor.ControllerChangeType | ||||
| import com.bluelinelabs.conductor.RouterTransaction | ||||
| @@ -42,8 +43,7 @@ class CatalogueController : NucleusController<CataloguePresenter>(), | ||||
|         FlexibleAdapter.OnItemClickListener, | ||||
|         FlexibleAdapter.OnItemLongClickListener, | ||||
|         CatalogueAdapter.OnBrowseClickListener, | ||||
|         CatalogueAdapter.OnLatestClickListener, | ||||
|         HideCatalogueDialog.Listener { | ||||
|         CatalogueAdapter.OnLatestClickListener { | ||||
|  | ||||
|     /** | ||||
|      * Application preferences. | ||||
| @@ -130,15 +130,22 @@ class CatalogueController : NucleusController<CataloguePresenter>(), | ||||
|     } | ||||
|  | ||||
|     override fun onItemLongClick(position: Int) { | ||||
|         val activity = activity ?: return | ||||
|         val item = adapter?.getItem(position) as? SourceItem ?: return | ||||
|         val source = item.source | ||||
|  | ||||
|         val dialog = HideCatalogueDialog(source) | ||||
|         dialog.targetController = this@CatalogueController | ||||
|         dialog.showDialog(router) | ||||
|         MaterialDialog.Builder(activity) | ||||
|                 .title(item.source.name) | ||||
|                 .items(activity.getString(R.string.action_hide)) | ||||
|                 .itemsCallback { _, _, which, _ -> | ||||
|                     when (which) { | ||||
|                         0 -> { | ||||
|                             hideCatalogue(item.source) | ||||
|                         } | ||||
|                     } | ||||
|                 }.show() | ||||
|     } | ||||
|  | ||||
|     override fun hideCatalogueDialogClosed(source: Source) { | ||||
|     private fun hideCatalogue(source: Source) { | ||||
|         val current = preferences.hiddenCatalogues().getOrDefault() | ||||
|         preferences.hiddenCatalogues().set(current + source.id.toString()) | ||||
|  | ||||
|   | ||||
| @@ -1,33 +0,0 @@ | ||||
| package eu.kanade.tachiyomi.ui.catalogue | ||||
|  | ||||
| import android.app.Dialog | ||||
| import android.os.Bundle | ||||
| import com.afollestad.materialdialogs.MaterialDialog | ||||
| import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.source.Source | ||||
| import eu.kanade.tachiyomi.source.SourceManager | ||||
| import eu.kanade.tachiyomi.ui.base.controller.DialogController | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
|  | ||||
| class HideCatalogueDialog(bundle: Bundle? = null) : DialogController(bundle) { | ||||
|  | ||||
|     private val source = Injekt.get<SourceManager>().get(args.getLong("key"))!! | ||||
|  | ||||
|     constructor(source: Source) : this(Bundle().apply { putLong("key", source.id) }) | ||||
|  | ||||
|     override fun onCreateDialog(savedViewState: Bundle?): Dialog { | ||||
|         return MaterialDialog.Builder(activity!!) | ||||
|                 .title(activity!!.getString(R.string.hide_catalogue, source.name)) | ||||
|                 .positiveText(android.R.string.ok) | ||||
|                 .onPositive { _, _ -> | ||||
|                     (targetController as? Listener)?.hideCatalogueDialogClosed(source) | ||||
|                 } | ||||
|                 .negativeText(android.R.string.cancel) | ||||
|                 .build() | ||||
|     } | ||||
|  | ||||
|     interface Listener { | ||||
|         fun hideCatalogueDialogClosed(source: Source) | ||||
|     } | ||||
| } | ||||
| @@ -83,6 +83,7 @@ | ||||
|     <string name="action_display_grid">Grid</string> | ||||
|     <string name="action_display_list">List</string> | ||||
|     <string name="action_display_download_badge">Download badges</string> | ||||
|     <string name="action_hide">Hide</string> | ||||
|     <string name="action_set_filter">Set filter</string> | ||||
|     <string name="action_cancel">Cancel</string> | ||||
|     <string name="action_cancel_all">Cancel all</string> | ||||
| @@ -368,7 +369,6 @@ | ||||
|     <string name="action_global_search_hint">Global search…</string> | ||||
|     <string name="latest">Latest</string> | ||||
|     <string name="browse">Browse</string> | ||||
|     <string name="hide_catalogue">Hide %1$s?</string> | ||||
|  | ||||
|     <!-- Manga activity --> | ||||
|     <string name="manga_not_in_db">This manga has been removed from the database.</string> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user