Kaydet (Commit) 9a33547d authored tarafından Markus Mohrhard's avatar Markus Mohrhard Kaydeden (comit) Markus Mohrhard

implement the ui part for the OpenGL config variables

Change-Id: I46e2de444d38f1f93eb68ffd50b7a283d05d1738
üst fdec5e9f
......@@ -69,6 +69,7 @@
#include <unotools/searchopt.hxx>
#include <sal/macros.h>
#include <officecfg/Office/Common.hxx>
#include <comphelper/configuration.hxx>
#include <com/sun/star/configuration/theDefaultProvider.hpp>
#include <com/sun/star/container/XNameAccess.hpp>
......@@ -103,6 +104,81 @@ using namespace ::com::sun::star::container;
using namespace ::com::sun::star::util;
using namespace ::utl;
namespace svt {
class OpenGLCfg
{
private:
bool mbUseOpenGL;
bool mbForceOpenGL;
bool mbModified;
public:
OpenGLCfg();
~OpenGLCfg();
bool useOpenGL() const;
bool forceOpenGL() const;
void setUseOpenGL(bool bOpenGL);
void setForceOpenGL(bool bOpenGL);
void reset();
};
OpenGLCfg::OpenGLCfg():
mbModified(false)
{
reset();
}
void OpenGLCfg::reset()
{
mbUseOpenGL = officecfg::Office::Common::VCL::UseOpenGL::get();
mbForceOpenGL = officecfg::Office::Common::VCL::ForceOpenGL::get();
}
OpenGLCfg::~OpenGLCfg()
{
if (mbModified)
{
boost::shared_ptr< comphelper::ConfigurationChanges > batch( comphelper::ConfigurationChanges::create() );
officecfg::Office::Common::VCL::UseOpenGL::set(mbUseOpenGL, batch);
officecfg::Office::Common::VCL::ForceOpenGL::set(mbForceOpenGL, batch);
}
}
bool OpenGLCfg::useOpenGL() const
{
return mbUseOpenGL;
}
bool OpenGLCfg::forceOpenGL() const
{
return mbForceOpenGL;
}
void OpenGLCfg::setUseOpenGL(bool bOpenGL)
{
if (bOpenGL != mbUseOpenGL)
{
mbUseOpenGL = bOpenGL;
mbModified = true;
}
}
void OpenGLCfg::setForceOpenGL(bool bOpenGL)
{
if (mbForceOpenGL != bOpenGL)
{
mbForceOpenGL = bOpenGL;
mbModified = true;
}
}
}
// class OfaMiscTabPage --------------------------------------------------
int OfaMiscTabPage::DeactivatePage( SfxItemSet* pSet_ )
......@@ -557,6 +633,7 @@ OfaViewTabPage::OfaViewTabPage(vcl::Window* pParent, const SfxItemSet& rSet)
, pAppearanceCfg(new SvtTabAppearanceCfg)
, pCanvasSettings(new CanvasSettings)
, mpDrawinglayerOpt(new SvtOptionsDrawinglayer)
, mpOpenGLConfig(new svt::OpenGLCfg)
{
get(m_pWindowSizeMF, "windowsize");
get(m_pIconSizeLB, "iconsize");
......@@ -785,6 +862,9 @@ bool OfaViewTabPage::FillItemSet( SfxItemSet* )
}
}
mpOpenGLConfig->setUseOpenGL(m_pUseOpenGL->IsChecked());
mpOpenGLConfig->setForceOpenGL(m_pForceOpenGL->IsChecked());
// #i97672#
if(m_pSelectionCB->IsEnabled())
{
......@@ -843,6 +923,7 @@ bool OfaViewTabPage::FillItemSet( SfxItemSet* )
void OfaViewTabPage::Reset( const SfxItemSet* )
{
SvtMiscOptions aMiscOptions;
mpOpenGLConfig->reset();
if( aMiscOptions.GetSymbolsSize() != SFX_SYMBOLS_SIZE_AUTO )
nSizeLB_InitialSelection = ( aMiscOptions.AreCurrentSymbolsLarge() )? 2 : 1;
......@@ -912,6 +993,8 @@ void OfaViewTabPage::Reset( const SfxItemSet* )
m_pUseAntiAliase->SaveValue();
}
m_pUseOpenGL->Check(mpOpenGLConfig->useOpenGL());
m_pForceOpenGL->Check(mpOpenGLConfig->forceOpenGL());
{
// #i97672# Selection
......
......@@ -25,6 +25,8 @@
#include <sfx2/tabdlg.hxx>
#include <svx/langbox.hxx>
#include <boost/scoped_ptr.hpp>
// predeclarations
class CanvasSettings;
class SvtOptionsDrawinglayer;
......@@ -32,6 +34,10 @@ namespace vcl {
class IconThemeInfo;
}
namespace svt {
class OpenGLCfg;
}
// class OfaMiscTabPage --------------------------------------------------
class OfaMiscTabPage : public SfxTabPage
......@@ -113,6 +119,7 @@ private:
SvtTabAppearanceCfg* pAppearanceCfg;
CanvasSettings* pCanvasSettings;
SvtOptionsDrawinglayer* mpDrawinglayerOpt;
boost::scoped_ptr<svt::OpenGLCfg> mpOpenGLConfig;
std::vector<vcl::IconThemeInfo> mInstalledIconThemes;
......
......@@ -858,6 +858,14 @@
</info>
<value>false</value>
</prop>
<prop oor:name="ForceOpenGL" oor:type="xs:boolean" oor:nillable="false">
<info>
<desc>Specifies if OpenGL rendering should be used in VCL backends
supporting it. This one forces the use of OpenGL even if the
blacklist would block the OpenGL driver.</desc>
</info>
<value>false</value>
</prop>
</group>
<group oor:name="InternalMSExport">
<info>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment