diff options
Diffstat (limited to 'desktop')
-rw-r--r-- | desktop/source/migration/migration_impl.hxx | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/desktop/source/migration/migration_impl.hxx b/desktop/source/migration/migration_impl.hxx index bffba28a546d..dc7d48ebf99c 100644 --- a/desktop/source/migration/migration_impl.hxx +++ b/desktop/source/migration/migration_impl.hxx @@ -114,12 +114,20 @@ struct MigrationItem return *this; } + bool areBothOpenFrom(OUString const & cmd1, OUString const & cmd2) + { + return cmd1 == ".uno:Open" && cmd2.startsWith(".uno:OpenFrom"); + } + + bool operator==(const MigrationItem& aMigrationItem) { - return ( aMigrationItem.m_sParentNodeName == m_sParentNodeName && - aMigrationItem.m_sPrevSibling == m_sPrevSibling && - aMigrationItem.m_sCommandURL == m_sCommandURL && - aMigrationItem.m_xPopupMenu.is() == m_xPopupMenu.is() ); + return ((aMigrationItem.m_sCommandURL == m_sCommandURL + || (areBothOpenFrom(aMigrationItem.m_sCommandURL, m_sCommandURL) + || areBothOpenFrom(m_sCommandURL, aMigrationItem.m_sCommandURL))) + && aMigrationItem.m_sParentNodeName == m_sParentNodeName + && aMigrationItem.m_sPrevSibling == m_sPrevSibling + && aMigrationItem.m_xPopupMenu.is() == m_xPopupMenu.is() ); } }; |