MCPcopy Create free account
hub / github.com/Codeya-IDE/deepin-ide / showWorkspace

Method showWorkspace

src/plugins/core/uicontroller/controller.cpp:1239–1290  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1237}
1238
1239void Controller::showWorkspace()
1240{
1241 auto &workSpaceInfo = d->allWidgets[WN_WORKSPACE];
1242 if (!workSpaceInfo.created) {
1243 createDockWidget(d->allWidgets[WN_WORKSPACE]);
1244 d->mainWindow->showWidget(WN_WORKSPACE);
1245 d->mainWindow->resizeDock(WN_WORKSPACE, QSize(300, 300));
1246
1247 for (auto btn : d->workspace->getAllToolBtn())
1248 d->mainWindow->addWidgetToDockHeader(WN_WORKSPACE, btn);
1249
1250 DToolButton *expandAll = new DToolButton(d->workspace);
1251 expandAll->setToolTip(tr("Expand All"));
1252 expandAll->setIcon(QIcon::fromTheme("expand_all"));
1253 d->mainWindow->addWidgetToDockHeader(WN_WORKSPACE, expandAll);
1254 connect(expandAll, &DToolButton::clicked, this, []() { workspace.expandAll(); });
1255
1256 DToolButton *foldAll = new DToolButton(d->workspace);
1257 foldAll->setToolTip(tr("Fold All"));
1258 foldAll->setIcon(QIcon::fromTheme("collapse_all"));
1259 d->mainWindow->addWidgetToDockHeader(WN_WORKSPACE, foldAll);
1260 connect(foldAll, &DToolButton::clicked, this, []() { workspace.foldAll(); });
1261
1262 expandAll->setVisible(d->workspace->getCurrentExpandState());
1263 foldAll->setVisible(d->workspace->getCurrentExpandState());
1264
1265 auto titles = d->workspace->allWidgetTitles();
1266 QList<QAction *> headers;
1267 for (auto title : titles) {
1268 QAction *action = new QAction(title, d->workspace);
1269 connect(action, &QAction::triggered, this, [=]() { d->workspace->switchWidgetWorkspace(title); });
1270 headers.append(action);
1271 }
1272 d->mainWindow->setDockHeaderList(WN_WORKSPACE, headers);
1273 d->mainWindow->setDockHeaderName(WN_WORKSPACE, d->workspace->currentTitle());
1274
1275 connect(d->workspace, &WorkspaceWidget::expandStateChange, this, [=](bool canExpand) {
1276 expandAll->setVisible(canExpand);
1277 foldAll->setVisible(canExpand);
1278 });
1279
1280 d->workspace->addedToController = true;
1281 bindWidgetToNavigation(WN_WORKSPACE, new AbstractAction(d->navigationActions[MWNA_EDIT]));
1282
1283 connect(d->workspace, &WorkspaceWidget::workSpaceWidgeSwitched, this, [=](const QString &title) {
1284 d->mainWindow->setDockHeaderName(WN_WORKSPACE, title);
1285 });
1286 } else {
1287 d->mainWindow->showWidget(WN_WORKSPACE);
1288 }
1289 d->currentDocks.append(WN_WORKSPACE);
1290}
1291
1292DToolButton *Controller::createIconButton(QAction *action)
1293{

Callers

nothing calls this directly

Calls 15

connectFunction · 0.85
showWidgetMethod · 0.80
resizeDockMethod · 0.80
getAllToolBtnMethod · 0.80
addWidgetToDockHeaderMethod · 0.80
foldAllMethod · 0.80
setVisibleMethod · 0.80
getCurrentExpandStateMethod · 0.80
allWidgetTitlesMethod · 0.80
switchWidgetWorkspaceMethod · 0.80
currentTitleMethod · 0.80
setIconMethod · 0.45

Tested by

no test coverage detected