/** ===========================================================
* @file
*
* This file is a part of digiKam project
* http://www.digikam.org
*
* @date 2006-09-13
* @brief LibRaw settings widgets
*
* @author Copyright (C) 2006-2013 by Gilles Caulier
* caulier dot gilles at gmail dot com
* @author Copyright (C) 2006-2011 by Marcel Wiesweg
* marcel dot wiesweg at gmx dot de
* @author Copyright (C) 2007-2008 by Guillaume Castagnino
* casta at xwing dot info
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
* Public License as published by the Free Software Foundation;
* either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* ============================================================ */
#ifndef DCRAW_SETTINGS_WIDGET_H
#define DCRAW_SETTINGS_WIDGET_H
// Qt includes
#include
// KDE includes
#include
#include
// Local includes
#include "libkdcraw_export.h"
#include "rawdecodingsettings.h"
#include "rexpanderbox.h"
namespace KDcrawIface
{
class LIBKDCRAW_EXPORT DcrawSettingsWidget : public RExpanderBox
{
Q_OBJECT
public:
enum AdvancedSettingsOptions
{
SIXTEENBITS = 0x00000001,
COLORSPACE = 0x00000002,
POSTPROCESSING = 0x00000004,
BLACKWHITEPOINTS = 0x00000008
};
enum SettingsTabs
{
DEMOSAICING = 0,
WHITEBALANCE,
CORRECTIONS,
COLORMANAGEMENT
};
public:
/**
* @param advSettings the default value is COLORSPACE
*/
explicit DcrawSettingsWidget(QWidget* const parent, int advSettings = COLORSPACE);
virtual ~DcrawSettingsWidget();
KUrlRequester* inputProfileUrlEdit() const;
KUrlRequester* outputProfileUrlEdit() const;
void setup(int advSettings);
void setEnabledBrightnessSettings(bool b);
bool brightnessSettingsIsEnabled() const;
void updateMinimumWidth();
void resetToDefault();
void setSettings(const RawDecodingSettings& settings);
RawDecodingSettings settings() const;
void readSettings(KConfigGroup& group);
void writeSettings(KConfigGroup& group);
Q_SIGNALS:
void signalSixteenBitsImageToggled(bool);
void signalSettingsChanged();
private Q_SLOTS:
void slotWhiteBalanceToggled(int);
void slotsixteenBitsImageToggled(bool);
void slotUnclipColorActivated(int);
void slotNoiseReductionChanged(int);
void slotCACorrectionToggled(bool);
void slotExposureCorrectionToggled(bool);
void slotAutoCAToggled(bool);
void processDcrawUrl(const QString&);
void slotInputColorSpaceChanged(int);
void slotOutputColorSpaceChanged(int);
void slotRAWQualityChanged(int);
void slotExpoCorrectionShiftChanged(double);
private:
class Private;
Private* const d;
};
} // NameSpace KDcrawIface
#endif /* DCRAW_SETTINGS_WIDGET_H */