mirror of
https://github.com/Suwayomi/TachideskJUI.git
synced 2025-12-10 06:42:05 +01:00
Create a icon
This commit is contained in:
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -16,6 +16,7 @@
|
||||
*.jpeg binary
|
||||
*.gif binary
|
||||
*.ico binary
|
||||
*.icns binary
|
||||
*.gz binary
|
||||
*.zip binary
|
||||
*.7z binary
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||

|
||||

|
||||
# Tachidesk-JUI
|
||||
A free and open source manga reader to read manga from a [Tachidesk](https://github.com/Suwayomi/Tachidesk) server.
|
||||
|
||||
|
||||
@@ -192,10 +192,15 @@ compose.desktop {
|
||||
upgradeUuid = "B2ED947E-81E4-4258-8388-2B1EDF5E0A30"
|
||||
shortcut = true
|
||||
menu = true
|
||||
iconFile.set(project.file("resources/icon.ico"))
|
||||
}
|
||||
macOS {
|
||||
bundleID = "ca.gosyer.tachideskjui"
|
||||
packageName = rootProject.name
|
||||
iconFile.set(project.file("resources/icon.icns"))
|
||||
}
|
||||
linux {
|
||||
iconFile.set(project.file("resources/icon.png"))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BIN
resources/icon.icns
Normal file
BIN
resources/icon.icns
Normal file
Binary file not shown.
BIN
resources/icon.ico
Normal file
BIN
resources/icon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 264 KiB |
BIN
resources/icon.png
Normal file
BIN
resources/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
@@ -36,6 +36,7 @@ import androidx.compose.ui.window.WindowSize
|
||||
import androidx.compose.ui.window.rememberWindowState
|
||||
import ca.gosyer.common.di.AppScope
|
||||
import ca.gosyer.data.translation.XmlResourceBundle
|
||||
import ca.gosyer.ui.base.components.setIcon
|
||||
import ca.gosyer.ui.base.resources.LocalResources
|
||||
import ca.gosyer.ui.base.theme.AppTheme
|
||||
import ca.gosyer.util.lang.launchApplication
|
||||
@@ -92,6 +93,7 @@ fun WindowDialog(
|
||||
},
|
||||
alwaysOnTop = forceFocus
|
||||
) {
|
||||
setIcon()
|
||||
CompositionLocalProvider(
|
||||
LocalResources provides resources
|
||||
) {
|
||||
@@ -158,6 +160,7 @@ fun WindowDialog(
|
||||
},
|
||||
alwaysOnTop = forceFocus,
|
||||
) {
|
||||
setIcon()
|
||||
CompositionLocalProvider(
|
||||
LocalResources provides resources
|
||||
) {
|
||||
|
||||
16
src/main/kotlin/ca/gosyer/ui/base/components/Window.kt
Normal file
16
src/main/kotlin/ca/gosyer/ui/base/components/Window.kt
Normal file
@@ -0,0 +1,16 @@
|
||||
package ca.gosyer.ui.base.components
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.DisposableEffect
|
||||
import androidx.compose.ui.window.FrameWindowScope
|
||||
import javax.imageio.ImageIO
|
||||
|
||||
@Composable
|
||||
fun FrameWindowScope.setIcon() {
|
||||
DisposableEffect(Unit) {
|
||||
window.iconImage = this::class.java.classLoader.getResourceAsStream("icon.png")!!.use {
|
||||
ImageIO.read(it)
|
||||
}
|
||||
onDispose { }
|
||||
}
|
||||
}
|
||||
@@ -30,6 +30,7 @@ import ca.gosyer.data.ui.model.ThemeMode
|
||||
import ca.gosyer.ui.base.WindowDialog
|
||||
import ca.gosyer.ui.base.components.LoadingScreen
|
||||
import ca.gosyer.ui.base.components.LocalComposeWindow
|
||||
import ca.gosyer.ui.base.components.setIcon
|
||||
import ca.gosyer.ui.base.prefs.asStateIn
|
||||
import ca.gosyer.ui.base.resources.LocalResources
|
||||
import ca.gosyer.ui.base.resources.stringResource
|
||||
@@ -163,6 +164,7 @@ suspend fun main() {
|
||||
}
|
||||
}
|
||||
) {
|
||||
setIcon()
|
||||
AppTheme {
|
||||
CompositionLocalProvider(
|
||||
LocalComposeWindow provides window,
|
||||
|
||||
@@ -49,6 +49,7 @@ import ca.gosyer.ui.base.components.ErrorScreen
|
||||
import ca.gosyer.ui.base.components.LoadingScreen
|
||||
import ca.gosyer.ui.base.components.LocalComposeWindow
|
||||
import ca.gosyer.ui.base.components.mangaAspectRatio
|
||||
import ca.gosyer.ui.base.components.setIcon
|
||||
import ca.gosyer.ui.base.resources.LocalResources
|
||||
import ca.gosyer.ui.base.resources.stringResource
|
||||
import ca.gosyer.ui.base.theme.AppTheme
|
||||
@@ -105,6 +106,7 @@ fun openReaderMenu(chapterIndex: Int, mangaId: Long) {
|
||||
shortcuts[it.key]?.invoke(it) ?: false
|
||||
}
|
||||
) {
|
||||
setIcon()
|
||||
CompositionLocalProvider(
|
||||
LocalComposeWindow provides window,
|
||||
LocalResources provides resources
|
||||
|
||||
@@ -17,6 +17,7 @@ import androidx.compose.ui.window.WindowState
|
||||
import androidx.compose.ui.window.rememberWindowState
|
||||
import ca.gosyer.common.di.AppScope
|
||||
import ca.gosyer.data.translation.XmlResourceBundle
|
||||
import ca.gosyer.ui.base.components.setIcon
|
||||
import ca.gosyer.ui.base.resources.LocalResources
|
||||
import ca.gosyer.ui.base.theme.AppTheme
|
||||
|
||||
@@ -51,6 +52,7 @@ fun ThemedWindow(
|
||||
onPreviewKeyEvent,
|
||||
onKeyEvent
|
||||
) {
|
||||
setIcon()
|
||||
CompositionLocalProvider(
|
||||
LocalResources provides resources
|
||||
) {
|
||||
|
||||
BIN
src/main/resources/icon.png
Normal file
BIN
src/main/resources/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
Reference in New Issue
Block a user