Krita Source Code Documentation
Loading...
Searching...
No Matches
PyQtPluginSettings Class Reference

#include <pyqtpluginsettings.h>

+ Inheritance diagram for PyQtPluginSettings:

Public Slots

void loadDefaultPreferences () override
 
void loadPreferences () override
 
void savePreferences () const override
 
- Public Slots inherited from KisPreferenceSet
virtual void loadDefaultPreferences ()=0
 
virtual void loadPreferences ()=0
 
virtual void savePreferences () const =0
 

Signals

void settingsChanged () const
 

Public Member Functions

QString header () override
 
QIcon icon () override
 
QString id () override
 
QString name () override
 
 PyQtPluginSettings (PythonPluginManager *pluginManager, QWidget *parent=nullptr)
 
 ~PyQtPluginSettings () override
 
- Public Member Functions inherited from KisPreferenceSet
 KisPreferenceSet (QWidget *parent=0)
 

Private Slots

void updateManual (const QModelIndex &index)
 

Private Attributes

Ui::ManagerPage * m_page
 
PythonPluginManagerm_pluginManager
 

Detailed Description

Definition at line 19 of file pyqtpluginsettings.h.

Constructor & Destructor Documentation

◆ PyQtPluginSettings()

PyQtPluginSettings::PyQtPluginSettings ( PythonPluginManager * pluginManager,
QWidget * parent = nullptr )

Definition at line 20 of file pyqtpluginsettings.cpp.

21 : KisPreferenceSet(parent)
22 , m_pluginManager(pluginManager)
23 , m_page(new Ui::ManagerPage)
24{
25 m_page->setupUi(this);
26
27 QSortFilterProxyModel* const proxy_model = new QSortFilterProxyModel(this);
28 proxy_model->setSourceModel(pluginManager->model());
29 m_page->pluginsList->setModel(proxy_model);
30 m_page->pluginsList->resizeColumnToContents(0);
31 m_page->pluginsList->sortByColumn(0, Qt::AscendingOrder);
32
33 const bool is_enabled = bool(pluginManager);
34 const bool is_visible = !is_enabled;
35 m_page->errorLabel->setVisible(is_visible);
36 m_page->pluginsList->setEnabled(is_enabled);
37 m_page->textBrowser->setEnabled(is_enabled);
38
39 connect(m_page->pluginsList, SIGNAL(clicked(QModelIndex)), SLOT(updateManual(QModelIndex)));
40}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
KisPreferenceSet(QWidget *parent=0)
Ui::ManagerPage * m_page
PythonPluginManager * m_pluginManager
void updateManual(const QModelIndex &index)
PythonPluginsModel * model()
PythonPluginManager * pluginManager()
Definition utilities.cpp:92

References connect(), m_page, PythonPluginManager::model(), and updateManual().

◆ ~PyQtPluginSettings()

PyQtPluginSettings::~PyQtPluginSettings ( )
override

Definition at line 42 of file pyqtpluginsettings.cpp.

43{
44 delete m_page;
45}

References m_page.

Member Function Documentation

◆ header()

QString PyQtPluginSettings::header ( )
overridevirtual

Implements KisPreferenceSet.

Definition at line 57 of file pyqtpluginsettings.cpp.

58{
59 return QString(i18n("Python Plugin Manager"));
60}

◆ icon()

QIcon PyQtPluginSettings::icon ( )
overridevirtual

Implements KisPreferenceSet.

Definition at line 63 of file pyqtpluginsettings.cpp.

64{
65 return KisIconUtils::loadIcon("python");
66}
QIcon loadIcon(const QString &name)

References KisIconUtils::loadIcon().

◆ id()

QString PyQtPluginSettings::id ( )
overridevirtual

Implements KisPreferenceSet.

Definition at line 47 of file pyqtpluginsettings.cpp.

48{
49 return QString("pykritapluginmanager");
50}

◆ loadDefaultPreferences

void PyQtPluginSettings::loadDefaultPreferences ( )
overrideslot

Definition at line 78 of file pyqtpluginsettings.cpp.

79{
80}

◆ loadPreferences

void PyQtPluginSettings::loadPreferences ( )
overrideslot

Definition at line 74 of file pyqtpluginsettings.cpp.

75{
76}

◆ name()

QString PyQtPluginSettings::name ( )
overridevirtual

Implements KisPreferenceSet.

Definition at line 52 of file pyqtpluginsettings.cpp.

53{
54 return header();
55}
QString header() override

References header().

◆ savePreferences

void PyQtPluginSettings::savePreferences ( ) const
overrideslot

Definition at line 69 of file pyqtpluginsettings.cpp.

70{
71 Q_EMIT(settingsChanged());
72}
void settingsChanged() const

References settingsChanged().

◆ settingsChanged

void PyQtPluginSettings::settingsChanged ( ) const
signal

◆ updateManual

void PyQtPluginSettings::updateManual ( const QModelIndex & index)
privateslot

Definition at line 82 of file pyqtpluginsettings.cpp.

83{
84 QModelIndex unsortedIndex = static_cast<QSortFilterProxyModel*>(m_page->pluginsList->model())->mapToSource(index);
85
86 PythonPlugin *plugin = m_pluginManager->model()->plugin(unsortedIndex);
87 if (plugin && !plugin->manual().isEmpty()) {
88 QString manual = plugin->manual();
89 if (manual.startsWith("<html")) {
90 m_page->textBrowser->setHtml(manual);
91 }
92 else {
93 m_page->textBrowser->setText(manual);
94 }
95 }
96 else {
97 m_page->textBrowser->setHtml("<html><body><h1>No Manual Available</h2></body></html>");
98 }
99}
QString manual() const
PythonPlugin * plugin(const QModelIndex &) const

References m_page, m_pluginManager, PythonPlugin::manual(), PythonPluginManager::model(), and PythonPluginsModel::plugin().

Member Data Documentation

◆ m_page

Ui::ManagerPage* PyQtPluginSettings::m_page
private

Definition at line 46 of file pyqtpluginsettings.h.

◆ m_pluginManager

PythonPluginManager* PyQtPluginSettings::m_pluginManager
private

Definition at line 45 of file pyqtpluginsettings.h.


The documentation for this class was generated from the following files: