X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=remote%2Fsource%2Fbrowsedirectoryitem.cpp;h=5a1a636f42c82d7ad3490299975fc9e6b8424f87;hb=2c4dde7be7cc32b027812204b152c9f514d2e6aa;hp=99328bb2acf50f13065baf4042dfc553a63c5487;hpb=1abfbdd94fa45883f6d742df00508715f79c9954;p=xinema.git diff --git a/remote/source/browsedirectoryitem.cpp b/remote/source/browsedirectoryitem.cpp index 99328bb..5a1a636 100644 --- a/remote/source/browsedirectoryitem.cpp +++ b/remote/source/browsedirectoryitem.cpp @@ -2,8 +2,6 @@ #include "xinemacontrol.h" #include "xinemacontrolitem.h" -#include - 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); }