Use CompositingPrefs here as well for default options autodetection

svn path=/trunk/KDE/kdebase/workspace/; revision=714012
icc-effect-5.14.5
Rivo Laks 2007-09-18 14:32:37 +00:00
parent 59f21e39fe
commit 9f95efdc27
5 changed files with 35 additions and 8 deletions

View File

@ -1,11 +1,26 @@
########### next target ###############
set(kcm_kwincompositing_PART_SRCS advanced.cpp main.cpp )
include_directories( ${KDEBASE_WORKSPACE_SOURCE_DIR}/kwin )
set(kcm_kwincompositing_PART_SRCS
advanced.cpp
main.cpp
${KDEBASE_WORKSPACE_SOURCE_DIR}/kwin/compositingprefs.cpp )
kde4_add_ui_files(kcm_kwincompositing_PART_SRCS advanced.ui main.ui)
kde4_add_plugin(kcm_kwincompositing ${kcm_kwincompositing_PART_SRCS})
target_link_libraries(kcm_kwincompositing ${KDE4_KUTILS_LIBS})
install(TARGETS kcm_kwincompositing DESTINATION ${PLUGIN_INSTALL_DIR} )
# CompositingPrefs uses OpenGL
if(OPENGL_FOUND)
target_link_libraries(kcm_kwincompositing ${OPENGL_gl_LIBRARY})
# -ldl used by OpenGL code
find_library(DL_LIBRARY dl)
if (DL_LIBRARY)
target_link_libraries(kcm_kwincompositing ${DL_LIBRARY})
endif(DL_LIBRARY)
endif(OPENGL_FOUND)
########### install files ###############

View File

@ -12,13 +12,16 @@ License. See the file "COPYING" for the exact licensing terms.
#include "advanced.moc"
#include <klocale.h>
#include "compositingprefs.h"
namespace KWin
{
KWinAdvancedCompositingOptions::KWinAdvancedCompositingOptions(QWidget* parent, KSharedConfigPtr config) :
KWinAdvancedCompositingOptions::KWinAdvancedCompositingOptions(QWidget* parent, KSharedConfigPtr config, CompositingPrefs* defaults) :
KDialog(parent)
{
mKWinConfig = config;
mDefaultPrefs = defaults;
setCaption(i18n("Advanced compositing options"));
setButtons(KDialog::Ok | KDialog::Cancel | KDialog::Apply);
@ -66,8 +69,8 @@ void KWinAdvancedCompositingOptions::load()
QString glMode = config.readEntry("GLMode", "TFP");
ui.glMode->setCurrentIndex((glMode == "TFP") ? 0 : ((glMode == "SHM") ? 1 : 2));
ui.glTextureFilter->setCurrentIndex(config.readEntry("GLTextureFilter", 1));
ui.glDirect->setChecked(config.readEntry("GLDirect", true));
ui.glVSync->setChecked(config.readEntry("GLVSync", true));
ui.glDirect->setChecked(config.readEntry("GLDirect", mDefaultPrefs->enableDirectRendering()));
ui.glVSync->setChecked(config.readEntry("GLVSync", mDefaultPrefs->enableVSync()));
}
void KWinAdvancedCompositingOptions::save()

View File

@ -20,11 +20,13 @@ License. See the file "COPYING" for the exact licensing terms.
namespace KWin
{
class CompositingPrefs;
class KWinAdvancedCompositingOptions : public KDialog
{
Q_OBJECT
public:
KWinAdvancedCompositingOptions(QWidget* parent, KSharedConfigPtr config);
KWinAdvancedCompositingOptions(QWidget* parent, KSharedConfigPtr config, CompositingPrefs* defaults);
virtual ~KWinAdvancedCompositingOptions();
void load();
@ -40,6 +42,7 @@ class KWinAdvancedCompositingOptions : public KDialog
private:
KSharedConfigPtr mKWinConfig;
Ui::KWinAdvancedCompositingOptions ui;
CompositingPrefs* mDefaultPrefs;
};
} // namespace

View File

@ -42,6 +42,10 @@ KWinCompositingConfig::KWinCompositingConfig(QWidget *parent, const QVariantList
ui.setupUi(this);
ui.tabWidget->setCurrentIndex(0);
// Driver-specific config detection
mDefaultPrefs.detect();
connect(ui.advancedOptions, SIGNAL(clicked()), this, SLOT(showAdvancedOptions()));
connect(ui.useCompositing, SIGNAL(toggled(bool)), this, SLOT(compositingEnabled(bool)));
@ -83,7 +87,7 @@ void KWinCompositingConfig::compositingEnabled(bool enabled)
void KWinCompositingConfig::showAdvancedOptions()
{
KWinAdvancedCompositingOptions* dialog = new KWinAdvancedCompositingOptions(this, mKWinConfig);
KWinAdvancedCompositingOptions* dialog = new KWinAdvancedCompositingOptions(this, mKWinConfig, &mDefaultPrefs);
dialog->show();
connect(dialog, SIGNAL(configSaved()), this, SLOT(configChanged()));
@ -110,7 +114,7 @@ void KWinCompositingConfig::load()
mKWinConfig->reparseConfiguration();
KConfigGroup config(mKWinConfig, "Compositing");
ui.useCompositing->setChecked(config.readEntry("Enabled", false));
ui.useCompositing->setChecked(config.readEntry("Enabled", mDefaultPrefs.enableCompositing()));
// Load effect settings
config.changeGroup("Plugins");
@ -169,7 +173,7 @@ void KWinCompositingConfig::configChanged()
void KWinCompositingConfig::defaults()
{
kDebug() ;
ui.useCompositing->setChecked(false);
ui.useCompositing->setChecked(mDefaultPrefs.enableCompositing());
ui.effectWinManagement->setChecked(true);
ui.effectShadows->setChecked(true);
ui.effectAnimations->setChecked(true);

View File

@ -17,6 +17,7 @@ License. See the file "COPYING" for the exact licensing terms.
#include <ksharedconfig.h>
#include "ui_main.h"
#include "compositingprefs.h"
class KPluginSelector;
@ -49,6 +50,7 @@ class KWinCompositingConfig : public KCModule
private:
KSharedConfigPtr mKWinConfig;
Ui::KWinCompositingConfig ui;
CompositingPrefs mDefaultPrefs;
};
} // namespace