Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Plasma
KWin
Commits
09b1cea0
Commit
09b1cea0
authored
Feb 08, 2021
by
Alexander Lohnau
💬
Browse files
Port kwindecoration KCM to KNS QML components
parent
2d681965
Changes
3
Hide whitespace changes
Inline
Side-by-side
kcmkwin/kwindecoration/kcm.cpp
View file @
09b1cea0
...
...
@@ -23,8 +23,6 @@
#include
<QQuickWindow>
#include
<QSortFilterProxyModel>
#include
<KNewStuff3/KNS3/DownloadDialog>
#include
"kwindecorationdata.h"
#include
"kwindecorationsettings.h"
...
...
@@ -108,25 +106,6 @@ void KCMKWinDecoration::reloadKWinSettings()
QMetaObject
::
invokeMethod
(
m_themesModel
,
"init"
,
Qt
::
QueuedConnection
);
}
void
KCMKWinDecoration
::
getNewStuff
(
QQuickItem
*
context
)
{
if
(
!
m_newStuffDialog
)
{
m_newStuffDialog
=
new
KNS3
::
DownloadDialog
(
QStringLiteral
(
"window-decorations.knsrc"
));
m_newStuffDialog
->
setWindowTitle
(
i18n
(
"Download New Window Decorations"
));
m_newStuffDialog
->
setWindowModality
(
Qt
::
WindowModal
);
connect
(
m_newStuffDialog
,
&
KNS3
::
DownloadDialog
::
accepted
,
this
,
&
KCMKWinDecoration
::
load
);
}
if
(
context
&&
context
->
window
())
{
m_newStuffDialog
->
winId
();
// so it creates the windowHandle()
m_newStuffDialog
->
windowHandle
()
->
setTransientParent
(
context
->
window
());
}
connect
(
m_newStuffDialog
,
&
QDialog
::
finished
,
this
,
&
KCMKWinDecoration
::
reloadKWinSettings
);
m_newStuffDialog
->
show
();
}
void
KCMKWinDecoration
::
load
()
{
ManagedConfigModule
::
load
();
...
...
kcmkwin/kwindecoration/kcm.h
View file @
09b1cea0
...
...
@@ -16,11 +16,6 @@ class QAbstractItemModel;
class
QSortFilterProxyModel
;
class
QQuickItem
;
namespace
KNS3
{
class
DownloadDialog
;
}
namespace
KDecoration2
{
enum
class
BorderSize
;
...
...
@@ -71,8 +66,6 @@ public:
void
setBorderSize
(
KDecoration2
::
BorderSize
size
);
void
setTheme
(
int
index
);
Q_INVOKABLE
void
getNewStuff
(
QQuickItem
*
context
);
Q_SIGNALS:
void
themeChanged
();
void
buttonsChanged
();
...
...
@@ -83,11 +76,11 @@ public Q_SLOTS:
void
load
()
override
;
void
save
()
override
;
void
defaults
()
override
;
void
reloadKWinSettings
();
private
Q_SLOTS
:
void
onLeftButtonsChanged
();
void
onRightButtonsChanged
();
void
reloadKWinSettings
();
private:
bool
isSaveNeeded
()
const
override
;
...
...
@@ -102,8 +95,6 @@ private:
KDecoration2
::
Preview
::
ButtonsModel
*
m_rightButtonsModel
;
KDecoration2
::
Preview
::
ButtonsModel
*
m_availableButtonsModel
;
QPointer
<
KNS3
::
DownloadDialog
>
m_newStuffDialog
;
int
m_borderSizeIndex
=
-
1
;
KWinDecorationData
*
m_data
;
};
kcmkwin/kwindecoration/package/contents/ui/main.qml
View file @
09b1cea0
...
...
@@ -11,6 +11,7 @@ import QtQuick.Controls 2.4 as QQC2
import
org
.
kde
.
kcm
1.5
as
KCM
import
org
.
kde
.
kconfig
1.0
// for KAuthorized
import
org
.
kde
.
kirigami
2.4
as
Kirigami
import
org
.
kde
.
newstuff
1.62
as
NewStuff
Kirigami.Page
{
id
:
root
...
...
@@ -99,11 +100,13 @@ Kirigami.Page {
Item
{
Layout.fillWidth
:
true
}
QQC2.Button
{
NewStuff.Button
{
id
:
newstuffButton
text
:
i18nc
(
"
button text
"
,
"
Get New Window Decorations...
"
)
icon.name
:
"
get-hot-new-stuff
"
onClicked
:
kcm
.
getNewStuff
(
this
)
visible
:
KAuthorized
.
authorize
(
"
ghns
"
)
configFile
:
"
window-decorations.knsrc
"
onChangedEntriesChanged
:
kcm
.
reloadKWinSettings
()
}
}
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment