Shinya Kitaoka 810553
#pragma once
Shinya Kitaoka 810553
Toshihiro Shimizu 890ddd
#ifndef CLEANUPSETTINGSPANE_H
Toshihiro Shimizu 890ddd
#define CLEANUPSETTINGSPANE_H
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
// ToonzLib includes
Toshihiro Shimizu 890ddd
#include "toonz/cleanupparameters.h"
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
// ToonzQt includes
Toshihiro Shimizu 890ddd
#include "toonzqt/cleanupcamerasettingswidget.h"
Toshihiro Shimizu 890ddd
#include "toonzqt/filefield.h"
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
// Qt includes
Toshihiro Shimizu 890ddd
#include <qframe></qframe>
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//  Forward declarations
Toshihiro Shimizu 890ddd
class QComboBox;
Toshihiro Shimizu 890ddd
class QLabel;
Toshihiro Shimizu 890ddd
class QCheckBox;
Toshihiro Shimizu 890ddd
class CleanupPaletteViewer;
shun_iwasawa 94ecc2
class QGroupBox;
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
namespace DVGui {
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
class DoubleField;
Toshihiro Shimizu 890ddd
class IntField;
shun-iwasawa 2900f1
}  // namespace DVGui
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
/*
Shinya Kitaoka 120a6e
"Save In"
Shinya Kitaoka 120a6e
フィールドのためのFileField。browseDirectoryを再実装して、フィールドが空欄のときは、
Toshihiro Shimizu 890ddd
カレントレベル(Scan画像。TIF等)の入っているフォルダの1つ上をデフォルトフォルダにして開くようにしたい。
Toshihiro Shimizu 890ddd
*/
Shinya Kitaoka d1f6c4
class CleanupSaveInField final : public DVGui::FileField {
Shinya Kitaoka 120a6e
  Q_OBJECT
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 120a6e
  CleanupSaveInField(QWidget *parent = 0, QString path = 0)
Shinya Kitaoka 120a6e
      : DVGui::FileField(parent, path) {}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
protected slots:
Shinya Kitaoka 473e70
  void browseDirectory() override;
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Shinya Kitaoka d1f6c4
class CleanupSettingsPane final : public QFrame {
Shinya Kitaoka 120a6e
  Q_OBJECT
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 120a6e
  //----Cleanup Camera Settings
Shinya Kitaoka 120a6e
  CleanupCameraSettingsWidget *m_cameraWidget;
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
private:
shun_iwasawa 94ecc2
  //----Autocenter
shun_iwasawa 94ecc2
  QGroupBox *m_autocenterBox;
shun_iwasawa 94ecc2
  QComboBox *m_pegHolesOm, *m_fieldGuideOm;
Shinya Kitaoka 120a6e
  //----Rotate & Flip
Shinya Kitaoka 120a6e
  QComboBox *m_rotateOm;
Shinya Kitaoka 120a6e
  QCheckBox *m_flipX;
Shinya Kitaoka 120a6e
  QCheckBox *m_flipY;
Shinya Kitaoka 120a6e
  //----Line Processing
Shinya Kitaoka 120a6e
  QComboBox *m_antialias;
Shinya Kitaoka 120a6e
  DVGui::DoubleField *m_sharpness;
Shinya Kitaoka 120a6e
  DVGui::IntField *m_despeckling;
Shinya Kitaoka 120a6e
  QLabel *m_aaValueLabel;
Shinya Kitaoka 120a6e
  DVGui::IntField *m_aaValue;
Shinya Kitaoka 120a6e
  QComboBox *m_lineProcessing;
shun-iwasawa 76a039
  QLabel *m_lpNoneFormatLabel;
shun-iwasawa 76a039
  QComboBox *m_lpNoneFormat;
Shinya Kitaoka 120a6e
  //----Cleanup Palette
Shinya Kitaoka 120a6e
  CleanupPaletteViewer *m_paletteViewer;
Shinya Kitaoka 120a6e
  //----Bottom Parts
Shinya Kitaoka 120a6e
  CleanupSaveInField *m_pathField;
Shinya Kitaoka 120a6e
  TFilePath m_path;
Shinya Kitaoka 120a6e
Shinya Kitaoka 120a6e
  CleanupParameters m_backupParams;
Shinya Kitaoka 120a6e
  bool m_attached;
Toshihiro Shimizu 890ddd
shun-iwasawa 2900f1
  QList<qwidget *=""> m_lpWidgets;</qwidget>
shun-iwasawa 2900f1
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 120a6e
  CleanupSettingsPane(QWidget *parent = 0);
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
protected:
Shinya Kitaoka 473e70
  void showEvent(QShowEvent *) override;
Shinya Kitaoka 473e70
  void hideEvent(QHideEvent *) override;
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public slots:
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  void updateGui(bool postProcessPreviews);
Shinya Kitaoka 120a6e
  void updateGui(CleanupParameters *params, CleanupParameters *oldParams);
Shinya Kitaoka 120a6e
  void updateImageInfo();
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  // called from CleanupSaveInField
Shinya Kitaoka 120a6e
  TFilePath getLastSelectedPath() { return m_path; }
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
private:
Shinya Kitaoka 120a6e
  void updateVisibility();
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
private slots:
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  void onImageSwitched();
Shinya Kitaoka 120a6e
  void onPreviewDataChanged();
Shinya Kitaoka 120a6e
  void postProcess();
Shinya Kitaoka 120a6e
  void onClnLoaded();
Shinya Kitaoka 120a6e
  void onRestoreSceneSettings();
Shinya Kitaoka 120a6e
  void onGenericSettingsChange();
Shinya Kitaoka 120a6e
  void onPathChange();
Shinya Kitaoka 120a6e
  void onSharpnessChange(bool dragging);
Shinya Kitaoka 120a6e
  void onLevelSwitched();
Shinya Kitaoka 120a6e
  void onSaveSettings();
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#endif