11using Generator . Equals ;
22using NeeView . Windows . Controls ;
33using NeeView . Windows . Property ;
4+ using System ;
5+ using System . Text . Json . Serialization ;
46
57namespace NeeView
68{
@@ -12,7 +14,9 @@ public partial class ExportImageCommandParameter : CommandParameter, IExportImag
1214 [ DefaultEquality ] private bool _isOriginalSize = true ;
1315 [ DefaultEquality ] private bool _isDotKeep ;
1416 [ DefaultEquality ] private string ? _exportFolder ;
15- [ DefaultEquality ] private ExportImageFileNameMode _fileNameMode ;
17+ [ DefaultEquality ] private string _fileNameFormat0 = ExportImageParameter . DefaultFileNameFormat0 ;
18+ [ DefaultEquality ] private string _fileNameFormat1 = ExportImageParameter . DefaultFileNameFormat1 ;
19+ [ DefaultEquality ] private string _fileNameFormat2 = ExportImageParameter . DefaultFileNameFormat2 ;
1620 [ DefaultEquality ] private BitmapImageFormat _fileFormat ;
1721 [ DefaultEquality ] private int _qualityLevel = 80 ;
1822 [ DefaultEquality ] private bool _isShowToast = true ;
@@ -54,11 +58,25 @@ public string ExportFolder
5458 set => SetProperty ( ref _exportFolder , value ) ;
5559 }
5660
57- [ PropertyMember ( Name = "ExportImageParameter.FileNameMode" ) ]
58- public ExportImageFileNameMode FileNameMode
61+ [ PropertyMember ]
62+ public string FileNameFormat0
63+ {
64+ get { return _fileNameFormat0 ; }
65+ set { SetProperty ( ref _fileNameFormat0 , value ) ; }
66+ }
67+
68+ [ PropertyMember ]
69+ public string FileNameFormat1
5970 {
60- get => _fileNameMode ;
61- set => SetProperty ( ref _fileNameMode , value ) ;
71+ get { return _fileNameFormat1 ; }
72+ set { SetProperty ( ref _fileNameFormat1 , value ) ; }
73+ }
74+
75+ [ PropertyMember ]
76+ public string FileNameFormat2
77+ {
78+ get { return _fileNameFormat2 ; }
79+ set { SetProperty ( ref _fileNameFormat2 , value ) ; }
6280 }
6381
6482 [ PropertyMember ( Name = "ExportImageParameter.FileFormat" ) ]
@@ -88,15 +106,43 @@ public ExportImageOverwriteMode OverwriteMode
88106 get { return _overwriteMode ; }
89107 set { SetProperty ( ref _overwriteMode , value ) ; }
90108 }
109+
110+
111+ #region Obsolete
112+
113+ [ Obsolete , Alternative ( "FileNameFormat0,1,2" , 46 , ScriptErrorLevel . Warning ) ] // ver.46
114+ [ JsonIgnore ( Condition = JsonIgnoreCondition . WhenWriting ) ]
115+ [ PropertyMember ( Name = "ExportImageParameter.FileNameMode" ) ]
116+ public ExportImageFileNameMode FileNameMode
117+ {
118+ get => default ;
119+ set
120+ {
121+ if ( value == ExportImageFileNameMode . BookPageNumber )
122+ {
123+ FileNameFormat0 = "{Book}_{Page:000}" ;
124+ FileNameFormat1 = "{Book}_{Page:000}" ;
125+ FileNameFormat2 = "{Book}_{Page1:000}-{Page2:000}" ;
126+ }
127+ else
128+ {
129+ FileNameFormat0 = ExportImageParameter . DefaultFileNameFormat0 ;
130+ FileNameFormat1 = ExportImageParameter . DefaultFileNameFormat1 ;
131+ FileNameFormat2 = ExportImageParameter . DefaultFileNameFormat1 ;
132+ }
133+ }
134+ }
135+
136+ #endregion
91137 }
92138
93139
94140 public enum ExportImageOverwriteMode
95141 {
96142 Confirm ,
97-
143+
98144 AddNumber ,
99145
100- Invalid ,
146+ Disallow ,
101147 }
102148}
0 commit comments