| 36 | }; |
| 37 | |
| 38 | Runner::Runner(QObject *parent) |
| 39 | : QObject(parent) |
| 40 | , d(new RunnerPrivate()) |
| 41 | { |
| 42 | connect(debuggerSignals, &DebuggerSignals::receivedEvent, this, &Runner::handleEvents); |
| 43 | |
| 44 | d->runAction.reset(new QAction(MWMDA_RUNNING)); |
| 45 | d->runAction.get()->setIcon(QIcon::fromTheme("run")); |
| 46 | connect(d->runAction.get(), &QAction::triggered, this, &Runner::run); |
| 47 | |
| 48 | auto cmd = ActionManager::instance()->registerAction(d->runAction.get(), "Debug.Running"); |
| 49 | cmd->setDefaultKeySequence(Qt::Modifier::CTRL | Qt::Key::Key_F5); |
| 50 | WindowService *service = dpfGetService(WindowService); |
| 51 | service->addTopToolItem(cmd, false, Priority::high); |
| 52 | |
| 53 | d->runProgram = new DComboBox; |
| 54 | d->runProgram->setFixedSize(200, 36); |
| 55 | d->runProgram->setIconSize(QSize(16, 16)); |
| 56 | |
| 57 | auto pal = d->runProgram->palette(); |
| 58 | pal.setColor(QPalette::Light, pal.color(QPalette::Base)); |
| 59 | pal.setColor(QPalette::Dark, pal.color(QPalette::Base)); |
| 60 | d->runProgram->setPalette(pal); |
| 61 | |
| 62 | connect(DGuiApplicationHelper::instance(), &DGuiApplicationHelper::themeTypeChanged, this, [=](){ |
| 63 | auto pal = d->runProgram->palette(); |
| 64 | pal.setColor(QPalette::Light, pal.color(QPalette::Base)); |
| 65 | pal.setColor(QPalette::Dark, pal.color(QPalette::Base)); |
| 66 | d->runProgram->setPalette(pal); |
| 67 | }); |
| 68 | |
| 69 | DWidget *spacer = new DWidget(d->runProgram); |
| 70 | spacer->setFixedWidth(10); |
| 71 | |
| 72 | service->addWidgetToTopTool(new AbstractWidget(spacer), false, true, Priority::highest + 1); |
| 73 | service->addWidgetToTopTool(new AbstractWidget(d->runProgram), false, true, Priority::highest); |
| 74 | connect(d->runProgram, &DComboBox::currentTextChanged, this, [=](const QString &text){ |
| 75 | auto prjInfo = getActiveProjectInfo(); |
| 76 | prjInfo.setCurrentProgram(text); |
| 77 | dpfGetService(ProjectService)->updateProjectInfo(prjInfo); |
| 78 | project.projectUpdated(prjInfo); |
| 79 | }); |
| 80 | } |
| 81 | |
| 82 | Runner::~Runner() |
| 83 | { |
nothing calls this directly
no test coverage detected