fix deco config updates

- B2 linked to the wrong slot (instead of changed signal)
- border size change was not written (for B2, Laptop etc)
- Aurorae didn't recreate decos when required

BUG: 325946
FIXED-IN: 4.11.3
REVIEW: 113229
icc-effect-5.14.5
Thomas Lübking 2013-10-13 15:52:01 +02:00
parent d249075b5e
commit 3692549170
5 changed files with 12 additions and 13 deletions

View File

@ -161,7 +161,7 @@ bool AuroraeFactory::reset(unsigned long changed)
if (changed & SettingFont){ if (changed & SettingFont){
emit titleFontChanged(); emit titleFontChanged();
} }
if (changed & SettingCompositing) { if (changed == SettingCompositing) {
return false; return false;
} }
const KConfig conf("auroraerc"); const KConfig conf("auroraerc");
@ -180,7 +180,7 @@ bool AuroraeFactory::reset(unsigned long changed)
m_theme->setButtonSize((KDecorationDefines::BorderSize)themeGroup.readEntry<int>("ButtonSize", KDecorationDefines::BorderNormal)); m_theme->setButtonSize((KDecorationDefines::BorderSize)themeGroup.readEntry<int>("ButtonSize", KDecorationDefines::BorderNormal));
} }
emit configChanged(); emit configChanged();
return false; // need hard reset return changed & (SettingDecoration | SettingButtons | SettingBorder); // need hard reset
} }
bool AuroraeFactory::supports(Ability ability) const bool AuroraeFactory::supports(Ability ability) const

View File

@ -106,14 +106,10 @@ B2Config::B2Config(KConfig *conf, QWidget *parent)
load(cg); load(cg);
// Ensure we track user changes properly // Ensure we track user changes properly
connect(cbColorBorder, SIGNAL(clicked()), connect(cbColorBorder, SIGNAL(clicked()), SIGNAL(changed()));
this, SLOT(slotSelectionChanged())); connect(showGrabHandleCb, SIGNAL(clicked()), SIGNAL(changed()));
connect(showGrabHandleCb, SIGNAL(clicked()), connect(autoMoveTitlebarCb, SIGNAL(clicked()), SIGNAL(changed()));
this, SLOT(slotSelectionChanged())); connect(menuDblClickOp, SIGNAL(activated(int)), SIGNAL(changed()));
connect(autoMoveTitlebarCb, SIGNAL(clicked()),
this, SLOT(slotSelectionChanged()));
connect(menuDblClickOp, SIGNAL(activated(int)),
this, SLOT(slotSelectionChanged()));
// Make the widgets visible in kwindecoration // Make the widgets visible in kwindecoration
gb->show(); gb->show();
} }

View File

@ -44,6 +44,9 @@ KWinAuroraeConfigForm::KWinAuroraeConfigForm(QWidget* parent)
: QWidget(parent) : QWidget(parent)
{ {
setupUi(this); setupUi(this);
connect(borderSizesCombo, SIGNAL(currentIndexChanged(int)), SIGNAL(changed()));
connect(buttonSizesCombo, SIGNAL(currentIndexChanged(int)), SIGNAL(changed()));
connect(closeWindowsDoubleClick, SIGNAL(clicked()), SIGNAL(changed()));
} }
void KWinAuroraeConfigForm::enableNoSideBorderSupport(bool enable) void KWinAuroraeConfigForm::enableNoSideBorderSupport(bool enable)

View File

@ -35,6 +35,8 @@ class KWinAuroraeConfigForm : public QWidget, public Ui::KWinAuroraeConfigForm
public: public:
explicit KWinAuroraeConfigForm(QWidget* parent); explicit KWinAuroraeConfigForm(QWidget* parent);
void enableNoSideBorderSupport(bool enable); void enableNoSideBorderSupport(bool enable);
Q_SIGNALS:
void changed();
}; };
class KWinDecorationConfigForm : public QWidget, public Ui::KWinDecorationConfigForm class KWinDecorationConfigForm : public QWidget, public Ui::KWinDecorationConfigForm

View File

@ -444,9 +444,7 @@ void KWinDecorationModule::slotConfigureDecoration()
delete configDialog; delete configDialog;
} }
if (reload) { if (reload) {
// Send signal to all kwin instances save();
QDBusMessage message = QDBusMessage::createSignal("/KWin", "org.kde.KWin", "reloadConfig");
QDBusConnection::sessionBus().send(message);
} }
} }