* Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
+#include <QStringList>
#include "appsettings.h"
-// initialize static storage for settings reference
-//QSettings AppSettings::settings;
AppSettings::AppSettings() {
}
sets.setValue("config/accounts/" + getCurrentKey() + "/homeDirPath", dir.path);
return true;
}
-QList<VlcDirectory>* AppSettings::getFavourites() { return new QList<VlcDirectory>(); }
-bool AppSettings::addFavourite(VlcDirectory dir) { return true; }
-bool AppSettings::deleteFavourite(VlcDirectory dir) { return true; }
+QList<VlcDirectory>* AppSettings::getFavourites() {
+ QSettings sets;
+ QList<VlcDirectory> * favourites = new QList<VlcDirectory>();
+
+ sets.beginGroup("config/accounts/" + getCurrentKey() + "/favourites");
+ foreach ( QString key, sets.allKeys())
+ {
+ VlcDirectory dir;
+ // key is name
+ dir.name = key;
+ // value is path
+ dir.path = sets.value(key, "~/").toString();
+ favourites->append(dir);
+ }
+ sets.endGroup();
+ return favourites;
+}
+bool AppSettings::addFavourite(VlcDirectory dir) {
+ QSettings sets;
+ // should check for existing first otherwise it overwrites
+ if (0 < sets.value("config/accounts/" + getCurrentKey() + "/favourites/" + dir.name, "").toString().length()) {
+ dir.name = "_" + dir.name;
+ return addFavourite(dir);
+ }
+ sets.setValue("config/accounts/" + getCurrentKey() + "/favourites/" + dir.name, dir.path);
+ return true;
+}
+bool AppSettings::deleteFavourite(VlcDirectory dir) {
+ QSettings sets;
+ sets.remove("config/accounts/" + getCurrentKey() + "/favourites/" + dir.name);
+ return true;
+}
Orientation AppSettings::setOrientation(Orientation orientation) {
QSettings sets;
sets.setValue("config/orientation", (int)orientation);
#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);
+ setAttribute(Qt::WA_Maemo5StackedWindow);
+ 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()));
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();
#include <QtXml>
#include <QListWidgetItem>
#include "vlcbrowseelement.h"
+#include "favouritesmainwindow.h"
namespace Ui {
class BrowseMainWindow;
private:
Ui::BrowseMainWindow *ui;
+ FavouritesMainWindow *mFavouritesMainWindow;
QNetworkAccessManager * mNetManager;
QString mCurrentDir;
QString mIp;
<addaction name="actionGoUserHome"/>
<addaction name="actionGoHome"/>
<addaction name="actionSetHome"/>
- <!--addaction name="actionViewFavourites"/-->
- <!--addaction name="actionSetFavourite"/-->
+ <addaction name="actionViewFavourites"/>
+ <addaction name="actionSetFavourite"/>
</widget>
<action name="actionGoUserHome">
<property name="text">
NewAccountDialog::NewAccountDialog(QWidget *parent)
{
+ Q_UNUSED(parent);
this->setWindowTitle(tr("Add account"));
mKeyLineEdit = new QLineEdit;
void NewAccountDialog::edit(QString &key, QString &ip)
{
+ Q_UNUSED(ip);
this->setWindowTitle(tr("Edit account"));
QSettings settings;
}
void PlayerMainWindow::playlistIdUpdated(int id, bool hasart, QString extension) {
+ Q_UNUSED(extension);
if (hasart) {
getCoverArt(id);
}
vlcbrowseelement.cpp \
vlcplaylistelementsimple.cpp \
vlcstatus.cpp \
- appsettings.cpp
+ appsettings.cpp \
+ favouritesmainwindow.cpp
HEADERS += playlistmainwindow.h \
playermainwindow.h \
configdialog.h \
vlcbrowseelement.h \
vlcplaylistelementsimple.h \
vlcstatus.h \
- appsettings.h
+ appsettings.h \
+ favouritesmainwindow.h
FORMS += playlistmainwindow.ui \
playermainwindow.ui \
configdialog.ui \
aboutdialog.ui \
accountdialog.ui \
- browsemainwindow.ui
+ browsemainwindow.ui \
+ favouritesmainwindow.ui
OTHER_FILES += vlc-remote.desktop
RESOURCES += ressources.qrc
TRANSLATIONS = vlcremote_fr_FR.ts