Config interface for resize effect
Better late than never... svn path=/trunk/KDE/kdebase/workspace/; revision=1195693
This commit is contained in:
parent
267ce1942b
commit
24a0e94397
6 changed files with 210 additions and 0 deletions
|
@ -29,6 +29,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#include "magiclamp/magiclamp_config.h"
|
#include "magiclamp/magiclamp_config.h"
|
||||||
#include "translucency/translucency_config.h"
|
#include "translucency/translucency_config.h"
|
||||||
#include "presentwindows/presentwindows_config.h"
|
#include "presentwindows/presentwindows_config.h"
|
||||||
|
#include "resize/resize_config.h"
|
||||||
#include "shadow/shadow_config.h"
|
#include "shadow/shadow_config.h"
|
||||||
#include "showfps/showfps_config.h"
|
#include "showfps/showfps_config.h"
|
||||||
#include "thumbnailaside/thumbnailaside_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( magiclamp, MagicLampEffectConfig )
|
||||||
KWIN_EFFECT_CONFIG_SINGLE( translucency, TranslucencyEffectConfig )
|
KWIN_EFFECT_CONFIG_SINGLE( translucency, TranslucencyEffectConfig )
|
||||||
KWIN_EFFECT_CONFIG_SINGLE( presentwindows, PresentWindowsEffectConfig )
|
KWIN_EFFECT_CONFIG_SINGLE( presentwindows, PresentWindowsEffectConfig )
|
||||||
|
KWIN_EFFECT_CONFIG_SINGLE( resize, ResizeEffectConfig )
|
||||||
KWIN_EFFECT_CONFIG_SINGLE( shadow, ShadowEffectConfig )
|
KWIN_EFFECT_CONFIG_SINGLE( shadow, ShadowEffectConfig )
|
||||||
KWIN_EFFECT_CONFIG_SINGLE( showfps, ShowFpsEffectConfig )
|
KWIN_EFFECT_CONFIG_SINGLE( showfps, ShowFpsEffectConfig )
|
||||||
KWIN_EFFECT_CONFIG_SINGLE( thumbnailaside, ThumbnailAsideEffectConfig )
|
KWIN_EFFECT_CONFIG_SINGLE( thumbnailaside, ThumbnailAsideEffectConfig )
|
||||||
|
|
|
@ -13,3 +13,14 @@ install( FILES
|
||||||
|
|
||||||
#######################################
|
#######################################
|
||||||
# Config
|
# 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 )
|
||||||
|
|
84
effects/resize/resize_config.cpp
Normal file
84
effects/resize/resize_config.cpp
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
/********************************************************************
|
||||||
|
KWin - the KDE window manager
|
||||||
|
This file is part of the KDE project.
|
||||||
|
|
||||||
|
Copyright (C) 2010 Martin Gräßlin <kde@martin-graesslin.com>
|
||||||
|
|
||||||
|
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 <http://www.gnu.org/licenses/>.
|
||||||
|
*********************************************************************/
|
||||||
|
#include "resize_config.h"
|
||||||
|
#include <kwineffects.h>
|
||||||
|
|
||||||
|
#include <kconfiggroup.h>
|
||||||
|
|
||||||
|
#include <QVBoxLayout>
|
||||||
|
|
||||||
|
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<bool>( "TextureScale", true ));
|
||||||
|
m_ui->outlineBox->setChecked(conf.readEntry<bool>( "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"
|
9
effects/resize/resize_config.desktop
Normal file
9
effects/resize/resize_config.desktop
Normal file
|
@ -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
|
56
effects/resize/resize_config.h
Normal file
56
effects/resize/resize_config.h
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
/********************************************************************
|
||||||
|
KWin - the KDE window manager
|
||||||
|
This file is part of the KDE project.
|
||||||
|
|
||||||
|
Copyright (C) 2010 Martin Gräßlin <kde@martin-graesslin.com>
|
||||||
|
|
||||||
|
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 <http://www.gnu.org/licenses/>.
|
||||||
|
*********************************************************************/
|
||||||
|
|
||||||
|
#ifndef KWIN_RESIZE_CONFIG_H
|
||||||
|
#define KWIN_RESIZE_CONFIG_H
|
||||||
|
|
||||||
|
#include <kcmodule.h>
|
||||||
|
|
||||||
|
#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
|
48
effects/resize/resize_config.ui
Normal file
48
effects/resize/resize_config.ui
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>KWin::ResizeEffectConfigForm</class>
|
||||||
|
<widget class="QWidget" name="KWin::ResizeEffectConfigForm">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>400</width>
|
||||||
|
<height>300</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Form</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="scaleBox">
|
||||||
|
<property name="text">
|
||||||
|
<string>Scale window</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="outlineBox">
|
||||||
|
<property name="text">
|
||||||
|
<string>Show outline</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="verticalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>40</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
Loading…
Reference in a new issue