KDEGames

kgthemeselector.h
1 /***************************************************************************
2  * Copyright 2012 Stefan Majewsky <[email protected]> *
3  * *
4  * This program is free software; you can redistribute it and/or modify *
5  * it under the terms of the GNU Library General Public License *
6  * version 2 as published by the Free Software Foundation *
7  * *
8  * This program is distributed in the hope that it will be useful, *
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
11  * GNU Library General Public License for more details. *
12  * *
13  * You should have received a copy of the GNU Library General Public *
14  * License along with this program; if not, write to the *
15  * Free Software Foundation, Inc., *
16  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
17  ***************************************************************************/
18 
19 #ifndef KGTHEMESELECTOR_H
20 #define KGTHEMESELECTOR_H
21 
22 #include <QWidget>
23 #include <kgthemeprovider.h>
24 
25 #include <libkdegames_export.h>
26 
42 class KDEGAMES_EXPORT KgThemeSelector : public QWidget
43 {
44  Q_OBJECT
46  public:
48  enum Option {
49  DefaultBehavior = 0,
52  EnableNewStuffDownload = 1 << 0
53  };
54  Q_DECLARE_FLAGS(Options, Option)
55 
56  explicit KgThemeSelector(KgThemeProvider* provider, Options options = DefaultBehavior, QWidget* parent = nullptr);
57  virtual ~KgThemeSelector();
58  public Q_SLOTS:
64  void showAsDialog(const QString& caption = QString());
65  private:
66  class Dialog;
67  class Private;
68  Private* const d;
69 
70  Q_PRIVATE_SLOT(d, void _k_updateListSelection(const KgTheme*));
71  Q_PRIVATE_SLOT(d, void _k_updateProviderSelection());
72  Q_PRIVATE_SLOT(d, void _k_showNewStuffDialog());
73 };
74 
75 Q_DECLARE_OPERATORS_FOR_FLAGS(KgThemeSelector::Options)
76 
77 #endif // KGTHEMESELECTOR_H
A theme provider manages KgTheme instances, and maintains a selection of the currentTheme().
Theme selection widget.
Q_DISABLE_COPY(Class)
A theme describes the visual appearance of a game.
Definition: kgtheme.h:72
Option
Flags which control the behavior of KgThemeSelector.
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Nov 30 2020 22:37:54 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.