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

#include <kis_meta_data_merge_strategy_chooser_widget.h>

+ Inheritance diagram for KisMetaDataMergeStrategyChooserWidget:

Classes

struct  Private
 

Public Member Functions

const KisMetaData::MergeStrategycurrentStrategy ()
 
 KisMetaDataMergeStrategyChooserWidget (QWidget *parent)
 
 ~KisMetaDataMergeStrategyChooserWidget () override
 

Static Public Member Functions

static const KisMetaData::MergeStrategyshowDialog (QWidget *parent)
 

Private Slots

void setCurrentDescription (int index)
 

Private Member Functions

const KisMetaData::MergeStrategymergeStrategy (int index)
 

Private Attributes

Private *const d
 

Detailed Description

This widget allows to select a meta data merge strategy.

Definition at line 21 of file kis_meta_data_merge_strategy_chooser_widget.h.

Constructor & Destructor Documentation

◆ KisMetaDataMergeStrategyChooserWidget()

KisMetaDataMergeStrategyChooserWidget::KisMetaDataMergeStrategyChooserWidget ( QWidget * parent)

Creates a widget to select a merge strategy.

Definition at line 19 of file kis_meta_data_merge_strategy_chooser_widget.cc.

20 : d(new Private)
21{
22 Q_UNUSED(parent);
23 setObjectName("KisMetadataMergeStrategyChooserWidget");
24 d->uiWdg.setupUi(this);
26 Q_FOREACH (const QString & key, keys) {
28 d->uiWdg.mergeStrategy->addItem(ms->name(), ms->id());
29 }
30 int initial = d->uiWdg.mergeStrategy->findData("Smart");
31 if (initial != -1) {
32 d->uiWdg.mergeStrategy->setCurrentIndex(initial);
33 }
34 setCurrentDescription(d->uiWdg.mergeStrategy->currentIndex());
35 connect(d->uiWdg.mergeStrategy, SIGNAL(currentIndexChanged(int)), SLOT(setCurrentDescription(int)));
36}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
virtual QString name() const =0
virtual QString id() const =0
T get(const QString &id) const
QList< QString > keys() const

References connect(), d, KoGenericRegistry< T >::get(), KisMetaData::MergeStrategy::id(), KisMetaData::MergeStrategyRegistry::instance(), KoGenericRegistry< T >::keys(), KisMetaData::MergeStrategy::name(), setCurrentDescription(), and KisMetaDataMergeStrategyChooserWidget::Private::uiWdg.

◆ ~KisMetaDataMergeStrategyChooserWidget()

KisMetaDataMergeStrategyChooserWidget::~KisMetaDataMergeStrategyChooserWidget ( )
override

Definition at line 38 of file kis_meta_data_merge_strategy_chooser_widget.cc.

39{
40 delete d;
41}

References d.

Member Function Documentation

◆ currentStrategy()

const KisMetaData::MergeStrategy * KisMetaDataMergeStrategyChooserWidget::currentStrategy ( )

Definition at line 43 of file kis_meta_data_merge_strategy_chooser_widget.cc.

44{
45 return mergeStrategy(d->uiWdg.mergeStrategy->currentIndex());
46}
const KisMetaData::MergeStrategy * mergeStrategy(int index)

References d, mergeStrategy(), and KisMetaDataMergeStrategyChooserWidget::Private::uiWdg.

◆ mergeStrategy()

const KisMetaData::MergeStrategy * KisMetaDataMergeStrategyChooserWidget::mergeStrategy ( int index)
private

◆ setCurrentDescription

void KisMetaDataMergeStrategyChooserWidget::setCurrentDescription ( int index)
privateslot

Definition at line 48 of file kis_meta_data_merge_strategy_chooser_widget.cc.

49{
50 d->uiWdg.description->setText(mergeStrategy(index)->description());
51}

References d, mergeStrategy(), and KisMetaDataMergeStrategyChooserWidget::Private::uiWdg.

◆ showDialog()

const KisMetaData::MergeStrategy * KisMetaDataMergeStrategyChooserWidget::showDialog ( QWidget * parent)
static

Show a dialog which embed that widget, and have an Ok and Cancel button.

Returns
0 if no merge strategy was selected, or the selected merge strategy

Definition at line 59 of file kis_meta_data_merge_strategy_chooser_widget.cc.

60{
61 KoDialog dlg(parent);
62 dlg.setCaption(i18n("Choose meta data merge strategy"));
63 dlg.setButtons(KoDialog::Ok | KoDialog::Cancel);
64 dlg.setDefaultButton(KoDialog::Ok);
65
67 wdg->setMinimumSize(wdg->sizeHint());
68 dlg.setMainWidget(wdg);
69 if (dlg.exec() == QDialog::Accepted) {
70 return wdg->currentStrategy();
71 }
72
73 return 0;
74}
A dialog base class with standard buttons and predefined layouts.
Definition KoDialog.h:116
@ 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

References KoDialog::Cancel, currentStrategy(), KisMetaDataMergeStrategyChooserWidget(), KoDialog::Ok, KoDialog::setButtons(), KoDialog::setCaption(), KoDialog::setDefaultButton(), and KoDialog::setMainWidget().

Member Data Documentation

◆ d

Private* const KisMetaDataMergeStrategyChooserWidget::d
private

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