void VDirectoryTree::handleItemCollapsed(QTreeWidgetItem *p_item) { if (p_item) { VDirectory *dir = getVDirectory(p_item); dir->setExpanded(false); } }
void VDirectoryTree::handleItemExpanded(QTreeWidgetItem *p_item) { if (p_item) { buildChildren(p_item); VDirectory *dir = getVDirectory(p_item); dir->setExpanded(true); } }
void VDirectoryTree::reloadFromDisk() { if (!m_notebook) { return; } QString msg; QString info; VDirectory *curDir = NULL; QTreeWidgetItem *curItem = currentItem(); if (curItem) { // Reload current directory. curDir = getVDirectory(curItem); info = tr("Are you sure to reload folder <span style=\"%1\">%2</span>?") .arg(g_config->c_dataTextStyle).arg(curDir->getName()); msg = tr("Folder %1 reloaded from disk").arg(curDir->getName()); } else { // Reload notebook. info = tr("Are you sure to reload notebook <span style=\"%1\">%2</span>?") .arg(g_config->c_dataTextStyle).arg(m_notebook->getName()); msg = tr("Notebook %1 reloaded from disk").arg(m_notebook->getName()); } if (g_config->getConfirmReloadFolder()) { int ret = VUtils::showMessage(QMessageBox::Information, tr("Information"), info, tr("VNote will close all the related notes before reload."), QMessageBox::Ok | QMessageBox::YesToAll | QMessageBox::Cancel, QMessageBox::Ok, this); switch (ret) { case QMessageBox::YesToAll: g_config->setConfirmReloadFolder(false); // Fall through. case QMessageBox::Ok: break; case QMessageBox::Cancel: return; default: return; } } m_notebookCurrentDirMap.remove(m_notebook); if (curItem) { if (!m_editArea->closeFile(curDir, false)) { return; } setCurrentItem(NULL); curItem->setExpanded(false); curDir->setExpanded(false); curDir->close(); // Remove all its children. QList<QTreeWidgetItem *> children = curItem->takeChildren(); for (int i = 0; i < children.size(); ++i) { delete children[i]; } buildSubTree(curItem, 1); setCurrentItem(curItem); } else { if (!m_editArea->closeFile(m_notebook, false)) { return; } m_notebook->close(); if (!m_notebook->open()) { VUtils::showMessage(QMessageBox::Warning, tr("Warning"), tr("Fail to open notebook <span style=\"%1\">%2</span>.") .arg(g_config->c_dataTextStyle).arg(m_notebook->getName()), tr("Please check if path <span style=\"%1\">%2</span> exists.") .arg(g_config->c_dataTextStyle).arg(m_notebook->getPath()), QMessageBox::Ok, QMessageBox::Ok, this); clear(); return; } updateDirectoryTree(); } if (!msg.isEmpty()) { g_mainWin->showStatusMessage(msg); } }