diff options
Diffstat (limited to 'sc')
-rw-r--r-- | sc/AllLangResTarget_sc.mk | 1 | ||||
-rw-r--r-- | sc/CppunitTest_sc_ucalc.mk | 10 | ||||
-rw-r--r-- | sc/Library_sc.mk | 12 | ||||
-rw-r--r-- | sc/source/ui/collab/contacts.cxx | 290 | ||||
-rw-r--r-- | sc/source/ui/collab/contacts.hrc | 11 | ||||
-rw-r--r-- | sc/source/ui/collab/contacts.hxx | 35 | ||||
-rw-r--r-- | sc/source/ui/collab/contacts.src | 61 | ||||
-rw-r--r-- | sc/source/ui/collab/sccollaboration.cxx | 62 | ||||
-rw-r--r-- | sc/source/ui/collab/sendfunc.cxx | 7 | ||||
-rw-r--r-- | sc/source/ui/inc/sccollaboration.hxx | 31 | ||||
-rw-r--r-- | sc/source/ui/view/cellsh3.cxx | 7 |
11 files changed, 103 insertions, 424 deletions
diff --git a/sc/AllLangResTarget_sc.mk b/sc/AllLangResTarget_sc.mk index 90ff3785b9f6..2d3c64c89153 100644 --- a/sc/AllLangResTarget_sc.mk +++ b/sc/AllLangResTarget_sc.mk @@ -83,7 +83,6 @@ $(eval $(call gb_SrsTarget_add_files,sc/res,\ sc/source/ui/src/condformatdlg.src \ sc/source/ui/src/condformatmgr.src \ sc/source/ui/cctrl/checklistmenu.src \ - sc/source/ui/collab/contacts.src \ sc/source/ui/navipi/navipi.src \ sc/source/ui/docshell/tpstat.src \ sc/source/ui/optdlg/calcoptionsdlg.src \ diff --git a/sc/CppunitTest_sc_ucalc.mk b/sc/CppunitTest_sc_ucalc.mk index 83014162bb84..27962423cba8 100644 --- a/sc/CppunitTest_sc_ucalc.mk +++ b/sc/CppunitTest_sc_ucalc.mk @@ -44,15 +44,7 @@ $(call gb_CxxObject_get_target,sc/qa/unit/ucalc): \ $(WORKDIR)/AllLangRes/sc \ ifeq ($(ENABLE_TELEPATHY),TRUE) - -$(eval $(call gb_CppunitTest_use_libraries,sc_ucalc,\ - tubes \ -)) - -$(eval $(call gb_CppunitTest_use_externals,sc_ucalc,\ - telepathy \ -)) - +$(eval $(call gb_CppunitTest_use_libraries,sc_ucalc,tubes)) endif $(eval $(call gb_CppunitTest_use_libraries,sc_ucalc, \ diff --git a/sc/Library_sc.mk b/sc/Library_sc.mk index 998ca600484d..1a68be6800f7 100644 --- a/sc/Library_sc.mk +++ b/sc/Library_sc.mk @@ -43,24 +43,16 @@ $(eval $(call gb_Library_add_defs,sc,\ $(eval $(call gb_Library_use_sdk_api,sc)) ifeq ($(ENABLE_TELEPATHY),TRUE) - -$(eval $(call gb_Library_use_libraries,sc,\ - tubes \ -)) +$(eval $(call gb_Library_use_libraries,sc,tubes)) $(eval $(call gb_Library_add_defs,sc,\ -DENABLE_TELEPATHY \ )) -$(eval $(call gb_Library_use_externals,sc,\ - telepathy \ -)) - $(eval $(call gb_Library_add_exception_objects,sc,\ - sc/source/ui/collab/contacts \ + sc/source/ui/collab/sccollaboration \ sc/source/ui/collab/sendfunc \ )) - endif $(eval $(call gb_Library_use_libraries,sc,\ diff --git a/sc/source/ui/collab/contacts.cxx b/sc/source/ui/collab/contacts.cxx deleted file mode 100644 index e6e2239c50a1..000000000000 --- a/sc/source/ui/collab/contacts.cxx +++ /dev/null @@ -1,290 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * Version: MPL 1.1 / GPLv3+ / LGPLv3+ - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License or as specified alternatively below. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * Major Contributor(s): - * Copyright (C) 2012 Michael Meeks <michael.meeks@suse.com> (initial developer) - * - * All Rights Reserved. - * - * For minor contributions see the git repository. - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 3 or later (the "GPLv3+"), or - * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), - * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable - * instead of those above. - */ - -#include "sal/config.h" - -#include <vector> -#include "contacts.hrc" -#include "sendfunc.hxx" -#include "docsh.hxx" -#include "scresid.hxx" -#include <svtools/filter.hxx> -#include <tubes/conference.hxx> -#include <tubes/contact-list.hxx> -#include <tubes/manager.hxx> -#include <vcl/fixed.hxx> -#include <vcl/dialog.hxx> -#include <svx/simptabl.hxx> - -#include <telepathy-glib/telepathy-glib.h> - -#define CONTACTS_DLG - -#ifdef CONTACTS_DLG -namespace { -class TubeContacts : public ModelessDialog -{ - FixedLine maLabel; - PushButton maBtnConnect; - PushButton maBtnGroup; - PushButton maBtnInvite; - PushButton maBtnListen; - SvxSimpleTableContainer maListContainer; - SvxSimpleTable maList; - TeleManager* mpManager; - - DECL_LINK( BtnConnectHdl, void * ); - DECL_LINK( BtnGroupHdl, void * ); - DECL_LINK( BtnInviteHdl, void * ); - DECL_LINK( BtnListenHdl, void * ); - - struct AccountContact - { - TpAccount* mpAccount; - TpContact* mpContact; - AccountContact( TpAccount* pAccount, TpContact* pContact ): - mpAccount(pAccount), mpContact(pContact) {} - }; - boost::ptr_vector<AccountContact> maACs; - - ScDocFuncSend* GetScDocFuncSendInCurrentSfxObjectShell() - { - ScDocShell *pScDocShell = dynamic_cast<ScDocShell*> (SfxObjectShell::Current()); - ScDocFunc *pDocFunc = pScDocShell ? &pScDocShell->GetDocFunc() : NULL; - return dynamic_cast<ScDocFuncSend*> (pDocFunc); - } - - ScDocFuncSend* EnsureScDocFuncSendInCurrentSfxObjectShell() - { - ScDocShell *pScDocShell = dynamic_cast<ScDocShell*> (SfxObjectShell::Current()); - ScDocFunc *pDocFunc = pScDocShell ? &pScDocShell->GetDocFunc() : NULL; - ScDocFuncSend *pSender = dynamic_cast<ScDocFuncSend*> (pDocFunc); - if (!pSender) - { - // This means pDocFunc has to be ScDocFuncDirect* and we are not collaborating yet. - ScDocFuncDirect *pDirect = dynamic_cast<ScDocFuncDirect*> (pDocFunc); - ScDocFuncRecv *pReceiver = new ScDocFuncRecv( pDirect ); - pSender = new ScDocFuncSend( *pScDocShell, pReceiver ); - pScDocShell->SetDocFunc( pSender ); - } - return pSender; - } - - void Invite() - { - AccountContact *pAC = NULL; - if (maList.FirstSelected()) - pAC = static_cast<AccountContact*> (maList.FirstSelected()->GetUserData()); - if (pAC) - { - ScDocFuncSend *pSender = GetScDocFuncSendInCurrentSfxObjectShell(); - if (pSender && pSender->GetConference()) - { - TpContact* pContact = pAC->mpContact; - pSender->GetConference()->invite( pContact ); - pSender->SendFile( pContact, OStringToOUString( - pSender->GetConference()->getUuid(), RTL_TEXTENCODING_UTF8 ) ); - } - } - } - - void Listen() - { - if (!mpManager->registerClients()) - SAL_INFO( "sc.tubes", "Could not register client handlers." ); - } - - void StartBuddySession() - { - AccountContact *pAC = NULL; - if (maList.FirstSelected()) - pAC = static_cast<AccountContact*> (maList.FirstSelected()->GetUserData()); - if (pAC) - { - TpAccount* pAccount = pAC->mpAccount; - TpContact* pContact = pAC->mpContact; - fprintf( stderr, "picked %s\n", tp_contact_get_identifier( pContact ) ); - TeleConference* pConference = mpManager->startBuddySession( pAccount, pContact ); - if (!pConference) - fprintf( stderr, "could not start session with %s\n", - tp_contact_get_identifier( pContact ) ); - else - { - ScDocFuncSend* pSender = EnsureScDocFuncSendInCurrentSfxObjectShell(); - pSender->SetCollaboration( pConference ); - pSender->SendFile( pContact, OStringToOUString( - pConference->getUuid(), RTL_TEXTENCODING_UTF8 ) ); - } - } - } - - void StartGroupSession() - { - AccountContact *pAC = NULL; - if (maList.FirstSelected()) - pAC = static_cast<AccountContact*> (maList.FirstSelected()->GetUserData()); - if (pAC) - { - TpAccount* pAccount = pAC->mpAccount; - fprintf( stderr, "picked %s\n", tp_account_get_display_name( pAccount ) ); - TeleConference* pConference = mpManager->startGroupSession( pAccount, - rtl::OUString("liboroom"), rtl::OUString("conference.jabber.org") ); - if (!pConference) - fprintf( stderr, "could not start group session\n" ); - else - { - ScDocFuncSend* pSender = EnsureScDocFuncSendInCurrentSfxObjectShell(); - pSender->SetCollaboration( pConference ); - } - } - } - -public: - TubeContacts() : - ModelessDialog( NULL, ScResId( RID_SCDLG_CONTACTS ) ), - maLabel( this, ScResId( FL_LABEL ) ), - maBtnConnect( this, ScResId( BTN_CONNECT ) ), - maBtnGroup( this, ScResId( BTN_GROUP ) ), - maBtnInvite( this, ScResId( BTN_INVITE ) ), - maBtnListen( this, ScResId( BTN_LISTEN ) ), - maListContainer( this, ScResId( CTL_LIST ) ), - maList( maListContainer ), - mpManager( new TeleManager() ) - { - Hide(); - maBtnConnect.SetClickHdl( LINK( this, TubeContacts, BtnConnectHdl ) ); - maBtnGroup.SetClickHdl( LINK( this, TubeContacts, BtnGroupHdl ) ); - maBtnInvite.SetClickHdl( LINK( this, TubeContacts, BtnInviteHdl ) ); - maBtnListen.SetClickHdl( LINK( this, TubeContacts, BtnListenHdl ) ); - - static long aStaticTabs[]= - { - 3 /* count */, 0, 20, 100, 150, 200 - }; - - maList.SvxSimpleTable::SetTabs( aStaticTabs ); - String sHeader( '\t' ); - sHeader += String( ScResId( STR_HEADER_ALIAS ) ); - sHeader += '\t'; - sHeader += String( ScResId( STR_HEADER_NAME ) ); - sHeader += '\t'; - maList.InsertHeaderEntry( sHeader, HEADERBAR_APPEND, HIB_LEFT ); - - mpManager->getContactList()->sigContactListChanged.connect( - boost::bind( &TubeContacts::Populate, this ) ); - } - virtual ~TubeContacts() - { - delete mpManager; - } - - static rtl::OUString fromUTF8( const char *pStr ) - { - return rtl::OStringToOUString( rtl::OString( pStr, strlen( pStr ) ), - RTL_TEXTENCODING_UTF8 ); - } - - void Populate() - { - SAL_INFO( "sc.tubes", "Populating contact list dialog" ); - maList.Clear(); - ContactList *pContacts = mpManager->getContactList(); - if ( pContacts ) - { - AccountContactPairV aPairs = pContacts->getContacts(); - AccountContactPairV::iterator it; - for( it = aPairs.begin(); it != aPairs.end(); ++it ) - { - Image aImage; - GFile *pAvatarFile = tp_contact_get_avatar_file( it->second ); - if( pAvatarFile ) - { - const rtl::OUString sAvatarFileUrl = fromUTF8( g_file_get_path ( pAvatarFile ) ); - Graphic aGraphic; - if( GRFILTER_OK == GraphicFilter::LoadGraphic( sAvatarFileUrl, rtl::OUString(""), aGraphic ) ) - { - BitmapEx aBitmap = aGraphic.GetBitmapEx(); - double fScale = 30.0 / aBitmap.GetSizePixel().Height(); - aBitmap.Scale( fScale, fScale ); - aImage = Image( aBitmap ); - } - } - rtl::OUStringBuffer aEntry( 128 ); - aEntry.append( sal_Unicode( '\t' ) ); - aEntry.append( fromUTF8 ( tp_contact_get_alias( it->second ) ) ); - aEntry.append( sal_Unicode( '\t' ) ); - aEntry.append( fromUTF8 ( tp_contact_get_identifier( it->second ) ) ); - aEntry.append( sal_Unicode( '\t' ) ); - SvLBoxEntry* pEntry = maList.InsertEntry( aEntry.makeStringAndClear(), aImage, aImage ); - // FIXME: ref the TpAccount, TpContact ... - maACs.push_back( new AccountContact( it->first, it->second ) ); - pEntry->SetUserData( &maACs.back() ); - } - } - Show(); - } -}; - -IMPL_LINK_NOARG( TubeContacts, BtnConnectHdl ) -{ - StartBuddySession(); - return 0; -} - -IMPL_LINK_NOARG( TubeContacts, BtnGroupHdl ) -{ - StartGroupSession(); - return 0; -} - -IMPL_LINK_NOARG( TubeContacts, BtnInviteHdl ) -{ - Invite(); - return 0; -} - -IMPL_LINK_NOARG( TubeContacts, BtnListenHdl ) -{ - Listen(); - return 0; -} - -} // anonymous namespace -#endif - -namespace tubes { -void createContacts() -{ -#ifdef CONTACTS_DLG - static TubeContacts *pContacts = new TubeContacts(); - pContacts->Populate(); -#endif -} -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/source/ui/collab/contacts.hrc b/sc/source/ui/collab/contacts.hrc deleted file mode 100644 index 4d7cc5f1a7b2..000000000000 --- a/sc/source/ui/collab/contacts.hrc +++ /dev/null @@ -1,11 +0,0 @@ -#include "sc.hrc" // -> RID_SCDLG_CONTACTS - -#define FL_LABEL 1 -#define CTL_LIST 2 -#define BTN_CONNECT 3 -#define BTN_INVITE 4 -#define BTN_LISTEN 5 -#define BTN_GROUP 6 - -#define STR_HEADER_ALIAS 20 -#define STR_HEADER_NAME 21 diff --git a/sc/source/ui/collab/contacts.hxx b/sc/source/ui/collab/contacts.hxx deleted file mode 100644 index 9c8345e850fb..000000000000 --- a/sc/source/ui/collab/contacts.hxx +++ /dev/null @@ -1,35 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * Version: MPL 1.1 / GPLv3+ / LGPLv3+ - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License or as specified alternatively below. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * Major Contributor(s): - * Copyright (C) 2012 Michael Meeks <michael.meeks@suse.com> (initial developer) - * - * All Rights Reserved. - * - * For minor contributions see the git repository. - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 3 or later (the "GPLv3+"), or - * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), - * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable - * instead of those above. - */ - -#include "sal/config.h" - -namespace tubes { - void createContacts(); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/source/ui/collab/contacts.src b/sc/source/ui/collab/contacts.src deleted file mode 100644 index 6a868ae87aaf..000000000000 --- a/sc/source/ui/collab/contacts.src +++ /dev/null @@ -1,61 +0,0 @@ -#include "sc.hrc" -#include "contacts.hrc" - -ModelessDialog RID_SCDLG_CONTACTS -{ - HelpId = HID_SCPAGE_AREAS; // has to be something ... - OutputSize = TRUE ; - SVLook = TRUE ; - Hide = FALSE ; - Moveable = TRUE ; - Closeable = TRUE ; - Size = MAP_APPFONT ( 220 , 225 ) ; - OutputSize = TRUE ; - Text [ en-US ] = "Contacts" ; - - FixedLine FL_LABEL - { - Pos = MAP_APPFONT ( 8 , 2 ) ; - Size = MAP_APPFONT ( 198 , 8 ) ; - Text [ en-US ] = "Select a contact to collaborate with" ; - }; - PushButton BTN_CONNECT - { - Pos = MAP_APPFONT( 70 , 200 ); - Size = MAP_APPFONT( 50 , 10 ); - Text [ en-US ] = "startBuddySession"; - }; - PushButton BTN_GROUP - { - Pos = MAP_APPFONT( 70 , 212 ); - Size = MAP_APPFONT( 50 , 10 ); - Text [ en-US ] = "startGroupSession"; - }; - PushButton BTN_INVITE - { - Pos = MAP_APPFONT( 130 , 200 ); - Size = MAP_APPFONT( 50 , 10 ); - Text [ en-US ] = "Invite"; - }; - PushButton BTN_LISTEN - { - Pos = MAP_APPFONT( 8 , 200 ); - Size = MAP_APPFONT( 50 , 10 ); - Text [ en-US ] = "Listen"; - }; - Control CTL_LIST - { - Pos = MAP_APPFONT ( 8 , 10 ) ; - Size = MAP_APPFONT ( 200 , 190 ) ; - Border = TRUE ; - TabStop = TRUE ; - }; - String STR_HEADER_ALIAS - { - Text [ en-US ] = "Alias" ; - }; - String STR_HEADER_NAME - { - Text [ en-US ] = "Name" ; - }; -}; diff --git a/sc/source/ui/collab/sccollaboration.cxx b/sc/source/ui/collab/sccollaboration.cxx new file mode 100644 index 000000000000..758db8918f4e --- /dev/null +++ b/sc/source/ui/collab/sccollaboration.cxx @@ -0,0 +1,62 @@ +/* -*- 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/. + */ + +#include "sccollaboration.hxx" + +#include "docsh.hxx" +#include "sendfunc.hxx" + +ScCollaboration::ScCollaboration() +{ +} + +ScCollaboration::~ScCollaboration() +{ +} + +TeleConference* ScCollaboration::GetConference() const +{ + ScDocFuncSend* pSender = GetScDocFuncSend(); + if (pSender) + return pSender->GetConference(); + + return NULL; +} + +void ScCollaboration::SetCollaboration( TeleConference* pConference ) +{ + ScDocShell* pScDocShell = dynamic_cast<ScDocShell*> (SfxObjectShell::Current()); + ScDocFunc* pDocFunc = pScDocShell ? &pScDocShell->GetDocFunc() : NULL; + ScDocFuncSend* pSender = dynamic_cast<ScDocFuncSend*> (pDocFunc); + if (!pSender) + { + // This means pDocFunc has to be ScDocFuncDirect* and we are not collaborating yet. + ScDocFuncDirect *pDirect = dynamic_cast<ScDocFuncDirect*> (pDocFunc); + ScDocFuncRecv *pReceiver = new ScDocFuncRecv( pDirect ); + pSender = new ScDocFuncSend( *pScDocShell, pReceiver ); + pScDocShell->SetDocFunc( pSender ); + } + pSender->SetCollaboration( pConference ); +} + +void ScCollaboration::SendFile( TpContact* pContact, const OUString& rURL ) +{ + ScDocFuncSend* pSender = GetScDocFuncSend(); + if (pSender) + pSender->SendFile( pContact, rURL ); +} + +ScDocFuncSend* ScCollaboration::GetScDocFuncSend() const +{ + ScDocShell *pScDocShell = dynamic_cast<ScDocShell*> (SfxObjectShell::Current()); + ScDocFunc *pDocFunc = pScDocShell ? &pScDocShell->GetDocFunc() : NULL; + return dynamic_cast<ScDocFuncSend*> (pDocFunc); +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/source/ui/collab/sendfunc.cxx b/sc/source/ui/collab/sendfunc.cxx index 58af1ba6b598..1a1203d3f19c 100644 --- a/sc/source/ui/collab/sendfunc.cxx +++ b/sc/source/ui/collab/sendfunc.cxx @@ -31,12 +31,13 @@ #include <vector> #include "cell.hxx" -#include "contacts.hxx" #include "docsh.hxx" #include "docfunc.hxx" +#include "sccollaboration.hxx" #include "sendfunc.hxx" -#include <tubes/manager.hxx> #include <tubes/conference.hxx> +#include <tubes/contacts.hxx> +#include <tubes/manager.hxx> #include <com/sun/star/uno/Sequence.hxx> #include <unotools/tempfile.hxx> @@ -252,7 +253,7 @@ sal_Bool ScDocFuncSend::SetNormalString( bool& o_rbNumFmtSet, const ScAddress& r SendFile( NULL, rText ); if ( rtl::OUString( rText ) == "contacts" ) - tubes::createContacts(); + tubes::createContacts( new ScCollaboration() ); return true; // needs some code auditing action } diff --git a/sc/source/ui/inc/sccollaboration.hxx b/sc/source/ui/inc/sccollaboration.hxx new file mode 100644 index 000000000000..545db920686e --- /dev/null +++ b/sc/source/ui/inc/sccollaboration.hxx @@ -0,0 +1,31 @@ +/* -*- 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/. + */ + +#ifndef INCLUDED_SC_COLLABORATION_HXX +#define INCLUDED_SC_COLLABORATION_HXX + +#include <tubes/collaboration.hxx> +class ScDocFuncSend; + +class ScCollaboration : public Collaboration +{ +public: + ScCollaboration(); + virtual ~ScCollaboration(); + + virtual TeleConference* GetConference() const; + virtual void SetCollaboration( TeleConference* pConference ); + virtual void SendFile( TpContact* pContact, const OUString& rURL ); +private: + ScDocFuncSend* GetScDocFuncSend() const; +}; + +#endif // INCLUDED_SC_COLLABORATION_HXX + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/source/ui/view/cellsh3.cxx b/sc/source/ui/view/cellsh3.cxx index 19b25410df1a..32b5a00bf1dc 100644 --- a/sc/source/ui/view/cellsh3.cxx +++ b/sc/source/ui/view/cellsh3.cxx @@ -53,9 +53,8 @@ #include "scabstdlg.hxx" #ifdef ENABLE_TELEPATHY -namespace tubes { - void createContacts(); -} +#include "sccollaboration.hxx" +#include <tubes/contacts.hxx> #endif #define IS_EDITMODE() GetViewData()->HasEditView( GetViewData()->GetActivePart() ) @@ -119,7 +118,7 @@ void ScCellShell::Execute( SfxRequest& rReq ) case SID_COLLABORATION: #ifdef ENABLE_TELEPATHY - tubes::createContacts(); + tubes::createContacts( new ScCollaboration() ); #endif break; |