more work on synchronizing metadata with xmp sidecars
(cherry picked from commit 81bbff6e6ae87bd35e8050a1cc621297ca24939b)
This commit is contained in:
committed by
Lawrence Lee
parent
caa23df465
commit
1a771fa211
@@ -626,7 +626,7 @@ void Options::setDefaults()
|
||||
rtSettings.edghi = 3.0;//1.1 and 5.
|
||||
rtSettings.edglo = 0.5;//0.1 and 0.95
|
||||
rtSettings.limrad = 20.;//1 and 60
|
||||
|
||||
|
||||
|
||||
rtSettings.protectred = 60;
|
||||
rtSettings.protectredh = 0.3;
|
||||
@@ -682,6 +682,9 @@ void Options::setDefaults()
|
||||
cropAutoFit = false;
|
||||
|
||||
rtSettings.thumbnail_inspector_mode = rtengine::Settings::ThumbnailInspectorMode::JPEG;
|
||||
|
||||
rtSettings.xmp_sidecar_style = rtengine::Settings::XmpSidecarStyle::STD;
|
||||
rtSettings.metadata_xmp_sync = rtengine::Settings::MetadataXmpSync::NONE;
|
||||
}
|
||||
|
||||
Options* Options::copyFrom(Options* other)
|
||||
@@ -1488,11 +1491,11 @@ void Options::readFromFile(Glib::ustring fname)
|
||||
if (keyFile.has_key("GUI", "CurveBBoxPosition")) {
|
||||
curvebboxpos = keyFile.get_integer("GUI", "CurveBBoxPosition");
|
||||
}
|
||||
|
||||
|
||||
if (keyFile.has_key("GUI", "Complexity")) {
|
||||
complexity = keyFile.get_integer("GUI", "Complexity");
|
||||
}
|
||||
|
||||
|
||||
if (keyFile.has_key("GUI", "InspectorWindow")) {
|
||||
inspectorWindow = keyFile.get_boolean("GUI", "InspectorWindow");
|
||||
}
|
||||
@@ -1755,8 +1758,8 @@ void Options::readFromFile(Glib::ustring fname)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if (keyFile.has_group("ICC Profile Creator")) {
|
||||
if (keyFile.has_key("ICC Profile Creator", "PimariesPreset")) {
|
||||
ICCPC_primariesPreset = keyFile.get_string("ICC Profile Creator", "PimariesPreset");
|
||||
@@ -2030,6 +2033,27 @@ void Options::readFromFile(Glib::ustring fname)
|
||||
}
|
||||
}
|
||||
|
||||
if (keyFile.has_group("Metadata")) {
|
||||
if (keyFile.has_key("Metadata", "XMPSidecarStyle")) {
|
||||
std::string val = keyFile.get_string("Metadata", "XMPSidecarStyle");
|
||||
if (val == "ext") {
|
||||
rtSettings.xmp_sidecar_style = rtengine::Settings::XmpSidecarStyle::EXT;
|
||||
} else {
|
||||
rtSettings.xmp_sidecar_style = rtengine::Settings::XmpSidecarStyle::STD;
|
||||
}
|
||||
}
|
||||
if (keyFile.has_key("Metadata", "XMPSynchronization")) {
|
||||
std::string val = keyFile.get_string("Metadata", "XMPSynchronization");
|
||||
if (val == "read") {
|
||||
rtSettings.metadata_xmp_sync = rtengine::Settings::MetadataXmpSync::READ;
|
||||
} else if (val == "readwrite") {
|
||||
rtSettings.metadata_xmp_sync = rtengine::Settings::MetadataXmpSync::READ_WRITE;
|
||||
} else {
|
||||
rtSettings.metadata_xmp_sync = rtengine::Settings::MetadataXmpSync::NONE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------------------------------------
|
||||
|
||||
filterOutParsedExtensions();
|
||||
@@ -2448,6 +2472,25 @@ void Options::saveToFile(Glib::ustring fname)
|
||||
|
||||
keyFile.set_string("Lensfun", "DBDirectory", rtSettings.lensfunDbDirectory);
|
||||
|
||||
switch (rtSettings.xmp_sidecar_style) {
|
||||
case rtengine::Settings::XmpSidecarStyle::EXT:
|
||||
keyFile.set_string("Metadata", "XMPSidecarStyle", "ext");
|
||||
break;
|
||||
default:
|
||||
keyFile.set_string("Metadata", "XMPSidecarStyle", "std");
|
||||
}
|
||||
|
||||
switch (rtSettings.metadata_xmp_sync) {
|
||||
case rtengine::Settings::MetadataXmpSync::READ:
|
||||
keyFile.set_string("Metadata", "XMPSynchronization", "read");
|
||||
break;
|
||||
case rtengine::Settings::MetadataXmpSync::READ_WRITE:
|
||||
keyFile.set_string("Metadata", "XMPSynchronization", "readwrite");
|
||||
break;
|
||||
default:
|
||||
keyFile.set_string("Metadata", "XMPSynchronization", "none");
|
||||
}
|
||||
|
||||
keyData = keyFile.to_data();
|
||||
|
||||
} catch (Glib::KeyFileError &e) {
|
||||
|
||||
Reference in New Issue
Block a user