2016-03-19 06:57:51 +13:00
|
|
|
#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()));
|
|
|
|
}
|
|
|
|
//update view
|
|
|
|
onStyleSwitched();
|
|
|
|
}
|
|
|
|
|
|
|
|
//-------disconnection
|
|
|
|
void StyleNameEditor::hideEvent(QHideEvent *e)
|
|
|
|
{
|
|
|
|
disconnect(m_paletteHandle, SIGNAL(colorStyleSwitched()), this, SLOT(onStyleSwitched()));
|
|
|
|
disconnect(m_paletteHandle, SIGNAL(paletteSwitched()), this, SLOT(onStyleSwitched()));
|
|
|
|
}
|
|
|
|
|
|
|
|
//-----update display when the current style is switched
|
|
|
|
void StyleNameEditor::onStyleSwitched()
|
|
|
|
{
|
|
|
|
|
|
|
|
if (!m_paletteHandle || !m_paletteHandle->getStyle())
|
|
|
|
return;
|
|
|
|
|
2016-04-19 19:32:17 +12:00
|
|
|
std::wstring styleName = m_paletteHandle->getStyle()->getName();
|
2016-03-19 06:57:51 +13:00
|
|
|
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;
|
|
|
|
|
2016-04-19 19:32:17 +12:00
|
|
|
std::wstring newName = m_styleName->text().toStdWString();
|
2016-03-19 06:57:51 +13:00
|
|
|
|
|
|
|
PaletteCmd::renamePaletteStyle(m_paletteHandle, newName);
|
|
|
|
}
|
|
|
|
|
|
|
|
void StyleNameEditor::onCancelPressed()
|
|
|
|
{
|
|
|
|
close();
|
|
|
|
}
|
|
|
|
|
|
|
|
//focus when the mouse enters
|
|
|
|
void StyleNameEditor::enterEvent(QEvent *e)
|
|
|
|
{
|
|
|
|
activateWindow();
|
|
|
|
m_styleName->setFocus();
|
|
|
|
}
|