Skip to content

Commit f2bc080

Browse files
committed
Patch DateTime string format return
1 parent d2ea537 commit f2bc080

13 files changed

Lines changed: 99 additions & 44 deletions

FrmEditFileData.cs

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -545,6 +545,8 @@ void HandleDateTimePickerTimeShift(DateTimePicker dtp,
545545
DirectoryElement.AttributeVersion
546546
maxAttributeVersion)
547547
{
548+
DateTime DECreateDate = default;
549+
DateTime DETakenDate = default;
548550
int totalShiftedSeconds = 0;
549551
if (dtp == dtp_TakenDate &&
550552
directoryElement.GetAttributeValue<DateTime>(
@@ -554,10 +556,19 @@ void HandleDateTimePickerTimeShift(DateTimePicker dtp,
554556
notFoundValue: null) !=
555557
null)
556558
{
559+
DETakenDate = (DateTime)directoryElement.GetAttributeValue<DateTime>(
560+
attribute: ElementAttribute.TakenDate,
561+
version: DirectoryElement.AttributeVersion
562+
.Original,
563+
notFoundValue: null);
557564
totalShiftedSeconds =
558565
ShiftTimeForDateTimePicker(
559566
whatToShift: TimeShiftTypes.TakenDate,
560567
dirElemFileToModify: directoryElement);
568+
569+
570+
dtp.Value =
571+
DETakenDate.AddSeconds(value: totalShiftedSeconds);
561572
}
562573
else if (dtp == dtp_CreateDate &&
563574
directoryElement.GetAttributeValue<DateTime>(
@@ -567,14 +578,20 @@ void HandleDateTimePickerTimeShift(DateTimePicker dtp,
567578
notFoundValue: null) !=
568579
null)
569580
{
581+
DECreateDate = (DateTime)directoryElement.GetAttributeValue<DateTime>(
582+
attribute: ElementAttribute.CreateDate,
583+
version: DirectoryElement.AttributeVersion
584+
.Original,
585+
notFoundValue: null);
570586
totalShiftedSeconds =
571587
ShiftTimeForDateTimePicker(
572588
whatToShift: TimeShiftTypes.CreateDate,
573589
dirElemFileToModify: directoryElement);
590+
591+
dtp.Value =
592+
DECreateDate.AddSeconds(value: totalShiftedSeconds);
574593
}
575594

576-
dtp.Value =
577-
dtp.Value.AddSeconds(value: totalShiftedSeconds);
578595
logger.Trace(message: "cItem: " +
579596
cItem.Name +
580597
" - Updating DateTimePicker");
@@ -614,7 +631,7 @@ private static IConvertible GetDataInDEForAttribute(DirectoryElement directoryEl
614631
{
615632
returnDataInDirectoryElement = directoryElement.GetAttributeValueString(
616633
attribute: attribute,
617-
version: maxAttributeVersion);
634+
version: maxAttributeVersion, nowSavingExif: false);
618635

619636
if (returnDataInDirectoryElement != null &&
620637
string.IsNullOrEmpty(value: returnDataInDirectoryElement.ToString()))
@@ -1360,8 +1377,8 @@ private async void btn_OK_Click(object sender,
13601377
value: dirElemFileToModify.GetAttributeValueString(
13611378
attribute: attribute,
13621379
version: DirectoryElement.AttributeVersion
1363-
.Stage1EditFormIntraTabTransferQueue
1364-
),
1380+
.Stage1EditFormIntraTabTransferQueue,
1381+
nowSavingExif: false),
13651382
version: DirectoryElement.AttributeVersion
13661383
.Stage3ReadyToWrite,
13671384
isMarkedForDeletion: dirElemFileToModify
@@ -1512,7 +1529,8 @@ private void tbx_cbx_dtp_nud_Any_TextChanged(object sender,
15121529
previousText = dirElemFileToModify.GetAttributeValueString(
15131530
attribute: attribute,
15141531
version: DirectoryElement.AttributeVersion
1515-
.Stage2EditFormReadyToSaveAndMoveToWriteQueue);
1532+
.Stage2EditFormReadyToSaveAndMoveToWriteQueue,
1533+
nowSavingExif: false);
15161534
}
15171535

15181536
if (sndr is NumericUpDown nudTextControl)

FrmMainApp.cs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -993,13 +993,13 @@ private void Request_Map_NavigateGo()
993993
attribute: ElementAttribute.GPSLatitude,
994994
version: directoryElement.GetMaxAttributeVersion(
995995
attribute: ElementAttribute.GPSLatitude),
996-
notFoundValue: null);
996+
notFoundValue: null, nowSavingExif: false);
997997

998998
string? GPSLongitudeStr = directoryElement.GetAttributeValueString(
999999
attribute: ElementAttribute.GPSLongitude,
10001000
version: directoryElement.GetMaxAttributeVersion(
10011001
attribute: ElementAttribute.GPSLongitude),
1002-
notFoundValue: null);
1002+
notFoundValue: null, nowSavingExif: false);
10031003

