Krita Source Code Documentation
Loading...
Searching...
No Matches
KDEPrivate::ToolBarHandler Class Reference

#include <ktoolbarhandler_p.h>

+ Inheritance diagram for KDEPrivate::ToolBarHandler:

Classes

class  Private
 

Public Slots

void setupActions ()
 

Public Member Functions

 ToolBarHandler (KXmlGuiWindow *mainWindow)
 
 ToolBarHandler (KXmlGuiWindow *mainWindow, QObject *parent)
 
QAction * toolBarMenuAction ()
 
 ~ToolBarHandler () override
 
- Public Member Functions inherited from KisKXMLGUIClient
QAction * action (const char *name) const
 
virtual QAction * action (const QDomElement &element) const
 
virtual KisKActionCollectionactionCollection () const
 
void addStateActionDisabled (const QString &state, const QString &action)
 
void addStateActionEnabled (const QString &state, const QString &action)
 
void beginXMLPlug (QWidget *)
 
QList< KisKXMLGUIClient * > childClients ()
 
KisKXMLGUIBuilderclientBuilder () const
 
virtual QString componentName () const
 
virtual QDomDocument domDocument () const
 
void endXMLPlug ()
 
KisKXMLGUIFactoryfactory () const
 
StateChange getActionsToChangeForState (const QString &state)
 
void insertChildClient (KisKXMLGUIClient *child)
 
 KisKXMLGUIClient ()
 
 KisKXMLGUIClient (KisKXMLGUIClient *parent)
 
virtual QString localXMLFile () const
 
KisKXMLGUIClientparentClient () const
 
void plugActionList (const QString &name, const QList< QAction * > &actionList)
 
void prepareXMLUnplug (QWidget *)
 
void reloadXML ()
 
void removeChildClient (KisKXMLGUIClient *child)
 
void replaceXMLFile (const QString &xmlfile, const QString &localxmlfile, bool merge=false)
 
void setClientBuilder (KisKXMLGUIBuilder *builder)
 
void setFactory (KisKXMLGUIFactory *factory)
 
void setXMLGUIBuildDocument (const QDomDocument &doc)
 
void unplugActionList (const QString &name)
 
virtual QString xmlFile () const
 
QDomDocument xmlguiBuildDocument () const
 
virtual ~KisKXMLGUIClient ()
 

Private Attributes

Private *const d
 

Additional Inherited Members

- Public Types inherited from KisKXMLGUIClient
enum  ReverseStateChange { StateNoReverse , StateReverse }
 
- Static Public Member Functions inherited from KisKXMLGUIClient
static QString findMostRecentXMLFile (const QStringList &files, QString &doc)
 
- Protected Member Functions inherited from KisKXMLGUIClient
void loadStandardsXmlFile ()
 
virtual void setComponentName (const QString &componentName, const QString &componentDisplayName)
 
void setDOMDocument (const QDomDocument &document, bool merge=false)
 
void setLocalXMLFile (const QString &file)
 
void setXML (const QString &document, bool merge=false)
 
void setXMLFile (const QString &file, bool merge=false, bool setXMLDoc=true)
 
virtual void stateChanged (const QString &newstate, ReverseStateChange reverse=StateNoReverse)
 
virtual void virtual_hook (int id, void *data)
 
- Static Protected Member Functions inherited from KisKXMLGUIClient
static QString standardsXmlFileLocation ()
 

Detailed Description

Definition at line 20 of file ktoolbarhandler_p.h.

Constructor & Destructor Documentation

◆ ToolBarHandler() [1/2]

ToolBarHandler::ToolBarHandler ( KXmlGuiWindow * mainWindow)
explicit

Creates a new tool bar handler for the supplied mainWindow.

Definition at line 203 of file ktoolbarhandler.cpp.

204 : QObject(mainWindow), KisKXMLGUIClient(mainWindow),
205 d(new Private(this))
206{
207 d->init(mainWindow);
208}
void init(KXmlGuiWindow *mainWindow)

References d, and KDEPrivate::ToolBarHandler::Private::init().

◆ ToolBarHandler() [2/2]

ToolBarHandler::ToolBarHandler ( KXmlGuiWindow * mainWindow,
QObject * parent )

Creates a new tool bar handler for the supplied mainWindow and with the supplied parent.

Definition at line 210 of file ktoolbarhandler.cpp.

211 : QObject(parent), KisKXMLGUIClient(mainWindow),
212 d(new Private(this))
213{
214 d->init(mainWindow);
215}

References d, and KDEPrivate::ToolBarHandler::Private::init().

◆ ~ToolBarHandler()

ToolBarHandler::~ToolBarHandler ( )
override

Destroys the tool bar handler.

Definition at line 217 of file ktoolbarhandler.cpp.

218{
219 qDeleteAll(d->actions);
220 d->actions.clear();
221
222 delete d;
223}

References KDEPrivate::ToolBarHandler::Private::actions, and d.

Member Function Documentation

◆ setupActions

void ToolBarHandler::setupActions ( )
slot

Definition at line 231 of file ktoolbarhandler.cpp.

232{
233 if (!factory() || !d->mainWindow) {
234 return;
235 }
236
237 BarActionBuilder builder(actionCollection(), d->mainWindow, d->toolBars);
238
239 if (!builder.needsRebuild()) {
240 return;
241 }
242
243 unplugActionList(QLatin1String(actionListName));
244
245 qDeleteAll(d->actions);
246 d->actions.clear();
247
248 d->actions = builder.create();
249
250 d->toolBars = builder.toolBars();
251
252 // We have no XML file associated with our action collection, so load settings from KConfig
253 actionCollection()->readSettings(); // #233712
254
255 plugActionList(QLatin1String(actionListName), d->actions);
256
258}
void unplugActionList(const QString &name)
KisKXMLGUIFactory * factory() const
void plugActionList(const QString &name, const QList< QAction * > &actionList)
virtual KisKActionCollection * actionCollection() const
QPointer< KXmlGuiWindow > mainWindow
QLinkedList< KisToolBar * > toolBars

References KisKXMLGUIClient::actionCollection(), KDEPrivate::ToolBarHandler::Private::actions, KDEPrivate::ToolBarHandler::Private::connectToActionContainers(), d, KisKXMLGUIClient::factory(), KDEPrivate::ToolBarHandler::Private::mainWindow, KisKXMLGUIClient::plugActionList(), KisKActionCollection::readSettings(), KDEPrivate::ToolBarHandler::Private::toolBars, and KisKXMLGUIClient::unplugActionList().

◆ toolBarMenuAction()

QAction * ToolBarHandler::toolBarMenuAction ( )

Returns the action which is responsible for the tool bar menu.

Definition at line 225 of file ktoolbarhandler.cpp.

226{
227 Q_ASSERT(d->actions.count() == 1);
228 return d->actions.first();
229}

References KDEPrivate::ToolBarHandler::Private::actions, and d.

Member Data Documentation

◆ d

Private* const KDEPrivate::ToolBarHandler::d
private

Definition at line 52 of file ktoolbarhandler_p.h.


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