From 94ecc2fcc63946e7106a578307bae01971af83f0 Mon Sep 17 00:00:00 2001 From: shun_iwasawa Date: Sep 13 2016 07:53:46 +0000 Subject: revert autocenter in cleanup settings --- diff --git a/toonz/sources/toonz/cleanupsettingspane.cpp b/toonz/sources/toonz/cleanupsettingspane.cpp index d7e5579..30756ba 100644 --- a/toonz/sources/toonz/cleanupsettingspane.cpp +++ b/toonz/sources/toonz/cleanupsettingspane.cpp @@ -26,6 +26,7 @@ #include #include #include +#include #include "cleanupsettingspane.h" @@ -80,6 +81,10 @@ void CleanupSaveInField::browseDirectory() { CleanupSettingsPane::CleanupSettingsPane(QWidget *parent) : QFrame(parent), m_attached(false) { + // Autocenter + m_autocenterBox = new QGroupBox(tr("Autocenter"), this); + m_pegHolesOm = new QComboBox(this); + m_fieldGuideOm = new QComboBox(this); // Rotate&Flip QFrame *rotFlipFrame = new QFrame(this); m_rotateOm = new QComboBox(this); @@ -103,6 +108,19 @@ CleanupSettingsPane::CleanupSettingsPane(QWidget *parent) QPushButton *loadBtn = new QPushButton(tr("Load")); QPushButton *resetBtn = new QPushButton(tr("Reset")); + // Autocenter + m_autocenterBox->setCheckable(true); + QStringList pegbarHoles; + pegbarHoles << "Bottom" + << "Top" + << "Left" + << "Right"; + m_pegHolesOm->addItems(pegbarHoles); + std::vector fdgNames; + CleanupParameters::getFdgNames(fdgNames); + for (int i = 0; i < (int)fdgNames.size(); i++) + m_fieldGuideOm->addItem(QString(fdgNames[i].c_str())); + // Rotate&Flip rotFlipFrame->setObjectName("CleanupSettingsFrame"); QStringList rotate; @@ -137,6 +155,23 @@ CleanupSettingsPane::CleanupSettingsPane(QWidget *parent) mainLay->setSpacing(2); mainLay->setMargin(5); { + // Autocenter + QGridLayout *autocenterLay = new QGridLayout(); + autocenterLay->setMargin(5); + autocenterLay->setSpacing(3); + { + autocenterLay->addWidget(new QLabel(tr("Pegbar Holes")), 0, 0, + Qt::AlignRight | Qt::AlignVCenter); + autocenterLay->addWidget(m_pegHolesOm, 0, 1); + autocenterLay->addWidget(new QLabel(tr("Field Guide")), 1, 0, + Qt::AlignRight | Qt::AlignVCenter); + autocenterLay->addWidget(m_fieldGuideOm, 1, 1); + } + autocenterLay->setColumnStretch(0, 0); + autocenterLay->setColumnStretch(1, 1); + m_autocenterBox->setLayout(autocenterLay); + mainLay->addWidget(m_autocenterBox, 0); + // Rotate&Flip QGridLayout *rotFlipLay = new QGridLayout(); rotFlipLay->setMargin(5); @@ -226,7 +261,14 @@ CleanupSettingsPane::CleanupSettingsPane(QWidget *parent) //-----signal-slot connections bool ret = true; - ret = ret && connect(m_rotateOm, SIGNAL(activated(int)), + ret = ret && connect(m_autocenterBox, SIGNAL(toggled(bool)), + SLOT(onGenericSettingsChange())); + ret = ret && connect(m_pegHolesOm, SIGNAL(activated(int)), + SLOT(onGenericSettingsChange())); + ret = ret && connect(m_fieldGuideOm, SIGNAL(activated(int)), + SLOT(onGenericSettingsChange())); + + ret = ret && connect(m_rotateOm, SIGNAL(activated(int)), SLOT(onGenericSettingsChange())); ret = ret && connect(m_flipX, SIGNAL(stateChanged(int)), SLOT(onGenericSettingsChange())); @@ -336,6 +378,15 @@ void CleanupSettingsPane::updateGui(bool needsPostProcess) { void CleanupSettingsPane::updateGui(CleanupParameters *params, CleanupParameters *oldParams) { + m_autocenterBox->setChecked(params->m_autocenterType == + CleanupTypes::AUTOCENTER_FDG); + m_pegHolesOm->setCurrentIndex(params->m_pegSide - 1); + + QString fieldName = QString::fromStdString(params->getFdgName()); + int index = (fieldName.isEmpty()) ? 0 : m_fieldGuideOm->findText(fieldName); + assert(index != -1); + m_fieldGuideOm->setCurrentIndex(index); + m_rotateOm->setCurrentIndex(params->m_rotate / 90); m_flipX->setChecked(params->m_flipx); m_flipY->setChecked(params->m_flipy); @@ -462,6 +513,13 @@ void CleanupSettingsPane::onGenericSettingsChange() { CleanupSettingsModel *model = CleanupSettingsModel::instance(); CleanupParameters *params = model->getCurrentParameters(); + params->m_autocenterType = m_autocenterBox->isChecked() + ? CleanupTypes::AUTOCENTER_FDG + : CleanupTypes::AUTOCENTER_NONE; + params->m_pegSide = + (CleanupTypes::PEGS_SIDE)(m_pegHolesOm->currentIndex() + 1); + params->setFdgByName(m_fieldGuideOm->currentText().toStdString()); + params->m_rotate = m_rotateOm->currentIndex() * 90; params->m_flipx = m_flipX->isChecked(); params->m_flipy = m_flipY->isChecked(); diff --git a/toonz/sources/toonz/cleanupsettingspane.h b/toonz/sources/toonz/cleanupsettingspane.h index b0069d8..75da278 100644 --- a/toonz/sources/toonz/cleanupsettingspane.h +++ b/toonz/sources/toonz/cleanupsettingspane.h @@ -18,6 +18,7 @@ class QComboBox; class QLabel; class QCheckBox; class CleanupPaletteViewer; +class QGroupBox; namespace DVGui { @@ -47,6 +48,9 @@ public: CleanupCameraSettingsWidget *m_cameraWidget; private: + //----Autocenter + QGroupBox *m_autocenterBox; + QComboBox *m_pegHolesOm, *m_fieldGuideOm; //----Rotate & Flip QComboBox *m_rotateOm; QCheckBox *m_flipX;