diff --git a/rtdata/languages/Catala b/rtdata/languages/Catala
index 1c31a3049..d51dff656 100644
--- a/rtdata/languages/Catala
+++ b/rtdata/languages/Catala
@@ -148,7 +148,7 @@ FILEBROWSER_SHOWRANK4HINT;Exposa imatges de 4 estrelles.\nDrecera: 4
FILEBROWSER_SHOWRANK5HINT;Exposa imatges de 5 estrelles.\nDrecera: 5
FILEBROWSER_SHOWRECENTLYSAVEDHINT;Mostra últimes imatges desades.\nDrecera: Alt-7
FILEBROWSER_SHOWRECENTLYSAVEDNOTHINT;Mostra imatges no recentment desades.\nDrecera: Alt-6
-FILEBROWSER_SHOWTRASHHINT;Veure què hi ha a la paperera.\nDrecera: T
+FILEBROWSER_SHOWTRASHHINT;Veure què hi ha a la paperera.\nDrecera: Ctrl-t
FILEBROWSER_SHOWUNCOLORHINT;Mostra imatges sense etiqueta de color.\nDrecera: Alt-0
FILEBROWSER_SHOWUNRANKHINT;Mostra imatges sense rang.\nDrecera: 0
FILEBROWSER_STARTPROCESSINGHINT;Inicia el processament de les imatges de la cua
diff --git a/rtdata/languages/Czech b/rtdata/languages/Czech
index 0854a6c2b..7741d3243 100644
--- a/rtdata/languages/Czech
+++ b/rtdata/languages/Czech
@@ -202,7 +202,7 @@ FILEBROWSER_SHOWRANK4HINT;Ukázat obrázky hodnocené čtyřmi hvězdičkami.\nZ
FILEBROWSER_SHOWRANK5HINT;Ukázat obrázky hodnocené pěti hvězdičkami.\nZkratka: 5
FILEBROWSER_SHOWRECENTLYSAVEDHINT;Ukázat uložené obrázky.\nZkratka: Alt-7
FILEBROWSER_SHOWRECENTLYSAVEDNOTHINT;Ukázat neuložené obrázky.\nZkratka: Alt-6
-FILEBROWSER_SHOWTRASHHINT;Ukázat obsah koše.\nZkratka: t
+FILEBROWSER_SHOWTRASHHINT;Ukázat obsah koše.\nZkratka: Ctrl-t
FILEBROWSER_SHOWUNCOLORHINT;Ukázat obrázky bez barevného štítku.\nZkratka: Alt-0
FILEBROWSER_SHOWUNRANKHINT;Ukázat nehodnocené obrázky.\nZkratka: 0
FILEBROWSER_STARTPROCESSINGHINT;Spustit zpracování obrázků ve frontě.
diff --git a/rtdata/languages/Deutsch b/rtdata/languages/Deutsch
index d6d01279f..7eb05685b 100644
--- a/rtdata/languages/Deutsch
+++ b/rtdata/languages/Deutsch
@@ -174,7 +174,7 @@ FILEBROWSER_SHOWRANK4HINT;Nur mit 4 Sternen bewertete Bilder anzeigen 4
FILEBROWSER_SHOWRANK5HINT;Nur mit 5 Sternen bewertete Bilder anzeigen 5
FILEBROWSER_SHOWRECENTLYSAVEDHINT;Nur kürzlich gespeicherte Bilder anzeigen Alt+7
FILEBROWSER_SHOWRECENTLYSAVEDNOTHINT;Nur nicht kürzlich gespeicherte Bilder anzeigen Alt+6
-FILEBROWSER_SHOWTRASHHINT;Inhalt des Papierkorbs anzeigen T
+FILEBROWSER_SHOWTRASHHINT;Inhalt des Papierkorbs anzeigen Strg-t
FILEBROWSER_SHOWUNCOLORHINT;Nur unmarkierte Bilder anzeigen Alt+0
FILEBROWSER_SHOWUNRANKHINT;Nur unbewertete Bilder anzeigen 0
FILEBROWSER_STARTPROCESSINGHINT;Verarbeitung/Speichern der Bilder in der Warteschlange starten
diff --git a/rtdata/languages/English (UK) b/rtdata/languages/English (UK)
index 2f8022b8c..388cab31f 100644
--- a/rtdata/languages/English (UK)
+++ b/rtdata/languages/English (UK)
@@ -288,7 +288,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh
!FILEBROWSER_SHOWRANK5HINT;Show images ranked as 5-star.\nShortcut: 5
!FILEBROWSER_SHOWRECENTLYSAVEDHINT;Show saved images.\nShortcut: Alt-7
!FILEBROWSER_SHOWRECENTLYSAVEDNOTHINT;Show unsaved images.\nShortcut: Alt-6
-!FILEBROWSER_SHOWTRASHHINT;Show contents of trash.\nShortcut: t
+!FILEBROWSER_SHOWTRASHHINT;Show contents of trash.\nShortcut: Ctrl-t
!FILEBROWSER_SHOWUNRANKHINT;Show unranked images.\nShortcut: 0
!FILEBROWSER_STARTPROCESSINGHINT;Start processing the images in the queue.
!FILEBROWSER_STARTPROCESSING;Start processing
diff --git a/rtdata/languages/English (US) b/rtdata/languages/English (US)
index 5ff7746e3..e44ea449e 100644
--- a/rtdata/languages/English (US)
+++ b/rtdata/languages/English (US)
@@ -172,7 +172,7 @@
!FILEBROWSER_SHOWRANK5HINT;Show images ranked as 5-star.\nShortcut: 5
!FILEBROWSER_SHOWRECENTLYSAVEDHINT;Show saved images.\nShortcut: Alt-7
!FILEBROWSER_SHOWRECENTLYSAVEDNOTHINT;Show unsaved images.\nShortcut: Alt-6
-!FILEBROWSER_SHOWTRASHHINT;Show contents of trash.\nShortcut: t
+!FILEBROWSER_SHOWTRASHHINT;Show contents of trash.\nShortcut: Ctrl-t
!FILEBROWSER_SHOWUNCOLORHINT;Show images without a color label.\nShortcut: Alt-0
!FILEBROWSER_SHOWUNRANKHINT;Show unranked images.\nShortcut: 0
!FILEBROWSER_STARTPROCESSINGHINT;Start processing the images in the queue.
diff --git a/rtdata/languages/Espanol b/rtdata/languages/Espanol
index 8bc09ca1e..ce59d242c 100644
--- a/rtdata/languages/Espanol
+++ b/rtdata/languages/Espanol
@@ -230,7 +230,7 @@ FILEBROWSER_SHOWRANK4HINT;Mostrar imágenes con 4 estrellas.\nAtajo: 4
FILEBROWSER_SHOWRANK5HINT;Mostrar imágenes con 5 estrellas.\nAtajo: 5
FILEBROWSER_SHOWRECENTLYSAVEDHINT;Mostrar imágenes guardadas recientemente.\nAtajo: Alt-7
FILEBROWSER_SHOWRECENTLYSAVEDNOTHINT;Mostrar imágenes no guardadas recientemente.\nAtajo: Alt-6
-FILEBROWSER_SHOWTRASHHINT;Mostrar el contenido de la papelera.\nAtajo: t
+FILEBROWSER_SHOWTRASHHINT;Mostrar el contenido de la papelera.\nAtajo: Ctrl-t
FILEBROWSER_SHOWUNCOLORHINT;Mostrar imágenes sin etiqueta de color.\nAtajo: Alt-0
FILEBROWSER_SHOWUNRANKHINT;Mostrar imágenes sin rango.\nAtajo: 0
FILEBROWSER_STARTPROCESSINGHINT;Iniciar el procesamiento de imágenes en la cola
diff --git a/rtdata/languages/Francais b/rtdata/languages/Francais
index 275d2bd00..6ae3b937b 100644
--- a/rtdata/languages/Francais
+++ b/rtdata/languages/Francais
@@ -170,7 +170,7 @@ FILEBROWSER_SHOWRANK4HINT;Voir les images 4 étoiles\nRaccourci: 4
FILEBROWSER_SHOWRANK5HINT;Voir les images 5 étoiles\nRaccourci: 5
FILEBROWSER_SHOWRECENTLYSAVEDHINT;Afficher les images sauvegardées récemment\nRaccourci: Alt-7
FILEBROWSER_SHOWRECENTLYSAVEDNOTHINT; Afficher les images non sauvegardées récemment\nRaccourci: Alt-6
-FILEBROWSER_SHOWTRASHHINT;Voir le contenu de la corbeille\nRaccourci: t
+FILEBROWSER_SHOWTRASHHINT;Voir le contenu de la corbeille\nRaccourci: Ctrl-t
FILEBROWSER_SHOWUNCOLORHINT;Afficher les images sans label de couleur\nRaccourci: Alt-0
FILEBROWSER_SHOWUNRANKHINT;Voir les images sans étoile\nRaccourci: 0
FILEBROWSER_STARTPROCESSINGHINT;Démarre le traitement/sauvegarde des images dans la file
@@ -775,6 +775,8 @@ PREFERENCES_FLUOF7;Fluorescent F7
PREFERENCES_FLUOF11;Fluorescent F11
PREFERENCES_FORIMAGE;Pour les fichiers images
PREFERENCES_FORRAW;Pour les fichiers RAW
+PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT;Taille de vignette identique entre l'Éditeur et le Navigateur de Fichier
+PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT_HINT;Avoir une hauteur différente demandera plus de temp de traitement à chaque fois que vous baculerez entre l'Éditeur unique et le Navigateur de Fichier.
PREFERENCES_GIMPPATH;Dossier d'intallation de GIMP
PREFERENCES_GREY05;Yb=05 CIE L#30
PREFERENCES_GREY10;Yb=10 CIE L#40
@@ -809,7 +811,8 @@ PREFERENCES_OUTDIRFOLDER;Dossier de sauvegarde
PREFERENCES_OUTDIRTEMPLATEHINT;Vous pouvez utiliser les paramètres de chaîne formatées suivants:\n%f, %d1, %d2, ..., %p1, %p2, ..., %r, %s1, %s2, ...\n\nCes chaînes de formattage se réfèrent aux différentes parties du chemin de la photo, certains de ses attributs ou un numéro de séquence arbitraire dans le traitement par lot.\n\nPar exemple, si la photo en cours de traitement a le chemin suivant:\n/home/tom/image/02-09-2006/dsc0012.nef\nla signification des chaînes de formattage est:\n%d4 = home\n%d3 = tom\n%d2 = photos\n%d1 = 2010-10-31\n%f = dsc0042\n%p1 = /home/tom/photos/2010-10-31/\n%p2 = /home/tom/photos/\n%p3 = /home/tom/\n%p4 = /home/\n\n%r sera remplacé par le rang de la photo. Si la photo n'a pas de rang, %r sera remplacé par '0'. Si la photo est dans la corbeille de RawTherapee, %r sera remplacé par 'x'.\n\n%s1, %s2, etc. sera remplacé par un index de séquence constitué de 1 à 9 chiffre. L'index de la séquence commencera à 1 à chaque fois que le file de traitement est démarrée, et est incrémenté de 1 pour chaque image traitée.\n\nSi vous voulez enregistrer l'image de sortie là où se trouve l'originale, écrivez:\n%p1/%f\n\nSi vous voulez enregistrer l'image de sortie dans un dossier nommé "convertis" situé dans le dossier de l'originale, écrivez:\n%p1/convertis/%f\n\nSi vous voulez enregistrer l'image de sortie dans un dossier nommé "/home/tom/photos/convertis/2010-10-31", écrivez:\n%p2/convertis/%d1/%f
PREFERENCES_OUTDIRTEMPLATE;Utiliser le modèle
PREFERENCES_OUTDIR;Dossier de sortie
-PREFERENCES_OVERLAY_FILENAMES;Superposer les noms de fichier sur les vignettes
+PREFERENCES_OVERLAY_FILENAMES;Superposer les noms de fichier sur les vignettes dans le navigateur de fichier
+PREFERENCES_OVERLAY_FILENAMES_FILMSTRIP;Superposer les noms de fichier sur les vignettes dans le panneau d'édition
PREFERENCES_OVERWRITEOUTPUTFILE;Écraser le fichier s'il existe déjà
PREFERENCES_PANFACTORFRAME;Amplification du déplacement
PREFERENCES_PANFACTORLABEL;Facteur
diff --git a/rtdata/languages/Italiano b/rtdata/languages/Italiano
index 763613117..9bb78f515 100644
--- a/rtdata/languages/Italiano
+++ b/rtdata/languages/Italiano
@@ -174,7 +174,7 @@ FILEBROWSER_SHOWRANK4HINT;Mostra le immagini classificate con 4 stelle.\nScorcia
FILEBROWSER_SHOWRANK5HINT;Mostra le immagini classificate con 5 stelle.\nScorciatoia: 5
FILEBROWSER_SHOWRECENTLYSAVEDHINT;Mostra le immagini salvate.\nScorciatoia: Alt-7
FILEBROWSER_SHOWRECENTLYSAVEDNOTHINT;Mostra le immagini non salvate.\nScorciatoia: Alt-6
-FILEBROWSER_SHOWTRASHHINT;Mostra il contenuto del cestino.\nScorciatoia: t
+FILEBROWSER_SHOWTRASHHINT;Mostra il contenuto del cestino.\nScorciatoia: Ctrl-t
FILEBROWSER_SHOWUNCOLORHINT;Mostra le immagini senza etichetta colorata.\nScorciatoia: Alt-0
FILEBROWSER_SHOWUNRANKHINT;Mostra le immagini non classificate.\nScorciatoia: 0
FILEBROWSER_STARTPROCESSINGHINT;Inizia a sviluppare le immagini nella Coda.
diff --git a/rtdata/languages/Japanese b/rtdata/languages/Japanese
index e8814aa19..3487a341d 100644
--- a/rtdata/languages/Japanese
+++ b/rtdata/languages/Japanese
@@ -191,7 +191,7 @@ FILEBROWSER_SHOWRANK4HINT;4つ星ランクを表示\nショートカット: 5
FILEBROWSER_SHOWRECENTLYSAVEDHINT;最近保存された画像を表示\nショートカット: Alt-7
FILEBROWSER_SHOWRECENTLYSAVEDNOTHINT;最近保存されていない画像を表示\nショートカット: Alt-6
-FILEBROWSER_SHOWTRASHHINT;ゴミ箱の内容を表示\nショートカット: T
+FILEBROWSER_SHOWTRASHHINT;ゴミ箱の内容を表示\nショートカット: Ctrl-t
FILEBROWSER_SHOWUNCOLORHINT;カラー・ラベルのない画像を表示\nショートカット: Alt-0
FILEBROWSER_SHOWUNRANKHINT;ランクなし画像を表示\nショートカット: 0
FILEBROWSER_STARTPROCESSINGHINT;処理開始/キュー画像の保存
diff --git a/rtdata/languages/Polish b/rtdata/languages/Polish
index 38fba9ff5..2ec024f5c 100644
--- a/rtdata/languages/Polish
+++ b/rtdata/languages/Polish
@@ -178,7 +178,7 @@ FILEBROWSER_SHOWRANK4HINT;Pokazuje zdjęcia ocenione na 4 gwiazdki.\nSkrót:
FILEBROWSER_SHOWRANK5HINT;Pokazuje zdjęcia ocenione na 5 gwiazdek.\nSkrót: 5
FILEBROWSER_SHOWRECENTLYSAVEDHINT;Pokazuje zapisane zdjęcia.\nSkrót: Alt-7
FILEBROWSER_SHOWRECENTLYSAVEDNOTHINT;Pokazuje niezapisane zdjęcia.\nSkrót: Alt-6
-FILEBROWSER_SHOWTRASHHINT;Pokazuje zawartość kosza.\nSkrót: t
+FILEBROWSER_SHOWTRASHHINT;Pokazuje zawartość kosza.\nSkrót: Ctrl-t
FILEBROWSER_SHOWUNCOLORHINT;Pokazuje zdjęcia bez kolorowej etykiety.\nSkrót: Alt-0
FILEBROWSER_SHOWUNRANKHINT;Pokazuje nieocenione zdjęcia.\nSkrót: 0
FILEBROWSER_STARTPROCESSINGHINT;Rozpoczyna przetwarzanie/zapisywanie plików z kolejki.
diff --git a/rtdata/languages/Polish (Latin Characters) b/rtdata/languages/Polish (Latin Characters)
index 1082f05c3..0694f75e9 100644
--- a/rtdata/languages/Polish (Latin Characters)
+++ b/rtdata/languages/Polish (Latin Characters)
@@ -178,7 +178,7 @@ FILEBROWSER_SHOWRANK4HINT;Pokazuje zdjecia ocenione na 4 gwiazdki.\nSkrot: 4<
FILEBROWSER_SHOWRANK5HINT;Pokazuje zdjecia ocenione na 5 gwiazdek.\nSkrot: 5
FILEBROWSER_SHOWRECENTLYSAVEDHINT;Pokazuje zapisane zdjecia.\nSkrot: Alt-7
FILEBROWSER_SHOWRECENTLYSAVEDNOTHINT;Pokazuje niezapisane zdjecia.\nSkrot: Alt-6
-FILEBROWSER_SHOWTRASHHINT;Pokazuje zawartosc kosza.\nSkrot: t
+FILEBROWSER_SHOWTRASHHINT;Pokazuje zawartosc kosza.\nSkrot: Ctrl-t
FILEBROWSER_SHOWUNCOLORHINT;Pokazuje zdjecia bez kolorowej etykiety.\nSkrot: Alt-0
FILEBROWSER_SHOWUNRANKHINT;Pokazuje nieocenione zdjecia.\nSkrot: 0
FILEBROWSER_STARTPROCESSINGHINT;Rozpoczyna przetwarzanie/zapisywanie plikow z kolejki.
diff --git a/rtdata/languages/Russian b/rtdata/languages/Russian
index 291d6c2f9..9e9b95653 100644
--- a/rtdata/languages/Russian
+++ b/rtdata/languages/Russian
@@ -173,7 +173,7 @@ FILEBROWSER_SHOWRANK4HINT;Показать изображения с рейти
FILEBROWSER_SHOWRANK5HINT;Показать изображения с рейтингом 5.\nГорячая клавиша: 5
FILEBROWSER_SHOWRECENTLYSAVEDHINT;Показать изображения, сохранённые недавно.\nГорячая клавиша: Alt-7
FILEBROWSER_SHOWRECENTLYSAVEDNOTHINT;Показать изображения, сохранённые давно.\nГорячая клавиша: Alt-6
-FILEBROWSER_SHOWTRASHHINT;Показать содержимое корзины.\nГорячая клавиша: T
+FILEBROWSER_SHOWTRASHHINT;Показать содержимое корзины.\nГорячая клавиша: Ctrl-t
FILEBROWSER_SHOWUNCOLORHINT;Показать изображения без цветовой метки.\nГорячая клавиша: Alt-0
FILEBROWSER_SHOWUNRANKHINT;Показать изображения без рейтинга\nГорячая клавиша: 0
FILEBROWSER_STARTPROCESSINGHINT;Запуск обработки помещенных в очередь изображений
diff --git a/rtdata/languages/default b/rtdata/languages/default
index 6c294c7b0..6d5d65801 100644
--- a/rtdata/languages/default
+++ b/rtdata/languages/default
@@ -172,7 +172,7 @@ FILEBROWSER_SHOWRANK4HINT;Show images ranked as 4-star.\nShortcut: 4
FILEBROWSER_SHOWRANK5HINT;Show images ranked as 5-star.\nShortcut: 5
FILEBROWSER_SHOWRECENTLYSAVEDHINT;Show saved images.\nShortcut: Alt-7
FILEBROWSER_SHOWRECENTLYSAVEDNOTHINT;Show unsaved images.\nShortcut: Alt-6
-FILEBROWSER_SHOWTRASHHINT;Show contents of trash.\nShortcut: t
+FILEBROWSER_SHOWTRASHHINT;Show contents of trash.\nShortcut: Ctrl-t
FILEBROWSER_SHOWUNCOLORHINT;Show images without a color label.\nShortcut: Alt-0
FILEBROWSER_SHOWUNRANKHINT;Show unranked images.\nShortcut: 0
FILEBROWSER_STARTPROCESSINGHINT;Start processing the images in the queue.
@@ -772,6 +772,8 @@ PREFERENCES_FLUOF7;Fluorescent F7
PREFERENCES_FLUOF11;Fluorescent F11
PREFERENCES_FORIMAGE;For non-raw photos
PREFERENCES_FORRAW;For raw photos
+PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT;Same thumbnail height between the Editor's panel and the File Browser
+PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT_HINT;Having separate thumbnail size will require more processing time each time you'll switch between the single Editor tab and the File Browser.
PREFERENCES_GIMPPATH;GIMP installation directory
PREFERENCES_GREY05;Yb=05 CIE L#30
PREFERENCES_GREY10;Yb=10 CIE L#40
@@ -809,7 +811,8 @@ PREFERENCES_OUTDIRFOLDER;Save to folder
PREFERENCES_OUTDIRTEMPLATEHINT;You can use the following formatting strings:\n%f, %d1, %d2, ..., %p1, %p2, ..., %r, %s1, %s2, ...\n\nThese formatting strings refer to the different parts of the photo's pathname, some attributes of the photo or an arbitrary sequence index in the batch job.\n\nFor example, if the photo being processed has the following pathname:\n/home/tom/photos/2010-10-31/dsc0042.nef\nthe meaning of the formatting strings are:\n%d4 = home\n%d3 = tom\n%d2 = photos\n%d1 = 2010-10-31\n%f = dsc0042\n%p1 = /home/tom/photos/2010-10-31/\n%p2 = /home/tom/photos/\n%p3 = /home/tom/\n%p4 = /home/\n\n%r will be replaced by the rank of the photo. If the photo is unranked, %r will be replaced by '0'. If the photo is in the trash bin, %r will be replaced by 'x'.\n\n%s1, %s2, etc. will be replaced by a sequence index which is padded to between 1 and 9 digits. The sequence index will start at one each time the queue processing is started and is incremented by one for each image processed.\n\nIf you want to save the output image where the original is, write:\n%p1/%f\n\nIf you want to save the output image in a directory named "converted" located in the directory of the opened image, write:\n%p1/converted/%f\n\nIf you want to save the output image in a directory named "/home/tom/photos/converted/2010-10-31", write:\n%p2/converted/%d1/%f
PREFERENCES_OUTDIRTEMPLATE;Use template
PREFERENCES_OUTDIR;Output Directory
-PREFERENCES_OVERLAY_FILENAMES;Overlay filenames on thumbnails
+PREFERENCES_OVERLAY_FILENAMES;Overlay filenames on thumbnails in the file browser
+PREFERENCES_OVERLAY_FILENAMES_FILMSTRIP;Overlay filenames on thumbnails in the editor pannel
PREFERENCES_OVERWRITEOUTPUTFILE;Overwrite existing output files
PREFERENCES_PANFACTORFRAME;Pan Rate Amplification
PREFERENCES_PANFACTORLABEL;Factor
diff --git a/rtgui/batchqueue.cc b/rtgui/batchqueue.cc
index 3e1ed081a..b6370ffaf 100644
--- a/rtgui/batchqueue.cc
+++ b/rtgui/batchqueue.cc
@@ -38,6 +38,8 @@ using namespace rtengine;
BatchQueue::BatchQueue () : processing(NULL), sequence(0), listener(NULL) {
+ location = THLOC_BATCHQUEUE;
+
int p = 0;
pmenu = new Gtk::Menu ();
pmenu->attach (*Gtk::manage(selall = new Gtk::MenuItem (M("FILEBROWSER_POPUPSELECTALL"))), 0, 1, p, p+1); p++;
diff --git a/rtgui/editorpanel.cc b/rtgui/editorpanel.cc
index 9725e55b8..e149d35d6 100755
--- a/rtgui/editorpanel.cc
+++ b/rtgui/editorpanel.cc
@@ -417,6 +417,11 @@ void EditorPanel::writeOptions() {
tpc->writeOptions();
}
+void EditorPanel::showTopPanel(bool show) {
+ if (tbTopPanel_1->get_active() != show)
+ tbTopPanel_1->set_active(show);
+}
+
void EditorPanel::setAspect () {
int winW, winH;
parent->get_size(winW, winH);
@@ -837,10 +842,12 @@ void EditorPanel::tbTopPanel_1_toggled () {
if (tbTopPanel_1->get_active()){
catalogPane->show();
tbTopPanel_1->set_image (*iTopPanel_1_Hide);
+ options.editorFilmStripOpened = true;
}
else {
catalogPane->hide();
tbTopPanel_1->set_image (*iTopPanel_1_Show);
+ options.editorFilmStripOpened = false;
}
tbShowHideSidePanels_managestate();
diff --git a/rtgui/editorpanel.h b/rtgui/editorpanel.h
index 08ed55647..26ad1db6a 100644
--- a/rtgui/editorpanel.h
+++ b/rtgui/editorpanel.h
@@ -146,6 +146,8 @@ class EditorPanel : public Gtk::VBox,
void setParent (RTWindow* p) { parent = p; }
void writeOptions();
+ void showTopPanel(bool show);
+
// progresslistener interface
void setProgress (double p);
void setProgressStr (Glib::ustring str);
diff --git a/rtgui/filebrowser.cc b/rtgui/filebrowser.cc
index 5a0ff73be..76ce7536d 100755
--- a/rtgui/filebrowser.cc
+++ b/rtgui/filebrowser.cc
@@ -1081,7 +1081,7 @@ bool FileBrowser::keyPressed (GdkEventKey* event) {
}
void FileBrowser::saveThumbnailHeight (int height) {
- if (!options.sameThumbSize && inTabMode)
+ if (!options.sameThumbSize && getLocation()==THLOC_EDITOR)
options.thumbSizeTab = height;
else
options.thumbSize = height;
@@ -1089,7 +1089,7 @@ void FileBrowser::saveThumbnailHeight (int height) {
int FileBrowser::getThumbnailHeight () {
// The user could have manually forced the option to a too big value
- if (!options.sameThumbSize && inTabMode)
+ if (!options.sameThumbSize && getLocation()==THLOC_EDITOR)
return std::max(std::min(options.thumbSizeTab, 800), 10);
else
return std::max(std::min(options.thumbSize, 800), 10);
diff --git a/rtgui/filecatalog.cc b/rtgui/filecatalog.cc
index 1f1f394bb..c48537db9 100644
--- a/rtgui/filecatalog.cc
+++ b/rtgui/filecatalog.cc
@@ -418,7 +418,10 @@ bool FileCatalog::capture_event(GdkEventButton* event){
void FileCatalog::exifInfoButtonToggled()
{
- options.showFileNames = exifInfo->get_active();
+ if (inTabMode)
+ options.filmStripShowFileNames = exifInfo->get_active();
+ else
+ options.showFileNames = exifInfo->get_active();
fileBrowser->refreshThumbImages ();
}
@@ -527,6 +530,19 @@ void FileCatalog::dirSelected (const Glib::ustring& dirname, const Glib::ustring
void FileCatalog::enableTabMode(bool enable) {
inTabMode = enable;
+ if (enable) {
+ if (options.showFilmStripToolBar)
+ showToolBar();
+ else
+ hideToolBar();
+ exifInfo->set_active( options.filmStripShowFileNames );
+
+ }
+ else {
+ buttonBar->show();
+ hbToolBar1->show();
+ exifInfo->set_active( options.showFileNames );
+ }
fileBrowser->enableTabMode(inTabMode);
redrawAll();
@@ -691,10 +707,16 @@ void FileCatalog::refreshThumbImages () {
}
void FileCatalog::refreshHeight () {
- int newHeight=fileBrowser->getEffectiveHeight() + buttonBar->get_height();
- if (!options.FileBrowserToolbarSingleRow) {
- newHeight += hbToolBar1->get_height();
+ int newHeight = fileBrowser->getEffectiveHeight();
+ if (newHeight < 5) { // This may occure if there's no thumbnail.
+ int w, h;
+ get_size_request(w, h);
+ newHeight = h;
}
+ if (hbToolBar1->is_visible() && !options.FileBrowserToolbarSingleRow)
+ newHeight += hbToolBar1->get_height();
+ if (buttonBar->is_visible())
+ newHeight += buttonBar->get_height();
set_size_request(0, newHeight+2); // HOMBRE: yeah, +2, there's always 2 pixels missing... sorry for this dirty hack O:)
}
@@ -1942,10 +1964,6 @@ bool FileCatalog::handleShortcutKey (GdkEventKey* event) {
case GDK_D:
categoryButtonToggled(bFilterClear,false);
return true;
- case GDK_t:
- case GDK_T:
- categoryButtonToggled(bTrash,false);
- return true;
}
}
@@ -1973,7 +1991,7 @@ bool FileCatalog::handleShortcutKey (GdkEventKey* event) {
return true;
}
}
- if (ctrl && !alt) {
+ if (ctrl && !alt) {
switch (event->keyval) {
case GDK_o:
BrowsePath->select_region(0, BrowsePath->get_text_length());
@@ -1983,6 +2001,40 @@ bool FileCatalog::handleShortcutKey (GdkEventKey* event) {
Query->select_region(0, Query->get_text_length());
Query->grab_focus();
return true;
+ case GDK_t:
+ case GDK_T:
+ modifierKey = 0; // HOMBRE: yet another hack.... otherwise the shortcut won't work
+ categoryButtonToggled(bTrash,false);
+ return true;
+ }
+ }
+ if (!ctrl && !alt && shift) {
+ switch (event->keyval) {
+ case GDK_t:
+ case GDK_T:
+ if (inTabMode) {
+ if (options.showFilmStripToolBar)
+ hideToolBar();
+ else
+ showToolBar();
+ options.showFilmStripToolBar = !options.showFilmStripToolBar;
+ }
+ return true;
+ }
+ }
+ if (!ctrl && !alt && !shift) {
+ switch (event->keyval) {
+ case GDK_t:
+ case GDK_T:
+ if (inTabMode) {
+ if (options.showFilmStripToolBar)
+ hideToolBar();
+ else
+ showToolBar();
+ options.showFilmStripToolBar = !options.showFilmStripToolBar;
+ }
+ refreshHeight();
+ return true;
}
}
@@ -1991,3 +2043,15 @@ bool FileCatalog::handleShortcutKey (GdkEventKey* event) {
return false;
}
+
+void FileCatalog::showToolBar() {
+ if (!options.FileBrowserToolbarSingleRow)
+ hbToolBar1->show();
+ buttonBar->show();
+}
+
+void FileCatalog::hideToolBar() {
+ if (!options.FileBrowserToolbarSingleRow)
+ hbToolBar1->hide();
+ buttonBar->hide();
+}
diff --git a/rtgui/filecatalog.h b/rtgui/filecatalog.h
index 04ca95a4d..9d25c55ba 100644
--- a/rtgui/filecatalog.h
+++ b/rtgui/filecatalog.h
@@ -58,8 +58,8 @@ class FilePanel;
* - monitoring the directory (for any change)
*/
class FileCatalog : public Gtk::VBox,
- public DirSelectionListener,
- public PreviewLoaderListener,
+ public DirSelectionListener,
+ public PreviewLoaderListener,
public FilterPanelListener,
public FileBrowserListener,
public ExportPanelListener
@@ -250,6 +250,9 @@ class FileCatalog : public Gtk::VBox,
void toggleLeftPanel();
void toggleRightPanel();
+ void showToolBar();
+ void hideToolBar();
+
#ifndef _WIN32
void on_dir_changed (const Glib::RefPtr& file, const Glib::RefPtr& other_file, Gio::FileMonitorEvent event_type, bool internal);
#else
diff --git a/rtgui/options.cc b/rtgui/options.cc
index 8a4b843d1..d2ee591c3 100644
--- a/rtgui/options.cc
+++ b/rtgui/options.cc
@@ -274,6 +274,7 @@ void Options::setDefaults () {
browserToolPanelHeight = 600;
browserToolPanelOpened = true;;
browserDirPanelOpened = true;
+ editorFilmStripOpened = true;
historyPanelWidth = 330;
lastScale = 5;
panAccelFactor = 5;
@@ -291,7 +292,7 @@ void Options::setDefaults () {
thumbSize = 240;
thumbSizeTab = 180;
thumbSizeQueue = 160;
- sameThumbSize = false; // preferring speed of switch between file browser and single editor tab
+ sameThumbSize = true; // preferring speed of switch between file browser and single editor tab
showHistory = true;
showFilePanelState = 0; // Not used anymore ; was the thumb strip state
showInfo = true;
@@ -340,8 +341,10 @@ void Options::setDefaults () {
thumbnailZoomRatios.push_back (0.8);
thumbnailZoomRatios.push_back (1.0);
overlayedFileNames = false;
+ filmStripOverlayedFileNames = false;
internalThumbIfUntouched = true; // if TRUE, only fast, internal preview images are taken if the image is not edited yet
showFileNames = true;
+ filmStripShowFileNames = false;
tabbedUI = false;
mainNBVertical = true;
multiDisplayMode = 0;
@@ -359,6 +362,7 @@ void Options::setDefaults () {
hideTPVScrollbar = false;
UseIconNoText = true;
whiteBalanceSpotSize = 8;
+ showFilmStripToolBar = false;
menuGroupRank = true;
menuGroupLabel = true;
menuGroupFileOperations = true;
@@ -691,14 +695,16 @@ if (keyFile.has_group ("File Browser")) {
if (keyFile.has_key ("File Browser", "RenameTemplates")) renameTemplates = keyFile.get_string_list ("File Browser", "RenameTemplates");
if (keyFile.has_key ("File Browser", "RenameUseTemplates")) renameUseTemplates = keyFile.get_boolean ("File Browser", "RenameUseTemplates");
if (keyFile.has_key ("File Browser", "ThumbnailZoomRatios"))thumbnailZoomRatios= keyFile.get_double_list ("File Browser", "ThumbnailZoomRatios");
- if (keyFile.has_key ("File Browser", "OverlayedFileNames")) overlayedFileNames = keyFile.get_boolean ("File Browser", "OverlayedFileNames");
- if (keyFile.has_key ("File Browser", "ShowFileNames")) showFileNames = keyFile.get_boolean ("File Browser", "ShowFileNames");
- if (keyFile.has_key ("File Browser", "InternalThumbIfUntouched")) internalThumbIfUntouched = keyFile.get_boolean ("File Browser", "InternalThumbIfUntouched");
- if (keyFile.has_key ("File Browser", "menuGroupRank")) menuGroupRank = keyFile.get_boolean ("File Browser", "menuGroupRank");
- if (keyFile.has_key ("File Browser", "menuGroupLabel")) menuGroupLabel = keyFile.get_boolean ("File Browser", "menuGroupLabel");
- if (keyFile.has_key ("File Browser", "menuGroupFileOperations")) menuGroupFileOperations = keyFile.get_boolean ("File Browser", "menuGroupFileOperations");
- if (keyFile.has_key ("File Browser", "menuGroupProfileOperations")) menuGroupProfileOperations = keyFile.get_boolean ("File Browser", "menuGroupProfileOperations");
- if (keyFile.has_key ("File Browser", "menuGroupExtProg")) menuGroupExtProg = keyFile.get_boolean ("File Browser", "menuGroupExtProg");
+ if (keyFile.has_key ("File Browser", "OverlayedFileNames")) overlayedFileNames = keyFile.get_boolean ("File Browser", "OverlayedFileNames");
+ if (keyFile.has_key ("File Browser", "FilmStripOverlayedFileNames")) filmStripOverlayedFileNames = keyFile.get_boolean ("File Browser", "FilmStripOverlayedFileNames");
+ if (keyFile.has_key ("File Browser", "ShowFileNames")) showFileNames = keyFile.get_boolean ("File Browser", "ShowFileNames");
+ if (keyFile.has_key ("File Browser", "FilmStripShowFileNames")) filmStripShowFileNames = keyFile.get_boolean ("File Browser", "FilmStripShowFileNames");
+ if (keyFile.has_key ("File Browser", "InternalThumbIfUntouched")) internalThumbIfUntouched = keyFile.get_boolean ("File Browser", "InternalThumbIfUntouched");
+ if (keyFile.has_key ("File Browser", "menuGroupRank")) menuGroupRank = keyFile.get_boolean ("File Browser", "menuGroupRank");
+ if (keyFile.has_key ("File Browser", "menuGroupLabel")) menuGroupLabel = keyFile.get_boolean ("File Browser", "menuGroupLabel");
+ if (keyFile.has_key ("File Browser", "menuGroupFileOperations")) menuGroupFileOperations = keyFile.get_boolean ("File Browser", "menuGroupFileOperations");
+ if (keyFile.has_key ("File Browser", "menuGroupProfileOperations")) menuGroupProfileOperations = keyFile.get_boolean ("File Browser", "menuGroupProfileOperations");
+ if (keyFile.has_key ("File Browser", "menuGroupExtProg")) menuGroupExtProg = keyFile.get_boolean ("File Browser", "menuGroupExtProg");
}
if (keyFile.has_group ("Clipping Indication")) {
@@ -731,6 +737,7 @@ if (keyFile.has_group ("GUI")) {
if (keyFile.has_key ("GUI", "BrowserToolPanelHeight")) browserToolPanelHeight = keyFile.get_integer ("GUI", "BrowserToolPanelHeight");
if (keyFile.has_key ("GUI", "BrowserToolPanelOpened")) browserToolPanelOpened = keyFile.get_boolean ("GUI", "BrowserToolPanelOpened");
if (keyFile.has_key ("GUI", "BrowserDirPanelOpened")) browserDirPanelOpened = keyFile.get_boolean ("GUI", "BrowserDirPanelOpened");
+ if (keyFile.has_key ("GUI", "EditorFilmStripOpened")) editorFilmStripOpened = keyFile.get_boolean ("GUI", "EditorFilmStripOpened");
if (keyFile.has_key ("GUI", "HistoryPanelWidth")) historyPanelWidth = keyFile.get_integer ("GUI", "HistoryPanelWidth");
if (keyFile.has_key ("GUI", "LastPreviewScale")) lastScale = keyFile.get_integer ("GUI", "LastPreviewScale");
if (keyFile.has_key ("GUI", "PanAccelFactor")) panAccelFactor = keyFile.get_integer ("GUI", "PanAccelFactor");
@@ -751,11 +758,12 @@ if (keyFile.has_group ("GUI")) {
if (keyFile.has_key ("GUI", "HistogramPosition")) histogramPosition = keyFile.get_integer ("GUI", "HistogramPosition");
if (keyFile.has_key ("GUI", "HistogramBar")) histogramBar = keyFile.get_boolean ("GUI", "HistogramBar");
if (keyFile.has_key ("GUI", "HistogramFullMode")) histogramFullMode = keyFile.get_boolean ("GUI", "HistogramFullMode");
- if (keyFile.has_key ("GUI", "ShowProfileSelector")) showProfileSelector = keyFile.get_boolean ("GUI", "ShowProfileSelector");
+ if (keyFile.has_key ("GUI", "ShowFilmStripToolBar")) showFilmStripToolBar = keyFile.get_boolean ("GUI", "ShowFilmStripToolBar");
+ if (keyFile.has_key ("GUI", "ShowProfileSelector")) showProfileSelector = keyFile.get_boolean ("GUI", "ShowProfileSelector");
if (keyFile.has_key ("GUI", "FileBrowserToolbarSingleRow")) FileBrowserToolbarSingleRow = keyFile.get_boolean ("GUI", "FileBrowserToolbarSingleRow");
- if (keyFile.has_key ("GUI", "HideTPVScrollbar")) hideTPVScrollbar = keyFile.get_boolean ("GUI", "HideTPVScrollbar");
- if (keyFile.has_key ("GUI", "UseIconNoText")) UseIconNoText = keyFile.get_boolean ("GUI", "UseIconNoText");
- if( keyFile.has_key ("GUI", "HistogramWorking")) rtSettings.HistogramWorking = keyFile.get_boolean("GUI", "HistogramWorking");
+ if (keyFile.has_key ("GUI", "HideTPVScrollbar")) hideTPVScrollbar = keyFile.get_boolean ("GUI", "HideTPVScrollbar");
+ if (keyFile.has_key ("GUI", "UseIconNoText")) UseIconNoText = keyFile.get_boolean ("GUI", "UseIconNoText");
+ if( keyFile.has_key ("GUI", "HistogramWorking")) rtSettings.HistogramWorking = keyFile.get_boolean("GUI", "HistogramWorking");
}
@@ -963,7 +971,9 @@ int Options::saveToFile (Glib::ustring fname) {
Glib::ArrayHandle ptzoom = thumbnailZoomRatios;
keyFile.set_double_list ("File Browser", "ThumbnailZoomRatios", ptzoom);
keyFile.set_boolean ("File Browser", "OverlayedFileNames", overlayedFileNames);
+ keyFile.set_boolean ("File Browser", "FilmStripOverlayedFileNames", filmStripOverlayedFileNames);
keyFile.set_boolean ("File Browser", "ShowFileNames", showFileNames );
+ keyFile.set_boolean ("File Browser", "FilmStripShowFileNames", filmStripShowFileNames );
keyFile.set_boolean ("File Browser", "InternalThumbIfUntouched", internalThumbIfUntouched );
keyFile.set_boolean ("File Browser", "menuGroupRank", menuGroupRank);
keyFile.set_boolean ("File Browser", "menuGroupLabel", menuGroupLabel);
@@ -1035,6 +1045,7 @@ int Options::saveToFile (Glib::ustring fname) {
keyFile.set_integer ("GUI", "BrowserToolPanelWidth", browserToolPanelWidth);
keyFile.set_integer ("GUI", "BrowserToolPanelHeight", browserToolPanelHeight);
keyFile.set_boolean ("GUI", "BrowserToolPanelOpened", browserToolPanelOpened);
+ keyFile.set_boolean ("GUI", "EditorFilmStripOpened", editorFilmStripOpened);
keyFile.set_boolean ("GUI", "BrowserDirPanelOpened", browserDirPanelOpened);
keyFile.set_integer ("GUI", "HistoryPanelWidth", historyPanelWidth);
keyFile.set_integer ("GUI", "LastPreviewScale", lastScale);
@@ -1056,6 +1067,7 @@ int Options::saveToFile (Glib::ustring fname) {
keyFile.set_integer ("GUI", "HistogramPosition", histogramPosition);
keyFile.set_boolean ("GUI", "HistogramBar", histogramBar);
keyFile.set_boolean ("GUI", "HistogramFullMode", histogramFullMode);
+ keyFile.set_boolean ("GUI", "ShowFilmStripToolBar", showFilmStripToolBar);
keyFile.set_boolean ("GUI", "ShowProfileSelector", showProfileSelector);
keyFile.set_boolean ("GUI", "FileBrowserToolbarSingleRow", FileBrowserToolbarSingleRow);
keyFile.set_boolean ("GUI", "HideTPVScrollbar", hideTPVScrollbar);
diff --git a/rtgui/options.h b/rtgui/options.h
index 8b7c305ff..e31e103d9 100644
--- a/rtgui/options.h
+++ b/rtgui/options.h
@@ -109,6 +109,7 @@ class Options {
int browserToolPanelHeight;
bool browserToolPanelOpened;
bool browserDirPanelOpened;
+ bool editorFilmStripOpened;
int historyPanelWidth;
Glib::ustring font;
int windowWidth;
@@ -187,7 +188,9 @@ class Options {
std::vector thumbnailZoomRatios;
bool overlayedFileNames;
+ bool filmStripOverlayedFileNames;
bool showFileNames;
+ bool filmStripShowFileNames;
bool tabbedUI;
int previewSizeTab,previewSizeBrowser;
int multiDisplayMode; // 0=none, 1=Edit panels on other display
@@ -210,6 +213,8 @@ class Options {
bool UseIconNoText;
int whiteBalanceSpotSize;
+ bool showFilmStripToolBar;
+
Glib::ustring clutsDir;
// Performance options
diff --git a/rtgui/preferences.cc b/rtgui/preferences.cc
index 2277b08fd..2e534a372 100644
--- a/rtgui/preferences.cc
+++ b/rtgui/preferences.cc
@@ -932,7 +932,10 @@ Gtk::Widget* Preferences::getFileBrowserPanel () {
Gtk::HBox* hbro1 = Gtk::manage( new Gtk::HBox () );
Gtk::HBox* hbro0 = Gtk::manage( new Gtk::HBox () );
overlayedFileNames = Gtk::manage( new Gtk::CheckButton (M("PREFERENCES_OVERLAY_FILENAMES")) );
- ckbInternalThumbIfUntouched = Gtk::manage( new Gtk::CheckButton (M("PREFERENCES_INTERNALTHUMBIFUNTOUCHED")));
+ filmStripOverlayedFileNames = Gtk::manage( new Gtk::CheckButton (M("PREFERENCES_OVERLAY_FILENAMES_FILMSTRIP")) );
+ sameThumbSize = Gtk::manage( new Gtk::CheckButton (M("PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT")) );
+ sameThumbSize->set_tooltip_text(M("PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT_HINT"));
+ ckbInternalThumbIfUntouched = Gtk::manage( new Gtk::CheckButton (M("PREFERENCES_INTERNALTHUMBIFUNTOUCHED")));
vbro->set_border_width (4);
vbro->pack_start (*showDateTime, Gtk::PACK_SHRINK, 0);
@@ -948,7 +951,9 @@ Gtk::Widget* Preferences::getFileBrowserPanel () {
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);
+ vbro->pack_start (*filmStripOverlayedFileNames, Gtk::PACK_SHRINK, 0);
+ vbro->pack_start (*sameThumbSize, Gtk::PACK_SHRINK, 0);
+ vbro->pack_start (*ckbInternalThumbIfUntouched, Gtk::PACK_SHRINK, 0);
fro->add (*vbro);
@@ -1236,6 +1241,8 @@ void Preferences::storePreferences () {
moptions.maxThumbnailHeight = (int)maxThumbSize->get_value ();
moptions.maxCacheEntries = (int)maxCacheEntries->get_value ();
moptions.overlayedFileNames = overlayedFileNames->get_active ();
+ moptions.filmStripOverlayedFileNames = filmStripOverlayedFileNames->get_active();
+ moptions.sameThumbSize = sameThumbSize->get_active();
moptions.internalThumbIfUntouched = ckbInternalThumbIfUntouched->get_active ();
moptions.saveParamsFile = saveParamsFile->get_active ();
@@ -1381,6 +1388,8 @@ void Preferences::fillPreferences () {
maxThumbSize->set_value (moptions.maxThumbnailHeight);
maxCacheEntries->set_value (moptions.maxCacheEntries);
overlayedFileNames->set_active (moptions.overlayedFileNames);
+ filmStripOverlayedFileNames->set_active(moptions.filmStripOverlayedFileNames);
+ sameThumbSize->set_active(moptions.sameThumbSize);
ckbInternalThumbIfUntouched->set_active(moptions.internalThumbIfUntouched);
saveParamsFile->set_active (moptions.saveParamsFile);
diff --git a/rtgui/preferences.h b/rtgui/preferences.h
index bbebda595..863cbd8ff 100644
--- a/rtgui/preferences.h
+++ b/rtgui/preferences.h
@@ -113,6 +113,8 @@ class Preferences : public Gtk::Dialog, public ProfileStoreListener {
Gtk::Button* addExt;
Gtk::Button* delExt;
Gtk::CheckButton* overlayedFileNames;
+ Gtk::CheckButton* filmStripOverlayedFileNames;
+ Gtk::CheckButton* sameThumbSize;
Gtk::SpinButton* rgbDenoiseTreadLimitSB;
diff --git a/rtgui/rtwindow.cc b/rtgui/rtwindow.cc
index 8a507c0b7..b30915c2a 100644
--- a/rtgui/rtwindow.cc
+++ b/rtgui/rtwindow.cc
@@ -704,6 +704,7 @@ void RTWindow::MoveFileBrowserToEditor()
FileCatalog *fCatalog = fpanel->fileCatalog;
fpanel->ribbonPane->remove(*fCatalog);
epanel->catalogPane->add(*fCatalog);
+ epanel->showTopPanel(options.editorFilmStripOpened);
fCatalog->enableTabMode(true);
fCatalog->refreshHeight();
fCatalog->tbLeftPanel_1_visible(false);
diff --git a/rtgui/thumbbrowserbase.cc b/rtgui/thumbbrowserbase.cc
index 0d29979d0..cf7cde8d7 100644
--- a/rtgui/thumbbrowserbase.cc
+++ b/rtgui/thumbbrowserbase.cc
@@ -26,7 +26,7 @@ using namespace std;
ThumbBrowserBase::ThumbBrowserBase ()
: lastClicked(NULL), previewHeight(options.thumbSize), numOfCols(1) {
- inTabMode=false; // corresponding to take thumbSize
+ location = THLOC_FILEBROWSER;
inW = -1; inH = -1;
Gtk::HBox* hb1 = Gtk::manage( new Gtk::HBox () );
@@ -930,10 +930,10 @@ void ThumbBrowserBase::setArrangement (Arrangement a) {
}
void ThumbBrowserBase::enableTabMode(bool enable) {
- inTabMode = enable;
- arrangement = inTabMode ? ThumbBrowserBase::TB_Horizontal : ThumbBrowserBase::TB_Vertical;
-
- if (!options.sameThumbSize && (options.thumbSizeTab!=options.thumbSize)) {
+ location = enable ? THLOC_EDITOR : THLOC_FILEBROWSER;
+ arrangement = enable ? ThumbBrowserBase::TB_Horizontal : ThumbBrowserBase::TB_Vertical;
+
+ if ((!options.sameThumbSize && (options.thumbSizeTab!=options.thumbSize)) || (options.showFileNames || options.filmStripShowFileNames)) {
#if PROTECT_VECTORS
MYWRITERLOCK(l, entryRW);
#endif
@@ -952,7 +952,7 @@ void ThumbBrowserBase::enableTabMode(bool enable) {
#endif
if (!selected.empty()) {
- if (inTabMode) {
+ if (enable) {
double h=selected[0]->getStartX();
#if PROTECT_VECTORS
MYREADERLOCK_RELEASE(l);
diff --git a/rtgui/thumbbrowserbase.h b/rtgui/thumbbrowserbase.h
index 40730a2f3..81458de7d 100644
--- a/rtgui/thumbbrowserbase.h
+++ b/rtgui/thumbbrowserbase.h
@@ -53,6 +53,14 @@ class ThumbBrowserBase : public Gtk::VBox {
bool isDirty () { return dirty; }
};
+ public:
+
+ enum eLocation {
+ THLOC_BATCHQUEUE,
+ THLOC_FILEBROWSER,
+ THLOC_EDITOR
+ } location;
+
protected:
virtual int getMaxThumbnailHeight() const { return options.maxThumbnailHeight; } // Differs between batch and file
virtual void saveThumbnailHeight (int height)=0;
@@ -64,8 +72,6 @@ class ThumbBrowserBase : public Gtk::VBox {
int inW, inH;
- bool inTabMode; // Tab mode has e.g. different preview heights
-
void resizeThumbnailArea (int w, int h);
void internalAreaResized (Gtk::Allocation& req);
void buttonPressed (int x, int y, int button, GdkEventType type, int state, int clx, int cly, int clw, int clh);
@@ -83,6 +89,8 @@ class ThumbBrowserBase : public Gtk::VBox {
void selectFirst (bool enlarge);
void selectLast (bool enlarge);
+ eLocation getLocation() { return location; }
+
protected:
int eventTime;
diff --git a/rtgui/thumbbrowserentrybase.cc b/rtgui/thumbbrowserentrybase.cc
index 865291228..271947a05 100644
--- a/rtgui/thumbbrowserentrybase.cc
+++ b/rtgui/thumbbrowserentrybase.cc
@@ -29,7 +29,7 @@ ThumbBrowserEntryBase::ThumbBrowserEntryBase (const Glib::ustring& fname)
parent(NULL), bbSelected(false), bbFramed(false), bbPreview(NULL),
thumbnail(NULL), filename(fname), shortname(dispname), exifline(""), datetimeline(""),
selected(false), drawable(false), filtered(false), framed(false), processing(false), italicstyle(false),
- edited(false), recentlysaved(false), updatepriority(false) {}
+ edited(false), recentlysaved(false), updatepriority(false), withFilename(WFNAME_NONE) {}
ThumbBrowserEntryBase::~ThumbBrowserEntryBase () {
@@ -109,7 +109,8 @@ void ThumbBrowserEntryBase::updateBackBuffer () {
int istartx = prex;
int istarty = prey;
- if (options.showFileNames && options.overlayedFileNames) {
+ if ((parent->getLocation()!=ThumbBrowserBase::THLOC_EDITOR && options.showFileNames && options.overlayedFileNames)
+ || (parent->getLocation()==ThumbBrowserBase::THLOC_EDITOR && options.filmStripShowFileNames && options.filmStripOverlayedFileNames)) {
cr->begin_new_path ();
cr->rectangle (istartx, istarty, prew, fnlabh+dtlabh+exlabh+2*iofs_y);
if ((texts.get_red_p()+texts.get_green_p()+texts.get_blue_p())/3 > 0.5)
@@ -123,18 +124,27 @@ void ThumbBrowserEntryBase::updateBackBuffer () {
istarty += iofs_y;
if (!bbIcons.empty()) {
- int iwidth = igap;
+ int iwidth = 0;
int iheight = 0;
for (size_t i=0; iget_width() + igap;
+ iwidth += bbIcons[i]->get_width() + (i>0 ? igap : 0);
if (bbIcons[i]->get_height() > iheight)
iheight = bbIcons[i]->get_height();
}
- iheight += 2*igap;
- if (!options.overlayedFileNames) {
+ if ((parent->getLocation()!=ThumbBrowserBase::THLOC_EDITOR && (!options.showFileNames || !options.overlayedFileNames))
+ || (parent->getLocation()==ThumbBrowserBase::THLOC_EDITOR && (!options.filmStripShowFileNames || !options.filmStripOverlayedFileNames))) {
+ // Draw the transparent black background around icons
cr->begin_new_path ();
- cr->rectangle (istartx-igap, istarty-igap, iwidth, iheight);
- cr->set_source_rgba (0, 0, 0, 0.75);
+ cr->move_to(istartx-igap, istarty);
+ cr->rel_line_to(igap, -igap);
+ cr->rel_line_to(iwidth, 0);
+ cr->rel_line_to(igap, igap);
+ cr->rel_line_to(0, iheight);
+ cr->rel_line_to(-igap, igap);
+ cr->rel_line_to(-iwidth, 0);
+ cr->rel_line_to(-igap, -igap);
+ cr->rel_line_to(0, -iheight);
+ cr->set_source_rgba (0, 0, 0, 0.6);
cr->fill ();
}
for (size_t i=0; igetLocation()!=ThumbBrowserBase::THLOC_EDITOR && options.showFileNames)
+ || (parent->getLocation()==ThumbBrowserBase::THLOC_EDITOR && options.filmStripShowFileNames))
+ && withFilename>WFNAME_NONE)
+ {
int textposx_fn, textposx_ex, textposx_dt, textposy, textw;
- if (!options.overlayedFileNames) {
+ if (! ((parent->getLocation()!=ThumbBrowserBase::THLOC_EDITOR && options.overlayedFileNames)
+ || (parent->getLocation()==ThumbBrowserBase::THLOC_EDITOR && options.filmStripOverlayedFileNames)) )
+ {
textposx_fn = exp_width/2 - fnlabw/2;
if (textposx_fn<0) textposx_fn = 0;
textposx_ex = exp_width/2 - exlabw/2;
@@ -184,24 +199,26 @@ void ThumbBrowserEntryBase::updateBackBuffer () {
fontd.set_style (Pango::STYLE_NORMAL);
context->set_font_description (fontd);
- // draw date/time label
- int tpos = fnlabh;
- if (options.fbShowDateTime && datetimeline!="") {
- fn = w->create_pango_layout (datetimeline);
- fn->set_width (textw*Pango::SCALE);
- fn->set_ellipsize (Pango::ELLIPSIZE_MIDDLE);
- backBuffer->draw_layout(gc_, textposx_dt, textposy + tpos, fn);
- tpos += dtlabh;
+ if (withFilename==WFNAME_FULL) {
+ // draw date/time label
+ int tpos = fnlabh;
+ if (options.fbShowDateTime && datetimeline!="") {
+ fn = w->create_pango_layout (datetimeline);
+ fn->set_width (textw*Pango::SCALE);
+ fn->set_ellipsize (Pango::ELLIPSIZE_MIDDLE);
+ backBuffer->draw_layout(gc_, textposx_dt, textposy + tpos, fn);
+ tpos += dtlabh;
+ }
+ // draw basic exif info
+ if (options.fbShowBasicExif && exifline!="") {
+ fn = w->create_pango_layout (exifline);
+ fn->set_width (textw*Pango::SCALE);
+ fn->set_ellipsize (Pango::ELLIPSIZE_MIDDLE);
+ backBuffer->draw_layout (gc_, textposx_ex, textposy + tpos, fn);
+ tpos += exlabh;
+ }
}
- // draw basic exif info
- if (options.fbShowBasicExif && exifline!="") {
- fn = w->create_pango_layout (exifline);
- fn->set_width (textw*Pango::SCALE);
- fn->set_ellipsize (Pango::ELLIPSIZE_MIDDLE);
- backBuffer->draw_layout (gc_, textposx_ex, textposy + tpos, fn);
- tpos += exlabh;
- }
- }
+ }
}
void ThumbBrowserEntryBase::getTextSizes (int& infow, int& infoh) {
@@ -224,29 +241,41 @@ void ThumbBrowserEntryBase::getTextSizes (int& infow, int& infoh) {
Glib::RefPtr fn = w->create_pango_layout(shortname);
fn->get_pixel_size (fnlabw, fnlabh);
- // datetime
- fontd.set_weight (Pango::WEIGHT_NORMAL);
- context->set_font_description (fontd);
- fn = w->create_pango_layout (datetimeline);
- fn->get_pixel_size (dtlabw, dtlabh);
-
- // basic exif data
- fn = w->create_pango_layout (exifline);
- fn->get_pixel_size (exlabw, exlabh);
-
// calculate cummulated height of all info fields
infoh = fnlabh;
infow = 0;
- // add date/tile size:
- if (options.fbShowDateTime) {
- infoh += dtlabh;
- if (dtlabw + 2*sideMargin > infow)
- infow = dtlabw + 2*sideMargin;
+
+ if (withFilename==WFNAME_FULL) {
+ // datetime
+ fontd.set_weight (Pango::WEIGHT_NORMAL);
+ context->set_font_description (fontd);
+ fn = w->create_pango_layout (datetimeline);
+ fn->get_pixel_size (dtlabw, dtlabh);
+
+ // basic exif data
+ fn = w->create_pango_layout (exifline);
+ fn->get_pixel_size (exlabw, exlabh);
+
+ // add date/tile size:
+ if (options.fbShowDateTime) {
+ infoh += dtlabh;
+ if (dtlabw + 2*sideMargin > infow)
+ infow = dtlabw + 2*sideMargin;
+ }
+ else {
+ dtlabw = dtlabh = 0;
+ }
+ if (options.fbShowBasicExif) {
+ infoh += exlabh;
+ if (exlabw + 2*sideMargin > infow)
+ infow = exlabw + 2*sideMargin;
+ }
+ else {
+ exlabw = exlabh = 0;
+ }
}
- if (options.fbShowBasicExif) {
- infoh += exlabh;
- if (exlabw + 2*sideMargin > infow)
- infow = exlabw + 2*sideMargin;
+ else {
+ dtlabw = dtlabh = exlabw = exlabh = 0;
}
}
@@ -263,16 +292,35 @@ void ThumbBrowserEntryBase::resize (int h) {
int bsw=0, bsh=0;
if (buttonSet)
buttonSet->getMinimalDimensions (bsw, bsh);
-
+
+ if (parent->getLocation() == ThumbBrowserBase::THLOC_FILEBROWSER) {
+ if (options.showFileNames)
+ withFilename = WFNAME_FULL;
+ else
+ withFilename = WFNAME_NONE;
+ }
+ else if (parent->getLocation() == ThumbBrowserBase::THLOC_BATCHQUEUE) {
+ withFilename = WFNAME_REDUCED;
+ }
+ else {
+ if (options.filmStripShowFileNames)
+ withFilename = WFNAME_REDUCED;
+ else
+ withFilename = WFNAME_NONE;
+ }
+
// calculate the height remaining for the thumbnail image
preh = height - upperMargin - 2*borderWidth - lowerMargin - bsh;
int infow=0;
int infoh=0;
- if (options.showFileNames && !options.overlayedFileNames) {
+ if ( (parent->getLocation()!=ThumbBrowserBase::THLOC_EDITOR && options.showFileNames && !options.overlayedFileNames)
+ || (parent->getLocation()==ThumbBrowserBase::THLOC_EDITOR && options.filmStripShowFileNames && !options.filmStripOverlayedFileNames))
+ {
// dimensions of the info text
getTextSizes (infow, infoh);
infoh += textGap;
- preh -= infoh;
+ //preh -= infoh;
+ height += infoh;
}
// Minimum size for thumbs
if (preh<24){
@@ -283,7 +331,9 @@ void ThumbBrowserEntryBase::resize (int h) {
calcThumbnailSize (); // recalculates prew
width = prew + 2*sideMargin + 2*borderWidth;
- if (options.showFileNames && !options.overlayedFileNames) {
+ if ( (parent->getLocation()!=ThumbBrowserBase::THLOC_EDITOR && options.showFileNames && !options.overlayedFileNames)
+ || (parent->getLocation()==ThumbBrowserBase::THLOC_EDITOR && options.filmStripShowFileNames && !options.filmStripOverlayedFileNames))
+ {
width = prew + 2*sideMargin + 2*borderWidth;
if (widthgetToolTip (x, y);
// if the fileinfo is not shown anyway, make a tooltip with the info
- if (!options.showFileNames && inside(x,y) && tooltip.empty()) {
+ if (withFilename