Krita Source Code Documentation
Loading...
Searching...
No Matches
page_metadata_info.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2023 Srirupa Datta <srirupa.sps@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
8#include "ui_pagemetadatainfo.h"
9#include <kis_config.h>
10#include <KoDocumentInfo.h>
12#include <KoFileDialog.h>
13#include <KoResource.h>
14#include "KisResourceStorage.h"
15
16
18 QWizardPage(parent),
19 m_ui(new Ui::PageMetadataInfo)
20 , m_bundle(bundle)
21{
22 m_ui->setupUi(this);
23 KoDocumentInfo info;
24 info.updateParameters();
25
26 if (m_bundle) {
27 m_ui->editAuthor->setText(m_bundle->metaData(KisResourceStorage::s_meta_author, info.authorInfo("creator")));
28 m_ui->editEmail->setText(m_bundle->metaData(KisResourceStorage::s_meta_email, info.authorInfo("email")));
29 m_ui->editWebsite->setText(m_bundle->metaData(KisResourceStorage::s_meta_website, "http://"));
30 m_ui->editLicense->setText(m_bundle->metaData(KisResourceStorage::s_meta_license, "CC-BY-SA"));
31 QString fileName = QFileInfo(m_bundle->filename()).baseName();
32 m_ui->editBundleName->setText(fileName);
33 m_ui->editDescription->document()->setPlainText(m_bundle->metaData(KisResourceStorage::s_meta_description, "New Bundle"));
34 QImage img = m_bundle->image();
35 img = img.scaled(256, 256, Qt::KeepAspectRatio, Qt::SmoothTransformation);
36 m_thumbnail = img;
37 m_ui->lblPreview->setPixmap(QPixmap::fromImage(img));
38 } else {
39 KisConfig cfg(true);
40
41 m_ui->editAuthor->setText(cfg.readEntry<QString>("BundleAuthorName", info.authorInfo("creator")));
42 m_ui->editEmail->setText(cfg.readEntry<QString>("BundleAuthorEmail", info.authorInfo("email")));
43 m_ui->editWebsite->setText(cfg.readEntry<QString>("BundleWebsite", "http://"));
44 m_ui->editLicense->setText(cfg.readEntry<QString>("BundleLicense", "CC-BY-SA"));
45 m_ui->editBundleName->setText(cfg.readEntry<QString>("BundleName", "New Bundle"));
46 m_ui->editDescription->document()->setPlainText(cfg.readEntry<QString>("BundleDescription", "New Bundle"));
47 m_previewImage = cfg.readEntry<QString>("BundleImage", "");
48 if (!m_previewImage.isEmpty()) {
49 QImage img(m_previewImage);
50 img = img.scaled(256, 256, Qt::KeepAspectRatio, Qt::SmoothTransformation);
51 m_ui->lblPreview->setPixmap(QPixmap::fromImage(img));
52 }
53 }
54
55 connect(m_ui->bnGetPreview, SIGNAL(clicked()), SLOT(getPreviewImage()));
56}
57
62
64{
65 return m_ui->editBundleName->text();
66}
67
69{
70 return m_ui->editAuthor->text();
71}
72
74{
75 return m_ui->editEmail->text();
76}
77
79{
80 return m_ui->editWebsite->text();
81}
82
84{
85 return m_ui->editLicense->text();
86}
87
89{
90 return m_ui->editDescription->document()->toPlainText();
91}
92
93
95{
96 return m_previewImage;
97}
98
100{
101 return m_thumbnail;
102}
103
105{
106 KoFileDialog dialog(this, KoFileDialog::OpenFile, "BundlePreviewImage");
107 dialog.setCaption(i18n("Select file to use as bundle icon"));
108 dialog.setDefaultDir(QStandardPaths::writableLocation(QStandardPaths::PicturesLocation));
110 m_previewImage = dialog.filename();
111 QImage img(m_previewImage);
112 img = img.scaled(256, 256, Qt::KeepAspectRatio, Qt::SmoothTransformation);
113 m_ui->lblPreview->setPixmap(QPixmap::fromImage(img));
114 m_thumbnail = img;
115}
116
118{
119 m_ui->editBundleName->setStyleSheet(QString(" border: 1px solid red"));
120}
121
123{
124 m_ui->editBundleName->setStyleSheet(QString(""));
125}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
T readEntry(const QString &name, const T &defaultValue=T())
Definition kis_config.h:789
static QStringList supportedMimeTypes(Direction direction)
static const QString s_meta_author
static const QString s_meta_email
static const QString s_meta_license
static const QString s_meta_description
static const QString s_meta_website
The class containing all meta information about a document.
QString authorInfo(const QString &info) const
PageMetadataInfo(KoResourceBundleSP bundle=nullptr, QWidget *parent=nullptr)
QString bundleName() const
QString previewImage() const
QString email() const
Ui::PageMetadataInfo * m_ui
QString license() const
QString website() const
QString authorName() const
QImage thumbnail() const
KoResourceBundleSP m_bundle
QString description() const