Skip to content

Commit f20ba4f

Browse files
committed
Split Simple picker and Simple conversion
1 parent 780a400 commit f20ba4f

File tree

24 files changed

+497
-395
lines changed

24 files changed

+497
-395
lines changed

compose/icons/api/icons.api

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,14 @@ public final class io/github/composegears/valkyrie/compose/icons/filled/HelpKt {
3535
public static final fun getHelp (Lio/github/composegears/valkyrie/compose/icons/ValkyrieIcons$Filled;)Landroidx/compose/ui/graphics/vector/ImageVector;
3636
}
3737

38+
public final class io/github/composegears/valkyrie/compose/icons/idea/AddFileDarkKt {
39+
public static final fun getAddFileDark (Lio/github/composegears/valkyrie/compose/icons/ValkyrieIcons$Idea;)Landroidx/compose/ui/graphics/vector/ImageVector;
40+
}
41+
42+
public final class io/github/composegears/valkyrie/compose/icons/idea/AddFileKt {
43+
public static final fun getAddFile (Lio/github/composegears/valkyrie/compose/icons/ValkyrieIcons$Idea;)Landroidx/compose/ui/graphics/vector/ImageVector;
44+
}
45+
3846
public final class io/github/composegears/valkyrie/compose/icons/idea/NotificationsKt {
3947
public static final fun getNotifications (Lio/github/composegears/valkyrie/compose/icons/ValkyrieIcons$Idea;)Landroidx/compose/ui/graphics/vector/ImageVector;
4048
}

compose/icons/api/icons.klib.api

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ final val io.github.composegears.valkyrie.compose.icons.colored/ValkyrieLogo //
2222
final fun (io.github.composegears.valkyrie.compose.icons/ValkyrieIcons.Colored).<get-ValkyrieLogo>(): androidx.compose.ui.graphics.vector/ImageVector // io.github.composegears.valkyrie.compose.icons.colored/ValkyrieLogo.<get-ValkyrieLogo>|<get-ValkyrieLogo>@io.github.composegears.valkyrie.compose.icons.ValkyrieIcons.Colored(){}[0]
2323
final val io.github.composegears.valkyrie.compose.icons.filled/Help // io.github.composegears.valkyrie.compose.icons.filled/Help|@io.github.composegears.valkyrie.compose.icons.ValkyrieIcons.Filled{}Help[0]
2424
final fun (io.github.composegears.valkyrie.compose.icons/ValkyrieIcons.Filled).<get-Help>(): androidx.compose.ui.graphics.vector/ImageVector // io.github.composegears.valkyrie.compose.icons.filled/Help.<get-Help>|<get-Help>@io.github.composegears.valkyrie.compose.icons.ValkyrieIcons.Filled(){}[0]
25+
final val io.github.composegears.valkyrie.compose.icons.idea/AddFile // io.github.composegears.valkyrie.compose.icons.idea/AddFile|@io.github.composegears.valkyrie.compose.icons.ValkyrieIcons.Idea{}AddFile[0]
26+
final fun (io.github.composegears.valkyrie.compose.icons/ValkyrieIcons.Idea).<get-AddFile>(): androidx.compose.ui.graphics.vector/ImageVector // io.github.composegears.valkyrie.compose.icons.idea/AddFile.<get-AddFile>|<get-AddFile>@io.github.composegears.valkyrie.compose.icons.ValkyrieIcons.Idea(){}[0]
27+
final val io.github.composegears.valkyrie.compose.icons.idea/AddFileDark // io.github.composegears.valkyrie.compose.icons.idea/AddFileDark|@io.github.composegears.valkyrie.compose.icons.ValkyrieIcons.Idea{}AddFileDark[0]
28+
final fun (io.github.composegears.valkyrie.compose.icons/ValkyrieIcons.Idea).<get-AddFileDark>(): androidx.compose.ui.graphics.vector/ImageVector // io.github.composegears.valkyrie.compose.icons.idea/AddFileDark.<get-AddFileDark>|<get-AddFileDark>@io.github.composegears.valkyrie.compose.icons.ValkyrieIcons.Idea(){}[0]
2529
final val io.github.composegears.valkyrie.compose.icons.idea/Notifications // io.github.composegears.valkyrie.compose.icons.idea/Notifications|@io.github.composegears.valkyrie.compose.icons.ValkyrieIcons.Idea{}Notifications[0]
2630
final fun (io.github.composegears.valkyrie.compose.icons/ValkyrieIcons.Idea).<get-Notifications>(): androidx.compose.ui.graphics.vector/ImageVector // io.github.composegears.valkyrie.compose.icons.idea/Notifications.<get-Notifications>|<get-Notifications>@io.github.composegears.valkyrie.compose.icons.ValkyrieIcons.Idea(){}[0]
2731
final val io.github.composegears.valkyrie.compose.icons.idea/Settings // io.github.composegears.valkyrie.compose.icons.idea/Settings|@io.github.composegears.valkyrie.compose.icons.ValkyrieIcons.Idea{}Settings[0]
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package io.github.composegears.valkyrie.ui.foundation.icons
1+
package io.github.composegears.valkyrie.compose.icons.idea
22

