X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fui%2Fmainwindow.cpp;h=0d60bb00c06dd805b01eb179a599fe6498a813a3;hb=b396ac0d5cc4daa2a6207115e16285579bf17b99;hp=d40e185c0e9305c545501e74f16a33bbaeb57367;hpb=5a58d39f9637d1fdce92aa481ff037bf4a7fff76;p=situare diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp index d40e185..0d60bb0 100644 --- a/src/ui/mainwindow.cpp +++ b/src/ui/mainwindow.cpp @@ -24,24 +24,30 @@ USA. */ -#include -#include #include +#include + +#include +#include +#include +#include -#include "facebookservice/facebookauthentication.h" -#include "map/mapcommon.h" -#include "map/mapview.h" #include "common.h" #include "error.h" #include "friendlistpanel.h" #include "fullscreenbutton.h" #include "indicatorbuttonpanel.h" +#include "locationsearchpanel.h" #include "logindialog.h" +#include "map/mapcommon.h" +#include "map/mapview.h" #include "mapscale.h" #include "panelcommon.h" -#include "tabbedpanel.h" +#include "routingpanel.h" #include "searchdialog.h" #include "settingsdialog.h" +#include "situareservice/situarecommon.h" +#include "tabbedpanel.h" #include "userinfopanel.h" #include "zoombuttonpanel.h" @@ -55,50 +61,50 @@ #include #endif // Q_WS_MAEMO_5 +#if defined(Q_WS_MAEMO_5) & defined(ARMEL) +#include "ossoabookdialog.h" +#endif + MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), m_errorShown(false), m_loggedIn(false), m_refresh(false), + m_mapCenterHorizontalShifting(0), m_progressIndicatorCount(0), - m_ownLocationCrosshair(0), - m_email(), + m_loginDialog(0), + m_crosshair(0), + m_email(), ///< @todo WTF?!?!?!? m_password(), - m_webView(0), m_fullScreenButton(0), m_indicatorButtonPanel(0), - m_mapScale(0), - m_cookieJar(0) + m_mapScale(0) { qDebug() << __PRETTY_FUNCTION__; buildMap(); - // build main layout - QHBoxLayout *layout = new QHBoxLayout; - layout->addWidget(m_mapView); - layout->setMargin(0); - layout->setSpacing(0); - - setCentralWidget(new QWidget()); - centralWidget()->setLayout(layout); + // map view is the only widget which size & location is handled automatically by the system + // default functionality + setCentralWidget(m_mapView); buildPanels(); createMenus(); setWindowTitle(tr("Situare")); - // set stacking order of widgets - m_zoomButtonPanel->stackUnder(m_tabbedPanel); - if(m_fullScreenButton) { - m_fullScreenButton->stackUnder(m_zoomButtonPanel); - m_osmLicense->stackUnder(m_fullScreenButton); + // set stacking order of widgets (from top to bottom) + // m_tabbedPanel is the topmost one + if (m_fullScreenButton) { + m_fullScreenButton->stackUnder(m_tabbedPanel); + m_crosshair->stackUnder(m_fullScreenButton); } else { - m_osmLicense->stackUnder(m_zoomButtonPanel); + m_crosshair->stackUnder(m_tabbedPanel); } - m_ownLocationCrosshair->stackUnder(m_osmLicense); - m_indicatorButtonPanel->stackUnder(m_ownLocationCrosshair); - m_mapScale->stackUnder(m_indicatorButtonPanel); + m_zoomButtonPanel->stackUnder(m_crosshair); + m_indicatorButtonPanel->stackUnder(m_zoomButtonPanel); + m_osmLicense->stackUnder(m_indicatorButtonPanel); + m_mapScale->stackUnder(m_osmLicense); m_mapView->stackUnder(m_mapScale); grabZoomKeys(true); @@ -116,9 +122,6 @@ MainWindow::~MainWindow() grabZoomKeys(false); - if(m_webView) - delete m_webView; - qDeleteAll(m_queue.begin(), m_queue.end()); m_queue.clear(); @@ -133,7 +136,7 @@ void MainWindow::automaticUpdateDialogFinished(int result) if (result == QMessageBox::Yes) { readAutomaticLocationUpdateSettings(); } else { - QSettings settings(DIRECTORY_NAME, FILE_NAME); + QSettings settings(SETTINGS_ORGANIZATION_NAME, SETTINGS_APPLICATION_NAME); settings.setValue(SETTINGS_AUTOMATIC_UPDATE_ENABLED, false); readAutomaticLocationUpdateSettings(); } @@ -141,14 +144,22 @@ void MainWindow::automaticUpdateDialogFinished(int result) m_automaticUpdateLocationDialog->deleteLater(); } -void MainWindow::buildFullScreenButton() +void MainWindow::buildCrosshair() { qDebug() << __PRETTY_FUNCTION__; -#ifdef Q_WS_MAEMO_5 - m_fullScreenButton = new FullScreenButton(this); - connect(m_fullScreenButton, SIGNAL(clicked()), - this, SLOT(toggleFullScreen())); -#endif // Q_WS_MAEMO_5 + + m_crosshair = new QLabel(this); + QPixmap crosshairImage(":/res/images/sight.png"); + m_crosshair->setPixmap(crosshairImage); + m_crosshair->setFixedSize(crosshairImage.size()); + m_crosshair->hide(); + m_crosshair->setAttribute(Qt::WA_TransparentForMouseEvents, true); + + connect(m_mapView, SIGNAL(viewResized(QSize)), + this, SLOT(moveCrosshair())); + + connect(m_mapView, SIGNAL(horizontalShiftingChanged(int)), + this, SLOT(mapCenterHorizontalShiftingChanged(int))); } void MainWindow::buildFriendListPanel() @@ -164,10 +175,33 @@ void MainWindow::buildFriendListPanel() m_friendsListPanel, SLOT(showFriendsInList(QList))); connect(m_friendsListPanel, SIGNAL(findFriend(GeoCoordinate)), - this, SIGNAL(findFriend(GeoCoordinate))); + this, SIGNAL(centerToCoordinates(GeoCoordinate))); connect(this, SIGNAL(friendImageReady(User*)), m_friendsListPanel, SLOT(friendImageReady(User*))); + + connect(m_friendsListPanel, SIGNAL(routeToFriend(const GeoCoordinate&)), + this, SIGNAL(routeTo(const GeoCoordinate&))); + + connect(m_friendsListPanel, SIGNAL(requestContactDialog(const QString &)), + this, SIGNAL(requestContactDialog(const QString &))); +} + +void MainWindow::buildFullScreenButton() +{ + qDebug() << __PRETTY_FUNCTION__; + +#ifdef Q_WS_MAEMO_5 + m_fullScreenButton = new FullScreenButton(this); + + if (m_fullScreenButton) { + connect(m_fullScreenButton, SIGNAL(clicked()), + this, SLOT(toggleFullScreen())); + + connect(qApp, SIGNAL(showFullScreenButton()), + m_fullScreenButton, SLOT(invoke())); + } +#endif // Q_WS_MAEMO_5 } void MainWindow::buildIndicatorButtonPanel() @@ -221,19 +255,48 @@ void MainWindow::buildInformationBox(const QString &message, bool modal) queueDialog(msgBox); } -void MainWindow::buildManualLocationCrosshair() +void MainWindow::buildLocationSearchPanel() { qDebug() << __PRETTY_FUNCTION__; - m_ownLocationCrosshair = new QLabel(this); - QPixmap crosshairImage(":/res/images/sight.png"); - m_ownLocationCrosshair->setPixmap(crosshairImage); - m_ownLocationCrosshair->setFixedSize(crosshairImage.size()); - m_ownLocationCrosshair->hide(); - m_ownLocationCrosshair->setAttribute(Qt::WA_TransparentForMouseEvents, true); + m_locationSearchPanel = new LocationSearchPanel(this); - connect(m_mapView, SIGNAL(viewResized(QSize)), - this, SLOT(drawOwnLocationCrosshair(QSize))); + connect(this, SIGNAL(locationDataParsed(const QList&)), + m_locationSearchPanel, SLOT(populateLocationListView(const QList&))); + + connect(m_locationSearchPanel, SIGNAL(locationItemClicked(const GeoCoordinate&, const GeoCoordinate&)), + this, SIGNAL(locationItemClicked(const GeoCoordinate&, const GeoCoordinate&))); + + connect(m_locationSearchPanel, SIGNAL(routeToLocation(const GeoCoordinate&)), + this, SIGNAL(routeTo(const GeoCoordinate&))); + + connect(m_locationSearchPanel, SIGNAL(requestSearchLocation()), + this, SLOT(startLocationSearch())); + + connect(this, SIGNAL(searchForLocation(QString)), + m_locationSearchPanel, SLOT(prependSearchHistory(QString))); + + connect(m_locationSearchPanel, SIGNAL(searchHistoryItemClicked(QString)), + this, SIGNAL(searchHistoryItemClicked(QString))); +} + +void MainWindow::buildLoginDialog(QWebView *browser) +{ + qWarning() << __PRETTY_FUNCTION__; + + if (!m_loginDialog) { + m_loginDialog = new QDialog(this); + if (m_loginDialog) { + m_loginDialog->setWindowTitle(tr("Login")); + m_loginDialog->setLayout(new QVBoxLayout()); + m_loginDialog->layout()->addWidget(browser); + m_loginDialog->layout()->setContentsMargins(QMargins()); // zero margins + connect(m_loginDialog, SIGNAL(rejected()), this, SLOT(destroyLoginDialog())); + } + } + + if (m_loginDialog) + m_loginDialog->show(); } void MainWindow::buildMap() @@ -244,7 +307,7 @@ void MainWindow::buildMap() buildZoomButtonPanel(); buildOsmLicense(); - buildManualLocationCrosshair(); + buildCrosshair(); buildFullScreenButton(); buildIndicatorButtonPanel(); buildMapScale(); @@ -265,7 +328,7 @@ void MainWindow::buildMap() this, SLOT(drawMapScale(QSize))); connect(m_mapView, SIGNAL(viewResized(QSize)), - this, SLOT(setViewPortSize(QSize))); + this, SLOT(moveCrosshair())); connect(this, SIGNAL(zoomLevelChanged(int)), m_mapView, SLOT(setZoomLevel(int))); @@ -306,16 +369,78 @@ void MainWindow::buildPanels() buildUserInfoPanel(); buildFriendListPanel(); + buildLocationSearchPanel(); + buildRoutingPanel(); m_tabbedPanel = new TabbedPanel(this); - m_tabbedPanel->addTab(m_userInfoPanel, QIcon(":/res/images/user_info.png")); - m_tabbedPanel->addTab(m_friendsListPanel, QIcon(":/res/images/friend_list.png")); - connect(m_tabbedPanel, SIGNAL(panelOpened()), - m_friendsListPanel, SLOT(clearFriendListFilter())); + //Save Situare related tab indexes so tabs can be enabled/disabled when logged in/out + m_situareTabsIndexes.append( + m_tabbedPanel->addTab(m_userInfoPanel, QIcon(":/res/images/user_info.png"))); + m_situareTabsIndexes.append( + m_tabbedPanel->addTab(m_friendsListPanel, QIcon(":/res/images/friend_list.png"))); + + m_tabbedPanel->addTab(m_locationSearchPanel, QIcon(":/res/images/location_search.png")); + m_tabbedPanel->addTab(m_routingPanel, QIcon(":/res/images/routing.png")); connect(m_mapView, SIGNAL(viewResized(QSize)), m_tabbedPanel, SLOT(resizePanel(QSize))); + + connect(m_friendsListPanel, SIGNAL(openPanelRequested(QWidget*)), + m_tabbedPanel, SLOT(openPanel(QWidget*))); + + connect(m_routingPanel, SIGNAL(openPanelRequested(QWidget*)), + m_tabbedPanel, SLOT(openPanel(QWidget*))); + + connect(m_tabbedPanel, SIGNAL(panelClosed()), + m_friendsListPanel, SLOT(anyPanelClosed())); + + connect(m_tabbedPanel, SIGNAL(panelOpened()), + m_friendsListPanel, SLOT(anyPanelOpened())); + + connect(m_tabbedPanel, SIGNAL(panelClosed()), + m_routingPanel, SLOT(clearListsSelections())); + + connect(m_tabbedPanel, SIGNAL(panelClosed()), + m_mapView, SLOT(disableCenterShift())); + + connect(m_tabbedPanel, SIGNAL(panelOpened()), + m_mapView, SLOT(enableCenterShift())); + + connect(m_tabbedPanel, SIGNAL(panelClosed()), + m_userInfoPanel, SIGNAL(collapse())); + + connect(m_tabbedPanel, SIGNAL(currentChanged(int)), + m_userInfoPanel, SIGNAL(collapse())); + + // signals for showing and hiding list item context buttons + connect(m_friendsListPanel, SIGNAL(listItemSelectionChanged(bool)), + m_tabbedPanel, SIGNAL(listItemSelectionChanged(bool))); + + connect(m_locationSearchPanel, SIGNAL(listItemSelectionChanged(bool)), + m_tabbedPanel, SIGNAL(listItemSelectionChanged(bool))); + + connect(m_routingPanel, SIGNAL(listItemSelectionChanged(bool)), + m_tabbedPanel, SIGNAL(listItemSelectionChanged(bool))); +} + +void MainWindow::buildRoutingPanel() +{ + qDebug() << __PRETTY_FUNCTION__; + + m_routingPanel = new RoutingPanel(this); + + connect(m_routingPanel, SIGNAL(routeToCursor()), + this, SIGNAL(routeToCursor())); + + connect(this, SIGNAL(routeParsed(Route&)), + m_routingPanel, SLOT(setRoute(Route&))); + + connect(m_routingPanel, SIGNAL(routeWaypointItemClicked(GeoCoordinate)), + this, SIGNAL(centerToCoordinates(GeoCoordinate))); + + connect(m_routingPanel, SIGNAL(clearRoute()), + this, SIGNAL(clearRoute())); } void MainWindow::buildUserInfoPanel() @@ -334,7 +459,7 @@ void MainWindow::buildUserInfoPanel() m_userInfoPanel, SIGNAL(clearUpdateLocationDialogData())); connect(m_userInfoPanel, SIGNAL(findUser(GeoCoordinate)), - this, SIGNAL(findUser(GeoCoordinate))); + this, SIGNAL(centerToCoordinates(GeoCoordinate))); connect(m_userInfoPanel, SIGNAL(requestReverseGeo()), this, SIGNAL(requestReverseGeo())); @@ -349,29 +474,6 @@ void MainWindow::buildUserInfoPanel() this, SLOT(buildInformationBox(QString, bool))); } -void MainWindow::buildWebView() -{ - qDebug() << __PRETTY_FUNCTION__; - - if(!m_webView) { - m_webView = new QWebView; - - if(!m_cookieJar) - m_cookieJar = new NetworkCookieJar(new QNetworkCookieJar(this)); - - m_webView->page()->networkAccessManager()->setCookieJar(m_cookieJar); - - connect(m_webView->page()->networkAccessManager(), SIGNAL(finished(QNetworkReply*)), - this, SLOT(webViewRequestFinished(QNetworkReply*))); - connect(m_webView, SIGNAL(urlChanged(const QUrl &)), - this, SIGNAL(updateCredentials(QUrl))); - connect(m_webView, SIGNAL(loadFinished(bool)), - this, SLOT(loadDone(bool))); - - m_webView->hide(); - } -} - void MainWindow::buildZoomButtonPanel() { qDebug() << __PRETTY_FUNCTION__; @@ -400,24 +502,6 @@ void MainWindow::buildZoomButtonPanel() this, SIGNAL(draggingModeTriggered())); } -void MainWindow::clearCookieJar() -{ - qDebug() << __PRETTY_FUNCTION__; - - buildWebView(); - - m_webView->stop(); - - if(!m_cookieJar) { - m_cookieJar = new NetworkCookieJar(new QNetworkCookieJar(this)); - } - QList emptyList; - emptyList.clear(); - - m_cookieJar->setAllCookies(emptyList); - m_webView->page()->networkAccessManager()->setCookieJar(m_cookieJar); -} - void MainWindow::createMenus() { qDebug() << __PRETTY_FUNCTION__; @@ -439,53 +523,33 @@ void MainWindow::createMenus() connect(m_gpsToggleAct, SIGNAL(triggered(bool)), this, SIGNAL(gpsTriggered(bool))); - /// @todo remove when not needed! - m_searchLocationAct = new QAction(tr("Location search"), this); - connect(m_searchLocationAct, SIGNAL(triggered()), - this, SLOT(startLocationSearch())); - // build the actual menu m_viewMenu = menuBar()->addMenu(tr("Main")); m_viewMenu->addAction(m_loginAct); m_viewMenu->addAction(m_toSettingsAct); m_viewMenu->addAction(m_gpsToggleAct); - m_viewMenu->addAction(m_searchLocationAct); /// @todo remove when not needed! m_viewMenu->setObjectName(tr("Menu")); } +void MainWindow::destroyLoginDialog() +{ + qWarning() << __PRETTY_FUNCTION__; + + if (m_loginDialog) { + m_loginDialog->hide(); + m_loginDialog->deleteLater(); + m_loginDialog = 0; + } +} + void MainWindow::dialogFinished(int status) { qDebug() << __PRETTY_FUNCTION__; QDialog *dialog = m_queue.takeFirst(); - LoginDialog *loginDialog = qobject_cast(dialog); SearchDialog *searchDialog = qobject_cast(dialog); - if(loginDialog) { - if(status != 0) { - buildWebView(); - loginDialog->userInput(m_email, m_password); - - QStringList urlParts; - urlParts.append(FACEBOOK_LOGINBASE); - urlParts.append(SITUARE_PUBLIC_FACEBOOKAPI_KEY); - urlParts.append(INTERVAL1); - urlParts.append(SITUARE_LOGIN_SUCCESS); - urlParts.append(INTERVAL2); - urlParts.append(SITUARE_LOGIN_FAILURE); - urlParts.append(FACEBOOK_LOGIN_ENDING); - - emit saveUsername(m_email); - m_refresh = true; - m_webView->load(QUrl(urlParts.join(EMPTY))); - toggleProgressIndicator(true); - } else { - emit cancelLoginProcess(); - } - } else if(searchDialog) { - if(status != 0) { - emit searchForLocation(searchDialog->input()); - } - } + if ((searchDialog) && (status != 0)) + emit searchForLocation(searchDialog->input()); dialog->deleteLater(); @@ -502,9 +566,10 @@ void MainWindow::drawFullScreenButton(const QSize &size) { qDebug() << __PRETTY_FUNCTION__ << size.width() << "x" << size.height(); - if(m_fullScreenButton) + if (m_fullScreenButton) { m_fullScreenButton->move(size.width() - m_fullScreenButton->size().width(), size.height() - m_fullScreenButton->size().height()); + } } void MainWindow::drawMapScale(const QSize &size) @@ -513,7 +578,6 @@ void MainWindow::drawMapScale(const QSize &size) const int LEFT_SCALE_MARGIN = 10; const int BOTTOM_SCALE_MARGIN = 2; -// qDebug() << __PRETTY_FUNCTION__ << size.width() << "x" << size.height(); m_mapScale->move(LEFT_SCALE_MARGIN, size.height() - m_mapScale->size().height() - BOTTOM_SCALE_MARGIN); @@ -528,16 +592,6 @@ void MainWindow::drawOsmLicense(const QSize &size) size.height() - m_osmLicense->fontMetrics().height()); } -void MainWindow::drawOwnLocationCrosshair(const QSize &size) -{ - qDebug() << __PRETTY_FUNCTION__; - - if (m_ownLocationCrosshair != 0) { - m_ownLocationCrosshair->move(size.width()/2 - m_ownLocationCrosshair->pixmap()->width()/2, - size.height()/2 - m_ownLocationCrosshair->pixmap()->height()/2); - } -} - void MainWindow::errorDialogFinished(int status) { qDebug() << __PRETTY_FUNCTION__; @@ -606,74 +660,9 @@ void MainWindow::keyPressEvent(QKeyEvent* event) QWidget::keyPressEvent(event); } -void MainWindow::loadCookies() -{ - qDebug() << __PRETTY_FUNCTION__; - - QSettings settings(DIRECTORY_NAME, FILE_NAME); - - QStringList list = settings.value(COOKIES, EMPTY).toStringList(); - - if(!list.isEmpty()) { - QList cookieList; - for(int i=0;isetAllCookies(cookieList); - m_webView->page()->networkAccessManager()->setCookieJar(m_cookieJar); - } -} - -void MainWindow::loadDone(bool done) -{ - qDebug() << __PRETTY_FUNCTION__; - - // for the first time the login page is opened, we need to refresh it to get cookies working - if(m_refresh) { - m_webView->reload(); - m_refresh = false; - } - - if (done) - { - QWebFrame* frame = m_webView->page()->currentFrame(); - if (frame!=NULL) - { - // set email box - QWebElementCollection emailCollection = frame->findAllElements("input[name=email]"); - - foreach (QWebElement element, emailCollection) { - element.setAttribute("value", m_email.toAscii()); - } - // set password box - QWebElementCollection passwordCollection = frame->findAllElements("input[name=pass]"); - foreach (QWebElement element, passwordCollection) { - element.setAttribute("value", m_password.toAscii()); - } - // find connect button - QWebElementCollection buttonCollection = frame->findAllElements("input[name=login]"); - foreach (QWebElement element, buttonCollection) - { - QPoint pos(element.geometry().center()); - - // send a mouse click event to the web page - QMouseEvent event0(QEvent::MouseButtonPress, pos, Qt::LeftButton, Qt::LeftButton, - Qt::NoModifier); - QApplication::sendEvent(m_webView->page(), &event0); - QMouseEvent event1(QEvent::MouseButtonRelease, pos, Qt::LeftButton, Qt::LeftButton, - Qt::NoModifier); - QApplication::sendEvent(m_webView->page(), &event1); - } - } - } -} - void MainWindow::loggedIn(bool logged) { + /// @todo OLD CODE qDebug() << __PRETTY_FUNCTION__; m_loggedIn = logged; @@ -681,20 +670,22 @@ void MainWindow::loggedIn(bool logged) if(logged) { m_loginAct->setText(tr("Logout")); } else { - clearCookieJar(); +// clearCookieJar(); m_email.clear(); m_password.clear(); m_loginAct->setText(tr("Login")); + m_userInfoPanel->showUserInfo(false); } updateItemVisibility(); } void MainWindow::loginFailed() { + /// @todo OLD CODE qDebug() << __PRETTY_FUNCTION__; - clearCookieJar(); +// clearCookieJar(); startLoginProcess(); } @@ -705,26 +696,23 @@ bool MainWindow::loginState() return m_loggedIn; } -void MainWindow::loginUsingCookies() +void MainWindow::mapCenterHorizontalShiftingChanged(int shifting) { - qDebug() << __PRETTY_FUNCTION__; - - toggleProgressIndicator(true); - - buildWebView(); - loadCookies(); - - QStringList urlParts; - urlParts.append(FACEBOOK_LOGINBASE); - urlParts.append(SITUARE_PUBLIC_FACEBOOKAPI_KEY); - urlParts.append(INTERVAL1); - urlParts.append(SITUARE_LOGIN_SUCCESS); - urlParts.append(INTERVAL2); - urlParts.append(SITUARE_LOGIN_FAILURE); - urlParts.append(FACEBOOK_LOGIN_ENDING); + m_mapCenterHorizontalShifting = shifting; + moveCrosshair(); +} - m_webView->load(QUrl(urlParts.join(EMPTY))); +void MainWindow::moveCrosshair() +{ + qDebug() << __PRETTY_FUNCTION__; + if (m_crosshair) { + int mapHeight = m_mapView->size().height(); + int mapWidth = m_mapView->size().width(); + m_crosshair->move(mapWidth / 2 - m_crosshair->pixmap()->width() / 2 + - m_mapCenterHorizontalShifting, + mapHeight / 2 - m_crosshair->pixmap()->height() / 2); + } } void MainWindow::openSettingsDialog() @@ -738,23 +726,6 @@ void MainWindow::openSettingsDialog() settingsDialog->show(); } -void MainWindow::readAutomaticLocationUpdateSettings() -{ - qDebug() << __PRETTY_FUNCTION__; - - QSettings settings(DIRECTORY_NAME, FILE_NAME); - bool automaticUpdateEnabled = settings.value(SETTINGS_AUTOMATIC_UPDATE_ENABLED, false).toBool(); - QTime automaticUpdateInterval = settings.value(SETTINGS_AUTOMATIC_UPDATE_INTERVAL, QTime()) - .toTime(); - - if (automaticUpdateEnabled && automaticUpdateInterval.isValid()) { - QTime time; - emit enableAutomaticLocationUpdate(true, time.msecsTo(automaticUpdateInterval)); - } else { - emit enableAutomaticLocationUpdate(false); - } -} - void MainWindow::queueDialog(QDialog *dialog) { qDebug() << __PRETTY_FUNCTION__; @@ -773,25 +744,33 @@ void MainWindow::queueDialog(QDialog *dialog) showInformationBox(); } -void MainWindow::saveCookies() +void MainWindow::readAutomaticLocationUpdateSettings() { qDebug() << __PRETTY_FUNCTION__; - if(!m_cookieJar) - m_cookieJar = new NetworkCookieJar(new QNetworkCookieJar(this)); - - QList cookieList = m_cookieJar->allCookies(); - QStringList list; + QSettings settings(SETTINGS_ORGANIZATION_NAME, SETTINGS_APPLICATION_NAME); + bool automaticUpdateEnabled = settings.value(SETTINGS_AUTOMATIC_UPDATE_ENABLED, false).toBool(); + QTime automaticUpdateInterval = settings.value(SETTINGS_AUTOMATIC_UPDATE_INTERVAL, QTime()) + .toTime(); - for(int i=0;ishow(); + moveCrosshair(); + } else { + m_crosshair->hide(); + } } void MainWindow::setGPSButtonEnabled(bool enabled) @@ -815,18 +794,6 @@ void MainWindow::setMapViewScene(QGraphicsScene *scene) m_mapView->setScene(scene); } -void MainWindow::setOwnLocationCrosshairVisibility(bool visibility) -{ - qDebug() << __PRETTY_FUNCTION__; - - if (visibility) { - m_ownLocationCrosshair->show(); - drawOwnLocationCrosshair(m_viewPortSize); - } else { - m_ownLocationCrosshair->hide(); - } -} - void MainWindow::settingsDialogAccepted() { qDebug() << __PRETTY_FUNCTION__; @@ -834,18 +801,16 @@ void MainWindow::settingsDialogAccepted() readAutomaticLocationUpdateSettings(); } -void MainWindow::setUsername(const QString &username) +void MainWindow::showContactDialog(const QString &guid) { qDebug() << __PRETTY_FUNCTION__; - m_email = username; -} - -void MainWindow::setViewPortSize(const QSize &size) -{ - qDebug() << __PRETTY_FUNCTION__; - - m_viewPortSize = size; +#if defined(Q_WS_MAEMO_5) & defined(ARMEL) + OssoABookDialog::showContactDialog(guid); +#else + Q_UNUSED(guid); + buildInformationBox(tr("Contact dialog works only on phone!"), true); +#endif } void MainWindow::showEnableAutomaticUpdateLocationDialog(const QString &text) @@ -862,16 +827,6 @@ void MainWindow::showEnableAutomaticUpdateLocationDialog(const QString &text) m_automaticUpdateLocationDialog->show(); } -void MainWindow::toggleFullScreen() -{ - qDebug() << __PRETTY_FUNCTION__; - - if(windowState() == Qt::WindowNoState) - showFullScreen(); - else - showNormal(); -} - void MainWindow::showErrorInformationBox() { qDebug() << __PRETTY_FUNCTION__; @@ -897,23 +852,11 @@ void MainWindow::showInformationBox() } } -void MainWindow::showPanels() +void MainWindow::sslErrors(QNetworkReply *reply, const QList &errors) { - qDebug() << __PRETTY_FUNCTION__; - - drawFullScreenButton(m_viewPortSize); + qWarning() << __PRETTY_FUNCTION__; -// if(m_loggedIn) { -// if(!m_friendsListPanel->isVisible()) { -// m_friendsListPanel->show(); -// m_friendsListPanelSidebar->show(); -// } - -// if(!m_userPanel->isVisible()) { -// m_userPanel->show(); -// m_userPanelSidebar->show(); -// } -// } + reply->ignoreSslErrors(); } void MainWindow::startLocationSearch() @@ -940,6 +883,16 @@ void MainWindow::startLoginProcess() queueDialog(loginDialog); } +void MainWindow::toggleFullScreen() +{ + qDebug() << __PRETTY_FUNCTION__; + + if(windowState() == Qt::WindowNoState) + showFullScreen(); + else + showNormal(); +} + void MainWindow::toggleProgressIndicator(bool value) { qDebug() << __PRETTY_FUNCTION__; @@ -964,15 +917,7 @@ void MainWindow::updateItemVisibility() { qDebug() << __PRETTY_FUNCTION__; -// if(!m_loggedIn) { -// m_friendsListPanel->closePanel(); -// m_friendsListPanel->hide(); -// m_friendsListPanelSidebar->hide(); - -// m_userPanel->closePanel(); -// m_userPanel->hide(); -// m_userPanelSidebar->hide(); -// } + m_tabbedPanel->setTabsEnabled(m_situareTabsIndexes, m_loggedIn); } const QString MainWindow::username() @@ -981,15 +926,3 @@ const QString MainWindow::username() return m_email; } - -void MainWindow::webViewRequestFinished(QNetworkReply *reply) -{ - qDebug() << __PRETTY_FUNCTION__; - - // omit QNetworkReply::OperationCanceledError due to it's nature to be called when ever - // qwebview starts to load a new page while the current page loading is not finished - if(reply->error() != QNetworkReply::OperationCanceledError && - reply->error() != QNetworkReply::NoError) { - emit error(ErrorContext::NETWORK, reply->error()); - } -}