23#include <unordered_map>
29#include <rtl/ustring.hxx>
31#include <com/sun/star/uno/Reference.hxx>
33#include <com/sun/star/container/XNameAccess.hpp>
34#include <com/sun/star/container/XIndexContainer.hpp>
35#include <com/sun/star/ui/XUIConfigurationManager.hpp>
84 css::uno::Reference< css::container::XIndexContainer >
m_xPopupMenu;
91 OUString sPrevSibling,
93 css::uno::Reference< css::container::XIndexContainer > xPopupMenu)
133 css::uno::Reference< css::ui::XUIConfigurationManager >
getConfigManager(std::u16string_view sModuleShortName)
const;
134 css::uno::Reference< css::container::XIndexContainer >
getNewMenubarSettings(std::u16string_view sModuleShortName)
const;
135 css::uno::Reference< css::container::XIndexContainer >
getNewToolbarSettings(std::u16string_view sModuleShortName, std::u16string_view sToolbarName)
const;
136 void init(
const std::vector< MigrationModuleInfo >& vModulesInfo);
160#if defined UNX && ! defined MACOSX
170 static css::uno::Reference< css::container::XNameAccess >
getConfigAccess(
const char* path,
bool rw=
false);
174 const css::uno::Reference< css::container::XIndexContainer >& xOldIndexContainer,
175 const css::uno::Reference< css::container::XIndexContainer >& xNewIndexContainer,
176 const OUString& sToolbarName);
177 void mergeOldToNewVersion(
const css::uno::Reference< css::ui::XUIConfigurationManager >& xCfgManager,
178 const css::uno::Reference< css::container::XIndexContainer>& xIndexContainer,
179 const OUString& sModuleIdentifier,
180 const OUString& sResourceURL);
static css::uno::Reference< css::container::XNameAccess > getConfigAccess(const char *path, bool rw=false)
strings_vr getAllFiles(const OUString &baseURL) const
static void setInstallInfoIfExist(install_info &aInfo, std::u16string_view rConfigDir, const OUString &rVersion)
migrations_available m_vMigrationsAvailable
static bool checkMigrationCompleted()
void mergeOldToNewVersion(const css::uno::Reference< css::ui::XUIConfigurationManager > &xCfgManager, const css::uno::Reference< css::container::XIndexContainer > &xIndexContainer, const OUString &sModuleIdentifier, const OUString &sResourceURL)
static migrations_vr readMigrationSteps(const OUString &rMigrationName)
migrations_vr m_vrMigrations
MigrationHashMap m_aOldVersionItemsHashMap
bool initializeMigration()
static install_info findInstallation(const strings_v &rVersions)
void compareOldAndNewConfig(const OUString &sParentNodeName, const css::uno::Reference< css::container::XIndexContainer > &xOldIndexContainer, const css::uno::Reference< css::container::XIndexContainer > &xNewIndexContainer, const OUString &sToolbarName)
static void readAvailableMigrations(migrations_available &)
sal_Int32 findPreferredMigrationProcess(const migrations_available &)
static OUString preXDGConfigDir(const OUString &rConfigDir)
std::vector< MigrationModuleInfo > detectUIChangesForAllModules() const
static strings_vr applyPatterns(const strings_v &vSet, const strings_v &vPatterns)
strings_vr compileFileList()
static void setMigrationCompleted()
get the information before copying the ui configuration files of old version to new version
css::uno::Reference< css::container::XIndexContainer > getNewToolbarSettings(std::u16string_view sModuleShortName, std::u16string_view sToolbarName) const
void init(const std::vector< MigrationModuleInfo > &vModulesInfo)
css::uno::Reference< css::container::XIndexContainer > getNewMenubarSettings(std::u16string_view sModuleShortName) const
std::vector< css::beans::PropertyValue > m_lCfgManagerSeq
css::uno::Reference< css::ui::XUIConfigurationManager > getConfigManager(std::u16string_view sModuleShortName) const
css::uno::Sequence< css::beans::PropertyValue > m_lNewVersionMenubarSettingsSeq
css::uno::Sequence< css::beans::PropertyValue > m_lNewVersionToolbarSettingsSeq
std::unordered_map< OUString, std::vector< MigrationItem > > MigrationHashMap
std::vector< migration_step > migrations_v
std::vector< supported_migration > migrations_available
std::unique_ptr< migrations_v > migrations_vr
std::unique_ptr< strings_v > strings_vr
std::vector< OUString > strings_v
bool areBothOpenFrom(std::u16string_view cmd1, std::u16string_view cmd2)
constexpr bool starts_with(std::basic_string_view< charT, traits > sv, std::basic_string_view< charT, traits > x) noexcept
bool operator==(const MigrationItem &aMigrationItem) const
css::uno::Reference< css::container::XIndexContainer > m_xPopupMenu
OUString m_sParentNodeName
MigrationItem(OUString sParentNodeName, OUString sPrevSibling, OUString sCommandURL, css::uno::Reference< css::container::XIndexContainer > xPopupMenu)
information for the UI elements to be migrated for one module
OUString sModuleShortName
std::vector< OUString > m_vToolbars
strings_v excludeExtensions
strings_v supported_versions