ui/userinfopanel.cpp \
ui/zoombutton.cpp \
ui/zoombuttonpanel.cpp \
- ui/listview.cpp \
- ui/listitem.cpp \
- ui/listitemdelegate.cpp \
- ui/friendlistitemdelegate.cpp \
ui/searchdialog.cpp \
- ui/paneltab.cpp \
- ui/tabbedpanel.cpp \
+ ui/panelbase.cpp \
ui/panelbar.cpp \
ui/panelcontent.cpp \
- ui/panelbase.cpp \
+ ui/paneltab.cpp \
ui/paneltabbar.cpp \
- user/user.cpp \
+ ui/tabbedpanel.cpp \
+ ui/routingpanel.cpp \
++ ui/routewaypointlistitem.cpp \
+ ui/routewaypointlistview.cpp \
- ui/routewaypointlistitem.cpp
+ user/user.cpp
HEADERS += application.h \
common.h \
+ coordinates/geocoordinate.h \
+ coordinates/scenecoordinate.h \
engine/engine.h \
+ engine/mce.h \
error.h \
facebookservice/facebookauthentication.h \
facebookservice/facebookcommon.h \
ui/updatelocation/updatelocationdialog.h \
ui/avatarimage.h \
ui/friendlistitem.h \
+ ui/friendlistitemdelegate.h \
ui/friendlistpanel.h \
++ ui/friendlistview.h \
+ ui/fullscreenbutton.h \
ui/imagebutton.h \
+ ui/indicatorbutton.h \
+ ui/indicatorbuttonpanel.h \
ui/logindialog.h \
++ ui/locationlistview.h \
ui/mainwindow.h \
ui/mapscale.h \
- ui/panelcommon.h \
ui/settingsdialog.h \
ui/userinfo.h \
ui/userinfopanel.h \
ui/listview.h \
ui/listitem.h \
ui/listitemdelegate.h \
- ui/friendlistitemdelegate.h \
- ui/listcommon.h \
ui/searchdialog.h \
- ui/locationlistitem.h \
- ui/extendedlistitem.h \
- ui/extendedlistitemstore.h \
- ui/extendedlistitemdelegate.h \
- ui/locationlistview.h \
- ui/friendlistview.h \
- error.h \
- ui/paneltab.h \
- ui/tabbedpanel.h \
+ ui/panelbase.h \
ui/panelbar.h \
ui/panelcontent.h \
- ui/panelbase.h \
+ ui/panelcommon.h \
+ ui/paneltab.h \
ui/paneltabbar.h \
+ ui/tabbedpanel.h \
+ ui/routingpanel.h \
++ ui/routewaypointlistitem.h \
+ ui/routewaypointlistview.h \
- ui/routewaypointlistitem.h
+ user/user.h
QT += network \
webkit
void clearFriendListFilter();
/**
+ * @brief Routes to selected friend.
+ *
+ * Emits routeToFriend if friend is selected from list.
+ */
+ void routeToSelectedFriend();
+
+ /**
- * @brief Slot to show friends in list.
+ * @brief Slot to show friends in list
*
- * Shows only friends that are on userIDs list.
+ * Shows only friends that are on userIDs list
* @param userIDs list of user ID's
*/
void showFriendsInList(const QList<QString> &userIDs);
void findFriend(const GeoCoordinate &coordinates);
/**
+ * @brief Signal for routing to friend.
+ *
+ * @param coordinates friend's geo coordinates
+ */
+ void routeToFriend(const GeoCoordinate &coordinates);
+
++ /**
+ * @brief Signal for requesting a panel to be opened
+ *
+ * @param widget Pointer to the widget that emitted the signal
+ */
+ void showPanelRequested(QWidget *widget);
+
/*******************************************************************************
* DATA MEMBERS
******************************************************************************/
connect(m_mapView, SIGNAL(viewResized(QSize)),
m_tabbedPanel, SLOT(resizePanel(QSize)));
+
+ connect(m_friendsListPanel, SIGNAL(showPanelRequested(QWidget*)),
+ m_tabbedPanel, SLOT(showPanel(QWidget*)));
}
+void MainWindow::buildRoutingPanel()
+{
+ qDebug() << __PRETTY_FUNCTION__;
+
+ m_routingPanel = new RoutingPanel(this);
+
+ connect(this, SIGNAL(locationDataParsed(const QList<Location>&)),
+ m_routingPanel, SLOT(populateLocationListView(const QList<Location>&)));
+
+ connect(m_routingPanel,
+ SIGNAL(locationItemClicked(const GeoCoordinate&, const GeoCoordinate&)),
+ this,
+ SIGNAL(locationItemClicked(const GeoCoordinate&, const GeoCoordinate&)));
+
+ connect(m_routingPanel, SIGNAL(routeToLocation(const GeoCoordinate&)),
+ this, SIGNAL(routeTo(const GeoCoordinate&)));
+
+ connect(this, SIGNAL(routeParsed(Route&)),
+ m_routingPanel, SLOT(setRoute(Route&)));
+
+ connect(m_routingPanel, SIGNAL(routeWaypointItemClicked(GeoCoordinate)),
+ this, SIGNAL(centerToCoordinates(GeoCoordinate)));
+
+ connect(m_routingPanel, SIGNAL(requestSearchLocation()),
+ this, SLOT(startLocationSearch()));
+}
+
void MainWindow::buildUserInfoPanel()
{
qDebug() << __PRETTY_FUNCTION__;