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

#include <KisDlgConfigureCumulativeUndo.h>

+ Inheritance diagram for KisDlgConfigureCumulativeUndo:

Classes

struct  Private
 

Public Member Functions

KisCumulativeUndoData cumulativeUndoData () const
 
 KisDlgConfigureCumulativeUndo (const KisCumulativeUndoData &data, int undoLimit, QWidget *parent=0)
 
 ~KisDlgConfigureCumulativeUndo ()
 
- 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 slotDefaultClicked ()
 

Private Attributes

QScopedPointer< Privatem_d
 

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 16 of file KisDlgConfigureCumulativeUndo.h.

Constructor & Destructor Documentation

◆ KisDlgConfigureCumulativeUndo()

KisDlgConfigureCumulativeUndo::KisDlgConfigureCumulativeUndo ( const KisCumulativeUndoData & data,
int undoLimit,
QWidget * parent = 0 )

Definition at line 35 of file KisDlgConfigureCumulativeUndo.cpp.

38 : KoDialog(parent)
39 , m_d(new Private(data))
40{
41 using namespace KisWidgetConnectionUtils;
42
44
45 QWidget *page = new QWidget(this);
46
47 QVBoxLayout *vboxLayout = new QVBoxLayout(page);
48
49 QFormLayout *form = new QFormLayout();
50 vboxLayout->addLayout(form);
51
52 QDoubleSpinBox *dblMergeTimeout = new KisDoubleParseSpinBox(page);
53 dblMergeTimeout->setToolTip(
54 i18nc("@info:tooltip",
55 "The amount of time during which the strokes will "
56 "be kept unmerged. When a stroke becomes old enough, "
57 "Krita will try to merge it"));
58 dblMergeTimeout->setRange(3, 600);
59 dblMergeTimeout->setSuffix(i18nc("suffix for \"seconds\"", " sec"));
60 form->addRow(i18n("Wait before merging strokes:"), dblMergeTimeout);
61
62 connectControl(dblMergeTimeout, &m_d->model, "mergeTimeout");
63
64 QSpinBox *intExcludeFromMerge = new KisIntParseSpinBox();
65 intExcludeFromMerge->setToolTip(
66 i18nc("@info:tooltip",
67 "The number of last strokes that Krita will not merge "
68 "(even if they are old enough)"));
69 intExcludeFromMerge->setRange(1, undoLimit > 0 ? undoLimit : 1000);
70 form->addRow(i18n("Exclude last strokes from merge:"), intExcludeFromMerge);
71
72 connectControl(intExcludeFromMerge, &m_d->model, "excludeFromMerge");
73
74 QDoubleSpinBox *dblMaxGroupSeparation = new KisDoubleParseSpinBox();
75 dblMaxGroupSeparation->setToolTip(
76 i18nc("@info:tooltip",
77 "If two strokes have short time interval (delay) between "
78 "each other, then they will be considered as belonging to "
79 "the same group and merged"));
80 dblMaxGroupSeparation->setRange(0.3, 60);
81 dblMaxGroupSeparation->setSuffix(i18nc("suffix for \"seconds\"", " sec"));
82 form->addRow(i18n("Max interval of grouped strokes:"), dblMaxGroupSeparation);
83
84 connectControl(dblMaxGroupSeparation, &m_d->model, "maxGroupSeparation");
85
86 QDoubleSpinBox *dblMaxGroupDuration = new KisDoubleParseSpinBox();
87 dblMaxGroupDuration->setToolTip(
88 i18nc("@info:tooltip",
89 "Maximum allowed duration of the group after the merge. "
90 "If the group is going to be longer than this limit in "
91 "the result of the merge, this merge will not happen."));
92 dblMaxGroupDuration->setRange(0.3, 600.0);
93 dblMaxGroupDuration->setSuffix(i18nc("suffix for \"seconds\"", " sec"));
94 form->addRow(i18n("Max group duration:"), dblMaxGroupDuration);
95
96 connectControl(dblMaxGroupDuration, &m_d->model, "maxGroupDuration");
97
98 vboxLayout->addItem(new QSpacerItem(20, 20));
99
100 QLabel *help = new QLabel(
101 i18n("Cumulative Undo allows Krita to merge undo actions "
102 "and make undo history cleaner. Krita will still keep "
103 "a few latest actions unmerged according to "
104 "\"Wait before merging strokes\" and \"Exclude last strokes from merge\" "
105 "options. Whenever an action gets outdated using "
106 "the time limit and this action is not excluded using "
107 "\"Exclude last strokes from merge\", Krita will try "
108 " to merge this action into a group. The groups are "
109 "formed using \"Max group strokes delay\" and "
110 "\"Max group duration\" options."),
111 page);
112 help->setWordWrap(true);
113 help->setAlignment(Qt::AlignJustify);
114 vboxLayout->addWidget(help);
115
116 vboxLayout->addItem(new QSpacerItem(20, 20));
117
118 setMainWidget(page);
119
120 connect(this, SIGNAL(defaultClicked()), SLOT(slotDefaultClicked()));
121}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
The KisDoubleParseSpinBox class is a cleverer doubleSpinBox, able to parse arithmetic expressions.
The KisIntParseSpinBox class is a cleverer SpinBox, able to parse arithmetic expressions.
void setMainWidget(QWidget *widget)
Definition KoDialog.cpp:354
void defaultClicked()
void setButtons(ButtonCodes buttonMask)
Definition KoDialog.cpp:195
@ Ok
Show Ok button. (this button accept()s the dialog; result set to QDialog::Accepted)
Definition KoDialog.h:127
@ Default
Show Default button.
Definition KoDialog.h:126
@ 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
QAction * help(const QObject *recvr, const char *slot, QObject *parent)
void connectControl(KisCompositeOpListWidget *widget, QObject *source, const char *property)

References KoDialog::Cancel, connect(), KoDialog::Default, KoDialog::defaultClicked(), m_d, KoDialog::Ok, KoDialog::setButtons(), KoDialog::setMainWidget(), and slotDefaultClicked().

◆ ~KisDlgConfigureCumulativeUndo()

KisDlgConfigureCumulativeUndo::~KisDlgConfigureCumulativeUndo ( )

Definition at line 123 of file KisDlgConfigureCumulativeUndo.cpp.

124{
125}

Member Function Documentation

◆ cumulativeUndoData()

KisCumulativeUndoData KisDlgConfigureCumulativeUndo::cumulativeUndoData ( ) const

Definition at line 127 of file KisDlgConfigureCumulativeUndo.cpp.

128{
129 return m_d->data.get();
130}

References m_d.

◆ slotDefaultClicked

void KisDlgConfigureCumulativeUndo::slotDefaultClicked ( )
privateslot

Definition at line 132 of file KisDlgConfigureCumulativeUndo.cpp.

133{
134 const KisConfig cfg(true);
135 m_d->data.set(KisCumulativeUndoData());
136}

References m_d.

Member Data Documentation

◆ m_d

QScopedPointer<Private> KisDlgConfigureCumulativeUndo::m_d
private

Definition at line 31 of file KisDlgConfigureCumulativeUndo.h.


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