diff options
author | Tor Lillqvist <tml@collabora.com> | 2014-11-26 22:30:33 +0200 |
---|---|---|
committer | Tor Lillqvist <tml@collabora.com> | 2014-11-27 11:07:37 +0200 |
commit | c1d09b1ad02160850d40c0d242a0d0ec0a8dc1bc (patch) | |
tree | e39b6a73639f483a3000cdec31890cfdd051a5af /cui | |
parent | ccfb8c78277d4a4f85af5ebbd96cf87f0d729016 (diff) |
Work in progress: Move Calc-independend OpenCL configuration out of sc
Intermediate commit. More changes will follow: The device selection
logic needs to be moved, too. (And cleaned up.) Instead of the
separate formulacalculationoptions dialog we should simply have a
normal options page for those OpenCL-related settings that will remain
purely Calc-specific, like the formula opcode subsetting.
Change-Id: Id60d95e80d377cbbf5780beb473b221bce06b5e5
Diffstat (limited to 'cui')
-rw-r--r-- | cui/Library_cui.mk | 6 | ||||
-rw-r--r-- | cui/UIConfig_cui.mk | 3 | ||||
-rw-r--r-- | cui/source/inc/cuires.hrc | 2 | ||||
-rw-r--r-- | cui/source/options/optgdlg.cxx | 10 | ||||
-rw-r--r-- | cui/source/options/optgdlg.hxx | 2 | ||||
-rw-r--r-- | cui/source/options/optopencl.cxx | 283 | ||||
-rw-r--r-- | cui/source/options/optopencl.hxx | 71 | ||||
-rw-r--r-- | cui/source/options/treeopt.cxx | 2 | ||||
-rw-r--r-- | cui/source/options/treeopt.src | 1 | ||||
-rw-r--r-- | cui/uiconfig/ui/blackorwhitelistentrydialog.ui | 281 | ||||
-rw-r--r-- | cui/uiconfig/ui/optgeneralpage.ui | 41 | ||||
-rw-r--r-- | cui/uiconfig/ui/optopenclpage.ui | 349 |
12 files changed, 998 insertions, 53 deletions
diff --git a/cui/Library_cui.mk b/cui/Library_cui.mk index b821f2a6a45b..b564e4d32012 100644 --- a/cui/Library_cui.mk +++ b/cui/Library_cui.mk @@ -44,6 +44,8 @@ $(eval $(call gb_Library_use_libraries,cui,\ $(if $(ENABLE_JAVA), \ jvmfwk) \ lng \ + $(call gb_Helper_optional,OPENCL, \ + opencl) \ sal \ salhelper \ sax \ @@ -64,6 +66,8 @@ $(eval $(call gb_Library_use_libraries,cui,\ $(eval $(call gb_Library_use_externals,cui,\ boost_headers \ + $(call gb_Helper_optional,OPENCL,\ + clew) \ icuuc \ icu_headers \ )) @@ -153,6 +157,8 @@ $(eval $(call gb_Library_add_exception_objects,cui,\ cui/source/options/optjsearch \ cui/source/options/optlingu \ cui/source/options/optmemory \ + $(call gb_Helper_optional,OPENCL, \ + cui/source/options/optopencl) \ cui/source/options/optpath \ cui/source/options/optsave \ cui/source/options/optupdt \ diff --git a/cui/UIConfig_cui.mk b/cui/UIConfig_cui.mk index 70438d4906bd..d8cd1784dc75 100644 --- a/cui/UIConfig_cui.mk +++ b/cui/UIConfig_cui.mk @@ -28,6 +28,7 @@ $(eval $(call gb_UIConfig_add_uifiles,cui,\ cui/uiconfig/ui/backgroundpage \ cui/uiconfig/ui/baselinksdialog \ cui/uiconfig/ui/bitmaptabpage \ + cui/uiconfig/ui/blackorwhitelistentrydialog \ cui/uiconfig/ui/borderareatransparencydialog \ cui/uiconfig/ui/borderbackgrounddialog \ cui/uiconfig/ui/borderpage \ @@ -131,6 +132,8 @@ $(eval $(call gb_UIConfig_add_uifiles,cui,\ cui/uiconfig/ui/optmemorypage \ cui/uiconfig/ui/optnewdictionarydialog \ cui/uiconfig/ui/optonlineupdatepage \ + $(call gb_Helper_optional,OPENCL, \ + cui/uiconfig/ui/optopenclpage) \ cui/uiconfig/ui/optpathspage \ cui/uiconfig/ui/optproxypage \ cui/uiconfig/ui/optsavepage \ diff --git a/cui/source/inc/cuires.hrc b/cui/source/inc/cuires.hrc index d25afbb47d6b..f2202c2ecafb 100644 --- a/cui/source/inc/cuires.hrc +++ b/cui/source/inc/cuires.hrc @@ -436,6 +436,8 @@ #define RID_SVXSTR_PERSONA_MUSIC (RID_SVX_START + 1288) #define RID_SVXSTR_PERSONA_NATURE (RID_SVX_START + 1289) +#define RID_SVXPAGE_OPENCL (RID_SVX_START + 254) + #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cui/source/options/optgdlg.cxx b/cui/source/options/optgdlg.cxx index c449eb04b75a..e68743da2310 100644 --- a/cui/source/options/optgdlg.cxx +++ b/cui/source/options/optgdlg.cxx @@ -209,7 +209,6 @@ OfaMiscTabPage::OfaMiscTabPage(vcl::Window* pParent, const SfxItemSet& rSet) get(m_pYearValueField, "year"); get(m_pToYearFT, "toyear"); get(m_pCollectUsageInfo, "collectusageinfo"); - get(m_pUseOpenCL, "useopencl"); if (m_pFileDlgCB->IsVisible() && SvtMiscOptions().IsUseSystemFileDialogReadOnly()) { @@ -302,12 +301,6 @@ bool OfaMiscTabPage::FillItemSet( SfxItemSet* rSet ) bModified = true; } - if (m_pUseOpenCL->IsValueChangedFromSaved()) - { - officecfg::Office::Common::Misc::UseOpenCL::set(m_pUseOpenCL->IsChecked(), batch); - bModified = true; - } - batch->commit(); return bModified; @@ -349,9 +342,6 @@ void OfaMiscTabPage::Reset( const SfxItemSet* rSet ) m_pCollectUsageInfo->Check(officecfg::Office::Common::Misc::CollectUsageInformation::get()); m_pCollectUsageInfo->SaveValue(); - - m_pUseOpenCL->Check(officecfg::Office::Common::Misc::UseOpenCL::get()); - m_pUseOpenCL->SaveValue(); } diff --git a/cui/source/options/optgdlg.hxx b/cui/source/options/optgdlg.hxx index a6a7dac8df83..33534573502d 100644 --- a/cui/source/options/optgdlg.hxx +++ b/cui/source/options/optgdlg.hxx @@ -57,8 +57,6 @@ private: CheckBox* m_pCollectUsageInfo; - CheckBox* m_pUseOpenCL; - DECL_LINK( TwoFigureHdl, NumericField* ); DECL_LINK( TwoFigureConfigHdl, NumericField* ); DECL_LINK(HelpCheckHdl_Impl, void *); diff --git a/cui/source/options/optopencl.cxx b/cui/source/options/optopencl.cxx new file mode 100644 index 000000000000..1de17b8248b1 --- /dev/null +++ b/cui/source/options/optopencl.cxx @@ -0,0 +1,283 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#include <vcl/fixed.hxx> +#include <vcl/svapp.hxx> +#include <vcl/window.hxx> +#include <vcl/settings.hxx> +#include <svl/zforlist.hxx> +#include <opencl/openclconfig.hxx> +#include <officecfg/Office/Common.hxx> + +#include <com/sun/star/configuration/theDefaultProvider.hpp> +#include <com/sun/star/lang/XMultiServiceFactory.hpp> +#include <com/sun/star/ui/dialogs/FolderPicker.hpp> +#include <com/sun/star/ui/dialogs/ExecutableDialogResults.hpp> +#include <com/sun/star/frame/Desktop.hpp> +#include <com/sun/star/util/XChangesBatch.hpp> +#include <com/sun/star/setup/UpdateCheckConfig.hpp> + +#include "cuires.hrc" +#include "optopencl.hxx" + +SvxOpenCLTabPage::SvxOpenCLTabPage(vcl::Window* pParent, const SfxItemSet& rSet) : + SfxTabPage(pParent, "OptOpenCLPage", "cui/ui/optopenclpage.ui", &rSet), + maConfig(OpenCLConfig::get()) +{ + get(mpUseOpenCL, "useopencl"); + get(mpBlackList, "blacklist"); + get(mpBlackListEdit, "bledit"); + get(mpBlackListAdd, "bladd"); + get(mpBlackListDelete, "bldelete"); + get(mpWhiteList, "whitelist"); + get(mpWhiteListEdit, "wledit"); + get(mpWhiteListAdd, "wladd"); + get(mpWhiteListDelete, "wldelete"); + + mpBlackListEdit->SetClickHdl(LINK(this, SvxOpenCLTabPage, BlackListEditHdl)); + mpBlackListAdd->SetClickHdl(LINK(this, SvxOpenCLTabPage, BlackListAddHdl)); + mpBlackListDelete->SetClickHdl(LINK(this, SvxOpenCLTabPage, BlackListDeleteHdl)); + + mpWhiteListEdit->SetClickHdl(LINK(this, SvxOpenCLTabPage, WhiteListEditHdl)); + mpWhiteListAdd->SetClickHdl(LINK(this, SvxOpenCLTabPage, WhiteListAddHdl)); + mpWhiteListDelete->SetClickHdl(LINK(this, SvxOpenCLTabPage, WhiteListDeleteHdl)); + + mpBlackList->set_height_request(4 * mpBlackList->GetTextHeight()); + mpWhiteList->set_height_request(4 * mpWhiteList->GetTextHeight()); +} + +SvxOpenCLTabPage::~SvxOpenCLTabPage() +{ +} + +SfxTabPage* +SvxOpenCLTabPage::Create( vcl::Window* pParent, const SfxItemSet* rAttrSet ) +{ + return new SvxOpenCLTabPage(pParent, *rAttrSet); +} + +bool SvxOpenCLTabPage::FillItemSet( SfxItemSet* ) +{ + bool bModified = false; + boost::shared_ptr<comphelper::ConfigurationChanges> batch(comphelper::ConfigurationChanges::create()); + + if (mpUseOpenCL->IsValueChangedFromSaved()) + maConfig.mbUseOpenCL = mpUseOpenCL->IsChecked(); + + if (maConfig != OpenCLConfig::get()) + { + maConfig.set(); + bModified = true; + } + + if (bModified) + batch->commit(); + + return bModified; +} + +namespace { + +OUString format(const OpenCLConfig::ImplMatcher& rImpl) +{ + return (rImpl.maOS + " " + + rImpl.maOSVersion + " " + + rImpl.maPlatformVendor + " " + + rImpl.maDevice + " " + + rImpl.maDriverVersion); +} + +void fillListBox(ListBox* pListBox, const OpenCLConfig::ImplMatcherSet& rSet) +{ + pListBox->SetUpdateMode(false); + pListBox->Clear(); + + for (auto i = rSet.cbegin(); i != rSet.cend(); ++i) + { + pListBox->InsertEntry(format(*i), LISTBOX_APPEND); + } + + pListBox->SetUpdateMode(true); +} + +} + +void SvxOpenCLTabPage::Reset( const SfxItemSet* ) +{ + maConfig = OpenCLConfig::get(); + + mpUseOpenCL->Check(maConfig.mbUseOpenCL); + mpUseOpenCL->SaveValue(); + + fillListBox(mpBlackList, maConfig.maBlackList); + fillListBox(mpWhiteList, maConfig.maWhiteList); +} + +void SvxOpenCLTabPage::FillUserData() +{ +} + +namespace { + +class ListEntryDialog : public ModalDialog +{ +public: + OpenCLConfig::ImplMatcher maEntry; + + Edit* mpOS; + Edit* mpOSVersion; + Edit* mpPlatformVendor; + Edit* mpDevice; + Edit* mpDriverVersion; + + DECL_LINK(EditModifiedHdl, Edit*); + + ListEntryDialog(vcl::Window* pParent, const OpenCLConfig::ImplMatcher& rEntry, const OString& rTag); +}; + +ListEntryDialog::ListEntryDialog(vcl::Window* pParent, const OpenCLConfig::ImplMatcher& rEntry, const OString& rTag) + : ModalDialog(pParent, "BlackOrWhiteListEntryDialog", + "cui/ui/blackorwhitelistentrydialog.ui"), + maEntry(rEntry) +{ + get(mpOS, "os"); + get(mpOSVersion, "osversion"); + get(mpPlatformVendor, "platformvendor"); + get(mpDevice, "device"); + get(mpDriverVersion, "driverversion"); + + mpOS->SetText(rEntry.maOS); + mpOSVersion->SetText(rEntry.maOSVersion); + mpPlatformVendor->SetText(rEntry.maPlatformVendor); + mpDevice->SetText(rEntry.maDevice); + mpDriverVersion->SetText(rEntry.maDriverVersion); + + mpOS->SetModifyHdl(LINK(this, ListEntryDialog, EditModifiedHdl)); + mpOSVersion->SetModifyHdl(LINK(this, ListEntryDialog, EditModifiedHdl)); + mpPlatformVendor->SetModifyHdl(LINK(this, ListEntryDialog, EditModifiedHdl)); + mpDevice->SetModifyHdl(LINK(this, ListEntryDialog, EditModifiedHdl)); + mpDriverVersion->SetModifyHdl(LINK(this, ListEntryDialog, EditModifiedHdl)); + + SetText(get<FixedText>(rTag + "title")->GetText()); +} + +IMPL_LINK(ListEntryDialog, EditModifiedHdl, Edit*, pEdit) +{ + if (pEdit == mpOS) + maEntry.maOS = pEdit->GetText(); + else if (pEdit == mpOSVersion) + maEntry.maOSVersion = pEdit->GetText(); + else if (pEdit == mpPlatformVendor) + maEntry.maPlatformVendor = pEdit->GetText(); + else if (pEdit == mpDevice) + maEntry.maDevice = pEdit->GetText(); + else if (pEdit == mpDriverVersion) + maEntry.maDriverVersion = pEdit->GetText(); + + return 0; +} + +void openListDialog(SvxOpenCLTabPage* pTabPage, OpenCLConfig::ImplMatcher& rEntry, const OString& rTag) +{ + ListEntryDialog aDlg(pTabPage, rEntry, rTag); + + if (aDlg.Execute() == RET_OK) + rEntry = aDlg.maEntry; +} + +const OpenCLConfig::ImplMatcher& findCurrentEntry(OpenCLConfig::ImplMatcherSet& rSet, ListBox* pListBox) +{ + auto i = rSet.begin(); + std::advance(i, pListBox->GetSelectEntryPos()); + + return *i; +} + +} + +long SvxOpenCLTabPage::EditHdl(ListBox* pListBox, OpenCLConfig::ImplMatcherSet& rSet, const OString& rTag) +{ + if (pListBox->GetSelectEntryPos() == LISTBOX_ENTRY_NOTFOUND) + return 0; + + OpenCLConfig::ImplMatcher rEntry(findCurrentEntry(rSet, pListBox)); + rSet.erase(rEntry); + openListDialog(this, rEntry, rTag); + rSet.insert(rEntry); + fillListBox(pListBox, rSet); + + return 0; +} + +long SvxOpenCLTabPage::AddHdl(ListBox* pListBox, OpenCLConfig::ImplMatcherSet& rSet, const OString& rTag) +{ + OpenCLConfig::ImplMatcher rEntry; + openListDialog(this, rEntry, rTag); + if (rEntry != OpenCLConfig::ImplMatcher()) + { + rSet.insert(rEntry); + fillListBox(pListBox, rSet); + } + + return 0; +} + +long SvxOpenCLTabPage::DeleteHdl(ListBox* pListBox, OpenCLConfig::ImplMatcherSet& rSet) +{ + if (pListBox->GetSelectEntryPos() == LISTBOX_ENTRY_NOTFOUND) + return 0; + + OpenCLConfig::ImplMatcher rEntry(findCurrentEntry(rSet, pListBox)); + rSet.erase(rEntry); + fillListBox(pListBox, rSet); + + return 0; +} + +IMPL_LINK_NOARG(SvxOpenCLTabPage, BlackListEditHdl) +{ + return EditHdl(mpBlackList, maConfig.maBlackList, "bledit"); +} + +IMPL_LINK_NOARG(SvxOpenCLTabPage, BlackListAddHdl) +{ + return AddHdl(mpBlackList, maConfig.maBlackList, "bladd"); +} + +IMPL_LINK_NOARG(SvxOpenCLTabPage, BlackListDeleteHdl) +{ + return DeleteHdl(mpBlackList, maConfig.maBlackList); +} + +IMPL_LINK_NOARG(SvxOpenCLTabPage, WhiteListEditHdl) +{ + return EditHdl(mpWhiteList, maConfig.maWhiteList, "wledit"); +} + +IMPL_LINK_NOARG(SvxOpenCLTabPage, WhiteListAddHdl) +{ + return AddHdl(mpWhiteList, maConfig.maWhiteList, "wladd"); +} + +IMPL_LINK_NOARG(SvxOpenCLTabPage, WhiteListDeleteHdl) +{ + return DeleteHdl(mpWhiteList, maConfig.maWhiteList); +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cui/source/options/optopencl.hxx b/cui/source/options/optopencl.hxx new file mode 100644 index 000000000000..818eec45f739 --- /dev/null +++ b/cui/source/options/optopencl.hxx @@ -0,0 +1,71 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef INCLUDED_CUI_SOURCE_OPTIONS_OPTOPENCL_HXX +#define INCLUDED_CUI_SOURCE_OPTIONS_OPTOPENCL_HXX + +#include <opencl/openclconfig.hxx> +#include <sfx2/tabdlg.hxx> +#include <svtools/simptabl.hxx> +#include <vcl/fixed.hxx> +#include <vcl/lstbox.hxx> + +class SvxOpenCLTabPage : public SfxTabPage +{ +private: + OpenCLConfig maConfig; + + CheckBox* mpUseOpenCL; + + ListBox* mpBlackList; + PushButton* mpBlackListEdit; + PushButton* mpBlackListAdd; + PushButton* mpBlackListDelete; + + ListBox* mpWhiteList; + PushButton* mpWhiteListEdit; + PushButton* mpWhiteListAdd; + PushButton* mpWhiteListDelete; + + DECL_LINK(BlackListEditHdl, void*); + DECL_LINK(BlackListAddHdl, void*); + DECL_LINK(BlackListDeleteHdl, void*); + + DECL_LINK(WhiteListEditHdl, void*); + DECL_LINK(WhiteListAddHdl, void*); + DECL_LINK(WhiteListDeleteHdl, void*); + + long EditHdl(ListBox* pListBox, OpenCLConfig::ImplMatcherSet& rSet, const OString& rTag); + long AddHdl(ListBox* pListBox, OpenCLConfig::ImplMatcherSet& rSet, const OString& rTag); + long DeleteHdl(ListBox* pListBox, OpenCLConfig::ImplMatcherSet& rSet); + +public: + SvxOpenCLTabPage( vcl::Window* pParent, const SfxItemSet& rSet ); + virtual ~SvxOpenCLTabPage(); + + static SfxTabPage* Create( vcl::Window* pParent, const SfxItemSet* rSet ); + + virtual bool FillItemSet( SfxItemSet* rSet ) SAL_OVERRIDE; + virtual void Reset( const SfxItemSet* rSet ) SAL_OVERRIDE; + virtual void FillUserData() SAL_OVERRIDE; +}; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cui/source/options/treeopt.cxx b/cui/source/options/treeopt.cxx index fd7810c7ada2..772f80f8fb10 100644 --- a/cui/source/options/treeopt.cxx +++ b/cui/source/options/treeopt.cxx @@ -47,6 +47,7 @@ #include "optjsearch.hxx" #include "optlingu.hxx" #include "optmemory.hxx" +#include "optopencl.hxx" #include "optpath.hxx" #include "optsave.hxx" #include "optupdt.hxx" @@ -320,6 +321,7 @@ SfxTabPage* CreateGeneralTabPage( sal_uInt16 nId, vcl::Window* pParent, const Sf case RID_SVXPAGE_ACCESSIBILITYCONFIG: fnCreate = &SvxAccessibilityOptionsTabPage::Create; break; case RID_SVXPAGE_OPTIONS_CTL: fnCreate = &SvxCTLOptionsPage::Create ; break; case RID_SVXPAGE_OPTIONS_JAVA: fnCreate = &SvxJavaOptionsPage::Create ; break; + case RID_SVXPAGE_OPENCL: fnCreate = &SvxOpenCLTabPage::Create ; break; case RID_SVXPAGE_ONLINEUPDATE: fnCreate = &SvxOnlineUpdateTabPage::Create; break; case RID_OPTPAGE_CHART_DEFCOLORS: fnCreate = &SvxDefaultColorOptPage::Create; break; #if HAVE_FEATURE_SCRIPTING diff --git a/cui/source/options/treeopt.src b/cui/source/options/treeopt.src index 54be930ff059..fac9779839ce 100644 --- a/cui/source/options/treeopt.src +++ b/cui/source/options/treeopt.src @@ -43,6 +43,7 @@ Resource RID_OFADLG_OPTIONS_TREE_PAGES < "Advanced" ; RID_SVXPAGE_OPTIONS_JAVA ; > ; < "Basic IDE Options" ; RID_SVXPAGE_BASICIDE_OPTIONS ; > ; < "Online Update" ; RID_SVXPAGE_ONLINEUPDATE ; > ; + < "OpenCL" ; RID_SVXPAGE_OPENCL ; > ; }; }; StringArray SID_LANGUAGE_OPTIONS diff --git a/cui/uiconfig/ui/blackorwhitelistentrydialog.ui b/cui/uiconfig/ui/blackorwhitelistentrydialog.ui new file mode 100644 index 000000000000..3c2b2384362a --- /dev/null +++ b/cui/uiconfig/ui/blackorwhitelistentrydialog.ui @@ -0,0 +1,281 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.18.3 --> +<interface> + <requires lib="gtk+" version="3.0"/> + <requires lib="LibreOffice" version="1.0"/> + <object class="GtkDialog" id="BlackOrWhiteListEntryDialog"> + <property name="can_focus">False</property> + <property name="border_width">6</property> + <property name="title" translatable="no">dummy</property> + <property name="resizable">False</property> + <property name="type_hint">dialog</property> + <child internal-child="vbox"> + <object class="GtkBox" id="dialog-vbox1"> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <property name="spacing">12</property> + <child internal-child="action_area"> + <object class="GtkButtonBox" id="dialog-action_area1"> + <property name="can_focus">False</property> + <property name="layout_style">end</property> + <child> + <object class="GtkButton" id="ok"> + <property name="label">gtk-ok</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="has_default">True</property> + <property name="receives_default">True</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="cancel"> + <property name="label">gtk-cancel</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkButton" id="help"> + <property name="label">gtk-help</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">2</property> + <property name="secondary">True</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">end</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkGrid" id="grid1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="row_spacing">12</property> + <child> + <object class="GtkGrid" id="grid4"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="row_spacing">6</property> + <child> + <object class="GtkLabel" id="label4"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">OS:</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">name</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="os"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hexpand">True</property> + <property name="width_chars">12</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label5"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">OS version:</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">name</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="osversion"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hexpand">True</property> + <property name="width_chars">22</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label6"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">OpenCL platform vendor:</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">name</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="platformvendor"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hexpand">True</property> + <property name="width_chars">12</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">3</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label7"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Device:</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">name</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">4</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="device"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hexpand">True</property> + <property name="width_chars">22</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">5</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label8"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Driver version:</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">name</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">6</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="driverversion"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hexpand">True</property> + <property name="width_chars">22</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">7</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="bledittitle"> + <property name="can_focus">False</property> + <property name="no_show_all">True</property> + <property name="label" translatable="yes">Edit Black-list Entry</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="bladdtitle"> + <property name="can_focus">False</property> + <property name="no_show_all">True</property> + <property name="label" translatable="yes">Create Black-list Entry</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">3</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="wledittitle"> + <property name="can_focus">False</property> + <property name="no_show_all">True</property> + <property name="label" translatable="yes">Edit White-list Entry</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">4</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="wladdtitle"> + <property name="can_focus">False</property> + <property name="no_show_all">True</property> + <property name="label" translatable="yes">Create White-list Entry</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">5</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + </child> + <action-widgets> + <action-widget response="0">ok</action-widget> + <action-widget response="0">cancel</action-widget> + <action-widget response="0">help</action-widget> + </action-widgets> + </object> +</interface> diff --git a/cui/uiconfig/ui/optgeneralpage.ui b/cui/uiconfig/ui/optgeneralpage.ui index d3e801593ff0..b1447c59cecd 100644 --- a/cui/uiconfig/ui/optgeneralpage.ui +++ b/cui/uiconfig/ui/optgeneralpage.ui @@ -370,46 +370,5 @@ <property name="top_attach">5</property> </packing> </child> - <child> - <object class="GtkFrame" id="openclframe"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label_xalign">0</property> - <property name="shadow_type">none</property> - <child> - <object class="GtkAlignment" id="alignment7"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="top_padding">6</property> - <property name="left_padding">12</property> - <child> - <object class="GtkCheckButton" id="useopencl"> - <property name="label" translatable="yes">Allow use of OpenCL</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="use_underline">True</property> - <property name="xalign">0</property> - <property name="draw_indicator">True</property> - </object> - </child> - </object> - </child> - <child type="label"> - <object class="GtkLabel" id="label8"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes">OpenCL</property> - <attributes> - <attribute name="weight" value="bold"/> - </attributes> - </object> - </child> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">6</property> - </packing> - </child> </object> </interface> diff --git a/cui/uiconfig/ui/optopenclpage.ui b/cui/uiconfig/ui/optopenclpage.ui new file mode 100644 index 000000000000..84fe49b0095b --- /dev/null +++ b/cui/uiconfig/ui/optopenclpage.ui @@ -0,0 +1,349 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.18.3 --> +<interface> + <requires lib="gtk+" version="3.0"/> + <object class="GtkFrame" id="OptOpenCLPage"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="border_width">6</property> + <property name="label_xalign">0</property> + <property name="shadow_type">none</property> + <child> + <object class="GtkAlignment" id="alignment1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="top_padding">6</property> + <property name="left_padding">12</property> + <child> + <object class="GtkBox" id="blacklistbox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="orientation">vertical</property> + <property name="spacing">12</property> + <child> + <object class="GtkCheckButton" id="useopencl"> + <property name="label" translatable="yes">Allow use of OpenCL</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_underline">True</property> + <property name="xalign">0</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">OpenCL black-list:</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">blacklist</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkGrid" id="grid1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="column_spacing">12</property> + <child> + <object class="GtkButtonBox" id="buttonbox1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <property name="spacing">12</property> + <property name="layout_style">start</property> + <child> + <object class="GtkButton" id="bledit"> + <property name="label" translatable="yes">_Edit...</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="bladd"> + <property name="label" translatable="yes">_Add...</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkButton" id="bldelete"> + <property name="label" translatable="yes">_Delete...</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkGrid" id="grid2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <child> + <object class="GtkGrid" id="grid3"> + <property name="can_focus">False</property> + <property name="no_show_all">True</property> + <property name="column_spacing">6</property> + <child> + <object class="GtkLabel" id="os"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">OS</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="osversion"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">OS Version</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="vendor"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Platform vendor</property> + </object> + <packing> + <property name="left_attach">3</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="device"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Device</property> + </object> + <packing> + <property name="left_attach">2</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="driverversion"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Driver version</property> + </object> + <packing> + <property name="left_attach">4</property> + <property name="top_attach">1</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkTreeView" id="blacklist"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label3"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">OpenCL white-list:</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">blacklist</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">3</property> + </packing> + </child> + <child> + <object class="GtkGrid" id="grid4"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="column_spacing">12</property> + <child> + <object class="GtkButtonBox" id="buttonbox2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <property name="spacing">12</property> + <property name="layout_style">start</property> + <child> + <object class="GtkButton" id="wledit"> + <property name="label" translatable="yes">_Edit...</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="wladd"> + <property name="label" translatable="yes">_Add...</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkButton" id="wldelete"> + <property name="label" translatable="yes">_Delete...</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkGrid" id="grid5"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <child> + <object class="GtkTreeView" id="whitelist"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">4</property> + </packing> + </child> + </object> + </child> + </object> + </child> + <child type="label"> + <object class="GtkLabel" id="label1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">OpenCL Options</property> + <attributes> + <attribute name="weight" value="bold"/> + </attributes> + </object> + </child> + </object> + <object class="GtkSizeGroup" id="sizegroup1"> + <widgets> + </widgets> + </object> +</interface> |