Thumbnail Exif string: append exposure compensation (see issue 1150)

In order for this option to work on previously browsed thumbs the cache must be cleared.
(Please be sure to add to the build release notes)
This commit is contained in:
Michael Ezra
2011-12-09 21:17:37 -05:00
parent abe9de5201
commit 0becc749de
6 changed files with 21 additions and 6 deletions

View File

@@ -91,6 +91,7 @@ void Options::setDefaults () {
fbOnlyRaw = false;
fbShowDateTime = true;
fbShowBasicExif = true;
fbShowExpComp = true;
fbShowHidden = false;
fbArrangement = 2; // was 0
multiUser = true;
@@ -352,6 +353,7 @@ if (keyFile.has_group ("File Browser")) {
if (keyFile.has_key ("File Browser", "BrowseOnlyRaw")) fbOnlyRaw = keyFile.get_boolean ("File Browser", "BrowseOnlyRaw");
if (keyFile.has_key ("File Browser", "BrowserShowsDate")) fbShowDateTime = keyFile.get_boolean ("File Browser", "BrowserShowsDate");
if (keyFile.has_key ("File Browser", "BrowserShowsExif")) fbShowBasicExif = keyFile.get_boolean ("File Browser", "BrowserShowsExif");
if (keyFile.has_key ("File Browser", "BrowserShowsExpComp"))fbShowExpComp = keyFile.get_boolean ("File Browser", "BrowserShowsExpComp");
if (keyFile.has_key ("File Browser", "BrowserShowsHidden")) fbShowHidden = keyFile.get_boolean ("File Browser", "BrowserShowsHidden");
if (keyFile.has_key ("File Browser", "MaxPreviewHeight")) maxThumbnailHeight = keyFile.get_integer ("File Browser", "MaxPreviewHeight");
if (keyFile.has_key ("File Browser", "MaxCacheEntries")) maxCacheEntries = keyFile.get_integer ("File Browser", "MaxCacheEntries");
@@ -504,6 +506,7 @@ int Options::saveToFile (Glib::ustring fname) {
keyFile.set_boolean ("File Browser", "BrowseOnlyRaw", fbOnlyRaw);
keyFile.set_boolean ("File Browser", "BrowserShowsDate", fbShowDateTime);
keyFile.set_boolean ("File Browser", "BrowserShowsExif", fbShowBasicExif);
keyFile.set_boolean ("File Browser", "BrowserShowsExpComp", fbShowExpComp);
keyFile.set_boolean ("File Browser", "BrowserShowsHidden", fbShowHidden);
keyFile.set_integer ("File Browser", "ThumbnailSize", thumbSize);
keyFile.set_integer ("File Browser", "ThumbnailSizeTab", thumbSizeTab);

View File

@@ -83,6 +83,7 @@ class Options {
bool fbOnlyRaw;
bool fbShowDateTime;
bool fbShowBasicExif;
bool fbShowExpComp;
bool fbShowHidden;
int fbArrangement;
bool multiUser;

View File

@@ -749,14 +749,18 @@ Gtk::Widget* Preferences::getFileBrowserPanel () {
Gtk::Frame* fro = Gtk::manage( new Gtk::Frame (M("PREFERENCES_FBROWSEROPTS")) );
showDateTime = Gtk::manage( new Gtk::CheckButton (M("PREFERENCES_SHOWDATETIME")) );
showBasicExif = Gtk::manage( new Gtk::CheckButton (M("PREFERENCES_SHOWBASICEXIF")) );
showExpComp = Gtk::manage( new Gtk::CheckButton (M("PREFERENCES_SHOWEXPOSURECOMPENSATION")) );
Gtk::VBox* vbro = Gtk::manage( new Gtk::VBox () );
Gtk::HBox* hbro1 = Gtk::manage( new Gtk::HBox () );
overlayedFileNames = Gtk::manage( new Gtk::CheckButton (M("PREFERENCES_OVERLAY_FILENAMES")) );
ckbInternalThumbIfUntouched = Gtk::manage( new Gtk::CheckButton (M("PREFERENCES_INTERNALTHUMBIFUNTOUCHED")));
vbro->set_border_width (4);
vbro->pack_start (*showDateTime, Gtk::PACK_SHRINK, 0);
vbro->pack_start (*showBasicExif, Gtk::PACK_SHRINK, 0);
vbro->pack_start (*overlayedFileNames, Gtk::PACK_SHRINK, 4);
hbro1->pack_start (*showBasicExif, Gtk::PACK_SHRINK, 0);
hbro1->pack_start (*showExpComp, Gtk::PACK_SHRINK, 4);
vbro->pack_start (*hbro1, Gtk::PACK_SHRINK, 0);
vbro->pack_start (*overlayedFileNames, Gtk::PACK_SHRINK, 0);
vbro->pack_start (*ckbInternalThumbIfUntouched, Gtk::PACK_SHRINK, 0);
fro->add (*vbro);
@@ -963,9 +967,10 @@ void Preferences::storePreferences () {
moptions.panAccelFactor = (int)panFactor->get_value();
moptions.fbShowDateTime = showDateTime->get_active ();
moptions.fbShowBasicExif = showBasicExif->get_active ();
moptions.menuGroupRank = ckbmenuGroupRank->get_active();
moptions.menuGroupLabel = ckbmenuGroupLabel->get_active();
moptions.menuGroupFileOperations = ckbmenuGroupFileOperations->get_active();
moptions.fbShowExpComp = showExpComp->get_active ();
moptions.menuGroupRank = ckbmenuGroupRank->get_active();
moptions.menuGroupLabel = ckbmenuGroupLabel->get_active();
moptions.menuGroupFileOperations = ckbmenuGroupFileOperations->get_active();
moptions.menuGroupProfileOperations = ckbmenuGroupProfileOperations->get_active();
moptions.blinkClipped = blinkClipped->get_active ();
moptions.highlightThreshold = (int)hlThresh->get_value ();
@@ -1108,6 +1113,7 @@ void Preferences::fillPreferences () {
fontbutton->set_font_name(moptions.font);
showDateTime->set_active (moptions.fbShowDateTime);
showBasicExif->set_active (moptions.fbShowBasicExif);
showExpComp->set_active (moptions.fbShowExpComp);
ckbmenuGroupRank->set_active(moptions.menuGroupRank);
ckbmenuGroupLabel->set_active(moptions.menuGroupLabel);
ckbmenuGroupFileOperations->set_active(moptions.menuGroupFileOperations);

View File

@@ -74,6 +74,7 @@ class Preferences : public Gtk::Dialog {
Gtk::CheckButton* showDateTime;
Gtk::CheckButton* showBasicExif;
Gtk::CheckButton* showExpComp;
Gtk::FileChooserButton* iccDir;
Gtk::FileChooserButton* monProfile;

View File

@@ -489,6 +489,9 @@ void Thumbnail::generateExifDateTimeStrings () {
exifString = Glib::ustring::compose ("f/%1 %2s %3%4 %5mm", Glib::ustring(rtengine::ImageData::apertureToString(cfs.fnumber)), Glib::ustring(rtengine::ImageData::shutterToString(cfs.shutter)), M("QINFO_ISO"), cfs.iso, cfs.focalLen);
if (options.fbShowExpComp && cfs.expcomp!="0.00" && cfs.expcomp!="") // don't show exposure compensation if it is 0.00EV;old cache iles do not have ExpComp, so value will not be displayed.
exifString = Glib::ustring::compose ("%1 %2EV", exifString, cfs.expcomp); // append exposure compensation to exifString
std::string dateFormat = options.dateFormat;
std::ostringstream ostr;
bool spec = false;