Skip to content

Commit

Permalink
feat: search support for tesseract download menu (closes #434)
Browse files Browse the repository at this point in the history
  • Loading branch information
Bnyro committed Jul 3, 2024
1 parent dbcff4d commit 23297d2
Show file tree
Hide file tree
Showing 4 changed files with 386 additions and 55 deletions.
263 changes: 263 additions & 0 deletions .idea/other.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ fun SearchAppBar(
Text(title)
},
actions = {
Crossfade(isSearchViewVisible) {
Crossfade(isSearchViewVisible, label = "search-bar-crossfade") {
when (it) {
true -> {
Row(
Expand Down
49 changes: 49 additions & 0 deletions app/src/main/java/com/bnyro/translate/ui/models/TessModel.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/*
* Copyright (c) 2024 You Apps
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/

package com.bnyro.translate.ui.models

import android.content.Context
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.bnyro.translate.obj.TessLanguage
import com.bnyro.translate.util.TessHelper
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext

class TessModel: ViewModel() {
var availableLanguages by mutableStateOf(emptyList<TessLanguage>())
var downloadedLanguages by mutableStateOf(emptyList<String>())
var notYetDownloadedLanguages by mutableStateOf(emptyList<TessLanguage>())

fun init(context: Context) {
downloadedLanguages = TessHelper.getDownloadedLanguages(context)

viewModelScope.launch(Dispatchers.IO) {
availableLanguages = TessHelper.getAvailableLanguages()
}
}

fun refreshDownloadedLanguages(context: Context) {
downloadedLanguages = TessHelper.getDownloadedLanguages(context)
}
}
Loading

0 comments on commit 23297d2

Please sign in to comment.