mirror of
https://gitee.com/vnotex/vnote.git
synced 2025-07-05 13:59:52 +08:00
add ExpandAll to node explorer
This commit is contained in:
parent
9c9983411f
commit
c442892b59
@ -24,7 +24,7 @@
|
|||||||
using namespace vnotex;
|
using namespace vnotex;
|
||||||
|
|
||||||
#ifndef QT_NO_DEBUG
|
#ifndef QT_NO_DEBUG
|
||||||
#define VX_DEBUG_WEB
|
// #define VX_DEBUG_WEB
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const QString ConfigMgr::c_orgName = "VNote";
|
const QString ConfigMgr::c_orgName = "VNote";
|
||||||
|
@ -793,6 +793,11 @@ void NotebookNodeExplorer::createContextMenuOnNode(QMenu *p_menu, const Node *p_
|
|||||||
act = createAction(Action::Open, p_menu);
|
act = createAction(Action::Open, p_menu);
|
||||||
p_menu->addAction(act);
|
p_menu->addAction(act);
|
||||||
|
|
||||||
|
if (selectedSize == 1 && p_node->isContainer()) {
|
||||||
|
act = createAction(Action::ExpandAll, p_menu);
|
||||||
|
p_menu->addAction(act);
|
||||||
|
}
|
||||||
|
|
||||||
p_menu->addSeparator();
|
p_menu->addSeparator();
|
||||||
|
|
||||||
act = createAction(Action::Cut, p_menu);
|
act = createAction(Action::Cut, p_menu);
|
||||||
@ -822,6 +827,11 @@ void NotebookNodeExplorer::createContextMenuOnNode(QMenu *p_menu, const Node *p_
|
|||||||
act = createAction(Action::Open, p_menu);
|
act = createAction(Action::Open, p_menu);
|
||||||
p_menu->addAction(act);
|
p_menu->addAction(act);
|
||||||
|
|
||||||
|
if (selectedSize == 1 && p_node->isContainer()) {
|
||||||
|
act = createAction(Action::ExpandAll, p_menu);
|
||||||
|
p_menu->addAction(act);
|
||||||
|
}
|
||||||
|
|
||||||
p_menu->addSeparator();
|
p_menu->addSeparator();
|
||||||
|
|
||||||
act = createAction(Action::NewNote, p_menu);
|
act = createAction(Action::NewNote, p_menu);
|
||||||
@ -1139,6 +1149,12 @@ QAction *NotebookNodeExplorer::createAction(Action p_act, QObject *p_parent)
|
|||||||
connect(act, &QAction::triggered,
|
connect(act, &QAction::triggered,
|
||||||
this, &NotebookNodeExplorer::openSelectedNodes);
|
this, &NotebookNodeExplorer::openSelectedNodes);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case Action::ExpandAll:
|
||||||
|
act = new QAction(tr("&Expand All\t*"), p_parent);
|
||||||
|
connect(act, &QAction::triggered,
|
||||||
|
this, &NotebookNodeExplorer::expandCurrentNodeAll);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return act;
|
return act;
|
||||||
@ -1831,3 +1847,34 @@ bool NotebookNodeExplorer::checkInvalidNode(const Node *p_node) const
|
|||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void NotebookNodeExplorer::expandCurrentNodeAll()
|
||||||
|
{
|
||||||
|
auto item = m_masterExplorer->currentItem();
|
||||||
|
if (!item || item->childCount() == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
auto data = getItemNodeData(item);
|
||||||
|
if (!data.isNode()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
expandItemRecursively(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
void NotebookNodeExplorer::expandItemRecursively(QTreeWidgetItem *p_item)
|
||||||
|
{
|
||||||
|
if (!p_item) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
p_item->setExpanded(true);
|
||||||
|
const int cnt = p_item->childCount();
|
||||||
|
if (cnt == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < cnt; ++i) {
|
||||||
|
expandItemRecursively(p_item->child(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -148,7 +148,8 @@ namespace vnotex
|
|||||||
Reload,
|
Reload,
|
||||||
ReloadIndex,
|
ReloadIndex,
|
||||||
ImportToConfig,
|
ImportToConfig,
|
||||||
Open
|
Open,
|
||||||
|
ExpandAll
|
||||||
};
|
};
|
||||||
|
|
||||||
void setupUI();
|
void setupUI();
|
||||||
@ -257,6 +258,10 @@ namespace vnotex
|
|||||||
// Return true if it is invalid.
|
// Return true if it is invalid.
|
||||||
bool checkInvalidNode(const Node *p_node) const;
|
bool checkInvalidNode(const Node *p_node) const;
|
||||||
|
|
||||||
|
void expandCurrentNodeAll();
|
||||||
|
|
||||||
|
void expandItemRecursively(QTreeWidgetItem *p_item);
|
||||||
|
|
||||||
static NotebookNodeExplorer::NodeData getItemNodeData(const QTreeWidgetItem *p_item);
|
static NotebookNodeExplorer::NodeData getItemNodeData(const QTreeWidgetItem *p_item);
|
||||||
|
|
||||||
static void setItemNodeData(QTreeWidgetItem *p_item, const NodeData &p_data);
|
static void setItemNodeData(QTreeWidgetItem *p_item, const NodeData &p_data);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user