class QWebView;
class FacebookAuthentication;
-class FullScreenButton;
+class FacebookLoginBrowser;
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
* MEMBER FUNCTIONS AND SLOTS
******************************************************************************/
public:
+ FacebookLoginBrowser* buildFacebookLoginBrowser();
+
/**
* @brief Clears cookie jar
*
*/
void clearCookieJar();
+ void destroyFacebookLoginBrowser();
+
/**
* @brief
*
public slots:
/**
- * @brief Build direction indicator button panel and connect signals
- */
- void buildIndicatorButtonPanel();
-
- /**
* @brief Builds information box with message.
*
* @param message Information message
*
* @param visible
*/
- void setOwnLocationCrosshairVisibility(bool visible);
+ void setCrosshairVisibility(bool visible);
/**
* @brief Sets username to member variable for login dialog
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
private:
/**
- * @brief Build fullscreen toggle button and connect slots
+ * @brief Build manual location setting cross hair and connect slots
*/
- void buildFullScreenButton();
+ void buildCrosshair();
/**
* @brief Build friend list panel and connect slots
void buildFriendListPanel();
/**
- * @brief Build manual location setting cross hair and connect slots
+ * @brief Build fullscreen toggle button and connect slots
+ */
+ void buildFullScreenButton();
+
+ /**
+ * @brief Build direction indicator button panel and connect signals
+ */
+ void buildIndicatorButtonPanel();
+
+
+ /**
+ * @brief Build location search panel and connect signals
*/
- void buildManualLocationCrosshair();
+ void buildLocationSearchPanel();
/**
* @brief Build map and connect slots
void drawOsmLicense(const QSize &size);
/**
- * @brief Slot for drawing the own location crosshair
- *
- * @param size Size of the screen
- */
- void drawOwnLocationCrosshair(const QSize &size);
-
- /**
* @brief Slot to intercept signal when error dialog/information note is processed
*
* @param status Status of the dialog
void loadDone(bool done);
/**
+ * @brief Called when map center point horizontal shifting is changed
+ *
+ * @param shifting New shifting value
+ */
+ void mapCenterHorizontalShiftingChanged(int shifting);
+
+ /**
+ * @brief Move the crosshair
+ */
+ void moveCrosshair();
+
+ /**
* @brief Slot to save cookies to settings
*/
void saveCookies();
void settingsDialogAccepted();
/**
- * @brief Set correnct view port size to datamembers
- *
- * @param size Size of the screen
- */
- void setViewPortSize(const QSize &size);
-
- /**
* @brief Start location search (open search dialog)
*/
void startLocationSearch();
* @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
bool m_loggedIn; ///< Indicates login state
bool m_refresh; ///< Indicates when webpage is refreshed
+ int m_mapCenterHorizontalShifting; ///< Amount of map center point horizontal shifting
int m_progressIndicatorCount; ///< Indicates the number of progress indicator calls
QAction *m_gpsToggleAct; ///< Action to trigger gps toggle
QAction *m_loginAct; ///< Action to Login/Logout
QAction *m_toSettingsAct; ///< Action to trigger switch to settings dialog
+ QLabel *m_crosshair; ///< Label for center point crosshair
QLabel *m_osmLicense; ///< Label for Open Street Map license
- QLabel *m_ownLocationCrosshair; ///< Label that show ownLocationCrosshair
+ 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
QWebView *m_webView; ///< Shows facebook login page
+ FacebookLoginBrowser *m_facebookLoginBrowser;
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