Adding checkbox for unredirecting fullscreen windows.

FEATURE: 232532
CCBUG: 177495
FIXED-IN: 4.6.0

svn path=/trunk/KDE/kdebase/workspace/; revision=1176432
This commit is contained in:
Martin Gräßlin 2010-09-17 17:46:34 +00:00
parent e7eeae1e1d
commit 5dc513e6a4
2 changed files with 23 additions and 9 deletions

View file

@ -119,6 +119,7 @@ KWinCompositingConfig::KWinCompositingConfig(QWidget *parent, const QVariantList
connect(ui.compositingType, SIGNAL(currentIndexChanged(int)), this, SLOT(changed()));
connect(ui.windowThumbnails, SIGNAL(activated(int)), this, SLOT(changed()));
connect(ui.disableChecks, SIGNAL(toggled(bool)), this, SLOT(changed()));
connect(ui.unredirectFullscreen , SIGNAL(toggled(bool)), this, SLOT(changed()));
connect(ui.glMode, SIGNAL(currentIndexChanged(int)), this, SLOT(changed()));
connect(ui.glTextureFilter, SIGNAL(currentIndexChanged(int)), this, SLOT(changed()));
connect(ui.glDirect, SIGNAL(toggled(bool)), this, SLOT(changed()));
@ -443,6 +444,7 @@ void KWinCompositingConfig::loadAdvancedTab()
else // shown, or default
ui.windowThumbnails->setCurrentIndex( 1 );
ui.disableChecks->setChecked( config.readEntry( "DisableChecks", false ));
ui.unredirectFullscreen->setChecked( config.readEntry( "UnredirectFullscreen", true ));
QString glMode = config.readEntry("GLMode", "TFP");
ui.glMode->setCurrentIndex((glMode == "TFP") ? 0 : ((glMode == "SHM") ? 1 : 2));
@ -607,6 +609,7 @@ bool KWinCompositingConfig::saveAdvancedTab()
config.writeEntry("Backend", (ui.compositingType->currentIndex() == OPENGL_INDEX) ? "OpenGL" : "XRender");
config.writeEntry("HiddenPreviews", hps[ ui.windowThumbnails->currentIndex() ] );
config.writeEntry("DisableChecks", ui.disableChecks->isChecked());
config.writeEntry( "UnredirectFullscreen", ui.unredirectFullscreen->isChecked() );
config.writeEntry("GLMode", glModes[ui.glMode->currentIndex()]);
config.writeEntry("GLTextureFilter", ui.glTextureFilter->currentIndex());
@ -752,6 +755,7 @@ void KWinCompositingConfig::defaults()
ui.compositingType->setCurrentIndex( 0 );
ui.windowThumbnails->setCurrentIndex( 1 );
ui.disableChecks->setChecked( false );
ui.unredirectFullscreen->setChecked( true );
ui.glMode->setCurrentIndex( 0 );
ui.glTextureFilter->setCurrentIndex( 1 );
ui.glDirect->setChecked( mDefaultPrefs.enableDirectRendering() );

View file

@ -404,7 +404,7 @@
</item>
</widget>
</item>
<item row="2" column="0" colspan="2">
<item row="3" column="0" colspan="2">
<widget class="QCheckBox" name="disableChecks">
<property name="whatsThis">
<string>Enabling this option allows compositing to be activated even if some of the internal checks fail. Doing so may make the whole desktop unusable and its use is not recommened. Use only if KWin refuses to activate compositing on a system that should be capable of compositing.
@ -415,7 +415,7 @@
</property>
</widget>
</item>
<item row="3" column="0" colspan="2">
<item row="4" column="0" colspan="2">
<widget class="QGroupBox" name="glGroup">
<property name="title">
<string>OpenGL Options</string>
@ -532,7 +532,7 @@
</layout>
</widget>
</item>
<item row="4" column="0" colspan="2">
<item row="5" column="0" colspan="2">
<widget class="QGroupBox" name="xrenderGroup">
<property name="title">
<string>XRender Options</string>
@ -548,7 +548,7 @@
</layout>
</widget>
</item>
<item row="5" column="0" colspan="2">
<item row="6" column="0" colspan="2">
<spacer name="verticalSpacer_6">
<property name="orientation">
<enum>Qt::Vertical</enum>
@ -561,6 +561,16 @@
</property>
</spacer>
</item>
<item row="2" column="0" colspan="2">
<widget class="QCheckBox" name="unredirectFullscreen">
<property name="toolTip">
<string>Improves performance of fullscreen applications like games and video players. This option can cause flickering when another window is opened above the fullscreen window.</string>
</property>
<property name="text">
<string>Suspend desktop effects for fullscreen windows</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
@ -568,16 +578,16 @@
</layout>
</widget>
<customwidgets>
<customwidget>
<class>KComboBox</class>
<extends>QComboBox</extends>
<header>kcombobox.h</header>
</customwidget>
<customwidget>
<class>KTitleWidget</class>
<extends>QWidget</extends>
<header>ktitlewidget.h</header>
</customwidget>
<customwidget>
<class>KComboBox</class>
<extends>QComboBox</extends>
<header>kcombobox.h</header>
</customwidget>
<customwidget>
<class>KPluginSelector</class>
<extends>QWidget</extends>