//************************************************************* // This function is called when a user selects something // within this tree. It also emits a signal that will // be picked up by the main nixnote program. //************************************************************* void NNotebookView::buildSelection() { QLOG_TRACE() << "Inside NNotebookView::buildSelection()"; QList<QTreeWidgetItem*> selectedItems = this->selectedItems(); if (selectedItems.size() > 0 && selectedItems[0]->data(0,Qt::UserRole).toString().startsWith("root"), Qt::CaseInsensitive) return; // First, find out if we're already viewing history. If we are we // chop off the end of the history & start a new one if (global.filterPosition+1 < global.filterCriteria.size()) { while (global.filterPosition+1 < global.filterCriteria.size()) global.filterCriteria.removeLast(); } int currentCount = global.filterCriteria.size(); FilterCriteria *newFilter = new FilterCriteria(); if (currentCount > 0) { FilterCriteria *currentFilter = global.filterCriteria[currentCount-1]; if (currentFilter->isLidSet()) { newFilter->setLid(currentFilter->getLid()); } if (currentFilter->isSelectedNotesSet()) { QList<qint32> lids; currentFilter->getSelectedNotes(lids); newFilter->setSelectedNotes(lids); } } global.filterCriteria.push_back(newFilter); filterPosition++; global.filterPosition++; if (selectedItems.size() > 0) { newFilter->setNotebook(*(selectedItems[0])); } qint32 notebookLid = 0; if (selectedItems.size() > 0) notebookLid = selectedItems[0]->data(NAME_POSITION, Qt::UserRole).toInt(); newFilter->resetAttribute = true; newFilter->resetDeletedOnly = true; newFilter->resetFavorite = true; newFilter->resetNotebook = true; newFilter->resetSavedSearch = true; newFilter->resetTags = true; newFilter->resetSearchString = true; emit updateSelectionRequested(); emit notebookSelectionChanged(notebookLid); QLOG_TRACE() << "Leaving NNotebookView::buildSelection()"; }
// A tag was selected so a new FilterCriteria is created and the // filtered table will display the results. void NTagView::buildSelection() { QLOG_TRACE() << "Inside NTagView::buildSelection()"; QList<QTreeWidgetItem*> selectedItems = this->selectedItems(); if (selectedItems.size() > 0 && selectedItems[0]->data(0,Qt::UserRole) == "root") return; // First, find out if we're already viewing history. If we are we // chop off the end of the history & start a new one if (global.filterPosition+1 < global.filterCriteria.size()) { while (global.filterPosition+1 < global.filterCriteria.size()) global.filterCriteria.removeLast(); } FilterCriteria *oldFilter = global.filterCriteria[global.filterPosition]; filterPosition++; FilterCriteria *newFilter = new FilterCriteria(); if (selectedItems.size() > 0) { newFilter->setTags(selectedItems); } newFilter->resetAttribute = true; newFilter->resetDeletedOnly = true; newFilter->resetSavedSearch = true; newFilter->resetFavorite = true; newFilter->resetTags = true; newFilter->resetNotebook=true; if (oldFilter!= NULL && oldFilter->isNotebookSet()) { QTreeWidgetItem *notebook =oldFilter->getNotebook(); if (notebook!= NULL) newFilter->setNotebook(*notebook); } global.filterCriteria.push_back(newFilter); global.filterPosition++; emit updateSelectionRequested(); QLOG_TRACE() << "Leaving NTagView::buildSelection()"; }