diff --git a/effects/configs_builtins.cpp b/effects/configs_builtins.cpp
index 7580d52034..ca3b17f948 100644
--- a/effects/configs_builtins.cpp
+++ b/effects/configs_builtins.cpp
@@ -29,6 +29,7 @@ along with this program. If not, see .
#include "magiclamp/magiclamp_config.h"
#include "translucency/translucency_config.h"
#include "presentwindows/presentwindows_config.h"
+#include "resize/resize_config.h"
#include "shadow/shadow_config.h"
#include "showfps/showfps_config.h"
#include "thumbnailaside/thumbnailaside_config.h"
@@ -66,6 +67,7 @@ KWIN_EFFECT_CONFIG_MULTIPLE( builtins,
KWIN_EFFECT_CONFIG_SINGLE( magiclamp, MagicLampEffectConfig )
KWIN_EFFECT_CONFIG_SINGLE( translucency, TranslucencyEffectConfig )
KWIN_EFFECT_CONFIG_SINGLE( presentwindows, PresentWindowsEffectConfig )
+ KWIN_EFFECT_CONFIG_SINGLE( resize, ResizeEffectConfig )
KWIN_EFFECT_CONFIG_SINGLE( shadow, ShadowEffectConfig )
KWIN_EFFECT_CONFIG_SINGLE( showfps, ShowFpsEffectConfig )
KWIN_EFFECT_CONFIG_SINGLE( thumbnailaside, ThumbnailAsideEffectConfig )
diff --git a/effects/resize/CMakeLists.txt b/effects/resize/CMakeLists.txt
index f59fce3bac..33c0f547ea 100644
--- a/effects/resize/CMakeLists.txt
+++ b/effects/resize/CMakeLists.txt
@@ -13,3 +13,14 @@ install( FILES
#######################################
# Config
+
+# Source files
+set( kwin4_effect_builtins_config_sources ${kwin4_effect_builtins_config_sources}
+ resize/resize_config.cpp
+ resize/resize_config.ui
+ )
+
+# .desktop files
+install( FILES
+ resize/resize_config.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
diff --git a/effects/resize/resize_config.cpp b/effects/resize/resize_config.cpp
new file mode 100644
index 0000000000..748e78875c
--- /dev/null
+++ b/effects/resize/resize_config.cpp
@@ -0,0 +1,84 @@
+/********************************************************************
+ KWin - the KDE window manager
+ This file is part of the KDE project.
+
+ Copyright (C) 2010 Martin Gräßlin
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*********************************************************************/
+#include "resize_config.h"
+#include
+
+#include
+
+#include
+
+namespace KWin
+{
+
+KWIN_EFFECT_CONFIG_FACTORY
+
+ResizeEffectConfigForm::ResizeEffectConfigForm(QWidget* parent) : QWidget(parent)
+ {
+ setupUi( this );
+ }
+
+ResizeEffectConfig::ResizeEffectConfig(QWidget* parent, const QVariantList& args) :
+ KCModule(EffectFactory::componentData(), parent, args)
+ {
+ m_ui = new ResizeEffectConfigForm( this );
+
+ QVBoxLayout* layout = new QVBoxLayout( this );
+
+ layout->addWidget(m_ui);
+
+ connect(m_ui->scaleBox, SIGNAL(stateChanged(int)), this, SLOT(changed()));
+ connect(m_ui->outlineBox, SIGNAL(stateChanged(int)), this, SLOT(changed()));
+
+ load();
+ }
+
+void ResizeEffectConfig::load()
+ {
+ KCModule::load();
+
+ KConfigGroup conf = EffectsHandler::effectConfig( "Resize" );
+ m_ui->scaleBox->setChecked(conf.readEntry( "TextureScale", true ));
+ m_ui->outlineBox->setChecked(conf.readEntry( "Outline" , false ));
+
+ emit changed( false );
+ }
+
+void ResizeEffectConfig::save()
+ {
+ KConfigGroup conf = EffectsHandler::effectConfig( "Resize" );
+ conf.writeEntry( "TextureScale", m_ui->scaleBox->isChecked() );
+ conf.writeEntry( "Outline", m_ui->outlineBox->isChecked() );
+
+ conf.sync();
+
+ emit changed( false );
+ EffectsHandler::sendReloadMessage( "resize" );
+ }
+
+void ResizeEffectConfig::defaults()
+ {
+ m_ui->scaleBox->setChecked( true );
+ m_ui->outlineBox->setChecked( false );
+ emit changed( true );
+ }
+
+} // namespace
+
+#include "resize_config.moc"
diff --git a/effects/resize/resize_config.desktop b/effects/resize/resize_config.desktop
new file mode 100644
index 0000000000..697c47d559
--- /dev/null
+++ b/effects/resize/resize_config.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Service
+X-KDE-ServiceTypes=KCModule
+
+X-KDE-Library=kcm_kwin4_effect_builtins
+X-KDE-ParentComponents=kwin4_effect_resize
+X-KDE-PluginKeyword=resize
+
+Name=Resize Window
diff --git a/effects/resize/resize_config.h b/effects/resize/resize_config.h
new file mode 100644
index 0000000000..a5710f4676
--- /dev/null
+++ b/effects/resize/resize_config.h
@@ -0,0 +1,56 @@
+/********************************************************************
+ KWin - the KDE window manager
+ This file is part of the KDE project.
+
+ Copyright (C) 2010 Martin Gräßlin
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*********************************************************************/
+
+#ifndef KWIN_RESIZE_CONFIG_H
+#define KWIN_RESIZE_CONFIG_H
+
+#include
+
+#include "ui_resize_config.h"
+
+
+namespace KWin
+{
+
+class ResizeEffectConfigForm : public QWidget, public Ui::ResizeEffectConfigForm
+{
+ Q_OBJECT
+ public:
+ explicit ResizeEffectConfigForm(QWidget* parent = 0);
+};
+
+class ResizeEffectConfig : public KCModule
+ {
+ Q_OBJECT
+ public:
+ explicit ResizeEffectConfig(QWidget* parent = 0, const QVariantList& args = QVariantList());
+
+ public slots:
+ virtual void save();
+ virtual void load();
+ virtual void defaults();
+
+ private:
+ ResizeEffectConfigForm* m_ui;
+ };
+
+} // namespace
+
+#endif
diff --git a/effects/resize/resize_config.ui b/effects/resize/resize_config.ui
new file mode 100644
index 0000000000..651a7a1529
--- /dev/null
+++ b/effects/resize/resize_config.ui
@@ -0,0 +1,48 @@
+
+
+ KWin::ResizeEffectConfigForm
+
+
+
+ 0
+ 0
+ 400
+ 300
+
+
+
+ Form
+
+
+ -
+
+
+ Scale window
+
+
+
+ -
+
+
+ Show outline
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
+
+
+
+
+