@@ -1879,6 +1879,10 @@ void FileSystemDock::_duplicate_operation_confirm(const String &p_path) {
18791879 _try_duplicate_item (to_duplicate, p_path);
18801880}
18811881
1882+ void FileSystemDock::_move_confirm () {
1883+ _move_operation_confirm (confirm_move_to_dir, confirm_to_copy);
1884+ }
1885+
18821886void FileSystemDock::_overwrite_dialog_action (bool p_overwrite) {
18831887 overwrite_dialog->hide ();
18841888 _move_operation_confirm (to_move_path, to_move_or_copy, p_overwrite ? OVERWRITE_REPLACE : OVERWRITE_RENAME);
@@ -3131,11 +3135,19 @@ void FileSystemDock::drop_data_fw(const Point2 &p_point, const Variant &p_data,
31313135 }
31323136 }
31333137 if (!to_move.is_empty ()) {
3138+ String move_confirm_text;
3139+ confirm_move_to_dir = to_dir;
3140+
31343141 if (Input::get_singleton ()->is_key_pressed (Key::CMD_OR_CTRL)) {
3135- _move_operation_confirm (to_dir, true );
3142+ move_confirm_text = vformat (TTR (" Copy %d selected item(s) to \" %s\" ?" ), to_move.size (), target_dir);
3143+ confirm_to_copy = true ;
31363144 } else {
3137- _move_operation_confirm (to_dir);
3145+ move_confirm_text = vformat (TTR (" Move %d selected item(s) to \" %s\" ?" ), to_move.size (), target_dir);
3146+ confirm_to_copy = false ;
31383147 }
3148+
3149+ move_confirm_dialog->set_text (move_confirm_text);
3150+ move_confirm_dialog->popup_centered ();
31393151 }
31403152 } else if (favorite) {
31413153 // Add the files from favorites.
@@ -4442,6 +4454,10 @@ FileSystemDock::FileSystemDock() {
44424454 conversion_dialog->set_ok_button_text (TTRC (" Convert" ));
44434455 conversion_dialog->connect (SceneStringName (confirmed), callable_mp (this , &FileSystemDock::_convert_dialog_action));
44444456
4457+ move_confirm_dialog = memnew (ConfirmationDialog);
4458+ add_child (move_confirm_dialog);
4459+ move_confirm_dialog->connect (SceneStringName (confirmed), callable_mp (this , &FileSystemDock::_move_confirm));
4460+
44454461 uncollapsed_paths_before_search = Vector<String>();
44464462
44474463 tree_update_id = 0 ;
0 commit comments