diff --git a/CMakeLists.txt b/CMakeLists.txt index 128551b02..637cc1b9f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -164,7 +164,7 @@ endif() if(NOT DEFINED DATADIR) if(BUILD_BUNDLE) if(APPLE) - set(DATADIR "../Resources") + set(DATADIR "../../Resources") else() set(DATADIR .) endif() @@ -176,7 +176,7 @@ endif() if(NOT DEFINED LIBDIR) if(BUILD_BUNDLE) if(APPLE) - set(LIBDIR "../Frameworks") + set(LIBDIR "../../Frameworks") else() set(LIBDIR .) endif() @@ -256,6 +256,10 @@ if(APPLE) if("${CODESIGNID}") set(CODESIGNID "${CODESIGNID}" CACHE STRING "Codesigning Identity") endif() + if("${NOTARY}") + set(NOTARY "${NOTARY}" CACHE STRING "Notarization Identity") + endif() + endif() # Enforce absolute paths for non-bundle builds: diff --git a/rtdata/languages/Catala b/rtdata/languages/Catala index a6b104be2..fb5104f95 100644 --- a/rtdata/languages/Catala +++ b/rtdata/languages/Catala @@ -84,8 +84,6 @@ FILEBROWSER_COPYPROFILE;Copia FILEBROWSER_CURRENT_NAME;Nom actual: FILEBROWSER_DARKFRAME;Marc fosc FILEBROWSER_DELETEDIALOG_HEADER;Confirmació d'esborrar fitxer -FILEBROWSER_DELETEDIALOG_SELECTED;Segur que voleu esborrar els %1 fitxers? -FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Segur que voleu suprimir els fitxers %1 seleccionats incloent la versió processada a la cua? FILEBROWSER_EMPTYTRASH;Buida paperera FILEBROWSER_EXTPROGMENU;Obre amb FILEBROWSER_FLATFIELD;Camp pla @@ -108,8 +106,6 @@ FILEBROWSER_POPUPPROCESS;Posa a la cua FILEBROWSER_POPUPPROCESSFAST;Posa a la cua (export. ràpida) FILEBROWSER_POPUPPROFILEOPERATIONS;Processant operacions de perfil FILEBROWSER_POPUPRANK;Rang -FILEBROWSER_POPUPREMOVE;Esborra el fitxer -FILEBROWSER_POPUPREMOVEINCLPROC;Esborra amb sortida de la cua FILEBROWSER_POPUPRENAME;Reanomena FILEBROWSER_POPUPSELECTALL;Selec. tot FILEBROWSER_POPUPTRASH;Llença a la paperera @@ -942,8 +938,10 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !FILEBROWSER_CACHECLEARFROMFULL;Clear all including cached profiles !FILEBROWSER_CACHECLEARFROMPARTIAL;Clear all except cached profiles !FILEBROWSER_COLORLABEL_TOOLTIP;Color label.\n\nUse dropdown menu or shortcuts:\nShift-Ctrl-0 No Color\nShift-Ctrl-1 Red\nShift-Ctrl-2 Yellow\nShift-Ctrl-3 Green\nShift-Ctrl-4 Blue\nShift-Ctrl-5 Purple -!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash? -!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash? +!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files? +!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version? +!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. !FILEBROWSER_POPUPCOLORLABEL0;Label: None !FILEBROWSER_POPUPCOLORLABEL1;Label: Red !FILEBROWSER_POPUPCOLORLABEL2;Label: Yellow @@ -956,13 +954,15 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !FILEBROWSER_POPUPRANK3;Rank 3 *** !FILEBROWSER_POPUPRANK4;Rank 4 **** !FILEBROWSER_POPUPRANK5;Rank 5 ***** +!FILEBROWSER_POPUPREMOVE;Delete permanently +!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version !FILEBROWSER_RANK1_TOOLTIP;Rank 1 *\nShortcut: Shift-1 !FILEBROWSER_RANK2_TOOLTIP;Rank 2 *\nShortcut: Shift-2 !FILEBROWSER_RANK3_TOOLTIP;Rank 3 *\nShortcut: Shift-3 !FILEBROWSER_RANK4_TOOLTIP;Rank 4 *\nShortcut: Shift-4 !FILEBROWSER_RANK5_TOOLTIP;Rank 5 *\nShortcut: Shift-5 !FILEBROWSER_RESETDEFAULTPROFILE;Reset to default -!FILEBROWSER_SHOWNOTTRASHHINT;Show only non-deleted images. +!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash. !FILEBROWSER_SHOWORIGINALHINT;Show only original images.\n\nWhen several images exist with the same filename but different extensions, the one considered original is the one whose extension is nearest the top of the parsed extensions list in Preferences > File Browser > Parsed Extensions. !FILEBROWSER_UNRANK_TOOLTIP;Unrank.\nShortcut: Shift-0 !FILECHOOSER_FILTER_ANY;All files @@ -1705,7 +1705,7 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !TP_COLORAPP_SURROUND_DARK;Dark !TP_COLORAPP_SURROUND_DIM;Dim !TP_COLORAPP_SURROUND_EXDARK;Extremly Dark (Cutsheet) -!TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slighty dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark. +!TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slightly dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark. !TP_COLORAPP_TCMODE_BRIGHTNESS;Brightness !TP_COLORAPP_TCMODE_CHROMA;Chroma !TP_COLORAPP_TCMODE_COLORF;Colorfulness diff --git a/rtdata/languages/Chinese (Simplified) b/rtdata/languages/Chinese (Simplified) index 9f0e4b365..34e87dc1e 100644 --- a/rtdata/languages/Chinese (Simplified) +++ b/rtdata/languages/Chinese (Simplified) @@ -96,8 +96,6 @@ FILEBROWSER_COPYPROFILE;复制配置 FILEBROWSER_CURRENT_NAME;当前名称: FILEBROWSER_DARKFRAME;暗场 FILEBROWSER_DELETEDIALOG_HEADER;确认删除 -FILEBROWSER_DELETEDIALOG_SELECTED;确定删除所选的%1个文件? -FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;你确认要删除选择的 %1 文件 包括 一个处理队列中的版本? FILEBROWSER_EMPTYTRASH;清空垃圾箱 FILEBROWSER_EXTPROGMENU;调用程序... FILEBROWSER_FLATFIELD;平场 @@ -132,8 +130,6 @@ FILEBROWSER_POPUPRANK2;评 2 星 FILEBROWSER_POPUPRANK3;评 3 星 FILEBROWSER_POPUPRANK4;评 4 星 FILEBROWSER_POPUPRANK5;评 5 星 -FILEBROWSER_POPUPREMOVE;从文件系统中移除 -FILEBROWSER_POPUPREMOVEINCLPROC;删除序列输出 FILEBROWSER_POPUPRENAME;重命名 FILEBROWSER_POPUPSELECTALL;全部选中 FILEBROWSER_POPUPTRASH;移动到垃圾箱 @@ -957,8 +953,12 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: - !FILEBROWSER_CACHECLEARFROMFULL;Clear all including cached profiles !FILEBROWSER_CACHECLEARFROMPARTIAL;Clear all except cached profiles !FILEBROWSER_COLORLABEL_TOOLTIP;Color label.\n\nUse dropdown menu or shortcuts:\nShift-Ctrl-0 No Color\nShift-Ctrl-1 Red\nShift-Ctrl-2 Yellow\nShift-Ctrl-3 Green\nShift-Ctrl-4 Blue\nShift-Ctrl-5 Purple -!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash? -!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash? +!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files? +!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version? +!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_POPUPREMOVE;Delete permanently +!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version !FILEBROWSER_QUERYHINT;Type filenames to search for. Supports partial filenames. Separate the search terms using commas, e.g.\n1001,1004,1199\n\nExclude search terms by prefixing them with !=\ne.g.\n!=1001,1004,1199\n\nShortcuts:\nCtrl-f - focus the Find box,\nEnter - search,\nEsc - clear the Find box,\nShift-Esc - defocus the Find box. !FILEBROWSER_SHOWCOLORLABEL1HINT;Show images labeled Red.\nShortcut: Alt-1 !FILEBROWSER_SHOWCOLORLABEL2HINT;Show images labeled Yellow.\nShortcut: Alt-2 @@ -967,7 +967,7 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: - !FILEBROWSER_SHOWCOLORLABEL5HINT;Show images labeled Purple.\nShortcut: Alt-5 !FILEBROWSER_SHOWEDITEDHINT;Show edited images.\nShortcut: 7 !FILEBROWSER_SHOWEDITEDNOTHINT;Show not edited images.\nShortcut: 6 -!FILEBROWSER_SHOWNOTTRASHHINT;Show only non-deleted images. +!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash. !FILEBROWSER_SHOWORIGINALHINT;Show only original images.\n\nWhen several images exist with the same filename but different extensions, the one considered original is the one whose extension is nearest the top of the parsed extensions list in Preferences > File Browser > Parsed Extensions. !FILEBROWSER_SHOWRECENTLYSAVEDNOTHINT;Show unsaved images.\nShortcut: Alt-6 !FILEBROWSER_SHOWUNCOLORHINT;Show images without a color label.\nShortcut: Alt-0 @@ -1656,7 +1656,7 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: - !TP_COLORAPP_RSTPRO_TOOLTIP;Red & skin-tones protection affects both sliders and curves. !TP_COLORAPP_SURROUND;Surround !TP_COLORAPP_SURROUND_EXDARK;Extremly Dark (Cutsheet) -!TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slighty dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark. +!TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slightly dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark. !TP_COLORAPP_TCMODE_CHROMA;Chroma !TP_COLORAPP_TCMODE_COLORF;Colorfulness !TP_COLORAPP_TCMODE_LABEL1;Curve mode 1 diff --git a/rtdata/languages/Czech b/rtdata/languages/Czech index 61f51cd2d..5df69dd3a 100644 --- a/rtdata/languages/Czech +++ b/rtdata/languages/Czech @@ -164,8 +164,6 @@ FILEBROWSER_COPYPROFILE;Kopírovat FILEBROWSER_CURRENT_NAME;Současné jméno: FILEBROWSER_DARKFRAME;Tmavý snímek FILEBROWSER_DELETEDIALOG_HEADER;Potvrzení smazání souboru -FILEBROWSER_DELETEDIALOG_SELECTED;Jste si jisti, že chcete vymazat %1 vybraných souborů? -FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Jste si jisti, že chcete vymazat %1 vybraných souborů včetně výstupů dávkového zpracování? FILEBROWSER_EMPTYTRASH;Vysypat koš FILEBROWSER_EXTPROGMENU;Otevřít pomocí FILEBROWSER_FLATFIELD;Flat Field @@ -200,8 +198,6 @@ FILEBROWSER_POPUPRANK2;Hodnocení 2 ** FILEBROWSER_POPUPRANK3;Hodnocení 3 *** FILEBROWSER_POPUPRANK4;Hodnocení 4 **** FILEBROWSER_POPUPRANK5;Hodnocení 5 ***** -FILEBROWSER_POPUPREMOVE;Smazat -FILEBROWSER_POPUPREMOVEINCLPROC;Smazat včetně výstupů z fronty FILEBROWSER_POPUPRENAME;Přejmenovat FILEBROWSER_POPUPSELECTALL;Vybrat vše FILEBROWSER_POPUPTRASH;Přesunout do koše @@ -228,7 +224,6 @@ FILEBROWSER_SHOWDIRHINT;Smazat všechny filtry.\nZkratka: d FILEBROWSER_SHOWEDITEDHINT;Ukázat upravené obrázky.\nZkratka: 7 FILEBROWSER_SHOWEDITEDNOTHINT;Ukázat neupravené obrázky.\nZkratka: 6 FILEBROWSER_SHOWEXIFINFO;Zobrazit Exif informace.\n\nZkratky:\ni - režim více karet editoru,\nAlt-i - režim jedné karty editoru. -FILEBROWSER_SHOWNOTTRASHHINT;Zobrazit pouze nesmazané obrázky. FILEBROWSER_SHOWORIGINALHINT;Zobrazí pouze originální obrázky.\n\nPokud existuje několik obrázků se stejným názvem, ale rozdílnými příponami, bude jako originál vybrán ten, jehož přípona je nejvýše v seznamu přípon veVolby > Prohlížeč souborů > Analyzované přípony. FILEBROWSER_SHOWRANK1HINT;Ukázat obrázky hodnocené jednou hvězdičkou.\nZkratka: 1 FILEBROWSER_SHOWRANK2HINT;Ukázat obrázky hodnocené dvěma hvězdičkami.\nZkratka: 2 @@ -2321,6 +2316,11 @@ ZOOMPANEL_ZOOMOUT;Oddálit\nZkratka: - ! Untranslated keys follow; remove the ! prefix after an entry is translated. !!!!!!!!!!!!!!!!!!!!!!!!! -!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash? -!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash? +!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files? +!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version? +!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_POPUPREMOVE;Delete permanently +!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version +!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash. !PREFERENCES_APPEARANCE_PSEUDOHIDPI;Pseudo-HiDPI mode diff --git a/rtdata/languages/Deutsch b/rtdata/languages/Deutsch index e3aa6ea44..cd62a8f3b 100644 --- a/rtdata/languages/Deutsch +++ b/rtdata/languages/Deutsch @@ -81,6 +81,7 @@ #80 25.03.2019 Erweiterung (TooWaBoo) RT 5.6 #81 15.04.2019 Erweiterung (TooWaBoo) RT 5.6 #82 25.05.2019 Erweiterung (TooWaBoo) RT 5.6 +#83 06.07.2019 Erweiterung (TooWaBoo) RT 5.6 ABOUT_TAB_BUILD;Version ABOUT_TAB_CREDITS;Danksagungen @@ -231,7 +232,7 @@ FILEBROWSER_POPUPMOVETO;Verschieben nach... FILEBROWSER_POPUPOPEN;Öffnen FILEBROWSER_POPUPOPENINEDITOR;Im Editor öffnen FILEBROWSER_POPUPPROCESS;Zur Warteschlange hinzufügen -FILEBROWSER_POPUPPROCESSFAST;Zur Warteschlange hinzufügen (Schnelles Exportieren) +FILEBROWSER_POPUPPROCESSFAST;Zur Warteschlange hinzufügen\n(Schnell-Export) FILEBROWSER_POPUPPROFILEOPERATIONS;Profiloperationen FILEBROWSER_POPUPRANK;Bewertung FILEBROWSER_POPUPRANK0;Nicht bewertet @@ -240,8 +241,6 @@ FILEBROWSER_POPUPRANK2;Bewertung 2 ** FILEBROWSER_POPUPRANK3;Bewertung 3 *** FILEBROWSER_POPUPRANK4;Bewertung 4 **** FILEBROWSER_POPUPRANK5;Bewertung 5 ***** -FILEBROWSER_POPUPREMOVE;Löschen -FILEBROWSER_POPUPREMOVEINCLPROC;Löschen (auch Resultate der Stapelverarbeitung) FILEBROWSER_POPUPRENAME;Umbenennen FILEBROWSER_POPUPSELECTALL;Alle auswählen FILEBROWSER_POPUPTRASH;In den Papierkorb verschieben @@ -268,7 +267,6 @@ FILEBROWSER_SHOWDIRHINT;Alle Filter zurücksetzen.\nTaste: d FILEBROWSER_SHOWEDITEDHINT;Nur bearbeitete Bilder anzeigen.\nTaste: 7 FILEBROWSER_SHOWEDITEDNOTHINT;Nur unbearbeitete Bilder anzeigen.\nTaste: 6 FILEBROWSER_SHOWEXIFINFO;Bildinformationen ein-/ausblenden.\n\nIm Multi-Reitermodus:\nTaste: i\nIm Ein-Reitermodus:\nTaste: Alt + i -FILEBROWSER_SHOWNOTTRASHHINT;Nur nicht gelöschte Bilder anzeigen. FILEBROWSER_SHOWORIGINALHINT;Zeige nur das Originalbild.\n\nWenn mehrere Bilder mit dem gleichen Dateinamen und unterschiedlichen Dateitypen existieren, ist das Originalbild das Bild, welches in der Liste "Dateitypen anzeigen" unter Einstellungen > Dateiverwaltung als erstes gefunden wird. FILEBROWSER_SHOWRANK1HINT;Nur mit 1 Stern bewertete Bilder anzeigen.\nTaste: 1 FILEBROWSER_SHOWRANK2HINT;Nur mit 2 Sternen bewertete Bilder anzeigen.\nTaste: 2 @@ -987,7 +985,7 @@ MAIN_TAB_DETAIL;Details MAIN_TAB_DETAIL_TOOLTIP;Taste: Alt + d MAIN_TAB_DEVELOP; Batchbearbeitung MAIN_TAB_EXIF;Exif -MAIN_TAB_EXPORT; Exportieren +MAIN_TAB_EXPORT; Schnell-Export MAIN_TAB_EXPOSURE;Belichtung MAIN_TAB_EXPOSURE_TOOLTIP;Taste: Alt + e MAIN_TAB_FAVORITES;Favoriten @@ -2364,6 +2362,10 @@ ZOOMPANEL_ZOOMOUT;Herauszoomen\nTaste: - ! Untranslated keys follow; remove the ! prefix after an entry is translated. !!!!!!!!!!!!!!!!!!!!!!!!! +FILEBROWSER_POPUPREMOVE;Unwiderruflich löschen +FILEBROWSER_POPUPREMOVEINCLPROC;Unwiderruflich löschen\n(einschl. aller Dateien der Stabelverarbeitung) +FILEBROWSER_SHOWNOTTRASHHINT;Nur Bilder außerhalb des Papierkorbs anzeigen. + !HISTORY_MSG_FILMNEGATIVE_ENABLED;Film Negative !HISTORY_MSG_FILMNEGATIVE_VALUES;Film negative values !TP_FILMNEGATIVE_BLUE;Blue ratio diff --git a/rtdata/languages/English (UK) b/rtdata/languages/English (UK) index 677dc1818..a8639c296 100644 --- a/rtdata/languages/English (UK) +++ b/rtdata/languages/English (UK) @@ -68,7 +68,7 @@ TP_COLORAPP_CHROMA_M_TOOLTIP;Colourfulness in CIECAM02 differs from L*a*b* and R TP_COLORAPP_CURVEEDITOR3;Colour curve TP_COLORAPP_CURVEEDITOR3_TOOLTIP;Adjust either chroma, saturation or colourfulness.\n\nShows the histogram of chromaticity (L*a*b*) before CIECAM02.\nIf the "Show CIECAM02 output histograms in curves" checkbox is enabled, shows the histogram of C, s or M after CIECAM02.\n\nC, s and M are not shown in the main histogram panel.\nFor final output refer to the main histogram panel. TP_COLORAPP_LABEL;CIE Colour Appearance Model 2002 -TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colours to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slighty dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark. +TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colours to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slightly dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark. TP_COLORAPP_TCMODE_COLORF;Colourfulness TP_COLORTONING_COLOR;Colour TP_COLORTONING_LABEL;Colour Toning @@ -239,12 +239,12 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !FILEBROWSER_COPYPROFILE;Copy !FILEBROWSER_CURRENT_NAME;Current name: !FILEBROWSER_DARKFRAME;Dark-frame -!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash? +!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash? !FILEBROWSER_DELETEDIALOG_HEADER;File delete confirmation: -!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to delete the selected %1 files? -!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to delete the selected %1 files including a queue-processed version? +!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files? +!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version? !FILEBROWSER_EMPTYTRASH;Empty trash -!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. !FILEBROWSER_EXTPROGMENU;Open with !FILEBROWSER_FLATFIELD;Flat-Field !FILEBROWSER_MOVETODARKFDIR;Move to dark-frames directory @@ -277,8 +277,8 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !FILEBROWSER_POPUPRANK3;Rank 3 *** !FILEBROWSER_POPUPRANK4;Rank 4 **** !FILEBROWSER_POPUPRANK5;Rank 5 ***** -!FILEBROWSER_POPUPREMOVE;Delete -!FILEBROWSER_POPUPREMOVEINCLPROC;Delete with output from queue +!FILEBROWSER_POPUPREMOVE;Delete permanently +!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version !FILEBROWSER_POPUPRENAME;Rename !FILEBROWSER_POPUPSELECTALL;Select all !FILEBROWSER_POPUPTRASH;Move to trash @@ -305,7 +305,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !FILEBROWSER_SHOWEDITEDHINT;Show edited images.\nShortcut: 7 !FILEBROWSER_SHOWEDITEDNOTHINT;Show not edited images.\nShortcut: 6 !FILEBROWSER_SHOWEXIFINFO;Show Exif info.\n\nShortcuts:\ni - Multiple Editor Tabs Mode,\nAlt-i - Single Editor Tab Mode. -!FILEBROWSER_SHOWNOTTRASHHINT;Show only non-deleted images. +!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash. !FILEBROWSER_SHOWORIGINALHINT;Show only original images.\n\nWhen several images exist with the same filename but different extensions, the one considered original is the one whose extension is nearest the top of the parsed extensions list in Preferences > File Browser > Parsed Extensions. !FILEBROWSER_SHOWRANK1HINT;Show images ranked as 1-star.\nShortcut: 1 !FILEBROWSER_SHOWRANK2HINT;Show images ranked as 2-star.\nShortcut: 2 diff --git a/rtdata/languages/English (US) b/rtdata/languages/English (US) index 7d2c5ff43..19535166e 100644 --- a/rtdata/languages/English (US) +++ b/rtdata/languages/English (US) @@ -122,12 +122,12 @@ !FILEBROWSER_COPYPROFILE;Copy !FILEBROWSER_CURRENT_NAME;Current name: !FILEBROWSER_DARKFRAME;Dark-frame -!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash? +!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash? !FILEBROWSER_DELETEDIALOG_HEADER;File delete confirmation: -!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to delete the selected %1 files? -!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to delete the selected %1 files including a queue-processed version? +!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files? +!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version? !FILEBROWSER_EMPTYTRASH;Empty trash -!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. !FILEBROWSER_EXTPROGMENU;Open with !FILEBROWSER_FLATFIELD;Flat-Field !FILEBROWSER_MOVETODARKFDIR;Move to dark-frames directory @@ -161,8 +161,8 @@ !FILEBROWSER_POPUPRANK3;Rank 3 *** !FILEBROWSER_POPUPRANK4;Rank 4 **** !FILEBROWSER_POPUPRANK5;Rank 5 ***** -!FILEBROWSER_POPUPREMOVE;Delete -!FILEBROWSER_POPUPREMOVEINCLPROC;Delete with output from queue +!FILEBROWSER_POPUPREMOVE;Delete permanently +!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version !FILEBROWSER_POPUPRENAME;Rename !FILEBROWSER_POPUPSELECTALL;Select all !FILEBROWSER_POPUPTRASH;Move to trash @@ -189,7 +189,7 @@ !FILEBROWSER_SHOWEDITEDHINT;Show edited images.\nShortcut: 7 !FILEBROWSER_SHOWEDITEDNOTHINT;Show not edited images.\nShortcut: 6 !FILEBROWSER_SHOWEXIFINFO;Show Exif info.\n\nShortcuts:\ni - Multiple Editor Tabs Mode,\nAlt-i - Single Editor Tab Mode. -!FILEBROWSER_SHOWNOTTRASHHINT;Show only non-deleted images. +!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash. !FILEBROWSER_SHOWORIGINALHINT;Show only original images.\n\nWhen several images exist with the same filename but different extensions, the one considered original is the one whose extension is nearest the top of the parsed extensions list in Preferences > File Browser > Parsed Extensions. !FILEBROWSER_SHOWRANK1HINT;Show images ranked as 1-star.\nShortcut: 1 !FILEBROWSER_SHOWRANK2HINT;Show images ranked as 2-star.\nShortcut: 2 @@ -1432,7 +1432,7 @@ !TP_COLORAPP_SURROUND_DARK;Dark !TP_COLORAPP_SURROUND_DIM;Dim !TP_COLORAPP_SURROUND_EXDARK;Extremly Dark (Cutsheet) -!TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slighty dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark. +!TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slightly dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark. !TP_COLORAPP_TCMODE_BRIGHTNESS;Brightness !TP_COLORAPP_TCMODE_CHROMA;Chroma !TP_COLORAPP_TCMODE_COLORF;Colorfulness diff --git a/rtdata/languages/Espanol b/rtdata/languages/Espanol index b1d76b24f..15a4d81f5 100644 --- a/rtdata/languages/Espanol +++ b/rtdata/languages/Espanol @@ -180,8 +180,6 @@ FILEBROWSER_COPYPROFILE;Copiar perfil FILEBROWSER_CURRENT_NAME;Nombre actual: FILEBROWSER_DARKFRAME;Toma Negra FILEBROWSER_DELETEDIALOG_HEADER;Confirmación de borrar archivos -FILEBROWSER_DELETEDIALOG_SELECTED;¿Seguro que quiere borrar los %1 archivos seleccionados? -FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;¿Seguro que quiere borrar los %1 archivos seleccionados incluyendo la versión procesada en la cola? FILEBROWSER_EMPTYTRASH;Vaciar papelera FILEBROWSER_EXTPROGMENU;Abrir con FILEBROWSER_FLATFIELD;Campo plano @@ -216,8 +214,6 @@ FILEBROWSER_POPUPRANK2;Rango 2 ** FILEBROWSER_POPUPRANK3;Rango 3 *** FILEBROWSER_POPUPRANK4;Rango 4 **** FILEBROWSER_POPUPRANK5;Rango 5 ***** -FILEBROWSER_POPUPREMOVE;Borrar -FILEBROWSER_POPUPREMOVEINCLPROC;Borrar con salida de la cola FILEBROWSER_POPUPRENAME;Renombrar FILEBROWSER_POPUPSELECTALL;Seleccionar todo FILEBROWSER_POPUPTRASH;Mover a la papelera @@ -244,7 +240,6 @@ FILEBROWSER_SHOWDIRHINT;Quitar todos los filtros.\nTecla de Atajo: d FILEBROWSER_SHOWEDITEDHINT;Mostrar imágenes editadas.\nTecla de Atajo: 7 FILEBROWSER_SHOWEDITEDNOTHINT;Mostrar imágenes no editadas.\nTecla de Atajo: 6 FILEBROWSER_SHOWEXIFINFO;Mostrar datos Exif.\nTecla de Atajo: i\n\nTecla de Atajo en modo editor simple: Alt-I -FILEBROWSER_SHOWNOTTRASHHINT;Mostrar solo las imágenes no borradas. FILEBROWSER_SHOWORIGINALHINT;Muestre solo imágenes originales. \nCuando existen varias imágenes con el mismo nombre de archivo pero con diferentes extensiones, la que se considera original es aquella cuya extensión está más cerca de la parte superior de la lista de extensiones analizadas en Preferencias> Explorador de archivos> Extensiones analizadas. FILEBROWSER_SHOWRANK1HINT;Mostrar imágenes con 1 estrella.\nTecla de Atajo: 1 FILEBROWSER_SHOWRANK2HINT;Mostrar imágenes con 2 estrellas.\nTecla de Atajo: 2 @@ -2319,8 +2314,13 @@ ZOOMPANEL_ZOOMOUT;Reducir Zoom\nTecla de Atajo: - !CURVEEDITOR_CATMULLROM;Flexible !FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords. -!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash? -!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash? +!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files? +!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version? +!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_POPUPREMOVE;Delete permanently +!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version +!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash. !HISTORY_MSG_SHARPENING_BLUR;Sharpening - Blur radius !MAIN_FRAME_PLACES_DEL;Remove !MAIN_TAB_FAVORITES;Favorites diff --git a/rtdata/languages/Francais b/rtdata/languages/Francais index cd3ac7394..d7141f8b2 100644 --- a/rtdata/languages/Francais +++ b/rtdata/languages/Francais @@ -119,8 +119,6 @@ FILEBROWSER_COPYPROFILE;Copier le profil FILEBROWSER_CURRENT_NAME;Nom courant: FILEBROWSER_DARKFRAME;Trame Noire FILEBROWSER_DELETEDIALOG_HEADER;Confirmation de la suppression de fichier -FILEBROWSER_DELETEDIALOG_SELECTED;Êtes-vous sûr de vouloir supprimer les %1 fichiers selectionnés? -FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Êtes-vous sûr de vouloir supprimer les %1 fichiers sélectionnés, INCLUANT une version déjà traitée? FILEBROWSER_EMPTYTRASH;Vider la corbeille FILEBROWSER_EXTPROGMENU;Ouvrir avec FILEBROWSER_FLATFIELD;Champ Uniforme @@ -155,8 +153,6 @@ FILEBROWSER_POPUPRANK2;Rang 2 ** FILEBROWSER_POPUPRANK3;Rang 3 *** FILEBROWSER_POPUPRANK4;Rang 4 **** FILEBROWSER_POPUPRANK5;Rang 5 ***** -FILEBROWSER_POPUPREMOVE;Retirer du système de fichier -FILEBROWSER_POPUPREMOVEINCLPROC;Supprimer (y compris les sorties de la file de traitement) FILEBROWSER_POPUPRENAME;Renommer FILEBROWSER_POPUPSELECTALL;Sélectionner tout FILEBROWSER_POPUPTRASH;Déplacer dans la corbeille @@ -183,7 +179,6 @@ FILEBROWSER_SHOWDIRHINT;Voir toutes les images du dossier\nRaccourci: d FILEBROWSER_SHOWEDITEDHINT;Afficher les images éditées\nRaccourci: 7 FILEBROWSER_SHOWEDITEDNOTHINT;Afficher les images non éditées\nRaccourci: 6 FILEBROWSER_SHOWEXIFINFO;Montrer les infos EXIF.\nRaccourci: i\n\nRaccourcis dans le mode Éditeur Unique: Alt-i -FILEBROWSER_SHOWNOTTRASHHINT;Voir uniquement les images non supprimées FILEBROWSER_SHOWORIGINALHINT;Voir seulement les images originales.\n\nQuand plusieurs images éxistent avec le même nom de fichier mais des extensions différentes, celle considéré originale est celle dont l'extention est au plus dans la liste des extensions dans Préférences > Navigateur de fichiers > Extensions considérées. FILEBROWSER_SHOWRANK1HINT;Voir les images 1 étoile\nRaccourci: 1 FILEBROWSER_SHOWRANK2HINT;Voir les images 2 étoiles\nRaccourci: 2 @@ -2264,8 +2259,13 @@ ZOOMPANEL_ZOOMOUT;Zoom Arrière\nRaccourci: - !!!!!!!!!!!!!!!!!!!!!!!!! !FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords. -!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash? -!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash? +!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files? +!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version? +!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_POPUPREMOVE;Delete permanently +!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version +!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash. !MAIN_FRAME_PLACES_DEL;Remove !PROGRESSBAR_DECODING;Decoding... !PROGRESSBAR_GREENEQUIL;Green equilibration... diff --git a/rtdata/languages/Italiano b/rtdata/languages/Italiano index 2390c0d81..63eb2bd66 100644 --- a/rtdata/languages/Italiano +++ b/rtdata/languages/Italiano @@ -92,8 +92,6 @@ FILEBROWSER_COPYPROFILE;Copia FILEBROWSER_CURRENT_NAME;Nome corrente: FILEBROWSER_DARKFRAME;Dark Frame FILEBROWSER_DELETEDIALOG_HEADER;Conferma eliminazione del file -FILEBROWSER_DELETEDIALOG_SELECTED;Vuoi eliminare i %1 file selezionati? -FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Vuoi eliminare i %1 file inclusa la versione sviluppata nella coda? FILEBROWSER_EMPTYTRASH;Svuota cestino FILEBROWSER_EXTPROGMENU;Apri con FILEBROWSER_FLATFIELD;Flat Field @@ -128,8 +126,6 @@ FILEBROWSER_POPUPRANK2;Punteggio 2 ** FILEBROWSER_POPUPRANK3;Punteggio 3 *** FILEBROWSER_POPUPRANK4;Punteggio 4 **** FILEBROWSER_POPUPRANK5;Punteggio 5 ***** -FILEBROWSER_POPUPREMOVE;Elimina -FILEBROWSER_POPUPREMOVEINCLPROC;Elimina insieme a quanto sviluppato nella coda FILEBROWSER_POPUPRENAME;Rinomina FILEBROWSER_POPUPSELECTALL;Seleziona tutto FILEBROWSER_POPUPTRASH;Sposta nel cestino @@ -1270,10 +1266,14 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords. !FILEBROWSER_CACHECLEARFROMFULL;Clear all including cached profiles !FILEBROWSER_CACHECLEARFROMPARTIAL;Clear all except cached profiles -!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash? -!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash? +!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files? +!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version? +!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_POPUPREMOVE;Delete permanently +!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version !FILEBROWSER_RESETDEFAULTPROFILE;Reset to default -!FILEBROWSER_SHOWNOTTRASHHINT;Show only non-deleted images. +!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash. !FILEBROWSER_SHOWORIGINALHINT;Show only original images.\n\nWhen several images exist with the same filename but different extensions, the one considered original is the one whose extension is nearest the top of the parsed extensions list in Preferences > File Browser > Parsed Extensions. !FILECHOOSER_FILTER_ANY;All files !FILECHOOSER_FILTER_COLPROF;Color profiles (*.icc) diff --git a/rtdata/languages/Japanese b/rtdata/languages/Japanese index 0ab793099..2cec023e5 100644 --- a/rtdata/languages/Japanese +++ b/rtdata/languages/Japanese @@ -153,8 +153,6 @@ FILEBROWSER_COPYPROFILE;プロファイルをコピー FILEBROWSER_CURRENT_NAME;現在の名前: FILEBROWSER_DARKFRAME;ダークフレーム FILEBROWSER_DELETEDIALOG_HEADER;ファイル削除確認 -FILEBROWSER_DELETEDIALOG_SELECTED;選択済みのファイル %1 を削除してもいいですか? -FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;バッチ処理に組み込まれている選択済みのファイル %1 を削除してもいいですか? FILEBROWSER_EMPTYTRASH;ゴミ箱を空にする FILEBROWSER_EXTPROGMENU;..で開く FILEBROWSER_FLATFIELD;フラットフィールド @@ -189,8 +187,6 @@ FILEBROWSER_POPUPRANK2;ランク 2 ** FILEBROWSER_POPUPRANK3;ランク 3 *** FILEBROWSER_POPUPRANK4;ランク 4 **** FILEBROWSER_POPUPRANK5;ランク 5 ***** -FILEBROWSER_POPUPREMOVE;ファイルシステムから削除 -FILEBROWSER_POPUPREMOVEINCLPROC;ファイルシステムとバッチの結果から削除 FILEBROWSER_POPUPRENAME;名前変更 FILEBROWSER_POPUPSELECTALL;全選択 FILEBROWSER_POPUPTRASH;ゴミ箱へ移動 @@ -217,7 +213,6 @@ FILEBROWSER_SHOWDIRHINT;全ての絞り込みをクリア\nショートカット FILEBROWSER_SHOWEDITEDHINT;編集済み画像を表示\nショートカット: 7 FILEBROWSER_SHOWEDITEDNOTHINT;未編集画像を表示\nショートカット: 6 FILEBROWSER_SHOWEXIFINFO;EXIF情報を表示\nショートカット: i\n\nシングル・エディタ・タブのショートカット: Alt-i -FILEBROWSER_SHOWNOTTRASHHINT;削除されていない画像だけ表示 FILEBROWSER_SHOWORIGINALHINT;元画像だけを表示\n\nファイル名は同じだが拡張子が異なる画像がある場合は、環境設定の中のファイルブラウザタブにある拡張子リストの上位に位置する拡張子を持った画像を元画像とする。 FILEBROWSER_SHOWRANK1HINT;1つ星ランクを表示\nショートカット: 1 FILEBROWSER_SHOWRANK2HINT;2つ星ランクを表示\nショートカット: 2 @@ -2310,7 +2305,12 @@ ZOOMPANEL_ZOOMOUT;ズームアウト\nショートカット: - ! Untranslated keys follow; remove the ! prefix after an entry is translated. !!!!!!!!!!!!!!!!!!!!!!!!! -!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash? -!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash? +!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files? +!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version? +!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_POPUPREMOVE;Delete permanently +!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version +!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash. !PREFERENCES_APPEARANCE_PSEUDOHIDPI;Pseudo-HiDPI mode !QUEUE_LOCATION_TITLE;Output Location diff --git a/rtdata/languages/Magyar b/rtdata/languages/Magyar index c3272133a..20b87789d 100644 --- a/rtdata/languages/Magyar +++ b/rtdata/languages/Magyar @@ -82,8 +82,6 @@ FILEBROWSER_COPYPROFILE;Feldolgozási paraméterek másolása FILEBROWSER_CURRENT_NAME;Aktuális név: FILEBROWSER_DARKFRAME;Referencia feketekép (dark frame) FILEBROWSER_DELETEDIALOG_HEADER;Állománytörlés megerősítése -FILEBROWSER_DELETEDIALOG_SELECTED;Biztosan törölni kívánja a kijelölt %1 képet? -FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Biztos vagy benne, hogy törölni szeredné a kiválasztott %1 állományt, beleértve a feldolgozási sorba helyezett változatát IS? FILEBROWSER_EMPTYTRASH;Kuka ürítése FILEBROWSER_FLATFIELD;Flat Field FILEBROWSER_MOVETODARKFDIR;Mozgatás a 'dark frame' könyvtárba @@ -103,8 +101,6 @@ FILEBROWSER_POPUPOPENINEDITOR;Open in Szerkesztő FILEBROWSER_POPUPPROCESS;Feldolgozási sorba helyezés FILEBROWSER_POPUPPROCESSFAST;Feldolgozási sorba helyez (expressz export) FILEBROWSER_POPUPPROFILEOPERATIONS;Profilműveletek -FILEBROWSER_POPUPREMOVE;Törlés (végleges) -FILEBROWSER_POPUPREMOVEINCLPROC;Törlés (feldolgozási sorból is) FILEBROWSER_POPUPRENAME;Átnevezés FILEBROWSER_POPUPSELECTALL;Mindent kijelöl FILEBROWSER_POPUPTRASH;Kukába dobás @@ -870,8 +866,10 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !FILEBROWSER_CACHECLEARFROMFULL;Clear all including cached profiles !FILEBROWSER_CACHECLEARFROMPARTIAL;Clear all except cached profiles !FILEBROWSER_COLORLABEL_TOOLTIP;Color label.\n\nUse dropdown menu or shortcuts:\nShift-Ctrl-0 No Color\nShift-Ctrl-1 Red\nShift-Ctrl-2 Yellow\nShift-Ctrl-3 Green\nShift-Ctrl-4 Blue\nShift-Ctrl-5 Purple -!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash? -!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash? +!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files? +!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version? +!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. !FILEBROWSER_EXTPROGMENU;Open with !FILEBROWSER_OPENDEFAULTVIEWER;Windows default viewer (queue-processed) !FILEBROWSER_POPUPCOLORLABEL0;Label: None @@ -887,13 +885,15 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !FILEBROWSER_POPUPRANK3;Rank 3 *** !FILEBROWSER_POPUPRANK4;Rank 4 **** !FILEBROWSER_POPUPRANK5;Rank 5 ***** +!FILEBROWSER_POPUPREMOVE;Delete permanently +!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version !FILEBROWSER_RANK1_TOOLTIP;Rank 1 *\nShortcut: Shift-1 !FILEBROWSER_RANK2_TOOLTIP;Rank 2 *\nShortcut: Shift-2 !FILEBROWSER_RANK3_TOOLTIP;Rank 3 *\nShortcut: Shift-3 !FILEBROWSER_RANK4_TOOLTIP;Rank 4 *\nShortcut: Shift-4 !FILEBROWSER_RANK5_TOOLTIP;Rank 5 *\nShortcut: Shift-5 !FILEBROWSER_RESETDEFAULTPROFILE;Reset to default -!FILEBROWSER_SHOWNOTTRASHHINT;Show only non-deleted images. +!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash. !FILEBROWSER_SHOWORIGINALHINT;Show only original images.\n\nWhen several images exist with the same filename but different extensions, the one considered original is the one whose extension is nearest the top of the parsed extensions list in Preferences > File Browser > Parsed Extensions. !FILEBROWSER_UNRANK_TOOLTIP;Unrank.\nShortcut: Shift-0 !FILECHOOSER_FILTER_ANY;All files @@ -1659,7 +1659,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !TP_COLORAPP_SURROUND_DARK;Dark !TP_COLORAPP_SURROUND_DIM;Dim !TP_COLORAPP_SURROUND_EXDARK;Extremly Dark (Cutsheet) -!TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slighty dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark. +!TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slightly dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark. !TP_COLORAPP_TCMODE_BRIGHTNESS;Brightness !TP_COLORAPP_TCMODE_CHROMA;Chroma !TP_COLORAPP_TCMODE_COLORF;Colorfulness diff --git a/rtdata/languages/Nederlands b/rtdata/languages/Nederlands index 179ba9b3f..04a270d49 100644 --- a/rtdata/languages/Nederlands +++ b/rtdata/languages/Nederlands @@ -123,8 +123,6 @@ FILEBROWSER_COPYPROFILE;Kopieer profiel FILEBROWSER_CURRENT_NAME;Huidige naam: FILEBROWSER_DARKFRAME;Donkerframe FILEBROWSER_DELETEDIALOG_HEADER;Bevestiging bestand verwijderen -FILEBROWSER_DELETEDIALOG_SELECTED;Weet u zeker dat u de geselecteerde %1 bestanden wilt verwijderen? -FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Weet u zeker dat u de %1 geselecteerde bestanden wilt verwijderen *inclusief* de versies van de verwerkingsrij? FILEBROWSER_EMPTYTRASH;Leeg prullenbak FILEBROWSER_EXTPROGMENU;Open met FILEBROWSER_FLATFIELD;Vlakveld @@ -159,8 +157,6 @@ FILEBROWSER_POPUPRANK2;Waardering 2 ** FILEBROWSER_POPUPRANK3;Waardering 3 *** FILEBROWSER_POPUPRANK4;Waardering 4 **** FILEBROWSER_POPUPRANK5;Waardering 5 ***** -FILEBROWSER_POPUPREMOVE;Verwijder van bestandssysteem -FILEBROWSER_POPUPREMOVEINCLPROC;Verwijder (met bestand in verwerkingsrij) FILEBROWSER_POPUPRENAME;Hernoem FILEBROWSER_POPUPSELECTALL;Alles selecteren FILEBROWSER_POPUPTRASH;Verplaats naar prullenbak @@ -187,7 +183,6 @@ FILEBROWSER_SHOWDIRHINT;Verwijder alle filters.\nSneltoets: d FILEBROWSER_SHOWEDITEDHINT;Toon bewerkte foto's\nSneltoets: 7 FILEBROWSER_SHOWEDITEDNOTHINT;Toon niet-bewerkte foto's\nSneltoets: 6 FILEBROWSER_SHOWEXIFINFO;Toon EXIF-info -FILEBROWSER_SHOWNOTTRASHHINT;Toon alleen niet-verwijderde foto's. FILEBROWSER_SHOWORIGINALHINT;Toon alleen originele afbeelding.\n\nAls er meerdere afbeeldingen zijn met dezelfde naam maar verschillende extensies, dan wordt de afbeelding waarvan de extensie het hoogst staat in de lijst met extensies in Voorkeuren > Bestandsnavigator > Extensies FILEBROWSER_SHOWRANK1HINT;Toon foto's met 1 ster.\nSneltoets: 1 FILEBROWSER_SHOWRANK2HINT;Toon foto's met 2 sterren.\nSneltoets: 2 @@ -1979,8 +1974,13 @@ ZOOMPANEL_ZOOMOUT;Zoom uit\nSneltoets: - !FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords. !FILEBROWSER_CACHECLEARFROMFULL;Clear all including cached profiles !FILEBROWSER_CACHECLEARFROMPARTIAL;Clear all except cached profiles -!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash? -!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash? +!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files? +!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version? +!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_POPUPREMOVE;Delete permanently +!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version +!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash. !GENERAL_CURRENT;Current !GENERAL_RESET;Reset !GENERAL_SAVE_AS;Save as... diff --git a/rtdata/languages/Polish b/rtdata/languages/Polish index daca63dd6..ad3dc62ee 100644 --- a/rtdata/languages/Polish +++ b/rtdata/languages/Polish @@ -96,8 +96,6 @@ FILEBROWSER_COPYPROFILE;Kopiuj profil FILEBROWSER_CURRENT_NAME;Obecna nazwa: FILEBROWSER_DARKFRAME;Czarna klatka FILEBROWSER_DELETEDIALOG_HEADER;Potwierdzenie usunięcia pliku -FILEBROWSER_DELETEDIALOG_SELECTED;Na pewno usunąć zaznaczone %1 plików? -FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Na pewno usunąć wybrany plik %1 WŁĄCZNIE z wersją utworzoną przez kolejkę przetwarzania? FILEBROWSER_EMPTYTRASH;Wyczyść kosz FILEBROWSER_EXTPROGMENU;Otwórz za pomocą FILEBROWSER_FLATFIELD;Puste pole @@ -132,8 +130,6 @@ FILEBROWSER_POPUPRANK2;Ocena 2 ** FILEBROWSER_POPUPRANK3;Ocena 3 *** FILEBROWSER_POPUPRANK4;Ocena 4 **** FILEBROWSER_POPUPRANK5;Ocena 5 ***** -FILEBROWSER_POPUPREMOVE;Usuń z dysku -FILEBROWSER_POPUPREMOVEINCLPROC;Usuń z dysku wraz z wynikiem przetwarzania FILEBROWSER_POPUPRENAME;Zmień nazwę FILEBROWSER_POPUPSELECTALL;Zaznacz wszystkie FILEBROWSER_POPUPTRASH;Przenieś do kosza @@ -1392,10 +1388,14 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: - !FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords. !FILEBROWSER_CACHECLEARFROMFULL;Clear all including cached profiles !FILEBROWSER_CACHECLEARFROMPARTIAL;Clear all except cached profiles -!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash? -!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash? +!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files? +!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version? +!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_POPUPREMOVE;Delete permanently +!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version !FILEBROWSER_RESETDEFAULTPROFILE;Reset to default -!FILEBROWSER_SHOWNOTTRASHHINT;Show only non-deleted images. +!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash. !FILEBROWSER_SHOWORIGINALHINT;Show only original images.\n\nWhen several images exist with the same filename but different extensions, the one considered original is the one whose extension is nearest the top of the parsed extensions list in Preferences > File Browser > Parsed Extensions. !FILECHOOSER_FILTER_ANY;All files !FILECHOOSER_FILTER_COLPROF;Color profiles (*.icc) diff --git a/rtdata/languages/Portugues b/rtdata/languages/Portugues index b59f4ffe0..7e5713093 100644 --- a/rtdata/languages/Portugues +++ b/rtdata/languages/Portugues @@ -120,8 +120,6 @@ FILEBROWSER_COPYPROFILE;Copiar FILEBROWSER_CURRENT_NAME;Nome atual: FILEBROWSER_DARKFRAME;Fotograma escuro FILEBROWSER_DELETEDIALOG_HEADER;Confirmação de eliminação de ficheiro -FILEBROWSER_DELETEDIALOG_SELECTED;Tem a certeza que quer eliminar os %1 ficheiros selecionados? -FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Tem a certeza que quer eliminar os %1 ficheiros selecionados incluindo uma versão processada na fila? FILEBROWSER_EMPTYTRASH;Esvaziar o caixote do lixo FILEBROWSER_EXTPROGMENU;Abrir com FILEBROWSER_FLATFIELD;Campo plano @@ -156,8 +154,6 @@ FILEBROWSER_POPUPRANK2;Classificação 2 estrelas FILEBROWSER_POPUPRANK3;Classificação 3 estrelas FILEBROWSER_POPUPRANK4;Classificação 4 estrelas FILEBROWSER_POPUPRANK5;Classificação 5 estrelas -FILEBROWSER_POPUPREMOVE;Eliminar -FILEBROWSER_POPUPREMOVEINCLPROC;Eliminar com saída da fila FILEBROWSER_POPUPRENAME;Renomear FILEBROWSER_POPUPSELECTALL;Selecionar tudo FILEBROWSER_POPUPTRASH;Mover para o caixote do lixo @@ -184,7 +180,6 @@ FILEBROWSER_SHOWDIRHINT;Limpar todos os filtros.\nAtalho: d FILEBROWSER_SHOWEDITEDHINT;Mostrar imagens editadas.\nAtalho: 7 FILEBROWSER_SHOWEDITEDNOTHINT;Mostrar imagens não editadas.\nAtalho: 6 FILEBROWSER_SHOWEXIFINFO;Mostrar informações Exif.\n\nAtalhos:\ni - Modo de editor em várias abas,\nAlt-i - Modo de editor numa só aba. -FILEBROWSER_SHOWNOTTRASHHINT;Mostrar apenas imagens não eliminadas. FILEBROWSER_SHOWORIGINALHINT;Mostrar apenas imagens originais.\n\nQuando existem várias imagens com o mesmo nome de ficheiro mas com extensões diferentes, a única considerada original é aquela cuja extensão está mais próxima da parte superior da lista de extensões analisadas em Preferências > Navegador de ficheiros > Extensões analisadas. FILEBROWSER_SHOWRANK1HINT;Mostrar imagens classificadas com 1 estrela.\nAtalho: 1 FILEBROWSER_SHOWRANK2HINT;Mostrar imagens classificadas com 2 estrelas.\nAtalho: 2 @@ -2262,8 +2257,13 @@ ZOOMPANEL_ZOOMOUT;Afastar\nAtalho: - !!!!!!!!!!!!!!!!!!!!!!!!! !FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords. -!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash? -!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash? +!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files? +!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version? +!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_POPUPREMOVE;Delete permanently +!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version +!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash. !MAIN_FRAME_PLACES_DEL;Remove !PREFERENCES_APPEARANCE_PSEUDOHIDPI;Pseudo-HiDPI mode !PROGRESSBAR_DECODING;Decoding... diff --git a/rtdata/languages/Portugues (Brasil) b/rtdata/languages/Portugues (Brasil) index 0a9f4fe89..eb9bfe56f 100644 --- a/rtdata/languages/Portugues (Brasil) +++ b/rtdata/languages/Portugues (Brasil) @@ -120,8 +120,6 @@ FILEBROWSER_COPYPROFILE;Copiar perfil FILEBROWSER_CURRENT_NAME;Nome atual: FILEBROWSER_DARKFRAME;Quadro escuro FILEBROWSER_DELETEDIALOG_HEADER;Confirmação de exclusão de arquivo -FILEBROWSER_DELETEDIALOG_SELECTED;Tens certeza de que desejas excluir os %1 arquivos selecionados? -FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Tens certeza de que desejas excluir os %1 arquivos selecionados incluindo uma versão processada em fila? FILEBROWSER_EMPTYTRASH;Esvaziar lixeira FILEBROWSER_EXTPROGMENU;Abrir com FILEBROWSER_FLATFIELD;Flat-Field @@ -156,8 +154,6 @@ FILEBROWSER_POPUPRANK2;Classificação 2 ** FILEBROWSER_POPUPRANK3;Classificação 3 *** FILEBROWSER_POPUPRANK4;Classificação 4 **** FILEBROWSER_POPUPRANK5;Classificação 5 ***** -FILEBROWSER_POPUPREMOVE;Excluir -FILEBROWSER_POPUPREMOVEINCLPROC;Excluir com saída da fila FILEBROWSER_POPUPRENAME;Renomear FILEBROWSER_POPUPSELECTALL;Selecionar tudo FILEBROWSER_POPUPTRASH;Mover para a lixeira @@ -184,7 +180,6 @@ FILEBROWSER_SHOWDIRHINT;Limpar todos os filtros.\nAtalho: d FILEBROWSER_SHOWEDITEDHINT;Mostrar imagens editadas.\nAtalho: 7 FILEBROWSER_SHOWEDITEDNOTHINT;Mostrar imagens não editadas.\nAtalho: 6 FILEBROWSER_SHOWEXIFINFO;Mostrar informações Exif.\n\nAtalhos:\ni - Modo de Guias de Editores Múltiplos,\nAlt-i - Modo de Guia de Editor Único. -FILEBROWSER_SHOWNOTTRASHHINT;Mostre somente imagens não excluídas. FILEBROWSER_SHOWORIGINALHINT;Mostre somente imagens originais.\n\nQuando existem várias imagens com o mesmo nome de arquivo, mas extensões diferentes, a única considerada original é aquela cuja extensão está mais próxima da parte superior da lista de extensões analisadas em Preferências > Navegador de Arquivos > Extensões Analisadas. FILEBROWSER_SHOWRANK1HINT;Mostrar imagens classificadas com 1 estrela.\nAtalho: 1 FILEBROWSER_SHOWRANK2HINT;Mostrar imagens classificadas com 2 estrelas.\nAtalho: 2 @@ -2254,8 +2249,13 @@ ZOOMPANEL_ZOOMOUT;Menos Zoom\nAtalho: - !!!!!!!!!!!!!!!!!!!!!!!!! !FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords. -!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash? -!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash? +!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files? +!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version? +!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_POPUPREMOVE;Delete permanently +!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version +!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash. !HISTORY_MSG_COLORTONING_LABREGION_OFFSET;CT - region offset !HISTORY_MSG_COLORTONING_LABREGION_POWER;CT - region power !HISTORY_MSG_FILMNEGATIVE_ENABLED;Film Negative diff --git a/rtdata/languages/Russian b/rtdata/languages/Russian index dd4c501d7..653f41dce 100644 --- a/rtdata/languages/Russian +++ b/rtdata/languages/Russian @@ -113,8 +113,6 @@ FILEBROWSER_COPYPROFILE;Скопировать профиль FILEBROWSER_CURRENT_NAME;Текущее имя: FILEBROWSER_DARKFRAME;Темновой кадр FILEBROWSER_DELETEDIALOG_HEADER;Подтверждение удаления файла -FILEBROWSER_DELETEDIALOG_SELECTED;Вы уверены, что хотите удалить %1 выбранный(ых) файл(ов)? -FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Вы уверены, что хотите удалить %1 выделенных файлов, включая обработанные версии? FILEBROWSER_EMPTYTRASH;Очистить корзину FILEBROWSER_EXTPROGMENU;Открыть с помощью FILEBROWSER_FLATFIELD;Плоское поле @@ -149,8 +147,6 @@ FILEBROWSER_POPUPRANK2;Рейтинг 2 ** FILEBROWSER_POPUPRANK3;Рейтинг 3 *** FILEBROWSER_POPUPRANK4;Рейтинг 4 **** FILEBROWSER_POPUPRANK5;Рейтинг 5 ***** -FILEBROWSER_POPUPREMOVE;Удалить с диска -FILEBROWSER_POPUPREMOVEINCLPROC;Удалить с диска и пакетной обработки FILEBROWSER_POPUPRENAME;Переименовать FILEBROWSER_POPUPSELECTALL;Выбрать все FILEBROWSER_POPUPTRASH;Удалить в корзину @@ -177,7 +173,6 @@ FILEBROWSER_SHOWDIRHINT;Сбросить все фильтры.\nГорячая FILEBROWSER_SHOWEDITEDHINT;Показать измененные изображения.\nГорячая клавиша: 7 FILEBROWSER_SHOWEDITEDNOTHINT;Показать не измененные изображения.\nГорячая клавиша: 6 FILEBROWSER_SHOWEXIFINFO;Показать информацию EXIF.\nГорячая клавиша: i\n\nГорячая клавиша в режиме Одиночного редактора: Alt-I -FILEBROWSER_SHOWNOTTRASHHINT;Показать только неудалённые изображения. FILEBROWSER_SHOWRANK1HINT;Показать изображения с рейтингом 1.\nГорячая клавиша: 1 FILEBROWSER_SHOWRANK2HINT;Показать изображения с рейтингом 2.\nГорячая клавиша: 2 FILEBROWSER_SHOWRANK3HINT;Показать изображения с рейтингом 3.\nГорячая клавиша: 3 @@ -1470,8 +1465,13 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords. !FILEBROWSER_CACHECLEARFROMFULL;Clear all including cached profiles !FILEBROWSER_CACHECLEARFROMPARTIAL;Clear all except cached profiles -!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash? -!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash? +!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files? +!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version? +!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_POPUPREMOVE;Delete permanently +!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version +!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash. !FILEBROWSER_SHOWORIGINALHINT;Show only original images.\n\nWhen several images exist with the same filename but different extensions, the one considered original is the one whose extension is nearest the top of the parsed extensions list in Preferences > File Browser > Parsed Extensions. !FILECHOOSER_FILTER_PP;Processing profiles !FILECHOOSER_FILTER_SAME;Same format as current photo @@ -1874,7 +1874,7 @@ ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: - !TP_COLORAPP_SURROUND_DARK;Dark !TP_COLORAPP_SURROUND_DIM;Dim !TP_COLORAPP_SURROUND_EXDARK;Extremly Dark (Cutsheet) -!TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slighty dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark. +!TP_COLORAPP_SURROUND_TOOLTIP;Changes tones and colors to take into account the viewing conditions of the output device.\n\nAverage: Average light environment (standard). The image will not change.\n\nDim: Dim environment (TV). The image will become slightly dark.\n\nDark: Dark environment (projector). The image will become more dark.\n\nExtremly Dark: Extremly dark environment (cutsheet). The image will become very dark. !TP_COLORAPP_TCMODE_BRIGHTNESS;Brightness !TP_COLORAPP_TCMODE_CHROMA;Chroma !TP_COLORAPP_TCMODE_COLORF;Colorfulness diff --git a/rtdata/languages/Serbian (Cyrilic Characters) b/rtdata/languages/Serbian (Cyrilic Characters) index 966213d1d..f26e03350 100644 --- a/rtdata/languages/Serbian (Cyrilic Characters) +++ b/rtdata/languages/Serbian (Cyrilic Characters) @@ -85,8 +85,6 @@ FILEBROWSER_COPYPROFILE;Умножи профил FILEBROWSER_CURRENT_NAME;Тренутно име: FILEBROWSER_DARKFRAME;Тамни кадар FILEBROWSER_DELETEDIALOG_HEADER;Брисање датотеке -FILEBROWSER_DELETEDIALOG_SELECTED;Да ли сигурно желите да обришете %1 датотека? -FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Да ли желите да обришете %1 изабраних датотека, укључујући и оне које су заказане? FILEBROWSER_EMPTYTRASH;Избаци смеће FILEBROWSER_EXTPROGMENU;Отвори помоћу FILEBROWSER_FLATFIELD;Равно поље @@ -108,8 +106,6 @@ FILEBROWSER_POPUPPROCESS;Закажи за обраду FILEBROWSER_POPUPPROCESSFAST;Додај у заказано (брзи извоз) FILEBROWSER_POPUPPROFILEOPERATIONS;Профил FILEBROWSER_POPUPRANK;Оцена -FILEBROWSER_POPUPREMOVE;Уклони из система датотека -FILEBROWSER_POPUPREMOVEINCLPROC;Уклони из система датотека и заказаног FILEBROWSER_POPUPRENAME;Преименуј FILEBROWSER_POPUPSELECTALL;Изабери све FILEBROWSER_POPUPTRASH;Премести у смеће @@ -1229,8 +1225,10 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords. !FILEBROWSER_CACHECLEARFROMFULL;Clear all including cached profiles !FILEBROWSER_CACHECLEARFROMPARTIAL;Clear all except cached profiles -!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash? -!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash? +!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files? +!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version? +!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. !FILEBROWSER_POPUPCOLORLABEL0;Label: None !FILEBROWSER_POPUPCOLORLABEL1;Label: Red !FILEBROWSER_POPUPCOLORLABEL2;Label: Yellow @@ -1244,8 +1242,10 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !FILEBROWSER_POPUPRANK3;Rank 3 *** !FILEBROWSER_POPUPRANK4;Rank 4 **** !FILEBROWSER_POPUPRANK5;Rank 5 ***** +!FILEBROWSER_POPUPREMOVE;Delete permanently +!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version !FILEBROWSER_RESETDEFAULTPROFILE;Reset to default -!FILEBROWSER_SHOWNOTTRASHHINT;Show only non-deleted images. +!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash. !FILEBROWSER_SHOWORIGINALHINT;Show only original images.\n\nWhen several images exist with the same filename but different extensions, the one considered original is the one whose extension is nearest the top of the parsed extensions list in Preferences > File Browser > Parsed Extensions. !FILECHOOSER_FILTER_ANY;All files !FILECHOOSER_FILTER_COLPROF;Color profiles (*.icc) diff --git a/rtdata/languages/Swedish b/rtdata/languages/Swedish index 4fb3e301b..22c1710b5 100644 --- a/rtdata/languages/Swedish +++ b/rtdata/languages/Swedish @@ -94,8 +94,6 @@ FILEBROWSER_COPYPROFILE;Kopiera profil FILEBROWSER_CURRENT_NAME;Nuvarande namn: FILEBROWSER_DARKFRAME;Svartbild FILEBROWSER_DELETEDIALOG_HEADER;Bekräftelse vid borttag -FILEBROWSER_DELETEDIALOG_SELECTED;Är du säker på att du vill ta bort de valda %1 filerna? -FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Är du säker på att du vill ta bort de valda filerna %1 OCH den behandlade versionen? FILEBROWSER_EMPTYTRASH;Töm papperskorgen FILEBROWSER_EXTPROGMENU;Öppna med FILEBROWSER_FLATFIELD;Plattfält @@ -130,8 +128,6 @@ FILEBROWSER_POPUPRANK2;Betyg 2 ** FILEBROWSER_POPUPRANK3;Betyg 3 *** FILEBROWSER_POPUPRANK4;Betyg 4 **** FILEBROWSER_POPUPRANK5;Betyg 5 ***** -FILEBROWSER_POPUPREMOVE;Ta bort från filsystemet -FILEBROWSER_POPUPREMOVEINCLPROC;Ta bort från filsystemet inkl. den behandlade FILEBROWSER_POPUPRENAME;Byt namn FILEBROWSER_POPUPSELECTALL;Markera allt FILEBROWSER_POPUPTRASH;Flytta till papperskorgen @@ -157,7 +153,6 @@ FILEBROWSER_SHOWDIRHINT;Återställ alla sökfilter.\nKortkommando: d FILEBROWSER_SHOWEDITEDHINT;Visa redigerade bilder.\nKortkommando: 7 FILEBROWSER_SHOWEDITEDNOTHINT;Visa ickeredigerade bilder.\nKortkommando: 6 FILEBROWSER_SHOWEXIFINFO;Visa EXIF-information.\nKortkommando: i\n\nKortkommando i enkelbildsläget: Alt-i -FILEBROWSER_SHOWNOTTRASHHINT;Visa endast ej borttagna bilder. FILEBROWSER_SHOWORIGINALHINT;Visa endast ursprungliga bilder.\n\nNär flera bilder finns med samma filnamn men med olika filändelser så anses den bild vara urpsrungsbilden som har sin ändelse närmst toppen i listan över filändelser i Inställningar > Filbläddrare > Hanterade filändelser FILEBROWSER_SHOWRANK1HINT;Visa bilder med betyg 1.\nKortkommando: 1 FILEBROWSER_SHOWRANK2HINT;Visa bilder med betyg 2.\nKortkommando: 2 @@ -1768,9 +1763,14 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: - !FILEBROWSER_BROWSEPATHBUTTONHINT;Click to open specified path, reload folder and apply "find" keywords. !FILEBROWSER_CACHECLEARFROMFULL;Clear all including cached profiles !FILEBROWSER_CACHECLEARFROMPARTIAL;Clear all except cached profiles -!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash? -!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash? +!FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files? +!FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version? +!FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +!FILEBROWSER_POPUPREMOVE;Delete permanently +!FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version !FILEBROWSER_RESETDEFAULTPROFILE;Reset to default +!FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash. !GENERAL_CURRENT;Current !GENERAL_RESET;Reset !GENERAL_SAVE_AS;Save as... diff --git a/rtdata/languages/default b/rtdata/languages/default index d5e3b13fa..ab85f16e6 100644 --- a/rtdata/languages/default +++ b/rtdata/languages/default @@ -121,12 +121,12 @@ FILEBROWSER_COLORLABEL_TOOLTIP;Color label.\n\nUse dropdown menu or shortcuts:\n FILEBROWSER_COPYPROFILE;Copy FILEBROWSER_CURRENT_NAME;Current name: FILEBROWSER_DARKFRAME;Dark-frame -FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to delete all %1 files in trash? +FILEBROWSER_DELETEDIALOG_ALL;Are you sure you want to permanently delete all %1 files in trash? FILEBROWSER_DELETEDIALOG_HEADER;File delete confirmation: -FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to delete the selected %1 files? -FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to delete the selected %1 files including a queue-processed version? +FILEBROWSER_DELETEDIALOG_SELECTED;Are you sure you want to permanently delete the selected %1 files? +FILEBROWSER_DELETEDIALOG_SELECTEDINCLPROC;Are you sure you want to permanently delete the selected %1 files, including a queue-processed version? FILEBROWSER_EMPTYTRASH;Empty trash -FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. +FILEBROWSER_EMPTYTRASHHINT;Permanently delete all files in trash. FILEBROWSER_EXTPROGMENU;Open with FILEBROWSER_FLATFIELD;Flat-Field FILEBROWSER_MOVETODARKFDIR;Move to dark-frames directory @@ -160,8 +160,8 @@ FILEBROWSER_POPUPRANK2;Rank 2 ** FILEBROWSER_POPUPRANK3;Rank 3 *** FILEBROWSER_POPUPRANK4;Rank 4 **** FILEBROWSER_POPUPRANK5;Rank 5 ***** -FILEBROWSER_POPUPREMOVE;Delete -FILEBROWSER_POPUPREMOVEINCLPROC;Delete with output from queue +FILEBROWSER_POPUPREMOVE;Delete permanently +FILEBROWSER_POPUPREMOVEINCLPROC;Delete permanently, including queue-processed version FILEBROWSER_POPUPRENAME;Rename FILEBROWSER_POPUPSELECTALL;Select all FILEBROWSER_POPUPTRASH;Move to trash @@ -188,7 +188,7 @@ FILEBROWSER_SHOWDIRHINT;Clear all filters.\nShortcut: d FILEBROWSER_SHOWEDITEDHINT;Show edited images.\nShortcut: 7 FILEBROWSER_SHOWEDITEDNOTHINT;Show not edited images.\nShortcut: 6 FILEBROWSER_SHOWEXIFINFO;Show Exif info.\n\nShortcuts:\ni - Multiple Editor Tabs Mode,\nAlt-i - Single Editor Tab Mode. -FILEBROWSER_SHOWNOTTRASHHINT;Show only non-deleted images. +FILEBROWSER_SHOWNOTTRASHHINT;Show only images not in trash. FILEBROWSER_SHOWORIGINALHINT;Show only original images.\n\nWhen several images exist with the same filename but different extensions, the one considered original is the one whose extension is nearest the top of the parsed extensions list in Preferences > File Browser > Parsed Extensions. FILEBROWSER_SHOWRANK1HINT;Show images ranked as 1-star.\nShortcut: 1 FILEBROWSER_SHOWRANK2HINT;Show images ranked as 2-star.\nShortcut: 2 diff --git a/rtengine/LUT.h b/rtengine/LUT.h index 9f16995d0..6584eefe6 100644 --- a/rtengine/LUT.h +++ b/rtengine/LUT.h @@ -563,7 +563,7 @@ public: } } - // compress a LUT with size y into a LUT with size x (y>x) by using the passTrough LUT to calculate indexes + // compress a LUT with size y into a LUT with size x (y>x) by using the passThrough LUT to calculate indexes template::value>::type> void compressTo(LUT &dest, unsigned int numVals, const LUT &passThrough) const { diff --git a/rtengine/badpixels.cc b/rtengine/badpixels.cc index 895294cae..376e58b3b 100644 --- a/rtengine/badpixels.cc +++ b/rtengine/badpixels.cc @@ -168,8 +168,11 @@ int RawImageSource::interpolateBadPixelsNColours(const PixelsMap &bitmapBads, co continue; } - float wtdsum[colors] = {}; - float norm[colors] = {}; + float wtdsum[colors]; + float norm[colors]; + for (int c = 0; c < colors; ++c) { + wtdsum[c] = norm[c] = 0.f; + } // diagonal interpolation for (int dx = -1; dx <= 1; dx += 2) { @@ -210,7 +213,10 @@ int RawImageSource::interpolateBadPixelsNColours(const PixelsMap &bitmapBads, co counter++; } else { //backup plan -- simple average. Same method for all channels. We could improve this, but it's really unlikely that this case happens int tot = 0; - float sum[colors] = {}; + float sum[colors]; + for (int c = 0; c < colors; ++c) { + sum[c] = 0.f; + } for (int dy = -2; dy <= 2; dy += 2) { for (int dx = -2; dx <= 2; dx += 2) { diff --git a/rtengine/camconst.json b/rtengine/camconst.json index 9e6ec49b6..97a14f66e 100644 --- a/rtengine/camconst.json +++ b/rtengine/camconst.json @@ -1290,6 +1290,11 @@ Camera constants: "ranges": { "white": 16100 } }, + { // Quality C + "make_model": "FUJIFILM X-A5", + "ranges": { "white": 16100 } + }, + { // Quality B "make_model": "FUJIFILM X-A10", "dcraw_matrix": [ 11540,-4999,-991,-2949,10963,2278,-382,1049,5605 ], // DNGv9.12 D65 @@ -1305,6 +1310,11 @@ Camera constants: "ranges": { "white": 16100 } }, + { // Quality C + "make_model": [ "FUJIFILM X-T100" ], + "ranges": { "white": 16100 } + }, + { // Quality B "make_model": "FUJIFILM X-E2S", "dcraw_matrix": [ 11562,-5118,-961,-3022,11007,2311,-525,1569,6097 ], // DNG_v9.4 D65 @@ -1327,7 +1337,7 @@ Camera constants: }, { // Quality C, only raw crop - "make_model": [ "FUJIFILM X-T3" ], + "make_model": [ "FUJIFILM X-T3", "FUJIFILM X-T30" ], "raw_crop": [ 0, 5, 6252, 4176] }, @@ -1662,6 +1672,11 @@ Camera constants: "ranges": { "white": 4080 } // nominal 4095-4094, spread with some settings as long exposure }, + { // Quality C, only raw crop for highres mode + "make_model": "OLYMPUS E-M1X", + "raw_crop": [ 0, 0, 10388, 0 ] // Highres mode largest valid, full 80Mp 10400X7792, works also for non highres mode because larger width will be ignored + }, + { // Quality B, crop correction "make_model": [ "OLYMPUS E-M10", "OLYMPUS E-M10MarkII", "OLYMPUS E-M10 Mark III" ], "dcraw_matrix": [ 8380,-2630,-639,-2887,10725,2496,-627,1427,5438 ], @@ -1677,6 +1692,11 @@ Camera constants: "ranges": { "white": 4040 } // nominal 4056 }, + { // Quality C + "make_model": [ "OLYMPUS E-PL9" ], + "ranges": { "white": 4080 } // nominal 4093 + }, + { // Quality B, with long exposure noise reduction White Level gets WL-BL = around 256_12-bit levels less "make_model": [ "OLYMPUS E-PL7", "OLYMPUS E-PL8" ], "global_green_equilibration" : true, @@ -2364,6 +2384,11 @@ Camera constants: "ranges": { "black": 512, "white": 16300 } }, + { // Quality C, correction for frame width + "make_model": [ "Sony DSC-RX0", "Sony DSC-RX0M2" ], + "raw_crop": [ 0, 0, -8, 0 ] // 8 rightmost columns are garbage + }, + { // Quality B, correction for frame width, crop modes covered "make_model": [ "Sony ILCE-7RM2", "Sony DSC-RX1RM2" ], "dcraw_matrix": [ 6629,-1900,-483,-4618,12349,2550,-622,1381,6514 ], // DNG_v9.1.1 D65 @@ -2432,8 +2457,14 @@ Camera constants: }, { // Quality C + "make_model": [ "Sony DSC-HX99" ], + "raw_crop": [ 0, 0, -8, 0 ] // 8 rightmost columns are garbage + }, + + { // Quality B "make_model": [ "Sony DSC-R1" ], - "raw_crop": [ 0, 0, 3924, 2608 ] + "raw_crop": [ 0, 0, 3924, 2608 ], + "ranges": { "white": 16368 } }, { // Quality A diff --git a/rtengine/color.h b/rtengine/color.h index a94302e30..fb4eea458 100644 --- a/rtengine/color.h +++ b/rtengine/color.h @@ -102,7 +102,7 @@ private: static float computeXYZ2Lab(float f); static float computeXYZ2LabY(float f); - + public: typedef enum Channel { @@ -1094,7 +1094,7 @@ public: //very small differences between the 2 return x <= 0.003040 ? x * 12.92310 : 1.055 * exp(log(x) / sRGBGammaCurve) - 0.055;//continuous // return x <= 0.003041 ? x * 12.92310 : 1.055011 * exp(log(x) / sRGBGammaCurve) - 0.055011;//continuous - + } @@ -1111,7 +1111,7 @@ public: //very small differences between the 4 return x <= 0.039286 ? x / 12.92310 : exp(log((x + 0.055) / 1.055) * sRGBGammaCurve);//continuous // return x <= 0.039293 ? x / 12.92310 : exp(log((x + 0.055011) / 1.055011) * sRGBGammaCurve);//continuous - + } @@ -1509,8 +1509,8 @@ public: static const float C9 = 8.f, C8 = 15.f, C7 = 12.f, C4 = 7.f, C3 = 5.f, C2 = 5.f, C1 = 5.f; static const float H9 = 0.05f, H8 = 0.25f, H7 = 0.1f, H4 = 0.02f, H3 = 0.02f, H2 = 0.1f, H1 = 0.1f, H10 = -0.2f, H11 = -0.2f; - // "real" skin color : take into account a slightly usage of contrast and saturation in RT if option "skin" = 1, uses imolicit factor 1.0 - // wide area skin color, useful if not accurate colorimetry or if the user has changed hue and saturation, uses explicit facor 0.6 + // "real" skin color : take into account a slight usage of contrast and saturation in RT if option "skin" = 1, uses implicit factor 1.0 + // wide area skin color, useful if not accurate colorimetry or if the user has changed hue and saturation, uses explicit factor 0.6 // wide area for transition, uses explicit factor 0.4 if (lum >= 85.0f) { @@ -1588,8 +1588,8 @@ public: static const float C9 = 8.f, C8 = 15.f, C7 = 12.f, C4 = 7.f, C3 = 5.f, C2 = 5.f, C1 = 5.f; static const float H9 = 0.05f, H8 = 0.25f, H7 = 0.1f, H4 = 0.02f, H3 = 0.02f, H2 = 0.1f, H1 = 0.1f, H10 = -0.2f, H11 = -0.2f; - // "real" skin color : take into account a slightly usage of contrast and saturation in RT if option "skin" = 1, uses imolicit factor 1.0 - // wide area skin color, useful if not accurate colorimetry or if the user has changed hue and saturation, uses explicit facor 0.6 + // "real" skin color : take into account a slight usage of contrast and saturation in RT if option "skin" = 1, uses implicit factor 1.0 + // wide area skin color, useful if not accurate colorimetry or if the user has changed hue and saturation, uses explicit factor 0.6 // wide area for transition, uses explicit factor 0.4 if((b_l > -0.3f && b_r < 2.f) || basc == 0) { //range maxi skin if (lum >= 85.0f) { @@ -1704,8 +1704,8 @@ public: hue = HH; - // "real" skin color : take into account a slightly usage of contrast and saturation in RT if option "skin" = 1, uses imolicit factor 1.0 - // wide area skin color, useful if not accurate colorimetry or if the user has changed hue and saturation, uses explicit facor 0.6 + // "real" skin color : take into account a slight usage of contrast and saturation in RT if option "skin" = 1, uses implicit factor 1.0 + // wide area skin color, useful if not accurate colorimetry or if the user has changed hue and saturation, uses explicit factor 0.6 // wide area for transition, uses explicit factor 0.4 if (lum >= 85.0f) { diff --git a/rtengine/curves.cc b/rtengine/curves.cc index ecd38d4aa..f03a43e60 100644 --- a/rtengine/curves.cc +++ b/rtengine/curves.cc @@ -37,8 +37,6 @@ #include "ciecam02.h" #include "color.h" #include "iccstore.h" -#undef CLIPD -#define CLIPD(a) ((a)>0.0f?((a)<1.0f?(a):1.0f):0.0f) using namespace std; @@ -635,33 +633,37 @@ void CurveFactory::complexCurve (double ecomp, double black, double hlcompr, dou //%%%%%%%%%%%%%%%%%%%%%%%%%% // change to [0,1] range shCurve.setClip(LUT_CLIP_ABOVE); // used LUT_CLIP_ABOVE, because the curve converges to 1.0 at the upper end and we don't want to exceed this value. - float val = 1.f / 65535.f; - float val2 = simplebasecurve (val, black, 0.015 * shcompr); - shCurve[0] = CLIPD(val2) / val; + if (black == 0.0) { + shCurve.makeConstant(1.f); + } else { + const float val = 1.f / 65535.f; + shCurve[0] = simplebasecurve(val, black, 0.015 * shcompr) / val; + } // gamma correction - val = Color::gammatab_srgb[0] / 65535.f; + float val = Color::gammatab_srgb1[0]; // apply brightness curve if (brightcurve) { - val = brightcurve->getVal (val); // TODO: getVal(double) is very slow! Optimize with a LUTf + val = brightcurve->getVal(val); // TODO: getVal(double) is very slow! Optimize with a LUTf } // store result in a temporary array - dcurve[0] = CLIPD(val); + dcurve[0] = LIM01(val); for (int i = 1; i < 0x10000; i++) { - float val = i / 65535.f; - float val2 = simplebasecurve (val, black, 0.015 * shcompr); - shCurve[i] = val2 / val; + if (black != 0.0) { + const float val = i / 65535.f; + shCurve[i] = simplebasecurve(val, black, 0.015 * shcompr) / val; + } // gamma correction - val = Color::gammatab_srgb[i] / 65535.f; + float val = Color::gammatab_srgb1[i]; // apply brightness curve if (brightcurve) { - val = CLIPD(brightcurve->getVal (val)); // TODO: getVal(double) is very slow! Optimize with a LUTf + val = LIM01(brightcurve->getVal (val)); // TODO: getVal(double) is very slow! Optimize with a LUTf } // store result in a temporary array @@ -849,7 +851,7 @@ void CurveFactory::complexLCurve (double br, double contr, const std::vector(val); } } else { diff --git a/rtengine/dcrop.cc b/rtengine/dcrop.cc index f235d8d29..6acbc0047 100644 --- a/rtengine/dcrop.cc +++ b/rtengine/dcrop.cc @@ -831,7 +831,7 @@ void Crop::update(int todo) DCPProfile *dcpProf = parent->imgsrc->getDCP(params.icm, as); LUTu histToneCurve; - parent->ipf.rgbProc (workingCrop, laboCrop, this, parent->hltonecurve, parent->shtonecurve, parent->tonecurve, + parent->ipf.rgbProc (workingCrop, laboCrop, this, parent->hltonecurve, parent->shtonecurve, parent->tonecurve, params.toneCurve.saturation, parent->rCurve, parent->gCurve, parent->bCurve, parent->colourToningSatLimit, parent->colourToningSatLimitOpacity, parent->ctColorCurve, parent->ctOpacityCurve, parent->opautili, parent->clToningcurve, parent->cl2Toningcurve, parent->customToneCurve1, parent->customToneCurve2, parent->beforeToneCurveBW, parent->afterToneCurveBW, rrm, ggm, bbm, parent->bwAutoR, parent->bwAutoG, parent->bwAutoB, dcpProf, as, histToneCurve); @@ -990,7 +990,7 @@ void Crop::update(int todo) parent->ipf.ip_wavelet(labnCrop, labnCrop, kall, WaveParams, wavCLVCurve, waOpacityCurveRG, waOpacityCurveBY, waOpacityCurveW, waOpacityCurveWL, parent->wavclCurve, skip); } - parent->ipf.softLight(labnCrop); + parent->ipf.softLight(labnCrop); // } diff --git a/rtengine/dfmanager.cc b/rtengine/dfmanager.cc index 5f1035a8e..c41c8a180 100644 --- a/rtengine/dfmanager.cc +++ b/rtengine/dfmanager.cc @@ -235,7 +235,7 @@ void dfInfo::updateBadPixelList( RawImage *df ) df->data[row + 2][col - 2] + df->data[row + 2][col] + df->data[row + 2][col + 2]); if( df->data[row][col] > m * threshold ) { - badPixelsThread.push_back( badPix(col, row) ); + badPixelsThread.emplace_back(col, row); } } @@ -257,7 +257,7 @@ void dfInfo::updateBadPixelList( RawImage *df ) } if( df->data[row][3 * col] > m[0]*threshold || df->data[row][3 * col + 1] > m[1]*threshold || df->data[row][3 * col + 2] > m[2]*threshold) { - badPixels.push_back( badPix(col, row) ); + badPixels.emplace_back(col, row); } } } @@ -270,8 +270,11 @@ void dfInfo::updateBadPixelList( RawImage *df ) // ************************* class DFManager ********************************* -void DFManager::init( Glib::ustring pathname ) +void DFManager::init(const Glib::ustring& pathname) { + if (pathname.empty()) { + return; + } std::vector names; auto dir = Gio::File::create_for_path (pathname); @@ -563,12 +566,12 @@ int DFManager::scanBadPixelsFile( Glib::ustring filename ) if( numparms == 1 ) { // only one number in first line means, that this is the offset. offset = x; } else if(numparms == 2) { - bp.push_back( badPix(x + offset, y + offset) ); + bp.emplace_back(x + offset, y + offset); } while( fgets(line, sizeof(line), file ) ) { if( sscanf(line, "%d %d", &x, &y) == 2 ) { - bp.push_back( badPix(x + offset, y + offset) ); + bp.emplace_back(x + offset, y + offset); } } } @@ -589,7 +592,7 @@ std::vector *DFManager::getBadPixels ( const std::string &mak, const std bool found = false; if( !serial.empty() ) { - // search with sreial number first + // search with serial number first std::ostringstream s; s << mak << " " << mod << " " << serial; iter = bpList.find( s.str() ); diff --git a/rtengine/dfmanager.h b/rtengine/dfmanager.h index 62379187b..2e55c3c22 100644 --- a/rtengine/dfmanager.h +++ b/rtengine/dfmanager.h @@ -78,7 +78,7 @@ protected: class DFManager { public: - void init( Glib::ustring pathname ); + void init(const Glib::ustring &pathname); Glib::ustring getPathname() { return currentPath; diff --git a/rtengine/ffmanager.cc b/rtengine/ffmanager.cc index 6b0302d1e..6e4977076 100644 --- a/rtengine/ffmanager.cc +++ b/rtengine/ffmanager.cc @@ -231,8 +231,11 @@ void ffInfo::updateRawImage() // ************************* class FFManager ********************************* -void FFManager::init( Glib::ustring pathname ) +void FFManager::init(const Glib::ustring& pathname) { + if (pathname.empty()) { + return; + } std::vector names; auto dir = Gio::File::create_for_path (pathname); diff --git a/rtengine/ffmanager.h b/rtengine/ffmanager.h index 7022d1641..9068216ef 100644 --- a/rtengine/ffmanager.h +++ b/rtengine/ffmanager.h @@ -75,7 +75,7 @@ protected: class FFManager { public: - void init( Glib::ustring pathname ); + void init(const Glib::ustring &pathname); Glib::ustring getPathname() { return currentPath; diff --git a/rtengine/imageio.cc b/rtengine/imageio.cc index f1fa8dbef..3b0fdcf6d 100644 --- a/rtengine/imageio.cc +++ b/rtengine/imageio.cc @@ -575,7 +575,11 @@ int ImageIO::loadJPEG (const Glib::ustring &fname) my_jpeg_stdio_src (&cinfo, file); +#if defined( WIN32 ) && defined( __x86_64__ ) && !defined(__clang__) + if ( __builtin_setjmp((reinterpret_cast(cinfo.src))->error_jmp_buf) == 0 ) { +#else if ( setjmp((reinterpret_cast(cinfo.src))->error_jmp_buf) == 0 ) { +#endif if (pl) { pl->setProgressStr ("PROGRESSBAR_LOADJPEG"); pl->setProgress (0.0); diff --git a/rtengine/improcfun.cc b/rtengine/improcfun.cc index c2e0c5b50..c164abc0d 100644 --- a/rtengine/improcfun.cc +++ b/rtengine/improcfun.cc @@ -76,7 +76,7 @@ void shadowToneCurve(const LUTf &shtonecurve, float *rtemp, float *gtemp, float //shadow tone curve vfloat Yv = cr * rv + cg * gv + cb * bv; - vfloat tonefactorv = shtonecurve(Yv); + vfloat tonefactorv = shtonecurve[Yv]; STVF(rtemp[ti * tileSize + tj], rv * tonefactorv); STVF(gtemp[ti * tileSize + tj], gv * tonefactorv); STVF(btemp[ti * tileSize + tj], bv * tonefactorv); @@ -314,7 +314,7 @@ void ImProcFunctions::updateColorProfiles (const Glib::ustring& monitorProfile, if (softProof) { cmsHPROFILE oprof = nullptr; RenderingIntent outIntent; - + flags = cmsFLAGS_SOFTPROOFING | cmsFLAGS_NOOPTIMIZE | cmsFLAGS_NOCACHE; if (!settings->printerProfile.empty()) { @@ -2474,7 +2474,9 @@ void ImProcFunctions::rgbProc (Imagefloat* working, LabImage* lab, PipetteBuffer } highlightToneCurve(hltonecurve, rtemp, gtemp, btemp, istart, tH, jstart, tW, TS, exp_scale, comp, hlrange); - shadowToneCurve(shtonecurve, rtemp, gtemp, btemp, istart, tH, jstart, tW, TS); + if (params->toneCurve.black != 0.0) { + shadowToneCurve(shtonecurve, rtemp, gtemp, btemp, istart, tH, jstart, tW, TS); + } if (dcpProf) { dcpProf->step2ApplyTile (rtemp, gtemp, btemp, tW - jstart, tH - istart, TS, asIn); diff --git a/rtengine/jdatasrc.cc b/rtengine/jdatasrc.cc index 0c2a13ed0..8c04a14a2 100644 --- a/rtengine/jdatasrc.cc +++ b/rtengine/jdatasrc.cc @@ -245,7 +245,11 @@ my_error_exit (j_common_ptr cinfo) j_decompress_ptr dinfo = (j_decompress_ptr)cinfo; // longjmp (((rt_jpeg_error_mgr*)(dinfo->src))->error_jmp_buf, 1); +#if defined( WIN32 ) && defined( __x86_64__ ) && !defined(__clang__) + __builtin_longjmp ((reinterpret_cast(dinfo->src)) ->error_jmp_buf, 1); +#else longjmp ((reinterpret_cast(dinfo->src)) ->error_jmp_buf, 1); +#endif } diff --git a/rtengine/pipettebuffer.cc b/rtengine/pipettebuffer.cc index a4cd71807..34a52a5c0 100644 --- a/rtengine/pipettebuffer.cc +++ b/rtengine/pipettebuffer.cc @@ -18,9 +18,11 @@ */ #include "pipettebuffer.h" -#include "../rtgui/editcallbacks.h" + #include "imagefloat.h" +#include "../rtgui/editcallbacks.h" + namespace rtengine { diff --git a/rtengine/pipettebuffer.h b/rtengine/pipettebuffer.h index 2a534174f..ab9ba6197 100644 --- a/rtengine/pipettebuffer.h +++ b/rtengine/pipettebuffer.h @@ -16,13 +16,16 @@ * You should have received a copy of the GNU General Public License * along with RawTherapee. If not, see . */ -#ifndef _PIPETTEBUFFER_H_ -#define _PIPETTEBUFFER_H_ +#pragma once -#include "../rtgui/editbuffer.h" #include "array2D.h" -#include "iimage.h" #include "coord.h" +#include "iimage.h" + +class EditDataProvider; +class EditSubscriber; + +enum EditUniqueID : int; namespace rtengine { @@ -90,9 +93,7 @@ public: bool bufferCreated(); // get the pipette values - void getPipetteData(int x, int y, const int squareSize); + void getPipetteData(int x, int y, int squareSize); }; } - -#endif diff --git a/rtengine/pixelsmap.h b/rtengine/pixelsmap.h index 9089ac91c..b359d61d9 100644 --- a/rtengine/pixelsmap.h +++ b/rtengine/pixelsmap.h @@ -20,6 +20,7 @@ */ #include +#include #include #include "noncopyable.h" @@ -75,10 +76,10 @@ public: } // set pixels from a list - int set(const std::vector &bp) + int set(const std::vector& bp) { - for (std::vector::const_iterator iter = bp.begin(); iter != bp.end(); ++iter) { - set(iter->x, iter->y); + for (const auto& bad_pix : bp) { + set(bad_pix.x, bad_pix.y); } return bp.size(); @@ -86,7 +87,7 @@ public: void clear() { - memset(pm, 0, h * w * base_t_size); + std::memset(pm, 0, h * w * base_t_size); } // return 0 if at least one pixel in the word(base_t) is set, otherwise return the number of pixels to skip to the next word base_t int skipIfZero(int x, int y) const diff --git a/rtgui/bayerrawexposure.cc b/rtgui/bayerrawexposure.cc index 73c96bcf1..f9027c09f 100644 --- a/rtgui/bayerrawexposure.cc +++ b/rtgui/bayerrawexposure.cc @@ -28,7 +28,7 @@ using namespace rtengine::procparams; BayerRAWExposure::BayerRAWExposure () : FoldableToolPanel(this, "bayerrawexposure", M("TP_EXPOS_BLACKPOINT_LABEL"), options.prevdemo != PD_Sidecar) { - PexBlack1 = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_BLACK_1"), -2048, 2048, 0.1, 0)); //black level + PexBlack1 = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_BLACK_1"), -2048, 2048, 1.0, 0)); //black level PexBlack1->setAdjusterListener (this); if (PexBlack1->delay < options.adjusterMaxDelay) { @@ -36,7 +36,7 @@ BayerRAWExposure::BayerRAWExposure () : FoldableToolPanel(this, "bayerrawexposur } PexBlack1->show(); - PexBlack2 = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_BLACK_2"), -2048, 2048, 0.1, 0)); //black level + PexBlack2 = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_BLACK_2"), -2048, 2048, 1.0, 0)); //black level PexBlack2->setAdjusterListener (this); if (PexBlack2->delay < options.adjusterMaxDelay) { @@ -44,7 +44,7 @@ BayerRAWExposure::BayerRAWExposure () : FoldableToolPanel(this, "bayerrawexposur } PexBlack2->show(); - PexBlack3 = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_BLACK_3"), -2048, 2048, 0.1, 0)); //black level + PexBlack3 = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_BLACK_3"), -2048, 2048, 1.0, 0)); //black level PexBlack3->setAdjusterListener (this); if (PexBlack3->delay < options.adjusterMaxDelay) { @@ -52,7 +52,7 @@ BayerRAWExposure::BayerRAWExposure () : FoldableToolPanel(this, "bayerrawexposur } PexBlack3->show(); - PexBlack0 = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_BLACK_0"), -2048, 2048, 0.1, 0)); //black level + PexBlack0 = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_BLACK_0"), -2048, 2048, 1.0, 0)); //black level PexBlack0->setAdjusterListener (this); if (PexBlack0->delay < options.adjusterMaxDelay) { diff --git a/rtgui/editid.h b/rtgui/editid.h index c4f9315c0..5c1cf2389 100644 --- a/rtgui/editid.h +++ b/rtgui/editid.h @@ -21,7 +21,7 @@ /// @brief List of pipette editing operation -enum EditUniqueID { +enum EditUniqueID : int { EUID_None, /// special value (default) EUID_ToneCurve1, diff --git a/rtgui/filmsimulation.cc b/rtgui/filmsimulation.cc index aee06f310..734b46c34 100644 --- a/rtgui/filmsimulation.cc +++ b/rtgui/filmsimulation.cc @@ -300,7 +300,7 @@ ClutComboBox::ClutModel::ClutModel(const Glib::ustring &path) { m_model = Gtk::TreeStore::create (m_columns); //set_model (m_model); - count = parseDir(path); + count = path.empty() ? 0 : parseDir(path); } int ClutComboBox::ClutModel::parseDir(const Glib::ustring& path) diff --git a/rtgui/mydiagonalcurve.cc b/rtgui/mydiagonalcurve.cc index 9179da6e4..a3e7b9375 100644 --- a/rtgui/mydiagonalcurve.cc +++ b/rtgui/mydiagonalcurve.cc @@ -16,12 +16,16 @@ * You should have received a copy of the GNU General Public License * along with RawTherapee. If not, see . */ -#include "mydiagonalcurve.h" -#include "../rtengine/curves.h" -#include "editcallbacks.h" #include + #include +#include "mydiagonalcurve.h" + +#include "editcallbacks.h" + +#include "../rtengine/curves.h" + MyDiagonalCurve::MyDiagonalCurve () : MyCurve(), closest_point(0), diff --git a/rtgui/myflatcurve.cc b/rtgui/myflatcurve.cc index 29558a22b..9796141d5 100644 --- a/rtgui/myflatcurve.cc +++ b/rtgui/myflatcurve.cc @@ -16,12 +16,16 @@ * You should have received a copy of the GNU General Public License * along with RawTherapee. If not, see . */ -#include "myflatcurve.h" -#include "../rtengine/curves.h" -#include "editcallbacks.h" #include + #include +#include "myflatcurve.h" + +#include "editcallbacks.h" + +#include "../rtengine/curves.h" + MyFlatCurve::MyFlatCurve () : MyCurve(), clampedX(0.0), diff --git a/rtgui/rtsurface.cc b/rtgui/rtsurface.cc index 9f692878d..230c3ff4f 100644 --- a/rtgui/rtsurface.cc +++ b/rtgui/rtsurface.cc @@ -19,66 +19,110 @@ #include -#include "options.h" #include "rtsurface.h" +#include "options.h" + namespace { -std::map> surfaceCache; +using SurfaceCache = std::map>; + +SurfaceCache surfaceCache; } -double RTSurface::dpiBack = 0.; -int RTSurface::scaleBack = 0; - -RTSurface::RTSurface () : RTScalable() +RTSurface::RTSurface() : + surface(new Cairo::ImageSurface(nullptr, false)) { - Cairo::RefPtr imgSurf(new Cairo::ImageSurface(nullptr, false)); - surface = imgSurf; } -RTSurface::RTSurface(const RTSurface& other) : RTScalable() +RTSurface::RTSurface(const Glib::ustring& fileName, const Glib::ustring& rtlFileName) : + RTSurface() { - surface = other.surface; + setImage(fileName, rtlFileName); } -RTSurface::RTSurface (Glib::ustring fileName, Glib::ustring rtlFileName) : RTScalable() +void RTSurface::setImage(const Glib::ustring& fileName, const Glib::ustring& rtlFileName) { - Cairo::RefPtr imgSurf(new Cairo::ImageSurface(nullptr, false)); - surface = imgSurf; - setImage (fileName, rtlFileName); -} - -void RTSurface::setImage (Glib::ustring fileName, Glib::ustring rtlFileName) -{ - Glib::ustring imageName; - - if (!rtlFileName.empty() && getDirection() == Gtk::TEXT_DIR_RTL) { - imageName = rtlFileName; - } else { - imageName = fileName; - } + const Glib::ustring& imageName = + !rtlFileName.empty() && getDirection() == Gtk::TEXT_DIR_RTL + ? rtlFileName + : fileName; changeImage (imageName); } -void RTSurface::setDPInScale (const double newDPI, const int newScale) +int RTSurface::getWidth() const { - if (getScale() != newScale || (getScale() == 1 && getDPI() != newDPI)) { - RTScalable::setDPInScale(newDPI, newScale); + return + surface + ? surface->get_width() + : -1; +} + +int RTSurface::getHeight() const +{ + return + surface + ? surface->get_height() + : -1; +} + +bool RTSurface::hasSurface() const +{ + return static_cast(surface); +} + +Cairo::RefPtr RTSurface::get() const +{ + return surface; +} + +const Cairo::RefPtr& RTSurface::get() +{ + return surface; +} + +void RTSurface::init() +{ + dpiBack = getDPI(); + scaleBack = getScale(); +} + +void RTSurface::updateImages() +{ + const double tweakedDpi = getTweakedDPI(); + + for (auto& entry : surfaceCache) { + entry.second = loadImage(entry.first, tweakedDpi); + } +} + +void RTSurface::setDPInScale(const double newDPI, const int newScale) +{ + if ( + getScale() != newScale + || ( + getScale() == 1 + && getDPI() != newDPI + ) + ) { + setDPInScale(newDPI, newScale); dpiBack = getDPI(); scaleBack = getScale(); - //printf("RTSurface::setDPInScale : New scale = %d & new DPI = %.3f (%.3f asked) -> Reloading all RTSurface\n", scaleBack, dpiBack, newDPI); + updateImages(); } } -void RTSurface::changeImage (Glib::ustring imageName) +void RTSurface::changeImage(const Glib::ustring& imageName) { - auto iterator = surfaceCache.find (imageName); + const SurfaceCache::const_iterator iterator = surfaceCache.find(imageName); - if (iterator == surfaceCache.end ()) { + if (iterator != surfaceCache.end()) { + surface = iterator->second; + } else { surface = loadImage(imageName, getTweakedDPI()); // HOMBRE: As of now, GDK_SCALE is forced to 1, so setting the Cairo::ImageSurface scale is not required @@ -92,48 +136,10 @@ void RTSurface::changeImage (Glib::ustring imageName) } */ - iterator = surfaceCache.emplace (imageName, surface).first; - } - - surface = iterator->second; -} - -int RTSurface::getWidth() const -{ - return surface ? surface->get_width() : -1; -} - -int RTSurface::getHeight() const -{ - return surface ? surface->get_height() : -1; -} - -void RTSurface::init() -{ - dpiBack = RTScalable::getDPI(); - scaleBack = RTScalable::getScale(); -} - -void RTSurface::updateImages() -{ - double res = getTweakedDPI(); - for (auto entry : surfaceCache) { - entry.second = loadImage(entry.first, res); - //printf("RTSurface::updateImages : %s\n", entry.first.c_str()); + surfaceCache.emplace(imageName, surface); } } -void RTSurface::from(Glib::RefPtr other) -{ - surface = other->surface; -} +double RTSurface::dpiBack = 0.; -bool RTSurface::hasSurface() const -{ - return surface ? true : false; -} - -const Cairo::RefPtr& RTSurface::get() const -{ - return surface; -} +int RTSurface::scaleBack = 0; diff --git a/rtgui/rtsurface.h b/rtgui/rtsurface.h index d55506269..c314ab1c1 100644 --- a/rtgui/rtsurface.h +++ b/rtgui/rtsurface.h @@ -19,38 +19,36 @@ #pragma once #include + #include "rtscalable.h" /** * @brief A derived class of Gtk::Image in order to handle theme-related icon sets. */ -class RTSurface : public RTScalable +class RTSurface : + public RTScalable { - -private: - - static double dpiBack; // used to keep track of master dpi change - static int scaleBack; // used to keep track of master scale change - Cairo::RefPtr surface; - void changeImage (Glib::ustring imageName); - public: + RTSurface(); + RTSurface(const Glib::ustring& fileName, const Glib::ustring& rtlFileName = {}); - RTSurface (); - RTSurface (const RTSurface& other); - RTSurface (Glib::ustring fileName, Glib::ustring rtlFileName = Glib::ustring()); + void setImage(const Glib::ustring& fileName, const Glib::ustring& rtlFileName = {}); - void setImage (Glib::ustring fileName, Glib::ustring rtlFileName = Glib::ustring()); int getWidth() const; int getHeight() const; bool hasSurface() const; - const Cairo::RefPtr& get() const; + Cairo::RefPtr get() const; + const Cairo::RefPtr& get(); static void init(); - static void updateImages (); - static void setDPInScale (const double newDPI, const int newScale); - static void setScale (const int newScale); + static void updateImages(); + static void setDPInScale(double newDPI, int newScale); - void from(Glib::RefPtr other); +private: + void changeImage(const Glib::ustring& imageName); + + static double dpiBack; // used to keep track of master dpi change + static int scaleBack; // used to keep track of master scale change + Cairo::RefPtr surface; }; diff --git a/rtgui/xtransrawexposure.cc b/rtgui/xtransrawexposure.cc index a863ecfea..93f6ee202 100644 --- a/rtgui/xtransrawexposure.cc +++ b/rtgui/xtransrawexposure.cc @@ -30,7 +30,7 @@ using namespace rtengine::procparams; XTransRAWExposure::XTransRAWExposure () : FoldableToolPanel(this, "xtransrawexposure", M("TP_EXPOS_BLACKPOINT_LABEL")) { - PexBlackRed = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_BLACK_RED"), -2048, 2048, 0.1, 0)); //black level + PexBlackRed = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_BLACK_RED"), -2048, 2048, 1.0, 0)); //black level PexBlackRed->setAdjusterListener (this); if (PexBlackRed->delay < options.adjusterMaxDelay) { @@ -38,7 +38,7 @@ XTransRAWExposure::XTransRAWExposure () : FoldableToolPanel(this, "xtransrawexpo } PexBlackRed->show(); - PexBlackGreen = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_BLACK_GREEN"), -2048, 2048, 0.1, 0)); //black level + PexBlackGreen = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_BLACK_GREEN"), -2048, 2048, 1.0, 0)); //black level PexBlackGreen->setAdjusterListener (this); if (PexBlackGreen->delay < options.adjusterMaxDelay) { @@ -46,7 +46,7 @@ XTransRAWExposure::XTransRAWExposure () : FoldableToolPanel(this, "xtransrawexpo } PexBlackGreen->show(); - PexBlackBlue = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_BLACK_BLUE"), -2048, 2048, 0.1, 0)); //black level + PexBlackBlue = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_BLACK_BLUE"), -2048, 2048, 1.0, 0)); //black level PexBlackBlue->setAdjusterListener (this); if (PexBlackBlue->delay < options.adjusterMaxDelay) { diff --git a/tools/osx/Info.plist-bin.in b/tools/osx/Info.plist-bin.in new file mode 100644 index 000000000..20ce5a741 --- /dev/null +++ b/tools/osx/Info.plist-bin.in @@ -0,0 +1,10 @@ + + + + + CFBundleName + RawTherapee-bin + CFBundleIdentifier + com.rawtherapee.rawtherapee + + diff --git a/tools/osx/executable_loader.in b/tools/osx/executable_loader.in index dcc0cabc4..429173d8e 100644 --- a/tools/osx/executable_loader.in +++ b/tools/osx/executable_loader.in @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/bin/sh cd "$(dirname "$0")" || exit 1 @@ -7,21 +7,8 @@ app="${cwd%/Contents/*}" lib="${app}/Contents/Frameworks" resources="${app}/Contents/Resources" etc="${resources}"/etc - -### Pending deletion: -# See https://github.com/Beep6581/RawTherapee/issues/1779 -# cups_dir=/tmp/RT5 -# install -d "${cups_dir}" -# cp -f /usr/lib/libcups.2.dylib "${cups_dir}" -# export DYLD_LIBRARY_PATH="${lib}:${cups_dir}" - -# export GTK_EXE_PREFIX="${resources}" -# export GTK_DATA_PREFIX="${resources}" export XDG_DATA_DIRS="${resources}/share" -# export GTK_IM_MODULE_FILE="${etc}/gtk-3.0/gtk.immodules" - export DYLD_LIBRARY_PATH="${lib}" - export GTK_PATH="${lib}/gtk-3.0/3.0.0" export XDG_DATA_HOME="${resources}/share" export GSETTINGS_SCHEMA_DIR="${resources}/share/glib-2.0/schemas" @@ -31,25 +18,13 @@ export GDK_PIXBUF_MODULEDIR="${lib}/gdk-pixbuf-2.0/2.10.0/loaders" export RT_SETTINGS="${HOME}/Library/Application Support/RawTherapee/config" export RT_CACHE="${HOME}/Library/Application Support/RawTherapee/cache" -### Pending deletion: -# Environment variables for X11 backend -#if [[ -d ${etc}/fonts ]]; then -# export FONTCONFIG_PATH="${etc}/fonts" -#fi - # Strip out system argument case "$1" in -psn_*) shift ;; esac -# Commented-out as part of "crash-on-startup part 2" fix, see https://github.com/Beep6581/RawTherapee/issues/3882#issuecomment-311703141 -#if [[ -d "/tmp/RawTherapee.app" ]]; then -# rm -rf "/tmp/RawTherapee.app" -#fi -#ln -sf "${app}" /tmp - # Prevent crash when directory name contains special characters AppleLocale=`defaults read -g AppleLocale` export LANG=${AppleLocale%@*}.UTF-8 -exec "${cwd}/rawtherapee-bin" "$@" +exec "${cwd}/bin/rawtherapee-bin" "$@" diff --git a/tools/osx/macosx_bundle.sh b/tools/osx/macosx_bundle.sh index f3ff8d8ca..2501e936b 100644 --- a/tools/osx/macosx_bundle.sh +++ b/tools/osx/macosx_bundle.sh @@ -101,7 +101,7 @@ ETC="${RESOURCES}/etc" EXECUTABLE="${MACOS}/rawtherapee" msg "Removing old files:" -rm -rf "${APP}" "${PROJECT_NAME}_*.dmg" +rm -rf "${APP}" "${PROJECT_NAME}_*.dmg" "*zip" msg "Creating bundle container:" install -d "${RESOURCES}" \ @@ -134,7 +134,7 @@ rm -r "${LIB}"/gdk-pixbuf-2.0 "${GTK_PREFIX}/bin/gdk-pixbuf-query-loaders" "${LIB}"/libpix*.so > "${ETC}/gtk-3.0/gdk-pixbuf.loaders" "${GTK_PREFIX}/bin/gtk-query-immodules-3.0" "${LIB}"/{im*.so,libprint*.so} > "${ETC}/gtk-3.0/gtk.immodules" -sed -i "" -e "s|${PWD}/RawTherapee.app/Contents/|@executable_path/../|" "${ETC}/gtk-3.0/gdk-pixbuf.loaders" "${ETC}/gtk-3.0/gtk.immodules" +sed -i "" -e "s|${PWD}/RawTherapee.app/Contents/|/Applications/RawTherapee.app/Contents/|" "${ETC}/gtk-3.0/gdk-pixbuf.loaders" "${ETC}/gtk-3.0/gtk.immodules" ditto {"${GTK_PREFIX}","${RESOURCES}"}/share/glib-2.0/schemas "${GTK_PREFIX}/bin/glib-compile-schemas" "${RESOURCES}/share/glib-2.0/schemas" @@ -155,6 +155,12 @@ ditto {"${GTK_PREFIX}","${RESOURCES}"}/share/icons/Adwaita/index.theme # Copy libjpeg-turbo into the app bundle cp /opt/local/lib/libjpeg.62.dylib "${RESOURCES}/../Frameworks" +# Copy libexpat into the app bundle +cp /opt/local/lib/libexpat.1.dylib "${RESOURCES}/../Frameworks" + +# Copy libz into the app bundle +cp /opt/local/lib/libz.1.dylib "${RESOURCES}/../Frameworks" + # Copy libtiff into the app bundle cp /opt/local/lib/libtiff.5.dylib "${RESOURCES}/../Frameworks" @@ -182,31 +188,67 @@ find -E "${CONTENTS}" -type f -regex '.*/(rawtherapee-cli|rawtherapee|.*\.(dylib done msg "Registering @loader_path into the executable:" -echo " install_name_tool -add_rpath @loader_path/../Frameworks '${EXECUTABLE}'" | bash -v +echo " install_name_tool -add_rpath @executable_path/../../Frameworks '${EXECUTABLE}'" | bash -v echo " install_name_tool -add_rpath @loader_path/../Frameworks '${EXECUTABLE}-cli'" | bash -v msg "Installing required application bundle files:" PROJECT_SOURCE_DATA_DIR="${PROJECT_SOURCE_DIR}/tools/osx" - +ditto "${PROJECT_SOURCE_DIR}/build/Resources" "${RESOURCES}" # Executable loader # Note: executable is renamed to 'rawtherapee-bin'. -mv "${MACOS}/rawtherapee" "${MACOS}/rawtherapee-bin" +mkdir "${MACOS}/bin" +mv "${MACOS}/rawtherapee" "${MACOS}/bin/rawtherapee-bin" install -m 0755 "${PROJECT_SOURCE_DATA_DIR}/executable_loader.in" "${MACOS}/rawtherapee" # App bundle resources cp "${PROJECT_SOURCE_DATA_DIR}/"{rawtherapee,profile}.icns "${RESOURCES}" cp "${PROJECT_SOURCE_DATA_DIR}/PkgInfo" "${CONTENTS}" install -m 0644 "${PROJECT_SOURCE_DATA_DIR}/Info.plist.in" "${CONTENTS}/Info.plist" +install -m 0644 "${PROJECT_SOURCE_DATA_DIR}/Info.plist-bin.in" "${CONTENTS}/MacOS/bin/Info.plist" sed -i "" -e "s|@version@|${PROJECT_FULL_VERSION}| s|@shortVersion@|${PROJECT_VERSION}| s|@arch@|${arch}|" \ "${CONTENTS}/Info.plist" plutil -convert binary1 "${CONTENTS}/Info.plist" - +plutil -convert binary1 "${CONTENTS}/MacOS/bin/Info.plist" # Sign the app CODESIGNID="$(cmake .. -LA -N | grep "CODESIGNID" | cut -d "=" -f2)" -codesign --deep --force -v -s "${CODESIGNID}" --timestamp "${APP}" -spctl -a -vvvv "${APP}" - +if ! test -z "$CODESIGNID" ; then +install -m 0644 "${PROJECT_SOURCE_DATA_DIR}/rt.entitlements" "${CONTENTS}/Entitlements.plist" +plutil -convert binary1 "${CONTENTS}/Entitlements.plist" +install -m 0644 "${PROJECT_SOURCE_DATA_DIR}/rt-bin.entitlements" "${CONTENTS}/MacOS/bin/Entitlements.plist" +plutil -convert binary1 "${CONTENTS}/MacOS/bin/Entitlements.plist" +codesign -v -s "${CODESIGNID}" -i "com.rawtherapee.rawtherapee-bin" --timestamp -o runtime --entitlements "${APP}/Contents/MacOS/bin/Entitlements.plist" "${APP}/Contents/MacOS/bin/rawtherapee-bin" +codesign --deep --preserve-metadata=identifier,entitlements,runtime --strict -v -s "${CODESIGNID}" -i "com.rawtherapee.rawtherapee" --timestamp -o runtime --entitlements "${APP}/Contents/Entitlements.plist" "${APP}" + spctl -a -vvvv "${APP}" +fi + +# Notarize the app +NOTARY="$(cmake .. -LA -N | grep "NOTARY" | cut -d "=" -f2)" +if ! test -z "$NOTARY" ; then + ditto -c -k --sequesterRsrc --keepParent "${APP}" "${APP}.zip" + uuid=`xcrun altool --notarize-app --primary-bundle-id "com.rawtherapee.rawtherapee" ${NOTARY} --file "${APP}.zip" 2>&1 | grep 'RequestUUID' | awk '{ print $3 }'` + echo "Result= $uuid" # Display identifier string + sleep 15 + while : + do + fullstatus=`xcrun altool --notarization-info "$uuid" ${NOTARY} 2>&1` # get the status + status1=`echo "$fullstatus" | grep 'Status\:' | awk '{ print $2 }'` + if [ "$status1" = "success" ]; then + xcrun stapler staple *app # staple the ticket + xcrun stapler validate -v *app + echo "Notarization success" + break + elif [ "$status1" = "in" ]; then + echo "Notarization still in progress, sleeping for 15 seconds and trying again" + sleep 15 + else + echo "Notarization failed fullstatus below" + echo "$fullstatus" + exit 1 + fi + done +fi + function CreateDmg { local srcDir="$(mktemp -dt $$)" @@ -234,7 +276,36 @@ function CreateDmg { hdiutil create -format UDBZ -fs HFS+ -srcdir "${srcDir}" -volname "${PROJECT_NAME}_${PROJECT_FULL_VERSION}" "${dmg_name}.dmg" # Sign disk image - codesign --deep --force -v -s "${CODESIGNID}" --timestamp "${dmg_name}.dmg" + if ! test -z "$CODESIGNID" ; then + codesign --deep --force -v -s "${CODESIGNID}" --timestamp "${dmg_name}.dmg" + fi + + # Notarize the dmg + if ! test -z "$NOTARY" ; then + zip "${dmg_name}.dmg.zip" "${dmg_name}.dmg" + uuid=`xcrun altool --notarize-app --primary-bundle-id "com.rawtherapee" ${NOTARY} --file "${dmg_name}.dmg.zip" 2>&1 | grep 'RequestUUID' | awk '{ print $3 }'` + echo "dmg Result= $uuid" # Display identifier string + sleep 15 + while : + do + fullstatus=`xcrun altool --notarization-info "$uuid" ${NOTARY} 2>&1` # get the status + status1=`echo "$fullstatus" | grep 'Status\:' | awk '{ print $2 }'` + if [ "$status1" = "success" ]; then + xcrun stapler staple "${dmg_name}.dmg" # staple the ticket + xcrun stapler validate -v "${dmg_name}.dmg" + echo "dmg Notarization success" + break + elif [ "$status1" = "in" ]; then + echo "dmg Notarization still in progress, sleeping for 15 seconds and trying again" + sleep 15 + else + echo "dmg Notarization failed fullstatus below" + echo "$fullstatus" + exit 1 + fi + done + fi + # Zip disk image for redistribution zip "${dmg_name}.zip" "${dmg_name}.dmg" AboutThisBuild.txt diff --git a/tools/osx/rt-bin.entitlements b/tools/osx/rt-bin.entitlements new file mode 100644 index 000000000..9e5e269cb --- /dev/null +++ b/tools/osx/rt-bin.entitlements @@ -0,0 +1,8 @@ + + + + +com.apple.security.inherit + + + \ No newline at end of file diff --git a/tools/osx/rt.entitlements b/tools/osx/rt.entitlements new file mode 100644 index 000000000..2236af138 --- /dev/null +++ b/tools/osx/rt.entitlements @@ -0,0 +1,20 @@ + + + + + application-identifier + com.rawtherapee.rawtherapee + com.apple.security.temporary-exception.files.absolute-path.read-write + + "/" + + com.apple.security.cs.allow-dyld-environment-variables + + com.apple.security.files.user-selected.read-write + + com.apple.security.app-sandbox + + com.apple.security.files.downloads.read-write + + +