/** =========================================================== * @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 "kdcraw_export.h" #include "rawdecodingsettings.h" #include "rexpanderbox.h" namespace KDcrawIface { class KDCRAW_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 */