Opening / Closing favourites window causes window stacking problems for browsing
modified: src/browsemainwindow.cpp
modified: src/browsemainwindow.h
modified: src/favouritesmainwindow.cpp
modified: src/favouritesmainwindow.h
modified: src/playermainwindow.cpp
modified: src/playermainwindow.h
#include "aboutdialog.h"
#include "vlcbrowseelement.h"
#include "appsettings.h"
-#include "favouritesmainwindow.h"
BrowseMainWindow::BrowseMainWindow(QWidget *parent) :
QMainWindow(parent),
{
ui->setupUi(this);
- mFavouritesMainWindow = new FavouritesMainWindow;
mCurrentDir = "~/"; //AppSettings::getHomeDirectory().path; // This works on win as well as linux, would guess mac too.
setWindowTitle("Vlc remote");
ui->playButton->setDisabled(true);
ui->addButton->setDisabled(true);
-
-#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
-
- mFavouritesMainWindow->setParent(this);
- mFavouritesMainWindow->setAttribute(Qt::WA_Maemo5StackedWindow, true);
- setAttribute(Qt::WA_Maemo5StackedWindow, true);
- mFavouritesMainWindow->setWindowFlags(mFavouritesMainWindow->windowFlags() | Qt::Window);
-
-#endif
-
connect(ui->listWidget,SIGNAL(doubleClicked(QModelIndex)),this,SLOT(onBrowse()));
connect(ui->browseButton,SIGNAL(clicked()),this,SLOT(onBrowse()));
connect(ui->addButton,SIGNAL(clicked()),this,SLOT(onAddToPlaylist()));
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();
}
}
void BrowseMainWindow::showFavourites() {
- mFavouritesMainWindow->show();
- mFavouritesMainWindow->init();
+ emit showFavouritesWindow();
+#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
+ this->hide();
+#endif
}
void BrowseMainWindow::setFavourite() {
if (0 < mCurrentElement.name.length() && (0 == QString::compare("directory", mCurrentElement.type) || 0 == QString::compare("dir", mCurrentElement.type))) {
QUrl url = QUrl("http://"+mIp+"/requests/status.xml?command=in_enqueue");
url.addEncodedQueryItem(QByteArray("input"), QUrl::toPercentEncoding(mCurrentElement.path.replace("\\", "\\\\").replace("'", "\\'")));
mNetManager->get(QNetworkRequest(url));
- //mNetManager->get(QNetworkRequest(QUrl("http://"+mIp+"/requests/status.xml?command=in_enqueue&input=" + mCurrentElement.path.replace("\\", "\\\\"))));
}
void BrowseMainWindow::onPlay() {
QUrl url = QUrl("http://"+mIp+"/requests/status.xml?command=in_play");
url.addEncodedQueryItem(QByteArray("input"), QUrl::toPercentEncoding(mCurrentElement.path.replace("\\", "\\\\").replace("'", "\\'")));
mNetManager->get(QNetworkRequest(url));
- //mNetManager->get(QNetworkRequest(QUrl("http://"+mIp+"/requests/status.xml?command=in_play&input=" + mCurrentElement.path.replace("\\", "\\\\"))));
}
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));
QNetworkReply * reply = mNetManager->get(QNetworkRequest(url));
- //QNetworkReply * reply = mNetManager->get(QNetworkRequest(QUrl("http://"+mIp+"/requests/browse.xml?dir=" + dir.replace("&", "%26").replace("\\", "\\\\"))));
#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
this->setAttribute(Qt::WA_Maemo5ShowProgressIndicator, true);
#endif
#include <QtXml>
#include <QListWidgetItem>
#include "vlcbrowseelement.h"
-#include "favouritesmainwindow.h"
namespace Ui {
class BrowseMainWindow;
VlcBrowseElement getElementFromText(QString text);
QString getExtension(QString path, QString extension);
+signals:
+ void showFavouritesWindow();
+
private:
Ui::BrowseMainWindow *ui;
- FavouritesMainWindow *mFavouritesMainWindow;
QNetworkAccessManager * mNetManager;
QString mCurrentDir;
QString mIp;
#include <QMaemo5InformationBox>
#endif
#include "appsettings.h"
-//#include "browsemainwindow.h"
FavouritesMainWindow::FavouritesMainWindow(QWidget *parent) :
QMainWindow(parent),
void FavouritesMainWindow::onBrowse() {
if (-1 < mCurrentItemIndex) {
emit browseDirectory(mCurrentFavourite.path);
- //this->close();
- //((BrowseMainWindow *)this->parent())->browseDirectory(mCurrentFavourite.path);
}
}
void FavouritesMainWindow::onDelete() {
init();
}
}
+void FavouritesMainWindow::closeEvent(QCloseEvent * event) {
+ Q_UNUSED(event);
+ emit closeSignal();
+ this->close();
+}
signals:
void browseDirectory(QString path);
+ void closeSignal();
protected:
void changeEvent(QEvent *e);
void updateList();
+ void closeEvent(QCloseEvent * event);
private:
Ui::FavouritesMainWindow *ui;
#include "aboutdialog.h"
#include "accountdialog.h"
#include "appsettings.h"
- //#include "vlcstatus.h"
PlayerMainWindow::PlayerMainWindow(QWidget *parent) :
QMainWindow(parent),
mNetManager = new QNetworkAccessManager(this);
mPlayListMainWindow = new PlayListMainWindow;
mBrowserMainWindow = new BrowseMainWindow;
+ mFavouritesMainWindow = new FavouritesMainWindow;
mVolume = 100;
mMuted = false;
ui->nextButton->setIcon(QIcon::fromTheme("pdf_viewer_last_page"));
ui->playpauseButton->setIcon(QIcon::fromTheme("camera_playback"));
ui->stopButton->setIcon(QIcon::fromTheme("camera_video_stop"));
- //ui->pauseButton->setIcon(QIcon::fromTheme("camera_video_pause"));
ui->fullscreenButton->setIcon(QIcon::fromTheme("general_fullsize"));
ui->volDown->setIcon(QIcon::fromTheme("statusarea_volumelevel1"));
ui->volUp->setIcon(QIcon::fromTheme("statusarea_volumelevel4"));
setAttribute(Qt::WA_Maemo5StackedWindow, true);
mBrowserMainWindow->setWindowFlags(mBrowserMainWindow->windowFlags() | Qt::Window);
+ mFavouritesMainWindow->setParent(this);
+ mFavouritesMainWindow->setAttribute(Qt::WA_Maemo5StackedWindow, true);
+ setAttribute(Qt::WA_Maemo5StackedWindow, true);
+ mFavouritesMainWindow->setWindowFlags(mFavouritesMainWindow->windowFlags() | Qt::Window);
+
connect(QApplication::desktop(), SIGNAL(resized(int)), this, SLOT(orientationChanged()));
#endif
connect(ui->slider,SIGNAL(sliderMoved(int)),this,SLOT(slide(int)));
connect(mPlayListMainWindow, SIGNAL(idUpdated(int,bool,QString)), this, SLOT(playlistIdUpdated(int, bool, QString)));
+ connect(mBrowserMainWindow, SIGNAL(showFavouritesWindow()), this, SLOT(showFavourites()));
+
+ connect(mFavouritesMainWindow, SIGNAL(browseDirectory(QString)), mFavouritesMainWindow, SLOT(close()));
+ connect(mFavouritesMainWindow, SIGNAL(browseDirectory(QString)), mBrowserMainWindow, SLOT(browseDirectory(QString)));
+ connect(mFavouritesMainWindow, SIGNAL(closeSignal()), mBrowserMainWindow, SLOT(show()));
// check if last used connection is still valid or showConfig
}
}
+ void PlayerMainWindow::showFavourites() {
+ mFavouritesMainWindow->show();
+ mFavouritesMainWindow->init();
+ }
+
void PlayerMainWindow::setPortrait()
{
#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
QString album = metaInfoNode.namedItem("album").toElement().text();
QString now_playing = metaInfoNode.namedItem("now_playing").toElement().text();
QString art_url = metaInfoNode.namedItem("art_url").toElement().text();
- //metaInfoNode.clear();
- //infoNode.clear();
- //docElem.clear();
- //doc.clear();
// Populate the current status structure
// now would be a good time to work out if we are a new track / file or not.
// key if we are going to look for album art later
#include <QTimer>
#include "playlistmainwindow.h"
#include "browsemainwindow.h"
+#include "favouritesmainwindow.h"
#include "vlcstatus.h"
namespace Ui {
void askStatus();
void showConfig();
void showAbout();
+ void showFavourites();
void play();
void playpause();
void stop();
Ui::PlayerMainWindow *ui;
PlayListMainWindow * mPlayListMainWindow;
BrowseMainWindow * mBrowserMainWindow;
+ FavouritesMainWindow * mFavouritesMainWindow;
QNetworkAccessManager * mNetManager;
QString mIp;
QTimer * mTimer;