[kcm-kwinrules] Add option for window decoration scheme
This commit is contained in:
parent
49cf996aa7
commit
affa7da944
3 changed files with 194 additions and 131 deletions
|
@ -21,8 +21,10 @@
|
|||
#include <klineedit.h>
|
||||
#include <krestrictedline.h>
|
||||
#include <kcombobox.h>
|
||||
#include <kcolorschememanager.h>
|
||||
#include <QCheckBox>
|
||||
#include <kpushbutton.h>
|
||||
#include <QFileInfo>
|
||||
#include <QLabel>
|
||||
#include <kwindowsystem.h>
|
||||
#include <KDE/KLocalizedString>
|
||||
|
@ -102,6 +104,7 @@ RulesWidget::RulesWidget(QWidget* parent)
|
|||
SETUP(above, set);
|
||||
SETUP(below, set);
|
||||
SETUP(noborder, set);
|
||||
SETUP(decocolor, force);
|
||||
SETUP(skiptaskbar, set);
|
||||
SETUP(skippager, set);
|
||||
SETUP(skipswitcher, set);
|
||||
|
@ -152,6 +155,9 @@ RulesWidget::RulesWidget(QWidget* parent)
|
|||
activity->addItem(i18n("All Activities"), QString::fromLatin1(NULL_UUID));
|
||||
#undef NULL_UUID
|
||||
#endif
|
||||
|
||||
KColorSchemeManager *schemes = new KColorSchemeManager(this);
|
||||
decocolor->setModel(schemes->model());
|
||||
}
|
||||
|
||||
#undef SETUP
|
||||
|
@ -181,6 +187,7 @@ UPDATE_ENABLE_SLOT(placement)
|
|||
UPDATE_ENABLE_SLOT(above)
|
||||
UPDATE_ENABLE_SLOT(below)
|
||||
UPDATE_ENABLE_SLOT(noborder)
|
||||
UPDATE_ENABLE_SLOT(decocolor)
|
||||
UPDATE_ENABLE_SLOT(skiptaskbar)
|
||||
UPDATE_ENABLE_SLOT(skippager)
|
||||
UPDATE_ENABLE_SLOT(skipswitcher)
|
||||
|
@ -456,6 +463,21 @@ void RulesWidget::setRules(Rules* rules)
|
|||
CHECKBOX_SET_RULE(above,);
|
||||
CHECKBOX_SET_RULE(below,);
|
||||
CHECKBOX_SET_RULE(noborder,);
|
||||
auto decoColorToCombo = [this](const QString &value) {
|
||||
for (int i = 0; i < decocolor->count(); ++i) {
|
||||
if (decocolor->itemData(i).toString() == value) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
// search for Oxygen
|
||||
for (int i = 0; i < decocolor->count(); ++i) {
|
||||
if (QFileInfo(decocolor->itemData(i).toString()).baseName() == QStringLiteral("Oxygen")) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
};
|
||||
COMBOBOX_FORCE_RULE(decocolor, decoColorToCombo);
|
||||
CHECKBOX_SET_RULE(skiptaskbar,);
|
||||
CHECKBOX_SET_RULE(skippager,);
|
||||
CHECKBOX_SET_RULE(skipswitcher,);
|
||||
|
@ -555,6 +577,10 @@ Rules* RulesWidget::rules() const
|
|||
CHECKBOX_SET_RULE(above,);
|
||||
CHECKBOX_SET_RULE(below,);
|
||||
CHECKBOX_SET_RULE(noborder,);
|
||||
auto comboToDecocolor = [this](int index) -> QString {
|
||||
return QFileInfo(decocolor->itemData(index).toString()).baseName();
|
||||
};
|
||||
COMBOBOX_FORCE_RULE(decocolor, comboToDecocolor);
|
||||
CHECKBOX_SET_RULE(skiptaskbar,);
|
||||
CHECKBOX_SET_RULE(skippager,);
|
||||
CHECKBOX_SET_RULE(skipswitcher,);
|
||||
|
|
|
@ -73,6 +73,7 @@ private Q_SLOTS:
|
|||
void updateEnableabove();
|
||||
void updateEnablebelow();
|
||||
void updateEnablenoborder();
|
||||
void updateEnabledecocolor();
|
||||
void updateEnableskiptaskbar();
|
||||
void updateEnableskippager();
|
||||
void updateEnableskipswitcher();
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="textLabel1">
|
||||
<property name="text">
|
||||
<string>De&scription:</string>
|
||||
<string>&Description:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
|
@ -106,7 +106,7 @@
|
|||
<item row="6" column="0">
|
||||
<widget class="QLabel" name="textLabel3">
|
||||
<property name="text">
|
||||
<string>Window &role:</string>
|
||||
<string>Window ro&le:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
|
@ -1902,7 +1902,36 @@ like your complete screen area.</string>
|
|||
<string>Appearance && &Fixes</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="22" column="1" rowspan="2">
|
||||
<item row="11" column="5" rowspan="2" colspan="2">
|
||||
<widget class="YesNoBox" name="acceptfocus" native="true">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="2" rowspan="2" colspan="3">
|
||||
<widget class="KComboBox" name="rule_opacityactive">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Do Not Affect</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force Temporarily</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="23" column="1" rowspan="2">
|
||||
<widget class="QCheckBox" name="enable_blockcompositing">
|
||||
<property name="text">
|
||||
<string>Block compositing</string>
|
||||
|
@ -1953,21 +1982,21 @@ like your complete screen area.</string>
|
|||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1" rowspan="2" colspan="6">
|
||||
<item row="2" column="1" rowspan="2" colspan="6">
|
||||
<widget class="Line" name="line_9">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<item row="4" column="1">
|
||||
<widget class="QCheckBox" name="enable_opacityactive">
|
||||
<property name="text">
|
||||
<string>A&ctive opacity</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="0" rowspan="3">
|
||||
<item row="10" column="0" rowspan="3">
|
||||
<spacer name="horizontalSpacer_10">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
|
@ -1980,29 +2009,7 @@ like your complete screen area.</string>
|
|||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="2" column="2" rowspan="2" colspan="3">
|
||||
<widget class="KComboBox" name="rule_opacityactive">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Do Not Affect</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force Temporarily</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="5" colspan="2">
|
||||
<item row="4" column="5" colspan="2">
|
||||
<widget class="QSpinBox" name="opacityactive">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
|
@ -2018,14 +2025,14 @@ like your complete screen area.</string>
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<item row="5" column="1">
|
||||
<widget class="QCheckBox" name="enable_opacityinactive">
|
||||
<property name="text">
|
||||
<string>I&nactive opacity</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="2" colspan="3">
|
||||
<item row="5" column="2" colspan="3">
|
||||
<widget class="KComboBox" name="rule_opacityinactive">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
|
@ -2047,7 +2054,7 @@ like your complete screen area.</string>
|
|||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="5" colspan="2">
|
||||
<item row="5" column="5" colspan="2">
|
||||
<widget class="QSpinBox" name="opacityinactive">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
|
@ -2063,7 +2070,7 @@ like your complete screen area.</string>
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="3">
|
||||
<item row="9" column="3">
|
||||
<spacer name="verticalSpacer_9">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
|
@ -2079,7 +2086,7 @@ like your complete screen area.</string>
|
|||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="10" column="1" rowspan="2">
|
||||
<item row="11" column="1" rowspan="2">
|
||||
<widget class="QCheckBox" name="enable_acceptfocus">
|
||||
<property name="toolTip">
|
||||
<string>Windows may prevent to get the focus (activate) when being clicked.
|
||||
|
@ -2091,7 +2098,7 @@ from getting focused on a mouse click.</string>
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="10" column="2" rowspan="2" colspan="3">
|
||||
<item row="11" column="2" rowspan="2" colspan="3">
|
||||
<widget class="KComboBox" name="rule_acceptfocus">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
|
@ -2113,14 +2120,14 @@ from getting focused on a mouse click.</string>
|
|||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="10" column="5" rowspan="2" colspan="2">
|
||||
<widget class="YesNoBox" name="acceptfocus" native="true">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
<item row="14" column="1" rowspan="3" colspan="6">
|
||||
<widget class="Line" name="line_6">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="12" column="1">
|
||||
<item row="13" column="1">
|
||||
<widget class="QCheckBox" name="enable_disableglobalshortcuts">
|
||||
<property name="toolTip">
|
||||
<string>When used, a window will receive
|
||||
|
@ -2140,7 +2147,7 @@ while it's active!</string>
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="12" column="2" colspan="3">
|
||||
<item row="13" column="2" colspan="3">
|
||||
<widget class="KComboBox" name="rule_disableglobalshortcuts">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
|
@ -2162,35 +2169,35 @@ while it's active!</string>
|
|||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="13" column="1" rowspan="3" colspan="6">
|
||||
<widget class="Line" name="line_6">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="16" column="5" rowspan="2" colspan="2">
|
||||
<widget class="YesNoBox" name="closeable" native="true">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="16" column="1" rowspan="2">
|
||||
<item row="17" column="1" rowspan="2">
|
||||
<widget class="QCheckBox" name="enable_closeable">
|
||||
<property name="text">
|
||||
<string>&Closeable</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="18" column="1">
|
||||
<item row="19" column="1">
|
||||
<widget class="QCheckBox" name="enable_type">
|
||||
<property name="text">
|
||||
<string>Window &type</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="18" column="2" colspan="3">
|
||||
<item row="17" column="5" rowspan="2" colspan="2">
|
||||
<widget class="YesNoBox" name="closeable" native="true">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="20" column="1" rowspan="3" colspan="6">
|
||||
<widget class="Line" name="line_7">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="19" column="2" colspan="3">
|
||||
<widget class="KComboBox" name="rule_type">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
|
@ -2212,7 +2219,7 @@ while it's active!</string>
|
|||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="18" column="5" colspan="2">
|
||||
<item row="19" column="5" colspan="2">
|
||||
<widget class="KComboBox" name="type">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
|
@ -2264,7 +2271,7 @@ while it's active!</string>
|
|||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="3">
|
||||
<item row="7" column="3">
|
||||
<spacer name="verticalSpacer_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
|
@ -2280,21 +2287,21 @@ while it's active!</string>
|
|||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="19" column="1" rowspan="3" colspan="6">
|
||||
<widget class="Line" name="line_7">
|
||||
<item row="8" column="0" colspan="8">
|
||||
<widget class="Line" name="line_15">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="22" column="5" rowspan="2" colspan="2">
|
||||
<item row="23" column="5" rowspan="2" colspan="2">
|
||||
<widget class="YesNoBox" name="blockcompositing" native="true">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="24" column="2" colspan="2">
|
||||
<item row="25" column="2" colspan="2">
|
||||
<spacer name="verticalSpacer_5">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
|
@ -2307,14 +2314,14 @@ while it's active!</string>
|
|||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="12" column="5" colspan="2">
|
||||
<item row="13" column="5" colspan="2">
|
||||
<widget class="YesNoBox" name="disableglobalshortcuts" native="true">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="7" rowspan="3">
|
||||
<item row="10" column="7" rowspan="3">
|
||||
<spacer name="horizontalSpacer_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
|
@ -2327,13 +2334,6 @@ while it's active!</string>
|
|||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="7" column="0" colspan="8">
|
||||
<widget class="Line" name="line_15">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="5" colspan="2">
|
||||
<widget class="YesNoBox" name="noborder" native="true">
|
||||
<property name="enabled">
|
||||
|
@ -2341,7 +2341,7 @@ while it's active!</string>
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="16" column="2" rowspan="2" colspan="3">
|
||||
<item row="17" column="2" rowspan="2" colspan="3">
|
||||
<widget class="KComboBox" name="rule_closeable">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
|
@ -2363,51 +2363,7 @@ while it's active!</string>
|
|||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="22" column="2" rowspan="2" colspan="3">
|
||||
<widget class="KComboBox" name="rule_blockcompositing">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Do Not Affect</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force Temporarily</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="2" colspan="3">
|
||||
<widget class="KComboBox" name="rule_fsplevel">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Do Not Affect</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force Temporarily</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="5" colspan="2">
|
||||
<item row="10" column="5" colspan="2">
|
||||
<widget class="KComboBox" name="fsplevel">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
|
@ -2439,7 +2395,51 @@ while it's active!</string>
|
|||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="1">
|
||||
<item row="23" column="2" rowspan="2" colspan="3">
|
||||
<widget class="KComboBox" name="rule_blockcompositing">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Do Not Affect</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force Temporarily</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="10" column="2" colspan="3">
|
||||
<widget class="KComboBox" name="rule_fsplevel">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Do Not Affect</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force Temporarily</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="10" column="1">
|
||||
<widget class="QCheckBox" name="enable_fsplevel">
|
||||
<property name="toolTip">
|
||||
<string>KWin tries to prevent windows from taking the focus
|
||||
|
@ -2453,6 +2453,42 @@ but this may sometimes fail or superact.
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QCheckBox" name="enable_decocolor">
|
||||
<property name="text">
|
||||
<string>Titlebar color &scheme</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="5" colspan="2">
|
||||
<widget class="KComboBox" name="decocolor">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<widget class="KComboBox" name="rule_decocolor">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Do Not Affect</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force Temporarily</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
|
@ -2461,14 +2497,9 @@ but this may sometimes fail or superact.
|
|||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>KComboBox</class>
|
||||
<extends>QComboBox</extends>
|
||||
<header>kcombobox.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>KLineEdit</class>
|
||||
<extends>QLineEdit</extends>
|
||||
<header>klineedit.h</header>
|
||||
<class>KRestrictedLine</class>
|
||||
<extends>KLineEdit</extends>
|
||||
<header>krestrictedline.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>KPushButton</class>
|
||||
|
@ -2476,9 +2507,14 @@ but this may sometimes fail or superact.
|
|||
<header>kpushbutton.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>KRestrictedLine</class>
|
||||
<extends>KLineEdit</extends>
|
||||
<header>krestrictedline.h</header>
|
||||
<class>KLineEdit</class>
|
||||
<extends>QLineEdit</extends>
|
||||
<header>klineedit.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>KComboBox</class>
|
||||
<extends>QComboBox</extends>
|
||||
<header>kcombobox.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>YesNoBox</class>
|
||||
|
|
Loading…
Reference in a new issue