/usr/include/KF5/AkonadiWidgets/collectionpropertiesdialog.h is in libkf5akonadi-dev 4:16.04.3-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 | /*
Copyright (c) 2008 Volker Krause <vkrause@kde.org>
This library is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
*/
#ifndef AKONADI_COLLECTIONPROPERTIESDIALOG_H
#define AKONADI_COLLECTIONPROPERTIESDIALOG_H
#include "akonadiwidgets_export.h"
#include "collectionpropertiespage.h"
#include <QDialog>
namespace Akonadi
{
class Collection;
/**
* @short A generic and extensible dialog for collection properties.
*
* This dialog allows you to show or modify the properties of a collection.
*
* @code
*
* Akonadi::Collection collection = ...
*
* CollectionPropertiesDialog dlg( collection, this );
* dlg.exec();
*
* @endcode
*
* It can be extended by custom pages, which contains gui elements for custom
* properties.
*
* @see Akonadi::CollectionPropertiesPage
*
* @author Volker Krause <vkrause@kde.org>
*/
class AKONADIWIDGETS_EXPORT CollectionPropertiesDialog : public QDialog
{
Q_OBJECT
public:
/**
* Enumerates the registered default pages which can be displayed.
*
* @since 4.7
*/
enum DefaultPage {
GeneralPage, //!< General properties page
CachePage //!< Cache properties page
};
/**
* Creates a new collection properties dialog.
*
* @param collection The collection which properties should be shown.
* @param parent The parent widget.
*/
explicit CollectionPropertiesDialog(const Collection &collection, QWidget *parent = Q_NULLPTR);
/**
* Creates a new collection properties dialog.
*
* This constructor allows to specify the subset of registered pages that will
* be shown as well as their order. The pages have to set an objectName in their
* constructor to make it work. If an empty list is passed, all registered pages
* will be loaded. Use defaultPageObjectName() to fetch the object name for a
* registered default page.
*
* @param collection The collection which properties should be shown.
* @param pages The object names of the pages that shall be loaded.
* @param parent The parent widget.
*
* @since 4.6
*/
CollectionPropertiesDialog(const Collection &collection, const QStringList &pages, QWidget *parent = Q_NULLPTR);
/**
* Destroys the collection properties dialog.
*
* @note Never call manually, the dialog is deleted automatically once all changes
* are written back to the Akonadi storage.
*/
~CollectionPropertiesDialog();
/**
* Register custom pages for the collection properties dialog.
*
* @param factory The properties page factory that provides the custom page.
*
* @see Akonadi::CollectionPropertiesPageFactory
*/
static void registerPage(CollectionPropertiesPageFactory *factory);
/**
* Sets whether to @p use default page or not.
*
* @since 4.4
* @param use mode of default page's usage
*/
static void useDefaultPage(bool use);
/**
* Returns the object name of one of the dialog's registered default pages.
* The object name may be used in the QStringList constructor parameter to
* specify which default pages should be shown.
*
* @param page the desired page
* @return the page's object name
*
* @since 4.7
*/
static QString defaultPageObjectName(DefaultPage page);
/**
* Sets the page to be shown in the tab widget.
*
* @param name The object name of the page that is to be shown.
*
* @since 4.10
*/
void setCurrentPage(const QString &name);
private:
//@cond PRIVATE
class Private;
Private *const d;
Q_PRIVATE_SLOT(d, void save())
Q_PRIVATE_SLOT(d, void saveResult(KJob *))
//@endcond
};
}
#endif
|