Added engine to master
[situare] / src / ui / updatelocation / updatelocationdialog.h
1 /*
2    Situare - A location system for Facebook
3    Copyright (C) 2010  Ixonos Plc. Authors:
4
5       Katri Kaikkonen - katri.kaikkonen@ixonos.com
6       Henri Lampela - henri.lampela@ixonos.com
7
8    Situare is free software; you can redistribute it and/or
9    modify it under the terms of the GNU General Public License
10    version 2 as published by the Free Software Foundation.
11
12    Situare is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16
17    You should have received a copy of the GNU General Public License
18    along with Situare; if not, write to the Free Software
19    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301,
20    USA.
21 */
22
23 #ifndef UPDATELOCATIONDIALOG_H
24 #define UPDATELOCATIONDIALOG_H
25
26 #include <QDialog>
27 #ifdef Q_WS_MAEMO_5
28 #include <QAbstractKineticScroller>
29 #endif // Q_WS_MAEMO_5
30 #include "texteditautoresizer.h"
31
32 class QCheckBox;
33 class QDialogButtonBox;
34 class QGroupBox;
35 class QLabel;
36 class QLineEdit;
37 class QPushButton;
38 class QScrollArea;
39 class QTextEdit;
40
41 /**
42 * @brief Update Location UI
43 *
44 * @class UpdateLocationDialog UI for update location functionality.
45 */
46 class UpdateLocationDialog : public QDialog
47 {
48     Q_OBJECT
49
50 public:
51     /**
52     * @brief Default constructor
53     *
54     * @param parent
55     */
56     UpdateLocationDialog(QWidget *parent = 0);
57
58 /*******************************************************************************
59  * MEMBER FUNCTIONS AND SLOTS
60  ******************************************************************************/
61
62 public slots:
63
64     /**
65     * @brief Public slot, which is used to set the street address to location label
66     *
67     * @param address Street address, result from SituareService's reverseGeo
68     */
69     void setAddress(const QString &address);
70
71 private slots:
72
73     /**
74     * @brief Private slot, which is used to connect send button
75     *
76     */
77     void sendUpdate();
78
79 /*******************************************************************************
80  * SIGNALS
81  ******************************************************************************/
82
83 signals:
84
85     /**
86     * @brief Signal Signal for requestLocationUpdate from SituareEngine via MainWindow class
87     *
88     * @param status Status message
89     * @param publish Publish on Facebook
90     */
91     void statusUpdate(const QString &status, const bool &publish);
92
93 /*******************************************************************************
94  * DATA MEMBERS
95  ******************************************************************************/
96
97 private:
98
99     QCheckBox *m_checkBox; ///< Pointer to CheckBox
100     QLabel *m_locationLabel; ///< Pointer to locationLabel
101     QTextEdit *m_textEdit; ///< Pointer to TextEdit
102 };
103
104 #endif // UPDATELOCATIONDIALOG_H