2 Situare - A location system for Facebook
3 Copyright (C) 2010 Ixonos Plc. Authors:
5 Henri Lampela - henri.lampela@ixonos.com
7 Situare is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License
9 version 2 as published by the Free Software Foundation.
11 Situare is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with Situare; if not, write to the Free Software
18 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
25 #include <QApplication>
28 * @brief Application class is a subclass of QApplication
30 * This class handles X11 events
32 class Application : public QApplication
40 * @param argc number of arguments
41 * @param argv arguments
43 Application(int &argc, char **argv);
45 /*******************************************************************************
46 * MEMBER FUNCTIONS AND SLOTS
47 ******************************************************************************/
50 * @brief Registers window
52 * @param wId window id
54 void registerWindow(WId wId);
57 * @brief Unregisters window
59 * @param wId window id
61 void unregisterWindow(WId wId);
66 * @brief Return active window
68 * @param display display
69 * @param rootWindow rootwindow
70 * @return WId window id
72 WId activeDesktopWindow(Display *display, WId rootWindow);
76 * @brief Event filter for window
78 * @param event window event
79 * @return bool Return true if you want to stop the event from being processed.
80 * Return false for normal event dispatching
82 bool x11EventFilter(XEvent *event);
85 /*******************************************************************************
87 ******************************************************************************/
90 * @brief Signal is emitted when full screen button must be invoked and it's hiding timer
93 * Signal is emitted when user interacts with keyboard or with mouse/finger, or when the
94 * main window is exposed.
96 void showFullScreenButton();
99 * @brief Emitted when topmost window is changed
101 * @param mainWindowIsTopmost True if MainWindow is the topmost window
103 void topmostWindowChanged(bool mainWindowIsTopmost);
105 /*******************************************************************************
107 ******************************************************************************/
109 bool m_topmost; ///< Flag for topmost
111 QList<WId> m_windows; ///< List of window ids
114 #endif // APPLICATION_H