[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;
+};
+}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.