void CWizCategoryBaseView::getDocuments(CWizDocumentDataArray& arrayDocument)
{
    QList<QTreeWidgetItem*> items = selectedItems();
    if (items.empty())
        return;

    CWizCategoryViewItemBase* pItem = dynamic_cast<CWizCategoryViewItemBase*>(items.first());
    if (!pItem)
        return;

    if (pItem->kbGUID().isEmpty()) {
        return;
    }

    pItem->getDocuments(m_dbMgr.db(pItem->kbGUID()), arrayDocument);
}
bool CWizFolderSelector::isSelectGroupFolder()
{
    QTreeWidgetItem* item = m_folderView->currentItem();

    if (item->type() > QTreeWidgetItem::UserType)
    {
        CWizCategoryViewItemBase* baseItem = dynamic_cast<CWizCategoryViewItemBase*>(item);
        if (!baseItem)
            return false;

        int nPermission = m_app.databaseManager().db(baseItem->kbGUID()).permission();
        if (nPermission > m_nMinPermission)
        {
            if (nPermission >= WIZ_USERGROUP_READER)
            {
                CWizMessageBox::warning(this, tr("Info"), tr("You have no permission to create note in this group!"));
            }
            else if (nPermission >= WIZ_USERGROUP_EDITOR)
            {
                CWizMessageBox::warning(this, tr("Info"), tr("You have no permission to create folder in this group!"));
            }
            return false;
        }
    }

    if (!m_bAcceptRoot)
        return item->type() == Category_GroupNoTagItem || item->type() == Category_GroupItem;

    return item->type() == Category_GroupRootItem || item->type() == Category_GroupNoTagItem
            || item->type() == Category_GroupItem;
}
WIZTAGDATA CWizFolderSelector::selectedGroupFolder()
{
    QTreeWidgetItem* item = m_folderView->currentItem();
    if (item->type() == Category_GroupItem)
    {
        CWizCategoryViewGroupItem* p = dynamic_cast<CWizCategoryViewGroupItem*>(item);
        if (p)
        {
            return p->tag();
        }
    }
    else if (item->type() == Category_GroupNoTagItem || item->type() == Category_GroupRootItem)
    {
        CWizCategoryViewItemBase* p = dynamic_cast<CWizCategoryViewItemBase*>(item);
        if (p)
        {
            WIZTAGDATA tag;
            tag.strKbGUID = p->kbGUID();
            return tag;
        }
    }

    WIZTAGDATA tag;
    return tag;
}
QString CWizCategoryBaseView::selectedItemKbGUID()
{
    QList<QTreeWidgetItem*> items = selectedItems();
    if (!items.isEmpty()) {
        CWizCategoryViewItemBase* pItem = dynamic_cast<CWizCategoryViewItemBase*>(items.first());
        if (!pItem)
            return NULL;

        return pItem->kbGUID();
    }

    return NULL;
}