diff options
Diffstat (limited to 'cui/source/dialogs/hldoctp.cxx')
-rw-r--r-- | cui/source/dialogs/hldoctp.cxx | 376 |
1 files changed, 0 insertions, 376 deletions
diff --git a/cui/source/dialogs/hldoctp.cxx b/cui/source/dialogs/hldoctp.cxx deleted file mode 100644 index dfa73b4e3..000000000 --- a/cui/source/dialogs/hldoctp.cxx +++ /dev/null @@ -1,376 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "cuihyperdlg.hxx" -#include <unotools/localfilehelper.hxx> -#include <sfx2/filedlghelper.hxx> -#include "com/sun/star/ui/dialogs/TemplateDescription.hpp" - -#include "hldoctp.hxx" -#include "hyperdlg.hrc" -#include "hlmarkwn_def.hxx" - -sal_Char const sHash[] = "#"; -sal_Char const sFileScheme[] = INET_FILE_SCHEME; -sal_Char const sNewsSRVScheme[] = "news://"; - // TODO news:// is nonsense -sal_Char const sHTTPScheme[] = INET_HTTP_SCHEME; - -/************************************************************************* -|* -|* Contructor / Destructor -|* -|************************************************************************/ - -SvxHyperlinkDocTp::SvxHyperlinkDocTp ( Window *pParent, const SfxItemSet& rItemSet) - : SvxHyperlinkTabPageBase ( pParent, CUI_RES( RID_SVXPAGE_HYPERLINK_DOCUMENT ), rItemSet ), - maGrpDocument ( this, CUI_RES (GRP_DOCUMENT) ), - maFtPath ( this, CUI_RES (FT_PATH_DOC) ), - maCbbPath ( this, INET_PROT_FILE ), - maBtFileopen ( this, CUI_RES (BTN_FILEOPEN) ), - maGrpTarget ( this, CUI_RES (GRP_TARGET) ), - maFtTarget ( this, CUI_RES (FT_TARGET_DOC) ), - maEdTarget ( this, CUI_RES (ED_TARGET_DOC) ), - maFtURL ( this, CUI_RES (FT_URL) ), - maFtFullURL ( this, CUI_RES (FT_FULL_URL) ), - maBtBrowse ( this, CUI_RES (BTN_BROWSE) ), - mbMarkWndOpen ( sal_False ) -{ - // Disable display of bitmap names. - maBtBrowse.EnableTextDisplay (sal_False); - maBtFileopen.EnableTextDisplay (sal_False); - - InitStdControls(); - FreeResource(); - - // Init URL-Box (pos&size, Open-Handler) - maCbbPath.SetPosSizePixel ( LogicToPixel( Point( COL_2, 15 ), MAP_APPFONT ), - LogicToPixel( Size ( 176 - COL_DIFF, 60), MAP_APPFONT ) ); - maCbbPath.Show(); - String aFileScheme( INET_FILE_SCHEME, RTL_TEXTENCODING_ASCII_US ); - maCbbPath.SetBaseURL(aFileScheme); - maCbbPath.SetHelpId( HID_HYPERDLG_DOC_PATH ); - - SetExchangeSupport (); - - // overload handlers - maBtFileopen.SetClickHdl ( LINK ( this, SvxHyperlinkDocTp, ClickFileopenHdl_Impl ) ); - maBtBrowse.SetClickHdl ( LINK ( this, SvxHyperlinkDocTp, ClickTargetHdl_Impl ) ); - maCbbPath.SetModifyHdl ( LINK ( this, SvxHyperlinkDocTp, ModifiedPathHdl_Impl ) ); - maEdTarget.SetModifyHdl ( LINK ( this, SvxHyperlinkDocTp, ModifiedTargetHdl_Impl ) ); - - maCbbPath.SetLoseFocusHdl( LINK ( this, SvxHyperlinkDocTp, LostFocusPathHdl_Impl ) ); - - maBtBrowse.SetAccessibleRelationMemberOf( &maGrpTarget ); - maBtBrowse.SetAccessibleRelationLabeledBy( &maFtTarget ); - maBtFileopen.SetAccessibleRelationMemberOf( &maGrpDocument ); - maBtFileopen.SetAccessibleRelationLabeledBy( &maFtPath ); - maTimer.SetTimeoutHdl ( LINK ( this, SvxHyperlinkDocTp, TimeoutHdl_Impl ) ); -} - -SvxHyperlinkDocTp::~SvxHyperlinkDocTp () -{ -} - -/************************************************************************* -|* -|* Fill all dialog-controls except controls in groupbox "more..." -|* -|************************************************************************/ - -void SvxHyperlinkDocTp::FillDlgFields ( String& aStrURL ) -{ - INetURLObject aURL ( aStrURL ); - - String aStrMark; - xub_StrLen nPos = aStrURL.SearchAscii( sHash ); - // path - maCbbPath.SetText ( aStrURL.Copy( 0, ( nPos == STRING_NOTFOUND ? aStrURL.Len() : nPos ) ) ); - - // set target in document at editfield - if ( nPos != STRING_NOTFOUND && nPos<aStrURL.Len()-1 ) - aStrMark = aStrURL.Copy( nPos+1, aStrURL.Len() ); - maEdTarget.SetText ( aStrMark ); - - ModifiedPathHdl_Impl ( NULL ); -} - -/************************************************************************* -|* -|* retrieve current url-string -|* -|************************************************************************/ - -String SvxHyperlinkDocTp::GetCurrentURL () -{ - // get data from dialog-controls - String aStrURL; - String aStrPath ( maCbbPath.GetText() ); - const String aBaseURL ( maCbbPath.GetBaseURL() ); - String aStrMark( maEdTarget.GetText() ); - - if ( aStrPath != aEmptyStr ) - { - INetURLObject aURL( aStrPath ); - if ( aURL.GetProtocol() != INET_PROT_NOT_VALID ) // maybe the path is already a valid - aStrURL = aStrPath; // hyperlink, then we can use this path directly - else - utl::LocalFileHelper::ConvertSystemPathToURL( aStrPath, aBaseURL, aStrURL ); - - //#105788# always create a URL even if it is not valid - if( aStrURL == aEmptyStr ) - aStrURL = aStrPath; - } - - if( aStrMark != aEmptyStr ) - { - aStrURL.AppendAscii( sHash ); - aStrURL += aStrMark; - } - - return aStrURL; -} - -/************************************************************************* -|* -|* retrieve and prepare data from dialog-fields -|* -|************************************************************************/ - -void SvxHyperlinkDocTp::GetCurentItemData ( String& aStrURL, String& aStrName, - String& aStrIntName, String& aStrFrame, - SvxLinkInsertMode& eMode ) -{ - // get data from standard-fields - aStrURL = GetCurrentURL(); - - if( aStrURL.EqualsIgnoreCaseAscii( sFileScheme ) ) - aStrURL=aEmptyStr; - - GetDataFromCommonFields( aStrName, aStrIntName, aStrFrame, eMode ); -} - -/************************************************************************* -|* -|* static method to create Tabpage -|* -|************************************************************************/ - -IconChoicePage* SvxHyperlinkDocTp::Create( Window* pWindow, const SfxItemSet& rItemSet ) -{ - return( new SvxHyperlinkDocTp( pWindow, rItemSet ) ); -} - -/************************************************************************* -|* -|* Set initial focus -|* -|************************************************************************/ - -void SvxHyperlinkDocTp::SetInitFocus() -{ - maCbbPath.GrabFocus(); -} - -/************************************************************************* -|* -|* Click on imagebutton : fileopen -|* -|************************************************************************/ - -IMPL_LINK ( SvxHyperlinkDocTp, ClickFileopenHdl_Impl, void *, EMPTYARG ) -{ - // Open Fileopen-Dialog - ::sfx2::FileDialogHelper aDlg( - com::sun::star::ui::dialogs::TemplateDescription::FILEOPEN_SIMPLE, 0, - GetParent() ); - String aOldURL( GetCurrentURL() ); - if( aOldURL.EqualsIgnoreCaseAscii( sFileScheme, 0, sizeof( sFileScheme ) - 1 ) ) - { - aDlg.SetDisplayDirectory( aOldURL ); - } - - DisableClose( sal_True ); - ErrCode nError = aDlg.Execute(); - DisableClose( sal_False ); - - if ( ERRCODE_NONE == nError ) - { - String aURL( aDlg.GetPath() ); - String aPath; - - utl::LocalFileHelper::ConvertURLToSystemPath( aURL, aPath ); - - maCbbPath.SetBaseURL( aURL ); - maCbbPath.SetText( aPath ); - - if ( aOldURL != GetCurrentURL() ) - ModifiedPathHdl_Impl (NULL); - } - - return( 0L ); -} - -/************************************************************************* -|* -|* Click on imagebutton : target -|* -|************************************************************************/ - -IMPL_LINK ( SvxHyperlinkDocTp, ClickTargetHdl_Impl, void *, EMPTYARG ) -{ - if ( GetPathType ( maStrURL ) == Type_ExistsFile || - maStrURL == aEmptyStr || - maStrURL.EqualsIgnoreCaseAscii( sFileScheme ) || - maStrURL.SearchAscii( sHash ) == 0 ) - { - mpMarkWnd->SetError( LERR_NOERROR ); - - EnterWait(); - - if ( maStrURL.EqualsIgnoreCaseAscii( sFileScheme ) ) - mpMarkWnd->RefreshTree ( aEmptyStr ); - else - mpMarkWnd->RefreshTree ( maStrURL ); - - LeaveWait(); - } - else - mpMarkWnd->SetError( LERR_DOCNOTOPEN ); - - ShowMarkWnd (); - - return( 0L ); -} - -/************************************************************************* -|* -|* Contens of combobox "Path" modified -|* -|************************************************************************/ - -IMPL_LINK ( SvxHyperlinkDocTp, ModifiedPathHdl_Impl, void *, EMPTYARG ) -{ - maStrURL = GetCurrentURL(); - - maTimer.SetTimeout( 2500 ); - maTimer.Start(); - - maFtFullURL.SetText( maStrURL ); - - return( 0L ); -} - -/************************************************************************* -|* -|* If path-field was modify, to browse the new doc after timeout -|* -|************************************************************************/ - -IMPL_LINK ( SvxHyperlinkDocTp, TimeoutHdl_Impl, Timer *, EMPTYARG ) -{ - if ( IsMarkWndVisible() && ( GetPathType( maStrURL )==Type_ExistsFile || - maStrURL == aEmptyStr || - maStrURL.EqualsIgnoreCaseAscii( sFileScheme ) ) ) - { - EnterWait(); - - if ( maStrURL.EqualsIgnoreCaseAscii( sFileScheme ) ) - mpMarkWnd->RefreshTree ( aEmptyStr ); - else - mpMarkWnd->RefreshTree ( maStrURL ); - - LeaveWait(); - } - - return( 0L ); -} - -/************************************************************************* -|* -|* Contens of editfield "Target" modified -|* -|************************************************************************/ - -IMPL_LINK ( SvxHyperlinkDocTp, ModifiedTargetHdl_Impl, void *, EMPTYARG ) -{ - maStrURL = GetCurrentURL(); - - if ( IsMarkWndVisible() ) - mpMarkWnd->SelectEntry ( maEdTarget.GetText() ); - - maFtFullURL.SetText( maStrURL ); - - return( 0L ); -} - -/************************************************************************* -|* -|* editfield "Target" lost focus -|* -|************************************************************************/ - -IMPL_LINK ( SvxHyperlinkDocTp, LostFocusPathHdl_Impl, void *, EMPTYARG ) -{ - maStrURL = GetCurrentURL(); - - maFtFullURL.SetText( maStrURL ); - - return (0L); -} - -/************************************************************************* -|* -|* Get String from Bookmark-Wnd -|* -|************************************************************************/ - -void SvxHyperlinkDocTp::SetMarkStr ( String& aStrMark ) -{ - maEdTarget.SetText ( aStrMark ); - - ModifiedTargetHdl_Impl ( NULL ); -} - -/************************************************************************* -|* -|* retrieve kind of pathstr -|* -|************************************************************************/ - -SvxHyperlinkDocTp::EPathType SvxHyperlinkDocTp::GetPathType ( String& aStrPath ) -{ - INetURLObject aURL( aStrPath, INET_PROT_FILE ); - - if( aURL.HasError() ) - return Type_Invalid; - else - return Type_ExistsFile; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |