KMoreToolsMenuFactory
#include <kmoretoolsmenufactory.h>
Public Member Functions | |
KMoreToolsMenuFactory (const KMoreToolsMenuFactory &)=delete | |
KMoreToolsMenuFactory (const QString &uniqueId) | |
QMenu * | createMenuFromGroupingNames (const QStringList &groupingNames, const QUrl &url=QUrl()) |
void | fillMenuFromGroupingNames (QMenu *menu, const QStringList &groupingNames, const QUrl &url=QUrl()) |
KMoreToolsMenuFactory & | operator= (const KMoreToolsMenuFactory &)=delete |
void | setParentWidget (QWidget *widget) |
Detailed Description
This is the class with the highest abstraction in KMoreTools.
Creates a QMenu from a list of grouping names. For details on available grouping names see KMoreToolsPresets::registerServicesByGroupingNames.
Definition at line 27 of file kmoretoolsmenufactory.h.
Constructor & Destructor Documentation
◆ KMoreToolsMenuFactory()
KMoreToolsMenuFactory::KMoreToolsMenuFactory | ( | const QString & | uniqueId | ) |
- Parameters
-
uniqueId defines the config section name where the user settings done by the Configure dialog will be stored.
For more information about the parameter see KMoreTools::KMoreTools.
Definition at line 59 of file kmoretoolsmenufactory.cpp.
◆ ~KMoreToolsMenuFactory()
KMoreToolsMenuFactory::~KMoreToolsMenuFactory | ( | ) |
Definition at line 65 of file kmoretoolsmenufactory.cpp.
Member Function Documentation
◆ createMenuFromGroupingNames()
QMenu * KMoreToolsMenuFactory::createMenuFromGroupingNames | ( | const QStringList & | groupingNames, |
const QUrl & | url = QUrl() ) |
For each grouping name menu items will be created an appended to a lazy menu which is returned.
The menu is lazy in a sense that the items are not added until the menu is about to be shown. NOTE: This means if the menu is not shown (as would be by e.g. calling exec()) then the menu stays empty.
For details on available grouping names see KMoreToolsPresets::registerServicesByGroupingNames.
For each grouping name there might be special handlings that take the optional given url
into account if needed. By default the url is empty.
Furthermore, some selected menu items will be put into the "More" menu section by default.
The "more:" grouping name
There is a special grouping name "more:" (note the colon). If this name is given in the list, all further groupings are put into the More section by default.
NOTE that this method overrides a previously created QMenu* instance of the same KMoreToolsMenuFactory instance. The reason is that the internal KMoreTools pointer is reused. (todo: solve this or rename the class?)
- Returns
- the created QMenu which includes a Main and (maybe) a More section and an item that starts configure dialog where the user can configure the menu (see KMoreTools).
Definition at line 256 of file kmoretoolsmenufactory.cpp.
◆ fillMenuFromGroupingNames()
void KMoreToolsMenuFactory::fillMenuFromGroupingNames | ( | QMenu * | menu, |
const QStringList & | groupingNames, | ||
const QUrl & | url = QUrl() ) |
See createMenuFromGroupingNames except that the menu is not created but you have to provide one yourself.
This is useful to create lazy menus by connecting QMenu::aboutToShow.
WARN 1: KMoreToolsMenuFactory must live as long as you would like to use the menu.
WARN 2: You must NOT reuse an existing KMoreToolsMenuFactory instance to create a different menu.
Definition at line 269 of file kmoretoolsmenufactory.cpp.
◆ setParentWidget()
void KMoreToolsMenuFactory::setParentWidget | ( | QWidget * | widget | ) |
Set widget
as the parent widget of the QMenu that will be created by createMenuFromGroupingNames().
- See also
- createMenuFromGroupingNames()
Definition at line 291 of file kmoretoolsmenufactory.cpp.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Nov 22 2024 12:01:13 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.