From 15692f7cc2f216addde246870089427ffda3acd5 Mon Sep 17 00:00:00 2001 From: druid23 Date: Wed, 25 Aug 2010 08:32:55 +0100 Subject: [PATCH] Changing the way Favourites invoke browsing from cast on parent to signal. modified: browsemainwindow.cpp modified: favouritesmainwindow.cpp modified: favouritesmainwindow.h modified: playermainwindow.cpp --- browsemainwindow.cpp | 13 +++++++++++-- favouritesmainwindow.cpp | 7 ++++--- favouritesmainwindow.h | 3 +++ playermainwindow.cpp | 8 ++++---- 4 files changed, 22 insertions(+), 9 deletions(-) diff --git a/browsemainwindow.cpp b/browsemainwindow.cpp index d77844d..a07b131 100644 --- a/browsemainwindow.cpp +++ b/browsemainwindow.cpp @@ -56,8 +56,8 @@ BrowseMainWindow::BrowseMainWindow(QWidget *parent) : #if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5) mFavouritesMainWindow->setParent(this); - mFavouritesMainWindow->setAttribute(Qt::WA_Maemo5StackedWindow); - setAttribute(Qt::WA_Maemo5StackedWindow); + mFavouritesMainWindow->setAttribute(Qt::WA_Maemo5StackedWindow, true); + setAttribute(Qt::WA_Maemo5StackedWindow, true); mFavouritesMainWindow->setWindowFlags(mFavouritesMainWindow->windowFlags() | Qt::Window); #endif @@ -73,6 +73,8 @@ BrowseMainWindow::BrowseMainWindow(QWidget *parent) : connect(ui->actionViewFavourites, SIGNAL(triggered()), this, SLOT(showFavourites())); connect(ui->actionSetFavourite, SIGNAL(triggered()), this, SLOT(setFavourite())); + connect(this->mFavouritesMainWindow, SIGNAL(browseDirectory(QString)), this, SLOT(browseDirectory(QString))); + init(); @@ -223,6 +225,13 @@ void BrowseMainWindow::onPlay() { } void BrowseMainWindow::browseDirectory(QString dir) { + if (mFavouritesMainWindow) { + setParent(this->parentWidget()); +#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5) + setAttribute(Qt::WA_Maemo5StackedWindow, true); +#endif + mFavouritesMainWindow->hide(); + } mResponse.clear(); QUrl url = QUrl("http://"+mIp+"/requests/browse.xml"); url.addEncodedQueryItem(QByteArray("dir"), QUrl::toPercentEncoding(dir)); diff --git a/favouritesmainwindow.cpp b/favouritesmainwindow.cpp index 79fdddc..a578deb 100644 --- a/favouritesmainwindow.cpp +++ b/favouritesmainwindow.cpp @@ -22,7 +22,7 @@ #include #endif #include "appsettings.h" -#include "browsemainwindow.h" +//#include "browsemainwindow.h" FavouritesMainWindow::FavouritesMainWindow(QWidget *parent) : QMainWindow(parent), @@ -157,8 +157,9 @@ void FavouritesMainWindow::onEdit() { } void FavouritesMainWindow::onBrowse() { if (-1 < mCurrentItemIndex) { - this->close(); - ((BrowseMainWindow *)this->parent())->browseDirectory(mCurrentFavourite.path); + emit browseDirectory(mCurrentFavourite.path); + //this->close(); + //((BrowseMainWindow *)this->parent())->browseDirectory(mCurrentFavourite.path); } } void FavouritesMainWindow::onDelete() { diff --git a/favouritesmainwindow.h b/favouritesmainwindow.h index cd40eb8..76964b0 100644 --- a/favouritesmainwindow.h +++ b/favouritesmainwindow.h @@ -50,6 +50,9 @@ public slots: protected slots: +signals: + void browseDirectory(QString path); + protected: void changeEvent(QEvent *e); void updateList(); diff --git a/playermainwindow.cpp b/playermainwindow.cpp index af879d1..33d001c 100644 --- a/playermainwindow.cpp +++ b/playermainwindow.cpp @@ -69,13 +69,13 @@ #if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5) mPlayListMainWindow->setParent(this); - mPlayListMainWindow->setAttribute(Qt::WA_Maemo5StackedWindow); - setAttribute(Qt::WA_Maemo5StackedWindow); + mPlayListMainWindow->setAttribute(Qt::WA_Maemo5StackedWindow, true); + setAttribute(Qt::WA_Maemo5StackedWindow, true); mPlayListMainWindow->setWindowFlags(mPlayListMainWindow->windowFlags() | Qt::Window); mBrowserMainWindow->setParent(this); - mBrowserMainWindow->setAttribute(Qt::WA_Maemo5StackedWindow); - setAttribute(Qt::WA_Maemo5StackedWindow); + mBrowserMainWindow->setAttribute(Qt::WA_Maemo5StackedWindow, true); + setAttribute(Qt::WA_Maemo5StackedWindow, true); mBrowserMainWindow->setWindowFlags(mBrowserMainWindow->windowFlags() | Qt::Window); connect(QApplication::desktop(), SIGNAL(resized(int)), this, SLOT(orientationChanged())); -- 1.7.9.5