/***************************************************************** KWin - the KDE window manager This file is part of the KDE project. Copyright (C) 2007 Christian Nitschkowski You can Freely distribute this program under the GNU General Public License. See the file "COPYING" for the exact licensing terms. ******************************************************************/ #include "lookingglass_config.h" #include #include #include #include #include #include #include #include #include #include #include #include KWIN_EFFECT_CONFIG_FACTORY namespace KWin { LookingGlassEffectConfigForm::LookingGlassEffectConfigForm(QWidget* parent) : QWidget(parent) { setupUi(this); } LookingGlassEffectConfig::LookingGlassEffectConfig(QWidget* parent, const QVariantList& args) : KCModule(EffectFactory::componentData(), parent, args) { kDebug() ; m_ui = new LookingGlassEffectConfigForm(this); QGridLayout* layout = new QGridLayout(this); layout->addWidget(m_ui, 0, 0); connect(m_ui->editor, SIGNAL(keyChange()), this, SLOT(changed())); connect(m_ui->radiusSpin, SIGNAL(valueChanged(int)), this, SLOT(changed())); // Shortcut config KGlobalAccel::self()->overrideMainComponentData(componentData()); m_actionCollection = new KActionCollection( this, componentData() ); m_actionCollection->setConfigGroup("LookingGlass"); m_actionCollection->setConfigGlobal(true); KAction* a; a = static_cast< KAction* >( m_actionCollection->addAction( KStandardAction::ZoomIn, this, SLOT( zoomIn()))); a->setGlobalShortcut(KShortcut(Qt::META + Qt::Key_Plus)); a = static_cast< KAction* >( m_actionCollection->addAction( KStandardAction::ZoomOut, this, SLOT( zoomOut()))); a->setGlobalShortcut(KShortcut(Qt::META + Qt::Key_Minus)); a = static_cast< KAction* >( m_actionCollection->addAction( KStandardAction::ActualSize, this, SLOT( toggle()))); a->setGlobalShortcut(KShortcut(Qt::META + Qt::Key_0)); //m_ui->editor->addCollection(m_actionCollection); load(); } void LookingGlassEffectConfig::load() { kDebug() ; KCModule::load(); KConfigGroup conf = EffectsHandler::effectConfig("LookingGlass"); // m_ui->editor->readSettings(&conf); int radius = conf.readEntry("Radius", 200); m_ui->radiusSpin->setValue(radius); m_actionCollection->readSettings(); m_ui->editor->addCollection(m_actionCollection); emit changed(false); } void LookingGlassEffectConfig::save() { kDebug() << "Saving config of LookingGlass" ; //KCModule::save(); KConfigGroup conf = EffectsHandler::effectConfig("LookingGlass"); conf.writeEntry("Radius", m_ui->radiusSpin->value()); m_actionCollection->writeSettings(); conf.sync(); emit changed(false); EffectsHandler::sendReloadMessage( "lookingglass" ); } void LookingGlassEffectConfig::defaults() { kDebug() ; m_ui->radiusSpin->setValue(200); emit changed(true); } } // namespace #include "lookingglass_config.moc"