]> git.tdb.fi Git - xinema.git/blobdiff - remote/source/browsedirectoryitem.cpp
Overhaul BrowsePage to look and feel better
[xinema.git] / remote / source / browsedirectoryitem.cpp
index 99328bb2acf50f13065baf4042dfc553a63c5487..5a1a636f42c82d7ad3490299975fc9e6b8424f87 100644 (file)
@@ -2,8 +2,6 @@
 #include "xinemacontrol.h"
 #include "xinemacontrolitem.h"
 
-#include <QDebug>
-
 BrowseDirectoryItem::BrowseDirectoryItem():
        control(0)
 { }
@@ -14,10 +12,13 @@ void BrowseDirectoryItem::set_control(XinemaControlItem *c)
                disconnect(&control->get_control(), 0, this, 0);
 
        control = c;
-       XinemaControl &xc = control->get_control();
-       connect(&xc, &XinemaControl::directory_started, this, &BrowseDirectoryItem::directory_started);
-       connect(&xc, &XinemaControl::file_added, this, &BrowseDirectoryItem::file_added);
-       connect(&xc, &XinemaControl::subdirectory_added, this, &BrowseDirectoryItem::subdirectory_added);
+       if(control)
+       {
+               XinemaControl &xc = control->get_control();
+               connect(&xc, &XinemaControl::directory_started, this, &BrowseDirectoryItem::directory_started);
+               connect(&xc, &XinemaControl::file_added, this, &BrowseDirectoryItem::file_added);
+               connect(&xc, &XinemaControl::subdirectory_added, this, &BrowseDirectoryItem::subdirectory_added);
+       }
 
        emit control_changed();
 }
@@ -41,20 +42,17 @@ void BrowseDirectoryItem::directory_started(const QString &dir)
                emit directory_changed();
        }
 
-       subdirectories.clear();
-       files.clear();
-       emit subdirectories_changed();
-       emit files_changed();
+       model.clear();
+       if(directory!="/")
+               model.add_entry("..", DirectoryModel::ParentDir);
 }
 
 void BrowseDirectoryItem::file_added(const QString &name)
 {
-       files.push_back(name);
-       emit files_changed();
+       model.add_entry(name, DirectoryModel::File);
 }
 
 void BrowseDirectoryItem::subdirectory_added(const QString &name)
 {
-       subdirectories.push_back(name);
-       emit subdirectories_changed();
+       model.add_entry(name, DirectoryModel::SubDir);
 }