| #include "toonzqt/stylenameeditor.h" |
| |
| #include "tcommon.h" |
| #include "toonz/tpalettehandle.h" |
| #include "tcolorstyles.h" |
| #include "tpalette.h" |
| #include "toonz/palettecmd.h" |
| |
| #include <QLineEdit> |
| #include <QPushButton> |
| #include <QHBoxLayout> |
| #include <QVBoxLayout> |
| #include <QLabel> |
| |
| StyleNameEditor::StyleNameEditor(QWidget *parent) |
| : QDialog(parent), m_paletteHandle(0) |
| { |
| setWindowTitle(tr("Name Editor")); |
| |
| m_styleName = new QLineEdit(this); |
| m_okButton = new QPushButton(tr("OK"), this); |
| m_cancelButton = new QPushButton(tr("Cancel"), this); |
| m_applyButton = new QPushButton(tr("Apply"), this); |
| |
| m_styleName->setEnabled(false); |
| m_okButton->setEnabled(false); |
| m_okButton->setFocusPolicy(Qt::NoFocus); |
| m_applyButton->setEnabled(false); |
| m_cancelButton->setFocusPolicy(Qt::NoFocus); |
| |
| m_styleName->setObjectName("RenameColorTextField"); |
| |
| QVBoxLayout *mainLayout = new QVBoxLayout(); |
| mainLayout->setMargin(10); |
| mainLayout->setSpacing(5); |
| { |
| QHBoxLayout *inputLayout = new QHBoxLayout(); |
| inputLayout->setMargin(0); |
| inputLayout->setSpacing(3); |
| { |
| inputLayout->addWidget(new QLabel(tr("Style Name"), this), 0); |
| inputLayout->addWidget(m_styleName, 1); |
| } |
| mainLayout->addLayout(inputLayout); |
| |
| QHBoxLayout *buttonLayout = new QHBoxLayout(); |
| buttonLayout->setMargin(0); |
| buttonLayout->setSpacing(3); |
| { |
| buttonLayout->addWidget(m_okButton); |
| buttonLayout->addWidget(m_applyButton); |
| buttonLayout->addWidget(m_cancelButton); |
| } |
| mainLayout->addLayout(buttonLayout); |
| } |
| setLayout(mainLayout); |
| |
| setGeometry(640, 512, 420, 80); |
| |
| connect(m_okButton, SIGNAL(pressed()), this, SLOT(onOkPressed())); |
| connect(m_cancelButton, SIGNAL(pressed()), this, SLOT(onCancelPressed())); |
| connect(m_applyButton, SIGNAL(pressed()), this, SLOT(onApplyPressed())); |
| } |
| |
| |
| void StyleNameEditor::setPaletteHandle(TPaletteHandle *ph) |
| { |
| m_paletteHandle = ph; |
| connect(m_paletteHandle, SIGNAL(colorStyleSwitched()), this, SLOT(onStyleSwitched())); |
| connect(m_paletteHandle, SIGNAL(paletteSwitched()), this, SLOT(onStyleSwitched())); |
| m_styleName->setEnabled(true); |
| m_okButton->setEnabled(true); |
| m_applyButton->setEnabled(true); |
| } |
| |
| |
| void StyleNameEditor::showEvent(QShowEvent *e) |
| { |
| if (m_paletteHandle) { |
| disconnect(m_paletteHandle, SIGNAL(colorStyleSwitched()), this, SLOT(onStyleSwitched())); |
| disconnect(m_paletteHandle, SIGNAL(paletteSwitched()), this, SLOT(onStyleSwitched())); |
| connect(m_paletteHandle, SIGNAL(colorStyleSwitched()), this, SLOT(onStyleSwitched())); |
| connect(m_paletteHandle, SIGNAL(paletteSwitched()), this, SLOT(onStyleSwitched())); |
| } |
| |
| onStyleSwitched(); |
| } |
| |
| |
| void StyleNameEditor::hideEvent(QHideEvent *e) |
| { |
| disconnect(m_paletteHandle, SIGNAL(colorStyleSwitched()), this, SLOT(onStyleSwitched())); |
| disconnect(m_paletteHandle, SIGNAL(paletteSwitched()), this, SLOT(onStyleSwitched())); |
| } |
| |
| |
| void StyleNameEditor::onStyleSwitched() |
| { |
| |
| if (!m_paletteHandle || !m_paletteHandle->getStyle()) |
| return; |
| |
| wstring styleName = m_paletteHandle->getStyle()->getName(); |
| m_styleName->setText(QString::fromStdWString(styleName)); |
| m_styleName->selectAll(); |
| |
| int styleId = m_paletteHandle->getStyleIndex(); |
| setWindowTitle(tr("Name Editor: # %1").arg(styleId)); |
| } |
| |
| void StyleNameEditor::onOkPressed() |
| { |
| onApplyPressed(); |
| close(); |
| } |
| void StyleNameEditor::onApplyPressed() |
| { |
| if (!m_paletteHandle || !m_paletteHandle->getStyle()) |
| return; |
| if (m_styleName->text() == "") |
| return; |
| |
| wstring newName = m_styleName->text().toStdWString(); |
| |
| PaletteCmd::renamePaletteStyle(m_paletteHandle, newName); |
| } |
| |
| void StyleNameEditor::onCancelPressed() |
| { |
| close(); |
| } |
| |
| |
| void StyleNameEditor::enterEvent(QEvent *e) |
| { |
| activateWindow(); |
| m_styleName->setFocus(); |
| } |