33
import androidx.compose.ui.graphics.Color
44
import androidx.compose.ui.graphics.PathFillType
@@ -8,13 +8,13 @@ import androidx.compose.ui.graphics.vector.path
88
import androidx.compose.ui.unit.dp
99
import io.github.composegears.valkyrie.compose.icons.ValkyrieIcons
1010

11-
val ValkyrieIcons.AddFile: ImageVector
11+
val ValkyrieIcons.Idea.AddFile: ImageVector
1212
get() {
1313
if (_AddFile != null) {
1414
return _AddFile!!
1515
}
1616
_AddFile = ImageVector.Builder(
17-
name = "AddFile",
17+
name = "Idea.AddFile",
1818
defaultWidth = 16.dp,
1919
defaultHeight = 16.dp,
2020
viewportWidth = 16f,
@@ -44,7 +44,7 @@ val ValkyrieIcons.AddFile: ImageVector
4444
close()
4545
}
4646
path(
47-
fill = SolidColor(Color(0xFFFFFFFF)),
47+
fill = SolidColor(Color(0xFF6C707E)),
4848
pathFillType = PathFillType.EvenOdd,
4949
) {
5050
moveTo(3f, 13f)
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
package io.github.composegears.valkyrie.compose.icons.idea
2+
3+
import androidx.compose.ui.graphics.Color
4+
import androidx.compose.ui.graphics.PathFillType
5+
import androidx.compose.ui.graphics.SolidColor
6+
import androidx.compose.ui.graphics.vector.ImageVector
7+
import androidx.compose.ui.graphics.vector.path
8+
import androidx.compose.ui.unit.dp
9+
import io.github.composegears.valkyrie.compose.icons.ValkyrieIcons
10+
11+
val ValkyrieIcons.Idea.AddFileDark: ImageVector
12+
get() {
13+
if (_AddFileDark != null) {
14+
return _AddFileDark!!
15+
}
16+
_AddFileDark = ImageVector.Builder(
17+
name = "Idea.AddFileDark",
18+
defaultWidth = 16.dp,
19+
defaultHeight = 16.dp,
20+
viewportWidth = 16f,
21+
viewportHeight = 16f,
22+
).apply {
23+
path(
24+
fill = SolidColor(Color(0xFF548AF7)),
25+
pathFillType = PathFillType.EvenOdd,
26+
) {
27+
moveTo(12.5f, 9f)
28+
curveTo(12.776f, 9f, 13f, 9.224f, 13f, 9.5f)
29+
verticalLineTo(12f)
30+
horizontalLineTo(15.5f)
31+
curveTo(15.776f, 12f, 16f, 12.224f, 16f, 12.5f)
32+
curveTo(16f, 12.776f, 15.776f, 13f, 15.5f, 13f)
33+
horizontalLineTo(13f)
34+
verticalLineTo(15.5f)
35+
curveTo(13f, 15.776f, 12.776f, 16f, 12.5f, 16f)
36+
curveTo(12.224f, 16f, 12f, 15.776f, 12f, 15.5f)
37+
verticalLineTo(13f)
38+
horizontalLineTo(9.5f)
39+
curveTo(9.224f, 13f, 9f, 12.776f, 9f, 12.5f)
40+
curveTo(9f, 12.224f, 9.224f, 12f, 9.5f, 12f)
41+
horizontalLineTo(12f)
42+
verticalLineTo(9.5f)
43+
curveTo(12f, 9.224f, 12.224f, 9f, 12.5f, 9f)
44+
close()
45+
}
46+
path(
47+
fill = SolidColor(Color(0xFFCED0D6)),
48+
pathFillType = PathFillType.EvenOdd,
49+
) {
50+
moveTo(3f, 13f)
51+
verticalLineTo(5.828f)
52+
curveTo(3f, 5.298f, 3.211f, 4.789f, 3.586f, 4.414f)
53+
lineTo(6.414f, 1.586f)
54+
curveTo(6.789f, 1.211f, 7.298f, 1f, 7.828f, 1f)
55+
horizontalLineTo(11f)
56+
curveTo(12.105f, 1f, 13f, 1.895f, 13f, 3f)
57+
verticalLineTo(8f)
58+
horizontalLineTo(12f)
59+
verticalLineTo(3f)
60+
curveTo(12f, 2.448f, 11.552f, 2f, 11f, 2f)
61+
horizontalLineTo(8f)
62+
verticalLineTo(4f)
63+
curveTo(8f, 5.105f, 7.105f, 6f, 6f, 6f)
64+
horizontalLineTo(4f)
65+
verticalLineTo(13f)
66+
curveTo(4f, 13.552f, 4.448f, 14f, 5f, 14f)
67+
horizontalLineTo(8f)
68+
verticalLineTo(15f)
69+
horizontalLineTo(5f)
70+
curveTo(3.895f, 15f, 3f, 14.105f, 3f, 13f)
71+
close()
72+
moveTo(4.414f, 5f)
73+
lineTo(7f, 2.414f)
74+
verticalLineTo(4f)
75+
curveTo(7f, 4.552f, 6.552f, 5f, 6f, 5f)
76+
horizontalLineTo(4.414f)
77+
close()
78+
}
79+
}.build()
80+
81+
return _AddFileDark!!
82+
}
83+
84+
@Suppress("ObjectPropertyName")
85+
private var _AddFileDark: ImageVector? = null

tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/ValkyriePlugin.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import io.github.composegears.valkyrie.ui.screen.intro.IntroScreen
3939
import io.github.composegears.valkyrie.ui.screen.mode.iconpack.conversion.IconPackConversionScreen
4040
import io.github.composegears.valkyrie.ui.screen.mode.iconpack.creation.IconPackCreationScreen
4141
import io.github.composegears.valkyrie.ui.screen.mode.simple.conversion.SimpleConversionScreen
42+
import io.github.composegears.valkyrie.ui.screen.mode.simple.picker.SimplePickerScreen
4243
import io.github.composegears.valkyrie.ui.screen.preview.CodePreviewScreen
4344
import io.github.composegears.valkyrie.ui.screen.settings.SettingsScreen
4445
import io.github.composegears.valkyrie.ui.screen.webimport.WebImportFlow
@@ -90,6 +91,8 @@ fun ValkyriePlugin(
9091
navController = navController,
9192
destinations = arrayOf(
9293
IntroScreen,
94+
95+
SimplePickerScreen,
9396
SimpleConversionScreen,
9497

9598
IconPackCreationScreen,
@@ -125,7 +128,7 @@ fun ValkyriePlugin(
125128
private fun NavController.initialFlow(inMemorySettings: InMemorySettings) {
126129
val settings = inMemorySettings.current
127130
val screen = when (settings.mode) {
128-
Simple -> SimpleConversionScreen
131+
Simple -> SimplePickerScreen
129132
IconPack -> IconPackConversionScreen
130133
Unspecified, Editor, WebImport -> IntroScreen
131134
}

tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/common/picker/UniversalPicker.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@ import io.github.composegears.valkyrie.compose.core.layout.VerticalSpacer
3131
import io.github.composegears.valkyrie.compose.core.layout.WeightSpacer
3232
import io.github.composegears.valkyrie.compose.core.rememberMutableState
3333
import io.github.composegears.valkyrie.compose.icons.ValkyrieIcons
34+
import io.github.composegears.valkyrie.compose.icons.idea.AddFile
3435
import io.github.composegears.valkyrie.compose.util.disabled
3536
import io.github.composegears.valkyrie.ui.common.picker.PickerEvent.PickDirectory
3637
import io.github.composegears.valkyrie.ui.common.picker.PickerEvent.PickFiles
3738
import io.github.composegears.valkyrie.ui.foundation.dashedBorder
38-
import io.github.composegears.valkyrie.ui.foundation.icons.AddFile
3939
import io.github.composegears.valkyrie.ui.foundation.theme.PreviewTheme
4040
import io.github.composegears.valkyrie.ui.platform.ClipboardDataType
4141
import io.github.composegears.valkyrie.ui.platform.Os
@@ -126,7 +126,7 @@ private fun SelectableState(
126126
Column(horizontalAlignment = Alignment.CenterHorizontally) {
127127
CenterVerticalRow {
128128
Icon(
129-
imageVector = ValkyrieIcons.AddFile,
129+
imageVector = ValkyrieIcons.Idea.AddFile,
130130
contentDescription = null,
131131
)
132132
Text(

tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/foundation/DragAndDropBox.kt

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import androidx.compose.foundation.layout.height
1212
import androidx.compose.foundation.layout.heightIn
1313
import androidx.compose.foundation.layout.padding
1414
import androidx.compose.material3.MaterialTheme
15+
import androidx.compose.material3.Text
1516
import androidx.compose.runtime.Composable
1617
import androidx.compose.runtime.getValue
1718
import androidx.compose.runtime.remember
@@ -21,6 +22,7 @@ import androidx.compose.ui.ExperimentalComposeUiApi
2122
import androidx.compose.ui.Modifier
2223
import androidx.compose.ui.draw.clip
2324
import androidx.compose.ui.graphics.Color
25+
import androidx.compose.ui.graphics.Shape
2426
import androidx.compose.ui.input.pointer.PointerEventType
2527
import androidx.compose.ui.input.pointer.onPointerEvent
2628
import androidx.compose.ui.unit.dp
@@ -33,35 +35,36 @@ fun DragAndDropBox(
3335
isDragging: Boolean,
3436
onChoose: () -> Unit,
3537
modifier: Modifier = Modifier,
38+
shape: Shape = MaterialTheme.shapes.small,
3639
content: @Composable BoxScope.() -> Unit,
3740
) {
3841
var isHover by rememberMutableState(isDragging) { isDragging }
3942

4043
val dashColor = MaterialTheme.colorScheme.onSurface.copy(alpha = 0.5f)
41-
val border by animateDpAsState(if (isHover) 4.dp else 1.dp)
44+
val border by animateDpAsState(if (isHover) 2.dp else 1.dp)
4245

4346
Box(
4447
modifier = modifier
4548
.fillMaxWidth(0.8f)
4649
.heightIn(min = 300.dp)
47-
.clip(MaterialTheme.shapes.small)
4850
.onPointerEvent(PointerEventType.Enter) { isHover = true }
4951
.onPointerEvent(PointerEventType.Exit) { isHover = false }
5052
.dashedBorder(
5153
strokeWidth = border,
5254
gapWidth = 8.dp,
5355
dashWidth = 8.dp,
5456
color = dashColor,
55-
shape = MaterialTheme.shapes.small,
57+
shape = shape,
5658
)
57-
.padding(2.dp)
59+
.padding(1.dp)
5860
.background(
5961
color = when {
6062
isHover -> MaterialTheme.colorScheme.primary.copy(alpha = 0.05f)
6163
else -> Color.Transparent
6264
},
63-
shape = MaterialTheme.shapes.small,
65+
shape = shape,
6466
)
67+
.clip(shape)
6568
.clickable(
6669
onClick = onChoose,
6770
indication = null,
@@ -84,6 +87,9 @@ private fun DragAndDropBoxPreview() = PreviewTheme {
8487
.fillMaxWidth()
8588
.height(300.dp)
8689
.background(Color.Gray.copy(alpha = 0.3f)),
87-
)
90+
contentAlignment = Alignment.Center,
91+
) {
92+
Text(text = "Content")
93+
}
8894
}
8995
}

tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/ui/screen/intro/IntroScreen.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ import io.github.composegears.valkyrie.ui.foundation.theme.PreviewTheme
4242
import io.github.composegears.valkyrie.ui.screen.editor.EditorSelectScreen
4343
import io.github.composegears.valkyrie.ui.screen.intro.util.rememberPluginVersion
4444
import io.github.composegears.valkyrie.ui.screen.mode.iconpack.creation.IconPackCreationScreen
45-
import io.github.composegears.valkyrie.ui.screen.mode.simple.conversion.SimpleConversionScreen
45+
import io.github.composegears.valkyrie.ui.screen.mode.simple.picker.SimplePickerScreen
4646
import io.github.composegears.valkyrie.ui.screen.settings.SettingsScreen
4747
import io.github.composegears.valkyrie.ui.screen.webimport.WebImportFlow
4848
import io.github.composegears.valkyrie.util.stringResource
@@ -57,7 +57,7 @@ val IntroScreen: NavDestination<Unit> by navDestination {
5757
},
5858
onModeChange = {
5959
when (it) {
60-
Simple -> navController.navigate(dest = SimpleConversionScreen)
60+
Simple -> navController.navigate(dest = SimplePickerScreen)
6161
IconPack -> navController.navigate(dest = IconPackCreationScreen)
6262
Editor -> navController.navigate(dest = EditorSelectScreen)
6363
WebImport -> navController.navigate(dest = WebImportFlow)

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

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ package io.github.composegears.valkyrie.ui.screen.mode.iconpack.conversion.ui
33
import androidx.compose.animation.AnimatedVisibility
44
import androidx.compose.animation.animateColorAsState
55
import androidx.compose.desktop.ui.tooling.preview.Preview
6+
import androidx.compose.foundation.Image
67
import androidx.compose.foundation.background
78
import androidx.compose.foundation.layout.Box
89
import androidx.compose.foundation.layout.aspectRatio
910
import androidx.compose.foundation.layout.fillMaxSize
1011
import androidx.compose.foundation.layout.padding
1112
import androidx.compose.foundation.layout.widthIn
12-
import androidx.compose.material3.Icon
1313
import androidx.compose.material3.MaterialTheme
1414
import androidx.compose.material3.Text
1515
import androidx.compose.runtime.Composable
@@ -21,8 +21,10 @@ import androidx.compose.ui.text.style.TextAlign
2121
import androidx.compose.ui.unit.dp
2222
import io.github.composegears.valkyrie.compose.core.layout.CenterVerticalRow
2323
import io.github.composegears.valkyrie.compose.icons.ValkyrieIcons
24+
import io.github.composegears.valkyrie.compose.icons.idea.AddFile
25+
import io.github.composegears.valkyrie.compose.icons.idea.AddFileDark
26+
import io.github.composegears.valkyrie.compose.util.isLight
2427
import io.github.composegears.valkyrie.ui.foundation.dashedBorder
25-
import io.github.composegears.valkyrie.ui.foundation.icons.AddFile
2628
import io.github.composegears.valkyrie.ui.foundation.theme.PreviewTheme
2729

2830
@Composable
@@ -62,8 +64,11 @@ fun DragAndDropOverlay(
6264
),
6365
) {
6466
CenterVerticalRow(modifier = Modifier.align(Alignment.Center)) {
65-
Icon(
66-
imageVector = ValkyrieIcons.AddFile,
67+
Image(
68+
imageVector = when {
69+
MaterialTheme.colorScheme.isLight -> ValkyrieIcons.Idea.AddFile
70+
else -> ValkyrieIcons.Idea.AddFileDark
71+
},
6772
contentDescription = null,
6873
)
6974
Text(

0 commit comments

Comments
 (0)