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