[libraries/ktextaddons] textautogeneratetextmcpprotocol/widgets: Implement addmcpsteamablehttpserverheaderconfiguredialog
Laurent Montel <[email protected]>
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git commit 07a4693e8bbaf3bd7736ba2b76000ed56dcb01ae by Laurent Montel.
Committed on 10/08/2026 at 11:21.
Pushed by mlaurent into branch 'master'.
Implement addmcpsteamablehttpserverheaderconfiguredialog
M +2 -0 textautogeneratetextmcpprotocol/widgets/CMakeLists.txt
M +35 -0 textautogeneratetextmcpprotocol/widgets/server/addmcpsteamablehttpserverheaderconfiguredialog.cpp
M +7 -0 textautogeneratetextmcpprotocol/widgets/server/addmcpsteamablehttpserverheaderconfiguredialog.h
A +41 -0 textautogeneratetextmcpprotocol/widgets/server/addmcpsteamablehttpserverheaderconfigurewidget.cpp [License: GPL(v2.0+)]
A +25 -0 textautogeneratetextmcpprotocol/widgets/server/addmcpsteamablehttpserverheaderconfigurewidget.h [License: GPL(v2.0+)]
https://invent.kde.org/libraries/ktextaddons/-/commit/07a4693e8bbaf3bd7736ba2b76000ed56dcb01ae
diff --git a/textautogeneratetextmcpprotocol/widgets/CMakeLists.txt b/textautogeneratetextmcpprotocol/widgets/CMakeLists.txt
index 8e8993714..4cbd3614a 100644
--- a/textautogeneratetextmcpprotocol/widgets/CMakeLists.txt
+++ b/textautogeneratetextmcpprotocol/widgets/CMakeLists.txt
@@ -59,6 +59,8 @@ target_sources(
server/addmcpsteamablehttpserverheaderlistwidget.cpp
server/addmcpsteamablehttpserverheaderconfiguredialog.h
server/addmcpsteamablehttpserverheaderconfiguredialog.cpp
+ server/addmcpsteamablehttpserverheaderconfigurewidget.h
+ server/addmcpsteamablehttpserverheaderconfigurewidget.cpp
common/selecttypecombobox.h
common/selecttypecombobox.cpp
)
diff --git a/textautogeneratetextmcpprotocol/widgets/server/addmcpsteamablehttpserverheaderconfiguredialog.cpp b/textautogeneratetextmcpprotocol/widgets/server/addmcpsteamablehttpserverheaderconfiguredialog.cpp
index 798957a53..1965f34de 100644
--- a/textautogeneratetextmcpprotocol/widgets/server/addmcpsteamablehttpserverheaderconfiguredialog.cpp
+++ b/textautogeneratetextmcpprotocol/widgets/server/addmcpsteamablehttpserverheaderconfiguredialog.cpp
@@ -5,11 +5,46 @@
*/
#include "addmcpsteamablehttpserverheaderconfiguredialog.h"
+#include "server/addmcpsteamablehttpserverheaderconfigurewidget.h"
+#include <KLocalizedString>
+#include <QDialogButtonBox>
+#include <QPushButton>
+#include <QVBoxLayout>
using namespace TextAutoGenerateTextMcpProtocolWidgets;
+using namespace Qt::Literals::StringLiterals;
AddMcpSteamableHttpServerHeaderConfigureDialog::AddMcpSteamableHttpServerHeaderConfigureDialog(QWidget *parent)
: QDialog(parent)
+ , mAddMcpSteamableHttpServerHeaderConfigureWidget(new AddMcpSteamableHttpServerHeaderConfigureWidget(this))
{
+ setWindowTitle(i18nc("@title:window", "Add Custom Header"));
+
+ auto mainLayout = new QVBoxLayout(this);
+ mainLayout->setObjectName(u"mainLayout"_s);
+ mAddMcpSteamableHttpServerHeaderConfigureWidget->setObjectName(u"mAddMcpSteamableHttpServerHeaderConfigureWidget"_s);
+ mainLayout->addWidget(mAddMcpSteamableHttpServerHeaderConfigureWidget);
+ auto button = new QDialogButtonBox(QDialogButtonBox::Cancel | QDialogButtonBox::Ok, this);
+ button->setObjectName(u"button"_s);
+ mainLayout->addWidget(button);
+ auto buttonOk = button->button(QDialogButtonBox::Ok);
+ buttonOk->setEnabled(false);
+ connect(button, &QDialogButtonBox::rejected, this, &AddMcpSteamableHttpServerHeaderConfigureDialog::reject);
+ connect(button, &QDialogButtonBox::accepted, this, &AddMcpSteamableHttpServerHeaderConfigureDialog::accept);
+ // TODO connect(mAddMcpServerWidget, &AddMcpServerWidget::buttonOkEnabled, this, [buttonOk](bool state) {
+ // TODO buttonOk->setEnabled(state);
+ // TODO });
}
AddMcpSteamableHttpServerHeaderConfigureDialog::~AddMcpSteamableHttpServerHeaderConfigureDialog() = default;
+
+void AddMcpSteamableHttpServerHeaderConfigureDialog::setHeader(const QString &str)
+{
+ mAddMcpSteamableHttpServerHeaderConfigureWidget->setHeader(str);
+}
+
+QString AddMcpSteamableHttpServerHeaderConfigureDialog::header() const
+{
+ return mAddMcpSteamableHttpServerHeaderConfigureWidget->header();
+}
+
+#include "moc_addmcpsteamablehttpserverheaderconfiguredialog.cpp"
diff --git a/textautogeneratetextmcpprotocol/widgets/server/addmcpsteamablehttpserverheaderconfiguredialog.h b/textautogeneratetextmcpprotocol/widgets/server/addmcpsteamablehttpserverheaderconfiguredialog.h
index 6cb2ac4a3..b13960356 100644
--- a/textautogeneratetextmcpprotocol/widgets/server/addmcpsteamablehttpserverheaderconfiguredialog.h
+++ b/textautogeneratetextmcpprotocol/widgets/server/addmcpsteamablehttpserverheaderconfiguredialog.h
@@ -10,11 +10,18 @@
#include "textautogeneratetextmcpprotocolwidgets_export.h"
namespace TextAutoGenerateTextMcpProtocolWidgets
{
+class AddMcpSteamableHttpServerHeaderConfigureWidget;
class TEXTAUTOGENERATETEXTMCPPROTOCOLWIDGETS_EXPORT AddMcpSteamableHttpServerHeaderConfigureDialog : public QDialog
{
Q_OBJECT
public:
explicit AddMcpSteamableHttpServerHeaderConfigureDialog(QWidget *parent = nullptr);
~AddMcpSteamableHttpServerHeaderConfigureDialog() override;
+
+ void setHeader(const QString &str);
+ [[nodiscard]] QString header() const;
+
+private:
+ AddMcpSteamableHttpServerHeaderConfigureWidget *const mAddMcpSteamableHttpServerHeaderConfigureWidget;
};
}
diff --git a/textautogeneratetextmcpprotocol/widgets/server/addmcpsteamablehttpserverheaderconfigurewidget.cpp b/textautogeneratetextmcpprotocol/widgets/server/addmcpsteamablehttpserverheaderconfigurewidget.cpp
new file mode 100644
index 000000000..ce88323c4
--- /dev/null
+++ b/textautogeneratetextmcpprotocol/widgets/server/addmcpsteamablehttpserverheaderconfigurewidget.cpp
@@ -0,0 +1,41 @@
+/*
+ SPDX-FileCopyrightText: 2026 Laurent Montel <[email protected]>
+
+ SPDX-License-Identifier: GPL-2.0-or-later
+*/
+#include "addmcpsteamablehttpserverheaderconfigurewidget.h"
+#include <KLineEditEventHandler>
+#include <KLocalizedString>
+#include <QHBoxLayout>
+#include <QLabel>
+#include <QLineEdit>
+
+using namespace TextAutoGenerateTextMcpProtocolWidgets;
+using namespace Qt::Literals::StringLiterals;
+AddMcpSteamableHttpServerHeaderConfigureWidget::AddMcpSteamableHttpServerHeaderConfigureWidget(QWidget *parent)
+ : QWidget{parent}
+ , mHeaderLineEdit(new QLineEdit(this))
+{
+ auto mainLayout = new QHBoxLayout(this);
+ mainLayout->setObjectName(u"mainLayout"_s);
+ mainLayout->setContentsMargins({});
+
+ mHeaderLineEdit->setObjectName(u"mHeaderLineEdit"_s);
+ mHeaderLineEdit->setPlaceholderText(i18nc("@info:placeholder", "Define Header…"));
+ mHeaderLineEdit->setClearButtonEnabled(true);
+ KLineEditEventHandler::catchReturnKey(mHeaderLineEdit);
+}
+
+AddMcpSteamableHttpServerHeaderConfigureWidget::~AddMcpSteamableHttpServerHeaderConfigureWidget() = default;
+
+void AddMcpSteamableHttpServerHeaderConfigureWidget::setHeader(const QString &str)
+{
+ mHeaderLineEdit->setText(str);
+}
+
+QString AddMcpSteamableHttpServerHeaderConfigureWidget::header() const
+{
+ return mHeaderLineEdit->text();
+}
+
+#include "moc_addmcpsteamablehttpserverheaderconfigurewidget.cpp"
diff --git a/textautogeneratetextmcpprotocol/widgets/server/addmcpsteamablehttpserverheaderconfigurewidget.h b/textautogeneratetextmcpprotocol/widgets/server/addmcpsteamablehttpserverheaderconfigurewidget.h
new file mode 100644
index 000000000..a6ab86efd
--- /dev/null
+++ b/textautogeneratetextmcpprotocol/widgets/server/addmcpsteamablehttpserverheaderconfigurewidget.h
@@ -0,0 +1,25 @@
+/*
+ SPDX-FileCopyrightText: 2026 Laurent Montel <[email protected]>
+
+ SPDX-License-Identifier: GPL-2.0-or-later
+*/
+#pragma once
+
+#include <QWidget>
+class QLineEdit;
+namespace TextAutoGenerateTextMcpProtocolWidgets
+{
+class AddMcpSteamableHttpServerHeaderConfigureWidget : public QWidget
+{
+ Q_OBJECT
+public:
+ explicit AddMcpSteamableHttpServerHeaderConfigureWidget(QWidget *parent = nullptr);
+ ~AddMcpSteamableHttpServerHeaderConfigureWidget() override;
+
+ void setHeader(const QString &str);
+ [[nodiscard]] QString header() const;
+
+private:
+ QLineEdit *const mHeaderLineEdit;
+};
+}