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 662 of file kedittoolbar.cpp.

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

References m_accept, and m_buttonBox.

◆ _k_enableApply()

void KisKEditToolBarPrivate::_k_enableApply ( bool b)

Definition at line 668 of file kedittoolbar.cpp.

669{
670 m_buttonBox->button(QDialogButtonBox::Apply)->setEnabled(b);
671}

References m_buttonBox.

◆ _k_slotButtonClicked()

void KisKEditToolBarPrivate::_k_slotButtonClicked ( QAbstractButton * button)

Definition at line 733 of file kedittoolbar.cpp.

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

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

◆ applyClicked()

void KisKEditToolBarPrivate::applyClicked ( )

Definition at line 769 of file kedittoolbar.cpp.

770{
771 (void)m_widget->save();
772 _k_enableApply(false);
773 Q_EMIT q->newToolBarConfig();
774 Q_EMIT q->newToolbarConfig(); // compat
775}
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 673 of file kedittoolbar.cpp.

674{
675 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) {
676 return;
677 }
678
679 KisKEditToolBarWidget *oldWidget = m_widget;
680 m_widget = 0;
681 m_accept = false;
682
683 if (m_factory) {
684 foreach (KisKXMLGUIClient *client, m_factory->clients()) {
685 const QString file = client->localXMLFile();
686 if (file.isEmpty()) {
687 continue;
688 }
689 //qDebug(240) << "Deleting local xml file" << file;
690 // << "for client" << client << typeid(*client).name();
691 if (QFile::exists(file))
692 if (!QFile::remove(file)) {
693 qWarning() << "Could not delete" << file;
694 }
695 }
696
697 // Reload the xml files in all clients, now that the local files are gone
698 oldWidget->rebuildKisKXMLGUIClients();
699
702 } else {
703 int slash = m_file.lastIndexOf(QLatin1Char('/')) + 1;
704 if (slash) {
705 m_file = m_file.mid(slash);
706 }
707 const QString xml_file = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation) +
708 QStringLiteral("/kxmlgui5/") + QCoreApplication::instance()->applicationName() + QLatin1Char('/') + m_file;
709
710 if (QFile::exists(xml_file))
711 if (!QFile::remove(xml_file)) {
712 qWarning() << "Could not delete " << xml_file;
713 }
714
717 }
718
719 // Copy the geometry to minimize UI flicker
720 m_widget->setGeometry(oldWidget->geometry());
721 delete oldWidget;
722 m_layout->insertWidget(0, m_widget);
723
724 q->connect(m_widget, SIGNAL(enableOk(bool)), SLOT(_k_acceptOK(bool)));
725 q->connect(m_widget, SIGNAL(enableOk(bool)), SLOT(_k_enableApply(bool)));
726
727 _k_enableApply(false);
728
729 Q_EMIT q->newToolBarConfig();
730 Q_EMIT q->newToolbarConfig(); // compat
731}
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 606 of file kedittoolbar.cpp.

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

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

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: