tdf#158003 - UI: Part 22 - Unify lockdown behavior of Options dialog
for Language - Writing Aids Page. Change-Id: I25723fb616544cd6ee7d894c3ca1aa6742748a73 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159186 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
This commit is contained in:
@@ -22,6 +22,7 @@
|
|||||||
#include <svx/langbox.hxx>
|
#include <svx/langbox.hxx>
|
||||||
#include <com/sun/star/uno/Reference.hxx>
|
#include <com/sun/star/uno/Reference.hxx>
|
||||||
#include <com/sun/star/uno/Sequence.hxx>
|
#include <com/sun/star/uno/Sequence.hxx>
|
||||||
|
#include <com/sun/star/configuration/ReadWriteAccess.hpp>
|
||||||
|
|
||||||
namespace com::sun::star{
|
namespace com::sun::star{
|
||||||
namespace beans{
|
namespace beans{
|
||||||
@@ -60,6 +61,8 @@ class SvxEditModulesDlg : public weld::GenericDialogController
|
|||||||
std::unique_ptr<weld::Button> m_xClosePB;
|
std::unique_ptr<weld::Button> m_xClosePB;
|
||||||
std::unique_ptr<SvxLanguageBox> m_xLanguageLB;
|
std::unique_ptr<SvxLanguageBox> m_xLanguageLB;
|
||||||
|
|
||||||
|
css::uno::Reference< css::configuration::XReadWriteAccess> m_xReadWriteAccess;
|
||||||
|
|
||||||
DECL_LINK( SelectHdl_Impl, weld::TreeView&, void );
|
DECL_LINK( SelectHdl_Impl, weld::TreeView&, void );
|
||||||
DECL_LINK( UpDownHdl_Impl, weld::Button&, void );
|
DECL_LINK( UpDownHdl_Impl, weld::Button&, void );
|
||||||
DECL_LINK( ClickHdl_Impl, weld::Button&, void );
|
DECL_LINK( ClickHdl_Impl, weld::Button&, void );
|
||||||
|
@@ -24,6 +24,7 @@
|
|||||||
#include <i18nlangtag/mslangid.hxx>
|
#include <i18nlangtag/mslangid.hxx>
|
||||||
#include <o3tl/safeint.hxx>
|
#include <o3tl/safeint.hxx>
|
||||||
#include <officecfg/Office/Security.hxx>
|
#include <officecfg/Office/Security.hxx>
|
||||||
|
#include <officecfg/Office/Linguistic.hxx>
|
||||||
#include <unotools/lingucfg.hxx>
|
#include <unotools/lingucfg.hxx>
|
||||||
#include <unotools/linguprops.hxx>
|
#include <unotools/linguprops.hxx>
|
||||||
#include <editeng/unolingu.hxx>
|
#include <editeng/unolingu.hxx>
|
||||||
@@ -46,6 +47,8 @@
|
|||||||
#include <com/sun/star/linguistic2/XLinguProperties.hpp>
|
#include <com/sun/star/linguistic2/XLinguProperties.hpp>
|
||||||
#include <com/sun/star/lang/XServiceDisplayName.hpp>
|
#include <com/sun/star/lang/XServiceDisplayName.hpp>
|
||||||
#include <com/sun/star/frame/XStorable.hpp>
|
#include <com/sun/star/frame/XStorable.hpp>
|
||||||
|
#include <com/sun/star/container/XNameAccess.hpp>
|
||||||
|
#include <com/sun/star/beans/PropertyAttribute.hpp>
|
||||||
#include <unotools/extendedsecurityoptions.hxx>
|
#include <unotools/extendedsecurityoptions.hxx>
|
||||||
#include <svl/eitem.hxx>
|
#include <svl/eitem.hxx>
|
||||||
#include <vcl/svapp.hxx>
|
#include <vcl/svapp.hxx>
|
||||||
@@ -1196,6 +1199,7 @@ void SvxLinguTabPage::Reset( const SfxItemSet* rSet )
|
|||||||
m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE);
|
m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||||
m_xLinguOptionsCLB->set_text(nEntry, sSpellAuto, 0);
|
m_xLinguOptionsCLB->set_text(nEntry, sSpellAuto, 0);
|
||||||
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
||||||
|
m_xLinguOptionsCLB->set_sensitive(nEntry, !aLngCfg.IsReadOnly(UPN_IS_SPELL_AUTO));
|
||||||
|
|
||||||
m_xLinguOptionsCLB->append();
|
m_xLinguOptionsCLB->append();
|
||||||
++nEntry;
|
++nEntry;
|
||||||
@@ -1205,6 +1209,7 @@ void SvxLinguTabPage::Reset( const SfxItemSet* rSet )
|
|||||||
m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE);
|
m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||||
m_xLinguOptionsCLB->set_text(nEntry, sGrammarAuto, 0);
|
m_xLinguOptionsCLB->set_text(nEntry, sGrammarAuto, 0);
|
||||||
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
||||||
|
m_xLinguOptionsCLB->set_sensitive(nEntry, !aLngCfg.IsReadOnly(UPN_IS_GRAMMAR_AUTO));
|
||||||
|
|
||||||
m_xLinguOptionsCLB->append();
|
m_xLinguOptionsCLB->append();
|
||||||
++nEntry;
|
++nEntry;
|
||||||
@@ -1214,6 +1219,7 @@ void SvxLinguTabPage::Reset( const SfxItemSet* rSet )
|
|||||||
m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE);
|
m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||||
m_xLinguOptionsCLB->set_text(nEntry, sCapitalWords, 0);
|
m_xLinguOptionsCLB->set_text(nEntry, sCapitalWords, 0);
|
||||||
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
||||||
|
m_xLinguOptionsCLB->set_sensitive(nEntry, !aLngCfg.IsReadOnly(UPN_IS_SPELL_UPPER_CASE));
|
||||||
|
|
||||||
m_xLinguOptionsCLB->append();
|
m_xLinguOptionsCLB->append();
|
||||||
++nEntry;
|
++nEntry;
|
||||||
@@ -1223,6 +1229,7 @@ void SvxLinguTabPage::Reset( const SfxItemSet* rSet )
|
|||||||
m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE);
|
m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||||
m_xLinguOptionsCLB->set_text(nEntry, sWordsWithDigits, 0);
|
m_xLinguOptionsCLB->set_text(nEntry, sWordsWithDigits, 0);
|
||||||
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
||||||
|
m_xLinguOptionsCLB->set_sensitive(nEntry, !aLngCfg.IsReadOnly(UPN_IS_SPELL_WITH_DIGITS));
|
||||||
|
|
||||||
m_xLinguOptionsCLB->append();
|
m_xLinguOptionsCLB->append();
|
||||||
++nEntry;
|
++nEntry;
|
||||||
@@ -1232,6 +1239,7 @@ void SvxLinguTabPage::Reset( const SfxItemSet* rSet )
|
|||||||
m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE);
|
m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||||
m_xLinguOptionsCLB->set_text(nEntry, sSpellClosedCompound, 0);
|
m_xLinguOptionsCLB->set_text(nEntry, sSpellClosedCompound, 0);
|
||||||
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
||||||
|
m_xLinguOptionsCLB->set_sensitive(nEntry, !aLngCfg.IsReadOnly(UPN_IS_SPELL_CLOSED_COMPOUND));
|
||||||
|
|
||||||
m_xLinguOptionsCLB->append();
|
m_xLinguOptionsCLB->append();
|
||||||
++nEntry;
|
++nEntry;
|
||||||
@@ -1241,6 +1249,7 @@ void SvxLinguTabPage::Reset( const SfxItemSet* rSet )
|
|||||||
m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE);
|
m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||||
m_xLinguOptionsCLB->set_text(nEntry, sSpellHyphenatedCompound, 0);
|
m_xLinguOptionsCLB->set_text(nEntry, sSpellHyphenatedCompound, 0);
|
||||||
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
||||||
|
m_xLinguOptionsCLB->set_sensitive(nEntry, !aLngCfg.IsReadOnly(UPN_IS_SPELL_HYPHENATED_COMPOUND));
|
||||||
|
|
||||||
m_xLinguOptionsCLB->append();
|
m_xLinguOptionsCLB->append();
|
||||||
++nEntry;
|
++nEntry;
|
||||||
@@ -1250,6 +1259,7 @@ void SvxLinguTabPage::Reset( const SfxItemSet* rSet )
|
|||||||
m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE);
|
m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||||
m_xLinguOptionsCLB->set_text(nEntry, sSpellSpecial, 0);
|
m_xLinguOptionsCLB->set_text(nEntry, sSpellSpecial, 0);
|
||||||
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
||||||
|
m_xLinguOptionsCLB->set_sensitive(nEntry, !aLngCfg.IsReadOnly(UPN_IS_SPELL_SPECIAL));
|
||||||
|
|
||||||
m_xLinguOptionsCLB->append();
|
m_xLinguOptionsCLB->append();
|
||||||
++nEntry;
|
++nEntry;
|
||||||
@@ -1258,6 +1268,7 @@ void SvxLinguTabPage::Reset( const SfxItemSet* rSet )
|
|||||||
nUserData = OptionsUserData( EID_NUM_MIN_WORDLEN, true, static_cast<sal_uInt16>(nVal), false, false).GetUserData();
|
nUserData = OptionsUserData( EID_NUM_MIN_WORDLEN, true, static_cast<sal_uInt16>(nVal), false, false).GetUserData();
|
||||||
m_xLinguOptionsCLB->set_text(nEntry, sNumMinWordlen + " " + OUString::number(nVal), 0);
|
m_xLinguOptionsCLB->set_text(nEntry, sNumMinWordlen + " " + OUString::number(nVal), 0);
|
||||||
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
||||||
|
m_xLinguOptionsCLB->set_sensitive(nEntry, !aLngCfg.IsReadOnly(UPN_HYPH_MIN_WORD_LENGTH));
|
||||||
nUPN_HYPH_MIN_WORD_LENGTH = nEntry;
|
nUPN_HYPH_MIN_WORD_LENGTH = nEntry;
|
||||||
|
|
||||||
const SfxHyphenRegionItem *pHyp = nullptr;
|
const SfxHyphenRegionItem *pHyp = nullptr;
|
||||||
@@ -1273,6 +1284,7 @@ void SvxLinguTabPage::Reset( const SfxItemSet* rSet )
|
|||||||
nUserData = OptionsUserData( EID_NUM_PRE_BREAK, true, static_cast<sal_uInt16>(nVal), false, false).GetUserData();
|
nUserData = OptionsUserData( EID_NUM_PRE_BREAK, true, static_cast<sal_uInt16>(nVal), false, false).GetUserData();
|
||||||
m_xLinguOptionsCLB->set_text(nEntry, sNumPreBreak + " " + OUString::number(nVal), 0);
|
m_xLinguOptionsCLB->set_text(nEntry, sNumPreBreak + " " + OUString::number(nVal), 0);
|
||||||
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
||||||
|
m_xLinguOptionsCLB->set_sensitive(nEntry, !aLngCfg.IsReadOnly(UPN_HYPH_MIN_LEADING));
|
||||||
nUPN_HYPH_MIN_LEADING = nEntry;
|
nUPN_HYPH_MIN_LEADING = nEntry;
|
||||||
|
|
||||||
m_xLinguOptionsCLB->append();
|
m_xLinguOptionsCLB->append();
|
||||||
@@ -1284,6 +1296,7 @@ void SvxLinguTabPage::Reset( const SfxItemSet* rSet )
|
|||||||
nUserData = OptionsUserData( EID_NUM_POST_BREAK, true, static_cast<sal_uInt16>(nVal), false, false).GetUserData();
|
nUserData = OptionsUserData( EID_NUM_POST_BREAK, true, static_cast<sal_uInt16>(nVal), false, false).GetUserData();
|
||||||
m_xLinguOptionsCLB->set_text(nEntry, sNumPostBreak + " " + OUString::number(nVal), 0);
|
m_xLinguOptionsCLB->set_text(nEntry, sNumPostBreak + " " + OUString::number(nVal), 0);
|
||||||
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
||||||
|
m_xLinguOptionsCLB->set_sensitive(nEntry, !aLngCfg.IsReadOnly(UPN_HYPH_MIN_TRAILING));
|
||||||
nUPN_HYPH_MIN_TRAILING = nEntry;
|
nUPN_HYPH_MIN_TRAILING = nEntry;
|
||||||
|
|
||||||
m_xLinguOptionsCLB->append();
|
m_xLinguOptionsCLB->append();
|
||||||
@@ -1294,6 +1307,7 @@ void SvxLinguTabPage::Reset( const SfxItemSet* rSet )
|
|||||||
m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE);
|
m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||||
m_xLinguOptionsCLB->set_text(nEntry, sHyphAuto, 0);
|
m_xLinguOptionsCLB->set_text(nEntry, sHyphAuto, 0);
|
||||||
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
||||||
|
m_xLinguOptionsCLB->set_sensitive(nEntry, !aLngCfg.IsReadOnly(UPN_IS_HYPH_AUTO));
|
||||||
|
|
||||||
m_xLinguOptionsCLB->append();
|
m_xLinguOptionsCLB->append();
|
||||||
++nEntry;
|
++nEntry;
|
||||||
@@ -1303,6 +1317,7 @@ void SvxLinguTabPage::Reset( const SfxItemSet* rSet )
|
|||||||
m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE);
|
m_xLinguOptionsCLB->set_toggle(nEntry, bVal ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||||
m_xLinguOptionsCLB->set_text(nEntry, sHyphSpecial, 0);
|
m_xLinguOptionsCLB->set_text(nEntry, sHyphSpecial, 0);
|
||||||
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
m_xLinguOptionsCLB->set_id(nEntry, OUString::number(nUserData));
|
||||||
|
m_xLinguOptionsCLB->set_sensitive(nEntry, !aLngCfg.IsReadOnly(UPN_IS_HYPH_SPECIAL));
|
||||||
|
|
||||||
m_xLinguOptionsCLB->thaw();
|
m_xLinguOptionsCLB->thaw();
|
||||||
|
|
||||||
@@ -1315,6 +1330,15 @@ void SvxLinguTabPage::Reset( const SfxItemSet* rSet )
|
|||||||
m_xLinguDicsCLB->get_height_rows(5));
|
m_xLinguDicsCLB->get_height_rows(5));
|
||||||
m_xLinguOptionsCLB->set_size_request(m_xLinguOptionsCLB->get_preferred_size().Width(),
|
m_xLinguOptionsCLB->set_size_request(m_xLinguOptionsCLB->get_preferred_size().Width(),
|
||||||
m_xLinguOptionsCLB->get_height_rows(5));
|
m_xLinguOptionsCLB->get_height_rows(5));
|
||||||
|
|
||||||
|
if (officecfg::Office::Linguistic::General::DictionaryList::ActiveDictionaries::isReadOnly())
|
||||||
|
{
|
||||||
|
m_xLinguDicsFT->set_sensitive(false);
|
||||||
|
m_xLinguDicsCLB->set_sensitive(false);
|
||||||
|
m_xLinguDicsNewPB->set_sensitive(false);
|
||||||
|
m_xLinguDicsEditPB->set_sensitive(false);
|
||||||
|
m_xLinguDicsDelPB->set_sensitive(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
IMPL_LINK(SvxLinguTabPage, BoxDoubleClickHdl_Impl, weld::TreeView&, rBox, bool)
|
IMPL_LINK(SvxLinguTabPage, BoxDoubleClickHdl_Impl, weld::TreeView&, rBox, bool)
|
||||||
@@ -1625,6 +1649,9 @@ SvxEditModulesDlg::SvxEditModulesDlg(weld::Window* pParent, SvxLinguData_Impl& r
|
|||||||
if (m_xLanguageLB->get_active_id() != eSysLang)
|
if (m_xLanguageLB->get_active_id() != eSysLang)
|
||||||
m_xLanguageLB->set_active(0);
|
m_xLanguageLB->set_active(0);
|
||||||
|
|
||||||
|
css::uno::Reference < css::uno::XComponentContext > xContext(::comphelper::getProcessComponentContext());
|
||||||
|
m_xReadWriteAccess = css::configuration::ReadWriteAccess::create(xContext, "*");
|
||||||
|
|
||||||
m_xLanguageLB->connect_changed( LINK( this, SvxEditModulesDlg, LangSelectListBoxHdl_Impl ));
|
m_xLanguageLB->connect_changed( LINK( this, SvxEditModulesDlg, LangSelectListBoxHdl_Impl ));
|
||||||
LangSelectHdl_Impl(m_xLanguageLB.get());
|
LangSelectHdl_Impl(m_xLanguageLB.get());
|
||||||
}
|
}
|
||||||
@@ -1753,6 +1780,7 @@ void SvxEditModulesDlg::LangSelectHdl_Impl(const SvxLanguageBox* pBox)
|
|||||||
{
|
{
|
||||||
sal_Int32 n;
|
sal_Int32 n;
|
||||||
ServiceInfo_Impl* pInfo;
|
ServiceInfo_Impl* pInfo;
|
||||||
|
bool bReadOnly = false;
|
||||||
|
|
||||||
int nRow = 0;
|
int nRow = 0;
|
||||||
// spellchecker entries
|
// spellchecker entries
|
||||||
@@ -1766,6 +1794,14 @@ void SvxEditModulesDlg::LangSelectHdl_Impl(const SvxLanguageBox* pBox)
|
|||||||
m_xModulesCLB->set_text_emphasis(nRow, true, 0);
|
m_xModulesCLB->set_text_emphasis(nRow, true, 0);
|
||||||
++nRow;
|
++nRow;
|
||||||
|
|
||||||
|
OUString aLangNodeName = LanguageTag::convertToBcp47(aCurLocale);
|
||||||
|
OUString aConfigPath = officecfg::Office::Linguistic::ServiceManager::path() + "/SpellCheckerList/" + aLangNodeName;
|
||||||
|
if (m_xReadWriteAccess->hasPropertyByHierarchicalName(aConfigPath))
|
||||||
|
{
|
||||||
|
css::beans::Property aProperty = m_xReadWriteAccess->getPropertyByHierarchicalName(aConfigPath);
|
||||||
|
bReadOnly = (aProperty.Attributes & css::beans::PropertyAttribute::READONLY) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
Sequence< OUString > aNames( rLinguData.GetSortedImplNames( eCurLanguage, TYPE_SPELL ) );
|
Sequence< OUString > aNames( rLinguData.GetSortedImplNames( eCurLanguage, TYPE_SPELL ) );
|
||||||
const OUString *pName = aNames.getConstArray();
|
const OUString *pName = aNames.getConstArray();
|
||||||
sal_Int32 nNames = aNames.getLength();
|
sal_Int32 nNames = aNames.getLength();
|
||||||
@@ -1802,6 +1838,7 @@ void SvxEditModulesDlg::LangSelectHdl_Impl(const SvxLanguageBox* pBox)
|
|||||||
m_xModulesCLB->set_toggle(nRow, bCheck ? TRISTATE_TRUE : TRISTATE_FALSE);
|
m_xModulesCLB->set_toggle(nRow, bCheck ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||||
m_xModulesCLB->set_text(nRow, aTxt, 0);
|
m_xModulesCLB->set_text(nRow, aTxt, 0);
|
||||||
m_xModulesCLB->set_text_emphasis(nRow, false, 0);
|
m_xModulesCLB->set_text_emphasis(nRow, false, 0);
|
||||||
|
m_xModulesCLB->set_sensitive(nRow, !bReadOnly);
|
||||||
++nRow;
|
++nRow;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1816,6 +1853,13 @@ void SvxEditModulesDlg::LangSelectHdl_Impl(const SvxLanguageBox* pBox)
|
|||||||
m_xModulesCLB->set_text_emphasis(nRow, true, 0);
|
m_xModulesCLB->set_text_emphasis(nRow, true, 0);
|
||||||
++nRow;
|
++nRow;
|
||||||
|
|
||||||
|
aConfigPath = officecfg::Office::Linguistic::ServiceManager::path() + "/GrammarCheckerList/" + aLangNodeName;
|
||||||
|
if (m_xReadWriteAccess->hasPropertyByHierarchicalName(aConfigPath))
|
||||||
|
{
|
||||||
|
css::beans::Property aProperty = m_xReadWriteAccess->getPropertyByHierarchicalName(aConfigPath);
|
||||||
|
bReadOnly = (aProperty.Attributes & css::beans::PropertyAttribute::READONLY) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
aNames = rLinguData.GetSortedImplNames( eCurLanguage, TYPE_GRAMMAR );
|
aNames = rLinguData.GetSortedImplNames( eCurLanguage, TYPE_GRAMMAR );
|
||||||
pName = aNames.getConstArray();
|
pName = aNames.getConstArray();
|
||||||
nNames = aNames.getLength();
|
nNames = aNames.getLength();
|
||||||
@@ -1853,6 +1897,7 @@ void SvxEditModulesDlg::LangSelectHdl_Impl(const SvxLanguageBox* pBox)
|
|||||||
m_xModulesCLB->set_toggle(nRow, bCheck ? TRISTATE_TRUE : TRISTATE_FALSE);
|
m_xModulesCLB->set_toggle(nRow, bCheck ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||||
m_xModulesCLB->set_text(nRow, aTxt, 0);
|
m_xModulesCLB->set_text(nRow, aTxt, 0);
|
||||||
m_xModulesCLB->set_text_emphasis(nRow, false, 0);
|
m_xModulesCLB->set_text_emphasis(nRow, false, 0);
|
||||||
|
m_xModulesCLB->set_sensitive(nRow, !bReadOnly);
|
||||||
++nRow;
|
++nRow;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1867,6 +1912,13 @@ void SvxEditModulesDlg::LangSelectHdl_Impl(const SvxLanguageBox* pBox)
|
|||||||
m_xModulesCLB->set_text_emphasis(nRow, true, 0);
|
m_xModulesCLB->set_text_emphasis(nRow, true, 0);
|
||||||
++nRow;
|
++nRow;
|
||||||
|
|
||||||
|
aConfigPath = officecfg::Office::Linguistic::ServiceManager::path() + "/HyphenatorList/" + aLangNodeName;
|
||||||
|
if (m_xReadWriteAccess->hasPropertyByHierarchicalName(aConfigPath))
|
||||||
|
{
|
||||||
|
css::beans::Property aProperty = m_xReadWriteAccess->getPropertyByHierarchicalName(aConfigPath);
|
||||||
|
bReadOnly = (aProperty.Attributes & css::beans::PropertyAttribute::READONLY) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
aNames = rLinguData.GetSortedImplNames( eCurLanguage, TYPE_HYPH );
|
aNames = rLinguData.GetSortedImplNames( eCurLanguage, TYPE_HYPH );
|
||||||
pName = aNames.getConstArray();
|
pName = aNames.getConstArray();
|
||||||
nNames = aNames.getLength();
|
nNames = aNames.getLength();
|
||||||
@@ -1903,6 +1955,7 @@ void SvxEditModulesDlg::LangSelectHdl_Impl(const SvxLanguageBox* pBox)
|
|||||||
m_xModulesCLB->set_toggle(nRow, bCheck ? TRISTATE_TRUE : TRISTATE_FALSE);
|
m_xModulesCLB->set_toggle(nRow, bCheck ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||||
m_xModulesCLB->set_text(nRow, aTxt, 0);
|
m_xModulesCLB->set_text(nRow, aTxt, 0);
|
||||||
m_xModulesCLB->set_text_emphasis(nRow, false, 0);
|
m_xModulesCLB->set_text_emphasis(nRow, false, 0);
|
||||||
|
m_xModulesCLB->set_sensitive(nRow, !bReadOnly);
|
||||||
++nRow;
|
++nRow;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1917,6 +1970,13 @@ void SvxEditModulesDlg::LangSelectHdl_Impl(const SvxLanguageBox* pBox)
|
|||||||
m_xModulesCLB->set_text_emphasis(nRow, true, 0);
|
m_xModulesCLB->set_text_emphasis(nRow, true, 0);
|
||||||
++nRow;
|
++nRow;
|
||||||
|
|
||||||
|
aConfigPath = officecfg::Office::Linguistic::ServiceManager::path() + "/ThesaurusList/" + aLangNodeName;
|
||||||
|
if (m_xReadWriteAccess->hasPropertyByHierarchicalName(aConfigPath))
|
||||||
|
{
|
||||||
|
css::beans::Property aProperty = m_xReadWriteAccess->getPropertyByHierarchicalName(aConfigPath);
|
||||||
|
bReadOnly = (aProperty.Attributes & css::beans::PropertyAttribute::READONLY) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
aNames = rLinguData.GetSortedImplNames( eCurLanguage, TYPE_THES );
|
aNames = rLinguData.GetSortedImplNames( eCurLanguage, TYPE_THES );
|
||||||
pName = aNames.getConstArray();
|
pName = aNames.getConstArray();
|
||||||
nNames = aNames.getLength();
|
nNames = aNames.getLength();
|
||||||
@@ -1953,6 +2013,7 @@ void SvxEditModulesDlg::LangSelectHdl_Impl(const SvxLanguageBox* pBox)
|
|||||||
m_xModulesCLB->set_toggle(nRow, bCheck ? TRISTATE_TRUE : TRISTATE_FALSE);
|
m_xModulesCLB->set_toggle(nRow, bCheck ? TRISTATE_TRUE : TRISTATE_FALSE);
|
||||||
m_xModulesCLB->set_text(nRow, aTxt, 0);
|
m_xModulesCLB->set_text(nRow, aTxt, 0);
|
||||||
m_xModulesCLB->set_text_emphasis(nRow, false, 0);
|
m_xModulesCLB->set_text_emphasis(nRow, false, 0);
|
||||||
|
m_xModulesCLB->set_sensitive(nRow, !bReadOnly);
|
||||||
++nRow;
|
++nRow;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user