Add Window Thumbnail support
parent
d33c2afb81
commit
e1308f8b40
|
@ -71,6 +71,12 @@ int Compositing::animationSpeed() const
|
|||
return kwinConfig.readEntry("AnimationSpeed", 3);
|
||||
}
|
||||
|
||||
int Compositing::windowThumbnail() const
|
||||
{
|
||||
KConfigGroup kwinConfig(KSharedConfig::openConfig("kwinrc"), "Compositing");
|
||||
return kwinConfig.readEntry("HiddenPreviews", 5) - 4;
|
||||
}
|
||||
|
||||
CompositingType::CompositingType(QObject *parent)
|
||||
: QAbstractItemModel(parent) {
|
||||
|
||||
|
@ -179,7 +185,7 @@ int CompositingType::currentOpenGLType()
|
|||
return currentIndex;
|
||||
}
|
||||
|
||||
void CompositingType::syncConfig(int openGLType, int animationSpeed)
|
||||
void CompositingType::syncConfig(int openGLType, int animationSpeed, int windowThumbnail)
|
||||
{
|
||||
QString backend;
|
||||
bool glLegacy;
|
||||
|
@ -214,6 +220,7 @@ void CompositingType::syncConfig(int openGLType, int animationSpeed)
|
|||
kwinConfig.writeEntry("GLLegacy", glLegacy);
|
||||
kwinConfig.writeEntry("GLCore", glCore);
|
||||
kwinConfig.writeEntry("AnimationSpeed", animationSpeed);
|
||||
kwinConfig.writeEntry("HiddenPreviews", windowThumbnail + 4);
|
||||
kwinConfig.sync();
|
||||
}
|
||||
|
||||
|
|
|
@ -33,12 +33,14 @@ class Compositing : public QObject
|
|||
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(int animationSpeed READ animationSpeed CONSTANT);
|
||||
Q_PROPERTY(int windowThumbnail READ windowThumbnail CONSTANT);
|
||||
public:
|
||||
explicit Compositing(QObject *parent = 0);
|
||||
|
||||
Q_INVOKABLE bool OpenGLIsUnsafe() const;
|
||||
Q_INVOKABLE bool OpenGLIsBroken();
|
||||
int animationSpeed() const;
|
||||
int windowThumbnail() const;
|
||||
|
||||
private:
|
||||
|
||||
|
@ -82,7 +84,7 @@ public:
|
|||
virtual QHash< int, QByteArray > roleNames() const override;
|
||||
|
||||
Q_INVOKABLE int currentOpenGLType();
|
||||
Q_INVOKABLE void syncConfig(int openGLType, int animationSpeed);
|
||||
Q_INVOKABLE void syncConfig(int openGLType, int animationSpeed, int windowThumbnail);
|
||||
|
||||
private:
|
||||
void generateCompositing();
|
||||
|
|
|
@ -95,6 +95,29 @@ Item {
|
|||
}
|
||||
}
|
||||
|
||||
Label {
|
||||
id: windowThumbnailText
|
||||
text: i18n("Keep Window Thumbnails:")
|
||||
anchors {
|
||||
top: animationSpeed.bottom
|
||||
horizontalCenter: windowManagement.horizontalCenter
|
||||
topMargin: 20
|
||||
}
|
||||
}
|
||||
|
||||
ComboBox {
|
||||
id: windowThumbnail
|
||||
model: [i18n("Always (Breaks Animations)"), i18n("Only for Shown Windows"), i18n("Never")]
|
||||
currentIndex: compositing.windowThumbnail
|
||||
Layout.fillWidth: true
|
||||
anchors {
|
||||
top: windowThumbnailText.bottom
|
||||
left: col.right
|
||||
right: parent.right
|
||||
}
|
||||
onCurrentIndexChanged: apply.enabled = true;
|
||||
}
|
||||
|
||||
ColumnLayout {
|
||||
id: col
|
||||
height: parent.height
|
||||
|
@ -174,7 +197,7 @@ Item {
|
|||
onClicked: {
|
||||
searchModel.syncConfig();
|
||||
apply.enabled = false;
|
||||
compositingType.syncConfig(openGLType.currentIndex, animationSpeed.value);
|
||||
compositingType.syncConfig(openGLType.currentIndex, animationSpeed.value, windowThumbnail.currentIndex);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue