32#if BOOST_FILESYSTEM_VERSION < 3
33 : WTreeTableNode(Wt::widen(path.leaf()),
createIcon(path)),
35 : WTreeTableNode(path.filename().string(),
createIcon(path)),
39 label()->setTextFormat(TextFormat::Plain);
41 if (boost::filesystem::exists(path)) {
42 if (!boost::filesystem::is_directory(path)) {
43 int fsize = (int)boost::filesystem::file_size(path);
44 setColumnWidget(1, std::make_unique<WText>(asString(fsize)));
45 columnWidget(1)->setStyleClass(
"fsize");
49 std::time_t t = boost::filesystem::last_write_time(path);
50 Wt::WDateTime dateTime = Wt::WDateTime::fromTime_t(t);
51 Wt::WString dateTimeStr = dateTime.toString(Wt::utf8(
"MMM dd yyyy"));
53 setColumnWidget(2, std::make_unique<WText>(dateTimeStr));
54 columnWidget(2)->setStyleClass(
"date");
60 if (boost::filesystem::exists(path)
61 && boost::filesystem::is_directory(path))
62 return std::make_unique<WIconPair>(
"icons/yellow-folder-closed.png",
63 "icons/yellow-folder-open.png",
false);
65 return std::make_unique<WIconPair>(
"icons/document.png",
66 "icons/yellow-folder-open.png",
false);
71 if (boost::filesystem::is_directory(
path_)) {
72 std::set<boost::filesystem::path> paths;
73 boost::filesystem::directory_iterator end_itr;
75 for (boost::filesystem::directory_iterator i(
path_); i != end_itr; ++i)
78 }
catch (boost::filesystem::filesystem_error& e) {
79 std::cerr << e.what() << std::endl;
82 for (std::set<boost::filesystem::path>::iterator i = paths.begin();
83 i != paths.end(); ++i)
85 addChildNode(std::make_unique<FileTreeTableNode>(*i));
86 }
catch (boost::filesystem::filesystem_error& e) {
87 std::cerr << e.what() << std::endl;