SVN checkout 11/12/2010
[monav:monav.git] / client / bookmarksdialog.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 BOOKMARKSDIALOG_H
21 #define BOOKMARKSDIALOG_H
22
23 #include "utils/coordinates.h"
24 #include <QDialog>
25 #include <QStandardItemModel>
26 #include <QItemSelection>
27
28 #ifdef Q_WS_MAEMO_5
29         #include <QMaemo5ValueButton>
30         #include <QMaemo5ListPickSelector>
31 #endif
32
33 namespace Ui {
34         class BookmarksDialog;
35 }
36
37 class BookmarksDialog : public QDialog
38 {
39         Q_OBJECT
40
41 public:
42         explicit BookmarksDialog(QWidget *parent = 0);
43         ~BookmarksDialog();
44         UnsignedCoordinate getCoordinate();
45
46         static bool showBookmarks( UnsignedCoordinate* result, QWidget* p = NULL );
47
48 public slots:
49
50         void deleteBookmark();
51         void chooseBookmark();
52         void addTargetBookmark();
53         void addSourceBookmark();
54         void currentItemChanged( QItemSelection current, QItemSelection previous );
55
56 protected:
57         void connectSlots();
58
59         QStandardItemModel m_names;
60         QVector< UnsignedCoordinate > m_coordinates;
61         int m_chosen;
62         UnsignedCoordinate m_target;
63         UnsignedCoordinate m_source;
64 #ifdef Q_WS_MAEMO_5
65         QMaemo5ValueButton* m_valueButton;
66         QMaemo5ListPickSelector* m_selector;
67 #endif
68
69         Ui::BookmarksDialog *m_ui;
70 };
71
72 #endif // BOOKMARKSDIALOG_H