void CWizDocumentListView::getSelectedDocuments(CWizDocumentDataArray& arrayDocument) { QList<QListWidgetItem*> items = selectedItems(); QList<QListWidgetItem*>::const_iterator it; for (it = items.begin(); it != items.end(); it++) { QListWidgetItem* pItem = *it; CWizDocumentListViewItem* pDocumentItem = dynamic_cast<CWizDocumentListViewItem*>(pItem); if (!pDocumentItem) continue; // if document is message type if (pDocumentItem->type() == CWizDocumentListViewItem::MessageDocument) { QString strKbGUID = pDocumentItem->message().kbGUID; QString strGUID = pDocumentItem->message().documentGUID; // document must have record in database. WIZDOCUMENTDATA doc; if (!m_dbMgr.db(strKbGUID).DocumentFromGUID(strGUID, doc)) { qDebug() << "[getSelectedDocuments] failed to query document from guid"; continue; } // no matter document exist or not, just push it arrayDocument.push_back(doc); } else { arrayDocument.push_back(pDocumentItem->document()); } } }
void CWizDocumentListView::resetPermission() { CWizDocumentDataArray arrayDocument; //QList<QListWidgetItem*> items = selectedItems(); foreach (CWizDocumentListViewItem* item, m_rightButtonFocusedItems) { arrayDocument.push_back(item->document()); }
void CWizDocumentListView::startDrag(Qt::DropActions supportedActions) { Q_UNUSED(supportedActions); CWizDocumentDataArray arrayDocument; QList<QListWidgetItem*> items = selectedItems(); foreach (QListWidgetItem* it, items) { if (CWizDocumentListViewItem* item = dynamic_cast<CWizDocumentListViewItem*>(it)) { arrayDocument.push_back(item->document()); } } if (!arrayDocument.size()) return; QString strMime = note2Mime(arrayDocument); QDrag* drag = new QDrag(this); QMimeData* mimeData = new QMimeData(); mimeData->setData(WIZNOTE_MIMEFORMAT_DOCUMENTS, strMime.toUtf8()); drag->setMimeData(mimeData); drag->setPixmap(WizGetDocumentDragBadget(items.size())); drag->exec(); }
void CWizDocumentListView::resetPermission() { CWizDocumentDataArray arrayDocument; QList<QListWidgetItem*> items = selectedItems(); foreach (QListWidgetItem* it, items) { if (CWizDocumentListViewItem* item = dynamic_cast<CWizDocumentListViewItem*>(it)) { arrayDocument.push_back(item->document()); } } bool bGroup = isDocumentsWithGroupDocument(arrayDocument); bool bDeleted = isDocumentsWithDeleted(arrayDocument); bool bCanDelete = isDocumentsAllCanDelete(arrayDocument); // if group documents or deleted documents selected if (bGroup || bDeleted) { findAction(WIZACTION_LIST_TAGS)->setEnabled(false); } else { findAction(WIZACTION_LIST_TAGS)->setEnabled(true); } // deleted user private documents if (!bGroup) { findAction(WIZACTION_LIST_MOVE_DOCUMENT)->setEnabled(true); } else { findAction(WIZACTION_LIST_MOVE_DOCUMENT)->setEnabled(false); } // disable delete if permission is not enough if (!bCanDelete) { findAction(WIZACTION_LIST_DELETE)->setEnabled(false); } else { findAction(WIZACTION_LIST_DELETE)->setEnabled(true); } }
bool CWizSearchIndexer::deleteDocument(const WIZDOCUMENTDATAEX& doc) { Q_ASSERT(!doc.strGUID.isEmpty()); CWizDocumentDataArray arrayDocuments; arrayDocuments.push_back(doc); return deleteDocuments(arrayDocuments); }
bool CWizIndexBase::SQLToDocumentDataArray(const CString& strSQL, CWizDocumentDataArray& arrayDocument) { try { CppSQLite3Query query = m_db.execQuery(strSQL); CWizStdStringArray arrayGUID; std::map<CString, int> mapDocumentIndex; while (!query.eof()) { WIZDOCUMENTDATA data; data.strKbGUID = kbGUID(); data.strGUID = query.getStringField(documentDOCUMENT_GUID); data.strTitle = query.getStringField(documentDOCUMENT_TITLE); data.strLocation = query.getStringField(documentDOCUMENT_LOCATION); data.strName = query.getStringField(documentDOCUMENT_NAME); data.strSEO = query.getStringField(documentDOCUMENT_SEO); data.strURL = query.getStringField(documentDOCUMENT_URL); data.strAuthor = query.getStringField(documentDOCUMENT_AUTHOR); data.strKeywords = query.getStringField(documentDOCUMENT_KEYWORDS); data.strType = query.getStringField(documentDOCUMENT_TYPE); data.strOwner = query.getStringField(documentDOCUMENT_OWNER); data.strFileType = query.getStringField(documentDOCUMENT_FILE_TYPE); data.strStyleGUID = query.getStringField(documentSTYLE_GUID); data.tCreated = query.getTimeField(documentDT_CREATED); data.tModified = query.getTimeField(documentDT_MODIFIED); data.tAccessed = query.getTimeField(documentDT_ACCESSED); data.nIconIndex = query.getIntField(documentDOCUMENT_ICON_INDEX); data.nSync = query.getIntField(documentDOCUMENT_SYNC); data.nProtected = query.getIntField(documentDOCUMENT_PROTECT); data.nReadCount = query.getIntField(documentDOCUMENT_READ_COUNT); data.nAttachmentCount = query.getIntField(documentDOCUMENT_ATTACHEMENT_COUNT); data.nIndexed = query.getIntField(documentDOCUMENT_INDEXED); data.tInfoModified = query.getTimeField(documentDT_INFO_MODIFIED); data.strInfoMD5 = query.getStringField(documentDOCUMENT_INFO_MD5); data.tDataModified = query.getTimeField(documentDT_DATA_MODIFIED); data.strDataMD5 = query.getStringField(documentDOCUMENT_DATA_MD5); data.tParamModified = query.getTimeField(documentDT_PARAM_MODIFIED); data.strParamMD5 = query.getStringField(documentDOCUMENT_PARAM_MD5); data.nVersion = query.getInt64Field(documentVersion); arrayGUID.push_back(data.strGUID); arrayDocument.push_back(data); mapDocumentIndex[data.strGUID] = int(arrayDocument.size() - 1); query.nextRow(); } if (!arrayGUID.empty()) { InitDocumentExFields(arrayDocument, arrayGUID, mapDocumentIndex); } return true; } catch (const CppSQLite3Exception& e) { return LogSQLException(e, strSQL); } }
CWizDocumentDataArray WizCombineNotesDialog::getResultDocuments() { CWizDocumentDataArray ret; for (int i = 0; i < ui->listNotes->count(); i++) { QListWidgetItem* item = ui->listNotes->item(i); QVariant data = item->data(Qt::UserRole); WIZDOCUMENTDATA* doc = data.value<WIZDOCUMENTDATA *>(); ret.push_back(*doc); } return ret; }
void CWizDocumentListView::getSelectedDocuments(CWizDocumentDataArray& arrayDocument) { QList<QListWidgetItem*> items = selectedItems(); QList<QListWidgetItem*>::const_iterator it; for (it = items.begin(); it != items.end(); it++) { QListWidgetItem* pItem = *it; CWizDocumentListViewItem* pDocumentItem = dynamic_cast<CWizDocumentListViewItem*>(pItem); if (pDocumentItem) { arrayDocument.push_back(pDocumentItem->document()); } } }
void CWizCategoryViewMessageItem::getDocuments(CWizDatabase& db, CWizDocumentDataArray& arrayDocument) { CWizMessageDataArray arrayMsg; db.getLastestMessages(arrayMsg); for (CWizMessageDataArray::const_iterator it = arrayMsg.begin(); it != arrayMsg.end(); it++) { const WIZMESSAGEDATA& msg = *it; WIZDOCUMENTDATAEX doc; doc.strKbGUID = msg.kbGUID; doc.strGUID = msg.documentGUID; doc.strTitle = msg.title; // CWizCategoryView responsible for converting to full field message data // refer to CWizCategoryView::setDocuments() arrayDocument.push_back(doc); } }