#include "browsemainwindow.h"
#include "ui_browsemainwindow.h"
#include <QSettings>
+#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
+#include <QMaemo5InformationBox>
+#endif
#include "configdialog.h"
#include "aboutdialog.h"
#include "vlcbrowseelement.h"
}
void BrowseMainWindow::browseDirectory(QString dir) {
- mContents->clear();
- ui->listWidget->clear();
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("\\", "\\\\"))));
connect(reply,SIGNAL(readyRead()),this,SLOT(readReady()));
+ connect(reply,SIGNAL(error(QNetworkReply::NetworkError)),this,SLOT(error(QNetworkReply::NetworkError)));
connect(mNetManager,SIGNAL(finished(QNetworkReply *)),this,SLOT(finished(QNetworkReply *)));
}
+void BrowseMainWindow::error(QNetworkReply::NetworkError code) {
+ qDebug() << code;
+}
void BrowseMainWindow::readReady() {
QNetworkReply * reply = qobject_cast<QNetworkReply*>(sender());
// append to buffer
QDomNodeList elements = docElem.elementsByTagName("element");
// we can sort by folders then files alphabetically by running to lists and appending them at the end
// vlc alpha sorts everything in the incoming stream, we just need to seperate files from folders.
- QList<VlcBrowseElement>* files = new QList<VlcBrowseElement>();
if (0 < elements.count()) {
+ QList<VlcBrowseElement>* files = new QList<VlcBrowseElement>();
int idx = 0;
+ mContents->clear();
do {
QDomNode node = elements.at(idx);
VlcBrowseElement* dir = new VlcBrowseElement();
if (0 < files->count()) {
mContents->append(*files);
}
+ delete files;
+ // Update UI
+ this->updateList();
+ }
+ else {
+ // alert user of error / empty directory
+ qDebug() << "can't browse dir: " << mCurrentDir;
+#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
+ QMaemo5InformationBox::information(this, tr("Directory could not be browsed!"), QMaemo5InformationBox::DefaultTimeout);
+#endif
}
- delete files;
mResponse.clear();
- // Update UI
- this->updateList();
}
QString BrowseMainWindow::getExtension(QString path, QString extension) {
}
void BrowseMainWindow::updateList() {
+ ui->listWidget->clear();
int ct = this->mContents->count();
if (0 < ct) {
QIcon icon_up = QIcon::fromTheme("filemanager_folder_up");