- } else if (!m_konsolePartMissingMessage) {
- const auto konsoleInstallUrl = QUrl("appstream://org.kde.konsole.desktop");
- const auto konsoleNotInstalledText = i18n(
- "Terminal cannot be shown because Konsole is not installed. "
- "Please install it and then reopen the panel.");
- m_konsolePartMissingMessage = new KMessageWidget(konsoleNotInstalledText, this);
- m_konsolePartMissingMessage->setCloseButtonVisible(false);
- m_konsolePartMissingMessage->hide();
- if (KIO::DesktopExecParser::hasSchemeHandler(konsoleInstallUrl)) {
- auto installKonsoleAction = new QAction(i18n("Install Konsole"), this);
- connect(installKonsoleAction, &QAction::triggered, [konsoleInstallUrl]() {
- QDesktopServices::openUrl(konsoleInstallUrl);
- });
- m_konsolePartMissingMessage->addAction(installKonsoleAction);
- }
- m_layout->addWidget(m_konsolePartMissingMessage);
- m_layout->addStretch();
- QTimer::singleShot(0, m_konsolePartMissingMessage, &KMessageWidget::animatedShow);