#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->browseButton,SIGNAL(clicked()),this,SLOT(onBrowse()));
connect(ui->addButton,SIGNAL(clicked()),this,SLOT(onAddToPlaylist()));
connect(ui->playButton,SIGNAL(clicked()),this,SLOT(onPlay()));
connect(ui->listWidget, SIGNAL(itemSelectionChanged()), this, SLOT(onListSelectionChanged()));
+ connect(ui->actionGoUserHome, SIGNAL(triggered()), this, SLOT(showUserHomeFolder()));
connect(ui->actionGoHome, SIGNAL(triggered()), this, SLOT(showHomeFolder()));
connect(ui->actionSetHome, SIGNAL(triggered()), this, SLOT(setHomeFolder()));
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::showHomeFolder() {
browseDirectory(AppSettings::getHomeDirectory().path);
}
+void BrowseMainWindow::showUserHomeFolder() {
+ browseDirectory("~/");
+}
void BrowseMainWindow::setHomeFolder() {
- if (0 < mCurrentDir.length()) {
+ if (0 < mCurrentElement.name.length() && (0 == QString::compare("directory", mCurrentElement.type) || 0 == QString::compare("dir", mCurrentElement.type))) {
+ VlcDirectory dir;
+ dir.name = mCurrentElement.name;
+ dir.path = mCurrentElement.path;
+ AppSettings::setHomeDirectory(dir);
+ }
+ else if (0 < mCurrentDir.length()) {
VlcDirectory dir;
- dir.name = "Home";
+ QString name = mCurrentDir;
+ int idx = mCurrentDir.lastIndexOf('/');
+ if (0 > idx) idx = mCurrentDir.lastIndexOf('\\');
+ if (0 < idx) {
+ name = mCurrentDir.right(mCurrentDir.length() - (idx + 1));
+ }
+ dir.name = name;
dir.path = mCurrentDir;
AppSettings::setHomeDirectory(dir);
}
}
-void BrowseMainWindow::showFavourites() {}
-void BrowseMainWindow::setFavourite() {}
+void BrowseMainWindow::showFavourites() {
+ mFavouritesMainWindow->show();
+ mFavouritesMainWindow->init();
+}
+void BrowseMainWindow::setFavourite() {
+ if (0 < mCurrentElement.name.length() && (0 == QString::compare("directory", mCurrentElement.type) || 0 == QString::compare("dir", mCurrentElement.type))) {
+ VlcDirectory dir;
+ dir.name = mCurrentElement.name;
+ dir.path = mCurrentElement.path;
+ AppSettings::addFavourite(dir);
+ }
+ else if (0 < mCurrentDir.length()) {
+ VlcDirectory dir;
+ QString name = mCurrentDir;
+ int idx = mCurrentDir.lastIndexOf('/');
+ if (0 > idx) idx = mCurrentDir.lastIndexOf('\\');
+ if (0 < idx) {
+ name = mCurrentDir.right(mCurrentDir.length() - (idx + 1));
+ }
+ dir.name = name;
+ dir.path = mCurrentDir;
+ AppSettings::addFavourite(dir);
+ }
+}
void BrowseMainWindow::onListSelectionChanged() {
QList<QListWidgetItem *> items = ui->listWidget->selectedItems();
}
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));
QIcon icon_image = QIcon::fromTheme("general_image");
QIcon icon_flash = QIcon::fromTheme("filemanager_flash_file");
QIcon icon_real = QIcon::fromTheme("filemanager_real_music");
+ QIcon icon_playl = QIcon::fromTheme("filemanager_playlist");
QIcon icon_unknown= QIcon::fromTheme("filemanager_unknown_file");
for (int idx = 0; idx < ct; ++idx) {
VlcBrowseElement dir = mContents->at(idx);
item_good = true;
item = new QListWidgetItem(icon_audio, dir.name, ui->listWidget, 0); // .mp3, .m4a, .ogg, .oga, .wav, .flac
}
+ else if ( 0 == QString::compare(dir.extension, "m3u") ||
+ 0 == QString::compare(dir.extension, "wpl") ||
+ 0 == QString::compare(dir.extension, "pls") ||
+ 0 == QString::compare(dir.extension, "asx") ||
+ 0 == QString::compare(dir.extension, "xspf") ||
+ 0 == QString::compare(dir.extension, "cmml") ) {
+ item_good = true;
+ item = new QListWidgetItem(icon_playl, dir.name, ui->listWidget, 0); // .m3u, .wpl, .pls, .asx, .xspf, .cmml
+ }
else if ( 0 == QString::compare(dir.extension, "avi") ||
0 == QString::compare(dir.extension, "mpeg") ||
0 == QString::compare(dir.extension, "mpg") ||