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

@@ -609,7 +609,7 @@ PREFERENCES_DIRSOFTWARE;Installation directory
PREFERENCES_EDITORCMDLINE;Other command line
PREFERENCES_EDITORLAYOUT;Editor Layout
PREFERENCES_EXTERNALEDITOR;External editor
PREFERENCES_FBROWSEROPTS;File Browser Options
PREFERENCES_FBROWSEROPTS;File Browser / Thumbnail Options
PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Single row file browser toolbar (de-select for low res display)
PREFERENCES_FILEFORMAT;File format
PREFERENCES_FLATFIELDFOUND;Found
@@ -672,6 +672,7 @@ PREFERENCES_SELECTTHEME;Select theme
PREFERENCES_SET;SET
PREFERENCES_SHOWBASICEXIF;Show basic Exif info
PREFERENCES_SHOWDATETIME;Show date and time
PREFERENCES_SHOWEXPOSURECOMPENSATION;Append exposure compensation
PREFERENCES_SHOWONLYRAW;Show only raw files
PREFERENCES_SHOWPROFILESELECTOR;Show profile selector
PREFERENCES_SHTHRESHOLD;Threshold for clipped shadows

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;