SVN checkout 11/12/2010
[monav:monav.git] / client / addressdialog.h
1 /*
2 Copyright 2010  Christian Vetter veaac.fdirct@gmail.com
3
4 This file is part of MoNav.
5
6 MoNav is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10
11 MoNav 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.
15
16 You should have received a copy of the GNU General Public License
17 along with MoNav.  If not, see <http://www.gnu.org/licenses/>.
18 */
19
20 #ifndef ADDRESSDIALOG_H
21 #define ADDRESSDIALOG_H
22
23 #include <QDialog>
24 #include <QListWidget>
25 #include "interfaces/iaddresslookup.h"
26 #include "interfaces/irenderer.h"
27 #include "interfaces/igpslookup.h"
28
29 namespace Ui {
30         class AddressDialog;
31 }
32
33 class AddressDialog : public QDialog
34 {
35         Q_OBJECT
36
37 public:
38         explicit AddressDialog(QWidget *parent = 0);
39         ~AddressDialog();
40
41         static bool getAddress( UnsignedCoordinate* result, QWidget* p, bool cityOnly = false );
42
43 public slots:
44
45         void characterClicked( QListWidgetItem* item );
46         void suggestionClicked( QListWidgetItem* item );
47         void cityTextChanged( QString text );
48         void streetTextChanged( QString text );
49         void resetCity();
50         void resetStreet();
51
52 protected:
53         void connectSlots();
54
55         enum {
56                 City = 0, Street = 1
57         } m_mode;
58         int m_placeID;
59         UnsignedCoordinate m_result;
60         bool m_skipStreetPosition;
61
62         Ui::AddressDialog* m_ui;
63 };
64
65 #endif // ADDRESSDIALOG_H