Skip to content

Commit e05237b

Browse files
authored
Rename export actions to import (#772)
* Rename export actions to import * Rename import settings to generator settings; minor naming fixes * Reword import to destination * Rename ExportHereAction to SetImportDirectoryAction * Reword readme export references * Update changelog
1 parent 9b1e992 commit e05237b

File tree

29 files changed

+170
-170
lines changed

29 files changed

+170
-170
lines changed

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ needs.
8080
- [Icon pack with nested packs configuration](#icon-pack-with-nested-packs-configuration)
8181
- [Tips and tricks](#tips-and-tricks)
8282
- [Other](#other)
83-
- [Export formats](#export-formats)
83+
- [Output formats](#output-formats)
8484
- [Comparison with other solutions](#comparison-with-other-solutions)
8585
- [Migration guide](#migration-guide)
8686

@@ -94,7 +94,7 @@ needs.
9494
* remove redundant code by default (e.g. `public` keyword)
9595
* remove unused imports (e.g. `kotlin.*` package)
9696
* skip default ImageVector parameters
97-
* support generation as [backing property or lazy property](#export-formats)
97+
* support generation as [backing property or lazy property](#output-formats)
9898
* optional trailing comma and explicit mode
9999
* customize code indent
100100
- Ability to create your unique project icon pack (+nested packs if necessary)
@@ -107,7 +107,7 @@ needs.
107107
- Two conversion modes: [Simple](#simple-mode) and [IconPack](#iconpack-mode)
108108
- Support for Drag&Drop files/directories and pasting content from clipboard
109109
- Easy option to add more icons into existing project icon pack
110-
- Export generated ImageVector to clipboard or file (depends on the mode)
110+
- Copy generated ImageVector to clipboard or file (depends on the mode)
111111
- Fully customizable setting for generated icons
112112
- Build-in [ImageVector previewer](#imagevector-previewer) for any icons without compilation ✨
113113
- The plugin is completely built using [Compose Multiplatform](https://github.com/JetBrains/compose-multiplatform)
@@ -143,7 +143,7 @@ https://github.com/user-attachments/assets/f48eb027-ccb2-4194-87bb-868c6be222ae
143143

144144
> [!NOTE]
145145
> Facilitates creating an organized icon pack with extension properties for your pack `object`, previewing the list of
146-
> icons, and batch exporting them to your specified directory.
146+
> icons, and batch importing them to your specified directory.
147147
148148
<div align="center">
149149
<img src="assets/iconpack_mode_new_1.png" width="300" />
@@ -770,7 +770,7 @@ In this example:
770770

771771
## Other
772772

773-
### Export formats
773+
### Output formats
774774

775775
[Original Discussion](https://github.com/ComposeGears/Valkyrie/issues/63)
776776

tools/cli/src/main/kotlin/io/github/composegears/valkyrie/cli/command/SvgXmlToImageVectorCommand.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ internal class SvgXmlToImageVectorCommand : CliktCommand(name = "svgxml2imagevec
9494

9595
private val useFlatPackage by booleanOption(
9696
"--flatpackage",
97-
help = "Export all icons into a single package without dividing by nested pack folders",
97+
help = "Import all icons into a single package without dividing by nested pack folders",
9898
)
9999

100100
private val useExplicitMode by booleanOption(

tools/idea-plugin/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
### Changed
1515

1616
- Drop support for IntelliJ IDEA 2024.2
17+
- Rename "Export" to "Import" across IDEA plugin
1718

1819
## [0.18.0](https://github.com/ComposeGears/Valkyrie/releases/tag/0.18.0) - 2025-11-06
1920

tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/action/ExportHereAction.kt renamed to tools/idea-plugin/src/main/kotlin/io/github/composegears/valkyrie/action/SetImportDirectoryAction.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import io.github.composegears.valkyrie.service.GlobalEventsHandler.PluginEvents.
1414
import io.github.composegears.valkyrie.service.GlobalEventsHandler.PluginEvents.SetupIconPackMode
1515
import io.github.composegears.valkyrie.service.PersistentSettings.Companion.persistentSettings
1616

17-
class ExportHereAction : AnAction() {
17+
class SetImportDirectoryAction : AnAction() {
1818

1919
override fun getActionUpdateThread() = ActionUpdateThread.BGT
2020

@@ -41,7 +41,7 @@ class ExportHereAction : AnAction() {
4141

4242
if (settings.isIconPackRequired) {
4343
RequiredIconPackModeDialog(
44-
message = "Export folder updated.\nYou can setup IconPack mode now or later to start processing icons",
44+
message = "Destination folder updated.\nYou can setup IconPack mode now or later to start processing icons",
4545
onContinue = {
4646
toolWindow.show()
4747
eventsHandler.send(SetupIconPackMode(pathData = PendingPathData()))

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

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,9 @@ import io.github.composegears.valkyrie.ui.domain.model.PreviewType
5252
import io.github.composegears.valkyrie.ui.foundation.rememberSnackbar
5353
import io.github.composegears.valkyrie.ui.foundation.theme.PreviewTheme
5454
import io.github.composegears.valkyrie.ui.platform.rememberMultiSelectDragAndDropHandler
55-
import io.github.composegears.valkyrie.ui.screen.mode.iconpack.conversion.IconPackConversionState.BatchProcessing.ExportingState
5655
import io.github.composegears.valkyrie.ui.screen.mode.iconpack.conversion.IconPackConversionState.BatchProcessing.IconPackCreationState
5756
import io.github.composegears.valkyrie.ui.screen.mode.iconpack.conversion.IconPackConversionState.BatchProcessing.ImportValidationState
57+
import io.github.composegears.valkyrie.ui.screen.mode.iconpack.conversion.IconPackConversionState.BatchProcessing.ImportingState
5858
import io.github.composegears.valkyrie.ui.screen.mode.iconpack.conversion.IconPackConversionState.IconsPickering
5959
import io.github.composegears.valkyrie.ui.screen.mode.iconpack.conversion.ui.DragAndDropOverlay
6060
import io.github.composegears.valkyrie.ui.screen.mode.iconpack.conversion.ui.batch.BatchProcessingStateUi
@@ -90,14 +90,14 @@ val IconPackConversionScreen by navDestination<PendingPathData> {
9090
navArgs = it.iconContent,
9191
)
9292
}
93-
is ConversionEvent.ExportCompleted -> {
93+
is ConversionEvent.ImportCompleted -> {
9494
@Suppress("UnstableApiUsage")
9595
writeAction {
9696
VirtualFileManager.getInstance().syncRefresh()
9797
}
9898
}
99-
is ConversionEvent.NothingToExport -> {
100-
snackbar.show("Nothing to export")
99+
is ConversionEvent.NothingToImport -> {
100+
snackbar.show("Nothing to import")
101101
}
102102
}
103103
}.launchIn(this)
@@ -115,9 +115,9 @@ val IconPackConversionScreen by navDestination<PendingPathData> {
115115
onDeleteIcon = viewModel::deleteIcon,
116116
onReset = viewModel::reset,
117117
onPreviewClick = viewModel::showPreview,
118-
onExport = viewModel::export,
118+
onImport = viewModel::import,
119119
onRenameIcon = viewModel::renameIcon,
120-
onResolveIssues = viewModel::resolveExportIssues,
120+
onResolveIssues = viewModel::resolveImportIssues,
121121
)
122122
}
123123

@@ -132,20 +132,20 @@ private fun IconPackConversionUi(
132132
onDeleteIcon: (IconId) -> Unit,
133133
onReset: () -> Unit,
134134
onPreviewClick: (BatchIcon.Valid) -> Unit,
135-
onExport: () -> Unit,
135+
onImport: () -> Unit,
136136
onRenameIcon: (BatchIcon, IconName) -> Unit,
137137
onResolveIssues: () -> Unit,
138138
) {
139-
var isExportButtonVisible by rememberSaveable { mutableStateOf(true) }
139+
var isImportButtonVisible by rememberSaveable { mutableStateOf(true) }
140140

141141
val nestedScrollConnection = remember {
142142
object : NestedScrollConnection {
143143
override fun onPreScroll(available: Offset, source: NestedScrollSource): Offset {
144144
if (available.y < -1) {
145-
isExportButtonVisible = false
145+
isImportButtonVisible = false
146146
}
147147
if (available.y > 1) {
148-
isExportButtonVisible = true
148+
isImportButtonVisible = true
149149
}
150150

151151
return Offset.Zero
@@ -161,7 +161,7 @@ private fun IconPackConversionUi(
161161
contentKey = {
162162
when (it) {
163163
is IconsPickering -> 0
164-
is ExportingState -> 1
164+
is ImportingState -> 1
165165
is IconPackCreationState -> 2
166166
is ImportValidationState -> 3
167167
}
@@ -178,8 +178,8 @@ private fun IconPackConversionUi(
178178
openSettings = openSettings,
179179
)
180180
}
181-
ExportingState -> {
182-
LoadingStateUi(message = "Exporting icons...")
181+
ImportingState -> {
182+
LoadingStateUi(message = "Importing icons...")
183183
}
184184
ImportValidationState -> {
185185
LoadingStateUi(message = "Processing icons...")
@@ -189,7 +189,7 @@ private fun IconPackConversionUi(
189189
modifier = Modifier.nestedScroll(nestedScrollConnection),
190190
state = current,
191191
previewType = previewType,
192-
onScrollUnavailable = { isExportButtonVisible = true },
192+
onScrollUnavailable = { isImportButtonVisible = true },
193193
onPasteEvent = onPickEvent,
194194
onDeleteIcon = onDeleteIcon,
195195
onUpdatePack = updatePack,
@@ -209,13 +209,13 @@ private fun IconPackConversionUi(
209209
modifier = Modifier
210210
.align(Alignment.BottomCenter)
211211
.padding(bottom = 16.dp),
212-
visible = isExportButtonVisible,
212+
visible = isImportButtonVisible,
213213
enter = slideInVertically(initialOffsetY = { it * 2 }),
214214
exit = slideOutVertically(targetOffsetY = { it * 2 }),
215215
) {
216216
Button(
217217
modifier = Modifier.defaultMinSize(minHeight = 36.dp),
218-
enabled = state.exportIssues.isEmpty(),
218+
enabled = state.importIssues.isEmpty(),
219219
shape = MaterialTheme.shapes.large,
220220
colors = ButtonDefaults.buttonColors().copy(
221221
disabledContainerColor = Color.Gray,
@@ -226,10 +226,10 @@ private fun IconPackConversionUi(
226226
focusedElevation = 6.dp,
227227
disabledElevation = 0.dp,
228228
),
229-
onClick = onExport,
229+
onClick = onImport,
230230
) {
231231
Text(
232-
text = "Export",
232+
text = "Import",
233233
style = MaterialTheme.typography.bodySmall,
234234
)
235235
}
@@ -284,7 +284,7 @@ private fun IconPackConversionUiPickeringPreview() = PreviewTheme {
284284
onDeleteIcon = {},
285285
onReset = {},
286286
onPreviewClick = {},
287-
onExport = {},
287+
onImport = {},
288288
onRenameIcon = { _, _ -> },
289289
onResolveIssues = {},
290290
)
@@ -293,5 +293,5 @@ private fun IconPackConversionUiPickeringPreview() = PreviewTheme {
293293
@Preview
294294
@Composable
295295
private fun LoadingStateUiPreview() = PreviewTheme {
296-
LoadingStateUi(message = "Exporting icons...")
296+
LoadingStateUi(message = "Importing icons...")
297297
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ sealed interface IconPackConversionState {
1212

1313
data class IconPackCreationState(
1414
val icons: List<BatchIcon>,
15-
val exportIssues: Map<ValidationError, List<IconName>>,
15+
val importIssues: Map<ValidationError, List<IconName>>,
1616
) : BatchProcessing
1717

1818
data object ImportValidationState : BatchProcessing
19-
data object ExportingState : BatchProcessing
19+
data object ImportingState : BatchProcessing
2020
}
2121
}
2222

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

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import io.github.composegears.valkyrie.ui.extension.updateState
2121
import io.github.composegears.valkyrie.ui.screen.mode.iconpack.conversion.ConversionEvent.OpenPreview
2222
import io.github.composegears.valkyrie.ui.screen.mode.iconpack.conversion.IconPackConversionState.BatchProcessing
2323
import io.github.composegears.valkyrie.ui.screen.mode.iconpack.conversion.IconPackConversionState.IconsPickering
24-
import io.github.composegears.valkyrie.ui.screen.mode.iconpack.conversion.ui.util.checkExportIssues
24+
import io.github.composegears.valkyrie.ui.screen.mode.iconpack.conversion.ui.util.checkImportIssues
2525
import java.nio.file.Path
2626
import kotlin.io.path.isDirectory
2727
import kotlin.io.path.isRegularFile
@@ -63,7 +63,7 @@ class IconPackConversionViewModel(
6363
_state.updateState {
6464
BatchProcessing.IconPackCreationState(
6565
icons = restoredState,
66-
exportIssues = restoredState.checkExportIssues(),
66+
importIssues = restoredState.checkImportIssues(),
6767
)
6868
}
6969
}
@@ -105,7 +105,7 @@ class IconPackConversionViewModel(
105105
} else {
106106
copy(
107107
icons = iconsToProcess,
108-
exportIssues = iconsToProcess.checkExportIssues(),
108+
importIssues = iconsToProcess.checkImportIssues(),
109109
)
110110
}
111111
}
@@ -132,7 +132,7 @@ class IconPackConversionViewModel(
132132
}
133133
copy(
134134
icons = updatedIcons,
135-
exportIssues = updatedIcons.checkExportIssues(),
135+
importIssues = updatedIcons.checkImportIssues(),
136136
)
137137
}
138138
else -> this
@@ -164,13 +164,13 @@ class IconPackConversionViewModel(
164164
_events.emit(OpenPreview(output.content))
165165
}
166166

167-
fun export() = viewModelScope.launch(Dispatchers.Default) {
167+
fun import() = viewModelScope.launch(Dispatchers.Default) {
168168
val icons = when (val state = _state.value) {
169169
is BatchProcessing.IconPackCreationState -> state.icons
170170
else -> return@launch
171171
}
172172

173-
_state.updateState { BatchProcessing.ExportingState }
173+
_state.updateState { BatchProcessing.ImportingState }
174174

175175
val settings = inMemorySettings.current
176176

@@ -238,7 +238,7 @@ class IconPackConversionViewModel(
238238
}
239239
}
240240

241-
_events.emit(ConversionEvent.ExportCompleted)
241+
_events.emit(ConversionEvent.ImportCompleted)
242242
reset()
243243
}
244244

@@ -258,7 +258,7 @@ class IconPackConversionViewModel(
258258
}
259259
copy(
260260
icons = icons,
261-
exportIssues = icons.checkExportIssues(),
261+
importIssues = icons.checkImportIssues(),
262262
)
263263
}
264264
else -> this
@@ -270,7 +270,7 @@ class IconPackConversionViewModel(
270270
_state.updateState { IconsPickering }
271271
}
272272

273-
fun resolveExportIssues() = viewModelScope.launch {
273+
fun resolveImportIssues() = viewModelScope.launch {
274274
val creationState = _state.value.safeAs<BatchProcessing.IconPackCreationState>() ?: return@launch
275275

276276
val processedIcons = creationState.icons
@@ -307,13 +307,13 @@ class IconPackConversionViewModel(
307307
}
308308

309309
if (icons.isEmpty()) {
310-
_events.emit(ConversionEvent.NothingToExport)
310+
_events.emit(ConversionEvent.NothingToImport)
311311
reset()
312312
} else {
313313
_state.updateState {
314314
creationState.copy(
315315
icons = icons,
316-
exportIssues = icons.checkExportIssues(),
316+
importIssues = icons.checkImportIssues(),
317317
)
318318
}
319319
}
@@ -341,7 +341,7 @@ class IconPackConversionViewModel(
341341

342342
BatchProcessing.IconPackCreationState(
343343
icons = icons,
344-
exportIssues = icons.checkExportIssues(),
344+
importIssues = icons.checkImportIssues(),
345345
)
346346
}
347347
}
@@ -380,7 +380,7 @@ class IconPackConversionViewModel(
380380

381381
BatchProcessing.IconPackCreationState(
382382
icons = icons,
383-
exportIssues = icons.checkExportIssues(),
383+
importIssues = icons.checkImportIssues(),
384384
)
385385
}
386386
}
@@ -406,6 +406,6 @@ class IconPackConversionViewModel(
406406

407407
sealed interface ConversionEvent {
408408
data class OpenPreview(val iconContent: String) : ConversionEvent
409-
data object ExportCompleted : ConversionEvent
410-
data object NothingToExport : ConversionEvent
409+
data object ImportCompleted : ConversionEvent
410+
data object NothingToImport : ConversionEvent
411411
}

0 commit comments

Comments
 (0)