10041004
double? FocalLength = directoryElement.GetAttributeValue<double>(
10051005
attribute: ElementAttribute.FocalLength,
@@ -1158,24 +1158,24 @@ private void Request_Map_NavigateGo()
11581158
attribute: ElementAttribute.GPSLatitude,
11591159
version: directoryElement.GetMaxAttributeVersion(
11601160
attribute: ElementAttribute.GPSLatitude),
1161-
notFoundValue: null);
1161+
notFoundValue: null, nowSavingExif: false);
11621162

11631163
string? GPSLongitudeStr = directoryElement.GetAttributeValueString(
11641164
attribute: ElementAttribute.GPSLongitude,
11651165
version: directoryElement.GetMaxAttributeVersion(
11661166
attribute: ElementAttribute.GPSLongitude),
1167-
notFoundValue: null);
1167+
notFoundValue: null, nowSavingExif: false);
11681168
string GPSDestLatitudeStr = directoryElement.GetAttributeValueString(
11691169
attribute: ElementAttribute.GPSDestLatitude,
11701170
version: directoryElement.GetMaxAttributeVersion(
11711171
attribute: ElementAttribute.GPSDestLatitude),
1172-
notFoundValue: null);
1172+
notFoundValue: null, nowSavingExif: false);
11731173

11741174
string? GPSDestLongitudeStr = directoryElement.GetAttributeValueString(
11751175
attribute: ElementAttribute.GPSDestLongitude,
11761176
version: directoryElement.GetMaxAttributeVersion(
11771177
attribute: ElementAttribute.GPSDestLongitude),
1178-
notFoundValue: null);
1178+
notFoundValue: null, nowSavingExif: false);
11791179

11801180
if (!(string.IsNullOrWhiteSpace(value: GPSLatitudeStr) ||
11811181
string.IsNullOrWhiteSpace(value: GPSDestLatitudeStr) ||
@@ -1443,7 +1443,7 @@ private void tmi_File_EditFiles_Click(object sender,
14431443
attribute: ElementAttribute.GUID,
14441444
version: DirectoryElement.AttributeVersion
14451445
.Original, // GUIDs don't change
1446-
notFoundValue: null));
1446+
notFoundValue: null, nowSavingExif: false));
14471447
}
14481448

14491449
EditFileFormGeneric.ShowFrmEditFileData();
@@ -1754,7 +1754,7 @@ private void tsb_EditFile_Click(object sender,
17541754
attribute: ElementAttribute.GUID,
17551755
version: DirectoryElement.AttributeVersion
17561756
.Original, // GUIDs don't change
1757-
notFoundValue: null));
1757+
notFoundValue: null, nowSavingExif: false));
17581758
}
17591759

17601760
EditFileFormGeneric.ShowFrmEditFileData();
@@ -2414,7 +2414,7 @@ await HelperFileSystemOperators
24142414
attribute: ElementAttribute.GUID,
24152415
version: DirectoryElement.AttributeVersion
24162416
.Original, // GUIDs don't change
2417-
notFoundValue: null));
2417+
notFoundValue: null, nowSavingExif: false));
24182418

24192419
Logger.Trace(message: "Add File To lvw_FileListEditImages");
24202420
EditFileFormGeneric.ShowFrmEditFileData();
@@ -2486,12 +2486,12 @@ private async Task UpdateLvwExifDataItems(DirectoryElement directoryElement)
24862486
lvi.SubItems.Add(text: directoryElement.GetAttributeValueString(
24872487
attribute: attribute,
24882488
version: DirectoryElement.AttributeVersion.Original,
2489-
notFoundValue: null));
2489+
notFoundValue: null, nowSavingExif: false));
24902490
lvi.SubItems.Add(text: directoryElement.GetAttributeValueString(
24912491
attribute: attribute,
24922492
version: DirectoryElement.AttributeVersion
24932493
.Stage3ReadyToWrite,
2494-
notFoundValue: null));
2494+
notFoundValue: null, nowSavingExif: false));
24952495
lvw_ExifData.Items.Add(value: lvi);
24962496
}
24972497
}
@@ -2587,7 +2587,7 @@ private async void lvw_FileList_KeyDown(object sender,
25872587
attribute: ElementAttribute.GUID,
25882588
version: DirectoryElement.AttributeVersion
25892589
.Original, // GUIDs don't change
2590-
notFoundValue: null));
2590+
notFoundValue: null, nowSavingExif: false));
25912591
}
25922592

