Add new helper class to cui for SvxConfigPage
And kill the temporary namespace killmelater. This class will contain helper functions/methods for use of the tab pages of the Customize Dialog. Change-Id: I63a05c9495a79009ed5b47f7790a46cff9f58c6a Reviewed-on: https://gerrit.libreoffice.org/39617 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Muhammet Kara <muhammet.kara@pardus.org.tr> Reviewed-on: https://gerrit.libreoffice.org/40308
This commit is contained in:
@@ -88,6 +88,7 @@ $(eval $(call gb_Library_add_exception_objects,cui,\
|
||||
cui/source/customize/cfgutil \
|
||||
cui/source/customize/eventdlg \
|
||||
cui/source/customize/macropg \
|
||||
cui/source/customize/SvxConfigPageHelper \
|
||||
cui/source/customize/SvxMenuConfigPage \
|
||||
cui/source/customize/SvxToolbarConfigPage \
|
||||
cui/source/dialogs/about \
|
||||
|
476
cui/source/customize/SvxConfigPageHelper.cxx
Normal file
476
cui/source/customize/SvxConfigPageHelper.cxx
Normal file
@@ -0,0 +1,476 @@
|
||||
/* -*- 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 "SvxConfigPageHelper.hxx"
|
||||
|
||||
static sal_Int16 theImageType =
|
||||
css::ui::ImageType::COLOR_NORMAL |
|
||||
css::ui::ImageType::SIZE_DEFAULT;
|
||||
|
||||
void SvxConfigPageHelper::RemoveEntry( SvxEntries* pEntries, SvxConfigEntry* pChildEntry )
|
||||
{
|
||||
SvxEntries::iterator iter = pEntries->begin();
|
||||
|
||||
while ( iter != pEntries->end() )
|
||||
{
|
||||
if ( pChildEntry == *iter )
|
||||
{
|
||||
pEntries->erase( iter );
|
||||
break;
|
||||
}
|
||||
++iter;
|
||||
}
|
||||
}
|
||||
|
||||
OUString SvxConfigPageHelper::replaceSaveInName( const OUString& rMessage, const OUString& rSaveInName )
|
||||
{
|
||||
const OUString placeholder("%SAVE IN SELECTION%" );
|
||||
|
||||
OUString name = rMessage.replaceFirst(placeholder, rSaveInName);
|
||||
|
||||
return name;
|
||||
}
|
||||
|
||||
OUString SvxConfigPageHelper::stripHotKey( const OUString& str )
|
||||
{
|
||||
return str.replaceFirst("~", "");
|
||||
}
|
||||
|
||||
OUString SvxConfigPageHelper::replaceSixteen( const OUString& str, sal_Int32 nReplacement )
|
||||
{
|
||||
return str.replaceAll( OUString::number( 16 ), OUString::number( nReplacement ));
|
||||
}
|
||||
|
||||
sal_Int16 SvxConfigPageHelper::GetImageType()
|
||||
{
|
||||
return theImageType;
|
||||
}
|
||||
|
||||
void SvxConfigPageHelper::InitImageType()
|
||||
{
|
||||
theImageType =
|
||||
css::ui::ImageType::COLOR_NORMAL |
|
||||
css::ui::ImageType::SIZE_DEFAULT;
|
||||
|
||||
if (SvtMiscOptions().GetSymbolsSize() == SFX_SYMBOLS_SIZE_LARGE)
|
||||
{
|
||||
theImageType |= css::ui::ImageType::SIZE_LARGE;
|
||||
}
|
||||
else if (SvtMiscOptions().GetSymbolsSize() == SFX_SYMBOLS_SIZE_32)
|
||||
{
|
||||
theImageType |= css::ui::ImageType::SIZE_32;
|
||||
}
|
||||
}
|
||||
|
||||
css::uno::Reference< css::graphic::XGraphic > SvxConfigPageHelper::GetGraphic(
|
||||
const css::uno::Reference< css::ui::XImageManager >& xImageManager,
|
||||
const OUString& rCommandURL )
|
||||
{
|
||||
css::uno::Reference< css::graphic::XGraphic > result;
|
||||
|
||||
if ( xImageManager.is() )
|
||||
{
|
||||
// TODO handle large graphics
|
||||
css::uno::Sequence< css::uno::Reference< css::graphic::XGraphic > > aGraphicSeq;
|
||||
|
||||
css::uno::Sequence<OUString> aImageCmdSeq { rCommandURL };
|
||||
|
||||
try
|
||||
{
|
||||
aGraphicSeq =
|
||||
xImageManager->getImages( GetImageType(), aImageCmdSeq );
|
||||
|
||||
if ( aGraphicSeq.getLength() > 0 )
|
||||
{
|
||||
result = aGraphicSeq[0];
|
||||
}
|
||||
}
|
||||
catch ( css::uno::Exception& )
|
||||
{
|
||||
// will return empty XGraphic
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
OUString
|
||||
SvxConfigPageHelper::generateCustomName(
|
||||
const OUString& prefix,
|
||||
SvxEntries* entries,
|
||||
sal_Int32 suffix /*= 1*/ )
|
||||
{
|
||||
OUString name;
|
||||
sal_Int32 pos = 0;
|
||||
|
||||
// find and replace the %n placeholder in the prefix string
|
||||
name = prefix.replaceFirst( "%n", OUString::number( suffix ), &pos );
|
||||
|
||||
if ( pos == -1 )
|
||||
{
|
||||
// no placeholder found so just append the suffix
|
||||
name += OUString::number( suffix );
|
||||
}
|
||||
|
||||
if (!entries)
|
||||
return name;
|
||||
|
||||
// now check if there is an already existing entry with this name
|
||||
SvxEntries::const_iterator iter = entries->begin();
|
||||
|
||||
while ( iter != entries->end() )
|
||||
{
|
||||
SvxConfigEntry* pEntry = *iter;
|
||||
|
||||
if ( name.equals( pEntry->GetName() ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
++iter;
|
||||
}
|
||||
|
||||
if ( iter != entries->end() )
|
||||
{
|
||||
// name already exists so try the next number up
|
||||
return generateCustomName( prefix, entries, ++suffix );
|
||||
}
|
||||
|
||||
return name;
|
||||
}
|
||||
|
||||
OUString SvxConfigPageHelper::generateCustomMenuURL(
|
||||
SvxEntries* entries,
|
||||
sal_Int32 suffix /*= 1*/ )
|
||||
{
|
||||
OUString url = "vnd.openoffice.org:CustomMenu" + OUString::number( suffix );
|
||||
if (!entries)
|
||||
return url;
|
||||
|
||||
// now check is there is an already existing entry with this url
|
||||
SvxEntries::const_iterator iter = entries->begin();
|
||||
|
||||
while ( iter != entries->end() )
|
||||
{
|
||||
SvxConfigEntry* pEntry = *iter;
|
||||
|
||||
if ( url.equals( pEntry->GetCommand() ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
++iter;
|
||||
}
|
||||
|
||||
if ( iter != entries->end() )
|
||||
{
|
||||
// url already exists so try the next number up
|
||||
return generateCustomMenuURL( entries, ++suffix );
|
||||
}
|
||||
|
||||
return url;
|
||||
}
|
||||
|
||||
sal_uInt32 SvxConfigPageHelper::generateRandomValue()
|
||||
{
|
||||
return comphelper::rng::uniform_uint_distribution(0, std::numeric_limits<unsigned int>::max());
|
||||
}
|
||||
|
||||
OUString SvxConfigPageHelper::generateCustomURL( SvxEntries* entries )
|
||||
{
|
||||
OUString url = ITEM_TOOLBAR_URL;
|
||||
url += CUSTOM_TOOLBAR_STR;
|
||||
|
||||
// use a random number to minimize possible clash with existing custom toolbars
|
||||
url += OUString::number( generateRandomValue(), 16 );
|
||||
|
||||
// now check is there is an already existing entry with this url
|
||||
SvxEntries::const_iterator iter = entries->begin();
|
||||
|
||||
while ( iter != entries->end() )
|
||||
{
|
||||
SvxConfigEntry* pEntry = *iter;
|
||||
|
||||
if ( url.equals( pEntry->GetCommand() ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
++iter;
|
||||
}
|
||||
|
||||
if ( iter != entries->end() )
|
||||
{
|
||||
// url already exists so try the next number up
|
||||
return generateCustomURL( entries );
|
||||
}
|
||||
|
||||
return url;
|
||||
}
|
||||
|
||||
OUString SvxConfigPageHelper::GetModuleName( const OUString& aModuleId )
|
||||
{
|
||||
if ( aModuleId == "com.sun.star.text.TextDocument" ||
|
||||
aModuleId == "com.sun.star.text.GlobalDocument" )
|
||||
return OUString("Writer");
|
||||
else if ( aModuleId == "com.sun.star.text.WebDocument" )
|
||||
return OUString("Writer/Web");
|
||||
else if ( aModuleId == "com.sun.star.drawing.DrawingDocument" )
|
||||
return OUString("Draw");
|
||||
else if ( aModuleId == "com.sun.star.presentation.PresentationDocument" )
|
||||
return OUString("Impress");
|
||||
else if ( aModuleId == "com.sun.star.sheet.SpreadsheetDocument" )
|
||||
return OUString("Calc");
|
||||
else if ( aModuleId == "com.sun.star.script.BasicIDE" )
|
||||
return OUString("Basic");
|
||||
else if ( aModuleId == "com.sun.star.formula.FormulaProperties" )
|
||||
return OUString("Math");
|
||||
else if ( aModuleId == "com.sun.star.sdb.RelationDesign" )
|
||||
return OUString("Relation Design");
|
||||
else if ( aModuleId == "com.sun.star.sdb.QueryDesign" )
|
||||
return OUString("Query Design");
|
||||
else if ( aModuleId == "com.sun.star.sdb.TableDesign" )
|
||||
return OUString("Table Design");
|
||||
else if ( aModuleId == "com.sun.star.sdb.DataSourceBrowser" )
|
||||
return OUString("Data Source Browser" );
|
||||
else if ( aModuleId == "com.sun.star.sdb.DatabaseDocument" )
|
||||
return OUString("Database" );
|
||||
|
||||
return OUString();
|
||||
}
|
||||
|
||||
OUString SvxConfigPageHelper::GetUIModuleName(
|
||||
const OUString& aModuleId,
|
||||
const css::uno::Reference< css::frame::XModuleManager2 >& rModuleManager )
|
||||
{
|
||||
assert(rModuleManager.is());
|
||||
|
||||
OUString aModuleUIName;
|
||||
|
||||
try
|
||||
{
|
||||
css::uno::Any a = rModuleManager->getByName( aModuleId );
|
||||
css::uno::Sequence< css::beans::PropertyValue > aSeq;
|
||||
|
||||
if ( a >>= aSeq )
|
||||
{
|
||||
for ( sal_Int32 i = 0; i < aSeq.getLength(); ++i )
|
||||
{
|
||||
if ( aSeq[i].Name == "ooSetupFactoryUIName" )
|
||||
{
|
||||
aSeq[i].Value >>= aModuleUIName;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch ( css::uno::RuntimeException& )
|
||||
{
|
||||
throw;
|
||||
}
|
||||
catch ( css::uno::Exception& )
|
||||
{
|
||||
}
|
||||
|
||||
if ( aModuleUIName.isEmpty() )
|
||||
aModuleUIName = GetModuleName( aModuleId );
|
||||
|
||||
return aModuleUIName;
|
||||
}
|
||||
|
||||
bool SvxConfigPageHelper::GetMenuItemData(
|
||||
const css::uno::Reference< css::container::XIndexAccess >& rItemContainer,
|
||||
sal_Int32 nIndex,
|
||||
OUString& rCommandURL,
|
||||
OUString& rLabel,
|
||||
sal_uInt16& rType,
|
||||
css::uno::Reference< css::container::XIndexAccess >& rSubMenu )
|
||||
{
|
||||
try
|
||||
{
|
||||
css::uno::Sequence< css::beans::PropertyValue > aProp;
|
||||
if ( rItemContainer->getByIndex( nIndex ) >>= aProp )
|
||||
{
|
||||
for ( sal_Int32 i = 0; i < aProp.getLength(); ++i )
|
||||
{
|
||||
if ( aProp[i].Name == ITEM_DESCRIPTOR_COMMANDURL )
|
||||
{
|
||||
aProp[i].Value >>= rCommandURL;
|
||||
}
|
||||
else if ( aProp[i].Name == ITEM_DESCRIPTOR_CONTAINER )
|
||||
{
|
||||
aProp[i].Value >>= rSubMenu;
|
||||
}
|
||||
else if ( aProp[i].Name == ITEM_DESCRIPTOR_LABEL )
|
||||
{
|
||||
aProp[i].Value >>= rLabel;
|
||||
}
|
||||
else if ( aProp[i].Name == ITEM_DESCRIPTOR_TYPE )
|
||||
{
|
||||
aProp[i].Value >>= rType;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
catch ( css::lang::IndexOutOfBoundsException& )
|
||||
{
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool SvxConfigPageHelper::GetToolbarItemData(
|
||||
const css::uno::Reference< css::container::XIndexAccess >& rItemContainer,
|
||||
sal_Int32 nIndex,
|
||||
OUString& rCommandURL,
|
||||
OUString& rLabel,
|
||||
sal_uInt16& rType,
|
||||
bool& rIsVisible,
|
||||
sal_Int32& rStyle )
|
||||
{
|
||||
try
|
||||
{
|
||||
css::uno::Sequence< css::beans::PropertyValue > aProp;
|
||||
if ( rItemContainer->getByIndex( nIndex ) >>= aProp )
|
||||
{
|
||||
for ( sal_Int32 i = 0; i < aProp.getLength(); ++i )
|
||||
{
|
||||
if ( aProp[i].Name == ITEM_DESCRIPTOR_COMMANDURL )
|
||||
{
|
||||
aProp[i].Value >>= rCommandURL;
|
||||
}
|
||||
else if ( aProp[i].Name == ITEM_DESCRIPTOR_STYLE )
|
||||
{
|
||||
aProp[i].Value >>= rStyle;
|
||||
}
|
||||
else if ( aProp[i].Name == ITEM_DESCRIPTOR_LABEL )
|
||||
{
|
||||
aProp[i].Value >>= rLabel;
|
||||
}
|
||||
else if ( aProp[i].Name == ITEM_DESCRIPTOR_TYPE )
|
||||
{
|
||||
aProp[i].Value >>= rType;
|
||||
}
|
||||
else if ( aProp[i].Name == ITEM_DESCRIPTOR_ISVISIBLE )
|
||||
{
|
||||
aProp[i].Value >>= rIsVisible;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
catch ( css::lang::IndexOutOfBoundsException& )
|
||||
{
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
css::uno::Sequence< css::beans::PropertyValue > SvxConfigPageHelper::ConvertSvxConfigEntry(
|
||||
const SvxConfigEntry* pEntry )
|
||||
{
|
||||
css::uno::Sequence< css::beans::PropertyValue > aPropSeq( 3 );
|
||||
|
||||
aPropSeq[0].Name = ITEM_DESCRIPTOR_COMMANDURL;
|
||||
aPropSeq[0].Value <<= pEntry->GetCommand();
|
||||
|
||||
aPropSeq[1].Name = ITEM_DESCRIPTOR_TYPE;
|
||||
aPropSeq[1].Value <<= css::ui::ItemType::DEFAULT;
|
||||
|
||||
// If the name has not been changed, then the label can be stored
|
||||
// as an empty string.
|
||||
// It will be initialised again later using the command to label map.
|
||||
aPropSeq[2].Name = ITEM_DESCRIPTOR_LABEL;
|
||||
if ( !pEntry->HasChangedName() && !pEntry->GetCommand().isEmpty() )
|
||||
{
|
||||
aPropSeq[2].Value <<= OUString();
|
||||
}
|
||||
else
|
||||
{
|
||||
aPropSeq[2].Value <<= pEntry->GetName();
|
||||
}
|
||||
|
||||
return aPropSeq;
|
||||
}
|
||||
|
||||
css::uno::Sequence< css::beans::PropertyValue > SvxConfigPageHelper::ConvertToolbarEntry(
|
||||
const SvxConfigEntry* pEntry )
|
||||
{
|
||||
css::uno::Sequence< css::beans::PropertyValue > aPropSeq( 4 );
|
||||
|
||||
aPropSeq[0].Name = ITEM_DESCRIPTOR_COMMANDURL;
|
||||
aPropSeq[0].Value <<= pEntry->GetCommand();
|
||||
|
||||
aPropSeq[1].Name = ITEM_DESCRIPTOR_TYPE;
|
||||
aPropSeq[1].Value <<= css::ui::ItemType::DEFAULT;
|
||||
|
||||
// If the name has not been changed, then the label can be stored
|
||||
// as an empty string.
|
||||
// It will be initialised again later using the command to label map.
|
||||
aPropSeq[2].Name = ITEM_DESCRIPTOR_LABEL;
|
||||
if ( !pEntry->HasChangedName() && !pEntry->GetCommand().isEmpty() )
|
||||
{
|
||||
aPropSeq[2].Value <<= OUString();
|
||||
}
|
||||
else
|
||||
{
|
||||
aPropSeq[2].Value <<= pEntry->GetName();
|
||||
}
|
||||
|
||||
aPropSeq[3].Name = ITEM_DESCRIPTOR_ISVISIBLE;
|
||||
aPropSeq[3].Value <<= pEntry->IsVisible();
|
||||
|
||||
return aPropSeq;
|
||||
}
|
||||
|
||||
bool SvxConfigPageHelper::showKeyConfigTabPage(
|
||||
const css::uno::Reference< css::frame::XFrame >& xFrame )
|
||||
{
|
||||
if (!xFrame.is())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
OUString sModuleId(
|
||||
css::frame::ModuleManager::create(
|
||||
comphelper::getProcessComponentContext())
|
||||
->identify(xFrame));
|
||||
return !sModuleId.isEmpty()
|
||||
&& sModuleId != "com.sun.star.frame.StartModule";
|
||||
}
|
||||
|
||||
bool SvxConfigPageHelper::EntrySort( SvxConfigEntry* a, SvxConfigEntry* b )
|
||||
{
|
||||
return a->GetName().compareTo( b->GetName() ) < 0;
|
||||
}
|
||||
|
||||
bool SvxConfigPageHelper::SvxConfigEntryModified( SvxConfigEntry* pEntry )
|
||||
{
|
||||
SvxEntries* pEntries = pEntry->GetEntries();
|
||||
if ( !pEntries )
|
||||
return false;
|
||||
|
||||
for ( const auto& entry : *pEntries )
|
||||
{
|
||||
if ( entry->IsModified() || SvxConfigEntryModified( entry ) )
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
@@ -59,6 +59,7 @@
|
||||
#include "acccfg.hxx"
|
||||
#include "cfg.hxx"
|
||||
#include "SvxMenuConfigPage.hxx"
|
||||
#include "SvxConfigPageHelper.hxx"
|
||||
#include "eventdlg.hxx"
|
||||
#include <dialmgr.hxx>
|
||||
|
||||
@@ -252,7 +253,7 @@ void SvxMenuConfigPage::DeleteSelectedTopLevel()
|
||||
SvxEntries* pParentEntries =
|
||||
FindParentForChild( GetSaveInData()->GetEntries(), pMenuData );
|
||||
|
||||
killmelater::RemoveEntry( pParentEntries, pMenuData );
|
||||
SvxConfigPageHelper::RemoveEntry( pParentEntries, pMenuData );
|
||||
delete pMenuData;
|
||||
|
||||
ReloadTopLevelListBox();
|
||||
@@ -274,7 +275,7 @@ void SvxMenuConfigPage::DeleteSelectedContent()
|
||||
SvxConfigEntry* pMenu = GetTopLevelSelection();
|
||||
|
||||
// remove menu entry from the list for this menu
|
||||
killmelater::RemoveEntry( pMenu->GetEntries(), pMenuEntry );
|
||||
SvxConfigPageHelper::RemoveEntry( pMenu->GetEntries(), pMenuEntry );
|
||||
|
||||
// remove menu entry from UI
|
||||
m_pContentsListBox->GetModel()->Remove( pActEntry );
|
||||
@@ -300,7 +301,7 @@ short SvxMenuConfigPage::QueryReset()
|
||||
OUString saveInName = m_pSaveInListBox->GetEntry(
|
||||
m_pSaveInListBox->GetSelectEntryPos() );
|
||||
|
||||
OUString label = killmelater::replaceSaveInName( msg, saveInName );
|
||||
OUString label = SvxConfigPageHelper::replaceSaveInName( msg, saveInName );
|
||||
|
||||
ScopedVclPtrInstance<QueryBox> qbox( this, WB_YES_NO, label );
|
||||
|
||||
@@ -350,7 +351,7 @@ IMPL_LINK( SvxMenuConfigPage, MenuSelectHdl, MenuButton *, pButton, void )
|
||||
{
|
||||
SvxConfigEntry* pMenuData = GetTopLevelSelection();
|
||||
|
||||
OUString aNewName( killmelater::stripHotKey( pMenuData->GetName() ) );
|
||||
OUString aNewName( SvxConfigPageHelper::stripHotKey( pMenuData->GetName() ) );
|
||||
OUString aDesc = CuiResId( RID_SVXSTR_LABEL_NEW_NAME );
|
||||
|
||||
VclPtrInstance< SvxNameDialog > pNameDialog( this, aNewName, aDesc );
|
||||
@@ -394,7 +395,7 @@ IMPL_LINK( SvxMenuConfigPage, EntrySelectHdl, MenuButton *, pButton, void )
|
||||
SvxConfigEntry* pEntry =
|
||||
static_cast<SvxConfigEntry*>(pActEntry->GetUserData());
|
||||
|
||||
OUString aNewName( killmelater::stripHotKey( pEntry->GetName() ) );
|
||||
OUString aNewName( SvxConfigPageHelper::stripHotKey( pEntry->GetName() ) );
|
||||
OUString aDesc = CuiResId( RID_SVXSTR_LABEL_NEW_NAME );
|
||||
|
||||
VclPtrInstance< SvxNameDialog > pNameDialog( this, aNewName, aDesc );
|
||||
|
@@ -59,6 +59,7 @@
|
||||
#include "acccfg.hxx"
|
||||
#include "cfg.hxx"
|
||||
#include "SvxToolbarConfigPage.hxx"
|
||||
#include "SvxConfigPageHelper.hxx"
|
||||
#include "eventdlg.hxx"
|
||||
#include <dialmgr.hxx>
|
||||
|
||||
@@ -281,7 +282,7 @@ void SvxToolbarConfigPage::DeleteSelectedContent()
|
||||
SvxConfigEntry* pToolbar = GetTopLevelSelection();
|
||||
|
||||
// remove entry from the list for this toolbar
|
||||
killmelater::RemoveEntry( pToolbar->GetEntries(), pEntry );
|
||||
SvxConfigPageHelper::RemoveEntry( pToolbar->GetEntries(), pEntry );
|
||||
|
||||
// remove toolbar entry from UI
|
||||
m_pContentsListBox->GetModel()->Remove( pActEntry );
|
||||
@@ -347,7 +348,7 @@ IMPL_LINK( SvxToolbarConfigPage, ToolbarSelectHdl, MenuButton *, pButton, void )
|
||||
}
|
||||
else if (sCommand == "modtoolrename")
|
||||
{
|
||||
OUString aNewName( killmelater::stripHotKey( pToolbar->GetName() ) );
|
||||
OUString aNewName( SvxConfigPageHelper::stripHotKey( pToolbar->GetName() ) );
|
||||
OUString aDesc = CuiResId( RID_SVXSTR_LABEL_NEW_NAME );
|
||||
|
||||
VclPtrInstance< SvxNameDialog > pNameDialog( this, aNewName, aDesc );
|
||||
@@ -386,7 +387,7 @@ IMPL_LINK( SvxToolbarConfigPage, EntrySelectHdl, MenuButton *, pButton, void )
|
||||
SvxConfigEntry* pEntry =
|
||||
static_cast<SvxConfigEntry*>(pActEntry->GetUserData());
|
||||
|
||||
OUString aNewName( killmelater::stripHotKey( pEntry->GetName() ) );
|
||||
OUString aNewName( SvxConfigPageHelper::stripHotKey( pEntry->GetName() ) );
|
||||
OUString aDesc = CuiResId( RID_SVXSTR_LABEL_NEW_NAME );
|
||||
|
||||
VclPtrInstance< SvxNameDialog > pNameDialog( this, aNewName, aDesc );
|
||||
@@ -433,7 +434,7 @@ IMPL_LINK( SvxToolbarConfigPage, EntrySelectHdl, MenuButton *, pButton, void )
|
||||
{
|
||||
pEntry->SetName( aSystemName );
|
||||
m_pContentsListBox->SetEntryText(
|
||||
pActEntry, killmelater::stripHotKey( aSystemName ) );
|
||||
pActEntry, SvxConfigPageHelper::stripHotKey( aSystemName ) );
|
||||
bNeedsApply = true;
|
||||
}
|
||||
|
||||
@@ -442,7 +443,7 @@ IMPL_LINK( SvxToolbarConfigPage, EntrySelectHdl, MenuButton *, pButton, void )
|
||||
try
|
||||
{
|
||||
GetSaveInData()->GetImageManager()->removeImages(
|
||||
killmelater::GetImageType(), aURLSeq );
|
||||
SvxConfigPageHelper::GetImageType(), aURLSeq );
|
||||
|
||||
// reset backup in entry
|
||||
pEntry->SetBackupGraphic(
|
||||
@@ -508,7 +509,7 @@ IMPL_LINK( SvxToolbarConfigPage, EntrySelectHdl, MenuButton *, pButton, void )
|
||||
if ( !pEntry->GetBackupGraphic().is() )
|
||||
{
|
||||
css::uno::Reference< css::graphic::XGraphic > backup;
|
||||
backup = killmelater::GetGraphic(
|
||||
backup = SvxConfigPageHelper::GetGraphic(
|
||||
GetSaveInData()->GetImageManager(), aURLSeq[ 0 ] );
|
||||
|
||||
if ( backup.is() )
|
||||
@@ -521,7 +522,7 @@ IMPL_LINK( SvxToolbarConfigPage, EntrySelectHdl, MenuButton *, pButton, void )
|
||||
try
|
||||
{
|
||||
GetSaveInData()->GetImageManager()->replaceImages(
|
||||
killmelater::GetImageType(), aURLSeq, aGraphicSeq );
|
||||
SvxConfigPageHelper::GetImageType(), aURLSeq, aGraphicSeq );
|
||||
|
||||
m_pContentsListBox->GetModel()->Remove( pActEntry );
|
||||
SvTreeListEntry* pNewLBEntry =
|
||||
@@ -574,7 +575,7 @@ IMPL_LINK( SvxToolbarConfigPage, EntrySelectHdl, MenuButton *, pButton, void )
|
||||
try
|
||||
{
|
||||
GetSaveInData()->GetImageManager()->replaceImages(
|
||||
killmelater::GetImageType(), aURLSeq, aGraphicSeq );
|
||||
SvxConfigPageHelper::GetImageType(), aURLSeq, aGraphicSeq );
|
||||
|
||||
m_pContentsListBox->GetModel()->Remove( pActEntry );
|
||||
|
||||
@@ -704,7 +705,7 @@ short SvxToolbarConfigPage::QueryReset()
|
||||
OUString saveInName = m_pSaveInListBox->GetEntry(
|
||||
m_pSaveInListBox->GetSelectEntryPos() );
|
||||
|
||||
OUString label = killmelater::replaceSaveInName( msg, saveInName );
|
||||
OUString label = SvxConfigPageHelper::replaceSaveInName( msg, saveInName );
|
||||
|
||||
ScopedVclPtrInstance< QueryBox > qbox( this, WB_YES_NO, label );
|
||||
|
||||
@@ -828,10 +829,10 @@ IMPL_LINK_NOARG( SvxToolbarConfigPage, NewToolbarHdl, Button *, void )
|
||||
OUString prefix = CuiResId( RID_SVXSTR_NEW_TOOLBAR );
|
||||
|
||||
OUString aNewName =
|
||||
killmelater::generateCustomName( prefix, GetSaveInData()->GetEntries() );
|
||||
SvxConfigPageHelper::generateCustomName( prefix, GetSaveInData()->GetEntries() );
|
||||
|
||||
OUString aNewURL =
|
||||
killmelater::generateCustomURL( GetSaveInData()->GetEntries() );
|
||||
SvxConfigPageHelper::generateCustomURL( GetSaveInData()->GetEntries() );
|
||||
|
||||
VclPtrInstance< SvxNewToolbarDialog > pNameDialog( nullptr, aNewName );
|
||||
|
||||
|
@@ -59,6 +59,7 @@
|
||||
#include "cfg.hxx"
|
||||
#include "SvxMenuConfigPage.hxx"
|
||||
#include "SvxToolbarConfigPage.hxx"
|
||||
#include "SvxConfigPageHelper.hxx"
|
||||
#include "eventdlg.hxx"
|
||||
#include <dialmgr.hxx>
|
||||
|
||||
@@ -217,7 +218,7 @@ SvxConfigDialog::SvxConfigDialog(vcl::Window * pParent, const SfxItemSet* pInSet
|
||||
, m_nToolbarsPageId(0)
|
||||
, m_nEventsPageId(0)
|
||||
{
|
||||
killmelater::InitImageType();
|
||||
SvxConfigPageHelper::InitImageType();
|
||||
|
||||
m_nMenusPageId = AddTabPage("menus", CreateSvxMenuConfigPage, nullptr);
|
||||
m_nContextMenusPageId = AddTabPage("contextmenus", CreateSvxContextMenuConfigPage, nullptr);
|
||||
@@ -243,7 +244,7 @@ void SvxConfigDialog::SetFrame(const css::uno::Reference< css::frame::XFrame >&
|
||||
{
|
||||
m_xFrame = xFrame;
|
||||
|
||||
if (!killmelater::showKeyConfigTabPage( xFrame ))
|
||||
if (!SvxConfigPageHelper::showKeyConfigTabPage( xFrame ))
|
||||
RemoveTabPage(m_nKeyboardPageId);
|
||||
}
|
||||
|
||||
@@ -330,7 +331,7 @@ Image SaveInData::GetImage( const OUString& rCommandURL )
|
||||
Image aImage;
|
||||
|
||||
uno::Reference< graphic::XGraphic > xGraphic =
|
||||
killmelater::GetGraphic( m_xImgMgr, rCommandURL );
|
||||
SvxConfigPageHelper::GetGraphic( m_xImgMgr, rCommandURL );
|
||||
|
||||
if ( xGraphic.is() )
|
||||
{
|
||||
@@ -338,7 +339,7 @@ Image SaveInData::GetImage( const OUString& rCommandURL )
|
||||
}
|
||||
else if ( xDefaultImgMgr != nullptr && (*xDefaultImgMgr).is() )
|
||||
{
|
||||
xGraphic = killmelater::GetGraphic( (*xDefaultImgMgr), rCommandURL );
|
||||
xGraphic = SvxConfigPageHelper::GetGraphic( (*xDefaultImgMgr), rCommandURL );
|
||||
|
||||
if ( xGraphic.is() )
|
||||
{
|
||||
@@ -470,7 +471,7 @@ bool SaveInData::LoadSubMenus( const uno::Reference< container::XIndexAccess >&
|
||||
|
||||
sal_uInt16 nType( css::ui::ItemType::DEFAULT );
|
||||
|
||||
bool bItem = killmelater::GetMenuItemData( xMenuSettings, nIndex,
|
||||
bool bItem = SvxConfigPageHelper::GetMenuItemData( xMenuSettings, nIndex,
|
||||
aCommandURL, aLabel, nType, xSubMenu );
|
||||
|
||||
if ( bItem )
|
||||
@@ -548,7 +549,7 @@ bool SaveInData::LoadSubMenus( const uno::Reference< container::XIndexAccess >&
|
||||
pEntry->SetMain();
|
||||
}
|
||||
|
||||
subMenuTitle += killmelater::stripHotKey( aLabel );
|
||||
subMenuTitle += SvxConfigPageHelper::stripHotKey( aLabel );
|
||||
|
||||
LoadSubMenus( xSubMenu, subMenuTitle, pEntry, bContextMenu );
|
||||
}
|
||||
@@ -629,7 +630,7 @@ void MenuSaveInData::Apply(
|
||||
SvxConfigEntry* pEntryData = *iter;
|
||||
|
||||
uno::Sequence< beans::PropertyValue > aPropValueSeq =
|
||||
killmelater::ConvertSvxConfigEntry( pEntryData );
|
||||
SvxConfigPageHelper::ConvertSvxConfigEntry( pEntryData );
|
||||
|
||||
uno::Reference< container::XIndexContainer > xSubMenuBar(
|
||||
rFactory->createInstanceWithContext( xContext ),
|
||||
@@ -662,7 +663,7 @@ void SaveInData::ApplyMenu(
|
||||
if ( pEntry->IsPopup() )
|
||||
{
|
||||
uno::Sequence< beans::PropertyValue > aPropValueSeq =
|
||||
killmelater::ConvertSvxConfigEntry( pEntry );
|
||||
SvxConfigPageHelper::ConvertSvxConfigEntry( pEntry );
|
||||
|
||||
uno::Reference< container::XIndexContainer > xSubMenuBar(
|
||||
rFactory->createInstanceWithContext( xContext ),
|
||||
@@ -687,7 +688,7 @@ void SaveInData::ApplyMenu(
|
||||
else
|
||||
{
|
||||
uno::Sequence< beans::PropertyValue > aPropValueSeq =
|
||||
killmelater::ConvertSvxConfigEntry( pEntry );
|
||||
SvxConfigPageHelper::ConvertSvxConfigEntry( pEntry );
|
||||
rMenuBar->insertByIndex(
|
||||
rMenuBar->getCount(), uno::Any( aPropValueSeq ));
|
||||
}
|
||||
@@ -857,7 +858,7 @@ SvxEntries* ContextMenuSaveInData::GetEntries()
|
||||
LoadSubMenus( xPopupMenu, aUIMenuName, pEntry, true );
|
||||
}
|
||||
}
|
||||
std::sort( m_pRootEntry->GetEntries()->begin(), m_pRootEntry->GetEntries()->end(), killmelater::EntrySort );
|
||||
std::sort( m_pRootEntry->GetEntries()->begin(), m_pRootEntry->GetEntries()->end(), SvxConfigPageHelper::EntrySort );
|
||||
}
|
||||
return m_pRootEntry->GetEntries();
|
||||
}
|
||||
@@ -891,7 +892,7 @@ bool ContextMenuSaveInData::Apply()
|
||||
SvxEntries* pEntries = GetEntries();
|
||||
for ( const auto& pEntry : *pEntries )
|
||||
{
|
||||
if ( pEntry->IsModified() || killmelater::SvxConfigEntryModified( pEntry ) )
|
||||
if ( pEntry->IsModified() || SvxConfigPageHelper::SvxConfigEntryModified( pEntry ) )
|
||||
{
|
||||
css::uno::Reference< css::container::XIndexContainer > xIndexContainer( GetConfigManager()->createSettings(), css::uno::UNO_QUERY );
|
||||
css::uno::Reference< css::lang::XSingleComponentFactory > xFactory( xIndexContainer, css::uno::UNO_QUERY );
|
||||
@@ -1235,7 +1236,7 @@ void SvxConfigPage::Reset( const SfxItemSet* )
|
||||
// replace %MODULENAME in the label with the correct module name
|
||||
uno::Reference< css::frame::XModuleManager2 > xModuleManager(
|
||||
css::frame::ModuleManager::create( xContext ));
|
||||
OUString aModuleName = killmelater::GetUIModuleName( aModuleId, xModuleManager );
|
||||
OUString aModuleName = SvxConfigPageHelper::GetUIModuleName( aModuleId, xModuleManager );
|
||||
|
||||
OUString title = m_pTopLevel->get_label();
|
||||
OUString aSearchString("%MODULENAME" );
|
||||
@@ -1524,13 +1525,13 @@ void SvxConfigPage::ReloadTopLevelListBox( SvxConfigEntry* pToSelect )
|
||||
for ( ; iter != end; ++iter )
|
||||
{
|
||||
SvxConfigEntry* pEntryData = *iter;
|
||||
const sal_Int32 nPos = m_pTopLevelListBox->InsertEntry( killmelater::stripHotKey( pEntryData->GetName() ) );
|
||||
const sal_Int32 nPos = m_pTopLevelListBox->InsertEntry( SvxConfigPageHelper::stripHotKey( pEntryData->GetName() ) );
|
||||
m_pTopLevelListBox->SetEntryData( nPos, pEntryData );
|
||||
|
||||
if ( pEntryData == pToSelect )
|
||||
nSelectionPos = nPos;
|
||||
|
||||
AddSubMenusToUI( killmelater::stripHotKey( pEntryData->GetName() ), pEntryData );
|
||||
AddSubMenusToUI( SvxConfigPageHelper::stripHotKey( pEntryData->GetName() ), pEntryData );
|
||||
}
|
||||
}
|
||||
#ifdef DBG_UTIL
|
||||
@@ -1561,7 +1562,7 @@ void SvxConfigPage::AddSubMenusToUI(
|
||||
|
||||
if ( pEntryData->IsPopup() )
|
||||
{
|
||||
OUString subMenuTitle = rBaseTitle + aMenuSeparatorStr + killmelater::stripHotKey( pEntryData->GetName() );
|
||||
OUString subMenuTitle = rBaseTitle + aMenuSeparatorStr + SvxConfigPageHelper::stripHotKey( pEntryData->GetName() );
|
||||
|
||||
const sal_Int32 nPos = m_pTopLevelListBox->InsertEntry( subMenuTitle );
|
||||
m_pTopLevelListBox->SetEntryData( nPos, pEntryData );
|
||||
@@ -1724,7 +1725,7 @@ SvTreeListEntry* SvxConfigPage::InsertEntryIntoUI(
|
||||
}
|
||||
else
|
||||
{
|
||||
OUString aName = killmelater::stripHotKey( pNewEntryData->GetName() );
|
||||
OUString aName = SvxConfigPageHelper::stripHotKey( pNewEntryData->GetName() );
|
||||
|
||||
Image aImage = GetSaveInData()->GetImage(
|
||||
pNewEntryData->GetCommand());
|
||||
@@ -1819,7 +1820,7 @@ bool SvxConfigPage::MoveEntryData(
|
||||
if ( pSourceData != nullptr && pTargetData != nullptr )
|
||||
{
|
||||
// remove the source entry from our list
|
||||
killmelater::RemoveEntry( pEntries, pSourceData );
|
||||
SvxConfigPageHelper::RemoveEntry( pEntries, pSourceData );
|
||||
|
||||
SvxEntries::iterator iter = pEntries->begin();
|
||||
SvxEntries::const_iterator end = pEntries->end();
|
||||
@@ -1839,8 +1840,6 @@ bool SvxConfigPage::MoveEntryData(
|
||||
return false;
|
||||
}
|
||||
|
||||
// SvxMenuConfigPage was here
|
||||
|
||||
SvxMainMenuOrganizerDialog::SvxMainMenuOrganizerDialog(
|
||||
vcl::Window* pParent, SvxEntries* entries,
|
||||
SvxConfigEntry* selection, bool bCreateMenu )
|
||||
@@ -1865,7 +1864,7 @@ SvxMainMenuOrganizerDialog::SvxMainMenuOrganizerDialog(
|
||||
{
|
||||
SvxConfigEntry* pEntry = *iter;
|
||||
SvTreeListEntry* pLBEntry =
|
||||
m_pMenuListBox->InsertEntry( killmelater::stripHotKey( pEntry->GetName() ) );
|
||||
m_pMenuListBox->InsertEntry( SvxConfigPageHelper::stripHotKey( pEntry->GetName() ) );
|
||||
pLBEntry->SetUserData( pEntry );
|
||||
mpEntries->push_back( pEntry );
|
||||
|
||||
@@ -1882,8 +1881,8 @@ SvxMainMenuOrganizerDialog::SvxMainMenuOrganizerDialog(
|
||||
// Generate custom name for new menu
|
||||
OUString prefix = CuiResId( RID_SVXSTR_NEW_MENU );
|
||||
|
||||
OUString newname = killmelater::generateCustomName( prefix, entries );
|
||||
OUString newurl = killmelater::generateCustomMenuURL( mpEntries );
|
||||
OUString newname = SvxConfigPageHelper::generateCustomName( prefix, entries );
|
||||
OUString newurl = SvxConfigPageHelper::generateCustomMenuURL( mpEntries );
|
||||
|
||||
SvxConfigEntry* pNewEntryData =
|
||||
new SvxConfigEntry( newname, newurl, true );
|
||||
@@ -1892,7 +1891,7 @@ SvxMainMenuOrganizerDialog::SvxMainMenuOrganizerDialog(
|
||||
pNewEntryData->SetMain();
|
||||
|
||||
pNewMenuEntry =
|
||||
m_pMenuListBox->InsertEntry( killmelater::stripHotKey( pNewEntryData->GetName() ) );
|
||||
m_pMenuListBox->InsertEntry( SvxConfigPageHelper::stripHotKey( pNewEntryData->GetName() ) );
|
||||
m_pMenuListBox->Select( pNewMenuEntry );
|
||||
|
||||
pNewMenuEntry->SetUserData( pNewEntryData );
|
||||
@@ -2471,7 +2470,7 @@ SvxEntries* ToolbarSaveInData::GetEntries()
|
||||
}
|
||||
}
|
||||
|
||||
std::sort( GetEntries()->begin(), GetEntries()->end(), killmelater::EntrySort );
|
||||
std::sort( GetEntries()->begin(), GetEntries()->end(), SvxConfigPageHelper::EntrySort );
|
||||
}
|
||||
|
||||
return pRootEntry->GetEntries();
|
||||
@@ -2577,7 +2576,7 @@ void ToolbarSaveInData::ApplyToolbar(
|
||||
if ( pEntry->IsPopup() )
|
||||
{
|
||||
uno::Sequence< beans::PropertyValue > aPropValueSeq =
|
||||
killmelater::ConvertToolbarEntry( pEntry );
|
||||
SvxConfigPageHelper::ConvertToolbarEntry( pEntry );
|
||||
|
||||
uno::Reference< container::XIndexContainer > xSubMenuBar(
|
||||
rFactory->createInstanceWithContext( xContext ),
|
||||
@@ -2600,7 +2599,7 @@ void ToolbarSaveInData::ApplyToolbar(
|
||||
else
|
||||
{
|
||||
uno::Sequence< beans::PropertyValue > aPropValueSeq =
|
||||
killmelater::ConvertToolbarEntry( pEntry );
|
||||
SvxConfigPageHelper::ConvertToolbarEntry( pEntry );
|
||||
|
||||
rToolbarBar->insertByIndex(
|
||||
rToolbarBar->getCount(), uno::Any( aPropValueSeq ));
|
||||
@@ -2708,7 +2707,7 @@ void ToolbarSaveInData::RemoveToolbar( SvxConfigEntry* pToolbar )
|
||||
{
|
||||
OUString url = pToolbar->GetCommand();
|
||||
GetConfigManager()->removeSettings( url );
|
||||
killmelater::RemoveEntry( GetEntries(), pToolbar );
|
||||
SvxConfigPageHelper::RemoveEntry( GetEntries(), pToolbar );
|
||||
delete pToolbar;
|
||||
|
||||
PersistChanges( GetConfigManager() );
|
||||
@@ -2774,7 +2773,7 @@ void ToolbarSaveInData::RestoreToolbar( SvxConfigEntry* pToolbar )
|
||||
|
||||
try
|
||||
{
|
||||
GetImageManager()->removeImages( killmelater::GetImageType(), aURLSeq );
|
||||
GetImageManager()->removeImages( SvxConfigPageHelper::GetImageType(), aURLSeq );
|
||||
}
|
||||
catch ( uno::Exception& )
|
||||
{
|
||||
@@ -2805,7 +2804,7 @@ void ToolbarSaveInData::LoadToolbar(
|
||||
|
||||
sal_uInt16 nType( css::ui::ItemType::DEFAULT );
|
||||
|
||||
bool bItem = killmelater::GetToolbarItemData( xToolbarSettings, nIndex, aCommandURL,
|
||||
bool bItem = SvxConfigPageHelper::GetToolbarItemData( xToolbarSettings, nIndex, aCommandURL,
|
||||
aLabel, nType, bIsVisible, nStyle );
|
||||
|
||||
if ( bItem )
|
||||
@@ -2921,14 +2920,14 @@ SvxIconSelectorDialog::SvxIconSelectorDialog( vcl::Window *pWindow,
|
||||
pTbSymbol->SetPageScroll( true );
|
||||
|
||||
m_nExpectedSize = 16;
|
||||
if (killmelater::GetImageType() & css::ui::ImageType::SIZE_LARGE)
|
||||
if (SvxConfigPageHelper::GetImageType() & css::ui::ImageType::SIZE_LARGE)
|
||||
m_nExpectedSize = 26;
|
||||
else if (killmelater::GetImageType() & css::ui::ImageType::SIZE_32)
|
||||
else if (SvxConfigPageHelper::GetImageType() & css::ui::ImageType::SIZE_32)
|
||||
m_nExpectedSize = 32;
|
||||
|
||||
if ( m_nExpectedSize != 16 )
|
||||
{
|
||||
pFtNote->SetText( killmelater::replaceSixteen( pFtNote->GetText(), m_nExpectedSize ) );
|
||||
pFtNote->SetText( SvxConfigPageHelper::replaceSixteen( pFtNote->GetText(), m_nExpectedSize ) );
|
||||
}
|
||||
|
||||
uno::Reference< uno::XComponentContext > xComponentContext =
|
||||
@@ -2987,7 +2986,7 @@ SvxIconSelectorDialog::SvxIconSelectorDialog( vcl::Window *pWindow,
|
||||
uno::Sequence< OUString > names;
|
||||
if ( m_xImportedImageManager.is() )
|
||||
{
|
||||
names = m_xImportedImageManager->getAllImageNames( killmelater::GetImageType() );
|
||||
names = m_xImportedImageManager->getAllImageNames( SvxConfigPageHelper::GetImageType() );
|
||||
for ( sal_Int32 n = 0; n < names.getLength(); ++n )
|
||||
aImageInfo1.insert( ImageInfo::value_type( names[n], false ));
|
||||
}
|
||||
@@ -2997,7 +2996,7 @@ SvxIconSelectorDialog::SvxIconSelectorDialog( vcl::Window *pWindow,
|
||||
while ( pConstIter != aImageInfo1.end() )
|
||||
{
|
||||
name[ 0 ] = pConstIter->first;
|
||||
uno::Sequence< uno::Reference< graphic::XGraphic> > graphics = m_xImportedImageManager->getImages( killmelater::GetImageType(), name );
|
||||
uno::Sequence< uno::Reference< graphic::XGraphic> > graphics = m_xImportedImageManager->getImages( SvxConfigPageHelper::GetImageType(), name );
|
||||
if ( graphics.getLength() > 0 )
|
||||
{
|
||||
Image img = Image( graphics[ 0 ] );
|
||||
@@ -3017,12 +3016,12 @@ SvxIconSelectorDialog::SvxIconSelectorDialog( vcl::Window *pWindow,
|
||||
|
||||
if ( m_xParentImageManager.is() )
|
||||
{
|
||||
names = m_xParentImageManager->getAllImageNames( killmelater::GetImageType() );
|
||||
names = m_xParentImageManager->getAllImageNames( SvxConfigPageHelper::GetImageType() );
|
||||
for ( sal_Int32 n = 0; n < names.getLength(); ++n )
|
||||
aImageInfo.insert( ImageInfo::value_type( names[n], false ));
|
||||
}
|
||||
|
||||
names = m_xImageManager->getAllImageNames( killmelater::GetImageType() );
|
||||
names = m_xImageManager->getAllImageNames( SvxConfigPageHelper::GetImageType() );
|
||||
for ( sal_Int32 n = 0; n < names.getLength(); ++n )
|
||||
{
|
||||
ImageInfo::iterator pIter = aImageInfo.find( names[n] );
|
||||
@@ -3042,9 +3041,9 @@ SvxIconSelectorDialog::SvxIconSelectorDialog( vcl::Window *pWindow,
|
||||
try
|
||||
{
|
||||
if ( pConstIter->second )
|
||||
graphics = m_xImageManager->getImages( killmelater::GetImageType(), name );
|
||||
graphics = m_xImageManager->getImages( SvxConfigPageHelper::GetImageType(), name );
|
||||
else
|
||||
graphics = m_xParentImageManager->getImages( killmelater::GetImageType(), name );
|
||||
graphics = m_xParentImageManager->getImages( SvxConfigPageHelper::GetImageType(), name );
|
||||
}
|
||||
catch ( uno::Exception& )
|
||||
{
|
||||
@@ -3148,7 +3147,7 @@ IMPL_LINK_NOARG( SvxIconSelectorDialog, SelectHdl, ToolBox *, void )
|
||||
pTbSymbol->CheckItem( nId );
|
||||
|
||||
OUString aSelImageText = pTbSymbol->GetItemText( nId );
|
||||
if ( m_xImportedImageManager->hasImage( killmelater::GetImageType(), aSelImageText ) )
|
||||
if ( m_xImportedImageManager->hasImage( SvxConfigPageHelper::GetImageType(), aSelImageText ) )
|
||||
{
|
||||
pBtnDelete->Enable();
|
||||
}
|
||||
@@ -3200,7 +3199,7 @@ IMPL_LINK_NOARG( SvxIconSelectorDialog, DeleteHdl, Button *, void )
|
||||
OUString aSelImageText = pTbSymbol->GetItemText( nId );
|
||||
uno::Sequence< OUString > URLs { aSelImageText };
|
||||
pTbSymbol->RemoveItem( pTbSymbol->GetItemPos( nId ) );
|
||||
m_xImportedImageManager->removeImages( killmelater::GetImageType(), URLs );
|
||||
m_xImportedImageManager->removeImages( SvxConfigPageHelper::GetImageType(), URLs );
|
||||
uno::Reference< css::ui::XUIConfigurationPersistence >
|
||||
xConfigPersistence( m_xImportedImageManager, uno::UNO_QUERY );
|
||||
if ( xConfigPersistence.is() && xConfigPersistence->isModified() )
|
||||
@@ -3273,7 +3272,7 @@ bool SvxIconSelectorDialog::ReplaceGraphicItem(
|
||||
|
||||
URLs[0] = aURL;
|
||||
aImportGraph[ 0 ] = xGraphic;
|
||||
m_xImportedImageManager->replaceImages( killmelater::GetImageType(), URLs, aImportGraph );
|
||||
m_xImportedImageManager->replaceImages( SvxConfigPageHelper::GetImageType(), URLs, aImportGraph );
|
||||
xConfigPer->store();
|
||||
|
||||
bResult = true;
|
||||
@@ -3303,7 +3302,7 @@ void SvxIconSelectorDialog::ImportGraphics(
|
||||
|
||||
if ( rPaths.getLength() == 1 )
|
||||
{
|
||||
if ( m_xImportedImageManager->hasImage( killmelater::GetImageType(), rPaths[0] ) )
|
||||
if ( m_xImportedImageManager->hasImage( SvxConfigPageHelper::GetImageType(), rPaths[0] ) )
|
||||
{
|
||||
aIndex = rPaths[0].lastIndexOf( '/' );
|
||||
aIconName = rPaths[0].copy( aIndex+1 );
|
||||
@@ -3331,7 +3330,7 @@ void SvxIconSelectorDialog::ImportGraphics(
|
||||
for ( sal_Int32 i = 1; i < rPaths.getLength(); ++i )
|
||||
{
|
||||
OUString aPath = aSourcePath + rPaths[i];
|
||||
if ( m_xImportedImageManager->hasImage( killmelater::GetImageType(), aPath ) )
|
||||
if ( m_xImportedImageManager->hasImage( SvxConfigPageHelper::GetImageType(), aPath ) )
|
||||
{
|
||||
aIndex = rPaths[i].lastIndexOf( '/' );
|
||||
aIconName = rPaths[i].copy( aIndex+1 );
|
||||
@@ -3437,7 +3436,7 @@ bool SvxIconSelectorDialog::ImportGraphic( const OUString& aURL )
|
||||
uno::Sequence<OUString> aImportURL { aURL };
|
||||
uno::Sequence< uno::Reference<graphic::XGraphic > > aImportGraph( 1 );
|
||||
aImportGraph[ 0 ] = xGraphic;
|
||||
m_xImportedImageManager->insertImages( killmelater::GetImageType(), aImportURL, aImportGraph );
|
||||
m_xImportedImageManager->insertImages( SvxConfigPageHelper::GetImageType(), aImportURL, aImportGraph );
|
||||
uno::Reference< css::ui::XUIConfigurationPersistence >
|
||||
xConfigPersistence( m_xImportedImageManager, uno::UNO_QUERY );
|
||||
|
||||
|
89
cui/source/inc/SvxConfigPageHelper.hxx
Normal file
89
cui/source/inc/SvxConfigPageHelper.hxx
Normal file
@@ -0,0 +1,89 @@
|
||||
/* -*- 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_INC_SVXCONFIGPAGEHELPER_HXX
|
||||
#define INCLUDED_CUI_SOURCE_INC_SVXCONFIGPAGEHELPER_HXX
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include "cfg.hxx"
|
||||
|
||||
class SvxConfigPageHelper
|
||||
{
|
||||
public:
|
||||
static void RemoveEntry( SvxEntries* pEntries, SvxConfigEntry* pChildEntry );
|
||||
|
||||
static OUString replaceSaveInName( const OUString& rMessage, const OUString& rSaveInName );
|
||||
static OUString stripHotKey( const OUString& str );
|
||||
static OUString replaceSixteen( const OUString& str, sal_Int32 nReplacement );
|
||||
|
||||
static sal_Int16 GetImageType();
|
||||
static void InitImageType();
|
||||
static css::uno::Reference< css::graphic::XGraphic > GetGraphic(
|
||||
const css::uno::Reference< css::ui::XImageManager >& xImageManager,
|
||||
const OUString& rCommandURL );
|
||||
|
||||
static OUString generateCustomName(
|
||||
const OUString& prefix,
|
||||
SvxEntries* entries,
|
||||
sal_Int32 suffix = 1 );
|
||||
static OUString generateCustomMenuURL(
|
||||
SvxEntries* entries,
|
||||
sal_Int32 suffix = 1 );
|
||||
static sal_uInt32 generateRandomValue();
|
||||
static OUString generateCustomURL( SvxEntries* entries );
|
||||
|
||||
static OUString GetModuleName( const OUString& aModuleId );
|
||||
static OUString GetUIModuleName(
|
||||
const OUString& aModuleId,
|
||||
const css::uno::Reference< css::frame::XModuleManager2 >& rModuleManager );
|
||||
|
||||
static bool GetMenuItemData(
|
||||
const css::uno::Reference< css::container::XIndexAccess >& rItemContainer,
|
||||
sal_Int32 nIndex,
|
||||
OUString& rCommandURL,
|
||||
OUString& rLabel,
|
||||
sal_uInt16& rType,
|
||||
css::uno::Reference< css::container::XIndexAccess >& rSubMenu );
|
||||
static bool GetToolbarItemData(
|
||||
const css::uno::Reference< css::container::XIndexAccess >& rItemContainer,
|
||||
sal_Int32 nIndex,
|
||||
OUString& rCommandURL,
|
||||
OUString& rLabel,
|
||||
sal_uInt16& rType,
|
||||
bool& rIsVisible,
|
||||
sal_Int32& rStyle );
|
||||
|
||||
static css::uno::Sequence< css::beans::PropertyValue > ConvertSvxConfigEntry(
|
||||
const SvxConfigEntry* pEntry );
|
||||
static css::uno::Sequence< css::beans::PropertyValue > ConvertToolbarEntry(
|
||||
const SvxConfigEntry* pEntry );
|
||||
|
||||
static bool showKeyConfigTabPage(
|
||||
const css::uno::Reference< css::frame::XFrame >& xFrame );
|
||||
|
||||
static bool EntrySort( SvxConfigEntry* a, SvxConfigEntry* b );
|
||||
|
||||
static bool SvxConfigEntryModified( SvxConfigEntry* pEntry );
|
||||
|
||||
};
|
||||
|
||||
#endif // INCLUDED_CUI_SOURCE_INC_SVXCONFIGPAGEHELPER_HXX
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
@@ -676,508 +676,6 @@ public:
|
||||
virtual void dispose() override;
|
||||
};
|
||||
|
||||
namespace killmelater
|
||||
{
|
||||
//TODO:This is copy/pasted from cfg.cxx
|
||||
inline void RemoveEntry( SvxEntries* pEntries, SvxConfigEntry* pChildEntry )
|
||||
{
|
||||
SvxEntries::iterator iter = pEntries->begin();
|
||||
|
||||
while ( iter != pEntries->end() )
|
||||
{
|
||||
if ( pChildEntry == *iter )
|
||||
{
|
||||
pEntries->erase( iter );
|
||||
break;
|
||||
}
|
||||
++iter;
|
||||
}
|
||||
}
|
||||
|
||||
//TODO:This is copy/pasted from cfg.cxx
|
||||
inline OUString replaceSaveInName(
|
||||
const OUString& rMessage,
|
||||
const OUString& rSaveInName )
|
||||
{
|
||||
OUString name;
|
||||
OUString placeholder("%SAVE IN SELECTION%" );
|
||||
|
||||
sal_Int32 pos = rMessage.indexOf( placeholder );
|
||||
|
||||
if ( pos != -1 )
|
||||
{
|
||||
name = rMessage.replaceAt(
|
||||
pos, placeholder.getLength(), rSaveInName );
|
||||
}
|
||||
|
||||
return name;
|
||||
}
|
||||
|
||||
//TODO:This is copy/pasted from cfg.cxx
|
||||
inline OUString
|
||||
stripHotKey( const OUString& str )
|
||||
{
|
||||
sal_Int32 index = str.indexOf( '~' );
|
||||
if ( index == -1 )
|
||||
{
|
||||
return str;
|
||||
}
|
||||
else
|
||||
{
|
||||
return str.replaceAt( index, 1, OUString() );
|
||||
}
|
||||
}
|
||||
|
||||
inline OUString
|
||||
replaceSixteen( const OUString& str, sal_Int32 nReplacement )
|
||||
{
|
||||
OUString result( str );
|
||||
OUString sixteen = OUString::number( 16 );
|
||||
OUString expected = OUString::number( nReplacement );
|
||||
|
||||
sal_Int32 len = sixteen.getLength();
|
||||
sal_Int32 index = result.indexOf( sixteen );
|
||||
|
||||
while ( index != -1 )
|
||||
{
|
||||
result = result.replaceAt( index, len, expected );
|
||||
index = result.indexOf( sixteen, index );
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
static sal_Int16 theImageType =
|
||||
css::ui::ImageType::COLOR_NORMAL |
|
||||
css::ui::ImageType::SIZE_DEFAULT;
|
||||
|
||||
//TODO:This is copy/pasted from cfg.cxx
|
||||
inline sal_Int16 GetImageType()
|
||||
{
|
||||
return theImageType;
|
||||
}
|
||||
|
||||
inline void InitImageType()
|
||||
{
|
||||
theImageType =
|
||||
css::ui::ImageType::COLOR_NORMAL |
|
||||
css::ui::ImageType::SIZE_DEFAULT;
|
||||
|
||||
if (SvtMiscOptions().GetSymbolsSize() == SFX_SYMBOLS_SIZE_LARGE)
|
||||
{
|
||||
theImageType |= css::ui::ImageType::SIZE_LARGE;
|
||||
}
|
||||
else if (SvtMiscOptions().GetSymbolsSize() == SFX_SYMBOLS_SIZE_32)
|
||||
{
|
||||
theImageType |= css::ui::ImageType::SIZE_32;
|
||||
}
|
||||
}
|
||||
|
||||
//TODO:This is copy/pasted from cfg.cxx
|
||||
inline css::uno::Reference< css::graphic::XGraphic > GetGraphic(
|
||||
const css::uno::Reference< css::ui::XImageManager >& xImageManager,
|
||||
const OUString& rCommandURL )
|
||||
{
|
||||
css::uno::Reference< css::graphic::XGraphic > result;
|
||||
|
||||
if ( xImageManager.is() )
|
||||
{
|
||||
// TODO handle large graphics
|
||||
css::uno::Sequence< css::uno::Reference< css::graphic::XGraphic > > aGraphicSeq;
|
||||
|
||||
css::uno::Sequence<OUString> aImageCmdSeq { rCommandURL };
|
||||
|
||||
try
|
||||
{
|
||||
aGraphicSeq =
|
||||
xImageManager->getImages( killmelater::GetImageType(), aImageCmdSeq );
|
||||
|
||||
if ( aGraphicSeq.getLength() > 0 )
|
||||
{
|
||||
result = aGraphicSeq[0];
|
||||
}
|
||||
}
|
||||
catch ( css::uno::Exception& )
|
||||
{
|
||||
// will return empty XGraphic
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
//TODO:This is copy/pasted from cfg.cxx
|
||||
inline OUString
|
||||
generateCustomName(
|
||||
const OUString& prefix,
|
||||
SvxEntries* entries,
|
||||
sal_Int32 suffix = 1 )
|
||||
{
|
||||
// find and replace the %n placeholder in the prefix string
|
||||
OUString name;
|
||||
OUString placeholder("%n" );
|
||||
|
||||
sal_Int32 pos = prefix.indexOf( placeholder );
|
||||
|
||||
if ( pos != -1 )
|
||||
{
|
||||
name = prefix.replaceAt(
|
||||
pos, placeholder.getLength(), OUString::number( suffix ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
// no placeholder found so just append the suffix
|
||||
name = prefix + OUString::number( suffix );
|
||||
}
|
||||
|
||||
if (!entries)
|
||||
return name;
|
||||
|
||||
// now check is there is an already existing entry with this name
|
||||
SvxEntries::const_iterator iter = entries->begin();
|
||||
|
||||
while ( iter != entries->end() )
|
||||
{
|
||||
SvxConfigEntry* pEntry = *iter;
|
||||
|
||||
if ( name.equals( pEntry->GetName() ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
++iter;
|
||||
}
|
||||
|
||||
if ( iter != entries->end() )
|
||||
{
|
||||
// name already exists so try the next number up
|
||||
return generateCustomName( prefix, entries, ++suffix );
|
||||
}
|
||||
|
||||
return name;
|
||||
}
|
||||
|
||||
inline OUString
|
||||
generateCustomMenuURL(
|
||||
SvxEntries* entries,
|
||||
sal_Int32 suffix = 1 )
|
||||
{
|
||||
OUString url = "vnd.openoffice.org:CustomMenu" + OUString::number( suffix );
|
||||
if (!entries)
|
||||
return url;
|
||||
|
||||
// now check is there is an already existing entry with this url
|
||||
SvxEntries::const_iterator iter = entries->begin();
|
||||
|
||||
while ( iter != entries->end() )
|
||||
{
|
||||
SvxConfigEntry* pEntry = *iter;
|
||||
|
||||
if ( url.equals( pEntry->GetCommand() ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
++iter;
|
||||
}
|
||||
|
||||
if ( iter != entries->end() )
|
||||
{
|
||||
// url already exists so try the next number up
|
||||
return generateCustomMenuURL( entries, ++suffix );
|
||||
}
|
||||
|
||||
return url;
|
||||
}
|
||||
|
||||
inline sal_uInt32 generateRandomValue()
|
||||
{
|
||||
return comphelper::rng::uniform_uint_distribution(0, std::numeric_limits<unsigned int>::max());
|
||||
}
|
||||
|
||||
inline OUString
|
||||
generateCustomURL(
|
||||
SvxEntries* entries )
|
||||
{
|
||||
OUString url = ITEM_TOOLBAR_URL;
|
||||
url += CUSTOM_TOOLBAR_STR;
|
||||
|
||||
// use a random number to minimize possible clash with existing custom toolbars
|
||||
url += OUString::number( generateRandomValue(), 16 );
|
||||
|
||||
// now check is there is an already existing entry with this url
|
||||
SvxEntries::const_iterator iter = entries->begin();
|
||||
|
||||
while ( iter != entries->end() )
|
||||
{
|
||||
SvxConfigEntry* pEntry = *iter;
|
||||
|
||||
if ( url.equals( pEntry->GetCommand() ) )
|
||||
{
|
||||
break;
|
||||
}
|
||||
++iter;
|
||||
}
|
||||
|
||||
if ( iter != entries->end() )
|
||||
{
|
||||
// url already exists so try the next number up
|
||||
return generateCustomURL( entries );
|
||||
}
|
||||
|
||||
return url;
|
||||
}
|
||||
|
||||
inline OUString GetModuleName( const OUString& aModuleId )
|
||||
{
|
||||
if ( aModuleId == "com.sun.star.text.TextDocument" ||
|
||||
aModuleId == "com.sun.star.text.GlobalDocument" )
|
||||
return OUString("Writer");
|
||||
else if ( aModuleId == "com.sun.star.text.WebDocument" )
|
||||
return OUString("Writer/Web");
|
||||
else if ( aModuleId == "com.sun.star.drawing.DrawingDocument" )
|
||||
return OUString("Draw");
|
||||
else if ( aModuleId == "com.sun.star.presentation.PresentationDocument" )
|
||||
return OUString("Impress");
|
||||
else if ( aModuleId == "com.sun.star.sheet.SpreadsheetDocument" )
|
||||
return OUString("Calc");
|
||||
else if ( aModuleId == "com.sun.star.script.BasicIDE" )
|
||||
return OUString("Basic");
|
||||
else if ( aModuleId == "com.sun.star.formula.FormulaProperties" )
|
||||
return OUString("Math");
|
||||
else if ( aModuleId == "com.sun.star.sdb.RelationDesign" )
|
||||
return OUString("Relation Design");
|
||||
else if ( aModuleId == "com.sun.star.sdb.QueryDesign" )
|
||||
return OUString("Query Design");
|
||||
else if ( aModuleId == "com.sun.star.sdb.TableDesign" )
|
||||
return OUString("Table Design");
|
||||
else if ( aModuleId == "com.sun.star.sdb.DataSourceBrowser" )
|
||||
return OUString("Data Source Browser" );
|
||||
else if ( aModuleId == "com.sun.star.sdb.DatabaseDocument" )
|
||||
return OUString("Database" );
|
||||
|
||||
return OUString();
|
||||
}
|
||||
|
||||
inline OUString GetUIModuleName( const OUString& aModuleId, const css::uno::Reference< css::frame::XModuleManager2 >& rModuleManager )
|
||||
{
|
||||
assert(rModuleManager.is());
|
||||
|
||||
OUString aModuleUIName;
|
||||
|
||||
try
|
||||
{
|
||||
css::uno::Any a = rModuleManager->getByName( aModuleId );
|
||||
css::uno::Sequence< css::beans::PropertyValue > aSeq;
|
||||
|
||||
if ( a >>= aSeq )
|
||||
{
|
||||
for ( sal_Int32 i = 0; i < aSeq.getLength(); ++i )
|
||||
{
|
||||
if ( aSeq[i].Name == "ooSetupFactoryUIName" )
|
||||
{
|
||||
aSeq[i].Value >>= aModuleUIName;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch ( css::uno::RuntimeException& )
|
||||
{
|
||||
throw;
|
||||
}
|
||||
catch ( css::uno::Exception& )
|
||||
{
|
||||
}
|
||||
|
||||
if ( aModuleUIName.isEmpty() )
|
||||
aModuleUIName = GetModuleName( aModuleId );
|
||||
|
||||
return aModuleUIName;
|
||||
}
|
||||
|
||||
inline bool GetMenuItemData(
|
||||
const css::uno::Reference< css::container::XIndexAccess >& rItemContainer,
|
||||
sal_Int32 nIndex,
|
||||
OUString& rCommandURL,
|
||||
OUString& rLabel,
|
||||
sal_uInt16& rType,
|
||||
css::uno::Reference< css::container::XIndexAccess >& rSubMenu )
|
||||
{
|
||||
try
|
||||
{
|
||||
css::uno::Sequence< css::beans::PropertyValue > aProp;
|
||||
if ( rItemContainer->getByIndex( nIndex ) >>= aProp )
|
||||
{
|
||||
for ( sal_Int32 i = 0; i < aProp.getLength(); ++i )
|
||||
{
|
||||
if ( aProp[i].Name == ITEM_DESCRIPTOR_COMMANDURL )
|
||||
{
|
||||
aProp[i].Value >>= rCommandURL;
|
||||
}
|
||||
else if ( aProp[i].Name == ITEM_DESCRIPTOR_CONTAINER )
|
||||
{
|
||||
aProp[i].Value >>= rSubMenu;
|
||||
}
|
||||
else if ( aProp[i].Name == ITEM_DESCRIPTOR_LABEL )
|
||||
{
|
||||
aProp[i].Value >>= rLabel;
|
||||
}
|
||||
else if ( aProp[i].Name == ITEM_DESCRIPTOR_TYPE )
|
||||
{
|
||||
aProp[i].Value >>= rType;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
catch ( css::lang::IndexOutOfBoundsException& )
|
||||
{
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
inline bool GetToolbarItemData(
|
||||
const css::uno::Reference< css::container::XIndexAccess >& rItemContainer,
|
||||
sal_Int32 nIndex,
|
||||
OUString& rCommandURL,
|
||||
OUString& rLabel,
|
||||
sal_uInt16& rType,
|
||||
bool& rIsVisible,
|
||||
sal_Int32& rStyle )
|
||||
{
|
||||
try
|
||||
{
|
||||
css::uno::Sequence< css::beans::PropertyValue > aProp;
|
||||
if ( rItemContainer->getByIndex( nIndex ) >>= aProp )
|
||||
{
|
||||
for ( sal_Int32 i = 0; i < aProp.getLength(); ++i )
|
||||
{
|
||||
if ( aProp[i].Name == ITEM_DESCRIPTOR_COMMANDURL )
|
||||
{
|
||||
aProp[i].Value >>= rCommandURL;
|
||||
}
|
||||
else if ( aProp[i].Name == ITEM_DESCRIPTOR_STYLE )
|
||||
{
|
||||
aProp[i].Value >>= rStyle;
|
||||
}
|
||||
else if ( aProp[i].Name == ITEM_DESCRIPTOR_LABEL )
|
||||
{
|
||||
aProp[i].Value >>= rLabel;
|
||||
}
|
||||
else if ( aProp[i].Name == ITEM_DESCRIPTOR_TYPE )
|
||||
{
|
||||
aProp[i].Value >>= rType;
|
||||
}
|
||||
else if ( aProp[i].Name == ITEM_DESCRIPTOR_ISVISIBLE )
|
||||
{
|
||||
aProp[i].Value >>= rIsVisible;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
catch ( css::lang::IndexOutOfBoundsException& )
|
||||
{
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
inline css::uno::Sequence< css::beans::PropertyValue >
|
||||
ConvertSvxConfigEntry( const SvxConfigEntry* pEntry )
|
||||
{
|
||||
css::uno::Sequence< css::beans::PropertyValue > aPropSeq( 3 );
|
||||
|
||||
aPropSeq[0].Name = ITEM_DESCRIPTOR_COMMANDURL;
|
||||
aPropSeq[0].Value <<= pEntry->GetCommand();
|
||||
|
||||
aPropSeq[1].Name = ITEM_DESCRIPTOR_TYPE;
|
||||
aPropSeq[1].Value <<= css::ui::ItemType::DEFAULT;
|
||||
|
||||
// If the name has not been changed, then the label can be stored
|
||||
// as an empty string.
|
||||
// It will be initialised again later using the command to label map.
|
||||
aPropSeq[2].Name = ITEM_DESCRIPTOR_LABEL;
|
||||
if ( !pEntry->HasChangedName() && !pEntry->GetCommand().isEmpty() )
|
||||
{
|
||||
aPropSeq[2].Value <<= OUString();
|
||||
}
|
||||
else
|
||||
{
|
||||
aPropSeq[2].Value <<= pEntry->GetName();
|
||||
}
|
||||
|
||||
return aPropSeq;
|
||||
}
|
||||
|
||||
inline css::uno::Sequence< css::beans::PropertyValue >
|
||||
ConvertToolbarEntry( const SvxConfigEntry* pEntry )
|
||||
{
|
||||
css::uno::Sequence< css::beans::PropertyValue > aPropSeq( 4 );
|
||||
|
||||
aPropSeq[0].Name = ITEM_DESCRIPTOR_COMMANDURL;
|
||||
aPropSeq[0].Value <<= pEntry->GetCommand();
|
||||
|
||||
aPropSeq[1].Name = ITEM_DESCRIPTOR_TYPE;
|
||||
aPropSeq[1].Value <<= css::ui::ItemType::DEFAULT;
|
||||
|
||||
// If the name has not been changed, then the label can be stored
|
||||
// as an empty string.
|
||||
// It will be initialised again later using the command to label map.
|
||||
aPropSeq[2].Name = ITEM_DESCRIPTOR_LABEL;
|
||||
if ( !pEntry->HasChangedName() && !pEntry->GetCommand().isEmpty() )
|
||||
{
|
||||
aPropSeq[2].Value <<= OUString();
|
||||
}
|
||||
else
|
||||
{
|
||||
aPropSeq[2].Value <<= pEntry->GetName();
|
||||
}
|
||||
|
||||
aPropSeq[3].Name = ITEM_DESCRIPTOR_ISVISIBLE;
|
||||
aPropSeq[3].Value <<= pEntry->IsVisible();
|
||||
|
||||
return aPropSeq;
|
||||
}
|
||||
|
||||
//Was in anonymous namespace in cfg.cxx
|
||||
inline bool showKeyConfigTabPage( const css::uno::Reference< css::frame::XFrame >& xFrame )
|
||||
{
|
||||
if (!xFrame.is())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
OUString sModuleId(
|
||||
css::frame::ModuleManager::create(
|
||||
comphelper::getProcessComponentContext())
|
||||
->identify(xFrame));
|
||||
return !sModuleId.isEmpty()
|
||||
&& sModuleId != "com.sun.star.frame.StartModule";
|
||||
}
|
||||
|
||||
inline bool EntrySort( SvxConfigEntry* a, SvxConfigEntry* b )
|
||||
{
|
||||
return a->GetName().compareTo( b->GetName() ) < 0;
|
||||
}
|
||||
|
||||
inline bool SvxConfigEntryModified( SvxConfigEntry* pEntry )
|
||||
{
|
||||
SvxEntries* pEntries = pEntry->GetEntries();
|
||||
if ( !pEntries )
|
||||
return false;
|
||||
|
||||
for ( const auto& entry : *pEntries )
|
||||
{
|
||||
if ( entry->IsModified() || SvxConfigEntryModified( entry ) )
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endif // INCLUDED_CUI_SOURCE_INC_CFG_HXX
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||
|
Reference in New Issue
Block a user