##// END OF EJS Templates
Handle selection of trash and repository items
trabillard -
r1234:f48f3e7d295f
parent child
Show More
@@ -42,6 +42,7 public:
42 42 public slots:
43 43 void populateWithCatalogues(const QVector<std::shared_ptr<DBCatalogue> > &catalogues);
44 44 void populateWithAllEvents();
45 void clear();
45 46 void refresh();
46 47
47 48 private:
@@ -293,6 +293,8 CatalogueEventsWidget::CatalogueEventsWidget(QWidget *parent)
293 293 setEventChanges(event, impl->m_Model->eventsHasChanges(event));
294 294 }
295 295 });
296
297 populateWithAllEvents();
296 298 }
297 299
298 300 CatalogueEventsWidget::~CatalogueEventsWidget()
@@ -345,7 +347,7 QVector<std::shared_ptr<DBCatalogue> > CatalogueEventsWidget::displayedCatalogue
345 347
346 348 bool CatalogueEventsWidget::isAllEventsDisplayed() const
347 349 {
348 return impl->m_DisplayedCatalogues.isEmpty();
350 return impl->m_DisplayedCatalogues.isEmpty() && !impl->m_Model->events().isEmpty();
349 351 }
350 352
351 353 bool CatalogueEventsWidget::isEventDisplayed(const std::shared_ptr<DBEvent> &event) const
@@ -388,6 +390,12 void CatalogueEventsWidget::populateWithAllEvents()
388 390 impl->setEvents(events, ui->treeView);
389 391 }
390 392
393 void CatalogueEventsWidget::clear()
394 {
395 impl->m_DisplayedCatalogues.clear();
396 impl->setEvents({}, ui->treeView);
397 }
398
391 399 void CatalogueEventsWidget::refresh()
392 400 {
393 401 if (impl->m_DisplayedCatalogues.isEmpty()) {
@@ -42,16 +42,29 CatalogueExplorer::CatalogueExplorer(QWidget *parent)
42 42 ui->inspector->showPage(CatalogueInspectorWidget::Page::Empty);
43 43 });
44 44
45 connect(ui->catalogues, &CatalogueSideBarWidget::trashSelected,
46 [this]() { ui->inspector->showPage(CatalogueInspectorWidget::Page::Empty); });
45 connect(ui->catalogues, &CatalogueSideBarWidget::trashSelected, [this]() {
46 ui->inspector->showPage(CatalogueInspectorWidget::Page::Empty);
47 ui->events->clear();
48 });
47 49
48 50 connect(ui->catalogues, &CatalogueSideBarWidget::allEventsSelected, [this]() {
49 51 ui->inspector->showPage(CatalogueInspectorWidget::Page::Empty);
50 52 ui->events->populateWithAllEvents();
51 53 });
52 54
53 connect(ui->catalogues, &CatalogueSideBarWidget::selectionCleared,
54 [this]() { ui->inspector->showPage(CatalogueInspectorWidget::Page::Empty); });
55 connect(ui->catalogues, &CatalogueSideBarWidget::databaseSelected, [this](auto databaseList) {
56 QVector<std::shared_ptr<DBCatalogue> > catalogueList;
57 for (auto database : databaseList) {
58 catalogueList.append(ui->catalogues->getCatalogues(database));
59 }
60 ui->events->populateWithCatalogues(catalogueList);
61 ui->inspector->showPage(CatalogueInspectorWidget::Page::Empty);
62 });
63
64 connect(ui->catalogues, &CatalogueSideBarWidget::selectionCleared, [this]() {
65 ui->inspector->showPage(CatalogueInspectorWidget::Page::Empty);
66 ui->events->clear();
67 });
55 68
56 69 connect(ui->events, &CatalogueEventsWidget::eventsSelected, [this](auto events) {
57 70 if (events.count() == 1) {
General Comments 0
You need to be logged in to leave comments. Login now