File indexing completed on 2024-04-14 14:18:51

0001 /*
0002     This file is part of the KDE libraries
0003     SPDX-FileCopyrightText: 1999, 2000 Kurt Granroth <granroth@kde.org>
0004     SPDX-FileCopyrightText: 2001, 2002 Ellis Whitehead <ellis@kde.org>
0005 
0006     SPDX-License-Identifier: LGPL-2.0-only
0007 */
0008 #ifndef KSTANDARDACTION_H
0009 #define KSTANDARDACTION_H
0010 
0011 #include <QAction>
0012 #include <QList>
0013 #include <QStringList>
0014 
0015 #include <KStandardShortcut>
0016 #include <KToggleAction>
0017 #include <kconfigwidgets_export.h>
0018 #include <khamburgermenu.h>
0019 #include <krecentfilesaction.h>
0020 #include <ktogglefullscreenaction.h>
0021 
0022 #include <type_traits>
0023 
0024 class QObject;
0025 class QWidget;
0026 class QAction;
0027 class KToggleAction;
0028 class KToggleFullScreenAction;
0029 
0030 /**
0031  * Convenience methods to access all standard KDE actions.
0032  *
0033  * These actions should be used instead of hardcoding menubar and
0034  * toolbar items.  Using these actions helps your application easily
0035  * conform to the <a href="https://develop.kde.org/hig/">KDE Human Interface Guidelines</a>.
0036  *
0037  * All of the documentation for QAction holds for KStandardAction
0038  * also.  When in doubt on how things work, check the QAction
0039  * documentation first.
0040  * Please note that calling any of these methods automatically adds the action
0041  * to the actionCollection() of the QObject given by the 'parent' parameter.
0042  *
0043  * <b>Simple Example:</b>\n
0044  *
0045  * In general, using standard actions should be a drop in replacement
0046  * for regular actions. For example, if you previously had:
0047  * @code
0048  * QAction *newAct = new QAction(i18n("&New"),
0049  *                               QIcon::fromTheme("document-new"),
0050  *                               KStandardShortcut::shortcut(KStandardShortcut::New),
0051  *                               this,
0052  *                               &ClassFoo::fileNew,
0053  *                               actionCollection());
0054  * @endcode
0055  *
0056  * You can replace it with:
0057  * @code
0058  * QAction *newAct = KStandardAction::openNew(this, &ClassFoo::fileNew, actionCollection());
0059  * @endcode
0060  *
0061  * <b>Non-standard Usages</b>\n
0062  *
0063  * It is possible to use the standard actions in various
0064  * non-recommended ways.  Say, for instance, you wanted to have a
0065  * standard action (with the associated correct text and icon and
0066  * accelerator, etc) but you didn't want it to go in the standard
0067  * place (this is not recommended, by the way).  One way to do this is
0068  * to simply not use the XML UI framework and plug it into wherever
0069  * you want.  If you do want to use the XML UI framework (good!), then
0070  * it is still possible.
0071  *
0072  * Basically, the XML building code matches names in the XML code with
0073  * the internal names of the actions.  You can find out the internal
0074  * names of each of the standard actions by using the name
0075  * method like so: KStandardAction::name(KStandardAction::Cut) would return
0076  * 'edit_cut'.  The XML building code will match 'edit_cut' to the
0077  * attribute in the global XML file and place your action there.
0078  *
0079  * However, you can change the internal name.  In this example, just
0080  * do something like:
0081  *
0082  * \code
0083  * (void)KStandardAction::cut(this, SLOT(editCut()), actionCollection(), "my_cut");
0084  * \endcode
0085  *
0086  * Now, in your local XML resource file (e.g., yourappui.rc), simply
0087  * put 'my_cut' where you want it to go.
0088  *
0089  * Another non-standard usage concerns getting a pointer to an
0090  * existing action if, say, you want to enable or disable the action.
0091  * You could do it the recommended way and just grab a pointer when
0092  * you instantiate it as in the 'openNew' example above... or you
0093  * could do it the hard way:
0094  *
0095  * \code
0096  * QAction *cut = actionCollection()->action(KStandardAction::name(KStandardAction::Cut));
0097  * \endcode
0098  *
0099  * Another non-standard usage concerns instantiating the action in the
0100  * first place.  Usually, you would use the member functions as
0101  * shown above (e.g., KStandardAction::cut(this, SLOT, parent)).  You
0102  * may, however, do this using the enums provided.  This author can't
0103  * think of a reason why you would want to, but, hey, if you do,
0104  * here's how:
0105  *
0106  * \code
0107  * (void)KStandardAction::action(KStandardAction::New, this, SLOT(fileNew()), actionCollection());
0108  * (void)KStandardAction::action(KStandardAction::Cut, this, SLOT(editCut()), actionCollection());
0109  * \endcode
0110  *
0111  * @author Kurt Granroth <granroth@kde.org>
0112  */
0113 namespace KStandardAction
0114 {
0115 /**
0116  * The standard menubar and toolbar actions.
0117  */
0118 enum StandardAction {
0119     ActionNone,
0120     // File Menu
0121     New, ///< Create a new document or window.
0122     Open, ///< Open an existing file.
0123     OpenRecent, ///< Open a recently used document.
0124     Save, ///< Save the current document.
0125     SaveAs, ///< Save the current document under a different name.
0126     Revert, ///< Revert the current document to the last saved version.
0127     Close, ///< Close the current document.
0128     Print, ///< Print the current document.
0129     PrintPreview, ///< Show a print preview of the current document.
0130     Mail, ///< Send the current document by mail.
0131     Quit, ///< Quit the program.
0132     // Edit Menu
0133     Undo, ///< Undo the last operation.
0134     Redo, ///< Redo the last operation.
0135     Cut, ///< Cut selected area and store it in the clipboard.
0136     Copy, ///< Copy selected area and store it in the clipboard.
0137     Paste, ///< Paste the contents of clipboard at the current mouse or cursor.
0138     SelectAll, ///< Select all elements in the current document.
0139     Deselect, ///< Deselect any selected elements in the current document.
0140     Find, ///< Initiate a 'find' request in the current document.
0141     FindNext, ///< Find the next instance of a stored 'find'
0142     FindPrev, ///< Find a previous instance of a stored 'find'.
0143     Replace, ///< Find and replace matches.
0144     // View Menu
0145     ActualSize, ///< View the document at its actual size.
0146     FitToPage, ///< Fit the document view to the size of the current window.
0147     FitToWidth, ///< Fit the document view to the width of the current window.
0148     FitToHeight, ///< Fit the document view to the height of the current window.
0149     ZoomIn, ///< Zoom in the current document.
0150     ZoomOut, ///< Zoom out the current document.
0151     Zoom, ///< Select the current zoom level.
0152     Redisplay, ///< Redisplay or redraw the document.
0153     // Go Menu
0154     Up, ///< Move up (web style menu).
0155     Back, ///< Move back (web style menu).
0156     Forward, ///< Move forward (web style menu).
0157     Home, ///< Go to the "Home" position or document.
0158     Prior, ///< Scroll up one page.
0159     Next, ///< Scroll down one page.
0160     Goto, ///< Jump to some specific location in the document.
0161     GotoPage, ///< Go to a specific page.
0162     GotoLine, ///< Go to a specific line.
0163     FirstPage, ///< Jump to the first page.
0164     LastPage, ///< Jump to the last page.
0165     DocumentBack, ///< Move back (document style menu).
0166     DocumentForward, ///< Move forward (document style menu).
0167     // Bookmarks Menu
0168     AddBookmark, ///< Add the current page to the bookmarks tree.
0169     EditBookmarks, ///< Edit the application bookmarks.
0170     // Tools Menu
0171     Spelling, ///< Pop up the spell checker.
0172     // Settings Menu
0173     ShowMenubar, ///< Show/Hide the menubar.
0174     ShowToolbar, ///< Show/Hide the toolbar.
0175     ShowStatusbar, ///< Show/Hide the statusbar.
0176 #if KCONFIGWIDGETS_ENABLE_DEPRECATED_SINCE(5, 38)
0177     SaveOptions ///< @deprecated Since 5.38, no known users.
0178         KCONFIGWIDGETS_ENUMERATOR_DEPRECATED_VERSION_BELATED(5, 82, 5, 38, "No known users"),
0179 #elif KCONFIGWIDGETS_BUILD_DEPRECATED_SINCE(5, 38)
0180     SaveOptions_DEPRECATED_DO_NOT_USE,
0181 #endif
0182     KeyBindings, ///< Display the configure key bindings dialog.
0183     Preferences, ///< Display the preferences/options dialog.
0184     ConfigureToolbars, ///< Display the toolbar configuration dialog.
0185 // Help Menu
0186 #if KCONFIGWIDGETS_ENABLE_DEPRECATED_SINCE(5, 38)
0187     Help ///< @deprecated Since 5.38, use HelpContents instead.
0188         KCONFIGWIDGETS_ENUMERATOR_DEPRECATED_VERSION_BELATED(5, 82, 5, 38, "Use HelpContents instead"),
0189 #elif KCONFIGWIDGETS_BUILD_DEPRECATED_SINCE(5, 38)
0190     Help_DEPRECATED_DO_NOT_USE,
0191 #endif
0192     HelpContents, ///< Display the handbook of the application.
0193     WhatsThis, ///< Trigger the What's This cursor.
0194     ReportBug, ///< Open up the Report Bug dialog.
0195     AboutApp, ///< Display the application's About box.
0196     AboutKDE, ///< Display the About KDE dialog.
0197     TipofDay, ///< Display the "Tip of the Day".
0198     // Other standard actions
0199     ConfigureNotifications, ///< Display the notifications configuration dialog.
0200     FullScreen, ///< Switch to/from full screen mode.
0201     Clear, ///< Clear the content of the focus widget.
0202 #if KCONFIGWIDGETS_ENABLE_DEPRECATED_SINCE(5, 39)
0203     PasteText ///< @deprecated Since 5.39, use Paste instead.
0204         KCONFIGWIDGETS_ENUMERATOR_DEPRECATED_VERSION_BELATED(5, 82, 5, 39, "Use Paste instead"),
0205 #elif KCONFIGWIDGETS_BUILD_DEPRECATED_SINCE(5, 39)
0206     PasteText_DEPRECATED_DO_NOT_USE,
0207 #endif
0208     SwitchApplicationLanguage, ///< Display the Switch Application Language dialog.
0209     DeleteFile, ///< Permanently deletes files or folders. @since 5.25
0210     RenameFile, ///< Renames files or folders. @since 5.25
0211     MoveToTrash, ///< Moves files or folders to the trash. @since 5.25
0212     Donate, ///< Open donation page on kde.org. @since 5.26
0213     HamburgerMenu ///< Opens a menu that substitutes the menubar. @since 5.81
0214 };
0215 
0216 /**
0217  * Creates an action corresponding to one of the
0218  * KStandardAction::StandardAction actions, which is connected to the given
0219  * object and @p slot, and is owned by @p parent.
0220  *
0221  * The signal that is connected to @p slot is triggered(bool), except for the case of
0222  * OpenRecent standard action, which uses the urlSelected(const QUrl &) signal of
0223  * KRecentFilesAction.
0224  *
0225  * @param id The StandardAction identifier to create a QAction for.
0226  * @param recvr The QObject to receive the signal, or @c nullptr if no notification
0227  *              is needed.
0228  * @param slot  The slot to connect the signal to (remember to use the SLOT() macro).
0229  * @param parent The QObject that should own the created QAction, or @c nullptr if no parent will
0230  *               own the QAction returned (ensure you delete it manually in this case).
0231  */
0232 KCONFIGWIDGETS_EXPORT QAction *create(StandardAction id, const QObject *recvr, const char *slot, QObject *parent);
0233 
0234 /**
0235  * @internal
0236  */
0237 KCONFIGWIDGETS_EXPORT QAction *_k_createInternal(StandardAction id, QObject *parent);
0238 
0239 /**
0240  * This overloads create() to allow using the new connect syntax
0241  * @note if you use @c OpenRecent as @p id, you should manually connect to the urlSelected(const QUrl &)
0242  * signal of the returned KRecentFilesAction instead or use KStandardAction::openRecent(Receiver *, Func).
0243  *
0244  * If not explicitely specified, @p connectionType will be AutoConnection for all actions
0245  * except for ConfigureToolbars that will be QueuedConnection.
0246  *
0247  * @see create(StandardAction, const QObject *, const char *, QObject *)
0248  * @since 5.23 (The connectionType argument was added in 5.95)
0249  */
0250 #ifdef K_DOXYGEN
0251 inline QAction *create(StandardAction id, const QObject *recvr, Func slot, QObject *parent, Qt::ConnectionType connectionType = -1)
0252 #else
0253 template<class Receiver, class Func>
0254 inline typename std::enable_if<!std::is_convertible<Func, const char *>::value, QAction>::type *
0255 create(StandardAction id, const Receiver *recvr, Func slot, QObject *parent, Qt::ConnectionType connectionType = static_cast<Qt::ConnectionType>(-1))
0256 #endif
0257 {
0258     QAction *action = _k_createInternal(id, parent);
0259     // ConfigureToolbars is special because of bug #200815
0260     const Qt::ConnectionType defaultConnectionType = (id == ConfigureToolbars) ? Qt::QueuedConnection : Qt::AutoConnection;
0261     QObject::connect(action, &QAction::triggered, recvr, slot, connectionType != static_cast<Qt::ConnectionType>(-1) ? connectionType : defaultConnectionType);
0262     return action;
0263 }
0264 
0265 /**
0266  * This will return the internal name of a given standard action.
0267  *
0268  * The returned const char* only contains ASCII characters.
0269  */
0270 KCONFIGWIDGETS_EXPORT const char *name(StandardAction id);
0271 
0272 #if KCONFIGWIDGETS_ENABLE_DEPRECATED_SINCE(4, 0)
0273 /// @deprecated Since 4.0, use name(StandardAction)
0274 KCONFIGWIDGETS_DEPRECATED_VERSION(4, 0, "Use KStandardAction::name(StandardAction)")
0275 inline const char *stdName(StandardAction act_enum)
0276 {
0277     return name(act_enum);
0278 }
0279 #endif
0280 
0281 /**
0282  * Returns a list of all standard names. Used by KAccelManager
0283  * to give those higher weight.
0284  */
0285 KCONFIGWIDGETS_EXPORT QStringList stdNames();
0286 
0287 /**
0288  * Returns a list of all actionIds.
0289  *
0290  * @since 4.2
0291  */
0292 KCONFIGWIDGETS_EXPORT QList<StandardAction> actionIds();
0293 
0294 /**
0295  * Returns the standardshortcut associated with @a actionId.
0296  *
0297  * @param id    The identifier whose associated shortcut is wanted.
0298  *
0299  * @since 4.2
0300  */
0301 KCONFIGWIDGETS_EXPORT KStandardShortcut::StandardShortcut shortcutForActionId(StandardAction id);
0302 
0303 // clang-format off
0304 // we have to disable the templated function for const char* as Func, since it is ambiguous otherwise
0305 // TODO: KF6: unify const char* version and new style by removing std::enable_if
0306 #ifdef K_DOXYGEN
0307 #define KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(name, enumValue) \
0308     inline QAction *name(const QObject *recvr, Func slot, QObject *parent);
0309 #else
0310 #define KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(name, enumValue) \
0311     template<class Receiver, class Func> \
0312     inline typename std::enable_if<!std::is_convertible<Func, const char*>::value, QAction>::type *name(const Receiver *recvr, Func slot, QObject *parent) \
0313     { return create(enumValue, recvr, slot, parent); }
0314 #endif
0315 // clang-format on
0316 
0317 /**
0318  * Create a new document or window.
0319  */
0320 KCONFIGWIDGETS_EXPORT QAction *openNew(const QObject *recvr, const char *slot, QObject *parent);
0321 
0322 /**
0323  * Create a new document or window.
0324  * @since 5.23
0325  */
0326 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(openNew, New)
0327 
0328 /**
0329  * Open an existing file.
0330  */
0331 KCONFIGWIDGETS_EXPORT QAction *open(const QObject *recvr, const char *slot, QObject *parent);
0332 
0333 /**
0334  * Open an existing file.
0335  * @since 5.23
0336  */
0337 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(open, Open)
0338 
0339 /**
0340  * Open a recently used document. The signature of the slot being called
0341  * is of the form slotURLSelected( const QUrl & ).
0342  * @param recvr object to receive slot
0343  * @param slot The SLOT to invoke when a URL is selected. The slot's
0344  * signature is slotURLSelected( const QUrl & ).
0345  * @param parent parent widget
0346  */
0347 KCONFIGWIDGETS_EXPORT KRecentFilesAction *openRecent(const QObject *recvr, const char *slot, QObject *parent);
0348 
0349 /**
0350  * The same as openRecent(const QObject *, const char *, QObject *), but using new-style connect syntax
0351  * @see openRecent(const QObject *, const char *, QObject *)
0352  * @since 5.23
0353  */
0354 #ifdef K_DOXYGEN
0355 inline KRecentFilesAction *openRecent(const QObject *recvr, Func slot, QObject *parent)
0356 #else
0357 template<class Receiver, class Func>
0358 inline typename std::enable_if<!std::is_convertible<Func, const char *>::value, KRecentFilesAction>::type *
0359 openRecent(const Receiver *recvr, Func slot, QObject *parent)
0360 #endif
0361 {
0362     QAction *action = _k_createInternal(OpenRecent, parent);
0363     KRecentFilesAction *recentAction = qobject_cast<KRecentFilesAction *>(action);
0364     Q_ASSERT(recentAction);
0365     QObject::connect(recentAction, &KRecentFilesAction::urlSelected, recvr, slot);
0366     return recentAction;
0367 }
0368 
0369 /**
0370  * Save the current document.
0371  */
0372 KCONFIGWIDGETS_EXPORT QAction *save(const QObject *recvr, const char *slot, QObject *parent);
0373 
0374 /**
0375  * Save the current document.
0376  * @since 5.23
0377  */
0378 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(save, Save)
0379 
0380 /**
0381  * Save the current document under a different name.
0382  */
0383 KCONFIGWIDGETS_EXPORT QAction *saveAs(const QObject *recvr, const char *slot, QObject *parent);
0384 
0385 /**
0386  * Save the current document under a different name.
0387  * @since 5.23
0388  */
0389 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(saveAs, SaveAs)
0390 
0391 /**
0392  * Revert the current document to the last saved version
0393  * (essentially will undo all changes).
0394  */
0395 KCONFIGWIDGETS_EXPORT QAction *revert(const QObject *recvr, const char *slot, QObject *parent);
0396 
0397 /**
0398  * Revert the current document to the last saved version
0399  * (essentially will undo all changes).
0400  * @since 5.23
0401  */
0402 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(revert, Revert)
0403 
0404 /**
0405  * Close the current document.
0406  */
0407 KCONFIGWIDGETS_EXPORT QAction *close(const QObject *recvr, const char *slot, QObject *parent);
0408 
0409 /**
0410  * Close the current document.
0411  * @since 5.23
0412  */
0413 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(close, Close)
0414 
0415 /**
0416  * Print the current document.
0417  */
0418 KCONFIGWIDGETS_EXPORT QAction *print(const QObject *recvr, const char *slot, QObject *parent);
0419 
0420 /**
0421  * Print the current document.
0422  * @since 5.23
0423  */
0424 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(print, Print)
0425 
0426 /**
0427  * Show a print preview of the current document.
0428  */
0429 KCONFIGWIDGETS_EXPORT QAction *printPreview(const QObject *recvr, const char *slot, QObject *parent);
0430 
0431 /**
0432  * Show a print preview of the current document.
0433  * @since 5.23
0434  */
0435 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(printPreview, PrintPreview)
0436 
0437 /**
0438  * Send the current document by mail.
0439  */
0440 KCONFIGWIDGETS_EXPORT QAction *mail(const QObject *recvr, const char *slot, QObject *parent);
0441 
0442 /**
0443  * Mail this document.
0444  * @since 5.23
0445  */
0446 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(mail, Mail)
0447 
0448 /**
0449  * Quit the program.
0450  *
0451  * Note that you probably want to connect this action to either QWidget::close()
0452  * or QApplication::closeAllWindows(), but not QApplication::quit(), so that
0453  * KMainWindow::queryClose() is called on any open window (to warn the user
0454  * about unsaved changes for example).
0455  */
0456 KCONFIGWIDGETS_EXPORT QAction *quit(const QObject *recvr, const char *slot, QObject *parent);
0457 
0458 /**
0459  * Quit the program.
0460  * @see quit(const QObject *recvr, const char *slot, QObject *parent)
0461  * @since 5.23
0462  */
0463 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(quit, Quit)
0464 
0465 /**
0466  * Undo the last operation.
0467  */
0468 KCONFIGWIDGETS_EXPORT QAction *undo(const QObject *recvr, const char *slot, QObject *parent);
0469 
0470 /**
0471  * Undo the last operation.
0472  * @since 5.23
0473  */
0474 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(undo, Undo)
0475 
0476 /**
0477  * Redo the last operation.
0478  */
0479 KCONFIGWIDGETS_EXPORT QAction *redo(const QObject *recvr, const char *slot, QObject *parent);
0480 
0481 /**
0482  * Redo the last operation.
0483  * @since 5.23
0484  */
0485 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(redo, Redo)
0486 
0487 /**
0488  * Cut selected area and store it in the clipboard.
0489  * Calls cut() on the widget with the current focus.
0490  */
0491 KCONFIGWIDGETS_EXPORT QAction *cut(QObject *parent);
0492 
0493 /**
0494  * Copy selected area and store it in the clipboard.
0495  * Calls copy() on the widget with the current focus.
0496  */
0497 KCONFIGWIDGETS_EXPORT QAction *copy(QObject *parent);
0498 
0499 /**
0500  * Paste the contents of clipboard at the current mouse or cursor
0501  * Calls paste() on the widget with the current focus.
0502  */
0503 KCONFIGWIDGETS_EXPORT QAction *paste(QObject *parent);
0504 
0505 /**
0506  * Clear selected area.  Calls clear() on the widget with the current focus.
0507  * Note that for some widgets, this may not provide the intended behavior.  For
0508  * example if you make use of the code above and a K3ListView has the focus, clear()
0509  * will clear all of the items in the list.  If this is not the intended behavior
0510  * and you want to make use of this slot, you can subclass K3ListView and reimplement
0511  * this slot.  For example the following code would implement a K3ListView without this
0512  * behavior:
0513  *
0514  * \code
0515  * class MyListView : public K3ListView {
0516  *   Q_OBJECT
0517  * public:
0518  *   MyListView( QWidget * parent = 0, const char * name = 0, WFlags f = 0 ) : K3ListView( parent, name, f ) {}
0519  *   virtual ~MyListView() {}
0520  * public Q_SLOTS:
0521  *   virtual void clear() {}
0522  * };
0523  * \endcode
0524  */
0525 KCONFIGWIDGETS_EXPORT QAction *clear(QObject *parent);
0526 
0527 /**
0528  * Calls selectAll() on the widget with the current focus.
0529  */
0530 KCONFIGWIDGETS_EXPORT QAction *selectAll(QObject *parent);
0531 
0532 /**
0533  * Cut selected area and store it in the clipboard.
0534  */
0535 KCONFIGWIDGETS_EXPORT QAction *cut(const QObject *recvr, const char *slot, QObject *parent);
0536 
0537 /**
0538  * Cut selected area and store it in the clipboard.
0539  * @since 5.23
0540  */
0541 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(cut, Cut)
0542 
0543 /**
0544  * Copy the selected area into the clipboard.
0545  */
0546 KCONFIGWIDGETS_EXPORT QAction *copy(const QObject *recvr, const char *slot, QObject *parent);
0547 
0548 /**
0549  * Copy the selected area into the clipboard.
0550  * @since 5.23
0551  */
0552 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(copy, Copy)
0553 
0554 /**
0555  * Paste the contents of clipboard at the current mouse or cursor
0556  * position.
0557  */
0558 KCONFIGWIDGETS_EXPORT QAction *paste(const QObject *recvr, const char *slot, QObject *parent);
0559 
0560 /**
0561  * Paste the contents of clipboard at the current mouse or cursor
0562  * position.
0563  * @since 5.23
0564  */
0565 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(paste, Paste)
0566 
0567 #if KCONFIGWIDGETS_ENABLE_DEPRECATED_SINCE(5, 39)
0568 /**
0569  * @deprecated since 5.39. Use paste() instead.
0570  */
0571 KCONFIGWIDGETS_EXPORT
0572 KCONFIGWIDGETS_DEPRECATED_VERSION(5, 39, "Use KStandardAction::paste(const QObject *, const char *, QObject *)")
0573 QAction *pasteText(const QObject *recvr, const char *slot, QObject *parent);
0574 #endif
0575 
0576 #if KCONFIGWIDGETS_ENABLE_DEPRECATED_SINCE(5, 39)
0577 /**
0578  * @since 5.23
0579  * @deprecated since 5.39. Use paste() instead.
0580  */
0581 #ifdef K_DOXYGEN
0582 inline QAction *pasteText(const QObject *recvr, Func slot, QObject *parent);
0583 #else
0584 template<class Receiver, class Func>
0585 KCONFIGWIDGETS_DEPRECATED_VERSION(5, 39, "Use KStandardAction::paste(const QObject *, Func, QObject *)")
0586 inline typename std::enable_if<!std::is_convertible<Func, const char *>::value, QAction>::type *pasteText(const Receiver *recvr, Func slot, QObject *parent)
0587 {
0588     return create(PasteText, recvr, slot, parent);
0589 }
0590 #endif // K_DOXYGEN
0591 #endif // KCONFIGWIDGETS_ENABLE_DEPRECATED_SINCE
0592 
0593 /**
0594  * Clear the content of the focus widget
0595  */
0596 KCONFIGWIDGETS_EXPORT QAction *clear(const QObject *recvr, const char *slot, QObject *parent);
0597 
0598 /**
0599  * Clear the content of the focus widget
0600  * @since 5.23
0601  */
0602 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(clear, Clear)
0603 
0604 /**
0605  * Select all elements in the current document.
0606  */
0607 KCONFIGWIDGETS_EXPORT QAction *selectAll(const QObject *recvr, const char *slot, QObject *parent);
0608 
0609 /**
0610  * Select all elements in the current document.
0611  * @since 5.23
0612  */
0613 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(selectAll, SelectAll)
0614 
0615 /**
0616  * Deselect any selected elements in the current document.
0617  */
0618 KCONFIGWIDGETS_EXPORT QAction *deselect(const QObject *recvr, const char *slot, QObject *parent);
0619 
0620 /**
0621  * Deselect any selected elements in the current document.
0622  * @since 5.23
0623  */
0624 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(deselect, Deselect)
0625 
0626 /**
0627  * Initiate a 'find' request in the current document.
0628  */
0629 KCONFIGWIDGETS_EXPORT QAction *find(const QObject *recvr, const char *slot, QObject *parent);
0630 
0631 /**
0632  * Initiate a 'find' request in the current document.
0633  * @since 5.23
0634  */
0635 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(find, Find)
0636 
0637 /**
0638  * Find the next instance of a stored 'find'.
0639  */
0640 KCONFIGWIDGETS_EXPORT QAction *findNext(const QObject *recvr, const char *slot, QObject *parent);
0641 
0642 /**
0643  * Find the next instance of a stored 'find'.
0644  * @since 5.23
0645  */
0646 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(findNext, FindNext)
0647 
0648 /**
0649  * Find a previous instance of a stored 'find'.
0650  */
0651 KCONFIGWIDGETS_EXPORT QAction *findPrev(const QObject *recvr, const char *slot, QObject *parent);
0652 
0653 /**
0654  * Find a previous instance of a stored 'find'.
0655  * @since 5.23
0656  */
0657 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(findPrev, FindPrev)
0658 
0659 /**
0660  * Find and replace matches.
0661  */
0662 KCONFIGWIDGETS_EXPORT QAction *replace(const QObject *recvr, const char *slot, QObject *parent);
0663 
0664 /**
0665  * Find and replace matches.
0666  * @since 5.23
0667  */
0668 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(replace, Replace)
0669 
0670 /**
0671  * View the document at its actual size.
0672  */
0673 KCONFIGWIDGETS_EXPORT QAction *actualSize(const QObject *recvr, const char *slot, QObject *parent);
0674 
0675 /**
0676  * View the document at its actual size.
0677  * @since 5.23
0678  */
0679 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(actualSize, ActualSize)
0680 
0681 /**
0682  * Fit the document view to the size of the current window.
0683  */
0684 KCONFIGWIDGETS_EXPORT QAction *fitToPage(const QObject *recvr, const char *slot, QObject *parent);
0685 
0686 /**
0687  * Fit the document view to the size of the current window.
0688  * @since 5.23
0689  */
0690 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(fitToPage, FitToPage)
0691 
0692 /**
0693  * Fit the document view to the width of the current window.
0694  */
0695 KCONFIGWIDGETS_EXPORT QAction *fitToWidth(const QObject *recvr, const char *slot, QObject *parent);
0696 
0697 /**
0698  * Fit the document view to the width of the current window.
0699  * @since 5.23
0700  */
0701 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(fitToWidth, FitToWidth)
0702 
0703 /**
0704  * Fit the document view to the height of the current window.
0705  */
0706 KCONFIGWIDGETS_EXPORT QAction *fitToHeight(const QObject *recvr, const char *slot, QObject *parent);
0707 
0708 /**
0709  * Fit the document view to the height of the current window.
0710  * @since 5.23
0711  */
0712 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(fitToHeight, FitToHeight)
0713 
0714 /**
0715  * Zoom in the current document view.
0716  */
0717 KCONFIGWIDGETS_EXPORT QAction *zoomIn(const QObject *recvr, const char *slot, QObject *parent);
0718 
0719 /**
0720  * Zoom in the current document view.
0721  * @since 5.23
0722  */
0723 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(zoomIn, ZoomIn)
0724 
0725 /**
0726  * Zoom out the current document view.
0727  */
0728 KCONFIGWIDGETS_EXPORT QAction *zoomOut(const QObject *recvr, const char *slot, QObject *parent);
0729 
0730 /**
0731  * Zoom out the current document view.
0732  * @since 5.23
0733  */
0734 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(zoomOut, ZoomOut)
0735 
0736 /**
0737  * Select the current zoom level.
0738  */
0739 KCONFIGWIDGETS_EXPORT QAction *zoom(const QObject *recvr, const char *slot, QObject *parent);
0740 
0741 /**
0742  * Select the current zoom level.
0743  * @since 5.23
0744  */
0745 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(zoom, Zoom)
0746 
0747 /**
0748  * Redisplay or redraw the document.
0749  */
0750 KCONFIGWIDGETS_EXPORT QAction *redisplay(const QObject *recvr, const char *slot, QObject *parent);
0751 
0752 /**
0753  * Redisplay or redraw the document.
0754  * @since 5.23
0755  */
0756 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(redisplay, Redisplay)
0757 
0758 /**
0759  * Move up (web style menu).
0760  */
0761 KCONFIGWIDGETS_EXPORT QAction *up(const QObject *recvr, const char *slot, QObject *parent);
0762 
0763 /**
0764  * Move up (web style menu).
0765  * @since 5.23
0766  */
0767 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(up, Up)
0768 
0769 /**
0770  * Move back (web style menu).
0771  */
0772 KCONFIGWIDGETS_EXPORT QAction *back(const QObject *recvr, const char *slot, QObject *parent);
0773 
0774 /**
0775  * Move back (web style menu).
0776  * @since 5.23
0777  */
0778 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(back, Back)
0779 
0780 /**
0781  * Move forward (web style menu).
0782  */
0783 KCONFIGWIDGETS_EXPORT QAction *forward(const QObject *recvr, const char *slot, QObject *parent);
0784 
0785 /**
0786  * Move forward (web style menu).
0787  * @since 5.23
0788  */
0789 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(forward, Forward)
0790 
0791 /**
0792  * Go to the "Home" position or document.
0793  */
0794 KCONFIGWIDGETS_EXPORT QAction *home(const QObject *recvr, const char *slot, QObject *parent);
0795 
0796 /**
0797  * Go to the "Home" position or document.
0798  * @since 5.23
0799  */
0800 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(home, Home)
0801 
0802 /**
0803  * Scroll up one page.
0804  */
0805 KCONFIGWIDGETS_EXPORT QAction *prior(const QObject *recvr, const char *slot, QObject *parent);
0806 
0807 /**
0808  * Scroll up one page.
0809  * @since 5.23
0810  */
0811 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(prior, Prior)
0812 
0813 /**
0814  * Scroll down one page.
0815  */
0816 KCONFIGWIDGETS_EXPORT QAction *next(const QObject *recvr, const char *slot, QObject *parent);
0817 
0818 /**
0819  * Scroll down one page.
0820  * @since 5.23
0821  */
0822 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(next, Next)
0823 
0824 /**
0825  * Jump to some specific location in the document.
0826  */
0827 KCONFIGWIDGETS_EXPORT QAction *goTo(const QObject *recvr, const char *slot, QObject *parent);
0828 
0829 /**
0830  * Jump to some specific location in the document.
0831  * @since 5.23
0832  */
0833 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(goTo, Goto)
0834 
0835 /**
0836  * Go to a specific page.
0837  */
0838 KCONFIGWIDGETS_EXPORT QAction *gotoPage(const QObject *recvr, const char *slot, QObject *parent);
0839 
0840 /**
0841  * Go to a specific page.
0842  * @since 5.23
0843  */
0844 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(gotoPage, GotoPage)
0845 
0846 /**
0847  * Go to a specific line.
0848  */
0849 KCONFIGWIDGETS_EXPORT QAction *gotoLine(const QObject *recvr, const char *slot, QObject *parent);
0850 
0851 /**
0852  * Go to a specific line.
0853  * @since 5.23
0854  */
0855 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(gotoLine, GotoLine)
0856 
0857 /**
0858  * Jump to the first page.
0859  */
0860 KCONFIGWIDGETS_EXPORT QAction *firstPage(const QObject *recvr, const char *slot, QObject *parent);
0861 
0862 /**
0863  * Jump to the first page.
0864  * @since 5.23
0865  */
0866 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(firstPage, FirstPage)
0867 
0868 /**
0869  * Jump to the last page.
0870  */
0871 KCONFIGWIDGETS_EXPORT QAction *lastPage(const QObject *recvr, const char *slot, QObject *parent);
0872 
0873 /**
0874  * Jump to the last page.
0875  * @since 5.23
0876  */
0877 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(lastPage, LastPage)
0878 
0879 /**
0880  * Move back (document style menu).
0881  */
0882 KCONFIGWIDGETS_EXPORT QAction *documentBack(const QObject *recvr, const char *slot, QObject *parent);
0883 
0884 /**
0885  * Move back (document style menu).
0886  * @since 5.23
0887  */
0888 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(documentBack, DocumentBack)
0889 
0890 /**
0891  * Move forward (document style menu).
0892  */
0893 KCONFIGWIDGETS_EXPORT QAction *documentForward(const QObject *recvr, const char *slot, QObject *parent);
0894 
0895 /**
0896  * Move forward (document style menu).
0897  * @since 5.23
0898  */
0899 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(documentForward, DocumentForward)
0900 
0901 /**
0902  * Add the current page to the bookmarks tree.
0903  */
0904 KCONFIGWIDGETS_EXPORT QAction *addBookmark(const QObject *recvr, const char *slot, QObject *parent);
0905 
0906 /**
0907  * Add the current page to the bookmarks tree.
0908  * @since 5.23
0909  */
0910 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(addBookmark, AddBookmark)
0911 
0912 /**
0913  * Edit the application bookmarks.
0914  */
0915 KCONFIGWIDGETS_EXPORT QAction *editBookmarks(const QObject *recvr, const char *slot, QObject *parent);
0916 
0917 /**
0918  * Edit the application bookmarks.
0919  * @since 5.23
0920  */
0921 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(editBookmarks, EditBookmarks)
0922 
0923 /**
0924  * Pop up the spell checker.
0925  */
0926 KCONFIGWIDGETS_EXPORT QAction *spelling(const QObject *recvr, const char *slot, QObject *parent);
0927 
0928 /**
0929  * Pop up the spell checker.
0930  * @since 5.23
0931  */
0932 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(spelling, Spelling)
0933 
0934 /**
0935  * Show/Hide the menubar.
0936  */
0937 KCONFIGWIDGETS_EXPORT KToggleAction *showMenubar(const QObject *recvr, const char *slot, QObject *parent);
0938 
0939 /**
0940  * The same as showMenubar(const QObject *, const char *, QObject *), but using new-style connect syntax
0941  * @see showMenubar(const QObject *, const char *, QObject *)
0942  * @since 5.23
0943  */
0944 #ifdef K_DOXYGEN
0945 inline KToggleAction *showMenubar(const QObject *recvr, Func slot, QObject *parent)
0946 #else
0947 template<class Receiver, class Func>
0948 inline typename std::enable_if<!std::is_convertible<Func, const char *>::value, KToggleAction>::type *
0949 showMenubar(const Receiver *recvr, Func slot, QObject *parent)
0950 #endif
0951 {
0952     QAction *ret = create(ShowMenubar, recvr, slot, parent);
0953     Q_ASSERT(qobject_cast<KToggleAction *>(ret));
0954     return static_cast<KToggleAction *>(ret);
0955 }
0956 
0957 /**
0958  * Show/Hide the statusbar.
0959  */
0960 KCONFIGWIDGETS_EXPORT KToggleAction *showStatusbar(const QObject *recvr, const char *slot, QObject *parent);
0961 
0962 /**
0963  * Show/Hide the statusbar.
0964  * @since 5.23
0965  */
0966 #ifdef K_DOXYGEN
0967 inline KToggleAction *showStatusbar(const QObject *recvr, Func slot, QObject *parent)
0968 #else
0969 template<class Receiver, class Func>
0970 inline typename std::enable_if<!std::is_convertible<Func, const char *>::value, KToggleAction>::type *
0971 showStatusbar(const Receiver *recvr, Func slot, QObject *parent)
0972 #endif
0973 {
0974     QAction *ret = create(ShowStatusbar, recvr, slot, parent);
0975     Q_ASSERT(qobject_cast<KToggleAction *>(ret));
0976     return static_cast<KToggleAction *>(ret);
0977 }
0978 
0979 /**
0980  * Switch to/from full screen mode
0981  */
0982 KCONFIGWIDGETS_EXPORT KToggleFullScreenAction *fullScreen(const QObject *recvr, const char *slot, QWidget *window, QObject *parent);
0983 
0984 /**
0985  * Switch to/from full screen mode
0986  * @since 5.23
0987  */
0988 #ifdef K_DOXYGEN
0989 inline KToggleFullScreenAction *fullScreen(const QObject *recvr, Func slot, QWidget *window, QObject *parent)
0990 #else
0991 template<class Receiver, class Func>
0992 inline typename std::enable_if<!std::is_convertible<Func, const char *>::value, KToggleFullScreenAction>::type *
0993 fullScreen(const Receiver *recvr, Func slot, QWidget *window, QObject *parent)
0994 #endif
0995 {
0996     QAction *a = create(FullScreen, recvr, slot, parent);
0997     Q_ASSERT(qobject_cast<KToggleFullScreenAction *>(a));
0998     KToggleFullScreenAction *ret = static_cast<KToggleFullScreenAction *>(a);
0999     ret->setWindow(window);
1000     return ret;
1001 }
1002 
1003 #if KCONFIGWIDGETS_ENABLE_DEPRECATED_SINCE(5, 38)
1004 /**
1005  * Display the save options dialog.
1006  * @deprecated since 5.38
1007  */
1008 KCONFIGWIDGETS_EXPORT
1009 KCONFIGWIDGETS_DEPRECATED_VERSION(5, 38, "No usage known, candidate for removal on next ABI break")
1010 QAction *saveOptions(const QObject *recvr, const char *slot, QObject *parent);
1011 #endif
1012 
1013 #if KCONFIGWIDGETS_ENABLE_DEPRECATED_SINCE(5, 38)
1014 /**
1015  * Display the save options dialog.
1016  * @since 5.23
1017  * @deprecated since 5.38
1018  */
1019 #ifdef K_DOXYGEN
1020 inline QAction *saveOptions(const QObject *recvr, Func slot, QObject *parent);
1021 #else
1022 template<class Receiver, class Func>
1023 KCONFIGWIDGETS_EXPORT KCONFIGWIDGETS_DEPRECATED_VERSION(5, 38, "No usage known, candidate for removal on next ABI break") inline
1024     typename std::enable_if<!std::is_convertible<Func, const char *>::value, QAction>::type *saveOptions(const Receiver *recvr, Func slot, QObject *parent)
1025 {
1026     return create(SaveOptions, recvr, slot, parent);
1027 }
1028 #endif // K_DOXYGEN
1029 #endif // KCONFIGWIDGETS_ENABLE_DEPRECATED_SINCE
1030 
1031 /**
1032  * Display the configure keyboard shortcuts dialog.
1033  *
1034  * Note that you might be able to use the pre-built KXMLGUIFactory's function:
1035  * @code
1036  * // For versions older than 5.84:
1037  * KStandardAction::keyBindings(guiFactory(), SLOT(configureShortcuts()), actionCollection());
1038  * // Starting from 5.84 you can use this (the KXMLGUIFactory::configureShortcuts() method is
1039  * // deprecated in 5.84):
1040  * KStandardAction::keyBindings(guiFactory(), &KXMLGUIFactory::showConfigureShortcutsDialog, actionCollection());
1041  * @endcode
1042  *
1043  */
1044 KCONFIGWIDGETS_EXPORT QAction *keyBindings(const QObject *recvr, const char *slot, QObject *parent);
1045 
1046 /**
1047  * Display the configure key bindings dialog.
1048  * @see keyBindings(const QObject *recvr, const char *slot, QObject *parent)
1049  * @since 5.23
1050  */
1051 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(keyBindings, KeyBindings)
1052 
1053 /**
1054  * Display the preferences/options dialog.
1055  */
1056 KCONFIGWIDGETS_EXPORT QAction *preferences(const QObject *recvr, const char *slot, QObject *parent);
1057 
1058 /**
1059  * Display the preferences/options dialog.
1060  * @since 5.23
1061  */
1062 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(preferences, Preferences)
1063 
1064 /**
1065  * Display the toolbar configuration dialog.
1066  */
1067 KCONFIGWIDGETS_EXPORT QAction *configureToolbars(const QObject *recvr, const char *slot, QObject *parent);
1068 
1069 /**
1070  * Display the toolbar configuration dialog.
1071  * @since 5.23
1072  */
1073 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(configureToolbars, ConfigureToolbars)
1074 
1075 /**
1076  * Display the notifications configuration dialog.
1077  */
1078 KCONFIGWIDGETS_EXPORT QAction *configureNotifications(const QObject *recvr, const char *slot, QObject *parent);
1079 
1080 /**
1081  * Display the notifications configuration dialog.
1082  * @since 5.23
1083  */
1084 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(configureNotifications, ConfigureNotifications)
1085 
1086 /**
1087  * Display the Switch Application Language dialog.
1088  * @since 5.67
1089  */
1090 KCONFIGWIDGETS_EXPORT QAction *switchApplicationLanguage(const QObject *recvr, const char *slot, QObject *parent);
1091 
1092 /**
1093  * Display the Switch Application Language dialog.
1094  * @since 5.67
1095  */
1096 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(switchApplicationLanguage, SwitchApplicationLanguage)
1097 
1098 #if KCONFIGWIDGETS_ENABLE_DEPRECATED_SINCE(5, 23)
1099 /**
1100  * @deprecated since 5.38 Use helpContents() instead.
1101  */
1102 KCONFIGWIDGETS_EXPORT
1103 KCONFIGWIDGETS_DEPRECATED_VERSION(5, 23, "Use KStandardAction::helpContents(const QObject *, const char *, QObject *)")
1104 QAction *help(const QObject *recvr, const char *slot, QObject *parent);
1105 #endif
1106 
1107 #if KCONFIGWIDGETS_ENABLE_DEPRECATED_SINCE(5, 38)
1108 /**
1109  * @since 5.23
1110  * @deprecated since 5.38 Use helpContents() instead.
1111  */
1112 #ifdef K_DOXYGEN
1113 inline QAction *help(const QObject *recvr, Func slot, QObject *parent);
1114 #else
1115 template<class Receiver, class Func>
1116 KCONFIGWIDGETS_EXPORT KCONFIGWIDGETS_DEPRECATED_VERSION(5, 38, "Use KStandardAction::helpContents(const QObject *, Func, QObject *)") inline
1117     typename std::enable_if<!std::is_convertible<Func, const char *>::value, QAction>::type *help(const Receiver *recvr, Func slot, QObject *parent)
1118 {
1119     return create(Help, recvr, slot, parent);
1120 }
1121 #endif // K_DOXYGEN
1122 #endif // KCONFIGWIDGETS_ENABLE_DEPRECATED_SINCE
1123 
1124 /**
1125  * Display the handbook of the application.
1126  */
1127 KCONFIGWIDGETS_EXPORT QAction *helpContents(const QObject *recvr, const char *slot, QObject *parent);
1128 
1129 /**
1130  * Display the handbook of the application.
1131  * @since 5.23
1132  */
1133 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(helpContents, HelpContents)
1134 
1135 /**
1136  * Trigger the What's This cursor.
1137  */
1138 KCONFIGWIDGETS_EXPORT QAction *whatsThis(const QObject *recvr, const char *slot, QObject *parent);
1139 
1140 /**
1141  * Trigger the What's This cursor.
1142  * @since 5.23
1143  */
1144 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(whatsThis, WhatsThis)
1145 
1146 /**
1147  * Display "Tip of the Day"
1148  */
1149 KCONFIGWIDGETS_EXPORT QAction *tipOfDay(const QObject *recvr, const char *slot, QObject *parent);
1150 
1151 /**
1152  * Display "Tip of the Day"
1153  * @since 5.23
1154  */
1155 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(tipOfDay, TipofDay)
1156 
1157 /**
1158  * Open up the Report Bug dialog.
1159  */
1160 KCONFIGWIDGETS_EXPORT QAction *reportBug(const QObject *recvr, const char *slot, QObject *parent);
1161 
1162 /**
1163  * Open up the Report Bug dialog.
1164  * @since 5.23
1165  */
1166 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(reportBug, ReportBug)
1167 
1168 /**
1169  * Display the application's About box.
1170  */
1171 KCONFIGWIDGETS_EXPORT QAction *aboutApp(const QObject *recvr, const char *slot, QObject *parent);
1172 
1173 /**
1174  * Display the application's About box.
1175  * @since 5.23
1176  */
1177 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(aboutApp, AboutApp)
1178 
1179 /**
1180  * Display the About KDE dialog.
1181  */
1182 KCONFIGWIDGETS_EXPORT QAction *aboutKDE(const QObject *recvr, const char *slot, QObject *parent);
1183 
1184 /**
1185  * Display the About KDE dialog.
1186  * @since 5.23
1187  */
1188 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(aboutKDE, AboutKDE)
1189 
1190 /**
1191  * Permanently deletes files or folders.
1192  * @since 5.25
1193  */
1194 KCONFIGWIDGETS_EXPORT QAction *deleteFile(const QObject *recvr, const char *slot, QObject *parent);
1195 
1196 /**
1197  * Permanently deletes files or folders.
1198  * @since 5.25
1199  */
1200 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(deleteFile, DeleteFile)
1201 
1202 /**
1203  * Renames files or folders.
1204  * @since 5.25
1205  */
1206 KCONFIGWIDGETS_EXPORT QAction *renameFile(const QObject *recvr, const char *slot, QObject *parent);
1207 
1208 /**
1209  * Renames files or folders.
1210  * @since 5.25
1211  */
1212 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(renameFile, RenameFile)
1213 
1214 /**
1215  * Moves files or folders to the trash.
1216  * @since 5.25
1217  */
1218 KCONFIGWIDGETS_EXPORT QAction *moveToTrash(const QObject *recvr, const char *slot, QObject *parent);
1219 
1220 /**
1221  * Moves files or folders to the trash.
1222  * @since 5.25
1223  */
1224 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(moveToTrash, MoveToTrash)
1225 
1226 /**
1227  * Open donation page on kde.org.
1228  * @since 5.26
1229  */
1230 KCONFIGWIDGETS_EXPORT QAction *donate(const QObject *recvr, const char *slot, QObject *parent);
1231 
1232 /**
1233  * Open donation page on kde.org.
1234  * @since 5.26
1235  */
1236 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(donate, Donate)
1237 
1238 /**
1239  * Opens a menu that substitutes the menubar.
1240  * @since 5.81
1241  */
1242 KCONFIGWIDGETS_EXPORT KHamburgerMenu *hamburgerMenu(const QObject *recvr, const char *slot, QObject *parent);
1243 
1244 /**
1245  * Opens a menu that substitutes the menubar.
1246  * @since 5.81
1247  */
1248 KSTANDARDACTION_WITH_NEW_STYLE_CONNECT(hamburgerMenu, HamburgerMenu)
1249 
1250 }
1251 
1252 #endif // KSTDACTION_H