Create a icon

This commit is contained in:
Syer10
2021-08-23 12:11:02 -04:00
parent a3f157ab81
commit 0f5aa0b081
13 changed files with 32 additions and 1 deletions

1
.gitattributes vendored
View File

@@ -16,6 +16,7 @@
*.jpeg binary
*.gif binary
*.ico binary
*.icns binary
*.gz binary
*.zip binary
*.7z binary

View File

@@ -1,5 +1,5 @@
![image](https://github.com/Suwayomi/Tachidesk/raw/master/server/src/main/resources/icon/faviconlogo.png)
![image](resources/icon.png)
# Tachidesk-JUI
A free and open source manga reader to read manga from a [Tachidesk](https://github.com/Suwayomi/Tachidesk) server.

View File

@@ -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

Binary file not shown.

BIN
resources/icon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 KiB

BIN
resources/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -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
) {

View 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 { }
}
}

View File

@@ -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,

View File

@@ -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

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB