Skip to content

Commit 1189fb0

Browse files
committed
[IconPack] Replace code snippet tooltip on Package and IconPack name fields with a plain text description tooltip
1 parent 531f582 commit 1189fb0

5 files changed

Lines changed: 69 additions & 122 deletions

File tree

tools/idea-plugin/CHANGELOG.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## Unreleased
44

5+
### Changed
6+
7+
- [IconPack] Replace code snippet tooltip on Package and IconPack name fields with a plain text description tooltip
8+
59
### Fixed
610

711
- [Web Import] Fix side panel closing when clicking inside the panel content area
@@ -22,8 +26,8 @@
2226
- [Web Import] Add `Tabler` icons provider
2327
- [Web Import] Add `Eva` icons provider
2428
- [Settings] Add "Gutter area" toggle to control visibility of ImageVector gutter icons in the editor
25-
- [Settings] Add "Suppress unused receiver warning" setting to generate `@Suppress("UnusedReceiverParameter")` annotation on
26-
ImageVector extension properties when an icon pack receiver is used (e.g. `ValkyrieIcons`)
29+
- [Settings] Add "Suppress unused receiver warning" setting to generate `@Suppress("UnusedReceiverParameter")`
30+
annotation on ImageVector extension properties when an icon pack receiver is used (e.g. `ValkyrieIcons`)
2731

2832
### Changed
2933

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package io.github.composegears.valkyrie.jewel.settings
2+
3+
import androidx.compose.foundation.ExperimentalFoundationApi
4+
import androidx.compose.foundation.layout.Column
5+
import androidx.compose.runtime.Composable
6+
import androidx.compose.ui.Alignment
7+
import androidx.compose.ui.Modifier
8+
import androidx.compose.ui.unit.dp
9+
import io.github.composegears.valkyrie.jewel.tooling.PreviewTheme
10+
import io.github.composegears.valkyrie.jewel.tooling.lorem
11+
import io.github.composegears.valkyrie.sdk.compose.foundation.layout.CenterVerticalRow
12+
import io.github.composegears.valkyrie.sdk.compose.foundation.layout.Spacer
13+
import io.github.composegears.valkyrie.util.stringResource
14+
import org.jetbrains.annotations.Nls
15+
import org.jetbrains.compose.ui.tooling.preview.Preview
16+
import org.jetbrains.jewel.ui.component.Icon
17+
import org.jetbrains.jewel.ui.component.Text
18+
import org.jetbrains.jewel.ui.component.Tooltip
19+
import org.jetbrains.jewel.ui.icons.AllIconsKeys
20+
21+
@OptIn(ExperimentalFoundationApi::class)
22+
@Composable
23+
fun LabelTooltipRow(
24+
text: String,
25+
@Nls tooltip: String,
26+
modifier: Modifier = Modifier,
27+
) {
28+
CenterVerticalRow(modifier = modifier) {
29+
Text(text)
30+
Spacer(8.dp)
31+
Tooltip(tooltip = { Text(tooltip) }) {
32+
Icon(
33+
key = AllIconsKeys.General.ContextHelp,
34+
contentDescription = stringResource("accessibility.help"),
35+
)
36+
}
37+
}
38+
}
39+
40+
@Preview
41+
@Composable
42+
private fun LabelTooltipRowPreview() = PreviewTheme(alignment = Alignment.Center) {
43+
Column {
44+
LabelTooltipRow(
45+
text = "Package",
46+
tooltip = lorem(10),
47+
)
48+
Spacer(16.dp)
49+
LabelTooltipRow(
50+
text = "IconPack name",
51+
tooltip = lorem(10),
52+
)
53+
}
54+
}

tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/mode/iconpack/common/CodeTooltipHeader.kt

Lines changed: 0 additions & 111 deletions
This file was deleted.

tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/mode/iconpack/common/IconPackEditor.kt

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import androidx.compose.ui.Alignment
1414
import androidx.compose.ui.Modifier
1515
import androidx.compose.ui.unit.dp
1616
import io.github.composegears.valkyrie.jewel.button.OutlineIconButton
17+
import io.github.composegears.valkyrie.jewel.settings.LabelTooltipRow
1718
import io.github.composegears.valkyrie.jewel.textarea.TextArea
1819
import io.github.composegears.valkyrie.jewel.textfield.validation.ValidationResult
1920
import io.github.composegears.valkyrie.jewel.tooling.ProjectPreviewTheme
@@ -66,12 +67,9 @@ fun IconPackEditor(
6667
Spacer(32.dp)
6768
}
6869

69-
CodeTooltipHeader(
70+
LabelTooltipRow(
7071
text = stringResource("iconpack.editor.package"),
71-
code = buildPackPackageHighlight(
72-
packageName = packageName.text,
73-
iconPackName = iconPackName.text,
74-
),
72+
tooltip = stringResource("iconpack.editor.package.tooltip"),
7573
)
7674
Spacer(8.dp)
7775
PackageTextField(
@@ -82,9 +80,9 @@ fun IconPackEditor(
8280
enabled = packageName.enabled,
8381
)
8482
Spacer(32.dp)
85-
CodeTooltipHeader(
86-
text = stringResource("iconpack.editor.iconpack.name"),
87-
code = buildIconPackHighlight(iconPackName.text),
83+
LabelTooltipRow(
84+
text = stringResource("iconpack.editor.iconpack"),
85+
tooltip = stringResource("iconpack.editor.iconpack.tooltip"),
8886
)
8987
Spacer(8.dp)
9088
IconPackTextField(

tools/idea-plugin/src/main/resources/messages/Valkyrie.properties

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,9 @@ edit.action.header=Name
4545
edit.action.textfield.error=Can't be empty
4646
code.preview.title=Code Preview
4747
iconpack.editor.package=Package
48-
iconpack.editor.iconpack.name=IconPack name
48+
iconpack.editor.package.tooltip=Used as a package declaration in generated icon files
49+
iconpack.editor.iconpack=IconPack
50+
iconpack.editor.iconpack.tooltip=Top-level object that groups all generated icons
4951
iconpack.editor.add.nested.pack=Add nested pack
5052
iconpack.newpack.title=New Pack
5153
iconpack.newpack.choose.directory.dnd=Drag \\& Drop destination folder\nor browse

0 commit comments

Comments
 (0)