8#include <KLocalizedContext>
17#include <lager/state.hpp>
18#include <QApplication>
47 Q_FOREACH (
const QString langCode, KLocalizedString::languages()) {
48 locales.append(QLocale(langCode));
49 wellFormedBCPNames.append(langCode.split(
"_").join(
"-"));
51 d->locales = wellFormedBCPNames;
53 connect(
d->textModel, SIGNAL(textPropertyChanged()),
54 &
d->modelToProviderCompressor, SLOT(start()));
56 connect(
d->textModel, SIGNAL(textPropertyChanged()),
69 connect(
d->provider, SIGNAL(sigTextPropertiesChanged()),
75 d->provider->setTextPropertyData(textData);
88 m_canvas->disconnectCanvasObserver(
this);
95 d->currentDpi =
m_canvas->currentImage()->xRes() * 72.0;
107 return d->currentDpi;
122 return d->textPropertyConfigModel;
132 if (
d->hasFocus == focus)
return;
140 const bool shouldSet =
d->hasFocus? !
d->modelToProviderCompressor.isActive():
true;
141 if (
d->textModel->textData.get() != data && shouldSet) {
142 d->textModel->textData.set(data);
151 if (
d->provider &&
d->provider->textPropertyData() != textData) {
152 d->provider->setTextPropertyData(textData);
159 dialog.setTextPropertyConfigModel(
d->textPropertyConfigModel);
160 if (dialog.exec() == QDialog::Accepted) {
161 dialog.model()->saveConfiguration();
175 d->textModel->textData.set(textData);
183 preset->setName(i18nc(
"@info:placeholder",
"New Style Preset"));
184 preset->setStyleType(
"character");
185 preset->updateThumbnail();
188 dialog->setDpi(
d->currentDpi);
189 dialog->setCurrentResource(preset);
191 if (dialog->exec() == QDialog::Accepted) {
204 dialog->setCurrentResource(preset);
206 if (dialog->exec() == QDialog::Accepted) {
221 dialog->setCurrentResource(preset);
223 if (dialog->exec() == QDialog::Accepted) {
224 preset = dialog->currentResource();
225 preset->setFilename(preset->name().replace(
' ',
'_').replace(
'.',
'_') + preset->defaultFileExtension());
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
The KisResourceModel class provides the main access to resources. It is possible to filter the resour...
bool reloadResource(KoResourceSP resource) override
reloadResource
static bool addResourceWithUserInput(QWidget *widgetParent, KoResourceSP resource, QString storageLocation="")
static bool updateResourceWithUserInput(QWidget *widgetParent, KoResourceSP resource)
KisCanvasResourceProvider * canvasResourceProvider()
The KoCssStylePreset class.
The KoSvgTextPropertiesModel class.
QList< PropertyId > properties() const
QVariant property(PropertyId id, const QVariant &defaultValue=QVariant()) const
void setProperty(PropertyId id, const QVariant &value)
void callModalTextPropertyConfigDialog()
QPointer< KisCanvas2 > m_canvas
void setHasFocus(const bool focus)
~TextPropertiesCanvasObserver()
TextPropertyConfigModel * textPropertyConfig
const QScopedPointer< Private > d
void cloneAndEditPreset(KoResourceSP resource)
void slotCanvasTextPropertiesChanged()
void setCanvas(KoCanvasBase *canvas) override
void unsetCanvas() override
bool createNewPresetFromSettings()
dpiChangedQStringList locales
localesChangedKoSvgTextPropertiesModel * textProperties
void setViewManager(KisViewManager *kisview) override
TextPropertiesCanvasObserver(QObject *parent=nullptr)
void textPropertyConfigChanged()
void slotTextPropertiesChanged()
void textPropertiesChanged()
void editPreset(KoResourceSP resource)
void applyPreset(KoResourceSP resource)
The KoSvgTextPropertyData struct.
KoSvgTextProperties commonProperties
The properties common between all the selected text.
KoSvgTextProperties inheritedProperties
The properties that are inherited, so that widgets may be set correctly.
KisSignalCompressor modelToProviderCompressor
TextPropertyConfigModel * textPropertyConfigModel
Private(QObject *parent=nullptr)
KisCanvasResourceProvider * provider
KoSvgTextPropertiesModel * textModel