25932593
EditFileFormGeneric.ShowFrmEditFileData();

FrmPasteWhat.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -380,7 +380,8 @@ relevantAttributeVersion in
380380
pasteConvertible =
381381
dirElemFileToCopyFrom.GetAttributeValueString(
382382
attribute: attribute,
383-
version: maxAttributeVersion);
383+
version: maxAttributeVersion,
384+
nowSavingExif: false);
384385
}
385386
else if (typeOfAttribute == typeof(int))
386387
{

Helpers/HelperExifExifToolOperator.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,8 @@ void removeDirElementFromDE3(DirectoryElement dirElemToDrop)
246246
value:
247247
dirElemToDrop.GetAttributeValueString(
248248
attribute,
249-
DirectoryElement.AttributeVersion.Stage3ReadyToWrite),
249+
DirectoryElement.AttributeVersion.Stage3ReadyToWrite,
250+
nowSavingExif: false),
250251
version: DirectoryElement.AttributeVersion.Original,
251252
isMarkedForDeletion: dirElemToDrop.IsMarkedForDeletion(
252253
attribute,

Helpers/HelperExifReadTrackData.cs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,9 @@ await HelperExifWriteTrackDataToSideCar.ExifWriteTrackDataToSideCar(
190190
version: DirectoryElement.AttributeVersion
191191
.Original,
192192
notFoundValue: FrmMainApp
193-
.NullStringEquivalentGeneric));
193+
.NullStringEquivalentGeneric,
194+
nowSavingExif: false),
195+
nowSavingExif: false);
194196
string currentLng =
195197
dirElemFileToModify.GetAttributeValueString(
196198
attribute: ElementAttribute.GPSLongitude,
@@ -202,7 +204,9 @@ await HelperExifWriteTrackDataToSideCar.ExifWriteTrackDataToSideCar(
202204
version: DirectoryElement.AttributeVersion
203205
.Original,
204206
notFoundValue: FrmMainApp
205-
.NullStringEquivalentGeneric));
207+
.NullStringEquivalentGeneric,
208+
nowSavingExif: false),
209+
nowSavingExif: false);
206210
string currentAltitude =
207211
dirElemFileToModify.GetAttributeValueString(
208212
attribute: ElementAttribute.GPSAltitude,
@@ -214,7 +218,9 @@ await HelperExifWriteTrackDataToSideCar.ExifWriteTrackDataToSideCar(
214218
version: DirectoryElement.AttributeVersion
215219
.Original,
216220
notFoundValue: FrmMainApp
217-
.NullStringEquivalentGeneric));
221+
.NullStringEquivalentGeneric,
222+
nowSavingExif: false),
223+
nowSavingExif: false);
218224

219225
string strLatInAPI =
220226
FrmMainApp.NullStringEquivalentGeneric;

