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/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/Czech b/rtdata/languages/Czech
index 02188902a..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: f
-ZOOMPANEL_ZOOMFITSCREEN;Přizpůsobit obrázek obrazovce\nZkratka: Alt-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/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/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/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 6c9c3d340..dbcf6aa62 100644
--- a/rtgui/main.cc
+++ b/rtgui/main.cc
@@ -629,20 +629,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;
@@ -654,7 +653,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());
@@ -680,7 +679,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/options.cc b/rtgui/options.cc
index d88072197..44f6942a7 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;
}
}
@@ -2196,7 +2184,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 {
@@ -2205,6 +2193,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");
@@ -2216,7 +2208,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");
@@ -2225,25 +2217,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());
@@ -2338,11 +2329,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/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__)
{