better UI, +windows1251 encoding support
This commit is contained in:
1 parent
ddf68c1e6a
commit
da88a6e221
15 files changed
+407
-14
No files matched your search
@@ -10,6 +10,7 @@ import net.sergeych.toread.storage.ReadingStateRecord
|
||||
import net.sergeych.toread.storage.jdbc.H2LibraryDatabase
|
||||
import net.sergeych.toread.storage.jdbc.LibraryScanner
|
||||
import org.jetbrains.skia.Image
|
||||
import java.awt.Desktop
|
||||
import java.awt.Toolkit
|
||||
import java.awt.datatransfer.DataFlavor
|
||||
import java.awt.datatransfer.Transferable
|
||||
@@ -218,6 +219,24 @@ actual suspend fun markLibraryReadingStatus(fileId: String, status: BookReadingS
|
||||
}
|
||||
}
|
||||
|
||||
actual suspend fun shareLibraryBookFile(fileId: String): Boolean = false
|
||||
|
||||
actual suspend fun viewLibraryBookFile(fileId: String): Boolean = withContext(Dispatchers.IO) {
|
||||
runCatching {
|
||||
if (!Desktop.isDesktopSupported()) return@withContext false
|
||||
val file = openLibraryDatabase().useLibrary { db ->
|
||||
db.files.get(fileId)?.storageUri?.let(::File)?.takeIf { it.isFile }
|
||||
} ?: return@withContext false
|
||||
val desktop = Desktop.getDesktop()
|
||||
if (desktop.isSupported(Desktop.Action.BROWSE_FILE_DIR)) {
|
||||
desktop.browseFileDirectory(file)
|
||||
} else {
|
||||
desktop.open(file.parentFile ?: file)
|
||||
}
|
||||
true
|
||||
}.getOrDefault(false)
|
||||
}
|
||||
|
||||
actual suspend fun loadBookInfoExtras(fileId: String): BookInfoExtras = withContext(Dispatchers.IO) {
|
||||
openLibraryDatabase().useLibrary { db ->
|
||||
val file = db.files.get(fileId) ?: return@useLibrary BookInfoExtras()
|
||||
|
||||
Reference in new issue
Block a user