Cppcheck: Fixed most issued in rtgui/*

This commit is contained in:
heckflosse 2016-10-04 23:28:19 +02:00
parent 01048ee513
commit 566d4c9822
34 changed files with 247 additions and 261 deletions

View File

@ -35,7 +35,6 @@ static double one2one(double val)
Adjuster::Adjuster (Glib::ustring vlabel, double vmin, double vmax, double vstep, double vdefault, Gtk::Image *imgIcon1, Gtk::Image *imgIcon2, double2double_fun slider2value_, double2double_fun value2slider_) Adjuster::Adjuster (Glib::ustring vlabel, double vmin, double vmax, double vstep, double vdefault, Gtk::Image *imgIcon1, Gtk::Image *imgIcon2, double2double_fun slider2value_, double2double_fun value2slider_)
{ {
Gtk::HBox *hbox2 = NULL;
label = NULL; label = NULL;
adjusterListener = NULL; adjusterListener = NULL;
afterReset = false; afterReset = false;
@ -107,6 +106,8 @@ Adjuster::Adjuster (Glib::ustring vlabel, double vmin, double vmax, double vstep
if (!imgIcon1 || !imgIcon2) { if (!imgIcon1 || !imgIcon2) {
pack_start (*slider, true, true); pack_start (*slider, true, true);
} else { } else {
Gtk::HBox *hbox2 = NULL;
// A second HBox is necessary // A second HBox is necessary
hbox2 = Gtk::manage (new Gtk::HBox()); hbox2 = Gtk::manage (new Gtk::HBox());

View File

@ -24,10 +24,6 @@
#include "soundman.h" #include "soundman.h"
#include "rtimage.h" #include "rtimage.h"
struct BQProcessLoaded {
BatchQueue* bq;
};
int processLoadedBatchQueueUIThread (void* data) int processLoadedBatchQueueUIThread (void* data)
{ {

View File

@ -21,7 +21,8 @@
BrowserFilter::BrowserFilter () : exifFilterEnabled (false), BrowserFilter::BrowserFilter () : exifFilterEnabled (false),
showTrash (true), showTrash (true),
showNotTrash (true), showNotTrash (true),
showOriginal (false) showOriginal (false),
multiselect (false)
{ {
for (int i = 0; i < 6; i++) { for (int i = 0; i < 6; i++) {
showRanked[i] = true; showRanked[i] = true;

View File

@ -24,7 +24,9 @@
CacheImageData::CacheImageData () CacheImageData::CacheImageData ()
: md5(""), supported(false), format(FT_Invalid), rankOld(-1), inTrashOld(false), recentlySaved(false), : md5(""), supported(false), format(FT_Invalid), rankOld(-1), inTrashOld(false), recentlySaved(false),
timeValid(false), exifValid(false), redAWBMul(-1.0), greenAWBMul(-1.0), blueAWBMul(-1.0), thumbImgType(0) timeValid(false), year(0), month(0), day(0), hour(0), min(0), sec(0), exifValid(false),
fnumber(0.0), shutter(0.0), focalLen(0.0), focalLen35mm(0.0), focusDist(0.f), iso(0),
redAWBMul(-1.0), greenAWBMul(-1.0), blueAWBMul(-1.0), rotate(0), thumbImgType(0)
{ {
} }

View File

@ -20,7 +20,7 @@
Clipboard clipboard; Clipboard clipboard;
Clipboard::Clipboard () : partProfile (false) {} Clipboard::Clipboard () : partProfile (false), _hasIPTC(false), hasDiagonalCurveDataType(DCT_Empty), hasFlatCurveDataType(FCT_Empty) {}
Clipboard::~Clipboard () Clipboard::~Clipboard ()
{ {

View File

@ -124,9 +124,8 @@ void CoordinateAdjuster::createWidgets(const std::vector<Axis> &axis)
set_spacing(3); set_spacing(3);
AxisAdjuster *currAdjuster = NULL;
for (unsigned int i = 0; i < count; ++i) { for (unsigned int i = 0; i < count; ++i) {
AxisAdjuster *currAdjuster = NULL;
const Axis *currAxis = &(axis.at(i)); const Axis *currAxis = &(axis.at(i));
axisAdjusters.at(i) = new AxisAdjuster(this, currAxis, i); axisAdjusters.at(i) = new AxisAdjuster(this, currAxis, i);
currAdjuster = axisAdjusters.at(i); currAdjuster = axisAdjusters.at(i);

View File

@ -32,6 +32,7 @@ CropHandler::CropHandler ()
: zoom(10), ww(0), wh(0), imx(-1), imy(-1), imw(0), imh(0), cax(-1), cay(-1), : zoom(10), ww(0), wh(0), imx(-1), imy(-1), imw(0), imh(0), cax(-1), cay(-1),
cx(0), cy(0), cw(0), ch(0), cropX(0), cropY(0), cropW(0), cropH(0), enabled(false), cx(0), cy(0), cw(0), ch(0), cropX(0), cropY(0), cropW(0), cropH(0), enabled(false),
cropimg(NULL), cropimgtrue(NULL), cropimg_width(0), cropimg_height(0), cropimg(NULL), cropimgtrue(NULL), cropimg_width(0), cropimg_height(0),
cix(0), ciy(0), ciw(0), cih(0), cis(1),
initial(false), isLowUpdatePriority(false), ipc(NULL), crop(NULL), initial(false), isLowUpdatePriority(false), ipc(NULL), crop(NULL),
displayHandler(NULL) displayHandler(NULL)
{ {

View File

@ -113,10 +113,9 @@ CurveEditor* CurveEditorGroup::addCurve(CurveType cType, Glib::ustring curveLabe
*/ */
void CurveEditorGroup::newLine() void CurveEditorGroup::newLine()
{ {
Gtk::HBox* headerBox;
if (curveEditors.size() > numberOfPackedCurve) { if (curveEditors.size() > numberOfPackedCurve) {
headerBox = Gtk::manage (new Gtk::HBox ()); Gtk::HBox* headerBox = Gtk::manage (new Gtk::HBox ());
if (!numberOfPackedCurve) { if (!numberOfPackedCurve) {
headerBox->pack_start(*curveGroupLabel, Gtk::PACK_SHRINK, 2); headerBox->pack_start(*curveGroupLabel, Gtk::PACK_SHRINK, 2);
@ -381,7 +380,7 @@ void CurveEditorGroup::setUnChanged (bool uc, CurveEditor* ce)
} }
} }
CurveEditorSubGroup::CurveEditorSubGroup(Glib::ustring& curveDir) : curveDir(curveDir), lastFilename("") CurveEditorSubGroup::CurveEditorSubGroup(Glib::ustring& curveDir) : curveDir(curveDir), lastFilename(""), valLinear(0), valUnchanged(0), parent(nullptr), curveBBoxPos(0)
{ {
leftBar = NULL; leftBar = NULL;
bottomBar = NULL; bottomBar = NULL;

View File

@ -1117,12 +1117,10 @@ bool DiagonalCurveEditorSubGroup::curveReset(CurveEditor *ce)
case (DCT_NURBS) : // = Control cage case (DCT_NURBS) : // = Control cage
NURBSCurve->reset (dce->NURBSResetCurve, dce->getIdentityValue()); NURBSCurve->reset (dce->NURBSResetCurve, dce->getIdentityValue());
return true; return true;
break;
case (DCT_Spline) : // = Custom case (DCT_Spline) : // = Custom
customCurve->reset (dce->customResetCurve, dce->getIdentityValue()); customCurve->reset (dce->customResetCurve, dce->getIdentityValue());
return true; return true;
break;
case (DCT_Parametric) : { case (DCT_Parametric) : {
DiagonalCurveEditor* dCurve = static_cast<DiagonalCurveEditor*>(parent->displayedCurve); DiagonalCurveEditor* dCurve = static_cast<DiagonalCurveEditor*>(parent->displayedCurve);
@ -1137,12 +1135,10 @@ bool DiagonalCurveEditorSubGroup::curveReset(CurveEditor *ce)
shcSelector->reset(); shcSelector->reset();
paramCurve->reset (dce->paramResetCurve, dce->getIdentityValue()); paramCurve->reset (dce->paramResetCurve, dce->getIdentityValue());
return true; return true;
break;
} }
default: default:
return false; return false;
break;
} }
return true; return true;

View File

@ -156,7 +156,7 @@ private:
} }
public: public:
MonitorProfileSelector (rtengine::StagedImageProcessor* const& ipc) : explicit MonitorProfileSelector (rtengine::StagedImageProcessor* const& ipc) :
intentBox (Glib::ustring (), true), intentBox (Glib::ustring (), true),
processor (ipc) processor (ipc)
{ {

View File

@ -102,7 +102,7 @@ void ExtProgStore::init ()
#endif #endif
} }
#ifdef WIN32
bool ExtProgStore::searchProgram (const Glib::ustring& name, bool ExtProgStore::searchProgram (const Glib::ustring& name,
const Glib::ustring& exePath, const Glib::ustring& exePath,
const Glib::ustring& exePath86, const Glib::ustring& exePath86,
@ -111,7 +111,6 @@ bool ExtProgStore::searchProgram (const Glib::ustring& name,
bool allowQueueProcess) bool allowQueueProcess)
{ {
#ifdef WIN32
// get_user_special_dir crashes on some Windows configurations. // get_user_special_dir crashes on some Windows configurations.
static Glib::ustring progFilesDir, progFilesDirx86; static Glib::ustring progFilesDir, progFilesDirx86;
@ -196,10 +195,10 @@ bool ExtProgStore::searchProgram (const Glib::ustring& name,
return true; return true;
} }
#endif
return false; return false;
} }
#endif
bool ExtProgStore::spawnCommandAsync (const Glib::ustring& cmd) bool ExtProgStore::spawnCommandAsync (const Glib::ustring& cmd)
{ {

View File

@ -44,13 +44,14 @@ class ExtProgStore
MyMutex mtx; // covers actions MyMutex mtx; // covers actions
std::vector<ExtProgAction> actions; std::vector<ExtProgAction> actions;
#ifdef WIN32
bool searchProgram (const Glib::ustring& name, bool searchProgram (const Glib::ustring& name,
const Glib::ustring& exePath, const Glib::ustring& exePath,
const Glib::ustring& exePath86, const Glib::ustring& exePath86,
int maxVer, int maxVer,
bool allowRaw, bool allowRaw,
bool allowQueueProcess); bool allowQueueProcess);
#endif
public: public:
static ExtProgStore* getInstance(); static ExtProgStore* getInstance();

View File

@ -487,13 +487,13 @@ void FileBrowser::rightClicked (ThumbBrowserEntryBase* entry)
untrash->set_sensitive (false); untrash->set_sensitive (false);
for (size_t i = 0; i < selected.size(); i++) for (size_t i = 0; i < selected.size(); i++)
if ((static_cast<FileBrowserEntry*>(selected[i]))->thumbnail->getStage() == 1) { if ((static_cast<FileBrowserEntry*>(selected[i]))->thumbnail->getStage()) {
untrash->set_sensitive (true); untrash->set_sensitive (true);
break; break;
} }
for (size_t i = 0; i < selected.size(); i++) for (size_t i = 0; i < selected.size(); i++)
if ((static_cast<FileBrowserEntry*>(selected[i]))->thumbnail->getStage() == 0) { if (!(static_cast<FileBrowserEntry*>(selected[i]))->thumbnail->getStage()) {
trash->set_sensitive (true); trash->set_sensitive (true);
break; break;
} }
@ -512,7 +512,6 @@ void FileBrowser::rightClicked (ThumbBrowserEntryBase* entry)
submenuDF->attach (*Gtk::manage(autoDF = new Gtk::MenuItem (M("FILEBROWSER_AUTODARKFRAME"))), 0, 1, p, p + 1); submenuDF->attach (*Gtk::manage(autoDF = new Gtk::MenuItem (M("FILEBROWSER_AUTODARKFRAME"))), 0, 1, p, p + 1);
p++; p++;
submenuDF->attach (*Gtk::manage(thisIsDF = new Gtk::MenuItem (M("FILEBROWSER_MOVETODARKFDIR"))), 0, 1, p, p + 1); submenuDF->attach (*Gtk::manage(thisIsDF = new Gtk::MenuItem (M("FILEBROWSER_MOVETODARKFDIR"))), 0, 1, p, p + 1);
p++;
selectDF->signal_activate().connect (sigc::bind(sigc::mem_fun(*this, &FileBrowser::menuItemActivated), selectDF)); selectDF->signal_activate().connect (sigc::bind(sigc::mem_fun(*this, &FileBrowser::menuItemActivated), selectDF));
autoDF->signal_activate().connect (sigc::bind(sigc::mem_fun(*this, &FileBrowser::menuItemActivated), autoDF)); autoDF->signal_activate().connect (sigc::bind(sigc::mem_fun(*this, &FileBrowser::menuItemActivated), autoDF));
thisIsDF->signal_activate().connect (sigc::bind(sigc::mem_fun(*this, &FileBrowser::menuItemActivated), thisIsDF )); thisIsDF->signal_activate().connect (sigc::bind(sigc::mem_fun(*this, &FileBrowser::menuItemActivated), thisIsDF ));
@ -527,7 +526,6 @@ void FileBrowser::rightClicked (ThumbBrowserEntryBase* entry)
submenuFF->attach (*Gtk::manage(autoFF = new Gtk::MenuItem (M("FILEBROWSER_AUTOFLATFIELD"))), 0, 1, p, p + 1); submenuFF->attach (*Gtk::manage(autoFF = new Gtk::MenuItem (M("FILEBROWSER_AUTOFLATFIELD"))), 0, 1, p, p + 1);
p++; p++;
submenuFF->attach (*Gtk::manage(thisIsFF = new Gtk::MenuItem (M("FILEBROWSER_MOVETOFLATFIELDDIR"))), 0, 1, p, p + 1); submenuFF->attach (*Gtk::manage(thisIsFF = new Gtk::MenuItem (M("FILEBROWSER_MOVETOFLATFIELDDIR"))), 0, 1, p, p + 1);
p++;
selectFF->signal_activate().connect (sigc::bind(sigc::mem_fun(*this, &FileBrowser::menuItemActivated), selectFF)); selectFF->signal_activate().connect (sigc::bind(sigc::mem_fun(*this, &FileBrowser::menuItemActivated), selectFF));
autoFF->signal_activate().connect (sigc::bind(sigc::mem_fun(*this, &FileBrowser::menuItemActivated), autoFF)); autoFF->signal_activate().connect (sigc::bind(sigc::mem_fun(*this, &FileBrowser::menuItemActivated), autoFF));
thisIsFF->signal_activate().connect (sigc::bind(sigc::mem_fun(*this, &FileBrowser::menuItemActivated), thisIsFF )); thisIsFF->signal_activate().connect (sigc::bind(sigc::mem_fun(*this, &FileBrowser::menuItemActivated), thisIsFF ));
@ -612,7 +610,7 @@ void FileBrowser::addEntry_ (FileBrowserEntry* entry)
entry->addButtonSet (new FileThumbnailButtonSet (entry)); entry->addButtonSet (new FileThumbnailButtonSet (entry));
entry->getThumbButtonSet()->setRank (entry->thumbnail->getRank()); entry->getThumbButtonSet()->setRank (entry->thumbnail->getRank());
entry->getThumbButtonSet()->setColorLabel (entry->thumbnail->getColorLabel()); entry->getThumbButtonSet()->setColorLabel (entry->thumbnail->getColorLabel());
entry->getThumbButtonSet()->setInTrash (entry->thumbnail->getStage() == 1); entry->getThumbButtonSet()->setInTrash (entry->thumbnail->getStage());
entry->getThumbButtonSet()->setButtonListener (this); entry->getThumbButtonSet()->setButtonListener (this);
entry->resize (getThumbnailHeight()); entry->resize (getThumbnailHeight());
@ -1134,8 +1132,9 @@ bool FileBrowser::keyPressed (GdkEventKey* event)
bool ctrl = event->state & GDK_CONTROL_MASK; bool ctrl = event->state & GDK_CONTROL_MASK;
bool shift = event->state & GDK_SHIFT_MASK; bool shift = event->state & GDK_SHIFT_MASK;
bool alt = event->state & GDK_MOD1_MASK; bool alt = event->state & GDK_MOD1_MASK;
#ifdef __WIN32__
bool altgr = event->state & GDK_MOD2_MASK; bool altgr = event->state & GDK_MOD2_MASK;
#endif
if ((event->keyval == GDK_C || event->keyval == GDK_c || event->keyval == GDK_Insert) && ctrl) { if ((event->keyval == GDK_C || event->keyval == GDK_c || event->keyval == GDK_Insert) && ctrl) {
copyProfile (); copyProfile ();
return true; return true;
@ -1474,8 +1473,8 @@ bool FileBrowser::checkFilter (ThumbBrowserEntryBase* entryb) // true -> entry
((entry->thumbnail->isRecentlySaved() && filter.showRecentlySaved[0]) && !filter.showRecentlySaved[1]) || ((entry->thumbnail->isRecentlySaved() && filter.showRecentlySaved[0]) && !filter.showRecentlySaved[1]) ||
((!entry->thumbnail->isRecentlySaved() && filter.showRecentlySaved[1]) && !filter.showRecentlySaved[0]) || ((!entry->thumbnail->isRecentlySaved() && filter.showRecentlySaved[1]) && !filter.showRecentlySaved[0]) ||
(entry->thumbnail->getStage() == 1 && !filter.showTrash) || (entry->thumbnail->getStage() && !filter.showTrash) ||
(entry->thumbnail->getStage() == 0 && !filter.showNotTrash)) { (!entry->thumbnail->getStage() && !filter.showNotTrash)) {
return false; return false;
} }
@ -1568,11 +1567,11 @@ void FileBrowser::toTrashRequested (std::vector<FileBrowserEntry*> tbe)
// no need to notify listeners as item goes to trash, likely to be deleted // no need to notify listeners as item goes to trash, likely to be deleted
if (tbe[i]->thumbnail->getStage() == 1) { if (tbe[i]->thumbnail->getStage()) {
continue; continue;
} }
tbe[i]->thumbnail->setStage (1); tbe[i]->thumbnail->setStage (true);
if (tbe[i]->getThumbButtonSet()) { if (tbe[i]->getThumbButtonSet()) {
tbe[i]->getThumbButtonSet()->setRank (tbe[i]->thumbnail->getRank()); tbe[i]->getThumbButtonSet()->setRank (tbe[i]->thumbnail->getRank());
@ -1592,11 +1591,11 @@ void FileBrowser::fromTrashRequested (std::vector<FileBrowserEntry*> tbe)
for (size_t i = 0; i < tbe.size(); i++) { for (size_t i = 0; i < tbe.size(); i++) {
// if thumbnail was marked inTrash=true then param file must be there, no need to run customprofilebuilder // if thumbnail was marked inTrash=true then param file must be there, no need to run customprofilebuilder
if (tbe[i]->thumbnail->getStage() == 0) { if (!tbe[i]->thumbnail->getStage()) {
continue; continue;
} }
tbe[i]->thumbnail->setStage (0); tbe[i]->thumbnail->setStage (false);
if (tbe[i]->getThumbButtonSet()) { if (tbe[i]->getThumbButtonSet()) {
tbe[i]->getThumbButtonSet()->setRank (tbe[i]->thumbnail->getRank()); tbe[i]->getThumbButtonSet()->setRank (tbe[i]->thumbnail->getRank());
@ -1715,7 +1714,7 @@ void FileBrowser::buttonPressed (LWButton* button, int actionCode, void* actionD
FileBrowserEntry* entry = static_cast<FileBrowserEntry*>(actionData); FileBrowserEntry* entry = static_cast<FileBrowserEntry*>(actionData);
tbe.push_back (entry); tbe.push_back (entry);
if (entry->thumbnail->getStage() == 0) { if (!entry->thumbnail->getStage()) {
toTrashRequested (tbe); toTrashRequested (tbe);
} else { } else {
fromTrashRequested (tbe); fromTrashRequested (tbe);

View File

@ -989,9 +989,6 @@ void FileCatalog::copyMoveRequested (std::vector<FileBrowserEntry*> tbe, bool m
fc.set_filename(tbe[0]->filename); fc.set_filename(tbe[0]->filename);
//!!! TODO prevent dialog closing on "enter" key press //!!! TODO prevent dialog closing on "enter" key press
bool filecopymovecomplete;
int i_copyindex;
if( fc.run() == Gtk::RESPONSE_OK ) { if( fc.run() == Gtk::RESPONSE_OK ) {
Glib::ustring dest_Dir = fc.get_current_folder(); Glib::ustring dest_Dir = fc.get_current_folder();
@ -1020,8 +1017,8 @@ void FileCatalog::copyMoveRequested (std::vector<FileBrowserEntry*> tbe, bool m
/* comparison of src_Dir and dest_Dir is done per image for compatibility with /* comparison of src_Dir and dest_Dir is done per image for compatibility with
possible future use of Collections as source where each file's source path may be different.*/ possible future use of Collections as source where each file's source path may be different.*/
filecopymovecomplete = false; bool filecopymovecomplete = false;
i_copyindex = 1; int i_copyindex = 1;
while(!filecopymovecomplete) { while(!filecopymovecomplete) {
// check for filename conflicts at destination - prevent overwriting (actually RT will crash on overwriting attempt) // check for filename conflicts at destination - prevent overwriting (actually RT will crash on overwriting attempt)
@ -1224,8 +1221,6 @@ void FileCatalog::setExportPanel (ExportPanel* expanel)
void FileCatalog::renameRequested (std::vector<FileBrowserEntry*> tbe) void FileCatalog::renameRequested (std::vector<FileBrowserEntry*> tbe)
{ {
bool success;
RenameDialog* renameDlg = new RenameDialog ((Gtk::Window*)get_toplevel()); RenameDialog* renameDlg = new RenameDialog ((Gtk::Window*)get_toplevel());
for (size_t i = 0; i < tbe.size(); i++) { for (size_t i = 0; i < tbe.size(); i++) {
@ -1235,7 +1230,7 @@ void FileCatalog::renameRequested (std::vector<FileBrowserEntry*> tbe)
Glib::ustring dirName = Glib::path_get_dirname (tbe[i]->filename); Glib::ustring dirName = Glib::path_get_dirname (tbe[i]->filename);
Glib::ustring baseName = Glib::path_get_basename (tbe[i]->filename); Glib::ustring baseName = Glib::path_get_basename (tbe[i]->filename);
success = false; bool success = false;
do { do {
if (renameDlg->run () == Gtk::RESPONSE_OK) { if (renameDlg->run () == Gtk::RESPONSE_OK) {

View File

@ -353,7 +353,8 @@ void HistogramPanel::toggle_button_full ()
// //
// HistogramRGBArea // HistogramRGBArea
HistogramRGBArea::HistogramRGBArea () ://needChroma unactive by default HistogramRGBArea::HistogramRGBArea () ://needChroma unactive by default
frozen(false), valid(false), needRed(true), needGreen(true), needBlue(true), needLuma(true), rawMode(false), showMode(options.histogramBar), barDisplayed(options.histogramBar), needChroma(false) val(0), r(0), g(0), b(0), frozen(false), valid(false), needRed(true), needGreen(true), needBlue(true), needLuma(true), rawMode(false),
showMode(options.histogramBar), barDisplayed(options.histogramBar), needChroma(false), parent(nullptr)
{ {
harih = new HistogramRGBAreaIdleHelper; harih = new HistogramRGBAreaIdleHelper;

View File

@ -20,7 +20,7 @@
#include "guiutils.h" #include "guiutils.h"
LWButton::LWButton (Cairo::RefPtr<Cairo::ImageSurface> i, int aCode, void* aData, Alignment ha, Alignment va, Glib::ustring tooltip) LWButton::LWButton (Cairo::RefPtr<Cairo::ImageSurface> i, int aCode, void* aData, Alignment ha, Alignment va, Glib::ustring tooltip)
: halign(ha), valign(va), icon(i), state(Normal), listener(NULL), actionCode(aCode), actionData(aData), toolTip(tooltip) : xpos(0), ypos(0), halign(ha), valign(va), icon(i), bgr(0.0), bgg(0.0), bgb(0.0), fgr(0.0), fgg(0.0), fgb(0.0), state(Normal), listener(NULL), actionCode(aCode), actionData(aData), toolTip(tooltip)
{ {
if (i) { if (i) {

View File

@ -18,7 +18,7 @@
*/ */
#include "lwbuttonset.h" #include "lwbuttonset.h"
LWButtonSet::LWButtonSet () : aw(0), ah(0) LWButtonSet::LWButtonSet () : aw(0), ah(0), ax(0), ay(0)
{ {
} }

View File

@ -165,11 +165,11 @@ void MyDiagonalCurve::get_LUT (LUTf &lut)
// calculate remaining points // calculate remaining points
std::vector<double> curveDescr = getPoints (); std::vector<double> curveDescr = getPoints ();
rtengine::DiagonalCurve rtcurve(curveDescr, lut.getUpperBound() * 1.2); rtengine::DiagonalCurve rtcurve(curveDescr, lut.getUpperBound() * 1.2);
double t;
double maxVal = double(lut.getUpperBound()); double maxVal = double(lut.getUpperBound());
for (int i = 0; i < size; i++) { for (int i = 0; i < size; i++) {
t = double(i) / maxVal; double t = double(i) / maxVal;
lut[i] = rtcurve.getVal (t); lut[i] = rtcurve.getVal (t);
} }
@ -1167,7 +1167,6 @@ void MyDiagonalCurve::pipetteButton1Released(EditDataProvider *provider)
snapToElmt = -100; snapToElmt = -100;
if (curve.type != DCT_Parametric) { if (curve.type != DCT_Parametric) {
std::vector<double>::iterator itx, ity;
buttonPressed = false; buttonPressed = false;
/* get the pointer position */ /* get the pointer position */
getCursorPosition(Gdk::EventType(Gdk::BUTTON_RELEASE), false, graphY, 0, Gdk::ModifierType(0)); getCursorPosition(Gdk::EventType(Gdk::BUTTON_RELEASE), false, graphY, 0, Gdk::ModifierType(0));

View File

@ -86,11 +86,10 @@ void MyFlatCurve::get_LUT (LUTf &lut)
std::vector<double> curveDescr = getPoints (); std::vector<double> curveDescr = getPoints ();
rtengine::FlatCurve rtcurve(curveDescr, periodic, lut.getUpperBound() * 1.2 > 5000 ? 5000 : lut.getUpperBound() * 1.2); rtengine::FlatCurve rtcurve(curveDescr, periodic, lut.getUpperBound() * 1.2 > 5000 ? 5000 : lut.getUpperBound() * 1.2);
double t;
double maxVal = double(lut.getUpperBound()); double maxVal = double(lut.getUpperBound());
for (int i = 0; i < size; i++) { for (int i = 0; i < size; i++) {
t = double(i) / maxVal; double t = double(i) / maxVal;
lut[i] = rtcurve.getVal (t); lut[i] = rtcurve.getVal (t);
} }
@ -815,13 +814,13 @@ bool MyFlatCurve::handleEvents (GdkEvent* event)
case Gdk::BUTTON_RELEASE: case Gdk::BUTTON_RELEASE:
if (edited_point == -1) { //curve.type!=FCT_Parametric) { if (edited_point == -1) { //curve.type!=FCT_Parametric) {
if (buttonPressed && event->button.button == 1) { if (buttonPressed && event->button.button == 1) {
int src, dst;
buttonPressed = false; buttonPressed = false;
remove_modal_grab (); remove_modal_grab ();
// Removing any deleted point if we were previously modifying the point position // Removing any deleted point if we were previously modifying the point position
if (editedHandle & (FCT_EditedHandle_CPoint | FCT_EditedHandle_CPointX | FCT_EditedHandle_CPointY)) { if (editedHandle & (FCT_EditedHandle_CPoint | FCT_EditedHandle_CPointX | FCT_EditedHandle_CPointY)) {
/* delete inactive points: */ /* delete inactive points: */
int src, dst;
itx = curve.x.begin(); itx = curve.x.begin();
ity = curve.y.begin(); ity = curve.y.begin();
itlt = curve.leftTangent.begin(); itlt = curve.leftTangent.begin();

View File

@ -2168,9 +2168,9 @@ bool Options::load ()
} else { } else {
#ifdef WIN32 #ifdef WIN32
WCHAR pathW[MAX_PATH] = {0}; WCHAR pathW[MAX_PATH] = {0};
char pathA[MAX_PATH];
if (SHGetSpecialFolderPathW(NULL, pathW, CSIDL_LOCAL_APPDATA, false)) { if (SHGetSpecialFolderPathW(NULL, pathW, CSIDL_LOCAL_APPDATA, false)) {
char pathA[MAX_PATH];
WideCharToMultiByte(CP_UTF8, 0, pathW, -1, pathA, MAX_PATH, 0, 0); WideCharToMultiByte(CP_UTF8, 0, pathW, -1, pathA, MAX_PATH, 0, 0);
rtdir = Glib::build_filename(Glib::ustring(pathA), Glib::ustring(CACHEFOLDERNAME)); rtdir = Glib::build_filename(Glib::ustring(pathA), Glib::ustring(CACHEFOLDERNAME));
} }

View File

@ -609,9 +609,10 @@ Gtk::Widget* Preferences::getPerformancePanel ()
rgbDenoiseTreadLimitSB->set_digits (0); rgbDenoiseTreadLimitSB->set_digits (0);
rgbDenoiseTreadLimitSB->set_increments (1, 5); rgbDenoiseTreadLimitSB->set_increments (1, 5);
rgbDenoiseTreadLimitSB->set_max_length(2); // Will this be sufficient? :) rgbDenoiseTreadLimitSB->set_max_length(2); // Will this be sufficient? :)
int maxThreadNumber = 10;
#ifdef _OPENMP #ifdef _OPENMP
maxThreadNumber = omp_get_max_threads(); int maxThreadNumber = omp_get_max_threads();
#else
int maxThreadNumber = 10;
#endif #endif
rgbDenoiseTreadLimitSB->set_range (0, maxThreadNumber); rgbDenoiseTreadLimitSB->set_range (0, maxThreadNumber);
threadLimitHB->pack_start (*RGBDTLl, Gtk::PACK_SHRINK, 2); threadLimitHB->pack_start (*RGBDTLl, Gtk::PACK_SHRINK, 2);

View File

@ -72,9 +72,10 @@ public:
Impl(): nConcurrentThreads(0) Impl(): nConcurrentThreads(0)
{ {
int threadCount = 2;
#ifdef _OPENMP #ifdef _OPENMP
threadCount = omp_get_num_procs(); int threadCount = omp_get_num_procs();
#else
int threadCount = 2;
#endif #endif
threadPool_ = new Glib::ThreadPool(threadCount, 0); threadPool_ = new Glib::ThreadPool(threadCount, 0);

View File

@ -223,10 +223,10 @@ bool PreviewWindow::on_button_press_event (GdkEventButton* event)
int x, y, w, h; int x, y, w, h;
getObservedFrameArea (x, y, w, h); getObservedFrameArea (x, y, w, h);
if (x>imgX || y>imgY || w < imgW || h < imgH) { if (x>imgX || y>imgY || w < imgW || h < imgH) {
bool inside = event->x > x - 6 && event->x < x + w - 1 + 6 && event->y > y - 6 && event->y < y + h - 1 + 6;
bool moreInside = event->x > x + 6 && event->x < x + w - 1 - 6 && event->y > y + 6 && event->y < y + h - 1 - 6;
if (!isMoving) { if (!isMoving) {
bool inside = event->x > x - 6 && event->x < x + w - 1 + 6 && event->y > y - 6 && event->y < y + h - 1 + 6;
bool moreInside = event->x > x + 6 && event->x < x + w - 1 - 6 && event->y > y + 6 && event->y < y + h - 1 - 6;
isMoving = true; isMoving = true;
if (!inside || moreInside) { if (!inside || moreInside) {

View File

@ -164,10 +164,10 @@ bool ProfileStore::parseDir (Glib::ustring& realPath, Glib::ustring& virtualPath
{ {
bool fileFound = false; bool fileFound = false;
unsigned int folder = 0; // folder's own Id
// reload the available profiles from the profile dir // reload the available profiles from the profile dir
if (!realPath.empty() && Glib::file_test(realPath, Glib::FILE_TEST_EXISTS) && Glib::file_test (realPath, Glib::FILE_TEST_IS_DIR)) { if (!realPath.empty() && Glib::file_test(realPath, Glib::FILE_TEST_EXISTS) && Glib::file_test (realPath, Glib::FILE_TEST_IS_DIR)) {
unsigned int folder = 0; // folder's own Id
// add this entry to the folder list // add this entry to the folder list
folders.push_back(virtualPath); folders.push_back(virtualPath);
@ -488,7 +488,7 @@ void ProfileStore::dumpFolderList()
printf("Folder list:\n------------\n"); printf("Folder list:\n------------\n");
for (unsigned int i = 0; i < folders.size(); i++) { for (unsigned int i = 0; i < folders.size(); i++) {
printf(" #%3d - %s\n", i, folders.at(i).c_str()); printf(" #%3ud - %s\n", i, folders.at(i).c_str());
} }
printf("\n"); printf("\n");

View File

@ -90,7 +90,7 @@ class ProgressConnector
public: public:
ProgressConnector (): workThread( 0 ) { } ProgressConnector (): retval( 0 ), workThread( 0 ) { }
void startFunc (const sigc::slot0<T>& startHandler, const sigc::slot0<bool>& endHandler ) void startFunc (const sigc::slot0<T>& startHandler, const sigc::slot0<bool>& endHandler )
{ {

View File

@ -88,159 +88,159 @@ Glib::ustring RenameDialog::getNewName ()
return newName->get_text (); return newName->get_text ();
} }
void RenameDialog::fillTemplateList () //void RenameDialog::fillTemplateList ()
{ //{
//
// templateModel->clear ();
//
// for (size_t i = 0; i < options.renameTemplates.size(); i++) {
// Gtk::TreeModel::iterator iter = templateModel->append ();
// iter->set_value (templateColumns.tmplName, options.renameTemplates[i]);
// iter->set_value (templateColumns.rowSeparator, false);
// }
//
// // append separator and the manage... item
// Gtk::TreeModel::iterator iter = templateModel->append ();
// iter->set_value (templateColumns.tmplName, Glib::ustring(""));
// iter->set_value (templateColumns.rowSeparator, true);
// iter = templateModel->append ();
// iter->set_value (templateColumns.tmplName, Glib::ustring(M("FILEBROWSER_ADDDELTEMPLATE")));
// iter->set_value (templateColumns.rowSeparator, false);
//}
templateModel->clear (); //bool RenameDialog::rowSeparatorFunc (const Glib::RefPtr<Gtk::TreeModel>& model, const Gtk::TreeModel::iterator& iter)
//{
//
// return iter->get_value (templateColumns.rowSeparator);
//}
for (size_t i = 0; i < options.renameTemplates.size(); i++) { //void RenameDialog::useTemplToggled ()
Gtk::TreeModel::iterator iter = templateModel->append (); //{
iter->set_value (templateColumns.tmplName, options.renameTemplates[i]); //
iter->set_value (templateColumns.rowSeparator, false); // templates->set_sensitive (useTmpl->get_active ());
} //
// if (useTmpl->get_active () && isTemplSelected ()) {
// all->set_sensitive (true);
// newName->set_text (applyTemplate (oldName->get_text(), imageData, getActiveTemplate()));
// } else {
// all->set_sensitive (false);
// }
//
// newName->select_region (0, newName->get_text().size());
//}
// append separator and the manage... item //bool RenameDialog::isTemplSelected ()
Gtk::TreeModel::iterator iter = templateModel->append (); //{
iter->set_value (templateColumns.tmplName, Glib::ustring("")); //
iter->set_value (templateColumns.rowSeparator, true); // Gtk::TreeModel::iterator iter = templates->get_active();
iter = templateModel->append (); // return iter && iter->get_value (templateColumns.tmplName) != M("FILEBROWSER_ADDDELTEMPLATE");
iter->set_value (templateColumns.tmplName, Glib::ustring(M("FILEBROWSER_ADDDELTEMPLATE"))); //}
iter->set_value (templateColumns.rowSeparator, false);
}
bool RenameDialog::rowSeparatorFunc (const Glib::RefPtr<Gtk::TreeModel>& model, const Gtk::TreeModel::iterator& iter) //Glib::ustring RenameDialog::getActiveTemplate ()
{ //{
//
// Gtk::TreeModel::iterator iter = templates->get_active();
//
// if (iter && iter->get_value (templateColumns.tmplName) != M("FILEBROWSER_ADDDELTEMPLATE")) {
// return iter->get_value (templateColumns.tmplName);
// } else {
// return "";
// }
//}
return iter->get_value (templateColumns.rowSeparator); //void RenameDialog::tmplSelectionChanged ()
} //{
//
// Gtk::TreeModel::iterator iter = templates->get_active();
//
// if (iter && iter->get_value (templateColumns.tmplName) == M("FILEBROWSER_ADDDELTEMPLATE")) {
// RenameTemplateEditor* rte = new RenameTemplateEditor (p);
//
// if (rte->run() == Gtk::RESPONSE_OK) {
// fillTemplateList ();
// }
//
// delete rte;
// // show add/del template dialog
// } else {
// useTemplToggled ();
// }
//}
void RenameDialog::useTemplToggled () //RenameTemplateEditor::RenameTemplateEditor (Gtk::Window* parent)
{ // : Gtk::Dialog ("Edit rename templates", *parent, true, true)
//{
//
// list = Gtk::manage (new Gtk::ListViewText (1, false, Gtk::SELECTION_MULTIPLE));
// list->set_headers_visible (false);
// get_vbox ()->pack_start (*list);
//
// Gtk::HBox* hb = Gtk::manage (new Gtk::HBox ());
// templ = Gtk::manage (new Gtk::Entry ());
// Gtk::Button* add = Gtk::manage (new Gtk::Button ());
// Gtk::Button* del = Gtk::manage (new Gtk::Button ());
// add->add (*Gtk::manage (new RTImage ("list-add-small.png")));
// del->add (*Gtk::manage (new RTImage ("list-remove-red-small.png")));
// hb->pack_start (*templ);
// hb->pack_start (*add, Gtk::PACK_SHRINK, 2);
// hb->pack_start (*del, Gtk::PACK_SHRINK, 2);
//
// get_vbox ()->pack_start (*hb, Gtk::PACK_SHRINK, 4);
//
// add_button (Gtk::Stock::OK, Gtk::RESPONSE_OK);
//
// refreshTemplateList ();
//
// add->signal_pressed().connect( sigc::mem_fun(*this, &RenameTemplateEditor::addPressed) );
// del->signal_pressed().connect( sigc::mem_fun(*this, &RenameTemplateEditor::delPressed) );
//
// show_all_children ();
//
// set_size_request (-1, 250);
//}
//
//void RenameTemplateEditor::refreshTemplateList ()
//{
//
// list->clear_items ();
//
// for (size_t i = 0; i < options.renameTemplates.size(); i++) {
// list->append_text (options.renameTemplates[i]);
// }
//}
//
//void RenameTemplateEditor::addPressed ()
//{
//
// if (templ->get_text() != "") {
// options.renameTemplates.push_back (templ->get_text ());
// refreshTemplateList ();
// templ->set_text("");
// }
//}
//
//void RenameTemplateEditor::delPressed ()
//{
//
// std::vector<int> sel = list->get_selected ();
//
// for (size_t i = 0; i < sel.size(); i++) {
// Glib::ustring toDel = list->get_text (sel[i]);
// std::vector<Glib::ustring>::iterator f = std::find (options.renameTemplates.begin(), options.renameTemplates.end(), toDel);
//
// if (f != options.renameTemplates.end()) {
// options.renameTemplates.erase (f);
// }
// }
//
// refreshTemplateList ();
//}
templates->set_sensitive (useTmpl->get_active ()); //Glib::ustring RenameDialog::applyTemplate (const Glib::ustring& oName, const CacheImageData* cid, const Glib::ustring& templ)
//{
if (useTmpl->get_active () && isTemplSelected ()) { //
all->set_sensitive (true); // return Glib::ustring ("szeva");
newName->set_text (applyTemplate (oldName->get_text(), imageData, getActiveTemplate())); //
} else { //}
all->set_sensitive (false);
}
newName->select_region (0, newName->get_text().size());
}
bool RenameDialog::isTemplSelected ()
{
Gtk::TreeModel::iterator iter = templates->get_active();
return iter && iter->get_value (templateColumns.tmplName) != M("FILEBROWSER_ADDDELTEMPLATE");
}
Glib::ustring RenameDialog::getActiveTemplate ()
{
Gtk::TreeModel::iterator iter = templates->get_active();
if (iter && iter->get_value (templateColumns.tmplName) != M("FILEBROWSER_ADDDELTEMPLATE")) {
return iter->get_value (templateColumns.tmplName);
} else {
return "";
}
}
void RenameDialog::tmplSelectionChanged ()
{
Gtk::TreeModel::iterator iter = templates->get_active();
if (iter && iter->get_value (templateColumns.tmplName) == M("FILEBROWSER_ADDDELTEMPLATE")) {
RenameTemplateEditor* rte = new RenameTemplateEditor (p);
if (rte->run() == Gtk::RESPONSE_OK) {
fillTemplateList ();
}
delete rte;
// show add/del template dialog
} else {
useTemplToggled ();
}
}
RenameTemplateEditor::RenameTemplateEditor (Gtk::Window* parent)
: Gtk::Dialog ("Edit rename templates", *parent, true, true)
{
list = Gtk::manage (new Gtk::ListViewText (1, false, Gtk::SELECTION_MULTIPLE));
list->set_headers_visible (false);
get_vbox ()->pack_start (*list);
Gtk::HBox* hb = Gtk::manage (new Gtk::HBox ());
templ = Gtk::manage (new Gtk::Entry ());
Gtk::Button* add = Gtk::manage (new Gtk::Button ());
Gtk::Button* del = Gtk::manage (new Gtk::Button ());
add->add (*Gtk::manage (new RTImage ("list-add-small.png")));
del->add (*Gtk::manage (new RTImage ("list-remove-red-small.png")));
hb->pack_start (*templ);
hb->pack_start (*add, Gtk::PACK_SHRINK, 2);
hb->pack_start (*del, Gtk::PACK_SHRINK, 2);
get_vbox ()->pack_start (*hb, Gtk::PACK_SHRINK, 4);
add_button (Gtk::Stock::OK, Gtk::RESPONSE_OK);
refreshTemplateList ();
add->signal_pressed().connect( sigc::mem_fun(*this, &RenameTemplateEditor::addPressed) );
del->signal_pressed().connect( sigc::mem_fun(*this, &RenameTemplateEditor::delPressed) );
show_all_children ();
set_size_request (-1, 250);
}
void RenameTemplateEditor::refreshTemplateList ()
{
list->clear_items ();
for (size_t i = 0; i < options.renameTemplates.size(); i++) {
list->append_text (options.renameTemplates[i]);
}
}
void RenameTemplateEditor::addPressed ()
{
if (templ->get_text() != "") {
options.renameTemplates.push_back (templ->get_text ());
refreshTemplateList ();
templ->set_text("");
}
}
void RenameTemplateEditor::delPressed ()
{
std::vector<int> sel = list->get_selected ();
for (size_t i = 0; i < sel.size(); i++) {
Glib::ustring toDel = list->get_text (sel[i]);
std::vector<Glib::ustring>::iterator f = std::find (options.renameTemplates.begin(), options.renameTemplates.end(), toDel);
if (f != options.renameTemplates.end()) {
options.renameTemplates.erase (f);
}
}
refreshTemplateList ();
}
Glib::ustring RenameDialog::applyTemplate (const Glib::ustring& oName, const CacheImageData* cid, const Glib::ustring& templ)
{
return Glib::ustring ("szeva");
}

View File

@ -30,29 +30,29 @@ class RenameDialog : public Gtk::Dialog
protected: protected:
class TemplateColumns : public Gtk::TreeModel::ColumnRecord // class TemplateColumns : public Gtk::TreeModel::ColumnRecord
{ // {
public: // public:
Gtk::TreeModelColumn<Glib::ustring> tmplName; // Gtk::TreeModelColumn<Glib::ustring> tmplName;
Gtk::TreeModelColumn<bool> rowSeparator; // Gtk::TreeModelColumn<bool> rowSeparator;
TemplateColumns() // TemplateColumns()
{ // {
add(tmplName); // add(tmplName);
add(rowSeparator); // add(rowSeparator);
} // }
}; // };
TemplateColumns templateColumns; // TemplateColumns templateColumns;
Glib::RefPtr<Gtk::ListStore> templateModel; // Glib::RefPtr<Gtk::ListStore> templateModel;
Gtk::Window* p; Gtk::Window* p;
Gtk::Label* oldName; Gtk::Label* oldName;
Gtk::Entry* newName; Gtk::Entry* newName;
Gtk::CheckButton* useTmpl; // Gtk::CheckButton* useTmpl;
MyComboBox* templates; // MyComboBox* templates;
Gtk::Button* all; // Gtk::Button* all;
const CacheImageData* imageData; const CacheImageData* imageData;
void fillTemplateList (); // void fillTemplateList ();
public: public:
explicit RenameDialog (Gtk::Window* parent); explicit RenameDialog (Gtk::Window* parent);
@ -60,32 +60,32 @@ public:
void initName (const Glib::ustring& iname, const CacheImageData* cid); void initName (const Glib::ustring& iname, const CacheImageData* cid);
Glib::ustring getNewName (); Glib::ustring getNewName ();
bool rowSeparatorFunc (const Glib::RefPtr<Gtk::TreeModel>& model, const Gtk::TreeModel::iterator& iter); // bool rowSeparatorFunc (const Glib::RefPtr<Gtk::TreeModel>& model, const Gtk::TreeModel::iterator& iter);
void tmplSelectionChanged (); // void tmplSelectionChanged ();
void useTemplToggled (); // void useTemplToggled ();
bool isTemplSelected (); // bool isTemplSelected ();
Glib::ustring getActiveTemplate (); // Glib::ustring getActiveTemplate ();
static Glib::ustring applyTemplate (const Glib::ustring& oName, const CacheImageData* cid, const Glib::ustring& templ); // static Glib::ustring applyTemplate (const Glib::ustring& oName, const CacheImageData* cid, const Glib::ustring& templ);
}; };
class RenameTemplateEditor : public Gtk::Dialog //class RenameTemplateEditor : public Gtk::Dialog
{ //{
//
protected: //protected:
Gtk::ListViewText* list; // Gtk::ListViewText* list;
Gtk::Entry* templ; // Gtk::Entry* templ;
//
void refreshTemplateList (); // void refreshTemplateList ();
public: //public:
explicit RenameTemplateEditor (Gtk::Window* parent); // explicit RenameTemplateEditor (Gtk::Window* parent);
//
Glib::ustring getSelectedTemplate (); // Glib::ustring getSelectedTemplate ();
//
void addPressed (); // void addPressed ();
void delPressed (); // void delPressed ();
}; //};
#endif #endif

View File

@ -1121,7 +1121,7 @@ void Retinex::gammaretinexChanged()
if(gammaretinex->get_active_row_number() == 4) { if(gammaretinex->get_active_row_number() == 4) {
gam->show(); gam->show();
slope->show(); slope->show();
} else if(gammaretinex->get_active_row_number() != 4) { } else /*if(gammaretinex->get_active_row_number() != 4)*/ {
gam->hide(); gam->hide();
slope->hide(); slope->hide();
} }

View File

@ -21,7 +21,7 @@
#include "multilangmgr.h" #include "multilangmgr.h"
#include "mycurve.h" #include "mycurve.h"
SHCSelector::SHCSelector() : ColoredBar(RTO_Left2Right), movingPosition(-1), cl(NULL) SHCSelector::SHCSelector() : ColoredBar(RTO_Left2Right), movingPosition(-1), tmpX(0.0), tmpPos(0.0), wslider(0.0), cl(NULL)
{ {
positions[0] = defaults[0] = 0.25; positions[0] = defaults[0] = 0.25;

View File

@ -559,7 +559,6 @@ void ThumbBrowserBase::arrangeFiles ()
int ct = 0; int ct = 0;
int currx = 0; int currx = 0;
int curry = 0;
while (ct < N) { while (ct < N) {
// find widest item in the column // find widest item in the column
@ -571,7 +570,7 @@ void ThumbBrowserBase::arrangeFiles ()
} }
// arrange items in the column // arrange items in the column
curry = 0; int curry = 0;
for (int i = 0; ct < N && i < numOfRows; i++, ct++) { for (int i = 0; ct < N && i < numOfRows; i++, ct++) {
while (ct < N && fd[ct]->filtered) { while (ct < N && fd[ct]->filtered) {
@ -641,12 +640,11 @@ void ThumbBrowserBase::arrangeFiles ()
// arrange files // arrange files
int ct = 0; int ct = 0;
int currx = 0;
int curry = 0; int curry = 0;
while (ct < N) { while (ct < N) {
// arrange items in the row // arrange items in the row
currx = 0; int currx = 0;
for (int i = 0; ct < N && i < numOfCols; i++, ct++) { for (int i = 0; ct < N && i < numOfCols; i++, ct++) {
while (ct < N && fd[ct]->filtered) { while (ct < N && fd[ct]->filtered) {

View File

@ -119,7 +119,6 @@ void ThumbBrowserEntryBase::updateBackBuffer ()
getTextSizes (infow, infoh); getTextSizes (infow, infoh);
int iofs_x = 4, iofs_y = 4; int iofs_x = 4, iofs_y = 4;
int igap = 2;
int istartx = prex; int istartx = prex;
int istarty = prey; int istarty = prey;
@ -141,6 +140,7 @@ void ThumbBrowserEntryBase::updateBackBuffer ()
istarty += iofs_y; istarty += iofs_y;
if (!bbIcons.empty()) { if (!bbIcons.empty()) {
int igap = 2;
int iwidth = 0; int iwidth = 0;
int iheight = 0; int iheight = 0;
@ -251,7 +251,6 @@ void ThumbBrowserEntryBase::updateBackBuffer ()
fn->set_width (textw * Pango::SCALE); fn->set_width (textw * Pango::SCALE);
fn->set_ellipsize (Pango::ELLIPSIZE_MIDDLE); fn->set_ellipsize (Pango::ELLIPSIZE_MIDDLE);
backBuffer->draw_layout (gc_, textposx_ex, textposy + tpos, fn); backBuffer->draw_layout (gc_, textposx_ex, textposy + tpos, fn);
tpos += exlabh;
} }
} }
} }

View File

@ -63,8 +63,8 @@ Thumbnail::Thumbnail (CacheManager* cm, const Glib::ustring& fname, CacheImageDa
Thumbnail::Thumbnail (CacheManager* cm, const Glib::ustring& fname, const std::string& md5) Thumbnail::Thumbnail (CacheManager* cm, const Glib::ustring& fname, const std::string& md5)
: fname(fname), cachemgr(cm), ref(1), enqueueNumber(0), tpp(NULL), pparamsValid(false), : fname(fname), cachemgr(cm), ref(1), enqueueNumber(0), tpp(NULL), pparamsValid(false),
needsReProcessing(true), imageLoading(false), lastImg(NULL), pparamsSet(false), needsReProcessing(true), imageLoading(false), lastImg(NULL),
initial_(true) lastW(0), lastH(0), lastScale(0.0), initial_(true)
{ {

View File

@ -187,7 +187,7 @@ public:
{ {
return pparams.inTrash; return pparams.inTrash;
} }
void setStage (int stage) void setStage (bool stage)
{ {
if (pparams.inTrash != stage) { if (pparams.inTrash != stage) {
pparams.inTrash = stage; pparams.inTrash = stage;

View File

@ -104,14 +104,13 @@ static double wbTemp2Slider(double temp)
const double slope = (double)(CENTERTEMP - MINTEMP) / (MAXTEMP - CENTERTEMP); const double slope = (double)(CENTERTEMP - MINTEMP) / (MAXTEMP - CENTERTEMP);
const double y = (temp - CENTERTEMP) / (MAXTEMP - CENTERTEMP); const double y = (temp - CENTERTEMP) / (MAXTEMP - CENTERTEMP);
double x = pow(y, 0.25); // rough guess of x, will be a little lower double x = pow(y, 0.25); // rough guess of x, will be a little lower
double y1;
double k = 0.1; double k = 0.1;
bool add = true; bool add = true;
// the y=f(x) function is a mess to invert, therefore we have this trial-refinement loop instead. // the y=f(x) function is a mess to invert, therefore we have this trial-refinement loop instead.
// from tests, worst case is about 20 iterations, ie no problem // from tests, worst case is about 20 iterations, ie no problem
for (;;) { for (;;) {
y1 = x * slope + (1.0 - slope) * pow(x, 4.0); double y1 = x * slope + (1.0 - slope) * pow(x, 4.0);
if (5000 * fabs(y1 - y) < 0.1) { if (5000 * fabs(y1 - y) < 0.1) {
break; break;