Implicitly add language filter tag
This partially reverts commit 673c1837e9.
This commit is contained in:
1 parent
f7c2fd8af3
commit
a718510c89
2 files changed
+23
-10
No files matched your search
@@ -42,6 +42,7 @@ data class ListUrlBuilder(
|
||||
var category: Int = EhUtils.NONE,
|
||||
private var mKeyword: String? = null,
|
||||
var hash: String? = null,
|
||||
var language: Int = -1,
|
||||
var advanceSearch: Int = -1,
|
||||
var minRating: Int = -1,
|
||||
var pageFrom: Int = -1,
|
||||
@@ -263,7 +264,19 @@ data class ListUrlBuilder(
|
||||
if (category > 0) {
|
||||
addQueryParameter("f_cats", (category.inv() and EhUtils.ALL_CATEGORY).toString())
|
||||
}
|
||||
addQueryParameterIfNotBlank("f_search", mKeyword)
|
||||
val query = mKeyword?.let { keyword ->
|
||||
if (language == -1 || "gid:" in keyword || "l:" in keyword || "language:" in keyword) {
|
||||
keyword
|
||||
} else {
|
||||
val tag = GalleryInfo.S_LANG_TAGS[language]
|
||||
if (keyword.isNotEmpty()) {
|
||||
"$tag $keyword"
|
||||
} else {
|
||||
tag
|
||||
}
|
||||
}
|
||||
}
|
||||
addQueryParameterIfNotBlank("f_search", query)
|
||||
addQueryParameterIfNotBlank("prev", mPrev)
|
||||
addQueryParameterIfNotBlank("next", mNext)
|
||||
addQueryParameterIfNotBlank("seek", mJumpTo)
|
||||
|
||||
@@ -96,7 +96,6 @@ import com.hippo.ehviewer.client.EhEngine
|
||||
import com.hippo.ehviewer.client.EhTagDatabase
|
||||
import com.hippo.ehviewer.client.EhUtils
|
||||
import com.hippo.ehviewer.client.data.BaseGalleryInfo
|
||||
import com.hippo.ehviewer.client.data.GalleryInfo.Companion.S_LANG_TAGS
|
||||
import com.hippo.ehviewer.client.data.ListUrlBuilder
|
||||
import com.hippo.ehviewer.client.data.ListUrlBuilder.Companion.MODE_IMAGE_SEARCH
|
||||
import com.hippo.ehviewer.client.data.ListUrlBuilder.Companion.MODE_NORMAL
|
||||
@@ -265,6 +264,7 @@ fun GalleryListScreen(lub: ListUrlBuilder, navigator: DestinationsNavigator) = c
|
||||
val toplists = remember { entries zip values }
|
||||
val quickSearchName = getSuitableTitleForUrlBuilder(urlBuilder, false)
|
||||
var saveProgress by Settings.qSSaveProgress.asMutableState()
|
||||
var languageFilter by Settings.languageFilter.asMutableState()
|
||||
|
||||
fun getFirstVisibleItemIndex() = if (listMode == 0) {
|
||||
listState.firstVisibleItemIndex
|
||||
@@ -419,10 +419,14 @@ fun GalleryListScreen(lub: ListUrlBuilder, navigator: DestinationsNavigator) = c
|
||||
ListItem(
|
||||
modifier = Modifier.clickable {
|
||||
if (urlBuilder.mode == MODE_WHATS_HOT) {
|
||||
val builder = ListUrlBuilder(item)
|
||||
val builder = ListUrlBuilder(item).apply {
|
||||
language = languageFilter
|
||||
}
|
||||
navigator.navigate(builder.asDst())
|
||||
} else {
|
||||
urlBuilder = ListUrlBuilder(item)
|
||||
urlBuilder = ListUrlBuilder(item).apply {
|
||||
language = languageFilter
|
||||
}
|
||||
data.refresh()
|
||||
}
|
||||
showSearchLayout = false
|
||||
@@ -497,7 +501,6 @@ fun GalleryListScreen(lub: ListUrlBuilder, navigator: DestinationsNavigator) = c
|
||||
override val destination = ProgressScreenDestination(gid, pToken, page)
|
||||
}
|
||||
|
||||
var languageFilter by Settings.languageFilter.asMutableState()
|
||||
val selectImageFirst = stringResource(R.string.select_image_first)
|
||||
fun onApplySearch(query: String) = launchIO {
|
||||
val builder = ListUrlBuilder()
|
||||
@@ -506,12 +509,9 @@ fun GalleryListScreen(lub: ListUrlBuilder, navigator: DestinationsNavigator) = c
|
||||
// If it's MODE_SUBSCRIPTION, keep it
|
||||
val newMode = if (oldMode == MODE_SUBSCRIPTION) MODE_SUBSCRIPTION else MODE_NORMAL
|
||||
builder.mode = newMode
|
||||
builder.keyword = if ("gid:" in query || "l:" in query || "language:" in query) {
|
||||
query
|
||||
} else {
|
||||
S_LANG_TAGS.getOrNull(languageFilter)?.plus(" $query") ?: query
|
||||
}
|
||||
builder.keyword = query
|
||||
builder.category = category
|
||||
builder.language = languageFilter
|
||||
builder.advanceSearch = advancedSearchOption.advanceSearch
|
||||
builder.minRating = advancedSearchOption.minRating
|
||||
builder.pageFrom = advancedSearchOption.fromPage
|
||||
|
||||
Reference in new issue
Block a user