summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
Diffstat (limited to 'sc')
-rw-r--r--sc/AllLangResTarget_sc.mk1
-rw-r--r--sc/CppunitTest_sc_ucalc.mk10
-rw-r--r--sc/Library_sc.mk12
-rw-r--r--sc/source/ui/collab/contacts.cxx290
-rw-r--r--sc/source/ui/collab/contacts.hrc11
-rw-r--r--sc/source/ui/collab/contacts.hxx35
-rw-r--r--sc/source/ui/collab/contacts.src61
-rw-r--r--sc/source/ui/collab/sccollaboration.cxx62
-rw-r--r--sc/source/ui/collab/sendfunc.cxx7
-rw-r--r--sc/source/ui/inc/sccollaboration.hxx31
-rw-r--r--sc/source/ui/view/cellsh3.cxx7
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;