merge with dev

This commit is contained in:
Desmis 2017-04-13 11:12:05 +02:00
commit ce3351d50f
19 changed files with 568 additions and 239 deletions

View File

@ -99,6 +99,11 @@ if(APPLE)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /usr/lib/libstdc++.6.dylib")
message(STATUS "CMAKE_CXX_COMPILER is MacPorts GCC.\n CMAKE_EXE_LINKER_FLAGS: ${CMAKE_EXE_LINKER_FLAGS}")
endif()
# Set minimum system version
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mmacosx-version-min=10.9")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mmacosx-version-min=10.9")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -headerpad_max_install_names")
endif()
option(USE_EXPERIMENTAL_LANG_VERSIONS "Build with -std=c++0x" OFF)

View File

@ -12,7 +12,7 @@
# Copyright 2010 henrik andersson
#=============================================================================
SET(MACINTEGRATION_FIND_REQUIRED ${MacIntegration_FIND_REQUIRED})
set(MACINTEGRATION_FIND_REQUIRED ${MacIntegration_FIND_REQUIRED})
find_path(MACINTEGRATION_INCLUDE_DIR gtkosxapplication.h PATH_SUFFIXES gtkmacintegration gtkmacintegration-gtk3)
mark_as_advanced(MACINTEGRATION_INCLUDE_DIR)
@ -26,7 +26,7 @@ mark_as_advanced(MACINTEGRATION_LIBRARY)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(MACINTEGRATION DEFAULT_MSG MACINTEGRATION_LIBRARY MACINTEGRATION_INCLUDE_DIR)
IF(MACINTEGRATION_FOUND)
SET(MacIntegration_LIBRARIES ${MACINTEGRATION_LIBRARY})
SET(MacIntegration_INCLUDE_DIRS ${MACINTEGRATION_INCLUDE_DIR})
ENDIF(MACINTEGRATION_FOUND)
if(MACINTEGRATION_FOUND)
set(MacIntegration_LIBRARIES ${MACINTEGRATION_LIBRARY})
set(MacIntegration_INCLUDE_DIRS ${MACINTEGRATION_INCLUDE_DIR})
endif()

View File