Helpers/HelperExifWriteSaveToFile.cs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,9 +146,17 @@ internal static async Task ExifWriteExifToFile()
146146
DataRow drFileDataRow = dtFileWriteQueue.NewRow();
147147
drFileDataRow[columnName: "ItemNameWithoutPath"] = dirElemFileToModify.ItemNameWithoutPath;
148148
drFileDataRow[columnName: "settingId"] = GetElementAttributesName(attributeToFind: attribute);
149-
if (!dirElemFileToModify.IsMarkedForDeletion(attribute: attribute, version: DirectoryElement.AttributeVersion.Stage3ReadyToWrite))
149+
if (!dirElemFileToModify.IsMarkedForDeletion(
150+
attribute: attribute,
151+
version: DirectoryElement.AttributeVersion
152+
.Stage3ReadyToWrite))
150153
{
151-
drFileDataRow[columnName: "settingValue"] = dirElemFileToModify.GetAttributeValueString(attribute: attribute, version: DirectoryElement.AttributeVersion.Stage3ReadyToWrite);
154+
drFileDataRow[columnName: "settingValue"] =
155+
dirElemFileToModify.GetAttributeValueString(
156+
attribute: attribute,
157+
version: DirectoryElement.AttributeVersion
158+
.Stage3ReadyToWrite,
159+
nowSavingExif: true);
152160
}
153161
else
154162
{

Model/DirectoryElement.cs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -413,11 +413,14 @@ public bool IsMarkedForDeletion(ElementAttribute attribute,
413413
/// <param name="attribute">The attribute to return the value for</param>
414414
/// <param name="version">The version to return or null if latest version</param>
415415
/// <param name="notFoundValue">The value to return if no suitable value was found</param>
416+
/// <param name="nowSavingExif">Indicates whether this is when the file is being saved.</param>
416417
/// <returns></returns>
417418
/// <exception cref="ArgumentException"></exception>
418419
public string GetAttributeValueString(ElementAttribute attribute,
419420
AttributeVersion? version = null,
420-
string? notFoundValue = null)
421+
string? notFoundValue = null,
422+
bool nowSavingExif = false
423+
)
421424
{
422425
if (!_Attributes.ContainsKey(key: attribute))
423426
{
@@ -495,7 +498,12 @@ public string GetAttributeValueString(ElementAttribute attribute,
495498
return FrmMainApp.NullStringEquivalentGeneric;
496499
}
497500

498-
return dateTimeValue.Item1.ToString(provider: CultureInfo.CurrentUICulture);
501+
string formattedDateTime =
502+
dateTimeValue.Item1.ToString("yyyy:MM:dd HH:mm:ss");
503+
504+
return !nowSavingExif
505+
? dateTimeValue.Item1.ToString(CultureInfo.CurrentUICulture)
506+
: formattedDateTime;
499507
}
500508

501509
// else

Model/DirectoryElementCollection.cs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,9 @@ public DirectoryElement FindElementByItemGUID(string GUID)
4545
{
4646
foreach (DirectoryElement item in this)
4747
{
48-
if (item.GetAttributeValueString(ElementAttribute.GUID) == GUID)
48+
if (item.GetAttributeValueString(ElementAttribute.GUID,
49+
nowSavingExif: false) ==
50+
GUID)
4951
{
5052
return item;
5153
}
@@ -86,8 +88,11 @@ public HashSet<string> FindDirtyElements()
8688
HashSet<string> uids = new HashSet<string>();
8789
foreach (DirectoryElement directoryElement in this)
8890
{
89-
if (directoryElement.HasDirtyAttributes(DirectoryElement.AttributeVersion.Stage3ReadyToWrite))
90-
uids.Add(directoryElement.GetAttributeValueString(ElementAttribute.GUID));
91+
if (directoryElement.HasDirtyAttributes(
92+
DirectoryElement.AttributeVersion.Stage3ReadyToWrite))
93+
uids.Add(
94+
directoryElement.GetAttributeValueString(
95+
ElementAttribute.GUID, nowSavingExif: false));
9196
}
9297

9398
return uids;

View/ListView/FileListView.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -405,7 +405,7 @@ private string PickModelValueForColumn(DirectoryElement directoryElement,
405405
string DefaultStrGetter(SourcesAndAttributes.ElementAttribute atrb)
406406
{
407407
return directoryElement.GetAttributeValueString(
408-
attribute: atrb, notFoundValue: nfVal);
408+
attribute: atrb, notFoundValue: nfVal, nowSavingExif: false);
409409
}
410410

411411
if (columnToAttributeMap.TryGetValue(

View/ListView/FileListViewCopyPaste.cs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,10 @@ internal static void ListViewCopyGeoData()
7979
item1: dirElemFileToCopyFrom
8080
.GetAttributeValueString(
8181
attribute: attribute,
82-
version: DirectoryElement.AttributeVersion
83-
.Stage3ReadyToWrite),
82+
version: DirectoryElement
83+
.AttributeVersion
84+
.Stage3ReadyToWrite,
85+
nowSavingExif: false),
8486
item2: true));
8587
}
8688
else if (dirElemFileToCopyFrom.HasSpecificAttributeWithVersion(
@@ -92,8 +94,10 @@ internal static void ListViewCopyGeoData()
9294
item1: dirElemFileToCopyFrom
9395
.GetAttributeValueString(
9496
attribute: attribute,
95-
version: DirectoryElement.AttributeVersion
96-
.Original),
97+
version: DirectoryElement
98+
.AttributeVersion
99+
.Original,
100+
nowSavingExif: false),
97101
item2: false));
98102
}
99103
}

0 commit comments

Comments
 (0)