DirectoryTableView.cpp 1017 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  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. }
  31. void DirectoryTableView::open_parent_directory()
  32. {
  33. model().open(String::format("%s/..", model().path().characters()));
  34. }