diff --git a/CMakeLists.txt b/CMakeLists.txt
index cb45c573f..f73cf77be 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -334,6 +334,16 @@ if(WITH_MYFILE_MMAP)
endif()
if(WITH_LTO)
+ # Using LTO with older versions of binutils requires setting extra flags
+ SET(BINUTILS_VERSION_MININUM "2.29")
+ execute_process(COMMAND ar --version OUTPUT_VARIABLE BINUTILS_VERSION_DETECTED)
+ string(REGEX REPLACE ".* ([0-9.]+)\n.*" "\\1" BINUTILS_VERSION_DETECTED "${BINUTILS_VERSION_DETECTED}")
+ if("${BINUTILS_VERSION_DETECTED}" VERSION_LESS "${BINUTILS_VERSION_MININUM}")
+ SET(CMAKE_AR "/usr/bin/gcc-ar")
+ SET(CMAKE_RANLIB "/usr/bin/gcc-ranlib")
+ message(STATUS "Binutils version detected as less than " ${BINUTILS_VERSION_MININUM} " - setting CMake parameters to enable LTO linking:\n CMAKE_AR=\"" ${CMAKE_AR} "\"\n CMAKE_RANLIB=\"" ${CMAKE_RANLIB} "\"")
+ endif()
+
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -flto")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -flto")
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -flto")
diff --git a/RELEASE_NOTES.txt b/RELEASE_NOTES.txt
index 1d031a8af..a32134581 100644
--- a/RELEASE_NOTES.txt
+++ b/RELEASE_NOTES.txt
@@ -49,6 +49,7 @@ https://raw.pixls.us/
News Relevant to Package Maintainers
------------------------------------
In general:
+- To get the source code, either clone from git or use the tarball from http://rawtherapee.com/shared/source/ . Do not use the auto-generated GitHub release tarballs.
- Requires GTK+ version >=3.16, though >=3.22.24 is recommended.
- RawTherapee 5 requires GCC-4.9 or higher, or Clang.
- Do not use -ffast-math, it will not make RawTherapee faster but will introduce artifacts.
diff --git a/rtdata/dcpprofiles/SONY ILCE-7M2.dcp b/rtdata/dcpprofiles/SONY ILCE-7M2.dcp
index b46343181..38740bad7 100644
Binary files a/rtdata/dcpprofiles/SONY ILCE-7M2.dcp and b/rtdata/dcpprofiles/SONY ILCE-7M2.dcp differ
diff --git a/rtdata/dcpprofiles/SONY ILCE-7RM3.dcp b/rtdata/dcpprofiles/SONY ILCE-7RM3.dcp
new file mode 100644
index 000000000..f213959e7
Binary files /dev/null and b/rtdata/dcpprofiles/SONY ILCE-7RM3.dcp differ
diff --git a/rtdata/languages/Catala b/rtdata/languages/Catala
index 5ebd67faf..4bc691a65 100644
--- a/rtdata/languages/Catala
+++ b/rtdata/languages/Catala
@@ -940,7 +940,7 @@ TP_WBALANCE_TUNGSTEN;Tungstèn
ZOOMPANEL_100;(100%)
ZOOMPANEL_NEWCROPWINDOW;Obre una altra finestra de detall
ZOOMPANEL_ZOOM100;Zoom 100%\nDrecera: z
-ZOOMPANEL_ZOOMFITSCREEN;Ajusta a la finestra\nDrecera: f
+ZOOMPANEL_ZOOMFITSCREEN;Ajusta a la finestra\nDrecera: Alt-f
ZOOMPANEL_ZOOMIN;Apropa\nDrecera: +
ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: -
diff --git a/rtdata/languages/Chinese (Simplified) b/rtdata/languages/Chinese (Simplified)
index 39c5b2e2f..b73ec1980 100644
--- a/rtdata/languages/Chinese (Simplified)
+++ b/rtdata/languages/Chinese (Simplified)
@@ -1017,8 +1017,8 @@ TP_WBALANCE_WATER_HEADER;水下
ZOOMPANEL_100;(100%)
ZOOMPANEL_NEWCROPWINDOW;开启(新)细节窗口
ZOOMPANEL_ZOOM100;缩放到100%\n快捷键: z
-ZOOMPANEL_ZOOMFITCROPSCREEN;适应边缘到屏幕\n快捷键:Alt-f
-ZOOMPANEL_ZOOMFITSCREEN;适应屏幕\n快捷键: f
+ZOOMPANEL_ZOOMFITCROPSCREEN;适应边缘到屏幕\n快捷键:f
+ZOOMPANEL_ZOOMFITSCREEN;适应屏幕\n快捷键: Alt-f
ZOOMPANEL_ZOOMIN;缩放拉近\n快捷键: +
ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: -
diff --git a/rtdata/languages/Czech b/rtdata/languages/Czech
index 096d5793d..71c92fed1 100644
--- a/rtdata/languages/Czech
+++ b/rtdata/languages/Czech
@@ -39,6 +39,7 @@
#38 2017-04-26 updated by mkyral
#39 2017-07-21 updated by mkyral
#40 2017-12-13 updated by mkyral
+#41 2018-03-03 updated by mkyral
ABOUT_TAB_BUILD;Verze
ABOUT_TAB_CREDITS;Zásluhy
@@ -49,6 +50,7 @@ ADJUSTER_RESET_TO_DEFAULT;Vrátit se k původnímu
BATCHQUEUE_AUTOSTART;Automatický start
BATCHQUEUE_AUTOSTARTHINT;Automatické spuštění zpracování po vložení nové úlohy.
BATCHQUEUE_DESTFILENAME;Cesta a název souboru
+BATCHQUEUE_STARTSTOPHINT;Spustit nebo zastavit zpracování obrázků ve frontě.\n\nZkratka: Ctrl+s
BATCH_PROCESSING;Dávkové zpracování
CURVEEDITOR_AXIS_IN;Vstup:
CURVEEDITOR_AXIS_LEFT_TAN;LS:
@@ -268,6 +270,7 @@ GENERAL_OK;OK
GENERAL_OPEN;Otevřít
GENERAL_PORTRAIT;Na výšku
GENERAL_SAVE;Uložit
+GENERAL_SLIDER;Posuvník
GENERAL_UNCHANGED;(Beze změny)
GENERAL_WARNING;Varování
GIMP_PLUGIN_INFO;Vítejte v RawTherapee doplňku pro GIMP!\nPo dokončení úprav prostě zavřete hlavní okno RawTherapee a obrázek bude automaticky načten GIMPem.
@@ -455,6 +458,7 @@ HISTORY_MSG_169;L*a*b* - CH Křivka
HISTORY_MSG_170;Živost - HH křivka
HISTORY_MSG_171;L*a*b* - LC křivka
HISTORY_MSG_172;L*a*b* - Omezení LC
+HISTORY_MSG_173;Redukce šumu - Obnovení detailů
HISTORY_MSG_174;CIECAM02
HISTORY_MSG_175;CAM02 - CAT02 přizpůsobení
HISTORY_MSG_176;CAM02 - Okolí pro prohlížení
@@ -484,6 +488,7 @@ HISTORY_MSG_199;CAM02 - Výstupní histogramy
HISTORY_MSG_200;CAM02 - Mapování tónů
HISTORY_MSG_201;Redukce šumu - Barevnost Č a Z
HISTORY_MSG_202;Redukce šumu - Barevnost M a Ž
+HISTORY_MSG_203;Redukce šumu - Barevný prostor
HISTORY_MSG_204;Kroky rozšíření LMMSE
HISTORY_MSG_205;CAM02 - Filtr vypálených/špatných pixelů
HISTORY_MSG_206;CAT02 - Automatická svítivost scény
@@ -535,8 +540,9 @@ HISTORY_MSG_252;KdDÚ - Ochrana tónů pleti
HISTORY_MSG_253;KdDÚ - Omezení vzniku artefaktů
HISTORY_MSG_254;KdDÚ - Tóny pleti
HISTORY_MSG_255;Redukce šumu - Medián
+HISTORY_MSG_256;Redukce šumu - Medián - Typ
HISTORY_MSG_257;Barevné tónování
-HISTORY_MSG_258;Barevní tónování - Barevná křivka
+HISTORY_MSG_258;Barevné tónování - Barevná křivka
HISTORY_MSG_259;Barevné tónování - Křivka neprůhlednosti
HISTORY_MSG_260;Barevné tónování - a*[b*] neprůhlednost
HISTORY_MSG_261;Barevné tónování - Metoda
@@ -575,6 +581,7 @@ HISTORY_MSG_293;Simulace filmu
HISTORY_MSG_294;Simulace filmu - Síla
HISTORY_MSG_295;Simulace filmu - Film
HISTORY_MSG_296;Redukce šumu - Křivka jasů
+HISTORY_MSG_297;Redukce šumu - Mód
HISTORY_MSG_298;Filtr mrtvých pixelů
HISTORY_MSG_299;Redukce šumu - Křivka barevnosti
HISTORY_MSG_300;-
@@ -754,6 +761,16 @@ HISTORY_MSG_489;HDR TM - Práh
HISTORY_MSG_490;HDR TM - Míra
HISTORY_MSG_491;Vyvážení bílé
HISTORY_MSG_492;RGB křivky
+HISTORY_MSG_493;L*a*b* úpravy
+HISTORY_MSG_COLORTONING_LABGRID_VALUE;Barevné tónování - Korekce barev
+HISTORY_MSG_HISTMATCHING;Automaticky nalezená Tónová křivka
+HISTORY_MSG_LOCALCONTRAST_AMOUNT;Místní kontrast - Míra
+HISTORY_MSG_LOCALCONTRAST_DARKNESS;Místní kontrast - Tmavé
+HISTORY_MSG_LOCALCONTRAST_ENABLED;Místní kontrast
+HISTORY_MSG_LOCALCONTRAST_LIGHTNESS;Místní kontrast - Světlé
+HISTORY_MSG_LOCALCONTRAST_RADIUS;Místní kontrast - Poloměr
+HISTORY_MSG_METADATA_MODE;Režim kopírování metadat
+HISTORY_MSG_TM_FATTAL_ANCHOR;HDR TM - Kotva
HISTORY_NEWSNAPSHOT;Přidat
HISTORY_NEWSNAPSHOT_TOOLTIP;Zkratka: Alt-s
HISTORY_SNAPSHOT;Snímek
@@ -839,17 +856,19 @@ MAIN_MSG_QOVERWRITE;Chcete jej přepsat?
MAIN_MSG_SETPATHFIRST;K použití této funkce musíte nejprve zadat cílovou cestu\nv okně "Volby"!
MAIN_MSG_TOOMANYOPENEDITORS;Příliš mnoho otevřených editorů.\nPro pokračování nejprve některý ukončete.
MAIN_MSG_WRITEFAILED;Chyba zápisu\n"%1"\n\nUjistěte se, že složka existuje a máte práva do ní zapisovat.
+MAIN_TAB_ADVANCED;Pokročilé
+MAIN_TAB_ADVANCED_TOOLTIP;Zkratka: Alt-w
MAIN_TAB_COLOR;Barvy
MAIN_TAB_COLOR_TOOLTIP;Zkratka: Alt-c
MAIN_TAB_DETAIL;Detaily
MAIN_TAB_DETAIL_TOOLTIP;Zkratka: Alt-d
-MAIN_TAB_DEVELOP; Dávková editace
+MAIN_TAB_DEVELOP; Dávková editace
MAIN_TAB_EXIF;Exif
-MAIN_TAB_EXPORT; Rychlý export
+MAIN_TAB_EXPORT; Rychlý export
MAIN_TAB_EXPOSURE;Expozice
MAIN_TAB_EXPOSURE_TOOLTIP;Zkratka: Alt-e
-MAIN_TAB_FILTER; Filtr
-MAIN_TAB_INSPECT; Prohlížení
+MAIN_TAB_FILTER; Filtr
+MAIN_TAB_INSPECT; Prohlížení
MAIN_TAB_IPTC;IPTC
MAIN_TAB_METADATA;Metadata
MAIN_TAB_METADATA_TOOLTIP;Zkratka: Alt-m
@@ -857,8 +876,6 @@ MAIN_TAB_RAW;Raw
MAIN_TAB_RAW_TOOLTIP;Zkratka: Alt-r
MAIN_TAB_TRANSFORM;Transformace
MAIN_TAB_TRANSFORM_TOOLTIP;Zkratka: Alt-t
-MAIN_TAB_WAVELET;Vlnka
-MAIN_TAB_WAVELET_TOOLTIP;Zkratka: Alt-w
MAIN_TOOLTIP_BACKCOLOR0;Barva pozadí náhledu: Dle motivu\nZkratka: 9
MAIN_TOOLTIP_BACKCOLOR1;Barva pozadí náhledu: Černá\nZkratka: 9
MAIN_TOOLTIP_BACKCOLOR2;Barva pozadí náhledu: Bílá\nZkratka: 9
@@ -891,6 +908,10 @@ NAVIGATOR_S;S:
NAVIGATOR_V;V:
NAVIGATOR_XY_FULL;Šířka: %1, Výška: %2
NAVIGATOR_XY_NA;x: --, y: --
+OPTIONS_BUNDLED_MISSING;Vložený profil "%1" nelze nalézt .\n\nVaše instalace může být poškozena.\n\nBudou použity výchozí přednastavené hodnoty.
+OPTIONS_DEFIMG_MISSING;Výchozí profil pro ne raw fotky nelze nalézt nebo nastavit.\n\nZkontrolujte prosím vaši složku s profily, buď chybí nebo je poškozena.\n\nMísto něj bude použit profil "%1".
+OPTIONS_DEFRAW_MISSING;Výchozí profil pro raw fotky nelze nalézt nebo nastavit.\n\nZkontrolujte prosím vaši složku s profily, buď chybí nebo je poškozena.\n\nMísto něj bude použit profil "%1".
+PARTIALPASTE_ADVANCEDGROUP;Pokročilá nastavení
PARTIALPASTE_BASICGROUP;Základní nastavení
PARTIALPASTE_CACORRECTION;Korekce chromatické aberace
PARTIALPASTE_CHANNELMIXER;Míchání kanálů
@@ -929,7 +950,9 @@ PARTIALPASTE_IPTCINFO;IPTC
PARTIALPASTE_LABCURVE;L*a*b* úpravy
PARTIALPASTE_LENSGROUP;Nastavení související s objektivy
PARTIALPASTE_LENSPROFILE;Korekční profily objektivů
-PARTIALPASTE_METAGROUP;Metadata
+PARTIALPASTE_LOCALCONTRAST;Místní kontrast
+PARTIALPASTE_METADATA;Režim metadat
+PARTIALPASTE_METAGROUP;Nastavení metadat
PARTIALPASTE_PCVIGNETTE;Viněta
PARTIALPASTE_PERSPECTIVE;Perspektiva
PARTIALPASTE_PREPROCESS_DEADPIXFILT;Filtr mrtvých pixelů
@@ -961,7 +984,6 @@ PARTIALPASTE_SHARPENMICRO;Mikrokontrast
PARTIALPASTE_TM_FATTAL;HDR mapování tónů
PARTIALPASTE_VIBRANCE;Živost
PARTIALPASTE_VIGNETTING;Korekce vinětace
-PARTIALPASTE_WAVELETGROUP;Úrovně vlnky
PARTIALPASTE_WHITEBALANCE;Nastavení bílé
PREFERENCES_ADD;Přidat
PREFERENCES_APPLNEXTSTARTUP;vyžaduje restart aplikace
@@ -987,7 +1009,7 @@ PREFERENCES_CACHEMAXENTRIES;Maximální počet záznamů v mezipaměti
PREFERENCES_CACHEOPTS;Vlastnosti mezipaměti
PREFERENCES_CACHETHUMBHEIGHT;Maximální výška náhledu
PREFERENCES_CIEART;CIECAM02 optimalizace
-PREFERENCES_CIEART_FRAME;CIECAM0 2 -Specifická nastavení
+PREFERENCES_CIEART_FRAME;CIECAM02 - Specifická nastavení
PREFERENCES_CIEART_LABEL;Použít jednoduchou přesnost místo dvojnásobné
PREFERENCES_CIEART_TOOLTIP;Pokud je povoleno, budou pro CIECAM02 výpočty použita reálná čísla s jednoduchou přesností místo čísel s dvojnásobnou přesností. Tím se dosáhne mírného zrychlení výpočtů za cenu nepatrné ztráty kvality.
PREFERENCES_CLIPPINGIND;Indikace oříznutí
@@ -995,6 +1017,12 @@ PREFERENCES_CLUTSCACHE;Mezipaměť HaldCLUT
PREFERENCES_CLUTSCACHE_LABEL;Maximální počet přednačtených CLUTů
PREFERENCES_CLUTSDIR;Složka HaldCLUT
PREFERENCES_CMMBPC;Kompenzace černého bodu
+PREFERENCES_CROP;Úprava ořezu
+PREFERENCES_CROP_AUTO_FIT;Automaticky přizpůsobit přiblížení oblasti ořezu
+PREFERENCES_CROP_GUIDES;Zobrazovat vodítka i když neprobíhá ořez
+PREFERENCES_CROP_GUIDES_FRAME;Snímek
+PREFERENCES_CROP_GUIDES_FULL;Originál
+PREFERENCES_CROP_GUIDES_NONE;Nic
PREFERENCES_CURVEBBOXPOS;Pozice tlačítek pro kopírování a vložení křivky
PREFERENCES_CURVEBBOXPOS_ABOVE;Nad
PREFERENCES_CURVEBBOXPOS_BELOW;Pod
@@ -1026,6 +1054,7 @@ PREFERENCES_DIRLAST;Poslední navštívená složka
PREFERENCES_DIROTHER;Jiná
PREFERENCES_DIRSELECTDLG;Zvolte složku s obrázky při spuštění...
PREFERENCES_DIRSOFTWARE;Instalační složka
+PREFERENCES_EDITORCMDLINE;Vlastní příkazová řádka
PREFERENCES_EDITORLAYOUT;Rozvržení editoru
PREFERENCES_EXPAUT;Expert
PREFERENCES_EXTERNALEDITOR;Externí editor
@@ -1115,7 +1144,7 @@ PREFERENCES_PREVDEMO;Metoda demozajkování náhledu
PREFERENCES_PREVDEMO_FAST;Rychlá
PREFERENCES_PREVDEMO_LABEL;Metoda demozajkování pro náhled při přiblížení menším než 100%:
PREFERENCES_PREVDEMO_SIDECAR;Stejná jako v PP3
-PREFERENCES_PRINTER;Tiskárna (obtah)
+PREFERENCES_PRINTER;Tiskárna (měkký nátisk)
PREFERENCES_PROFILEHANDLING;Řízení profilů zpracování
PREFERENCES_PROFILELOADPR;Priorita nahrávání profilů zpracování
PREFERENCES_PROFILEPRCACHE;Profil v mezipaměti
@@ -1240,6 +1269,8 @@ SAVEDLG_SUBSAMP_TOOLTIP;Nejlepší komprese:\nJ:a:b 4:2:0\nh/v 2/2\nO polovinu s
SAVEDLG_TIFFUNCOMPRESSED;Nekomprimovaný TIFF
SAVEDLG_WARNFILENAME;Soubor bude pojmenován
SHCSELECTOR_TOOLTIP;Klikněte pravým tlačítkem myši pro obnovení výchozí pozice těchto tří posuvníků.
+SOFTPROOF_GAMUTCHECK_TOOLTIP;Zvýraznění pixelů s barvou mimo gamut bude respektovat:\n- profil tiskárny, pokud je nastaven a je povolen měkký nátisk,\n- výstupní profil, pokud není profil tiskárny nastaven a měkký nátisk je povolen,\n- profil monitoru, pokud je měkký nátisk zakázán.
+SOFTPROOF_TOOLTIP;Měkký nátisk simuluje přizpůsobení obrázku:\n- během tisku, pokud je nastaven tiskový profil ve Volby > Správa barev.\n- během prohlížení na displeji, kde, pokud není profil tiskárny nastaven, je použit aktuální výstupní profil.
THRESHOLDSELECTOR_B;Dole
THRESHOLDSELECTOR_BL;Dole vlevo
THRESHOLDSELECTOR_BR;Dole vpravo
@@ -1332,7 +1363,7 @@ TP_COLORAPP_ADAPTSCENE;Absolutní jas scény
TP_COLORAPP_ADAPTSCENE_TOOLTIP;Absolutní jas scény prostředí (cd/m²).\n 1) Vypočítáno z Exifu:\nRychlost závěrky - citlivost - clona - expoziční korekce fotoaparátu.\n 2) Vypočítáno z hodnoty raw bílého bodu a expoziční kompenzace Rawtherapee.
TP_COLORAPP_ADAPTVIEWING;Absolutní jas prohlížení (cd/m²)
TP_COLORAPP_ADAPTVIEWING_TOOLTIP;Absolutní jas prostředí prohlížení\n(obvykle 16cd/m²).
-TP_COLORAPP_ADAP_AUTO_TOOLTIP;Pokud je povoleno (doporučeno), RawTherapee vypočítá optimální hodnotu z Exif dat.\nPokud si přejete zadat hodnotu ručně, nejprve zrušte zatržení tohoto pole.
+TP_COLORAPP_ADAP_AUTO_TOOLTIP;Pokud je povoleno (doporučeno), RawTherapee vypočítá optimální hodnotu z Exif dat.\nPokud si přejete zadat hodnotu ručně, nejprve zrušte zatržení tohoto pole.
TP_COLORAPP_ALGO;Algoritmus
TP_COLORAPP_ALGO_ALL;Vše
TP_COLORAPP_ALGO_JC;Světlost + Barevnost (JC)
@@ -1340,7 +1371,7 @@ TP_COLORAPP_ALGO_JS;Světlost + Nasycení (JS)
TP_COLORAPP_ALGO_QM;Jas a pestrobarevnost (QM)
TP_COLORAPP_ALGO_TOOLTIP;Umožňuje vybrat mezi podmnožinou nebo všemi parametry.
TP_COLORAPP_BADPIXSL;Filtr vypálených/mrtvých pixelů
-TP_COLORAPP_BADPIXSL_TOOLTIP;Potlačení vypálených/mrtvých (jasně zabarvených) pixelů.\n0 = Bez efektu\n1 = Medián\n2 = Gaussův.\nPopřípadě obrázek upravte tak, aby jste se vyhnuli velmi tmavým stínům.\n\nTyto artefakty vznikají díky omezením CIECAM02.
+TP_COLORAPP_BADPIXSL_TOOLTIP;Potlačení vypálených/mrtvých (jasně zabarvených) pixelů.\n0 = Bez efektu\n1 = Medián\n2 = Gaussův.\nPopřípadě obrázek upravte tak, aby jste se vyhnuli velmi tmavým stínům.\n\nTyto artefakty vznikají díky omezením CIECAM02.
TP_COLORAPP_BRIGHT;Jas (O)
TP_COLORAPP_BRIGHT_TOOLTIP;Jas v CIECAM02 bere v potaz svítivost bílé a rozdíly jasů mezi L*a*b* a RGB.
TP_COLORAPP_CHROMA;Barevnost (C)
@@ -1406,7 +1437,7 @@ TP_COLORAPP_WBCAM;WB [RT+CAT02] + [výstup]
TP_COLORAPP_WBRT;WB [RT] + [výstup]
TP_COLORAPP_YB;Yb% (střední jas)
TP_COLORAPP_YBSCENE;Yb% (střední jas)
-TP_COLORAPP_YBSCENE_TOOLTIP;Pokud je povolena automatika, Yb je vypočteno ze střední hodnoty jasu aktuálního obrázku
+TP_COLORAPP_YBSCENE_TOOLTIP;Pokud je povolena automatika, Yb je vypočteno ze střední hodnoty jasu aktuálního obrázku
TP_COLORTONING_AB;o C/L
TP_COLORTONING_AUTOSAT;Automaticky
TP_COLORTONING_BALANCE;Vyvážené
@@ -1418,6 +1449,8 @@ TP_COLORTONING_HIGHLIGHT;Světla
TP_COLORTONING_HUE;Odstín
TP_COLORTONING_LAB;Mísení L*a*b*
TP_COLORTONING_LABEL;Barevné tónování
+TP_COLORTONING_LABGRID;Korekční mřížka L*a*b* barev
+TP_COLORTONING_LABGRID_VALUES;SV: a=%1 b=%2\nSA: a=%3 b=%4
TP_COLORTONING_LUMA;Jas
TP_COLORTONING_LUMAMODE;Zachování jasu
TP_COLORTONING_LUMAMODE_TOOLTIP;Pokud je povoleno, je při změně barvy (červená, zelená, tyrkysová, modrá...) zachován jas každého pixelu.
@@ -1471,6 +1504,7 @@ TP_DIRPYRDENOISE_CHROMINANCE_AUTOGLOBAL;Automatická celková
TP_DIRPYRDENOISE_CHROMINANCE_AUTOGLOBAL_TOOLTIP;Zkusí odhadnout barevný šum\nPozor, tento výpočet je zprůměrován a zcela subjektivní!
TP_DIRPYRDENOISE_CHROMINANCE_BLUEYELLOW;Barevnost - Modrá a žlutá
TP_DIRPYRDENOISE_CHROMINANCE_CURVE;Křivka barevnosti
+TP_DIRPYRDENOISE_CHROMINANCE_CURVE_TOOLTIP;Zvýší (násobí) hodnoty všech barevných posuvníků.\nKřivka vám umožní nastavit sílu redukce barevného šumu jako funkci barvy. Například pro zvýšení účinku v oblastech s nízkým nasycení a snížení v oblastech s vysokým nasycením.
TP_DIRPYRDENOISE_CHROMINANCE_FRAME;Barevnost
TP_DIRPYRDENOISE_CHROMINANCE_MANUAL;Ručně
TP_DIRPYRDENOISE_CHROMINANCE_MASTER;Barevnost - Hlavní
@@ -1479,7 +1513,7 @@ TP_DIRPYRDENOISE_CHROMINANCE_METHODADVANCED_TOOLTIP;Ručně\nOvlivňuje celý ob
TP_DIRPYRDENOISE_CHROMINANCE_METHOD_TOOLTIP;Ručně\nOvlivňuje celý obrázek.\nVolby redukce šumu nastavujete ručně.\n\nCelková automatika\nOvlivňuje celý obrázek.\nPro výpočet parametrů celkové redukce barevného šumu je použito 9 zón.\n\nVíce zónová automatika\nBez náhledu - funguje pouze při ukládání, přesto je možné pomocí funkce "Náhled" získat alespoň částečnou představu o výsledku, Nastavení jsou aplikována na centrální dlaždici.\nObrázek je rozdělen na dlaždice (V závislosti na velikosti obrázku jich bude 10 až 70) a pro každou dlaždici bude vypočítáno vhodné nastavení redukce barevného šumu.\n\nNáhled\nOvlivňuje celý obrázek.\nPro výpočet celkového nastavení redukce barevného šumu je použita viditelná část obrázku.
TP_DIRPYRDENOISE_CHROMINANCE_PMZ;Více zónový náhled
TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW;Náhled
-TP_DIRPYRDENOISE_CHROMINANCE_PREVIEWRESIDUAL_INFO_TOOLTIP;Zobrazuje zbývající úroveň zašumění části obrázku viditelného v náhledu po vlnkové transformaci.\n\n>300 Hodně šumu\n100-300 Šum\n50-100 Málo šumu\n<50 Velmi málo šumu\n\nUpozornění: hodnoty RGB a L*a*b* režimu se budou lišit. Protože v RGB režimu nedochází ke kompletnímu oddělení jasu a barev jsou RGB hodnoty jméně přesné
+TP_DIRPYRDENOISE_CHROMINANCE_PREVIEWRESIDUAL_INFO_TOOLTIP;Zobrazuje zbývající úroveň zašumění části obrázku viditelného v náhledu po vlnkové transformaci.\n\n>300 Hodně šumu\n100-300 Šum\n50-100 Málo šumu\n<50 Velmi málo šumu\n\nPozor, hodnoty RGB a L*a*b* se budou lišit. Hodnoty RGB jsou méně přesné, protože v RGB režimu nedochází ke kompletnímu oddělení jasu a barev.
TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_INFO;Velikost náhledu=%1, Střed: Px=%2 Py=%3
TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_NOISEINFO;Náhled šumu: Průměr=%1 Výšky=%2
TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_NOISEINFO_EMPTY;Náhled šumu: Průměr= - Výšky= -
@@ -1487,22 +1521,22 @@ TP_DIRPYRDENOISE_CHROMINANCE_PREVIEW_TILEINFO;Velikost dlaždice=%1, Střed: Tx=
TP_DIRPYRDENOISE_CHROMINANCE_REDGREEN;Barevnost - Červená a zelená
TP_DIRPYRDENOISE_ENH;Vylepšený režim
TP_DIRPYRDENOISE_ENH_TOOLTIP;Zvýší kvalitu odstranění šumu, ale zároveň prodlouží dobu zpracování o 20%.
+TP_DIRPYRDENOISE_LABEL;Redukce šumu
TP_DIRPYRDENOISE_LUMINANCE_CONTROL;Ovládání jasu
TP_DIRPYRDENOISE_LUMINANCE_CURVE;Křivka jasů
-TP_DIRPYRDENOISE_LUMINANCE_DETAIL;Jas - Detail
+TP_DIRPYRDENOISE_LUMINANCE_DETAIL;Obnovení detailů
TP_DIRPYRDENOISE_LUMINANCE_FRAME;Jas
TP_DIRPYRDENOISE_LUMINANCE_SMOOTHING;Jas
-TP_DIRPYRDENOISE_MAIN_COLORSPACE;Metoda
+TP_DIRPYRDENOISE_MAIN_COLORSPACE;Barevný prostor
TP_DIRPYRDENOISE_MAIN_COLORSPACE_LAB;L*a*b*
-TP_DIRPYRDENOISE_MAIN_COLORSPACE_LABEL;Redukce šumu
TP_DIRPYRDENOISE_MAIN_COLORSPACE_RGB;RGB
TP_DIRPYRDENOISE_MAIN_COLORSPACE_TOOLTIP;Pro raw obrázky může být použita jak RGB tak i L*a*b* metoda.\n\nPro ostatní obrázky bude vždy použita metoda L*a*b* bez ohledu na výběr.
TP_DIRPYRDENOISE_MAIN_GAMMA;Gama
TP_DIRPYRDENOISE_MAIN_GAMMA_TOOLTIP;Gama ovlivňuje sílu redukce šumu v rozsahu tónů. Menší hodnoty ovlivňují stíny, kdežto vysoké hodnoty zesílí efekt v jasných tónech.
-TP_DIRPYRDENOISE_MAIN_MODE;Kvalita
-TP_DIRPYRDENOISE_MAIN_MODE_AGGRESSIVE;Vysoká
-TP_DIRPYRDENOISE_MAIN_MODE_CONSERVATIVE;Běžná
-TP_DIRPYRDENOISE_MAIN_MODE_TOOLTIP;Kvalita může být přizpůsobena vzoru šumu. Nastavení "Vysoká" vylepší efekt redukce šumu za cenu navýšení času zpracování.
+TP_DIRPYRDENOISE_MAIN_MODE;Mód
+TP_DIRPYRDENOISE_MAIN_MODE_AGGRESSIVE;Agresívní
+TP_DIRPYRDENOISE_MAIN_MODE_CONSERVATIVE;Konzervativní
+TP_DIRPYRDENOISE_MAIN_MODE_TOOLTIP;"Konzervativní" zachovává nízkofrekvenční barevné vzory, zatímco "Agresivní" je vyhladí.
TP_DIRPYRDENOISE_MEDIAN_METHOD;Metoda mediánu
TP_DIRPYRDENOISE_MEDIAN_METHOD_CHROMINANCE;Pouze barevnost
TP_DIRPYRDENOISE_MEDIAN_METHOD_LAB;L*a*b*
@@ -1561,6 +1595,8 @@ TP_EXPOSURE_CURVEEDITOR1;Tónová křivka 1
TP_EXPOSURE_CURVEEDITOR2;Tónová křivka 2
TP_EXPOSURE_CURVEEDITOR2_TOOLTIP;Podívejte se prosím na článek "Exposure > Tone Curves" na RawPedii, kde se můžete naučit. jak pomocí dvou tónových křivek dosáhnout ten nejlepší výsledek.
TP_EXPOSURE_EXPCOMP;Kompenzace expozice
+TP_EXPOSURE_HISTMATCHING;Automaticky nalezená Tónová křivka
+TP_EXPOSURE_HISTMATCHING_TOOLTIP;Automatické nastavení posuvníků a křivek (kromě kompenzace expozice) tak, aby bylo dosaženo co největší shody s vloženým Jpeg náhledem.
TP_EXPOSURE_LABEL;Expozice
TP_EXPOSURE_SATURATION;Nasycení
TP_EXPOSURE_TCMODE_FILMLIKE;Jako film
@@ -1697,6 +1733,15 @@ TP_LENSPROFILE_LABEL;Korekční profily objektivů
TP_LENSPROFILE_USECA;Korekce chromatické aberace
TP_LENSPROFILE_USEDIST;Korekce zkreslení
TP_LENSPROFILE_USEVIGN;Korekce vinětace
+TP_LOCALCONTRAST_AMOUNT;Míra
+TP_LOCALCONTRAST_DARKNESS;Úroveň tmavé
+TP_LOCALCONTRAST_LABEL;Místní kontrast
+TP_LOCALCONTRAST_LIGHTNESS;Úroveň světlé
+TP_LOCALCONTRAST_RADIUS;Poloměr
+TP_METADATA_EDIT;Aplikovat změny
+TP_METADATA_MODE;Režim kopírování metadat
+TP_METADATA_STRIP;Odstranit všechna metadata
+TP_METADATA_TUNNEL;Kopírovat beze změny
TP_NEUTRAL;Obnovit
TP_NEUTRAL_TIP;Nastaví posuvníky expozice na neutrální hodnoty,\nPoužije stejné kontroly jako volba "Automatické úrovně" bez ohledu na to, zda jsou nebo nejsou Automatické úrovně použity.
TP_PCVIGNETTE_FEATHER;Rozptyl
@@ -1747,7 +1792,7 @@ TP_RAW_DCBITERATIONS;Počet průchodů DCB
TP_RAW_DMETHOD;Metoda
TP_RAW_DMETHOD_PROGRESSBAR;%1 demozajkování...
TP_RAW_DMETHOD_PROGRESSBAR_REFINE;Vylepšení demozajkování...
-TP_RAW_DMETHOD_TOOLTIP;Poznámka: IGV a LMMSE jsou určeny pro obrázky s vysokým ISO, kde pomáhají redukci šumu minimalizovat posterizaci a vyžehlený vzhled.\n\nPixel Shift je určen pro soubory Pentax Pixel Shift.\nPro soubory neobsahující Pixel Shift data je použita metoda AMaZE.
+TP_RAW_DMETHOD_TOOLTIP;Poznámka: IGV a LMMSE jsou určeny pro obrázky s vysokým ISO, kterým pomáhají vyhnout se u redukce šumu vzniku vzorů, posterizaci a vyžehlenému vzhledu.\n\nPixel Shift je určen pro soubory Pentax/Sony Pixel Shift.\nPro soubory neobsahující Pixel Shift data je použita metoda AMaZE.
TP_RAW_EAHD;EAHD
TP_RAW_FALSECOLOR;Počet kroků potlačování chybných barev
TP_RAW_FAST;Rychlá
@@ -1756,7 +1801,7 @@ TP_RAW_HD_TOOLTIP;Nižší hodnoty učiní detekci vypálených/mrtvých bodů a
TP_RAW_HPHD;HPHD
TP_RAW_IGV;IGV
TP_RAW_IMAGENUM;Dílčí snímek
-TP_RAW_IMAGENUM_TOOLTIP;Některé raw snímky obsahují několik podsnímků (Pentax Pixel Shift, Pentax 3-in-1 HDR, Canon Dual Pixel).\n\nV případě, že je pro demozajkování použita jiná metoda než Pixel Shift, tato volba určí, který podsnímek se použije.\n\nPokud je použita Pixel Shift metoda demozajkování na Pixel Shift raw soubory, budou použity všechny podsnímky a tato volba určí, který snímek bude použit pro pohyblivé části.
+TP_RAW_IMAGENUM_TOOLTIP;Některé raw snímky obsahují několik podsnímků (Pentax/Sony Pixel Shift, Pentax 3-in-1 HDR, Canon Dual Pixel).\n\nV případě, že je pro demozajkování použita jiná metoda než Pixel Shift, tato volba určí, který podsnímek se použije.\n\nPokud je použita Pixel Shift metoda demozajkování na Pixel Shift raw soubory, budou použity všechny podsnímky a tato volba určí, který snímek bude použit pro pohyblivé části.
TP_RAW_LABEL;Demozajkování
TP_RAW_LMMSE;LMMSE
TP_RAW_LMMSEITERATIONS;Kroky rozšíření LMMSE
@@ -1796,6 +1841,8 @@ TP_RAW_PIXELSHIFTNONGREENCROSS2;Kontrolovat zelené AMaZE
TP_RAW_PIXELSHIFTNONGREENHORIZONTAL;Kontrolovat červenou/modrou vodorovně
TP_RAW_PIXELSHIFTNONGREENVERTICAL;Kontrolovat červenou/modrou svisle
TP_RAW_PIXELSHIFTNREADISO;nRead
+TP_RAW_PIXELSHIFTONEGREEN;Použít jednu zelenou místo průměru
+TP_RAW_PIXELSHIFTONEGREEN_TOOLTIP;V oblastech bez pohybu použije jednu zelenou namísto zprůměrování obou zelených.
TP_RAW_PIXELSHIFTPRNU;PRNU (%)
TP_RAW_PIXELSHIFTREDBLUEWEIGHT;Váha červené a modré
TP_RAW_PIXELSHIFTSHOWMOTION;Ukázat masku pohybu
@@ -1951,6 +1998,7 @@ TP_SHARPENMICRO_LABEL;Mikrokontrast
TP_SHARPENMICRO_MATRIX;Matice 3×3 namísto 5×5
TP_SHARPENMICRO_UNIFORMITY;Jednolitost
TP_TM_FATTAL_AMOUNT;Míra
+TP_TM_FATTAL_ANCHOR;Kotva
TP_TM_FATTAL_LABEL;HDR Mapování tónů
TP_TM_FATTAL_THRESHOLD;Práh
TP_VIBRANCE_AVOIDCOLORSHIFT;Zabránit posunu barev
@@ -2191,63 +2239,7 @@ TP_WBALANCE_WATER_HEADER;Pod vodou
ZOOMPANEL_100;(100%)
ZOOMPANEL_NEWCROPWINDOW;Otevřít (nové) okno detailu
ZOOMPANEL_ZOOM100;Zvětšit na 100%\nZkratka: z
-ZOOMPANEL_ZOOMFITCROPSCREEN;Přizpůsobit obrazovce\nZkratka: Alt-f
-ZOOMPANEL_ZOOMFITSCREEN;Přizpůsobit obrázek obrazovce\nZkratka: f
+ZOOMPANEL_ZOOMFITCROPSCREEN;Přizpůsobit ořez obrazovce\nZkratka: f
+ZOOMPANEL_ZOOMFITSCREEN;Přizpůsobit celý obrázek obrazovce\nZkratka: Alt-f
ZOOMPANEL_ZOOMIN;Přiblížit\nZkratka: +
ZOOMPANEL_ZOOMOUT;Oddálit\nZkratka: -
-
-!!!!!!!!!!!!!!!!!!!!!!!!!
-! Untranslated keys follow; remove the ! prefix after an entry is translated.
-!!!!!!!!!!!!!!!!!!!!!!!!!
-
-!BATCHQUEUE_STARTSTOPHINT;Start or stop processing the images in the queue.\n\nShortcut: Ctrl+s
-!GENERAL_SLIDER;Slider
-!HISTORY_MSG_173;NR - Detail recovery
-!HISTORY_MSG_203;NR - Color space
-!HISTORY_MSG_256;NR - Median - Type
-!HISTORY_MSG_297;NR - Mode
-!HISTORY_MSG_493;L*a*b* Adjustments
-!HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
-!HISTORY_MSG_HISTMATCHING;Auto-matched Tone Curve
-!HISTORY_MSG_LOCALCONTRAST_AMOUNT;Local Contrast - Amount
-!HISTORY_MSG_LOCALCONTRAST_DARKNESS;Local Contrast - Darkness
-!HISTORY_MSG_LOCALCONTRAST_ENABLED;Local Contrast
-!HISTORY_MSG_LOCALCONTRAST_LIGHTNESS;Local Contrast - Lightness
-!HISTORY_MSG_LOCALCONTRAST_RADIUS;Local Contrast - Radius
-!HISTORY_MSG_METADATA_MODE;Metadata copy mode
-!HISTORY_MSG_TM_FATTAL_ANCHOR;HDR TM - Anchor
-!MAIN_TAB_ADVANCED;Advanced
-!MAIN_TAB_ADVANCED_TOOLTIP;Shortcut: Alt-w
-!OPTIONS_BUNDLED_MISSING;The bundled profile "%1" could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead.
-!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead.
-!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead.
-!PARTIALPASTE_ADVANCEDGROUP;Advanced Settings
-!PARTIALPASTE_LOCALCONTRAST;Local contrast
-!PARTIALPASTE_METADATA;Metadata mode
-!PREFERENCES_CROP;Crop editing
-!PREFERENCES_CROP_AUTO_FIT;Automatically zoom to fit the crop area
-!PREFERENCES_CROP_GUIDES;Guides shown when not editing the crop
-!PREFERENCES_CROP_GUIDES_FRAME;Frame
-!PREFERENCES_CROP_GUIDES_FULL;Original
-!PREFERENCES_CROP_GUIDES_NONE;None
-!PREFERENCES_EDITORCMDLINE;Custom command line
-!SOFTPROOF_GAMUTCHECK_TOOLTIP;Highlight pixels with out-of-gamut colors with respect to:\n- the printer profile, if one is set and soft-proofing is enabled,\n- the output profile, if a printer profile is not set and soft-proofing is enabled,\n- the monitor profile, if soft-proofing is disabled.
-!SOFTPROOF_TOOLTIP;Soft-proofing simulates the appearance of the image:\n- when printed, if a printer profile is set in Preferences > Color Management,\n- when viewed on a display that uses the current output profile, if a printer profile is not set.
-!TP_COLORTONING_LABGRID;L*a*b* color correction grid
-!TP_COLORTONING_LABGRID_VALUES;HL: a=%1 b=%2\nS: a=%3 b=%4
-!TP_DIRPYRDENOISE_CHROMINANCE_CURVE_TOOLTIP;Increase (multiply) the value of all chrominance sliders.\nThis curve lets you adjust the strength of chromatic noise reduction as a function of chromaticity, for instance to increase the action in areas of low saturation and to decrease it in those of high saturation.
-!TP_DIRPYRDENOISE_LABEL;Noise Reduction
-!TP_EXPOSURE_HISTMATCHING;Auto-matched Tone Curve
-!TP_EXPOSURE_HISTMATCHING_TOOLTIP;Automatically adjust sliders and curves (except exposure compensation) to match the look of the embedded JPEG thumbnail.
-!TP_LOCALCONTRAST_AMOUNT;Amount
-!TP_LOCALCONTRAST_DARKNESS;Darkness level
-!TP_LOCALCONTRAST_LABEL;Local Contrast
-!TP_LOCALCONTRAST_LIGHTNESS;Lightness level
-!TP_LOCALCONTRAST_RADIUS;Radius
-!TP_METADATA_EDIT;Apply modifications
-!TP_METADATA_MODE;Metadata copy mode
-!TP_METADATA_STRIP;Strip all metadata
-!TP_METADATA_TUNNEL;Copy unchanged
-!TP_RAW_PIXELSHIFTONEGREEN;Use one green instead of average
-!TP_RAW_PIXELSHIFTONEGREEN_TOOLTIP;Use one green instead of averaging two greens for regions without motion.
-!TP_TM_FATTAL_ANCHOR;Anchor
diff --git a/rtdata/languages/Deutsch b/rtdata/languages/Deutsch
index f66c43ec9..ddc6d0175 100644
--- a/rtdata/languages/Deutsch
+++ b/rtdata/languages/Deutsch
@@ -51,6 +51,7 @@
#50 07.01.2018 Crop Settings (TooWaBoo) RT 5.3
#51 10.02.2018 Erweiterung (TooWaBoo) RT 5.3
#52 10.02.2018 Korrektur (TooWaBoo) RT 5.3
+#53 26.02.2018 Erweiterung (TooWaBoo) RT 5.3
ABOUT_TAB_BUILD;Version
ABOUT_TAB_CREDITS;Danksagungen
@@ -921,6 +922,9 @@ NAVIGATOR_S;S:
NAVIGATOR_V;V:
NAVIGATOR_XY_FULL;Breite = %1, Höhe = %2
NAVIGATOR_XY_NA;x: --, y: --
+OPTIONS_BUNDLED_MISSING;Das mitgelieferte Profil %1 konnte nicht gefunden werden!\n\nIhre Installation könnte beschädigt sein.\n\nEs werden die internen Standardwerte verwendet.
+OPTIONS_DEFIMG_MISSING;Das Standardprofil für Bilddateien wurde nicht gefunden oder ist beschädigt.\n\nBitte überprüfen Sie das Verzeichnis Ihrer Profile.\n\nProfil %1 wird stattdessen verwendet.
+OPTIONS_DEFRAW_MISSING;Das Standardprofil für RAW-Dateien wurde nicht gefunden oder ist beschädigt.\n\nBitte überprüfen Sie das Verzeichnis Ihrer Profile.\n\nProfil %1 wird stattdessen verwendet.
PARTIALPASTE_ADVANCEDGROUP;Erweiterte Einstellungen
PARTIALPASTE_BASICGROUP;Basisparameter
PARTIALPASTE_CACORRECTION;Farbsaum entfernen
@@ -2252,15 +2256,8 @@ TP_WBALANCE_WATER_HEADER;Unterwasser
ZOOMPANEL_100;(100%)
ZOOMPANEL_NEWCROPWINDOW;Neues Detailfenster öffnen
ZOOMPANEL_ZOOM100;Zoom 100%\nTaste: z
-ZOOMPANEL_ZOOMFITCROPSCREEN;Ausschnitt an Bildschirm anpassen\nTaste: Alt + f
-ZOOMPANEL_ZOOMFITSCREEN;An Bildschirm anpassen\nTaste: f
+ZOOMPANEL_ZOOMFITCROPSCREEN;Ausschnitt an Bildschirm anpassen\nTaste: f
+ZOOMPANEL_ZOOMFITSCREEN;An Bildschirm anpassen\nTaste: Alt + f
ZOOMPANEL_ZOOMIN;Hineinzoomen\nTaste: +
ZOOMPANEL_ZOOMOUT;Herauszoomen\nTaste: -
-!!!!!!!!!!!!!!!!!!!!!!!!!
-! Untranslated keys follow; remove the ! prefix after an entry is translated.
-!!!!!!!!!!!!!!!!!!!!!!!!!
-
-!OPTIONS_BUNDLED_MISSING;The bundled profile "%1" could not be found!\n\nYour installation could be damaged.\n\nDefault internal values will be used instead.
-!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead.
-!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\n"%1" will be used instead.
diff --git a/rtdata/languages/Espanol b/rtdata/languages/Espanol
index 1b23bdcff..dc78f321e 100644
--- a/rtdata/languages/Espanol
+++ b/rtdata/languages/Espanol
@@ -1477,7 +1477,7 @@ TP_WBALANCE_WATER_HEADER;Subacuático
ZOOMPANEL_100;(100%)
ZOOMPANEL_NEWCROPWINDOW;Abrir (nueva) ventana de detalle
ZOOMPANEL_ZOOM100;Zoom al 100%\nAtajo: z
-ZOOMPANEL_ZOOMFITSCREEN;Ajustar a pantalla\nAtajo: f
+ZOOMPANEL_ZOOMFITSCREEN;Ajustar a pantalla\nAtajo: Alt-f
ZOOMPANEL_ZOOMIN;Aumentar Zoom\nAtajo: +
ZOOMPANEL_ZOOMOUT;Reducir Zoom\nAtajo: -
diff --git a/rtdata/languages/Francais b/rtdata/languages/Francais
index 17ee23ae2..3ea77ab78 100644
--- a/rtdata/languages/Francais
+++ b/rtdata/languages/Francais
@@ -2204,8 +2204,8 @@ TP_WBALANCE_WATER_HEADER;Sous-marin
ZOOMPANEL_100;(100%)
ZOOMPANEL_NEWCROPWINDOW;Ouvrir une (nouvelle) vue détaillée
ZOOMPANEL_ZOOM100;Zoom à 100%\nRaccourci: z
-ZOOMPANEL_ZOOMFITCROPSCREEN;Zoom/affiche la zone recadrée\nRaccourci: Alt-f
-ZOOMPANEL_ZOOMFITSCREEN;Affiche l'image entière\nRaccourci: f
+ZOOMPANEL_ZOOMFITCROPSCREEN;Zoom/affiche la zone recadrée\nRaccourci: f
+ZOOMPANEL_ZOOMFITSCREEN;Affiche l'image entière\nRaccourci: Alt-f
ZOOMPANEL_ZOOMIN;Zoom Avant\nRaccourci: +
ZOOMPANEL_ZOOMOUT;Zoom Arrière\nRaccourci: -
diff --git a/rtdata/languages/Italiano b/rtdata/languages/Italiano
index 820e43816..4615a1c62 100644
--- a/rtdata/languages/Italiano
+++ b/rtdata/languages/Italiano
@@ -1312,7 +1312,7 @@ TP_WBALANCE_WATER_HEADER;Subacqueo
ZOOMPANEL_100;(100%)
ZOOMPANEL_NEWCROPWINDOW;Apri (nuova) finestra di dettaglio
ZOOMPANEL_ZOOM100;Ingrandimento al 100%.\nScorciatoia: z
-ZOOMPANEL_ZOOMFITSCREEN;Adatta allo schermo.\nScorciatoia: f
+ZOOMPANEL_ZOOMFITSCREEN;Adatta allo schermo.\nScorciatoia: Alt-f
ZOOMPANEL_ZOOMIN;Ingrandisci.\nScorciatoia: +
ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: -
diff --git a/rtdata/languages/Japanese b/rtdata/languages/Japanese
index 5915f6071..bc6daac04 100644
--- a/rtdata/languages/Japanese
+++ b/rtdata/languages/Japanese
@@ -1846,8 +1846,8 @@ TP_WBALANCE_WATER_HEADER;水中
ZOOMPANEL_100;(100%)
ZOOMPANEL_NEWCROPWINDOW;新規ディテール ウィンドウを開く
ZOOMPANEL_ZOOM100;100%にズーム\nショートカット: z
-ZOOMPANEL_ZOOMFITCROPSCREEN;切り抜き画像を画面に合わせる\nショートカット: Alt-f
-ZOOMPANEL_ZOOMFITSCREEN;画像全体を画面に合わせる\nショートカット: f
+ZOOMPANEL_ZOOMFITCROPSCREEN;切り抜き画像を画面に合わせる\nショートカット: f
+ZOOMPANEL_ZOOMFITSCREEN;画像全体を画面に合わせる\nショートカット: Alt-f
ZOOMPANEL_ZOOMIN;ズームイン\nショートカット: +
ZOOMPANEL_ZOOMOUT;ズームアウト\nショートカット: -
diff --git a/rtdata/languages/Magyar b/rtdata/languages/Magyar
index caea757b5..c8cbc100f 100644
--- a/rtdata/languages/Magyar
+++ b/rtdata/languages/Magyar
@@ -858,7 +858,7 @@ TP_WBALANCE_TUNGSTEN;Tungsten
ZOOMPANEL_100;(100%)
ZOOMPANEL_NEWCROPWINDOW;(Új) lupe megnyitása
ZOOMPANEL_ZOOM100;Nagyítás 100%-ra z
-ZOOMPANEL_ZOOMFITSCREEN;Képernyő méretéhez igazítás f
+ZOOMPANEL_ZOOMFITSCREEN;Képernyő méretéhez igazítás Alt-f
ZOOMPANEL_ZOOMIN;Nagyítás +
ZOOMPANEL_ZOOMOUT;Kicsinyítés -
diff --git a/rtdata/languages/Nederlands b/rtdata/languages/Nederlands
index 3804c52a7..1f317a7fa 100644
--- a/rtdata/languages/Nederlands
+++ b/rtdata/languages/Nederlands
@@ -2108,8 +2108,8 @@ TP_WBALANCE_WATER_HEADER;Onderwater
ZOOMPANEL_100;(100%)
ZOOMPANEL_NEWCROPWINDOW;Open (nieuw) detailvenster
ZOOMPANEL_ZOOM100;Zoom naar 100%\nSneltoets: z
-ZOOMPANEL_ZOOMFITCROPSCREEN;Maak uitsnede passend in het scherm\nSneltoets: Alt-f
-ZOOMPANEL_ZOOMFITSCREEN;Passend in venster\nSneltoets: f
+ZOOMPANEL_ZOOMFITCROPSCREEN;Maak uitsnede passend in het scherm\nSneltoets: f
+ZOOMPANEL_ZOOMFITSCREEN;Passend in venster\nSneltoets: Alt-f
ZOOMPANEL_ZOOMIN;Zoom in\nSneltoets: +
ZOOMPANEL_ZOOMOUT;Zoom uit\nSneltoets: -
diff --git a/rtdata/languages/Polish b/rtdata/languages/Polish
index 946c8ea63..a4def66c5 100644
--- a/rtdata/languages/Polish
+++ b/rtdata/languages/Polish
@@ -1434,8 +1434,8 @@ TP_WBALANCE_WATER_HEADER;Pod wodą
ZOOMPANEL_100;(100%)
ZOOMPANEL_NEWCROPWINDOW;Otwórz (nową) lupę
ZOOMPANEL_ZOOM100;Powiększ do 100%\nSkrót: z
-ZOOMPANEL_ZOOMFITCROPSCREEN;Dopasuj kadr do ekranu\nSkrót: Alt-f
-ZOOMPANEL_ZOOMFITSCREEN;Dopasuj cały obraz do ekranu\nSkrót: f
+ZOOMPANEL_ZOOMFITCROPSCREEN;Dopasuj kadr do ekranu\nSkrót: f
+ZOOMPANEL_ZOOMFITSCREEN;Dopasuj cały obraz do ekranu\nSkrót: Alt-f
ZOOMPANEL_ZOOMIN;Przybliż\nSkrót: +
ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: -
diff --git a/rtdata/languages/Polish (Latin Characters) b/rtdata/languages/Polish (Latin Characters)
index 2e6d74122..5c5d31f72 100644
--- a/rtdata/languages/Polish (Latin Characters)
+++ b/rtdata/languages/Polish (Latin Characters)
@@ -1434,8 +1434,8 @@ TP_WBALANCE_WATER_HEADER;Pod woda
ZOOMPANEL_100;(100%)
ZOOMPANEL_NEWCROPWINDOW;Otworz (nowa) lupe
ZOOMPANEL_ZOOM100;Powieksz do 100%\nSkrot: z
-ZOOMPANEL_ZOOMFITCROPSCREEN;Dopasuj kadr do ekranu\nSkrot: Alt-f
-ZOOMPANEL_ZOOMFITSCREEN;Dopasuj caly obraz do ekranu\nSkrot: f
+ZOOMPANEL_ZOOMFITCROPSCREEN;Dopasuj kadr do ekranu\nSkrot: f
+ZOOMPANEL_ZOOMFITSCREEN;Dopasuj caly obraz do ekranu\nSkrot: Alt-f
ZOOMPANEL_ZOOMIN;Przybliz\nSkrot: +
ZOOMPANEL_ZOOMOUT;Oddal\nSkrot: -
diff --git a/rtdata/languages/Russian b/rtdata/languages/Russian
index 01efea73d..c27a78270 100644
--- a/rtdata/languages/Russian
+++ b/rtdata/languages/Russian
@@ -1406,7 +1406,7 @@ ZOOMPANEL_100;(100%)
ZOOMPANEL_NEWCROPWINDOW;Новое окно детального просмотра
ZOOMPANEL_ZOOM100;Масштаб 100%\nГорячая клавиша: z
ZOOMPANEL_ZOOMFITCROPSCREEN;Уместить кадрированное изображение по размеру экрану\nГорячая клавиша: f
-ZOOMPANEL_ZOOMFITSCREEN;Уместить изображение по размерам окна\nГорячая клавиша: Alt-f
+ZOOMPANEL_ZOOMFITSCREEN;Уместить изображение по размерам окна\nГорячая клавиша: Alt-f
ZOOMPANEL_ZOOMIN;Приблизить\nГорячая клавиша: +
ZOOMPANEL_ZOOMOUT;Отдалить\nГорячая клавиша: -
diff --git a/rtdata/languages/Serbian (Cyrilic Characters) b/rtdata/languages/Serbian (Cyrilic Characters)
index 56cc853de..4c45633eb 100644
--- a/rtdata/languages/Serbian (Cyrilic Characters)
+++ b/rtdata/languages/Serbian (Cyrilic Characters)
@@ -1269,7 +1269,7 @@ TP_WBALANCE_WATER_HEADER;Подводна фотографија
ZOOMPANEL_100;(100%)
ZOOMPANEL_NEWCROPWINDOW;Отвара нови прозор са детаљима
ZOOMPANEL_ZOOM100;Повећава преглед на 100% z
-ZOOMPANEL_ZOOMFITSCREEN;Уклапа слику у величину прозора Ф
+ZOOMPANEL_ZOOMFITSCREEN;Уклапа слику у величину прозора Alt-Ф
ZOOMPANEL_ZOOMIN;Увећава приказ слике +
ZOOMPANEL_ZOOMOUT;Умањује приказ слике -
diff --git a/rtdata/languages/Serbian (Latin Characters) b/rtdata/languages/Serbian (Latin Characters)
index 3157f1089..0552ba29a 100644
--- a/rtdata/languages/Serbian (Latin Characters)
+++ b/rtdata/languages/Serbian (Latin Characters)
@@ -1269,7 +1269,7 @@ TP_WBALANCE_WATER_HEADER;Podvodna fotografija
ZOOMPANEL_100;(100%)
ZOOMPANEL_NEWCROPWINDOW;Otvara novi prozor sa detaljima
ZOOMPANEL_ZOOM100;Povećava pregled na 100% z
-ZOOMPANEL_ZOOMFITSCREEN;Uklapa sliku u veličinu prozora F
+ZOOMPANEL_ZOOMFITSCREEN;Uklapa sliku u veličinu prozora Alt-f
ZOOMPANEL_ZOOMIN;Uvećava prikaz slike +
ZOOMPANEL_ZOOMOUT;Umanjuje prikaz slike -
diff --git a/rtdata/languages/Slovak b/rtdata/languages/Slovak
index 1664b6150..a8728cbc5 100644
--- a/rtdata/languages/Slovak
+++ b/rtdata/languages/Slovak
@@ -499,7 +499,7 @@ TP_WBALANCE_TEMPERATURE;Teplota
ZOOMPANEL_100;(100%)
ZOOMPANEL_NEWCROPWINDOW;Otvoriť (nové) okno s detailom
ZOOMPANEL_ZOOM100;Priblíženie na 100% z
-ZOOMPANEL_ZOOMFITSCREEN;Prispôsobiť obrazovke f
+ZOOMPANEL_ZOOMFITSCREEN;Prispôsobiť obrazovke Alt-f
ZOOMPANEL_ZOOMIN;Priblížiť +
ZOOMPANEL_ZOOMOUT;Oddialiť -
diff --git a/rtdata/languages/Swedish b/rtdata/languages/Swedish
index c7b03a1b1..67572efba 100644
--- a/rtdata/languages/Swedish
+++ b/rtdata/languages/Swedish
@@ -1852,8 +1852,8 @@ TP_WBALANCE_WATER_HEADER;Under vattnet
ZOOMPANEL_100;(100%)
ZOOMPANEL_NEWCROPWINDOW;Öppna (nytt) detaljfönster.
ZOOMPANEL_ZOOM100;Förstora till 100%.\nKortkommando: z
-ZOOMPANEL_ZOOMFITCROPSCREEN;Anpassa beskärningen till skärmen\nKortkommando: Alt-f
-ZOOMPANEL_ZOOMFITSCREEN;Passa till skärmen.\nKortkommando: f
+ZOOMPANEL_ZOOMFITCROPSCREEN;Anpassa beskärningen till skärmen\nKortkommando: f
+ZOOMPANEL_ZOOMFITSCREEN;Passa till skärmen.\nKortkommando: Alt-f
ZOOMPANEL_ZOOMIN;Förstora.\nKortkommando: +
ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: -
diff --git a/rtengine/LUT.h b/rtengine/LUT.h
index abc2b0bde..a55c5f5bd 100644
--- a/rtengine/LUT.h
+++ b/rtengine/LUT.h
@@ -102,9 +102,9 @@ protected:
private:
unsigned int owner;
#ifdef __SSE2__
- vfloat maxsv ALIGNED16;
- vfloat sizev ALIGNED16;
- vint sizeiv ALIGNED16;
+ alignas(16) vfloat maxsv;
+ alignas(16) vfloat sizev;
+ alignas(16) vint sizeiv;
#endif
public:
/// convenience flag! If one doesn't want to delete the buffer but want to flag it to be recomputed...
diff --git a/rtengine/camconst.json b/rtengine/camconst.json
index 95d9606fa..8709c16c7 100644
--- a/rtengine/camconst.json
+++ b/rtengine/camconst.json
@@ -1265,6 +1265,12 @@ Camera constants:
"ranges": { "white": 16100 }
},
+ { // Quality B
+ "make_model": "FUJIFILM X-E3",
+ "dcraw_matrix": [ 11434,-4948,-1210,-3746,12042,1903,-666,1479,5235 ], // DNG v10 D65
+ "ranges": { "white": 16100 }
+ },
+
{ // Quality B
"make_model": "FUJIFILM X-PRO1",
"dcraw_matrix": [ 10413,-3996,-993,-3721,11640,2361,-733,1540,6011 ], // DNG_v9.4 D65
diff --git a/rtengine/imageio.cc b/rtengine/imageio.cc
index bebebbd2d..147edba53 100644
--- a/rtengine/imageio.cc
+++ b/rtengine/imageio.cc
@@ -1337,6 +1337,8 @@ int ImageIO::saveTIFF (Glib::ustring fname, int bps, bool uncompressed)
pl->setProgress (0.0);
}
+ bool applyExifPatch = false;
+
if (exifRoot) {
rtexif::TagDirectory* cl = (const_cast (exifRoot))->clone (nullptr);
@@ -1379,6 +1381,7 @@ int ImageIO::saveTIFF (Glib::ustring fname, int bps, bool uncompressed)
// at a different offset:
TIFFSetWriteOffset (out, exif_size + 8);
TIFFSetField (out, TIFFTAG_EXIFIFD, 8);
+ applyExifPatch = true;
}
}
@@ -1490,6 +1493,38 @@ int ImageIO::saveTIFF (Glib::ustring fname, int bps, bool uncompressed)
writeOk = false;
}
+ /************************************************************************************************************
+ *
+ * Hombre: This is a dirty hack to update the Exif tag data type to 0x0004 so that Windows can understand it.
+ * libtiff will set this data type to 0x000d and doesn't provide any mechanism to update it before
+ * dumping to the file.
+ *
+ */
+ if (applyExifPatch) {
+ unsigned char b[10];
+ uint16 tagCount = 0;
+ lseek(fileno, 4, SEEK_SET);
+ read(fileno, b, 4);
+ uint32 ifd0Offset = rtexif::sget4(b, exifRoot->getOrder());
+ lseek(fileno, ifd0Offset, SEEK_SET);
+ read(fileno, b, 2);
+ tagCount = rtexif::sget2(b, exifRoot->getOrder());
+ for (size_t i = 0; i < tagCount ; ++i) {
+ uint16 tagID = 0;
+ read(fileno, b, 2);
+ tagID = rtexif::sget2(b, exifRoot->getOrder());
+ if (tagID == 0x8769) {
+ rtexif::sset2(4, b, exifRoot->getOrder());
+ write(fileno, b, 2);
+ break;
+ } else {
+ read(fileno, b, 10);
+ }
+ }
+ }
+ /************************************************************************************************************/
+
+
TIFFClose (out);
#ifdef WIN32
fclose (file);
diff --git a/rtengine/profilestore.cc b/rtengine/profilestore.cc
index e79c8e322..ec57fc669 100644
--- a/rtengine/profilestore.cc
+++ b/rtengine/profilestore.cc
@@ -121,11 +121,14 @@ void ProfileStore::_parseProfiles ()
Glib::ustring p2 = options.getGlobalProfilePath();
bool displayLevel0 = options.useBundledProfiles && !p1.empty() && !p2.empty() && p1 != p2;
- Glib::ustring virtualPath ("${U}");
- Glib::ustring currDir ("${U}");
- parseDir (p1, virtualPath, currDir, 0, 0, displayLevel0);
-
- if (displayLevel0) {
+ Glib::ustring virtualPath;
+ Glib::ustring currDir;
+ if (!p1.empty()) {
+ virtualPath = "${U}";
+ currDir = "${U}";
+ parseDir (p1, virtualPath, currDir, 0, 0, displayLevel0);
+ }
+ if (p1.empty() || displayLevel0) {
virtualPath = "${G}";
currDir = "${G}";
parseDir (p2, virtualPath, currDir, 0, 0, displayLevel0);
diff --git a/rtengine/rawimagesource.cc b/rtengine/rawimagesource.cc
index aef4447ce..0420c5b79 100644
--- a/rtengine/rawimagesource.cc
+++ b/rtengine/rawimagesource.cc
@@ -5349,6 +5349,10 @@ void RawImageSource::init ()
void RawImageSource::getRawValues(int x, int y, int rotate, int &R, int &G, int &B)
{
+ if(d1x) { // Nikon D1x has special sensor. We just skip it
+ R = G = B = 0;
+ return;
+ }
int xnew = x + border;
int ynew = y + border;
rotate += ri->get_rotateDegree();
diff --git a/rtexif/rtexif.cc b/rtexif/rtexif.cc
index b6a60bbd8..ff5607b02 100644
--- a/rtexif/rtexif.cc
+++ b/rtexif/rtexif.cc
@@ -1948,8 +1948,8 @@ void Tag::initUserComment (const Glib::ustring &text)
memcpy(value, "ASCII\0\0\0", 8);
memcpy(value + 8, text.c_str(), valuesize - 8);
} else {
- wchar_t *commentStr = (wchar_t*)g_utf8_to_utf16 (text.c_str(), -1, nullptr, nullptr, nullptr);
- size_t wcStrSize = wcslen(commentStr);
+ glong wcStrSize = 0;
+ gunichar2 *commentStr = g_utf8_to_utf16 (text.c_str(), -1, nullptr, &wcStrSize, nullptr);
valuesize = count = wcStrSize * 2 + 8 + (useBOM ? 2 : 0);
value = new unsigned char[valuesize];
memcpy(value, "UNICODE\0", 8);
diff --git a/rtexif/rtexif.h b/rtexif/rtexif.h
index b7ba5ff1d..52411b33c 100644
--- a/rtexif/rtexif.h
+++ b/rtexif/rtexif.h
@@ -61,11 +61,11 @@ bool extractLensInfo (std::string &fullname, double &minFocal, double &maxFocal,
unsigned short sget2 (unsigned char *s, ByteOrder order);
int sget4 (unsigned char *s, ByteOrder order);
-inline unsigned short get2 (FILE* f, ByteOrder order);
-inline int get4 (FILE* f, ByteOrder order);
-inline void sset2 (unsigned short v, unsigned char *s, ByteOrder order);
-inline void sset4 (int v, unsigned char *s, ByteOrder order);
-inline float int_to_float (int i);
+unsigned short get2 (FILE* f, ByteOrder order);
+int get4 (FILE* f, ByteOrder order);
+void sset2 (unsigned short v, unsigned char *s, ByteOrder order);
+void sset4 (int v, unsigned char *s, ByteOrder order);
+float int_to_float (int i);
short int int2_to_signed (short unsigned int i);
struct TIFFHeader {
diff --git a/rtgui/main-cli.cc b/rtgui/main-cli.cc
index 2365123e1..43948bae9 100644
--- a/rtgui/main-cli.cc
+++ b/rtgui/main-cli.cc
@@ -158,8 +158,10 @@ int main (int argc, char **argv)
try {
Options::load (quickstart);
- } catch (Options::Error &) {
- printf ("Fatal error!\nThe RT_SETTINGS and/or RT_PATH environment variables are set, but use a relative path. The path must be absolute!\n");
+ } catch (Options::Error &e) {
+ std::cerr << std::endl
+ << "FATAL ERROR:" << std::endl
+ << e.get_msg() << std::endl;
return -2;
}
diff --git a/rtgui/main.cc b/rtgui/main.cc
index 2ae442e5a..55d27125c 100644
--- a/rtgui/main.cc
+++ b/rtgui/main.cc
@@ -628,20 +628,19 @@ int main (int argc, char **argv)
int ret = 0;
+ Glib::ustring fatalError;
+
try {
Options::load();
} catch (Options::Error &e) {
- std::cout << "ERROR: " << e.get_msg() << std::endl;
- std::cerr << "Fatal error!" << std::endl;
- std::cerr << "The RT_SETTINGS and/or RT_PATH environment variables are set, but use a relative path. The path must be absolute!" << std::endl;
- return -2;
+ fatalError = e.get_msg();
}
gdk_threads_set_lock_functions (G_CALLBACK (myGdkLockEnter), (G_CALLBACK (myGdkLockLeave)));
gdk_threads_init();
gtk_init (&argc, &argv); // use the "--g-fatal-warnings" command line flag to make warnings fatal
- if (remote) {
+ if (fatalError.empty() && remote) {
char *app_argv[2] = { const_cast (argv0.c_str()) };
int app_argc = 1;
@@ -653,7 +652,7 @@ int main (int argc, char **argv)
RTApplication app;
ret = app.run (app_argc, app_argv);
} else {
- if (init_rt()) {
+ if (fatalError.empty() && init_rt()) {
Gtk::Main m (&argc, &argv);
gdk_threads_enter();
const std::unique_ptr rtWindow (create_rt_window());
@@ -679,7 +678,7 @@ int main (int argc, char **argv)
cleanup_rt();
} else {
Gtk::Main m (&argc, &argv);
- Gtk::MessageDialog msgd ("Fatal error!\nThe RT_SETTINGS and/or RT_PATH environment variables are set, but use a relative path. The path must be absolute!", true, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true);
+ Gtk::MessageDialog msgd (Glib::ustring::compose("FATAL ERROR!\n\n%1", fatalError), true, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true);
msgd.run ();
ret = -2;
}
diff --git a/rtgui/multilangmgr.cc b/rtgui/multilangmgr.cc
index c85d0d7b8..8d2985436 100644
--- a/rtgui/multilangmgr.cc
+++ b/rtgui/multilangmgr.cc
@@ -20,7 +20,6 @@
#include
#include
-
#ifdef WIN32
#include
#include
@@ -93,7 +92,7 @@ struct LocaleToLang : private std::map,
}
// Look for matching language only.
- iterator = find (key (major));
+ iterator = find (key (major, major.uppercase()));
if (iterator != end ()) {
return iterator->second;
diff --git a/rtgui/options.cc b/rtgui/options.cc
index 68cd39e6d..94261f886 100644
--- a/rtgui/options.cc
+++ b/rtgui/options.cc
@@ -81,7 +81,7 @@ bool Options::checkDirPath (Glib::ustring &path, Glib::ustring errString)
return true;
} else {
if (!errString.empty()) {
- printf ("%s\n", errString.c_str());
+ std::cerr << errString << std::endl;
}
return false;
@@ -102,60 +102,48 @@ void Options::updatePaths()
g_mkdir_with_parents (profilePath.c_str (), 511);
if (!checkDirPath (profilePath, "")) { // had problems with mkdir_with_parents return value on OS X, just check dir again
- printf ("Error: user's profiles' directory \"%s\" creation failed\n", profilePath.c_str());
+ Glib::ustring msg = Glib::ustring::compose ("Creation of the user's processing profile directory \"%1\" failed!\n", profilePath);
+ throw Error (msg);
}
}
- if (checkDirPath (profilePath, "Error: the specified user's profiles' path doesn't point to a directory or doesn't exist!\n")) {
- if (multiUser) {
- userProfilePath = profilePath;
- tmpPath = Glib::build_filename (argv0, "profiles");
+ if (checkDirPath (profilePath, "Error: the user's processing profile path doesn't point to a directory or doesn't exist!\n")) {
+ userProfilePath = profilePath;
+ tmpPath = Glib::build_filename (argv0, "profiles");
- if (checkDirPath (tmpPath, "Error: the global's profiles' path doesn't point to a directory or doesn't exist!\n")) {
- if (userProfilePath != tmpPath) {
- globalProfilePath = tmpPath;
- }
+ if (checkDirPath (tmpPath, "Error: the global's processing profile path doesn't point to a directory or doesn't exist!\n")) {
+ if (userProfilePath != tmpPath) {
+ globalProfilePath = tmpPath;
}
- } else {
- globalProfilePath = profilePath;
}
} else {
tmpPath = Glib::build_filename (argv0, "profiles");
- if (checkDirPath (tmpPath, "Error: the global's profiles' path doesn't point to a directory or doesn't exist!\n")) {
+ if (checkDirPath (tmpPath, "Error: the global's processing profile path doesn't point to a directory or doesn't exist!\n")) {
globalProfilePath = tmpPath;
}
}
} else {
// relative paths
- if (multiUser) {
- tmpPath = Glib::build_filename (rtdir, profilePath);
+ tmpPath = Glib::build_filename (rtdir, profilePath);
+
+ if (!checkDirPath (tmpPath, "")) {
+ g_mkdir_with_parents (tmpPath.c_str (), 511);
if (!checkDirPath (tmpPath, "")) {
- g_mkdir_with_parents (tmpPath.c_str (), 511);
-
- if (!checkDirPath (tmpPath, "")) {
- printf ("Error: user's profiles' directory \"%s\" creation failed\n", tmpPath.c_str());
- }
+ Glib::ustring msg = Glib::ustring::compose ("Creation of the user's processing profile directory \"%1\" failed!\n", tmpPath.c_str());
+ throw Error (msg);
}
+ }
- if (checkDirPath (tmpPath, "Error: the specified user's profiles' path doesn't point to a directory!\n")) {
- userProfilePath = tmpPath;
- }
+ if (checkDirPath (tmpPath, "Error: the user's processing profile path doesn't point to a directory!\n")) {
+ userProfilePath = tmpPath;
+ }
- tmpPath = Glib::build_filename (argv0, "profiles");
+ tmpPath = Glib::build_filename (argv0, "profiles");
- if (checkDirPath (tmpPath, "Error: the specified user's profiles' path doesn't point to a directory or doesn't exist!\n")) {
- globalProfilePath = tmpPath;
- }
- } else {
- // common directory
- // directory name set in options is ignored, we use the default directory name
- tmpPath = Glib::build_filename (argv0, "profiles");
-
- if (checkDirPath (tmpPath, "Error: no global profiles' directory found!\n")) {
- globalProfilePath = tmpPath;
- }
+ if (checkDirPath (tmpPath, "Error: the user's processing profile path doesn't point to a directory or doesn't exist!\n")) {
+ globalProfilePath = tmpPath;
}
}
@@ -2133,7 +2121,7 @@ void Options::load (bool lightweight)
}
// Set the cache folder in RT's base folder
- cacheBaseDir = Glib::build_filename (argv0, "cache");
+ cacheBaseDir = Glib::build_filename (argv0, "mycache");
// Read the global option file (the one located in the application's base folder)
try {
@@ -2142,6 +2130,10 @@ void Options::load (bool lightweight)
// ignore errors here
}
+ if (!options.multiUser && path == nullptr) {
+ rtdir = Glib::build_filename (argv0, "mysettings");
+ }
+
// Modify the path of the cache folder to the one provided in RT_CACHE environment variable
path = g_getenv ("RT_CACHE");
@@ -2153,7 +2145,7 @@ void Options::load (bool lightweight)
throw Error (msg);
}
}
- // No environment variable provided, so falling back to the multi user mode, is enabled
+ // No environment variable provided, so falling back to the multi user mode, if enabled
else if (options.multiUser) {
#ifdef WIN32
cacheBaseDir = Glib::build_filename (rtdir, "cache");
@@ -2162,25 +2154,24 @@ void Options::load (bool lightweight)
#endif
}
- // Check if RT is installed in Multi-User mode
- if (options.multiUser) {
- // Read the user option file (the one located somewhere in the user's home folder)
- // Those values supersets those of the global option file
- try {
- options.readFromFile (Glib::build_filename (rtdir, "options"));
- } catch (Options::Error &) {
- // If the local option file does not exist or is broken, and the local cache folder does not exist, recreate it
- if (!g_mkdir_with_parents (rtdir.c_str (), 511)) {
- // Save the option file
- options.saveToFile (Glib::build_filename (rtdir, "options"));
- }
+ // Read the user option file (the one located somewhere in the user's home folder)
+ // Those values supersets those of the global option file
+ try {
+ options.readFromFile (Glib::build_filename (rtdir, "options"));
+ } catch (Options::Error &) {
+ // If the local option file does not exist or is broken, and the local cache folder does not exist, recreate it
+ if (!g_mkdir_with_parents (rtdir.c_str (), 511)) {
+ // Save the option file
+ options.saveToFile (Glib::build_filename (rtdir, "options"));
}
+ }
#ifdef __APPLE__
+ if (options.multiUser) {
// make sure .local/share exists on OS X so we don't get problems with recently-used.xbel
g_mkdir_with_parents (g_get_user_data_dir(), 511);
-#endif
}
+#endif
if (options.rtSettings.verbose) {
printf ("Cache directory (cacheBaseDir) = %s\n", cacheBaseDir.c_str());
@@ -2275,11 +2266,7 @@ void Options::load (bool lightweight)
void Options::save ()
{
- if (!options.multiUser) {
- options.saveToFile (Glib::build_filename (argv0, "options"));
- } else {
- options.saveToFile (Glib::build_filename (rtdir, "options"));
- }
+ options.saveToFile (Glib::build_filename (rtdir, "options"));
}
/*
diff --git a/rtgui/preferences.cc b/rtgui/preferences.cc
index 97fd10b25..25855d588 100644
--- a/rtgui/preferences.cc
+++ b/rtgui/preferences.cc
@@ -253,13 +253,13 @@ Gtk::Widget* Preferences::getBatchProcPanel ()
mi = behModel->append ();
mi->set_value (behavColumns.label, M ("TP_DIRPYRDENOISE_LABEL"));
//appendBehavList (mi, M("TP_DIRPYRDENOISE_LUMA")+", "+M("TP_DIRPYRDENOISE_CHROMA"), ADDSET_DIRPYRDN_CHLUM, true);
- appendBehavList (mi, M ("TP_DIRPYRDENOISE_LUMA"), ADDSET_DIRPYRDN_LUMA, true);
- appendBehavList (mi, M ("TP_DIRPYRDENOISE_LDETAIL"), ADDSET_DIRPYRDN_LUMDET, true);
- appendBehavList (mi, M ("TP_DIRPYRDENOISE_CHROMA"), ADDSET_DIRPYRDN_CHROMA, true);
- appendBehavList (mi, M ("TP_DIRPYRDENOISE_RED"), ADDSET_DIRPYRDN_CHROMARED, true);
- appendBehavList (mi, M ("TP_DIRPYRDENOISE_BLUE"), ADDSET_DIRPYRDN_CHROMABLUE, true);
- appendBehavList (mi, M ("TP_DIRPYRDENOISE_GAMMA"), ADDSET_DIRPYRDN_GAMMA, true);
- appendBehavList (mi, M ("TP_DIRPYRDENOISE_PASSES"), ADDSET_DIRPYRDN_PASSES, true);
+ appendBehavList (mi, M ("TP_DIRPYRDENOISE_LUMINANCE_SMOOTHING"), ADDSET_DIRPYRDN_LUMA, true);
+ appendBehavList (mi, M ("TP_DIRPYRDENOISE_LUMINANCE_DETAIL"), ADDSET_DIRPYRDN_LUMDET, true);
+ appendBehavList (mi, M ("TP_DIRPYRDENOISE_CHROMINANCE_MASTER"), ADDSET_DIRPYRDN_CHROMA, true);
+ appendBehavList (mi, M ("TP_DIRPYRDENOISE_CHROMINANCE_REDGREEN"), ADDSET_DIRPYRDN_CHROMARED, true);
+ appendBehavList (mi, M ("TP_DIRPYRDENOISE_CHROMINANCE_BLUEYELLOW"), ADDSET_DIRPYRDN_CHROMABLUE, true);
+ appendBehavList (mi, M ("TP_DIRPYRDENOISE_MAIN_GAMMA"), ADDSET_DIRPYRDN_GAMMA, true);
+ appendBehavList (mi, M ("TP_DIRPYRDENOISE_MEDIAN_PASSES"), ADDSET_DIRPYRDN_PASSES, true);
mi = behModel->append ();
mi->set_value (behavColumns.label, M ("TP_WBALANCE_LABEL"));
diff --git a/rtgui/rtwindow.cc b/rtgui/rtwindow.cc
index 860221e02..0a8140955 100644
--- a/rtgui/rtwindow.cc
+++ b/rtgui/rtwindow.cc
@@ -93,14 +93,19 @@ RTWindow::RTWindow ()
WhiteBalance::init();
ProfilePanel::init (this);
- Glib::ustring fName = "rt-logo-small.png";
- Glib::ustring fullPath = rtengine::findIconAbsolutePath (fName);
-
+#ifndef WIN32
+ const std::vector> appIcons = {
+ RTImage::createFromFile("rt-logo-tiny.png"),
+ RTImage::createFromFile("rt-logo-small.png"),
+ RTImage::createFromFile("rt-logo-medium.png"),
+ RTImage::createFromFile("rt-logo-large.png")
+ };
try {
- set_default_icon_from_file (fullPath);
+ set_default_icon_list(appIcons);
} catch (Glib::Exception& ex) {
printf ("%s\n", ex.what().c_str());
}
+#endif
#if defined(__APPLE__)
{