Skip to content

Commit 3676a6f

Browse files
committed
feat: adds setting for files and folders dragging
Signed-off-by: Pedro Lamas <[email protected]>
1 parent 6cd1300 commit 3676a6f

File tree

5 files changed

+33
-0
lines changed

5 files changed

+33
-0
lines changed

src/components/settings/FileBrowserSettings.vue

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,19 @@
1717
:items="availableTextSortOrders"
1818
/>
1919
</app-setting>
20+
21+
<v-divider />
22+
23+
<app-setting
24+
:title="$t('app.setting.label.enable_files_and_folders_dragging')"
25+
>
26+
<v-switch
27+
v-model="filesAndFoldersDragging"
28+
hide-details
29+
class="mb-5"
30+
@click.native.stop
31+
/>
32+
</app-setting>
2033
</v-card>
2134
</div>
2235
</template>
@@ -55,5 +68,17 @@ export default class FileEditorSettings extends Vue {
5568
}
5669
]
5770
}
71+
72+
get filesAndFoldersDragging (): boolean {
73+
return this.$store.state.config.uiSettings.general.filesAndFoldersDragging
74+
}
75+
76+
set filesAndFoldersDragging (value: boolean) {
77+
this.$store.dispatch('config/saveByPath', {
78+
path: 'uiSettings.general.filesAndFoldersDragging',
79+
value,
80+
server: true
81+
})
82+
}
5883
}
5984
</script>

src/components/widgets/filesystem/FileSystemBrowser.vue

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -354,6 +354,10 @@ export default class FileSystemBrowser extends Mixins(FilesMixin) {
354354
return this.$store.state.config.uiSettings.general.textSortOrder
355355
}
356356
357+
get filesAndFoldersDragging (): boolean {
358+
return this.$store.state.config.uiSettings.general.filesAndFoldersDragging
359+
}
360+
357361
get draggedItems () {
358362
if (this.dragItem) {
359363
const filteredSelectedItems = this.selected
@@ -430,6 +434,7 @@ export default class FileSystemBrowser extends Mixins(FilesMixin) {
430434
// Determines if a row is currently in a draggable state or not.
431435
isItemDraggable (item: FileBrowserEntry) {
432436
return (
437+
this.filesAndFoldersDragging &&
433438
item.name !== '..' &&
434439
this.files.length > 0 &&
435440
(

src/locales/en.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -648,6 +648,7 @@ app:
648648
date_format: Date format
649649
time_format: Time format
650650
text_sort_order: Text sort order
651+
enable_files_and_folders_dragging: Enable files and folders dragging
651652
force_move_toggle_warning: Require confirm when activating FORCE_MOVE
652653
show_manual_probe_dialog_automatically: Show Manual Probe dialog automatically
653654
show_bed_screws_adjust_dialog_automatically: Show Bed Screws Adjust dialog automatically

src/store/config/state.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ export const defaultState = (): ConfigState => {
4949
timeFormat: 'iso',
5050
enableKeyboardShortcuts: true,
5151
textSortOrder: 'default',
52+
filesAndFoldersDragging: true,
5253
showRateOfChange: false,
5354
showRelativeHumidity: true,
5455
showBarometricPressure: true,

src/store/config/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ export interface GeneralConfig {
8686
timeFormat: string;
8787
enableKeyboardShortcuts: boolean;
8888
textSortOrder: TextSortOrder;
89+
filesAndFoldersDragging: boolean;
8990
showRateOfChange: boolean;
9091
showRelativeHumidity: boolean;
9192
showBarometricPressure: boolean;

0 commit comments

Comments
 (0)