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

#include <dlg_embed_tags.h>

+ Inheritance diagram for DlgEmbedTags:

Public Member Functions

 DlgEmbedTags (QList< int > selectedTags, QWidget *parent=0)
 
QList< int > selectedTagIds ()
 
 ~DlgEmbedTags () override
 
- Public Member Functions inherited from KoDialog
QPushButton * button (ButtonCode id) const
 
QIcon buttonIcon (ButtonCode id) const
 
QString buttonText (ButtonCode id) const
 
QString buttonToolTip (ButtonCode id) const
 
QString buttonWhatsThis (ButtonCode id) const
 
ButtonCode defaultButton () const
 
QString helpLinkText () const
 
void incrementInitialSize (const QSize &size)
 
bool isButtonEnabled (ButtonCode id) const
 
 KoDialog (QWidget *parent=0, Qt::WindowFlags f=Qt::WindowFlags())
 
QWidget * mainWidget ()
 
QSize minimumSizeHint () const override
 
void setButtonFocus (ButtonCode id)
 
void setButtonGuiItem (ButtonCode id, const KGuiItem &item)
 
void setButtonIcon (ButtonCode id, const QIcon &icon)
 
void setButtons (ButtonCodes buttonMask)
 
void setButtonsOrientation (Qt::Orientation orientation)
 
void setButtonText (ButtonCode id, const QString &text)
 
void setButtonToolTip (ButtonCode id, const QString &text)
 
void setButtonWhatsThis (ButtonCode id, const QString &text)
 
void setDefaultButton (ButtonCode id)
 
void setEscapeButton (ButtonCode id)
 
void setInitialSize (const QSize &size)
 
void setMainWidget (QWidget *widget)
 
void showButton (ButtonCode id, bool state)
 
void showButtonSeparator (bool state)
 
QSize sizeHint () const override
 
 ~KoDialog () override
 

Private Slots

void addSelected ()
 
void removeSelected ()
 
void resourceTypeSelected (int idx)
 

Private Attributes

QWidget * m_page
 
QList< int > m_selectedTagIds
 
Ui::WdgDlgEmbedTags * m_ui
 

Additional Inherited Members

- Public Types inherited from KoDialog
enum  ButtonCode {
  None = 0x00000000 , Help = 0x00000001 , Default = 0x00000002 , Ok = 0x00000004 ,
  Apply = 0x00000008 , Try = 0x00000010 , Cancel = 0x00000020 , Close = 0x00000040 ,
  No = 0x00000080 , Yes = 0x00000100 , Reset = 0x00000200 , Details = 0x00000400 ,
  User1 = 0x00001000 , User2 = 0x00002000 , User3 = 0x00004000 , NoDefault = 0x00008000
}
 
enum  ButtonPopupMode { InstantPopup = 0 , DelayedPopup = 1 }
 
enum  CaptionFlag { NoCaptionFlags = 0 , AppNameCaption = 1 , ModifiedCaption = 2 , HIGCompliantCaption = AppNameCaption }
 
- Public Slots inherited from KoDialog
void delayedDestruct ()
 
void enableButton (ButtonCode id, bool state)
 
void enableButtonApply (bool state)
 
void enableButtonCancel (bool state)
 
void enableButtonOk (bool state)
 
void enableLinkedHelp (bool state)
 
bool isDetailsWidgetVisible () const
 
virtual void setCaption (const QString &caption)
 
virtual void setCaption (const QString &caption, bool modified)
 
void setDetailsWidget (QWidget *detailsWidget)
 
void setDetailsWidgetVisible (bool visible)
 
void setHelp (const QString &anchor, const QString &appname=QString())
 
void setHelpLinkText (const QString &text)
 
virtual void setPlainCaption (const QString &caption)
 
- Signals inherited from KoDialog
void aboutToShowDetails ()
 
void applyClicked ()
 
void buttonClicked (KoDialog::ButtonCode button)
 
void cancelClicked ()
 
void closeClicked ()
 
void defaultClicked ()
 
void finished ()
 
void helpClicked ()
 
void hidden ()
 
void layoutHintChanged ()
 
void noClicked ()
 
void okClicked ()
 
void resetClicked ()
 
void tryClicked ()
 
void user1Clicked ()
 
void user2Clicked ()
 
void user3Clicked ()
 
void yesClicked ()
 
- Static Public Member Functions inherited from KoDialog
static int groupSpacingHint ()
 
