Skip to content

Commit 4347576

Browse files
committed
add ssh settings page
add settings to define devices
1 parent 3e75d5d commit 4347576

File tree

3 files changed

+110
-0
lines changed

3 files changed

+110
-0
lines changed

src/settingsdialog.cpp

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include "ui_flamegraphsettingspage.h"
1414
#include "ui_perfsettingspage.h"
1515
#include "ui_sourcepathsettings.h"
16+
#include "ui_sshsettingspage.h"
1617
#include "ui_unwindsettingspage.h"
1718

1819
#include "multiconfigwidget.h"
@@ -63,6 +64,7 @@ SettingsDialog::SettingsDialog(QWidget* parent)
6364
#if KGraphViewerPart_FOUND
6465
, callgraphPage(new Ui::CallgraphSettingsPage)
6566
#endif
67+
, sshSettingsPage(new Ui::SSHSettingsPage)
6668
{
6769
addPerfSettingsPage();
6870
addPathSettingsPage();
@@ -72,6 +74,7 @@ SettingsDialog::SettingsDialog(QWidget* parent)
7274
addCallgraphPage();
7375
#endif
7476
addSourcePathPage();
77+
// addSSHPage();
7578
}
7679

7780
SettingsDialog::~SettingsDialog() = default;
@@ -259,3 +262,19 @@ void SettingsDialog::addSourcePathPage()
259262
Settings::instance()->setSourceCodePaths(sourcePathPage->sourcePaths->items().join(colon));
260263
});
261264
}
265+
266+
void SettingsDialog::addSSHPage()
267+
{
268+
auto page = new QWidget(this);
269+
auto item = addPage(page, tr("SSH Settings"));
270+
item->setHeader(tr("SSH Settings Page"));
271+
item->setIcon(QIcon::fromTheme(QStringLiteral("preferences-system-windows-behavior")));
272+
sshSettingsPage->setupUi(page);
273+
274+
auto widget = new QWidget(this);
275+
auto settings = new Ui::DeviceSettings;
276+
settings->setupUi(widget);
277+
auto configGroup = KSharedConfig::openConfig()->group("SSH");
278+
sshSettingsPage->deviceConfig->setConfigGroup(configGroup.group("devices"));
279+
sshSettingsPage->deviceConfig->setChildWidget(widget);
280+
}

src/settingsdialog.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ class DebuginfodPage;
1919
class CallgraphSettingsPage;
2020
class SourcePathSettingsPage;
2121
class PerfSettingsPage;
22+
class SSHSettingsPage;
2223
}
2324

2425
class MultiConfigWidget;
@@ -50,11 +51,13 @@ class SettingsDialog : public KPageDialog
5051
void addDebuginfodPage();
5152
void addCallgraphPage();
5253
void addSourcePathPage();
54+
void addSSHPage();
5355

5456
std::unique_ptr<Ui::PerfSettingsPage> perfPage;
5557
std::unique_ptr<Ui::UnwindSettingsPage> unwindPage;
5658
std::unique_ptr<Ui::FlamegraphSettingsPage> flamegraphPage;
5759
std::unique_ptr<Ui::DebuginfodPage> debuginfodPage;
5860
std::unique_ptr<Ui::SourcePathSettingsPage> sourcePathPage;
5961
std::unique_ptr<Ui::CallgraphSettingsPage> callgraphPage;
62+
std::unique_ptr<Ui::SSHSettingsPage> sshSettingsPage;
6063
};

src/sshsettingspage.ui

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<ui version="4.0">
3+
<class>SSHSettingsPage</class>
4+
<widget class="QWidget" name="SSHSettingsPage">
5+
<property name="geometry">
6+
<rect>
7+
<x>0</x>
8+
<y>0</y>
9+
<width>400</width>
10+
<height>300</height>
11+
</rect>
12+
</property>
13+
<property name="windowTitle">
14+
<string>Form</string>
15+
</property>
16+
<layout class="QVBoxLayout" name="verticalLayout_2">
17+
<property name="spacing">
18+
<number>0</number>
19+
</property>
20+
<property name="leftMargin">
21+
<number>0</number>
22+
</property>
23+
<property name="topMargin">
24+
<number>0</number>
25+
</property>
26+
<property name="rightMargin">
27+
<number>0</number>
28+
</property>
29+
<property name="bottomMargin">
30+
<number>0</number>
31+
</property>
32+
<item>
33+
<widget class="MultiConfigWidget" name="deviceConfig" native="true"/>
34+
</item>
35+
<item>
36+
<widget class="Line" name="line">
37+
<property name="orientation">
38+
<enum>Qt::Horizontal</enum>
39+
</property>
40+
</widget>
41+
</item>
42+
<item>
43+
<widget class="QWidget" name="widget_2" native="true">
44+
<layout class="QFormLayout" name="formLayout_2">
45+
<property name="horizontalSpacing">
46+
<number>0</number>
47+
</property>
48+
<property name="verticalSpacing">
49+
<number>0</number>
50+
</property>
51+
<property name="leftMargin">
52+
<number>0</number>
53+
</property>
54+
<property name="topMargin">
55+
<number>0</number>
56+
</property>
57+
<property name="rightMargin">
58+
<number>0</number>
59+
</property>
60+
<property name="bottomMargin">
61+
<number>0</number>
62+
</property>
63+
<item row="0" column="0">
64+
<widget class="QLabel" name="label">
65+
<property name="text">
66+
<string>TextLabel</string>
67+
</property>
68+
</widget>
69+
</item>
70+
<item row="0" column="1">
71+
<widget class="QLineEdit" name="lineEdit"/>
72+
</item>
73+
</layout>
74+
</widget>
75+
</item>
76+
</layout>
77+
</widget>
78+
<customwidgets>
79+
<customwidget>
80+
<class>MultiConfigWidget</class>
81+
<extends>QWidget</extends>
82+
<header>multiconfigwidget.h</header>
83+
<container>1</container>
84+
</customwidget>
85+
</customwidgets>
86+
<resources/>
87+
<connections/>
88+
</ui>

0 commit comments

Comments
 (0)