8#include <KLocalizedContext>
17#include <lager/state.hpp>
18#include <QApplication>
50 Q_FOREACH (
const QString langCode, KLocalizedString::languages()) {
51 locales.append(QLocale(langCode));
52 wellFormedBCPNames.append(langCode.split(
"_").join(
"-"));
54 d->locales = wellFormedBCPNames;
56 connect(
d->textModel, SIGNAL(textPropertyChanged()),
57 &
d->textToProviderCompressor, SLOT(start()));
58 connect(
d->characterModel, SIGNAL(textPropertyChanged()),
59 &
d->characterToProviderCompressor, SLOT(start()));
62 connect(
d->textModel, SIGNAL(textPropertyChanged()),
64 connect(
d->characterModel, SIGNAL(textPropertyChanged()),
77 connect(
d->provider, SIGNAL(sigTextPropertiesChanged()),
79 connect(
d->provider, SIGNAL(sigCharacterPropertiesChanged()),
86 d->provider->setTextPropertyData(textData);
88 d->provider->setCharacterPropertyData(textData);
101 m_canvas->disconnectCanvasObserver(
this);
108 d->currentDpi =
m_canvas->currentImage()->xRes() * 72.0;
120 return d->currentDpi;
135 return d->characterModel;
140 return d->textPropertyConfigModel;
150 if (
d->hasFocus == focus)
return;
158 const bool shouldSet =
d->hasFocus? !
d->textToProviderCompressor.isActive():
true;
159 if (
d->textModel->textData.get() != data && shouldSet) {
160 d->textModel->textData.set(data);
168 const bool shouldSet =
d->hasFocus? !
d->characterToProviderCompressor.isActive():
true;
169 if (
d->characterModel->textData.get() != data && shouldSet) {
170 d->characterModel->textData.set(data);
179 if (
d->provider &&
d->provider->textPropertyData() != textData) {
180 d->provider->setTextPropertyData(textData);
188 if (
d->provider &&
d->provider->characterTextPropertyData() != characterData) {
189 d->provider->setCharacterPropertyData(characterData);
196 dialog.setTextPropertyConfigModel(
d->textPropertyConfigModel);
197 if (dialog.exec() == QDialog::Accepted) {
198 dialog.model()->saveConfiguration();
222 preset->setName(i18nc(
"@info:placeholder",
"New Style Preset"));
223 preset->setStyleType(
"character");
224 preset->updateThumbnail();
227 dialog->setDpi(
d->currentDpi);
228 dialog->setCurrentResource(preset);
230 if (dialog->exec() == QDialog::Accepted) {
243 dialog->setCurrentResource(preset);
245 if (dialog->exec() == QDialog::Accepted) {
260 dialog->setCurrentResource(preset);
262 if (dialog->exec() == QDialog::Accepted) {
263 preset = dialog->currentResource();
264 preset->setFilename(preset->name().replace(
' ',
'_').replace(
'.',
'_') + preset->defaultFileExtension());
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.
lager::cursor< KoSvgTextPropertyData > textData
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 slotCharacterPropertiesChanged()
void setHasFocus(const bool focus)
~TextPropertiesCanvasObserver()
void characterPropertiesChanged()
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
KoSvgTextPropertiesModel * characterProperties
void setViewManager(KisViewManager *kisview) override
void slotCanvasCharacterPropertiesChanged()
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 textToProviderCompressor
KisSignalCompressor characterToProviderCompressor
TextPropertyConfigModel * textPropertyConfigModel
Private(QObject *parent=nullptr)
KisCanvasResourceProvider * provider
KoSvgTextPropertiesModel * characterModel
KoSvgTextPropertiesModel * textModel