static QString makeStandardCaption (const QString &userCaption, QWidget *window=0, CaptionFlags flags=HIGCompliantCaption)
 
static int marginHint ()
 
static void resizeLayout (QLayout *lay, int margin, int spacing)
 
static void resizeLayout (QWidget *widget, int margin, int spacing)
 
static int spacingHint ()
 
- Protected Slots inherited from KoDialog
virtual void slotButtonClicked (int button)
 
- Protected Member Functions inherited from KoDialog
void closeEvent (QCloseEvent *e) override
 
void hideEvent (QHideEvent *) override
 
void keyPressEvent (QKeyEvent *) override
 
void showEvent (QShowEvent *e) override
 

Detailed Description

Definition at line 18 of file dlg_embed_tags.h.

Constructor & Destructor Documentation

◆ DlgEmbedTags()

DlgEmbedTags::DlgEmbedTags ( QList< int > selectedTags,
QWidget * parent = 0 )
explicit

Definition at line 36 of file dlg_embed_tags.cpp.

37 : KoDialog(parent)
38 , m_ui(new Ui::WdgDlgEmbedTags)
39{
40 m_page = new QWidget();
41 m_ui->setupUi(m_page);
43 setFixedSize(m_page->sizeHint());
46 setButtonGuiItem(Ok, KStandardGuiItem::save());
47 m_selectedTagIds = selectedTags;
48
49
50 KoDocumentInfo info;
51 info.updateParameters();
52
53
54 m_ui->bnAdd->setIcon(KisIconUtils::loadIcon("arrow-right"));
55 connect(m_ui->bnAdd, SIGNAL(clicked()), SLOT(addSelected()));
56
57 m_ui->bnRemove->setIcon(KisIconUtils::loadIcon("arrow-left"));
58 connect(m_ui->bnRemove, SIGNAL(clicked()), SLOT(removeSelected()));
59
60
61 m_ui->cmbResourceTypes->addItem(i18n("Brushes"), ResourceType::Brushes);
62 m_ui->cmbResourceTypes->addItem(i18n("Brush Presets"), ResourceType::PaintOpPresets);
63 m_ui->cmbResourceTypes->addItem(i18n("Gradients"), ResourceType::Gradients);
64 m_ui->cmbResourceTypes->addItem(i18n("Gamut Masks"), ResourceType::GamutMasks);
65 m_ui->cmbResourceTypes->addItem(i18n("Patterns"), ResourceType::Patterns);
66 m_ui->cmbResourceTypes->addItem(i18n("Palettes"), ResourceType::Palettes);
67 m_ui->cmbResourceTypes->addItem(i18n("Workspaces"), ResourceType::Workspaces);
68
69 connect(m_ui->cmbResourceTypes, SIGNAL(activated(int)), SLOT(resourceTypeSelected(int)));
70
71 m_ui->tableAvailable->setIconSize(QSize(ICON_SIZE, ICON_SIZE));
72 m_ui->tableAvailable->setSelectionMode(QAbstractItemView::ExtendedSelection);
73
74 m_ui->tableSelected->setIconSize(QSize(ICON_SIZE, ICON_SIZE));
75 m_ui->tableSelected->setSelectionMode(QAbstractItemView::ExtendedSelection);
76
78}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
void resourceTypeSelected(int idx)
QWidget * m_page
QList< int > m_selectedTagIds
Ui::WdgDlgEmbedTags * m_ui
void setButtonGuiItem(ButtonCode id, const KGuiItem &item)
Definition KoDialog.cpp:638
void setMainWidget(QWidget *widget)
Definition KoDialog.cpp:354
void setButtons(ButtonCodes buttonMask)
Definition KoDialog.cpp:195
void setDefaultButton(ButtonCode id)
Definition KoDialog.cpp:302
@ Ok
Show Ok button. (this button accept()s the dialog; result set to QDialog::Accepted)
Definition KoDialog.h:127
@ Cancel
Show Cancel-button. (this button reject()s the dialog; result set to QDialog::Rejected)
Definition KoDialog.h:130
KoDialog(QWidget *parent=0, Qt::WindowFlags f=Qt::WindowFlags())
Definition KoDialog.cpp:176
The class containing all meta information about a document.
QIcon loadIcon(const QString &name)
const QString Palettes
const QString Brushes
const QString GamutMasks
const QString Patterns
const QString Gradients
const QString Workspaces
const QString PaintOpPresets
#define ICON_SIZE

