Merge branch 'master' into gtk3

This commit is contained in:
Morgan Hardwood 2015-09-16 21:04:25 +02:00
commit eefc81b94b
21 changed files with 123 additions and 149 deletions

View File

@ -134,7 +134,7 @@ WINDOWS
- CMake - CMake
http://www.cmake.org/cmake/resources/software.html http://www.cmake.org/cmake/resources/software.html
Use "Windows (Win32 Installer)", the newest version. Use "Windows (Win32 Installer)", the newest version.
- >=GTK+ 2.24.18 - >=GTK+ 2.24.18
http://hexchat.github.io/gtk-win32/ http://hexchat.github.io/gtk-win32/
@ -459,14 +459,18 @@ OS X
- XCode Development Tools (you only need a subset of these, but it is - XCode Development Tools (you only need a subset of these, but it is
probably easier to just install all of them) probably easier to just install all of them)
- MacPorts - MacPorts
- Add following line to /opt/local/etc/macports/variants.conf:
+no_gnome +no_x11 +quartz -x11
- To install the dependencies, run: - To install the dependencies, run:
sudo port install cairo +quartz -x11 pango +quartz -x11 gdk-pixbuf2 -x11 gtk2 +quartz libsigcxx2 gtk-osx-application +no_python sudo port install cairo pango gdk-pixbuf2 gtk2 libsigcxx2 gtk-osx-application-gtk2 gtkmm
- gtkmm port will fail to install. Use `-s option.
sudo port -s install gtkmm
- To install other dependencies and tools. - To install other dependencies and tools.
sudo port install gtk-engines2 lcms2 libiptcdata fftw-3-single cmake gcc47 sudo port install gtk-engines2 lcms2 libiptcdata fftw-3-single cmake
- If you don't already have Mercurial installed, run: - Install compiler, either
sudo port install mercurial sudo port install gcc47
or
Clang with OpenMP by follow instructions at https://clang-omp.github.io/
- If you don't already have Git installed, run:
sudo port install git
COMPILE COMPILE
@ -474,9 +478,21 @@ OS X
- Make build directory. - Make build directory.
mkdir build mkdir build
cd build cd build
- To enable OpenMP, assuming you have installed gcc47), type: - To enable OpenMP, for gcc47, type:
cmake -D CMAKE_C_COMPILER=gcc-mp-4.7 -D CMAKE_CXX_COMPILER=g++-mp-4.7 \ cmake -D CMAKE_C_COMPILER=gcc-mp-4.7 -D CMAKE_CXX_COMPILER=g++-mp-4.7 \
<path to source directory> <path to source directory>
- or if using Clang with OpenMP
cmake -v -D CMAKE_BUILD_TYPE=Release \
-DPROC_TARGET_NUMBER="1" \
-DBUILD_BUNDLE="ON" \
-DBINDIR="." \
-DDATADIR="." \
-DCACHE_NAME_SUFFIX=4 \
-DCMAKE_C_COMPILER="/tmp/clang/build_llvm/bin/clang" \
-DCMAKE_CXX_COMPILER="/tmp/clang/build_llvm/bin/clang++" \
-DCMAKE_C_FLAGS="-I/opt/local/include/libomp" \
-DCMAKE_CXX_FLAGS="-I/opt/local/include/libomp" \
<path to source directory>
If you want to upload a build, you should set some additional information If you want to upload a build, you should set some additional information
about your processor. There are two possibilities: about your processor. There are two possibilities:
@ -492,7 +508,7 @@ OS X
PROC_LABEL parameter (see point 1 righ above). PROC_LABEL parameter (see point 1 righ above).
- Type: - Type:
make install make -j4 install
- Type: - Type:
make macosx_bundle make macosx_bundle
- You will find a disk image in the build directory; this is the - You will find a disk image in the build directory; this is the

View File

@ -64,8 +64,7 @@ Adjuster::Adjuster (Glib::ustring vlabel, double vmin, double vmax, double vstep
vStep = vstep; vStep = vstep;
addMode = false; addMode = false;
// TODO: let the user chose the default value of Adjuster::delay, for slow machines delay = options.adjusterMinDelay;
delay = options.adjusterDelay; // delay is no more static, so we can set the delay individually (useful for the RAW editor tab)
set_border_width (0); set_border_width (0);
set_column_spacing(0); set_column_spacing(0);

View File

@ -29,8 +29,8 @@ BayerPreProcess::BayerPreProcess () : FoldableToolPanel(this, "bayerpreprocess",
lineDenoise = Gtk::manage(new Adjuster (M("TP_PREPROCESS_LINEDENOISE"), 0, 1000, 1, 0)); lineDenoise = Gtk::manage(new Adjuster (M("TP_PREPROCESS_LINEDENOISE"), 0, 1000, 1, 0));
lineDenoise->setAdjusterListener (this); lineDenoise->setAdjusterListener (this);
if (lineDenoise->delay < 1000) { if (lineDenoise->delay < options.adjusterMaxDelay) {
lineDenoise->delay = 1000; lineDenoise->delay = options.adjusterMaxDelay;
} }
lineDenoise->show(); lineDenoise->show();
@ -38,8 +38,8 @@ BayerPreProcess::BayerPreProcess () : FoldableToolPanel(this, "bayerpreprocess",
greenEqThreshold = Gtk::manage(new Adjuster (M("TP_PREPROCESS_GREENEQUIL"), 0, 100, 1, 0)); greenEqThreshold = Gtk::manage(new Adjuster (M("TP_PREPROCESS_GREENEQUIL"), 0, 100, 1, 0));
greenEqThreshold->setAdjusterListener (this); greenEqThreshold->setAdjusterListener (this);
if (greenEqThreshold->delay < 1000) { if (greenEqThreshold->delay < options.adjusterMaxDelay) {
greenEqThreshold->delay = 1000; greenEqThreshold->delay = options.adjusterMaxDelay;
} }
greenEqThreshold->show(); greenEqThreshold->show();

View File

@ -44,8 +44,8 @@ BayerProcess::BayerProcess () : FoldableToolPanel(this, "bayerprocess", M("TP_RA
dcbIterations = Gtk::manage (new Adjuster (M("TP_RAW_DCBITERATIONS"), 0, 5, 1, 2)); dcbIterations = Gtk::manage (new Adjuster (M("TP_RAW_DCBITERATIONS"), 0, 5, 1, 2));
dcbIterations->setAdjusterListener (this); dcbIterations->setAdjusterListener (this);
if (dcbIterations->delay < 1000) { if (dcbIterations->delay < options.adjusterMaxDelay) {
dcbIterations->delay = 1000; dcbIterations->delay = options.adjusterMaxDelay;
} }
dcbIterations->show(); dcbIterations->show();
@ -61,8 +61,8 @@ BayerProcess::BayerProcess () : FoldableToolPanel(this, "bayerprocess", M("TP_RA
lmmseIterations->setAdjusterListener (this); lmmseIterations->setAdjusterListener (this);
lmmseIterations->set_tooltip_markup (M("TP_RAW_LMMSE_TOOLTIP")); lmmseIterations->set_tooltip_markup (M("TP_RAW_LMMSE_TOOLTIP"));
if (lmmseIterations->delay < 1000) { if (lmmseIterations->delay < options.adjusterMaxDelay) {
lmmseIterations->delay = 1000; lmmseIterations->delay = options.adjusterMaxDelay;
} }
lmmseIterations->show(); lmmseIterations->show();
@ -73,8 +73,8 @@ BayerProcess::BayerProcess () : FoldableToolPanel(this, "bayerprocess", M("TP_RA
ccSteps = Gtk::manage (new Adjuster (M("TP_RAW_FALSECOLOR"), 0, 5, 1, 0 )); ccSteps = Gtk::manage (new Adjuster (M("TP_RAW_FALSECOLOR"), 0, 5, 1, 0 ));
ccSteps->setAdjusterListener (this); ccSteps->setAdjusterListener (this);
if (ccSteps->delay < 1000) { if (ccSteps->delay < options.adjusterMaxDelay) {
ccSteps->delay = 1000; ccSteps->delay = options.adjusterMaxDelay;
} }
ccSteps->show(); ccSteps->show();

View File

@ -29,32 +29,32 @@ BayerRAWExposure::BayerRAWExposure () : FoldableToolPanel(this, "bayerrawexposur
PexBlack1 = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_BLACK_1"), -2048, 2048, 0.1, 0)); //black level PexBlack1 = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_BLACK_1"), -2048, 2048, 0.1, 0)); //black level
PexBlack1->setAdjusterListener (this); PexBlack1->setAdjusterListener (this);
if (PexBlack1->delay < 1000) { if (PexBlack1->delay < options.adjusterMaxDelay) {
PexBlack1->delay = 1000; PexBlack1->delay = options.adjusterMaxDelay;
} }
PexBlack1->show(); PexBlack1->show();
PexBlack2 = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_BLACK_2"), -2048, 2048, 0.1, 0)); //black level PexBlack2 = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_BLACK_2"), -2048, 2048, 0.1, 0)); //black level
PexBlack2->setAdjusterListener (this); PexBlack2->setAdjusterListener (this);
if (PexBlack2->delay < 1000) { if (PexBlack2->delay < options.adjusterMaxDelay) {
PexBlack2->delay = 1000; PexBlack2->delay = options.adjusterMaxDelay;
} }
PexBlack2->show(); PexBlack2->show();
PexBlack3 = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_BLACK_3"), -2048, 2048, 0.1, 0)); //black level PexBlack3 = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_BLACK_3"), -2048, 2048, 0.1, 0)); //black level
PexBlack3->setAdjusterListener (this); PexBlack3->setAdjusterListener (this);
if (PexBlack3->delay < 1000) { if (PexBlack3->delay < options.adjusterMaxDelay) {
PexBlack3->delay = 1000; PexBlack3->delay = options.adjusterMaxDelay;
} }
PexBlack3->show(); PexBlack3->show();
PexBlack0 = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_BLACK_0"), -2048, 2048, 0.1, 0)); //black level PexBlack0 = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_BLACK_0"), -2048, 2048, 0.1, 0)); //black level
PexBlack0->setAdjusterListener (this); PexBlack0->setAdjusterListener (this);
if (PexBlack0->delay < 1000) { if (PexBlack0->delay < options.adjusterMaxDelay) {
PexBlack0->delay = 1000; PexBlack0->delay = options.adjusterMaxDelay;
} }
PexBlack0->show(); PexBlack0->show();

View File

@ -203,10 +203,6 @@ BlackWhite::BlackWhite (): FoldableToolPanel(this, "blackwhite", M("TP_BWMIX_LAB
mixerRed = Gtk::manage(new Adjuster (/*M("TP_BWMIX_RED")*/"", -100, 200, 1, 33, imgIcon[0])); mixerRed = Gtk::manage(new Adjuster (/*M("TP_BWMIX_RED")*/"", -100, 200, 1, 33, imgIcon[0]));
if (mixerRed->delay < 50) {
mixerRed->delay = 50;
}
mixerRed->setAdjusterListener (this); mixerRed->setAdjusterListener (this);
mixerRed->set_tooltip_markup (M("TP_BWMIX_RGB_TOOLTIP")); mixerRed->set_tooltip_markup (M("TP_BWMIX_RGB_TOOLTIP"));
mixerRed->show(); mixerRed->show();
@ -214,10 +210,6 @@ BlackWhite::BlackWhite (): FoldableToolPanel(this, "blackwhite", M("TP_BWMIX_LAB
mixerGreen = Gtk::manage(new Adjuster (/*M("TP_BWMIX_GREEN")*/"", -100, 200, 1, 33, imgIcon[3])); mixerGreen = Gtk::manage(new Adjuster (/*M("TP_BWMIX_GREEN")*/"", -100, 200, 1, 33, imgIcon[3]));
if (mixerGreen->delay < 50) {
mixerGreen->delay = 50;
}
mixerGreen->setAdjusterListener (this); mixerGreen->setAdjusterListener (this);
mixerGreen->set_tooltip_markup (M("TP_BWMIX_RGB_TOOLTIP")); mixerGreen->set_tooltip_markup (M("TP_BWMIX_RGB_TOOLTIP"));
mixerGreen->show(); mixerGreen->show();
@ -225,10 +217,6 @@ BlackWhite::BlackWhite (): FoldableToolPanel(this, "blackwhite", M("TP_BWMIX_LAB
mixerBlue = Gtk::manage(new Adjuster (/*M("TP_BWMIX_BLUE")*/"", -100, 200, 1, 33, imgIcon[5])); mixerBlue = Gtk::manage(new Adjuster (/*M("TP_BWMIX_BLUE")*/"", -100, 200, 1, 33, imgIcon[5]));
if (mixerBlue->delay < 50) {
mixerBlue->delay = 50;
}
mixerBlue->setAdjusterListener (this); mixerBlue->setAdjusterListener (this);
mixerBlue->set_tooltip_markup (M("TP_BWMIX_RGB_TOOLTIP")); mixerBlue->set_tooltip_markup (M("TP_BWMIX_RGB_TOOLTIP"));
mixerBlue->show(); mixerBlue->show();
@ -255,10 +243,6 @@ BlackWhite::BlackWhite (): FoldableToolPanel(this, "blackwhite", M("TP_BWMIX_LAB
mixerOrange = Gtk::manage(new Adjuster (/*M("TP_BWMIX_ORANGE")*/"", -100, 200, 1, 33, imgIcon[1])); mixerOrange = Gtk::manage(new Adjuster (/*M("TP_BWMIX_ORANGE")*/"", -100, 200, 1, 33, imgIcon[1]));
if (mixerOrange->delay < 50) {
mixerOrange->delay = 50;
}
mixerOrange->setAdjusterListener (this); mixerOrange->setAdjusterListener (this);
mixerOrange->set_tooltip_markup (M("TP_BWMIX_RGB_TOOLTIP")); mixerOrange->set_tooltip_markup (M("TP_BWMIX_RGB_TOOLTIP"));
mixerOrange->show(); mixerOrange->show();
@ -266,10 +250,6 @@ BlackWhite::BlackWhite (): FoldableToolPanel(this, "blackwhite", M("TP_BWMIX_LAB
mixerYellow = Gtk::manage(new Adjuster (/*M("TP_BWMIX_YELLOW")*/"", -100, 200, 1, 33, imgIcon[2])); mixerYellow = Gtk::manage(new Adjuster (/*M("TP_BWMIX_YELLOW")*/"", -100, 200, 1, 33, imgIcon[2]));
if (mixerYellow->delay < 50) {
mixerYellow->delay = 50;
}
mixerYellow->setAdjusterListener (this); mixerYellow->setAdjusterListener (this);
mixerYellow->set_tooltip_markup (M("TP_BWMIX_RGB_TOOLTIP")); mixerYellow->set_tooltip_markup (M("TP_BWMIX_RGB_TOOLTIP"));
mixerYellow->show(); mixerYellow->show();
@ -277,10 +257,6 @@ BlackWhite::BlackWhite (): FoldableToolPanel(this, "blackwhite", M("TP_BWMIX_LAB
mixerCyan = Gtk::manage(new Adjuster (/*M("TP_BWMIX_CYAN")*/"", -100, 200, 1, 33, imgIcon[4])); mixerCyan = Gtk::manage(new Adjuster (/*M("TP_BWMIX_CYAN")*/"", -100, 200, 1, 33, imgIcon[4]));
if (mixerCyan->delay < 50) {
mixerCyan->delay = 50;
}
mixerCyan->setAdjusterListener (this); mixerCyan->setAdjusterListener (this);
mixerCyan->set_tooltip_markup (M("TP_BWMIX_RGB_TOOLTIP")); mixerCyan->set_tooltip_markup (M("TP_BWMIX_RGB_TOOLTIP"));
mixerCyan->show(); mixerCyan->show();
@ -288,10 +264,6 @@ BlackWhite::BlackWhite (): FoldableToolPanel(this, "blackwhite", M("TP_BWMIX_LAB
mixerPurple = Gtk::manage(new Adjuster (/*M("TP_BWMIX_PURPLE")*/"", -100, 200, 1, 33, imgIcon[6])); mixerPurple = Gtk::manage(new Adjuster (/*M("TP_BWMIX_PURPLE")*/"", -100, 200, 1, 33, imgIcon[6]));
if (mixerPurple->delay < 50) {
mixerPurple->delay = 50;
}
mixerPurple->setAdjusterListener (this); mixerPurple->setAdjusterListener (this);
mixerPurple->set_tooltip_markup (M("TP_BWMIX_RGB_TOOLTIP")); mixerPurple->set_tooltip_markup (M("TP_BWMIX_RGB_TOOLTIP"));
mixerPurple->show(); mixerPurple->show();
@ -299,10 +271,6 @@ BlackWhite::BlackWhite (): FoldableToolPanel(this, "blackwhite", M("TP_BWMIX_LAB
mixerMagenta = Gtk::manage(new Adjuster (/*M("TP_BWMIX_MAGENTA")*/"", -100, 200, 1, 33, imgIcon[7])); mixerMagenta = Gtk::manage(new Adjuster (/*M("TP_BWMIX_MAGENTA")*/"", -100, 200, 1, 33, imgIcon[7]));
if (mixerMagenta->delay < 50) {
mixerMagenta->delay = 50;
}
mixerMagenta->setAdjusterListener (this); mixerMagenta->setAdjusterListener (this);
mixerMagenta->set_tooltip_markup (M("TP_BWMIX_RGB_TOOLTIP")); mixerMagenta->set_tooltip_markup (M("TP_BWMIX_RGB_TOOLTIP"));
mixerMagenta->show(); mixerMagenta->show();
@ -322,10 +290,6 @@ BlackWhite::BlackWhite (): FoldableToolPanel(this, "blackwhite", M("TP_BWMIX_LAB
gammaRed = Gtk::manage(new Adjuster (/*M("TP_BWMIX_GAM_RED")*/"", -100, 100, 1, 0, imgIcon[8])); gammaRed = Gtk::manage(new Adjuster (/*M("TP_BWMIX_GAM_RED")*/"", -100, 100, 1, 0, imgIcon[8]));
if (gammaRed->delay < 50) {
gammaRed->delay = 50;
}
gammaRed->setAdjusterListener (this); gammaRed->setAdjusterListener (this);
gammaRed->set_tooltip_markup (M("TP_BWMIX_GAM_TOOLTIP")); gammaRed->set_tooltip_markup (M("TP_BWMIX_GAM_TOOLTIP"));
gammaRed->show(); gammaRed->show();
@ -333,10 +297,6 @@ BlackWhite::BlackWhite (): FoldableToolPanel(this, "blackwhite", M("TP_BWMIX_LAB
gammaGreen = Gtk::manage(new Adjuster (/*M("TP_BWMIX_GAM_GREEN")*/"", -100, 100, 1, 0, imgIcon[9])); gammaGreen = Gtk::manage(new Adjuster (/*M("TP_BWMIX_GAM_GREEN")*/"", -100, 100, 1, 0, imgIcon[9]));
if (gammaGreen->delay < 50) {
gammaGreen->delay = 50;
}
gammaGreen->setAdjusterListener (this); gammaGreen->setAdjusterListener (this);
gammaGreen->set_tooltip_markup (M("TP_BWMIX_GAM_TOOLTIP")); gammaGreen->set_tooltip_markup (M("TP_BWMIX_GAM_TOOLTIP"));
gammaGreen->show(); gammaGreen->show();
@ -344,10 +304,6 @@ BlackWhite::BlackWhite (): FoldableToolPanel(this, "blackwhite", M("TP_BWMIX_LAB
gammaBlue = Gtk::manage(new Adjuster (/*M("TP_BWMIX_GAM_BLUE")*/"", -100, 100, 1, 0, imgIcon[10])); gammaBlue = Gtk::manage(new Adjuster (/*M("TP_BWMIX_GAM_BLUE")*/"", -100, 100, 1, 0, imgIcon[10]));
if (gammaBlue->delay < 50) {
gammaBlue->delay = 50;
}
gammaBlue->setAdjusterListener (this); gammaBlue->setAdjusterListener (this);
gammaBlue->set_tooltip_markup (M("TP_BWMIX_GAM_TOOLTIP")); gammaBlue->set_tooltip_markup (M("TP_BWMIX_GAM_TOOLTIP"));
gammaBlue->show(); gammaBlue->show();

View File

@ -50,8 +50,8 @@ ColorAppearance::ColorAppearance () : FoldableToolPanel(this, "colorappearance",
degree = Gtk::manage (new Adjuster (M("TP_COLORAPP_CIECAT_DEGREE"), 0., 100., 1., 100.)); degree = Gtk::manage (new Adjuster (M("TP_COLORAPP_CIECAT_DEGREE"), 0., 100., 1., 100.));
if (degree->delay < 1000) { if (degree->delay < options.adjusterMaxDelay) {
degree->delay = 1000; degree->delay = options.adjusterMaxDelay;
} }
degree->throwOnButtonRelease(); degree->throwOnButtonRelease();
@ -78,8 +78,8 @@ ColorAppearance::ColorAppearance () : FoldableToolPanel(this, "colorappearance",
adapscen = Gtk::manage (new Adjuster (M("TP_COLORAPP_ADAPTSCENE"), 0.001, 16384., 0.001, 2000.));// EV -7 ==> EV 17 adapscen = Gtk::manage (new Adjuster (M("TP_COLORAPP_ADAPTSCENE"), 0.001, 16384., 0.001, 2000.));// EV -7 ==> EV 17
if (adapscen->delay < 1000) { if (adapscen->delay < options.adjusterMaxDelay) {
adapscen->delay = 1000; adapscen->delay = options.adjusterMaxDelay;
} }
adapscen->throwOnButtonRelease(); adapscen->throwOnButtonRelease();
@ -126,8 +126,8 @@ ColorAppearance::ColorAppearance () : FoldableToolPanel(this, "colorappearance",
jlight = Gtk::manage (new Adjuster (M("TP_COLORAPP_LIGHT"), -100.0, 100.0, 0.1, 0.)); jlight = Gtk::manage (new Adjuster (M("TP_COLORAPP_LIGHT"), -100.0, 100.0, 0.1, 0.));
if (jlight->delay < 1000) { if (jlight->delay < options.adjusterMaxDelay) {
jlight->delay = 1000; jlight->delay = options.adjusterMaxDelay;
} }
jlight->throwOnButtonRelease(); jlight->throwOnButtonRelease();
@ -136,8 +136,8 @@ ColorAppearance::ColorAppearance () : FoldableToolPanel(this, "colorappearance",
qbright = Gtk::manage (new Adjuster (M("TP_COLORAPP_BRIGHT"), -100.0, 100.0, 0.1, 0.)); qbright = Gtk::manage (new Adjuster (M("TP_COLORAPP_BRIGHT"), -100.0, 100.0, 0.1, 0.));
if (qbright->delay < 1000) { if (qbright->delay < options.adjusterMaxDelay) {
qbright->delay = 1000; qbright->delay = options.adjusterMaxDelay;
} }
qbright->throwOnButtonRelease(); qbright->throwOnButtonRelease();
@ -146,8 +146,8 @@ ColorAppearance::ColorAppearance () : FoldableToolPanel(this, "colorappearance",
chroma = Gtk::manage (new Adjuster (M("TP_COLORAPP_CHROMA"), -100.0, 100.0, 0.1, 0.)); chroma = Gtk::manage (new Adjuster (M("TP_COLORAPP_CHROMA"), -100.0, 100.0, 0.1, 0.));
if (chroma->delay < 1000) { if (chroma->delay < options.adjusterMaxDelay) {
chroma->delay = 1000; chroma->delay = options.adjusterMaxDelay;
} }
chroma->throwOnButtonRelease(); chroma->throwOnButtonRelease();
@ -157,8 +157,8 @@ ColorAppearance::ColorAppearance () : FoldableToolPanel(this, "colorappearance",
schroma = Gtk::manage (new Adjuster (M("TP_COLORAPP_CHROMA_S"), -100.0, 100.0, 0.1, 0.)); schroma = Gtk::manage (new Adjuster (M("TP_COLORAPP_CHROMA_S"), -100.0, 100.0, 0.1, 0.));
if (schroma->delay < 1000) { if (schroma->delay < options.adjusterMaxDelay) {
schroma->delay = 1000; schroma->delay = options.adjusterMaxDelay;
} }
schroma->throwOnButtonRelease(); schroma->throwOnButtonRelease();
@ -167,8 +167,8 @@ ColorAppearance::ColorAppearance () : FoldableToolPanel(this, "colorappearance",
mchroma = Gtk::manage (new Adjuster (M("TP_COLORAPP_CHROMA_M"), -100.0, 100.0, 0.1, 0.)); mchroma = Gtk::manage (new Adjuster (M("TP_COLORAPP_CHROMA_M"), -100.0, 100.0, 0.1, 0.));
if (mchroma->delay < 1000) { if (mchroma->delay < options.adjusterMaxDelay) {
mchroma->delay = 1000; mchroma->delay = options.adjusterMaxDelay;
} }
mchroma->throwOnButtonRelease(); mchroma->throwOnButtonRelease();
@ -177,8 +177,8 @@ ColorAppearance::ColorAppearance () : FoldableToolPanel(this, "colorappearance",
rstprotection = Gtk::manage ( new Adjuster (M("TP_COLORAPP_RSTPRO"), 0., 100., 0.1, 0.) ); rstprotection = Gtk::manage ( new Adjuster (M("TP_COLORAPP_RSTPRO"), 0., 100., 0.1, 0.) );
if (rstprotection->delay < 1000) { if (rstprotection->delay < options.adjusterMaxDelay) {
rstprotection->delay = 1000; rstprotection->delay = options.adjusterMaxDelay;
} }
rstprotection->throwOnButtonRelease(); rstprotection->throwOnButtonRelease();
@ -187,8 +187,8 @@ ColorAppearance::ColorAppearance () : FoldableToolPanel(this, "colorappearance",
contrast = Gtk::manage (new Adjuster (M("TP_COLORAPP_CONTRAST"), -100.0, 100.0, 0.1, 0.)); contrast = Gtk::manage (new Adjuster (M("TP_COLORAPP_CONTRAST"), -100.0, 100.0, 0.1, 0.));
if (contrast->delay < 1000) { if (contrast->delay < options.adjusterMaxDelay) {
contrast->delay = 1000; contrast->delay = options.adjusterMaxDelay;
} }
contrast->throwOnButtonRelease(); contrast->throwOnButtonRelease();
@ -197,8 +197,8 @@ ColorAppearance::ColorAppearance () : FoldableToolPanel(this, "colorappearance",
qcontrast = Gtk::manage (new Adjuster (M("TP_COLORAPP_CONTRAST_Q"), -100.0, 100.0, 0.1, 0.)); qcontrast = Gtk::manage (new Adjuster (M("TP_COLORAPP_CONTRAST_Q"), -100.0, 100.0, 0.1, 0.));
if (qcontrast->delay < 1000) { if (qcontrast->delay < options.adjusterMaxDelay) {
qcontrast->delay = 1000; qcontrast->delay = options.adjusterMaxDelay;
} }
qcontrast->throwOnButtonRelease(); qcontrast->throwOnButtonRelease();
@ -208,8 +208,8 @@ ColorAppearance::ColorAppearance () : FoldableToolPanel(this, "colorappearance",
colorh = Gtk::manage (new Adjuster (M("TP_COLORAPP_HUE"), -100.0, 100.0, 0.1, 0.)); colorh = Gtk::manage (new Adjuster (M("TP_COLORAPP_HUE"), -100.0, 100.0, 0.1, 0.));
if (colorh->delay < 1000) { if (colorh->delay < options.adjusterMaxDelay) {
colorh->delay = 1000; colorh->delay = options.adjusterMaxDelay;
} }
colorh->throwOnButtonRelease(); colorh->throwOnButtonRelease();
@ -353,8 +353,8 @@ ColorAppearance::ColorAppearance () : FoldableToolPanel(this, "colorappearance",
adaplum = Gtk::manage (new Adjuster (M("TP_COLORAPP_ADAPTVIEWING"), 0.1, 1000., 0.1, 16.)); adaplum = Gtk::manage (new Adjuster (M("TP_COLORAPP_ADAPTVIEWING"), 0.1, 1000., 0.1, 16.));
if (adaplum->delay < 1000) { if (adaplum->delay < options.adjusterMaxDelay) {
adaplum->delay = 1000; adaplum->delay = options.adjusterMaxDelay;
} }
adaplum->throwOnButtonRelease(); adaplum->throwOnButtonRelease();
@ -398,8 +398,8 @@ ColorAppearance::ColorAppearance () : FoldableToolPanel(this, "colorappearance",
*/ */
badpixsl = Gtk::manage (new Adjuster (M("TP_COLORAPP_BADPIXSL"), 0, 2, 1, 0)); badpixsl = Gtk::manage (new Adjuster (M("TP_COLORAPP_BADPIXSL"), 0, 2, 1, 0));
if (badpixsl->delay < 1000) { if (badpixsl->delay < options.adjusterMaxDelay) {
badpixsl->delay = 1000; badpixsl->delay = options.adjusterMaxDelay;
} }
badpixsl->throwOnButtonRelease(); badpixsl->throwOnButtonRelease();

View File

@ -44,8 +44,8 @@ FlatField::FlatField () : FoldableToolPanel(this, "flatfield", M("TP_FLATFIELD_L
flatFieldBlurRadius = Gtk::manage(new Adjuster (M("TP_FLATFIELD_BLURRADIUS"), 0, 200, 2, 32)); flatFieldBlurRadius = Gtk::manage(new Adjuster (M("TP_FLATFIELD_BLURRADIUS"), 0, 200, 2, 32));
flatFieldBlurRadius->setAdjusterListener (this); flatFieldBlurRadius->setAdjusterListener (this);
if (flatFieldBlurRadius->delay < 1000) { if (flatFieldBlurRadius->delay < options.adjusterMaxDelay) {
flatFieldBlurRadius->delay = 1000; flatFieldBlurRadius->delay = options.adjusterMaxDelay;
} }
flatFieldBlurRadius->show(); flatFieldBlurRadius->show();
@ -65,8 +65,8 @@ FlatField::FlatField () : FoldableToolPanel(this, "flatfield", M("TP_FLATFIELD_L
flatFieldClipControl->setAdjusterListener(this); flatFieldClipControl->setAdjusterListener(this);
flatFieldClipControl->addAutoButton(""); flatFieldClipControl->addAutoButton("");
if (flatFieldClipControl->delay < 1000) { if (flatFieldClipControl->delay < options.adjusterMaxDelay) {
flatFieldClipControl->delay = 1000; flatFieldClipControl->delay = options.adjusterMaxDelay;
} }
flatFieldClipControl->show(); flatFieldClipControl->show();

View File

@ -226,16 +226,16 @@ ICMPanel::ICMPanel () : FoldableToolPanel(this, "icm", M("TP_ICM_LABEL")), iunch
gampos = Gtk::manage(new Adjuster (M("TP_GAMMA_CURV"), 1, 3.5, 0.01, 2.22)); gampos = Gtk::manage(new Adjuster (M("TP_GAMMA_CURV"), 1, 3.5, 0.01, 2.22));
gampos->setAdjusterListener (this); gampos->setAdjusterListener (this);
if (gampos->delay < 1000) { if (gampos->delay < options.adjusterMaxDelay) {
gampos->delay = 1000; gampos->delay = options.adjusterMaxDelay;
} }
gampos->show(); gampos->show();
slpos = Gtk::manage(new Adjuster (M("TP_GAMMA_SLOP"), 0, 15, 0.01, 4.5)); slpos = Gtk::manage(new Adjuster (M("TP_GAMMA_SLOP"), 0, 15, 0.01, 4.5));
slpos->setAdjusterListener (this); slpos->setAdjusterListener (this);
if (slpos->delay < 1000) { if (slpos->delay < options.adjusterMaxDelay) {
slpos->delay = 1000; slpos->delay = options.adjusterMaxDelay;
} }
slpos->show(); slpos->show();

View File

@ -322,7 +322,8 @@ void Options::setDefaults ()
defProfRaw = DEFPROFILE_RAW; defProfRaw = DEFPROFILE_RAW;
defProfImg = DEFPROFILE_IMG; defProfImg = DEFPROFILE_IMG;
dateFormat = "%y-%m-%d"; dateFormat = "%y-%m-%d";
adjusterDelay = 0; adjusterMinDelay = 200;
adjusterMaxDelay = 200;
startupDir = STARTUPDIR_LAST; startupDir = STARTUPDIR_LAST;
startupPath = ""; startupPath = "";
useBundledProfiles = true; useBundledProfiles = true;
@ -750,8 +751,12 @@ int Options::readFromFile (Glib::ustring fname)
dateFormat = keyFile.get_string ("General", "DateFormat"); dateFormat = keyFile.get_string ("General", "DateFormat");
} }
if (keyFile.has_key ("General", "AdjusterDelay")) { if (keyFile.has_key ("General", "AdjusterMinDelay")) {
adjusterDelay = keyFile.get_integer ("General", "AdjusterDelay"); adjusterMinDelay = keyFile.get_integer ("General", "AdjusterMinDelay");
}
if (keyFile.has_key ("General", "AdjusterMaxDelay")) {
adjusterMaxDelay = keyFile.get_integer ("General", "AdjusterMaxDelay");
} }
if (keyFile.has_key ("General", "StoreLastProfile")) { if (keyFile.has_key ("General", "StoreLastProfile")) {
@ -1796,7 +1801,8 @@ int Options::saveToFile (Glib::ustring fname)
keyFile.set_string ("General", "StartupPath", startupPath); keyFile.set_string ("General", "StartupPath", startupPath);
keyFile.set_string ("General", "DateFormat", dateFormat); keyFile.set_string ("General", "DateFormat", dateFormat);
keyFile.set_integer ("General", "AdjusterDelay", adjusterDelay); keyFile.set_integer ("General", "AdjusterMinDelay", adjusterMinDelay);
keyFile.set_integer ("General", "AdjusterMaxDelay", adjusterMaxDelay);
keyFile.set_boolean ("General", "MultiUser", multiUser); keyFile.set_boolean ("General", "MultiUser", multiUser);
keyFile.set_string ("General", "Language", language); keyFile.set_string ("General", "Language", language);
keyFile.set_boolean ("General", "LanguageAutoDetect", languageAutoDetect); keyFile.set_boolean ("General", "LanguageAutoDetect", languageAutoDetect);

View File

@ -99,7 +99,8 @@ public:
Glib::ustring defProfRaw; Glib::ustring defProfRaw;
Glib::ustring defProfImg; Glib::ustring defProfImg;
Glib::ustring dateFormat; Glib::ustring dateFormat;
int adjusterDelay; int adjusterMinDelay;
int adjusterMaxDelay;
int startupDir; int startupDir;
Gtk::SortType dirBrowserSortType; Gtk::SortType dirBrowserSortType;
Glib::ustring startupPath; Glib::ustring startupPath;

View File

@ -42,8 +42,8 @@ PreProcess::PreProcess () : FoldableToolPanel(this, "preprocess", M("TP_PREPROCE
hdThreshold->set_tooltip_markup (M("TP_RAW_HD_TOOLTIP")); hdThreshold->set_tooltip_markup (M("TP_RAW_HD_TOOLTIP"));
hdThreshold->setAdjusterListener (this); hdThreshold->setAdjusterListener (this);
if (hdThreshold->delay < 1000) { if (hdThreshold->delay < options.adjusterMaxDelay) {
hdThreshold->delay = 1000; hdThreshold->delay = options.adjusterMaxDelay;
} }
hdThreshold->show(); hdThreshold->show();

View File

@ -36,16 +36,16 @@ RAWCACorr::RAWCACorr () : FoldableToolPanel(this, "rawcacorrection", M("TP_CHROM
caRed = Gtk::manage(new Adjuster (M("TP_RAWCACORR_CARED"), -4.0, 4.0, 0.1, 0, icaredL, icaredR)); caRed = Gtk::manage(new Adjuster (M("TP_RAWCACORR_CARED"), -4.0, 4.0, 0.1, 0, icaredL, icaredR));
caRed->setAdjusterListener (this); caRed->setAdjusterListener (this);
if (caRed->delay < 1000) { if (caRed->delay < options.adjusterMaxDelay) {
caRed->delay = 1000; caRed->delay = options.adjusterMaxDelay;
} }
caRed->show(); caRed->show();
caBlue = Gtk::manage(new Adjuster (M("TP_RAWCACORR_CABLUE"), -4.0, 4.0, 0.1, 0, icablueL, icablueR)); caBlue = Gtk::manage(new Adjuster (M("TP_RAWCACORR_CABLUE"), -4.0, 4.0, 0.1, 0, icablueL, icablueR));
caBlue->setAdjusterListener (this); caBlue->setAdjusterListener (this);
if (caBlue->delay < 1000) { if (caBlue->delay < options.adjusterMaxDelay) {
caBlue->delay = 1000; caBlue->delay = options.adjusterMaxDelay;
} }
caBlue->show(); caBlue->show();

View File

@ -29,16 +29,16 @@ RAWExposure::RAWExposure () : FoldableToolPanel(this, "rawexposure", M("TP_EXPOS
PexPos = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_LINEAR"), 0.1, 16.0, 0.01, 1)); PexPos = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_LINEAR"), 0.1, 16.0, 0.01, 1));
PexPos->setAdjusterListener (this); PexPos->setAdjusterListener (this);
if (PexPos->delay < 1000) { if (PexPos->delay < options.adjusterMaxDelay) {
PexPos->delay = 1000; PexPos->delay = options.adjusterMaxDelay;
} }
PexPos->show(); PexPos->show();
PexPreser = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_PRESER"), 0, 2.5, 0.1, 0)); PexPreser = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_PRESER"), 0, 2.5, 0.1, 0));
PexPreser->setAdjusterListener (this); PexPreser->setAdjusterListener (this);
if (PexPreser->delay < 1000) { if (PexPreser->delay < options.adjusterMaxDelay) {
PexPreser->delay = 1000; PexPreser->delay = options.adjusterMaxDelay;
} }
PexPreser->show(); PexPreser->show();

View File

@ -44,8 +44,8 @@ RawProcess::RawProcess () : FoldableToolPanel(this)
dcbIterations = Gtk::manage (new Adjuster (M("TP_RAW_DCBITERATIONS"), 0, 5, 1, 2)); dcbIterations = Gtk::manage (new Adjuster (M("TP_RAW_DCBITERATIONS"), 0, 5, 1, 2));
dcbIterations->setAdjusterListener (this); dcbIterations->setAdjusterListener (this);
if (dcbIterations->delay < 1000) { if (dcbIterations->delay < options.adjusterMaxDelay) {
dcbIterations->delay = 1000; dcbIterations->delay = options.adjusterMaxDelay;
} }
dcbIterations->show(); dcbIterations->show();
@ -61,8 +61,8 @@ RawProcess::RawProcess () : FoldableToolPanel(this)
lmmseIterations->setAdjusterListener (this); lmmseIterations->setAdjusterListener (this);
lmmseIterations->set_tooltip_markup (M("TP_RAW_LMMSE_TOOLTIP")); lmmseIterations->set_tooltip_markup (M("TP_RAW_LMMSE_TOOLTIP"));
if (lmmseIterations->delay < 1000) { if (lmmseIterations->delay < options.adjusterMaxDelay) {
lmmseIterations->delay = 1000; lmmseIterations->delay = options.adjusterMaxDelay;
} }
lmmseIterations->show(); lmmseIterations->show();
@ -73,8 +73,8 @@ RawProcess::RawProcess () : FoldableToolPanel(this)
ccSteps = Gtk::manage (new Adjuster (M("TP_RAW_FALSECOLOR"), 0, 5, 1, 0 )); ccSteps = Gtk::manage (new Adjuster (M("TP_RAW_FALSECOLOR"), 0, 5, 1, 0 ));
ccSteps->setAdjusterListener (this); ccSteps->setAdjusterListener (this);
if (ccSteps->delay < 1000) { if (ccSteps->delay < options.adjusterMaxDelay) {
ccSteps->delay = 1000; ccSteps->delay = options.adjusterMaxDelay;
} }
ccSteps->show(); ccSteps->show();

View File

@ -32,15 +32,15 @@ SharpenEdge::SharpenEdge () : FoldableToolPanel(this, "sharpenedge", M("TP_SHARP
passes = Gtk::manage(new Adjuster (M("TP_SHARPENEDGE_PASSES"), 1, 4, 1, 2)); passes = Gtk::manage(new Adjuster (M("TP_SHARPENEDGE_PASSES"), 1, 4, 1, 2));
passes->setAdjusterListener (this); passes->setAdjusterListener (this);
if (passes->delay < 1000) { if (passes->delay < options.adjusterMaxDelay) {
passes->delay = 1000; passes->delay = options.adjusterMaxDelay;
} }
amount = Gtk::manage(new Adjuster (M("TP_SHARPENEDGE_AMOUNT"), 0, 100, 1, 50)); amount = Gtk::manage(new Adjuster (M("TP_SHARPENEDGE_AMOUNT"), 0, 100, 1, 50));
amount->setAdjusterListener (this); amount->setAdjusterListener (this);
if (amount->delay < 1000) { if (amount->delay < options.adjusterMaxDelay) {
amount->delay = 1000; amount->delay = options.adjusterMaxDelay;
} }
threechannels = Gtk::manage(new Gtk::CheckButton((M("TP_SHARPENEDGE_THREE"))));// L + a + b threechannels = Gtk::manage(new Gtk::CheckButton((M("TP_SHARPENEDGE_THREE"))));// L + a + b

View File

@ -34,8 +34,8 @@ SharpenMicro::SharpenMicro () : FoldableToolPanel(this, "sharpenmicro", M("TP_SH
amount = Gtk::manage(new Adjuster (M("TP_SHARPENMICRO_AMOUNT"), 0, 100, 1, 20)); amount = Gtk::manage(new Adjuster (M("TP_SHARPENMICRO_AMOUNT"), 0, 100, 1, 20));
amount->setAdjusterListener (this); amount->setAdjusterListener (this);
if (amount->delay < 1000) { if (amount->delay < options.adjusterMaxDelay) {
amount->delay = 1000; amount->delay = options.adjusterMaxDelay;
} }
amount->show(); amount->show();
@ -43,8 +43,8 @@ SharpenMicro::SharpenMicro () : FoldableToolPanel(this, "sharpenmicro", M("TP_SH
uniformity->setAdjusterListener (this); uniformity->setAdjusterListener (this);
if (uniformity->delay < 1000) { if (uniformity->delay < options.adjusterMaxDelay) {
uniformity->delay = 1000; uniformity->delay = options.adjusterMaxDelay;
} }
uniformity->show(); uniformity->show();

View File

@ -77,8 +77,7 @@ void ThresholdAdjuster::initObject (Glib::ustring label, bool editedcb)
addMode = false; addMode = false;
// TODO: let the user chose the default value of ThresholdAdjuster::delay, for slow machines delay = options.adjusterMinDelay;
delay = options.adjusterDelay; // delay is no more static, so we can set the delay individually (useful for the RAW editor tab)
set_name("ThresholdAdjuster"); set_name("ThresholdAdjuster");

View File

@ -37,19 +37,16 @@ Vibrance::Vibrance () : FoldableToolPanel(this, "vibrance", M("TP_VIBRANCE_LABEL
saturated = Gtk::manage(new Adjuster (M("TP_VIBRANCE_SATURATED"), -100., 100., 1., 0.)); saturated = Gtk::manage(new Adjuster (M("TP_VIBRANCE_SATURATED"), -100., 100., 1., 0.));
saturated->setAdjusterListener (this); saturated->setAdjusterListener (this);
saturated->set_sensitive(false); saturated->set_sensitive(false);
//if (saturated->delay < 1000) saturated->delay = 1000;
pack_start( *saturated, Gtk::PACK_SHRINK, 0); pack_start( *saturated, Gtk::PACK_SHRINK, 0);
pastels = Gtk::manage(new Adjuster (M("TP_VIBRANCE_PASTELS"), -100., 100., 1., 0.)); pastels = Gtk::manage(new Adjuster (M("TP_VIBRANCE_PASTELS"), -100., 100., 1., 0.));
pastels->setAdjusterListener (this); pastels->setAdjusterListener (this);
//if (pastels->delay < 1000) pastels->delay = 1000;
pack_start( *pastels, Gtk::PACK_SHRINK, 0); pack_start( *pastels, Gtk::PACK_SHRINK, 0);
psThreshold = Gtk::manage (new ThresholdAdjuster (M("TP_VIBRANCE_PSTHRESHOLD"), -100., 100., 0., M("TP_VIBRANCE_PSTHRESHOLD_WEIGTHING"), 0, 0., 100., 75., M("TP_VIBRANCE_PSTHRESHOLD_SATTHRESH"), 0, this, false)); psThreshold = Gtk::manage (new ThresholdAdjuster (M("TP_VIBRANCE_PSTHRESHOLD"), -100., 100., 0., M("TP_VIBRANCE_PSTHRESHOLD_WEIGTHING"), 0, 0., 100., 75., M("TP_VIBRANCE_PSTHRESHOLD_SATTHRESH"), 0, this, false));
psThreshold->setAdjusterListener (this); psThreshold->setAdjusterListener (this);
psThreshold->set_tooltip_markup(M("TP_VIBRANCE_PSTHRESHOLD_TOOLTIP")); psThreshold->set_tooltip_markup(M("TP_VIBRANCE_PSTHRESHOLD_TOOLTIP"));
psThreshold->set_sensitive(false); psThreshold->set_sensitive(false);
//if (psThreshold->delay < 1000) psThreshold->delay = 1000;
pack_start( *psThreshold, Gtk::PACK_SHRINK, 0); pack_start( *psThreshold, Gtk::PACK_SHRINK, 0);
protectSkins = Gtk::manage (new Gtk::CheckButton (M("TP_VIBRANCE_PROTECTSKINS"))); protectSkins = Gtk::manage (new Gtk::CheckButton (M("TP_VIBRANCE_PROTECTSKINS")));

View File

@ -42,8 +42,8 @@ XTransProcess::XTransProcess () : FoldableToolPanel(this, "xtransprocess", M("TP
ccSteps = Gtk::manage (new Adjuster (M("TP_RAW_FALSECOLOR"), 0, 5, 1, 0 )); ccSteps = Gtk::manage (new Adjuster (M("TP_RAW_FALSECOLOR"), 0, 5, 1, 0 ));
ccSteps->setAdjusterListener (this); ccSteps->setAdjusterListener (this);
if (ccSteps->delay < 1000) { if (ccSteps->delay < options.adjusterMaxDelay) {
ccSteps->delay = 1000; ccSteps->delay = options.adjusterMaxDelay;
} }
ccSteps->show(); ccSteps->show();

View File

@ -29,24 +29,24 @@ XTransRAWExposure::XTransRAWExposure () : FoldableToolPanel(this, "xtransrawexpo
PexBlackRed = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_BLACK_RED"), -2048, 2048, 0.1, 0)); //black level PexBlackRed = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_BLACK_RED"), -2048, 2048, 0.1, 0)); //black level
PexBlackRed->setAdjusterListener (this); PexBlackRed->setAdjusterListener (this);
if (PexBlackRed->delay < 1000) { if (PexBlackRed->delay < options.adjusterMaxDelay) {
PexBlackRed->delay = 1000; PexBlackRed->delay = options.adjusterMaxDelay;
} }
PexBlackRed->show(); PexBlackRed->show();
PexBlackGreen = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_BLACK_GREEN"), -2048, 2048, 0.1, 0)); //black level PexBlackGreen = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_BLACK_GREEN"), -2048, 2048, 0.1, 0)); //black level
PexBlackGreen->setAdjusterListener (this); PexBlackGreen->setAdjusterListener (this);
if (PexBlackGreen->delay < 1000) { if (PexBlackGreen->delay < options.adjusterMaxDelay) {
PexBlackGreen->delay = 1000; PexBlackGreen->delay = options.adjusterMaxDelay;
} }
PexBlackGreen->show(); PexBlackGreen->show();
PexBlackBlue = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_BLACK_BLUE"), -2048, 2048, 0.1, 0)); //black level PexBlackBlue = Gtk::manage(new Adjuster (M("TP_RAWEXPOS_BLACK_BLUE"), -2048, 2048, 0.1, 0)); //black level
PexBlackBlue->setAdjusterListener (this); PexBlackBlue->setAdjusterListener (this);
if (PexBlackBlue->delay < 1000) { if (PexBlackBlue->delay < options.adjusterMaxDelay) {
PexBlackBlue->delay = 1000; PexBlackBlue->delay = options.adjusterMaxDelay;
} }
PexBlackBlue->show(); PexBlackBlue->show();