diff options
author | Dirk Voelzke <dv@openoffice.org> | 2010-05-10 12:00:49 +0200 |
---|---|---|
committer | Dirk Voelzke <dv@openoffice.org> | 2010-05-10 12:00:49 +0200 |
commit | 051f7b163fa4bf1917fb3db98fed2a6a932a827e (patch) | |
tree | d5f2d3d62b9470a8c3d72fd6e83a0d6e3f056a85 /desktop | |
parent | b686a10577e24cdc0ac6b4c4112fb54bf172a6a0 (diff) |
jl152#i77196# Use ExtensionManager instead of PackageManager
Diffstat (limited to 'desktop')
5 files changed, 24 insertions, 12 deletions
diff --git a/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx b/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx index 4c9357e03e9f..8d82d969c4a0 100644 --- a/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx +++ b/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx @@ -1028,13 +1028,14 @@ void ExtensionCmdQueue::Thread::_enableExtension( ::rtl::Reference< ProgressCmdE if ( !xPackage.is() ) return; - uno::Reference< task::XAbortChannel > xAbortChannel( xPackage->createAbortChannel() ); + uno::Reference< deployment::XExtensionManager > xExtMgr = m_pManager->getExtensionManager(); + uno::Reference< task::XAbortChannel > xAbortChannel( xExtMgr->createAbortChannel() ); OUString sTitle = searchAndReplaceAll( m_sEnablingPackages, OUSTR("%EXTENSION_NAME"), xPackage->getDisplayName() ); rCmdEnv->progressSection( sTitle, xAbortChannel ); try { - xPackage->registerPackage(false, xAbortChannel, rCmdEnv.get() ); + xExtMgr->enableExtension( xPackage, xAbortChannel, rCmdEnv.get() ); if ( m_pDialogHelper ) m_pDialogHelper->updatePackageInfo( xPackage ); } @@ -1049,13 +1050,14 @@ void ExtensionCmdQueue::Thread::_disableExtension( ::rtl::Reference< ProgressCmd if ( !xPackage.is() ) return; - uno::Reference< task::XAbortChannel > xAbortChannel( xPackage->createAbortChannel() ); + uno::Reference< deployment::XExtensionManager > xExtMgr = m_pManager->getExtensionManager(); + uno::Reference< task::XAbortChannel > xAbortChannel( xExtMgr->createAbortChannel() ); OUString sTitle = searchAndReplaceAll( m_sDisablingPackages, OUSTR("%EXTENSION_NAME"), xPackage->getDisplayName() ); rCmdEnv->progressSection( sTitle, xAbortChannel ); try { - xPackage->revokePackage( xAbortChannel, rCmdEnv.get() ); + xExtMgr->disableExtension( xPackage, xAbortChannel, rCmdEnv.get() ); if ( m_pDialogHelper ) m_pDialogHelper->updatePackageInfo( xPackage ); } diff --git a/desktop/source/deployment/gui/dp_gui_extlistbox.cxx b/desktop/source/deployment/gui/dp_gui_extlistbox.cxx index 5fd713239e68..c73d8dfba136 100644 --- a/desktop/source/deployment/gui/dp_gui_extlistbox.cxx +++ b/desktop/source/deployment/gui/dp_gui_extlistbox.cxx @@ -1123,17 +1123,30 @@ void ExtensionBox_Impl::checkEntries() { if ( (*iIndex)->m_bChecked == false ) { + (*iIndex)->m_bChecked = true; bNeedsUpdate = true; nPos = iIndex-m_vEntries.begin(); if ( (*iIndex)->m_bNew ) - { + { // add entry to list and correct active pos if ( nNewPos == - 1) nNewPos = nPos; if ( nPos <= m_nActive ) m_nActive += 1; + iIndex++; + } + else + { // remove entry from list + if ( nPos < m_nActive ) + m_nActive -= 1; + else if ( ( nPos == m_nActive ) && ( nPos == m_vEntries.size() - 1 ) ) + m_nActive -= 1; + m_vRemovedEntries.push_back( *iIndex ); + m_vEntries.erase( iIndex ); + iIndex = m_vEntries.begin() + nPos; } } - iIndex++; + else + iIndex++; } guard.clear(); diff --git a/desktop/source/deployment/gui/dp_gui_theextmgr.cxx b/desktop/source/deployment/gui/dp_gui_theextmgr.cxx index 20f47139599a..7c81517bbbfa 100644 --- a/desktop/source/deployment/gui/dp_gui_theextmgr.cxx +++ b/desktop/source/deployment/gui/dp_gui_theextmgr.cxx @@ -34,6 +34,7 @@ #include "vos/mutex.hxx" #include "toolkit/helper/vclunohelper.hxx" + #include "com/sun/star/beans/XPropertySet.hpp" #include "dp_gui_dialog2.hxx" @@ -48,10 +49,6 @@ #define SHARED_PACKAGE_MANAGER OUSTR("shared") #define BUNDLED_PACKAGE_MANAGER OUSTR("bundled") -#define USER_PACKAGE_MANAGER OUSTR("user") -#define SHARED_PACKAGE_MANAGER OUSTR("shared") -#define BUNDLED_PACKAGE_MANAGER OUSTR("bundled") - using namespace ::com::sun::star; using ::rtl::OUString; diff --git a/desktop/source/deployment/gui/dp_gui_theextmgr.hxx b/desktop/source/deployment/gui/dp_gui_theextmgr.hxx index 6605b5907dab..02e3aad56915 100644 --- a/desktop/source/deployment/gui/dp_gui_theextmgr.hxx +++ b/desktop/source/deployment/gui/dp_gui_theextmgr.hxx @@ -69,8 +69,6 @@ private: ::rtl::OUString m_sGetExtensionsURL; - // liste der packages ( xpackage?, mit parent manager, ... ) - void createPackageList(); public: diff --git a/desktop/source/deployment/manager/dp_extensionmanager.cxx b/desktop/source/deployment/manager/dp_extensionmanager.cxx index 844417d5ec85..83e68dff255e 100644 --- a/desktop/source/deployment/manager/dp_extensionmanager.cxx +++ b/desktop/source/deployment/manager/dp_extensionmanager.cxx @@ -326,6 +326,8 @@ void ExtensionManager::activateExtension( ::std::list<Reference<deploy::XPackage> > > (listExtensions), bUserDisabled, bStartup, xAbortChannel, xCmdEnv); + + fireModified(); } void ExtensionManager::activateExtension( |