diff --git a/src/App.jsx b/src/App.jsx
index 85ba2652..553cdf1c 100644
--- a/src/App.jsx
+++ b/src/App.jsx
@@ -606,8 +606,6 @@ const App = memo(() => {
return newVal;
}), [hideAllNotifications, setKeyframeCut]);
- const toggleAutoMerge = useCallback(() => setAutoMerge(val => !val), [setAutoMerge]);
-
const togglePreserveMovData = useCallback(() => setPreserveMovData((val) => !val), [setPreserveMovData]);
const toggleMovFastStart = useCallback(() => setMovFastStart((val) => !val), [setMovFastStart]);
@@ -2260,7 +2258,7 @@ const App = memo(() => {
-
+
{
const { t } = useTranslation();
@@ -118,7 +118,7 @@ const ExportConfirm = memo(({
{t('Export options')}
- {outSegments.length >= 2 && - {t('Merge {{segments}} cut segments to one file?', { segments: outSegments.length })}
}
+ {outSegments.length >= 2 && - {t('Merge {{segments}} cut segments to one file?', { segments: outSegments.length })}
}
-
{t('Output container format:')} {renderOutFmt({ height: 20, maxWidth: 150 })}
diff --git a/src/components/MergeExportButton.jsx b/src/components/MergeExportButton.jsx
index 7d4f0fc6..f4a0942a 100644
--- a/src/components/MergeExportButton.jsx
+++ b/src/components/MergeExportButton.jsx
@@ -6,19 +6,55 @@ import { MdCallSplit, MdCallMerge } from 'react-icons/md';
import { withBlur } from '../util';
-const MergeExportButton = memo(({ autoMerge, outSegments, toggleAutoMerge }) => {
+const MergeExportButton = memo(({ autoMerge, outSegments, setAutoMerge, autoDeleteMergedSegments, setAutoDeleteMergedSegments }) => {
const { t } = useTranslation();
const AutoMergeIcon = autoMerge ? MdCallMerge : MdCallSplit;
+ let effectiveMode;
+ let title;
+ let description;
+ if (autoMerge && autoDeleteMergedSegments) {
+ effectiveMode = 'merge';
+ title = t('Merge cuts');
+ description = t('Auto merge segments to one file after export');
+ } else if (autoMerge) {
+ effectiveMode = 'merge+separate';
+ title = t('Merge & Separate');
+ description = t('Auto merge segments to one file after export, but keep segments too');
+ } else {
+ effectiveMode = 'separate';
+ title = t('Separate files');
+ description = t('Export to separate files');
+ }
+
+ function onClick() {
+ switch (effectiveMode) {
+ case 'merge': {
+ setAutoDeleteMergedSegments(false);
+ break;
+ }
+ case 'merge+separate': {
+ setAutoMerge(false);
+ break;
+ }
+ case 'separate': {
+ setAutoMerge(true);
+ setAutoDeleteMergedSegments(true);
+ break;
+ }
+ default:
+ }
+ }
+
return (
);
});