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

Public Member Functions

void _k_acceptOK (bool)
 
void _k_enableApply (bool)
 
void _k_slotButtonClicked (QAbstractButton *button)
 
void applyClicked ()
 
void defaultClicked ()
 
void init ()
 
 KisKEditToolBarPrivate (KisKEditToolBar *q)
 
void okClicked ()
 

Public Attributes

bool m_accept {false}
 
QDialogButtonBox * m_buttonBox {nullptr}
 
KisKActionCollectionm_collection {nullptr}
 
QString m_defaultToolBar
 
KisKXMLGUIFactorym_factory {nullptr}
 
QString m_file
 
bool m_global {false}
 
QVBoxLayout * m_layout {nullptr}
 
KisKEditToolBarWidgetm_widget {nullptr}
 
KisKEditToolBarq {nullptr}
 

Detailed Description

Definition at line 566 of file kedittoolbar.cpp.

Constructor & Destructor Documentation

◆ KisKEditToolBarPrivate()

KisKEditToolBarPrivate::KisKEditToolBarPrivate ( KisKEditToolBar * q)
inline

Definition at line 569 of file kedittoolbar.cpp.

569 : q(q)
570 {}
KisKEditToolBar * q

Member Function Documentation

◆ _k_acceptOK()

void KisKEditToolBarPrivate::_k_acceptOK ( bool b)

Definition at line 664 of file kedittoolbar.cpp.

665{
666 m_buttonBox->button(QDialogButtonBox::Ok)->setEnabled(b);
667 m_accept = b;
668}
QDialogButtonBox * m_buttonBox

References m_accept, and m_buttonBox.

◆ _k_enableApply()

void KisKEditToolBarPrivate::_k_enableApply ( bool b)

Definition at line 670 of file kedittoolbar.cpp.

671{
672 m_buttonBox->button(QDialogButtonBox::Apply)->setEnabled(b);
673}

References m_buttonBox.

◆ _k_slotButtonClicked()

void KisKEditToolBarPrivate::_k_slotButtonClicked ( QAbstractButton * button)

Definition at line 735 of file kedittoolbar.cpp.

736{
737 QDialogButtonBox::StandardButton type = m_buttonBox->standardButton(button);
738
739 switch (type) {
740 case QDialogButtonBox::Ok:
741 okClicked();
742 break;
743 case QDialogButtonBox::Apply:
744 applyClicked();
745 break;
746 case QDialogButtonBox::RestoreDefaults:
748 break;
749 default:
750 break;
751 }
752}
QString button(const QWheelEvent &ev)

References applyClicked(), button(), defaultClicked(), m_buttonBox, and okClicked().

◆ applyClicked()

void KisKEditToolBarPrivate::applyClicked ( )

Definition at line 771 of file kedittoolbar.cpp.

772{
773 (void)m_widget->save();
774 _k_enableApply(false);
775 Q_EMIT q->newToolBarConfig();
776 Q_EMIT q->newToolbarConfig(); // compat
777}
KisKEditToolBarWidget * m_widget
void newToolBarConfig()
QT_MOC_COMPAT void newToolbarConfig()
typedef void(QOPENGLF_APIENTRYP PFNGLINVALIDATEBUFFERDATAPROC)(GLuint buffer)

References _k_enableApply(), m_widget, KisKEditToolBar::newToolBarConfig(), KisKEditToolBar::newToolbarConfig(), q, KDEPrivate::KisKEditToolBarWidget::save(), and void().

◆ defaultClicked()

void KisKEditToolBarPrivate::defaultClicked ( )

Definition at line 675 of file kedittoolbar.cpp.

676{
677 if (KMessageBox::warningContinueCancel(q, i18n("Do you really want to reset all toolbars of this application to their default? The changes will be applied immediately."), i18n("Reset Toolbars"), KGuiItem(i18n("Reset"))) != KMessageBox::Continue) {
678 return;
679 }
680
681 KisKEditToolBarWidget *oldWidget = m_widget;
682 m_widget = 0;
683 m_accept = false;
684
685 if (m_factory) {
686 foreach (KisKXMLGUIClient *client, m_factory->clients()) {
687 const QString file = client->localXMLFile();
688 if (file.isEmpty()) {
689 continue;
690 }
691 //qDebug(240) << "Deleting local xml file" << file;
692 // << "for client" << client << typeid(*client).name();
693 if (QFile::exists(file))
694 if (!QFile::remove(file)) {
695 qWarning() << "Could not delete" << file;
696 }
697 }
698
699 // Reload the xml files in all clients, now that the local files are gone
700 oldWidget->rebuildKisKXMLGUIClients();
701
704 } else {
705 int slash = m_file.lastIndexOf(QLatin1Char('/')) + 1;
706 if (slash) {
707 m_file = m_file.mid(slash);
708 }
709 const QString xml_file = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation) +
710 QStringLiteral("/kxmlgui5/") + QCoreApplication::instance()->applicationName() + QLatin1Char('/') + m_file;
711
712 if (QFile::exists(xml_file))
713 if (!QFile::remove(xml_file)) {
714 qWarning() << "Could not delete " << xml_file;
715 }
716
719 }
720
721 // Copy the geometry to minimize UI flicker
722 m_widget->setGeometry(oldWidget->geometry());
723 delete oldWidget;
724 m_layout->insertWidget(0, m_widget);
725
726 q->connect(m_widget, SIGNAL(enableOk(bool)), SLOT(_k_acceptOK(bool)));
727 q->connect(m_widget, SIGNAL(enableOk(bool)), SLOT(_k_enableApply(bool)));
728
729 _k_enableApply(false);
730
731 Q_EMIT q->newToolBarConfig();
732 Q_EMIT q->newToolbarConfig(); // compat
733}
A widget used to customize or configure toolbars.
void load(const QString &resourceFile, bool global=true, const QString &defaultToolBar=QString())
KisKActionCollection * m_collection
KisKXMLGUIFactory * m_factory
void setResourceFile(const QString &file, bool global=true)
virtual QString localXMLFile() const
QList< KisKXMLGUIClient * > clients() const

