RazorAutostartEntry => LxQt::AutostartEntry
[lxde/liblxqt.git] / lxqtapplication.h
1 /* BEGIN_COMMON_COPYRIGHT_HEADER
2 * (c)LGPL2+
3 *
4 * Razor - a lightweight, Qt based, desktop toolset
5 * http://razor-qt.org
6 *
7 * Copyright: 2012-2013 Razor team
8 * Authors:
9 * Petr Vanek <petr@scribus.info>
10 *
11 * This program or library is free software; you can redistribute it
12 * and/or modify it under the terms of the GNU Lesser General Public
13 * License as published by the Free Software Foundation; either
14 * version 2.1 of the License, or (at your option) any later version.
15 *
16 * This library is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 * Lesser General Public License for more details.
20
21 * You should have received a copy of the GNU Lesser General
22 * Public License along with this library; if not, write to the
23 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
24 * Boston, MA 02110-1301 USA
25 *
26 * END_COMMON_COPYRIGHT_HEADER */
27
28 #ifndef LXQTAPPLICATION_H
29 #define LXQTAPPLICATION_H
30
31 #include <QtGui/QApplication>
32 #include <QtGui/QProxyStyle>
33
34 namespace LxQt
35 {
36
37 /*! \brief Razor-qt wrapper around QApplication.
38 * It loads various Razor-qt related stuff by default (window icon, icon theme...)
39 *
40 * \note This wrapper is intended to be used only inside Razor-qt project. Using it
41 * in external application will automatically require linking to various
42 * Razor-qt libraries.
43 *
44 */
45 class Application : public QApplication
46 {
47 Q_OBJECT
48
49 public:
50 /*! Construct a Razor-qt application object.
51 * \param argc standard argc as in QApplication
52 * \param argv standard argv as in QApplication
53 */
54 Application(int &argc, char **argv);
55 virtual ~Application() {}
56
57 private slots:
58 void updateTheme();
59
60 signals:
61 void themeChanged();
62 };
63
64 #if defined(lxqtApp)
65 #undef lxqtApp
66 #endif
67 #define lxqtApp (static_cast<LxQt::Application *>(qApp))
68
69 } // namespace LxQt
70 #endif // LXQTAPPLICATION_H