Camera Raw panel's remaining groups and the Filter menu entry (12.8b2)

This commit is contained in:
雷电芽衣 committed 2026-09-28 05:40:09 -04:00
1 parent bb8129e8d5
commit 7ae263de80
26 files changed
+3227 -82

No files matched your search

+52
View File
@@ -0,0 +1,52 @@
#pragma once
#include "Document/EditorSession.h"
#include "UI/CameraRawRow.h"
#include <QWidget>
class QAbstractButton;
class QLabel;
class QToolButton;
class QVBoxLayout;
// Swift's CameraRawDetailControls: sharpening and noise reduction.
class CameraRawDetailControls : public QWidget {
Q_OBJECT
public:
explicit CameraRawDetailControls(EditorSession &session, QWidget *parent = nullptr);
void synchronize();
private:
// Swift's sharpenSlider; Masking shows its mask while Alt is held.
void row(QVBoxLayout *column, const QString &name, const QString &title, double CameraRawDetailSettings::*key, double high, double reset,
bool maskingPreview, const QString &help);
void assign(double CameraRawDetailSettings::*key, double value, bool maskingPreview);
EditorSession &m_session;
std::vector<CameraRawRow *> m_rows;
QWidget *m_luminanceDetail = nullptr;
QWidget *m_colorDetail = nullptr;
};
// Swift's CameraRawOpticsControls: profile, distortion, defringe, vignetting.
class CameraRawOpticsControls : public QWidget {
Q_OBJECT
public:
explicit CameraRawOpticsControls(EditorSession &session, QWidget *parent = nullptr);
void synchronize();
private:
void row(QVBoxLayout *column, const QString &name, const QString &title, double CameraRawOpticsSettings::*key, double low, double high, double reset,
const QString &help);
QWidget *hueRange(const QString &name, const QString &title, double CameraRawOpticsSettings::*low, double CameraRawOpticsSettings::*high,
double lowReset, double highReset, const QString &help);
void update(const std::function<void(CameraRawOpticsSettings &)> &change);
EditorSession &m_session;
std::vector<CameraRawRow *> m_rows;
std::vector<std::pair<CameraRawSlider *, double CameraRawOpticsSettings::*>> m_hueSliders;
QAbstractButton *m_chromatic = nullptr;
QAbstractButton *m_profile = nullptr;
QWidget *m_profileRows = nullptr;
QToolButton *m_defringe = nullptr;
QLabel *m_defringeHint = nullptr;
};