#define MAINWINDOW_H
#include <QtGui/QMainWindow>
+#include <QSslError>
#include <QUrl>
#include "network/networkcookiejar.h"
class QWebView;
class FacebookAuthentication;
-class FullScreenButton;
class FriendListPanel;
-class IndicatorButtonPanel;
+class FullScreenButton;
class GeoCoordinate;
+class IndicatorButtonPanel;
+class Location;
+class LocationSearchPanel;
class MapScale;
class MapScene;
class MapView;
class Route;
class RoutingPanel;
-class TabbedPanel;
-class SettingsDialog;
class SceneCoordinate;
+class SettingsDialog;
class SituareService;
class TabbedPanel;
class User;
class UserInfoPanel;
class ZoomButtonPanel;
-class Location;
/**
* @brief Main Window Class
public slots:
/**
- * @brief Build direction indicator button panel and connect signals
- */
- void buildIndicatorButtonPanel();
-
- /**
* @brief Builds information box with message.
*
* @param message Information message
void setUsername(const QString &username);
/**
- * @brief Method to show panels
- */
- void showPanels();
+ * @brief Shows contact dialog.
+ *
+ * Shows contact dialog with contact's information.
+ * @param guid globally unique ID of a contact
+ */
+ void showContactDialog(const QString &guid);
/**
* @brief Public slot to intercept signal when old cerdentials are invalid or credentials
void buildFullScreenButton();
/**
+ * @brief Build direction indicator button panel and connect signals
+ */
+ void buildIndicatorButtonPanel();
+
+
+ /**
+ * @brief Build location search panel and connect signals
+ */
+ void buildLocationSearchPanel();
+
+ /**
* @brief Build map and connect slots
*/
void buildMap();
void settingsDialogAccepted();
/**
- * @brief Set correnct view port size to datamembers
- *
- * @param size Size of the screen
+ * @brief Ignore SSL error from the reply
*/
- void setViewPortSize(const QSize &size);
+ void sslErrors(QNetworkReply *reply, const QList<QSslError> &errors);
/**
* @brief Start location search (open search dialog)
* @brief View should be centered to new location
*
* @param coordinate Scene coordinates of the new center point
- * @param isUserDragAction True if caused by user dragging action
*/
- void centerToSceneCoordinates(const SceneCoordinate &coordinate, bool isUserDragAction);
+ void centerToSceneCoordinates(const SceneCoordinate &coordinate);
+
+ /**
+ * @brief Emitted when route is cleared
+ */
+ void clearRoute();
/**
* @brief Signal when direction and distance from current map center point to current GPS
* @brief Forwarding signal from MapView to MapEngine
*
* @param coordinate New center point coordinate
- * @param isUserDragAction True if caused by user dragging action
*/
- void mapViewScrolled(const SceneCoordinate &coordinate, bool isUserDragAction);
+ void mapViewScrolled(const SceneCoordinate &coordinate);
/**
* @brief Forwarding signal from MapEngine to MapView
void refreshUserData();
/**
+ * @brief Requests contact dialog.
+ *
+ * @param facebookId contact's facebookId
+ */
+ void requestContactDialog(const QString &facebookId);
+
+ /**
* @brief Signal for requesting reverseGeo from SituareEngine
*
*/
void routeTo(const GeoCoordinate &coordinates);
/**
+ * @brief Request routing to current cursor position
+ */
+ void routeToCursor();
+
+ /**
* @brief Signal to save username to settings
*
* @param username Username
void searchForLocation(QString location);
/**
+ * @brief Signal is emitted when search history item is clicked.
+ *
+ * @param searchString search string used
+ */
+ void searchHistoryItemClicked(const QString &searchString);
+
+ /**
* @brief Signal for requestLocationUpdate from SituareEngine
*
* @param status Status message
QLabel *m_crosshair; ///< Label for center point crosshair
QLabel *m_osmLicense; ///< Label for Open Street Map license
+ QList<int> m_situareTabsIndexes; ///< List of Situare tab indexes
QList<QDialog *> m_error_queue; ///< QList type error dialog queue
QList<QDialog *> m_queue; ///< QList type dialog queue
QMessageBox *m_automaticUpdateLocationDialog; ///< Automatic update location dialog
- QSize m_viewPortSize; ///< Size of the viewport
-
QString m_email; ///< Placeholder for email
QString m_password; ///< Placeholder for password
FriendListPanel *m_friendsListPanel; ///< Instance of friends list panel
FullScreenButton *m_fullScreenButton; ///< Instance of the fullscreen toggle button
- IndicatorButtonPanel *m_indicatorButtonPanel; ///< Instance of direction indicator button
+ IndicatorButtonPanel *m_indicatorButtonPanel; ///< Instance of direction indicator button
+ LocationSearchPanel *m_locationSearchPanel; ///< Location search panel
MapScale *m_mapScale; ///< Instance of the map scale
MapView *m_mapView; ///< Instance of the map view
NetworkCookieJar *m_cookieJar; ///< Placeholder for QNetworkCookies