References addSelected(), ResourceType::Brushes, KoDialog::Cancel, connect(), ResourceType::GamutMasks, ResourceType::Gradients, ICON_SIZE, KisIconUtils::loadIcon(), m_page, m_selectedTagIds, m_ui, KoDialog::Ok, ResourceType::PaintOpPresets, ResourceType::Palettes, ResourceType::Patterns, removeSelected(), resourceTypeSelected(), KoDialog::setButtonGuiItem(), KoDialog::setButtons(), KoDialog::setDefaultButton(), KoDialog::setMainWidget(), KoDocumentInfo::updateParameters(), and ResourceType::Workspaces.

◆ ~DlgEmbedTags()

DlgEmbedTags::~DlgEmbedTags ( )
override

Definition at line 80 of file dlg_embed_tags.cpp.

81{
82 delete m_ui;
83}

References m_ui.

Member Function Documentation

◆ addSelected

void DlgEmbedTags::addSelected ( )
privateslot

Definition at line 90 of file dlg_embed_tags.cpp.

91{
92 int row = m_ui->tableAvailable->currentRow();
93
94 Q_FOREACH (QListWidgetItem *item, m_ui->tableAvailable->selectedItems()) {
95 m_ui->tableSelected->addItem(m_ui->tableAvailable->takeItem(m_ui->tableAvailable->row(item)));
96 m_selectedTagIds.append(item->data(Qt::UserRole).toInt());
97 }
98
99 m_ui->tableAvailable->setCurrentRow(row);
100}

References m_selectedTagIds, and m_ui.

◆ removeSelected

void DlgEmbedTags::removeSelected ( )
privateslot

Definition at line 102 of file dlg_embed_tags.cpp.

103{
104 int row = m_ui->tableSelected->currentRow();
105
106 Q_FOREACH (QListWidgetItem *item, m_ui->tableSelected->selectedItems()) {
107 m_ui->tableAvailable->addItem(m_ui->tableSelected->takeItem(m_ui->tableSelected->row(item)));
108 m_selectedTagIds.removeAll(item->data(Qt::UserRole).toInt());
109 }
110
111 m_ui->tableSelected->setCurrentRow(row);
112}

References m_selectedTagIds, and m_ui.

◆ resourceTypeSelected

void DlgEmbedTags::resourceTypeSelected ( int idx)
privateslot

Definition at line 114 of file dlg_embed_tags.cpp.

115{
116 QString resourceType = m_ui->cmbResourceTypes->itemData(idx).toString();
117
118 m_ui->tableAvailable->clear();
119 m_ui->tableSelected->clear();
120
121 QString standardizedResourceType = (resourceType == "presets" ? ResourceType::PaintOpPresets : resourceType);
122
123 KisTagModel model(standardizedResourceType);
124
125 for (int i = 0; i < model.rowCount(); i++) {
126
127 QModelIndex idx = model.index(i, 0);
128 QString name = model.data(idx, Qt::DisplayRole).toString();
129 int id = model.data(idx, Qt::UserRole + KisAllTagsModel::Id).toInt();
130
131 if (id < 0) {
132 // skip automated tags
133 continue;
134 }
135
136 QListWidgetItem *item = new QListWidgetItem(QPixmap(), name);
137 item->setData(Qt::UserRole, id);
138
139 if (m_selectedTagIds.contains(id)) {
140 m_ui->tableSelected->addItem(item);
141 }
142 else {
143 m_ui->tableAvailable->addItem(item);
144 }
145 }
146
147}
const char * name(StandardAction id)

References KisAllTagsModel::Id, m_selectedTagIds, m_ui, and ResourceType::PaintOpPresets.

◆ selectedTagIds()

QList< int > DlgEmbedTags::selectedTagIds ( )

Definition at line 85 of file dlg_embed_tags.cpp.

86{
87 return m_selectedTagIds;
88}

References m_selectedTagIds.

Member Data Documentation

◆ m_page

QWidget* DlgEmbedTags::m_page
private

Definition at line 36 of file dlg_embed_tags.h.

◆ m_selectedTagIds

QList<int> DlgEmbedTags::m_selectedTagIds
private

Definition at line 39 of file dlg_embed_tags.h.

◆ m_ui

Ui::WdgDlgEmbedTags* DlgEmbedTags::m_ui
private

Definition at line 37 of file dlg_embed_tags.h.


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