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

Method showIndexingWidget

src/plugins/chat/chatmanager.cpp:518–558  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

516}
517
518void ChatManager::showIndexingWidget()
519{
520 emit chatFinished();
521
522 auto widget = new QWidget; // set parent in messageComponent
523 auto layout = new QVBoxLayout(widget);
524
525 const QString tip(tr("This project has not yet established a file index, @codebase wont`t work directly. Confirm whether to create one now."));
526 auto label = new QLabel(tip, widget);
527 label->setWordWrap(true);
528 layout->addWidget(label);
529
530 auto confirmBtn = new QPushButton(tr("Confirm"), widget);
531 layout->addWidget(confirmBtn);
532
533 using DTK_WIDGET_NAMESPACE::DSpinner;
534 auto spinner = new DSpinner(widget);
535 spinner->setFixedSize(16, 16);
536 spinner->hide();
537
538 using dpfservice::ProjectService;
539 ProjectService *prjServ = dpfGetService(ProjectService);
540 auto currentProject = prjServ->getActiveProjectInfo().workspaceFolder();
541 connect(confirmBtn, &QPushButton::clicked, widget, [=]() {
542 generateRag(currentProject);
543 layout->addWidget(new QLabel(tr("It may take servel minutes"), widget));
544 layout->addWidget(spinner);
545 spinner->show();
546 spinner->start();
547 confirmBtn->setEnabled(false);
548 });
549
550 connect(this, &ChatManager::generateDone, spinner, [=](const QString &path, bool failed) {
551 if (path == currentProject)
552 spinner->hide();
553 QString text = failed ? tr("Indexing Failed") : tr("Indexing Done");
554 layout->addWidget(new QLabel(text, widget));
555 });
556
557 emit showCustomWidget(widget);
558}
559
560void ChatManager::installConda()
561{

Callers

nothing calls this directly

Calls 8

connectFunction · 0.85
setFixedSizeMethod · 0.80
addWidgetMethod · 0.45
hideMethod · 0.45
getActiveProjectInfoMethod · 0.45
showMethod · 0.45
startMethod · 0.45
setEnabledMethod · 0.45

Tested by

no test coverage detected