DirectoryTableView.cpp 891 B

123456789101112131415161718192021222324252627282930313233343536
  1. #include "DirectoryTableView.h"
  2. DirectoryTableView::DirectoryTableView(GWidget* parent)
  3. : GTableView(parent)
  4. {
  5. set_model(make<DirectoryTableModel>());
  6. }
  7. DirectoryTableView::~DirectoryTableView()
  8. {
  9. }
  10. void DirectoryTableView::open(const String& path)
  11. {
  12. model().open(path);
  13. }
  14. void DirectoryTableView::model_notification(const GModelNotification& notification)
  15. {
  16. if (notification.type() == GModelNotification::Type::ModelUpdated) {
  17. set_status_message(String::format("%d item%s (%u byte%s)",
  18. model().row_count(),
  19. model().row_count() != 1 ? "s" : "",
  20. model().bytes_in_files(),
  21. model().bytes_in_files() != 1 ? "s" : ""));
  22. if (on_path_change)
  23. on_path_change(model().path());
  24. }
  25. }
  26. void DirectoryTableView::set_status_message(const String& message)
  27. {
  28. if (on_status_message)
  29. on_status_message(message);
  30. }