References _k_acceptOK(), _k_enableApply(), KisKXMLGUIFactory::clients(), KDEPrivate::KisKEditToolBarWidget::load(), KisKXMLGUIClient::localXMLFile(), m_accept, m_collection, m_defaultToolBar, m_factory, m_file, m_global, m_layout, m_widget, KisKEditToolBar::newToolBarConfig(), KisKEditToolBar::newToolbarConfig(), q, KDEPrivate::KisKEditToolBarWidget::rebuildKisKXMLGUIClients(), and KisKEditToolBar::setResourceFile().

◆ init()

void KisKEditToolBarPrivate::init ( )

Definition at line 608 of file kedittoolbar.cpp.

609{
610 m_accept = false;
611 m_factory = 0;
612
613 q->setDefaultToolBar(QString());
614
615 q->setWindowTitle(i18n("Configure Toolbars"));
616 q->setModal(false);
617
618 m_layout = new QVBoxLayout(q);
619
620 m_layout->addWidget(m_widget);
621
622 m_buttonBox = new QDialogButtonBox(q);
623 m_buttonBox->setStandardButtons(QDialogButtonBox::RestoreDefaults
624 | QDialogButtonBox::Ok
625 | QDialogButtonBox::Apply
626 | QDialogButtonBox::Cancel);
627 KGuiItem::assign(m_buttonBox->button(QDialogButtonBox::Ok), KStandardGuiItem::ok());
628 KGuiItem::assign(m_buttonBox->button(QDialogButtonBox::Apply), KStandardGuiItem::apply());
629 KGuiItem::assign(m_buttonBox->button(QDialogButtonBox::Cancel), KStandardGuiItem::cancel());
630 KGuiItem::assign(m_buttonBox->button(QDialogButtonBox::RestoreDefaults), KStandardGuiItem::defaults());
631 q->connect(m_buttonBox, SIGNAL(clicked(QAbstractButton*)), SLOT(_k_slotButtonClicked(QAbstractButton*)));
632 q->connect(m_buttonBox, SIGNAL(rejected()), SLOT(reject()));
633 m_layout->addWidget(m_buttonBox);
634
635 q->connect(m_widget, SIGNAL(enableOk(bool)), SLOT(_k_acceptOK(bool)));
636 q->connect(m_widget, SIGNAL(enableOk(bool)), SLOT(_k_enableApply(bool)));
637 _k_enableApply(false);
638
639 q->setMinimumSize(q->sizeHint());
640}
void _k_slotButtonClicked(QAbstractButton *button)
void setDefaultToolBar(const QString &toolBarName)

References _k_acceptOK(), _k_enableApply(), _k_slotButtonClicked(), m_accept, m_buttonBox, m_factory, m_layout, m_widget, q, and KisKEditToolBar::setDefaultToolBar().

◆ okClicked()

void KisKEditToolBarPrivate::okClicked ( )

Definition at line 754 of file kedittoolbar.cpp.

755{
756 if (!m_accept) {
757 q->reject();
758 return;
759 }
760
761 // Do not rebuild GUI and Q_EMIT the "newToolBarConfig" signal again here if the "Apply"
762 // button was already pressed and no further changes were made.
763 if (m_buttonBox->button(QDialogButtonBox::Apply)->isEnabled()) {
764 m_widget->save();
765 Q_EMIT q->newToolBarConfig();
766 Q_EMIT q->newToolbarConfig(); // compat
767 }
768 q->accept();
769}

References m_accept, m_buttonBox, m_widget, KisKEditToolBar::newToolBarConfig(), KisKEditToolBar::newToolbarConfig(), q, and KDEPrivate::KisKEditToolBarWidget::save().

Member Data Documentation

◆ m_accept

bool KisKEditToolBarPrivate::m_accept {false}

Definition at line 582 of file kedittoolbar.cpp.

582{false};

◆ m_buttonBox

QDialogButtonBox* KisKEditToolBarPrivate::m_buttonBox {nullptr}

Definition at line 591 of file kedittoolbar.cpp.

591{nullptr};

◆ m_collection

KisKActionCollection* KisKEditToolBarPrivate::m_collection {nullptr}

Definition at line 585 of file kedittoolbar.cpp.

585{nullptr};

◆ m_defaultToolBar

QString KisKEditToolBarPrivate::m_defaultToolBar

Definition at line 587 of file kedittoolbar.cpp.

◆ m_factory

KisKXMLGUIFactory* KisKEditToolBarPrivate::m_factory {nullptr}

Definition at line 588 of file kedittoolbar.cpp.

588{nullptr};

◆ m_file

QString KisKEditToolBarPrivate::m_file

Definition at line 586 of file kedittoolbar.cpp.

◆ m_global

bool KisKEditToolBarPrivate::m_global {false}

Definition at line 584 of file kedittoolbar.cpp.

584{false};

◆ m_layout

QVBoxLayout* KisKEditToolBarPrivate::m_layout {nullptr}

Definition at line 590 of file kedittoolbar.cpp.

590{nullptr};

◆ m_widget

KisKEditToolBarWidget* KisKEditToolBarPrivate::m_widget {nullptr}

Definition at line 589 of file kedittoolbar.cpp.

589{nullptr};

◆ q

KisKEditToolBar* KisKEditToolBarPrivate::q {nullptr}

Definition at line 581 of file kedittoolbar.cpp.

581{nullptr};

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