@ -1,69 +1,72 @@
file (GLOB LANGUAGEFILES "languages/*")
file (GLOB SOUNDFILES "sounds/*")
file (GLOB INPUTICCFILES "iccprofiles/input/*")
file (GLOB OUTPUTICCFILES "iccprofiles/output/*")
file (GLOB DCPFILES "dcpprofiles/*")
file (GLOB FONTS "fonts/*")
set (PROFILESDIR "profiles")
file(GLOB LANGUAGEFILES "languages/*")
file(GLOB SOUNDFILES "sounds/*")
file(GLOB INPUTICCFILES "iccprofiles/input/*")
file(GLOB OUTPUTICCFILES "iccprofiles/output/*")
file(GLOB DCPFILES "dcpprofiles/*")
file(GLOB FONTS "fonts/*")
set(PROFILESDIR "profiles")
set(IMAGESDIR "images")
# THEMEDIR includes subfolders for image resources for some themes; doing the normal glob won't work.
set (THEMEDIR "themes")
set (IMAGESDIR "images")
set(THEMEDIR "themes")
if (WIN32)
if(WIN32)
set(OPTIONSFILE "options/options.win")
elseif (APPLE)
elseif(APPLE)
set(OPTIONSFILE "options/options.osx")
else (WIN32)
else()
set(OPTIONSFILE "options/options.lin")
endif (WIN32)
endif()
if (WIN32)
install (FILES "${CMAKE_CURRENT_BINARY_DIR}/WindowsInnoSetup.iss" DESTINATION ${BINDIR})
endif (WIN32)
if(WIN32)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/WindowsInnoSetup.iss" DESTINATION ${BINDIR})
endif()
if (UNIX)
configure_file ("${CMAKE_CURRENT_SOURCE_DIR}/icons/rawtherapee.desktop.in" "${CMAKE_CURRENT_BINARY_DIR}/rawtherapee.desktop")
install (FILES "${CMAKE_CURRENT_BINARY_DIR}/rawtherapee.desktop" DESTINATION ${DESKTOPDIR})
install (FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi16-app-rawtherapee.png" DESTINATION "${ICONSDIR}/hicolor/16x16/apps" RENAME rawtherapee.png)
install (FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi24-app-rawtherapee.png" DESTINATION "${ICONSDIR}/hicolor/24x24/apps" RENAME rawtherapee.png)
install (FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi32-app-rawtherapee.png" DESTINATION "${ICONSDIR}/hicolor/32x32/apps" RENAME rawtherapee.png)
install (FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi48-app-rawtherapee.png" DESTINATION "${ICONSDIR}/hicolor/48x48/apps" RENAME rawtherapee.png)
install (FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi128-app-rawtherapee.png" DESTINATION "${ICONSDIR}/hicolor/128x128/apps" RENAME rawtherapee.png)
install (FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi256-app-rawtherapee.png" DESTINATION "${ICONSDIR}/hicolor/256x256/apps" RENAME rawtherapee.png)
endif (UNIX)
if(UNIX)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/icons/rawtherapee.desktop.in" "${CMAKE_CURRENT_BINARY_DIR}/rawtherapee.desktop")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/rawtherapee.desktop" DESTINATION ${DESKTOPDIR})
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi16-app-rawtherapee.png" DESTINATION "${ICONSDIR}/hicolor/16x16/apps" RENAME rawtherapee.png)
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi24-app-rawtherapee.png" DESTINATION "${ICONSDIR}/hicolor/24x24/apps" RENAME rawtherapee.png)
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi32-app-rawtherapee.png" DESTINATION "${ICONSDIR}/hicolor/32x32/apps" RENAME rawtherapee.png)
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi48-app-rawtherapee.png" DESTINATION "${ICONSDIR}/hicolor/48x48/apps" RENAME rawtherapee.png)
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi128-app-rawtherapee.png" DESTINATION "${ICONSDIR}/hicolor/128x128/apps" RENAME rawtherapee.png)
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi256-app-rawtherapee.png" DESTINATION "${ICONSDIR}/hicolor/256x256/apps" RENAME rawtherapee.png)
endif()
install (FILES ${IMAGEFILES} DESTINATION "${DATADIR}/images")
install (FILES ${LANGUAGEFILES} DESTINATION "${DATADIR}/languages")
install (FILES ${SOUNDFILES} DESTINATION "${DATADIR}/sounds")
install (FILES ${INPUTICCFILES} DESTINATION "${DATADIR}/iccprofiles/input")
install (FILES ${OUTPUTICCFILES} DESTINATION "${DATADIR}/iccprofiles/output")
install (FILES ${DCPFILES} DESTINATION "${DATADIR}/dcpprofiles")
if (WIN32)
install (FILES ${FONTS} DESTINATION "${DATADIR}/fonts")
endif (WIN32)
install (DIRECTORY ${PROFILESDIR} DESTINATION "${DATADIR}" FILES_MATCHING PATTERN "*.pp3")
install (DIRECTORY ${THEMEDIR} DESTINATION "${DATADIR}")
install (DIRECTORY ${IMAGESDIR} DESTINATION "${DATADIR}" FILES_MATCHING PATTERN "index.theme")
install (DIRECTORY ${IMAGESDIR} DESTINATION "${DATADIR}" FILES_MATCHING PATTERN "*.png")
install (FILES ${OPTIONSFILE} DESTINATION "${DATADIR}" PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ RENAME options)
install(FILES ${IMAGEFILES} DESTINATION "${DATADIR}/images")
install(FILES ${LANGUAGEFILES} DESTINATION "${DATADIR}/languages")
install(FILES ${SOUNDFILES} DESTINATION "${DATADIR}/sounds")
install(FILES ${INPUTICCFILES} DESTINATION "${DATADIR}/iccprofiles/input")
install(FILES ${OUTPUTICCFILES} DESTINATION "${DATADIR}/iccprofiles/output")
install(FILES ${DCPFILES} DESTINATION "${DATADIR}/dcpprofiles")
install(FILES ${OPTIONSFILE} DESTINATION "${DATADIR}" PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ RENAME options)
if(WIN32)
install(FILES ${FONTS} DESTINATION "${DATADIR}/fonts")
endif()
if (APPLE)
# CMake escapes first item quote character. Do not remove 'DUMMY_VARIABLE='.
set (MACOSX_BUNDLE_COMMAND DUMMY_VARIABLE=
install(DIRECTORY ${PROFILESDIR} DESTINATION "${DATADIR}" FILES_MATCHING PATTERN "*.pp3")
install(DIRECTORY ${THEMEDIR} DESTINATION "${DATADIR}")
install(DIRECTORY ${IMAGESDIR} DESTINATION "${DATADIR}" FILES_MATCHING PATTERN "index.theme")
install(DIRECTORY ${IMAGESDIR} DESTINATION "${DATADIR}" FILES_MATCHING PATTERN "*.png")
if(APPLE)
# CMake escapes first item quote character. Do not remove 'DUMMY_VARIABLE='
set(MACOSX_BUNDLE_COMMAND DUMMY_VARIABLE=
PROJECT_NAME="${PROJECT_NAME}"
PROJECT_SOURCE_DIR="${PROJECT_SOURCE_DIR}"
CMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE}"
GTK_PREFIX="${GTK_PREFIX}")
if (PROC_BIT_DEPTH MATCHES 32)
list (APPEND MACOSX_BUNDLE_COMMAND PROC_BIT_DEPTH=32)
elseif (PROC_BIT_DEPTH MATCHES 64)
list (APPEND MACOSX_BUNDLE_COMMAND PROC_BIT_DEPTH=64)
endif (PROC_BIT_DEPTH MATCHES 32)
list (APPEND MACOSX_BUNDLE_COMMAND sh "${PROJECT_SOURCE_DIR}/tools/osx/macosx_bundle.sh")
if(PROC_BIT_DEPTH MATCHES 32)
list(APPEND MACOSX_BUNDLE_COMMAND PROC_BIT_DEPTH=32)
else()
list(APPEND MACOSX_BUNDLE_COMMAND PROC_BIT_DEPTH=64)
endif()
list(APPEND MACOSX_BUNDLE_COMMAND sh "${PROJECT_SOURCE_DIR}/tools/osx/macosx_bundle.sh")
add_custom_target(macosx_bundle
COMMAND ${MACOSX_BUNDLE_COMMAND}
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
COMMENT "Creating Mac OS X bundle")
endif (APPLE)
COMMENT "Creating macOS bundle")
endif()

View File

@ -1,46 +1,141 @@
include_directories (${EXTRA_INCDIR} ${GTHREAD_INCLUDE_DIRS} ${GOBJECT_INCLUDE_DIRS} ${GLIB2_INCLUDE_DIRS}
${GLIBMM_INCLUDE_DIRS} ${IPTCDATA_INCLUDE_DIRS} ${LCMS_INCLUDE_DIRS} ${EXPAT_INCLUDE_DIRS} ${FFTW3F_INCLUDE_DIRS}
${GTKMM_INCLUDE_DIRS} ${GTK_INCLUDE_DIRS})
link_directories ("${PROJECT_SOURCE_DIR}/rtexif" ${EXTRA_LIBDIR} ${GTHREAD_LIBRARY_DIRS}
${GOBJECT_LIBRARY_DIRS} ${GLIB2_LIBRARY_DIRS} ${GLIBMM_LIBRARY_DIRS}
${IPTCDATA_LIBRARY_DIRS} ${LCMS_LIBRARY_DIRS} ${EXPAT_LIBRARY_DIRS} ${FFTW3F_LIBRARY_DIRS})
set (CAMCONSTSFILE "camconst.json")
set (RTENGINESOURCEFILES colortemp.cc curves.cc flatcurves.cc diagonalcurves.cc dcraw.cc iccstore.cc color.cc
dfmanager.cc ffmanager.cc gauss.cc rawimage.cc image8.cc image16.cc imagefloat.cc imagedata.cc imageio.cc improcfun.cc init.cc dcrop.cc
loadinitial.cc procparams.cc rawimagesource.cc demosaic_algos.cc shmap.cc simpleprocess.cc refreshmap.cc
fast_demo.cc amaze_demosaic_RT.cc CA_correct_RT.cc cfa_linedn_RT.cc green_equil_RT.cc hilite_recon.cc expo_before_b.cc
stdimagesource.cc myfile.cc iccjpeg.cc improccoordinator.cc pipettebuffer.cc coord.cc
processingjob.cc rtthumbnail.cc utils.cc labimage.cc slicer.cc cieimage.cc iplocallab.cc
iplab2rgb.cc ipsharpen.cc iptransform.cc ipresize.cc ipvibrance.cc icons.cc
imagedimensions.cc jpeg_ijg/jpeg_memsrc.cc jdatasrc.cc iimage.cc
EdgePreservingDecomposition.cc cplx_wavelet_dec.cc FTblockDN.cc
PF_correct_RT.cc previewimage.cc ipwavelet.cc
dirpyr_equalizer.cc
calc_distort.cc lcp.cc dcp.cc ipretinex.cc
cJSON.c camconst.cc
klt/convolve.cc klt/error.cc klt/klt.cc klt/klt_util.cc klt/pnmio.cc klt/pyramid.cc klt/selectGoodFeatures.cc
klt/storeFeatures.cc klt/trackFeatures.cc klt/writeFeatures.cc
clutstore.cc
ciecam02.cc
pixelshift.cc
include_directories(${EXTRA_INCDIR}
${EXPAT_INCLUDE_DIRS}
${FFTW3F_INCLUDE_DIRS}
${GLIB2_INCLUDE_DIRS}
${GLIBMM_INCLUDE_DIRS}
${GOBJECT_INCLUDE_DIRS}
${GTHREAD_INCLUDE_DIRS}
${GTKMM_INCLUDE_DIRS}
${GTK_INCLUDE_DIRS}
${IPTCDATA_INCLUDE_DIRS}
${LCMS_INCLUDE_DIRS}
)
include_directories (BEFORE "${CMAKE_CURRENT_BINARY_DIR}")
link_directories("${PROJECT_SOURCE_DIR}/rtexif"
${EXPAT_LIBRARY_DIRS}
${EXTRA_LIBDIR}
${FFTW3F_LIBRARY_DIRS}
${GLIB2_LIBRARY_DIRS}
${GLIBMM_LIBRARY_DIRS}
${GOBJECT_LIBRARY_DIRS}
${GTHREAD_LIBRARY_DIRS}
${IPTCDATA_LIBRARY_DIRS}
${LCMS_LIBRARY_DIRS}
)
add_library (rtengine ${RTENGINESOURCEFILES})
add_dependencies (rtengine UpdateInfo)
set(CAMCONSTSFILE "camconst.json")
#It may be nice to store library version too
IF (BUILD_SHARED_LIBS)
set(RTENGINESOURCEFILES
CA_correct_RT.cc
EdgePreservingDecomposition.cc
FTblockDN.cc
PF_correct_RT.cc
amaze_demosaic_RT.cc
cJSON.c
calc_distort.cc
camconst.cc
cfa_linedn_RT.cc
ciecam02.cc
cieimage.cc
clutstore.cc
color.cc
colortemp.cc
coord.cc
cplx_wavelet_dec.cc
curves.cc
dcp.cc
dcraw.cc
dcrop.cc
demosaic_algos.cc
dfmanager.cc
diagonalcurves.cc
dirpyr_equalizer.cc
expo_before_b.cc
fast_demo.cc
ffmanager.cc
flatcurves.cc
gauss.cc
green_equil_RT.cc
hilite_recon.cc
iccjpeg.cc
iccstore.cc
icons.cc
iimage.cc
image16.cc
image8.cc
imagedata.cc
imagedimensions.cc
imagefloat.cc
imageio.cc
improccoordinator.cc
improcfun.cc
init.cc
iplab2rgb.cc
iplocallab.cc
ipresize.cc
ipretinex.cc
ipsharpen.cc
iptransform.cc
ipvibrance.cc
ipwavelet.cc
jdatasrc.cc
jpeg_ijg/jpeg_memsrc.cc
klt/convolve.cc
klt/error.cc
klt/klt.cc
klt/klt_util.cc
klt/pnmio.cc
klt/pyramid.cc
klt/selectGoodFeatures.cc
klt/storeFeatures.cc
klt/trackFeatures.cc
klt/writeFeatures.cc
labimage.cc
lcp.cc
loadinitial.cc
myfile.cc
pipettebuffer.cc
pixelshift.cc
previewimage.cc
processingjob.cc
procparams.cc
rawimage.cc
rawimagesource.cc
refreshmap.cc
rtthumbnail.cc
shmap.cc
simpleprocess.cc
slicer.cc
stdimagesource.cc
utils.cc
)
include_directories(BEFORE "${CMAKE_CURRENT_BINARY_DIR}")
add_library(rtengine ${RTENGINESOURCEFILES})
add_dependencies(rtengine UpdateInfo)
# It may be nice to store library version too
if(BUILD_SHARED_LIBS)
install (TARGETS rtengine DESTINATION ${LIBDIR})
ENDIF (BUILD_SHARED_LIBS)
endif()
set_target_properties (rtengine PROPERTIES COMPILE_FLAGS "${RTENGINE_CXX_FLAGS}")
set_target_properties(rtengine PROPERTIES COMPILE_FLAGS "${RTENGINE_CXX_FLAGS}")
target_link_libraries (rtengine rtexif ${EXTRA_LIB} ${GOBJECT_LIBRARIES} ${GTHREAD_LIBRARIES}
${GLIB2_LIBRARIES} ${GLIBMM_LIBRARIES} ${LCMS_LIBRARIES} ${EXPAT_LIBRARIES} ${FFTW3F_LIBRARIES} ${IPTCDATA_LIBRARIES}
${JPEG_LIBRARIES} ${PNG_LIBRARIES} ${TIFF_LIBRARIES} ${ZLIB_LIBRARIES})
target_link_libraries(rtengine rtexif
${EXPAT_LIBRARIES}
${EXTRA_LIB}
${FFTW3F_LIBRARIES}
${GLIB2_LIBRARIES}
${GLIBMM_LIBRARIES}
${GOBJECT_LIBRARIES}
${GTHREAD_LIBRARIES}
${IPTCDATA_LIBRARIES}
${JPEG_LIBRARIES}
${LCMS_LIBRARIES}
${PNG_LIBRARIES}
${TIFF_LIBRARIES}
${ZLIB_LIBRARIES}
)
install (FILES ${CAMCONSTSFILE} DESTINATION "${DATADIR}" PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
install(FILES ${CAMCONSTSFILE} DESTINATION "${DATADIR}" PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)

View File

@ -302,6 +302,8 @@ public:
if (loadAll) {
loadProfiles(stdProfilesDir, nullptr, nullptr, &fileStdProfilesFileNames, true);
}
defaultMonitorProfile = settings->monitorProfile;
}
cmsHPROFILE workingSpace(const Glib::ustring& name) const
@ -534,6 +536,16 @@ public:
return getProofIntents(getProfile(name));
}
Glib::ustring getDefaultMonitorProfileName() const
{
return defaultMonitorProfile;
}
void setDefaultMonitorProfileName(const Glib::ustring &name)
{
defaultMonitorProfile = name;
}
private:
using ProfileMap = std::map<Glib::ustring, cmsHPROFILE>;
using MatrixMap = std::map<Glib::ustring, TMatrix>;
@ -617,6 +629,18 @@ rtengine::ProfileContent rtengine::ICCStore::getContent(const Glib::ustring& nam
return implementation->getContent(name);
}
Glib::ustring rtengine::ICCStore::getDefaultMonitorProfileName() const
{
return implementation->getDefaultMonitorProfileName();
}
void rtengine::ICCStore::setDefaultMonitorProfileName(const Glib::ustring &name)
{
implementation->setDefaultMonitorProfileName(name);
}
cmsHPROFILE rtengine::ICCStore::getXYZProfile() const
{
return implementation->getXYZProfile();

View File

@ -78,6 +78,9 @@ public:
cmsHPROFILE getStdProfile(const Glib::ustring& name) const;
ProfileContent getContent(const Glib::ustring& name) const;
Glib::ustring getDefaultMonitorProfileName() const;
void setDefaultMonitorProfileName(const Glib::ustring &name);
cmsHPROFILE getXYZProfile() const;
cmsHPROFILE getsRGBProfile() const;

View File

@ -28,11 +28,18 @@
#include <shlobj.h>
#endif
#include "settings.h"
using namespace std;
using namespace rtengine;
namespace rtengine {
extern const Settings* settings;
}
LCPModelCommon::LCPModelCommon() :
foc_len_x(-1.0f),
foc_len_y(-1.0f),
@ -603,7 +610,9 @@ void LCPProfile::calcParams(int mode, float focalLength, float focusDist, float
//printf("LCP mode=%i, dist: %g found frames: Fno %g-%g; FocLen %g-%g; Dist %g-%g with weight %g\n", mode, focusDist, pLow->aperture, pHigh->aperture, pLow->focLen, pHigh->focLen, pLow->focDist, pHigh->focDist, facLow);
} else {
printf("Error: LCP file contained no %s parameters\n", mode == 0 ? "vignette" : mode == 1 ? "distortion" : "CA" );
if (settings->verbose) {
printf("Error: LCP file contained no %s parameters\n", mode == 0 ? "vignette" : mode == 1 ? "distortion" : "CA" );
}
}
}

View File

@ -1040,7 +1040,7 @@ IImage8* Thumbnail::processImage (const procparams::ProcParams& params, int rhei
ImProcFunctions ipf (&params, false);
ipf.setScale (sqrt(double(fw * fw + fh * fh)) / sqrt(double(thumbImg->getWidth() * thumbImg->getWidth() + thumbImg->getHeight() * thumbImg->getHeight()))*scale);
ipf.updateColorProfiles (options.rtSettings.monitorProfile, options.rtSettings.monitorIntent, false, false);
ipf.updateColorProfiles (ICCStore::getInstance()->getDefaultMonitorProfileName(), options.rtSettings.monitorIntent, false, false);
LUTu hist16 (65536);

View File

@ -1,23 +1,19 @@
add_library (rtexif rtexif.cc stdattribs.cc nikonattribs.cc canonattribs.cc pentaxattribs.cc fujiattribs.cc sonyminoltaattribs.cc olympusattribs.cc kodakattribs.cc)
add_dependencies (rtexif UpdateInfo)
add_library(rtexif rtexif.cc stdattribs.cc nikonattribs.cc canonattribs.cc pentaxattribs.cc fujiattribs.cc sonyminoltaattribs.cc olympusattribs.cc kodakattribs.cc)
add_dependencies(rtexif UpdateInfo)
IF (WIN32)
set_target_properties (rtexif PROPERTIES COMPILE_FLAGS " -ffast-math -fexpensive-optimizations")
include_directories (${EXTRA_INCDIR} ${GLIB2_INCLUDE_DIRS} ${GLIBMM_INCLUDE_DIRS}
${GTK_INCLUDE_DIRS} ${GTKMM_INCLUDE_DIRS})
link_directories (. "${PROJECT_SOURCE_DIR}/rtexif" ${EXTRA_LIBDIR} ${GLIB2_LIBRARY_DIRS} ${GLIBMM_LIBRARY_DIRS}
${GTK_LIBRARY_DIRS} ${GTKMM_LIBRARY_DIRS})
if(WIN32)
set_target_properties(rtexif PROPERTIES COMPILE_FLAGS " -ffast-math -fexpensive-optimizations")
include_directories(${EXTRA_INCDIR} ${GLIB2_INCLUDE_DIRS} ${GLIBMM_INCLUDE_DIRS} ${GTK_INCLUDE_DIRS} ${GTKMM_INCLUDE_DIRS})
link_directories(. "${PROJECT_SOURCE_DIR}/rtexif" ${EXTRA_LIBDIR} ${GLIB2_LIBRARY_DIRS} ${GLIBMM_LIBRARY_DIRS} ${GTK_LIBRARY_DIRS} ${GTKMM_LIBRARY_DIRS})
#set_target_properties (rth PROPERTIES LINK_FLAGS "-mwindows")
ELSE (WIN32)
set_target_properties (rtexif PROPERTIES COMPILE_FLAGS " -ffast-math -fexpensive-optimizations -fPIC")
include_directories (${EXTRA_INCDIR} ${GLIB2_INCLUDE_DIRS}
${GLIBMM_INCLUDE_DIRS} ${GTK_INCLUDE_DIRS} ${GTKMM_INCLUDE_DIRS})
link_directories (${EXTRA_LIBDIR} ${GLIB2_LIBRARY_DIRS}
${GLIBMM_LIBRARY_DIRS} ${GTK_LIBRARY_DIRS} ${GTKMM_LIBRARY_DIRS})
ENDIF (WIN32)
else()
set_target_properties(rtexif PROPERTIES COMPILE_FLAGS " -ffast-math -fexpensive-optimizations -fPIC")
include_directories(${EXTRA_INCDIR} ${GLIB2_INCLUDE_DIRS} ${GLIBMM_INCLUDE_DIRS} ${GTK_INCLUDE_DIRS} ${GTKMM_INCLUDE_DIRS})
link_directories(${EXTRA_LIBDIR} ${GLIB2_LIBRARY_DIRS} ${GLIBMM_LIBRARY_DIRS} ${GTK_LIBRARY_DIRS} ${GTKMM_LIBRARY_DIRS})
endif()
include_directories (BEFORE "${CMAKE_CURRENT_BINARY_DIR}")
include_directories(BEFORE "${CMAKE_CURRENT_BINARY_DIR}")
IF (BUILD_SHARED_LIBS)
INSTALL(TARGETS rtexif DESTINATION ${LIBDIR})
ENDIF (BUILD_SHARED_LIBS)
if(BUILD_SHARED_LIBS)
install(TARGETS rtexif DESTINATION ${LIBDIR})
endif()

View File

@ -1,93 +1,276 @@
# common source files for both CLI and non-CLI execautables
set (CLISOURCEFILES
paramsedited.cc options.cc multilangmgr.cc pathutils.cc edit.cc threadutils.cc
main-cli.cc)
# Common source files for both CLI and non-CLI execautables
set(CLISOURCEFILES
edit.cc
main-cli.cc
multilangmgr.cc
options.cc
paramsedited.cc
pathutils.cc
threadutils.cc
)
set (NONCLISOURCEFILES
editwindow.cc batchtoolpanelcoord.cc paramsedited.cc cropwindow.cc previewhandler.cc previewwindow.cc navigator.cc indclippedpanel.cc previewmodepanel.cc filterpanel.cc
exportpanel.cc cursormanager.cc rtwindow.cc renamedlg.cc recentbrowser.cc placesbrowser.cc filepanel.cc editorpanel.cc batchqueuepanel.cc checkbox.cc
ilabel.cc thumbbrowserbase.cc adjuster.cc filebrowserentry.cc filebrowser.cc filethumbnailbuttonset.cc
cachemanager.cc cacheimagedata.cc shcselector.cc perspective.cc thresholdselector.cc thresholdadjuster.cc
clipboard.cc thumbimageupdater.cc bqentryupdater.cc lensgeom.cc coloredbar.cc edit.cc coordinateadjuster.cc
coarsepanel.cc cacorrection.cc chmixer.cc blackwhite.cc
resize.cc icmpanel.cc crop.cc shadowshighlights.cc
impulsedenoise.cc dirpyrdenoise.cc epd.cc
exifpanel.cc toolpanel.cc lensprofile.cc lockablecolorpicker.cc
sharpening.cc vibrance.cc rgbcurves.cc colortoning.cc
whitebalance.cc vignetting.cc gradient.cc pcvignette.cc rotate.cc distortion.cc
crophandler.cc dirbrowser.cc
curveeditor.cc curveeditorgroup.cc diagonalcurveeditorsubgroup.cc flatcurveeditorsubgroup.cc
filecatalog.cc extprog.cc
previewloader.cc rtimage.cc inspector.cc
histogrampanel.cc history.cc imagearea.cc
imageareapanel.cc iptcpanel.cc labcurve.cc main.cc
multilangmgr.cc mycurve.cc myflatcurve.cc mydiagonalcurve.cc options.cc retinex.cc
preferences.cc profilepanel.cc saveasdlg.cc
saveformatpanel.cc soundman.cc splash.cc
thumbnail.cc tonecurve.cc toolbar.cc
pathutils.cc guiutils.cc threadutils.cc zoompanel.cc toolpanelcoord.cc
thumbbrowserentrybase.cc batchqueueentry.cc
batchqueue.cc lwbutton.cc lwbuttonset.cc
batchqueuebuttonset.cc browserfilter.cc exiffiltersettings.cc
profilestore.cc partialpastedlg.cc
sensorbayer.cc sensorxtrans.cc preprocess.cc bayerpreprocess.cc bayerprocess.cc bayerrawexposure.cc xtransprocess.cc xtransrawexposure.cc
darkframe.cc flatfield.cc rawcacorrection.cc rawexposure.cc wavelet.cc
dirpyrequalizer.cc hsvequalizer.cc defringe.cc
popupcommon.cc popupbutton.cc popuptogglebutton.cc sharpenedge.cc sharpenmicro.cc colorappearance.cc locallab.cc
filmsimulation.cc prsharpening.cc
dynamicprofile.cc dynamicprofilepanel.cc)
set(NONCLISOURCEFILES
adjuster.cc
batchqueue.cc
batchqueuebuttonset.cc
batchqueueentry.cc
batchqueuepanel.cc
batchtoolpanelcoord.cc
bayerpreprocess.cc
bayerprocess.cc
bayerrawexposure.cc
blackwhite.cc
bqentryupdater.cc
browserfilter.cc
cacheimagedata.cc
cachemanager.cc
cacorrection.cc
checkbox.cc
chmixer.cc
clipboard.cc
coarsepanel.cc
colorappearance.cc
coloredbar.cc
colortoning.cc
coordinateadjuster.cc
crop.cc
crophandler.cc
cropwindow.cc
cursormanager.cc
curveeditor.cc
curveeditorgroup.cc
darkframe.cc
defringe.cc
diagonalcurveeditorsubgroup.cc
dirbrowser.cc
dirpyrdenoise.cc
dirpyrequalizer.cc
distortion.cc
dynamicprofile.cc
dynamicprofilepanel.cc
edit.cc
editorpanel.cc
editwindow.cc
epd.cc
exiffiltersettings.cc
exifpanel.cc
exportpanel.cc
extprog.cc
filebrowser.cc
filebrowserentry.cc
filecatalog.cc
filepanel.cc
filethumbnailbuttonset.cc
filmsimulation.cc
filterpanel.cc
flatcurveeditorsubgroup.cc
flatfield.cc
gradient.cc
guiutils.cc
histogrampanel.cc
history.cc
hsvequalizer.cc
icmpanel.cc
ilabel.cc
imagearea.cc
imageareapanel.cc
impulsedenoise.cc
indclippedpanel.cc
inspector.cc
iptcpanel.cc
labcurve.cc
lensgeom.cc
lensprofile.cc
locallab.cc
lockablecolorpicker.cc
lwbutton.cc
lwbuttonset.cc
main.cc
multilangmgr.cc
mycurve.cc
mydiagonalcurve.cc
myflatcurve.cc
navigator.cc
options.cc
paramsedited.cc
partialpastedlg.cc
pathutils.cc
pcvignette.cc
perspective.cc
placesbrowser.cc
popupbutton.cc
popupcommon.cc
popuptogglebutton.cc
preferences.cc
preprocess.cc
previewhandler.cc
previewloader.cc
previewmodepanel.cc
previewwindow.cc
profilepanel.cc
profilestore.cc
prsharpening.cc
rawcacorrection.cc
rawexposure.cc
recentbrowser.cc
renamedlg.cc
resize.cc
retinex.cc
rgbcurves.cc
rotate.cc
rtimage.cc
rtwindow.cc
saveasdlg.cc
saveformatpanel.cc
sensorbayer.cc
sensorxtrans.cc
shadowshighlights.cc
sharpenedge.cc
sharpening.cc
sharpenmicro.cc
shcselector.cc
soundman.cc
splash.cc
threadutils.cc
thresholdadjuster.cc
thresholdselector.cc
thumbbrowserbase.cc
thumbbrowserentrybase.cc
thumbimageupdater.cc
thumbnail.cc
tonecurve.cc
toolbar.cc
toolpanel.cc
toolpanelcoord.cc
vibrance.cc
vignetting.cc
wavelet.cc
whitebalance.cc
xtransprocess.cc
xtransrawexposure.cc
zoompanel.cc
)
include_directories (BEFORE "${CMAKE_CURRENT_BINARY_DIR}")
include_directories(BEFORE "${CMAKE_CURRENT_BINARY_DIR}")
if (APPLE)
find_package (MacIntegration REQUIRED)
# At the time of writing Cmake has no module finder for gtkmacintegration so here we have it hard-coded, if installed via macports it should be in /opt/local/...
set (EXTRA_LIB_RTGUI ${MacIntegration_LIBRARIES})
set (EXTRA_INCDIR ${EXTRA_INCDIR} ${MacIntegration_INCLUDE_DIRS})
endif (APPLE)
if (WIN32)
set (EXTRA_SRC_CLI myicon.rc)
set (EXTRA_SRC_NONCLI myicon.rc windirmonitor.cc)
set (EXTRA_LIB_RTGUI winmm)
include_directories (${EXTRA_INCDIR} ${GLIB2_INCLUDE_DIRS} ${GLIBMM_INCLUDE_DIRS}
${GTK_INCLUDE_DIRS} ${GTKMM_INCLUDE_DIRS} ${GIO_INCLUDE_DIRS} ${GIOMM_INCLUDE_DIRS})
link_directories (. "${PROJECT_SOURCE_DIR}/rtexif" ${EXTRA_LIBDIR} ${GLIB2_LIBRARY_DIRS} ${GLIBMM_LIBRARY_DIRS}
${GTK_LIBRARY_DIRS} ${GTKMM_LIBRARY_DIRS} ${GIO_LIBRARY_DIRS} ${GIOMM_LIBRARY_DIRS})
#set_target_properties (rth PROPERTIES LINK_FLAGS "-mwindows")
else (WIN32)
include_directories (${EXTRA_INCDIR} ${GLIB2_INCLUDE_DIRS} ${GLIBMM_INCLUDE_DIRS}
${GTK_INCLUDE_DIRS} ${GTKMM_INCLUDE_DIRS} ${GIO_INCLUDE_DIRS} ${GIOMM_INCLUDE_DIRS} ${IPTCDATA_INCLUDE_DIRS}
${LCMS_INCLUDE_DIRS} ${EXPAT_INCLUDE_DIRS} ${FFTW3F_LIBRARY_DIRS} ${GTHREAD_INCLUDE_DIRS} ${GOBJECT_INCLUDE_DIRS}
${CANBERRA-GTK_INCLUDE_DIRS})
link_directories (${EXTRA_LIBDIR} ${GLIB2_LIBRARY_DIRS} ${GLIBMM_LIBRARY_DIRS}
${GTK_LIBRARY_DIRS} ${GTKMM_LIBRARY_DIRS} ${GIO_LIBRARY_DIRS} ${GIOMM_LIBRARY_DIRS} ${IPTCDATA_LIBRARY_DIRS}
${LCMS_LIBRARY_DIRS} ${EXPAT_LIBRARY_DIRS} ${FFTW3F_LIBRARY_DIRS} ${GTHREAD_LIBRARY_DIRS} ${GOBJECT_LIBRARY_DIRS}
${CANBERRA-GTK_LIBRARY_DIRS})
endif (WIN32)
# create config.h which defines where data are stored
configure_file ("${CMAKE_CURRENT_SOURCE_DIR}/config.h.in" "${CMAKE_CURRENT_BINARY_DIR}/config.h")
if(APPLE)
find_package(MacIntegration REQUIRED)
# At the time of writing CMake has no module finder for gtkmacintegration so here we have it hard-coded, if installed via macports it should be in /opt/local/...
set(EXTRA_LIB_RTGUI ${MacIntegration_LIBRARIES})
set(EXTRA_INCDIR ${EXTRA_INCDIR} ${MacIntegration_INCLUDE_DIRS})
endif()
# create new executables targets
add_executable (rth ${EXTRA_SRC_NONCLI} ${NONCLISOURCEFILES})
#add_executable (rth-cli ${EXTRA_SRC_CLI} ${CLISOURCEFILES})
if(WIN32)
set(EXTRA_SRC_CLI myicon.rc)
set(EXTRA_SRC_NONCLI myicon.rc windirmonitor.cc)
set(EXTRA_LIB_RTGUI winmm)
include_directories(${EXTRA_INCDIR}
${GIOMM_INCLUDE_DIRS}
${GIO_INCLUDE_DIRS}
${GLIB2_INCLUDE_DIRS}
${GLIBMM_INCLUDE_DIRS}
${GTKMM_INCLUDE_DIRS}
${GTK_INCLUDE_DIRS}
)
link_directories(. "${PROJECT_SOURCE_DIR}/rtexif"
${EXTRA_LIBDIR}
${GIOMM_LIBRARY_DIRS}
${GIO_LIBRARY_DIRS}
${GLIB2_LIBRARY_DIRS}
${GLIBMM_LIBRARY_DIRS}
${GTKMM_LIBRARY_DIRS}
${GTK_LIBRARY_DIRS}
)
#set_target_properties(rth PROPERTIES LINK_FLAGS "-mwindows")
else()
include_directories(${EXTRA_INCDIR}
${CANBERRA-GTK_INCLUDE_DIRS}
${EXPAT_INCLUDE_DIRS}
${FFTW3F_LIBRARY_DIRS}
${GIOMM_INCLUDE_DIRS}
${GIO_INCLUDE_DIRS}
${GLIB2_INCLUDE_DIRS}
${GLIBMM_INCLUDE_DIRS}
${GOBJECT_INCLUDE_DIRS}
${GTHREAD_INCLUDE_DIRS}
${GTKMM_INCLUDE_DIRS}
${GTK_INCLUDE_DIRS}
${IPTCDATA_INCLUDE_DIRS}
${LCMS_INCLUDE_DIRS}
)
link_directories(${EXTRA_LIBDIR}
${CANBERRA-GTK_LIBRARY_DIRS}
${EXPAT_LIBRARY_DIRS}
${FFTW3F_LIBRARY_DIRS}
${GIOMM_LIBRARY_DIRS}
${GIO_LIBRARY_DIRS}
${GLIB2_LIBRARY_DIRS}
${GLIBMM_LIBRARY_DIRS}
${GOBJECT_LIBRARY_DIRS}
${GTHREAD_LIBRARY_DIRS}
${GTKMM_LIBRARY_DIRS}
${GTK_LIBRARY_DIRS}
${IPTCDATA_LIBRARY_DIRS}
${LCMS_LIBRARY_DIRS}
)
endif()
# add dependencies to executables targets
add_dependencies (rth UpdateInfo)
#add_dependencies (rth-cli UpdateInfo)
# Create config.h which defines where data are stored
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/config.h.in" "${CMAKE_CURRENT_BINARY_DIR}/config.h")
# set executables targets properties, i.e. output filename and compile flags
set_target_properties (rth PROPERTIES COMPILE_FLAGS "${CMAKE_CXX_FLAGS}" OUTPUT_NAME rawtherapee)
#set_target_properties (rth-cli PROPERTIES COMPILE_FLAGS "${CMAKE_CXX_FLAGS}" OUTPUT_NAME rawtherapee-cli)
# Create new executables targets
add_executable(rth ${EXTRA_SRC_NONCLI} ${NONCLISOURCEFILES})
#add_executable(rth-cli ${EXTRA_SRC_CLI} ${CLISOURCEFILES})
# add linked libraries dependencies to executables targets
target_link_libraries (rth rtengine ${JPEG_LIBRARIES} ${PNG_LIBRARIES} ${ZLIB_LIBRARIES} ${TIFF_LIBRARIES} ${GOBJECT_LIBRARIES} ${GTHREAD_LIBRARIES}
${GLIB2_LIBRARIES} ${GLIBMM_LIBRARIES} ${GTK_LIBRARIES} ${GTKMM_LIBRARIES} ${GIO_LIBRARIES} ${GIOMM_LIBRARIES} ${LCMS_LIBRARIES} ${EXPAT_LIBRARIES}
${FFTW3F_LIBRARIES} ${IPTCDATA_LIBRARIES} ${CANBERRA-GTK_LIBRARIES} ${EXTRA_LIB_RTGUI})
# Add dependencies to executables targets
add_dependencies(rth UpdateInfo)
#add_dependencies(rth-cli UpdateInfo)
#target_link_libraries (rth-cli rtengine ${JPEG_LIBRARIES} ${PNG_LIBRARIES} ${ZLIB_LIBRARIES} ${TIFF_LIBRARIES} ${GOBJECT_LIBRARIES} ${GTHREAD_LIBRARIES}
# ${GLIB2_LIBRARIES} ${GLIBMM_LIBRARIES} ${CAIROMM_LIBRARIES} ${GIO_LIBRARIES} ${GIOMM_LIBRARIES} ${LCMS_LIBRARIES} ${EXPAT_LIBRARIES}
# ${FFTW3F_LIBRARIES} ${IPTCDATA_LIBRARIES} ${EXTRA_LIB_RTGUI})
# Set executables targets properties, i.e. output filename and compile flags
set_target_properties(rth PROPERTIES COMPILE_FLAGS "${CMAKE_CXX_FLAGS}" OUTPUT_NAME rawtherapee)
#set_target_properties(rth-cli PROPERTIES COMPILE_FLAGS "${CMAKE_CXX_FLAGS}" OUTPUT_NAME rawtherapee-cli)
# install executables
install (TARGETS rth DESTINATION ${BINDIR})
#install (TARGETS rth-cli DESTINATION ${BINDIR})
# Add linked libraries dependencies to executables targets
target_link_libraries(rth rtengine
${CANBERRA-GTK_LIBRARIES}
${EXPAT_LIBRARIES}
${EXTRA_LIB_RTGUI}
${FFTW3F_LIBRARIES}
${GIOMM_LIBRARIES}
${GIO_LIBRARIES}
${GLIB2_LIBRARIES}
${GLIBMM_LIBRARIES}
${GOBJECT_LIBRARIES}
${GTHREAD_LIBRARIES}
${GTKMM_LIBRARIES}
${GTK_LIBRARIES}
${IPTCDATA_LIBRARIES}
${JPEG_LIBRARIES}
${LCMS_LIBRARIES}
${PNG_LIBRARIES}
${TIFF_LIBRARIES}
${ZLIB_LIBRARIES}
)
#target_link_libraries(rth-cli rtengine
# ${CAIROMM_LIBRARIES}
# ${EXPAT_LIBRARIES}
# ${EXTRA_LIB_RTGUI}
# ${FFTW3F_LIBRARIES}
# ${GIOMM_LIBRARIES}
# ${GIO_LIBRARIES}
# ${GLIB2_LIBRARIES}
# ${GLIBMM_LIBRARIES}
# ${GOBJECT_LIBRARIES}
# ${GTHREAD_LIBRARIES}
# ${IPTCDATA_LIBRARIES}
# ${JPEG_LIBRARIES}
# ${LCMS_LIBRARIES}
# ${PNG_LIBRARIES}
# ${TIFF_LIBRARIES}
# ${ZLIB_LIBRARIES}
# )
# Install executables
install(TARGETS rth DESTINATION ${BINDIR})
#install(TARGETS rth-cli DESTINATION ${BINDIR})

View File

@ -160,7 +160,12 @@ private:
Glib::ustring defprofname;
if (find_default_monitor_profile(profileBox.get_root_window()->gobj(), defprof, defprofname)) {
profileBox.append (M ("MONITOR_PROFILE_SYSTEM") + " (" + defprofname + ")");
profileBox.set_active (options.rtSettings.autoMonitorProfile ? 1 : 0);
if (options.rtSettings.autoMonitorProfile) {
rtengine::ICCStore::getInstance()->setDefaultMonitorProfileName(defprof);
profileBox.set_active(1);
} else {
profileBox.set_active(0);
}
} else {
profileBox.set_active (0);
}
@ -402,7 +407,7 @@ public:
ConnectionBlocker profileBlocker (profileConn);
if (!defprof.empty() && options.rtSettings.autoMonitorProfile) {
setActiveTextOrIndex (profileBox, options.rtSettings.monitorProfile, 1);
profileBox.set_active(1);
} else {
setActiveTextOrIndex (profileBox, options.rtSettings.monitorProfile, 0);
}
@ -426,6 +431,23 @@ public:
updateParameters ();
}
void defaultMonitorProfileChanged(const Glib::ustring &profile_name, bool auto_monitor_profile)
{
ConnectionBlocker profileBlocker (profileConn);
if (auto_monitor_profile && !defprof.empty()) {
rtengine::ICCStore::getInstance()->setDefaultMonitorProfileName(defprof);
#ifndef __APPLE__
profileBox.set_active(1);
#endif
} else {
rtengine::ICCStore::getInstance()->setDefaultMonitorProfileName(profile_name);
#ifndef __APPLE__
setActiveTextOrIndex(profileBox, profile_name, 0);
#endif
}
}
};
EditorPanel::EditorPanel (FilePanel* filePanel)
@ -2214,3 +2236,10 @@ void EditorPanel::updateHistogramPosition (int oldPosition, int newPosition)
iareapanel->imageArea->setPointerMotionHListener (histogramPanel);
}
void EditorPanel::defaultMonitorProfileChanged(const Glib::ustring &profile_name, bool auto_monitor_profile)
{
colorMgmtToolBar->defaultMonitorProfileChanged(profile_name, auto_monitor_profile);
}

View File

@ -129,6 +129,8 @@ public:
void updateTabsUsesIcons (bool useIcons);
void updateHistogramPosition (int oldPosition, int newPosition);
void defaultMonitorProfileChanged(const Glib::ustring &profile_name, bool auto_monitor_profile);
Gtk::Paned* catalogPane;
private:

View File

@ -119,28 +119,3 @@ void LensGeometry::setBatchMode (bool batchMode)
removeIfThere (this, autoCrop);
}
void LensGeometry::disableAutoFillIfActive ()
{
const auto func = [](gpointer data) -> gboolean {
GThreadLock lock; // Is this really needed?
LensGeometry* const instance = static_cast<LensGeometry*>(data);
if (!instance->batchMode) {
if (instance->fill->get_active()) {
instance->fillConn.block(true);
instance->fill->set_active(false);
if (instance->listener) {
instance->listener->panelChanged (EvTransAutoFill, M("GENERAL_DISABLED"));
}
instance->fillConn.block(false);
}
}
return FALSE;
};
idle_register.add(func, this);
}

View File

@ -54,7 +54,6 @@ public:
{
rlistener = l;
}
void disableAutoFillIfActive ();
private:
IdleRegister idle_register;

View File

@ -48,7 +48,10 @@ LensProfilePanel::LensProfilePanel () : FoldableToolPanel(this, "lensprof", M("T
fcbLCPFile->set_show_hidden(true); // ProgramData is hidden on Windows
#endif
fcbLCPFile->set_current_folder(defDir);
} else if (!options.lastLensProfileDir.empty()) {
fcbLCPFile->set_current_folder(options.lastLensProfileDir);
}
bindCurrentFolder(*fcbLCPFile, options.lastLensProfileDir);
hbLCPFile->pack_start(*fcbLCPFile);
@ -89,8 +92,9 @@ void LensProfilePanel::read(const rtengine::procparams::ProcParams* pp, const Pa
fcbLCPFile->unselect_filename(fname);
} else {
Glib::ustring lastFolder = fcbLCPFile->get_current_folder();
fcbLCPFile->set_filename("");
fcbLCPFile->set_current_folder(lastFolder);
fcbLCPFile->set_filename(lastFolder + "/.");
bindCurrentFolder(*fcbLCPFile, options.lastLensProfileDir);
}
updateDisabled(false);
@ -144,10 +148,6 @@ void LensProfilePanel::write( rtengine::procparams::ProcParams* pp, ParamsEdited
void LensProfilePanel::onLCPFileChanged()
{
// Disable Auto-Fill when enabling LCP Distortion Correction, #1791
lensgeomLcpFill->disableAutoFillIfActive();
lcpFileChanged = true;
updateDisabled(lcpStore->isValidLCPFileName(fcbLCPFile->get_filename()));
@ -170,12 +170,6 @@ void LensProfilePanel::onLCPFileReset()
void LensProfilePanel::onUseDistChanged()
{
// Disable Auto-Fill when enabling LCP Distortion Correction, #1791
if (ckbUseDist->get_active()) {
lensgeomLcpFill->disableAutoFillIfActive();
}
useDistChanged = true;
if (listener) {

View File

@ -727,6 +727,7 @@ void Options::setDefaults ()
lastVibranceCurvesDir = "";
lastProfilingReferenceDir = "";
lastBWCurvesDir = "";
lastLensProfileDir = "";
maxRecentFolders = 15;
}
@ -1853,6 +1854,7 @@ int Options::readFromFile (Glib::ustring fname)
safeDirGet (keyFile, "Dialogs", "LastToneCurvesDir", lastToneCurvesDir);
safeDirGet (keyFile, "Dialogs", "LastVibranceCurvesDir", lastVibranceCurvesDir);
safeDirGet (keyFile, "Dialogs", "LastProfilingReferenceDir", lastProfilingReferenceDir);
safeDirGet (keyFile, "Dialogs", "LastLensProfileDir", lastLensProfileDir);
}
// --------------------------------------------------------------------------------------------------------
@ -2218,6 +2220,7 @@ int Options::saveToFile (Glib::ustring fname)
keyFile.set_string ("Dialogs", "LastToneCurvesDir", lastToneCurvesDir);
keyFile.set_string ("Dialogs", "LastVibranceCurvesDir", lastVibranceCurvesDir);
keyFile.set_string ("Dialogs", "LastProfilingReferenceDir", lastProfilingReferenceDir);
keyFile.set_string ("Dialogs", "LastLensProfileDir", lastLensProfileDir);
keyData = keyFile.to_data ();

View File

@ -309,6 +309,7 @@ public:
Glib::ustring lastVibranceCurvesDir;
Glib::ustring lastProfilingReferenceDir;
Glib::ustring lastBWCurvesDir;
Glib::ustring lastLensProfileDir;
size_t maxRecentFolders; // max. number of recent folders stored in options file
std::vector<Glib::ustring> recentFolders; // List containing all recent folders

View File

@ -780,7 +780,9 @@ Gtk::Widget* Preferences::getColorManagementPanel ()
const std::vector<Glib::ustring> profiles = rtengine::ICCStore::getInstance ()->getProfiles (rtengine::ICCStore::ProfileType::MONITOR);
for (const auto profile : profiles) {
monProfile->append (profile);
if (profile.find("file:") != 0) {
monProfile->append (profile);
}
}
// same order as the enum

View File

@ -657,6 +657,12 @@ void RTWindow::showPreferences ()
delete pref;
fpanel->optionsChanged ();
if (epanel) {
epanel->defaultMonitorProfileChanged(options.rtSettings.monitorProfile, options.rtSettings.autoMonitorProfile);
}
for (const auto &p : epanels) {
p.second->defaultMonitorProfileChanged(options.rtSettings.monitorProfile, options.rtSettings.autoMonitorProfile);
}
}
void RTWindow::setProgress (double p)