summaryrefslogtreecommitdiff
path: root/fpicker/source/office/iodlgimp.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'fpicker/source/office/iodlgimp.cxx')
-rw-r--r--fpicker/source/office/iodlgimp.cxx505
1 files changed, 0 insertions, 505 deletions
diff --git a/fpicker/source/office/iodlgimp.cxx b/fpicker/source/office/iodlgimp.cxx
deleted file mode 100644
index 67dd4976ef..0000000000
--- a/fpicker/source/office/iodlgimp.cxx
+++ /dev/null
@@ -1,505 +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.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_fpicker.hxx"
-
-// includes *******************************************************************
-
-#include "iodlgimp.hxx"
-#include "svtools/headbar.hxx"
-#include <tools/debug.hxx>
-#include <tools/wldcrd.hxx>
-#include <tools/urlobj.hxx>
-#include <vcl/menu.hxx>
-#include <vcl/msgbox.hxx>
-#include <vcl/lstbox.hxx>
-#include <vcl/svapp.hxx>
-// #97148# ---------------
-#include "svl/ctypeitm.hxx"
-#include "svl/eitem.hxx"
-#include "unotools/viewoptions.hxx"
-#include "svtools/fileview.hxx"
-#include "svtools/inettbc.hxx"
-#include "iodlg.hxx"
-#include "iodlg.hrc"
-#include "svtools/imagemgr.hxx"
-#include <unotools/localfilehelper.hxx>
-#include "unotools/useroptions.hxx"
-#include "rtl/instance.hxx"
-#include <svl/svl.hrc>
-
-#define _SVSTDARR_STRINGSSORTDTOR
-#define _SVSTDARR_STRINGSDTOR
-#define _SVSTDARR_USHORTS
-#include "svl/svstdarr.hxx"
-
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::lang;
-using namespace ::utl;
-
-// some stuff for easier changes for SvtViewOptions
-static const sal_Char* pViewOptDataName = "dialog data";
-#define VIEWOPT_DATANAME ::rtl::OUString::createFromAscii( pViewOptDataName )
-
-static inline void SetViewOptUserItem( SvtViewOptions& rOpt, const String& rData )
-{
- rOpt.SetUserItem( VIEWOPT_DATANAME, makeAny( ::rtl::OUString( rData ) ) );
-}
-
-static inline String GetViewOptUserItem( const SvtViewOptions& rOpt )
-{
- Any aAny( rOpt.GetUserItem( VIEWOPT_DATANAME ) );
- ::rtl::OUString aUserData;
- aAny >>= aUserData;
-
- return String( aUserData );
-}
-
-
-// defines for the style of the BrowseBox
-
-#define STYLE_MULTI_SELECTION \
- CNTVIEWSTYLE_NODE_BUTTONS | \
- CNTVIEWSTYLE_NODE_BUTTONS_AT_ROOT | \
- CNTVIEWSTYLE_SHOW_MESSAGES | \
- CNTVIEWSTYLE_SHOW_FOLDERS | \
- CNTVIEWSTYLE_NO_SMARTHIGHLIGHT | \
- CNTVIEWSTYLE_HIDE_OPENMENU | \
- CNTVIEWSTYLE_DEFAULT_APPEARANCE | \
- CNTVIEWSTYLE_SORT_BY_FOLDER
-
-#define STYLE_SINGLE_SELECTION \
- STYLE_MULTI_SELECTION | CNTVIEWSTYLE_SINGLE_SELECTION
-
-#define BOOL_NOT_INITIALIZE ((sal_Bool)2)
-
-//*****************************************************************************
-// ResMgrHolder / SvtSimpleResId
-//*****************************************************************************
-namespace
-{
- struct ResMgrHolder
- {
- ResMgr * operator ()()
- {
- return ResMgr::CreateResMgr (CREATEVERSIONRESMGR_NAME(svs));
- }
- static ResMgr * getOrCreate()
- {
- return rtl_Instance<
- ResMgr, ResMgrHolder,
- osl::MutexGuard, osl::GetGlobalMutex >::create (
- ResMgrHolder(), osl::GetGlobalMutex());
- }
- };
-
- struct SvtSimpleResId : public ResId
- {
- SvtSimpleResId (sal_uInt16 nId) : ResId (nId, *ResMgrHolder::getOrCreate()) {}
- };
-}
-
-//*****************************************************************************
-// SvtFileDialogFilter_Impl
-//*****************************************************************************
-
-DBG_NAME( SvtFileDialogFilter_Impl )
-SvtFileDialogFilter_Impl::SvtFileDialogFilter_Impl( const String& rName, const String& rType )
- :m_aName( rName )
- ,m_aType( rType )
-{
- DBG_CTOR( SvtFileDialogFilter_Impl, NULL );
-
- m_aType.ToLowerAscii();
-}
-
-//*****************************************************************************
-
-SvtFileDialogFilter_Impl::~SvtFileDialogFilter_Impl()
-{
- DBG_DTOR( SvtFileDialogFilter_Impl, NULL );
-}
-
-//*****************************************************************************
-// SvtFileDialogFilterList_Impl
-//*****************************************************************************
-
-SV_IMPL_PTRARR( SvtFileDialogFilterList_Impl, SvtFileDialogFilter_Impl* );
-
-//=============================================================================
-//= SvtFileDialogURLSelector
-//=============================================================================
-
-//-----------------------------------------------------------------------------
-SvtFileDialogURLSelector::SvtFileDialogURLSelector( SvtFileDialog* _pParent, const ResId& _rResId, sal_uInt16 _nButtonId )
- :MenuButton ( _pParent, _rResId )
- ,m_pParent ( _pParent )
- ,m_pMenu ( new PopupMenu )
-{
- SetStyle( GetStyle() | WB_NOPOINTERFOCUS | WB_RECTSTYLE | WB_SMALLSTYLE );
- SetModeImage( m_pParent->GetButtonImage( _nButtonId ) );
- SetMenuMode( MENUBUTTON_MENUMODE_TIMED );
- SetDropDown( PUSHBUTTON_DROPDOWN_TOOLBOX );
-}
-
-//-----------------------------------------------------------------------------
-SvtFileDialogURLSelector::~SvtFileDialogURLSelector()
-{
- delete m_pMenu;
-}
-
-//-----------------------------------------------------------------------------
-void SvtFileDialogURLSelector::OpenURL( const String& rURL )
-{
- INetURLObject aObj( rURL );
- DBG_ASSERT( aObj.GetProtocol() != INET_PROT_NOT_VALID, "SvtFileDialogURLSelector::OpenURL: Invalid URL!" );
- m_pParent->OpenURL_Impl( aObj.GetMainURL( INetURLObject::NO_DECODE ) );
-}
-
-//-----------------------------------------------------------------------------
-void SvtFileDialogURLSelector::Activate()
-{
- m_pMenu->Clear();
-
- FillURLMenu( m_pMenu );
-
- SetPopupMenu( m_pMenu );
-}
-
-//=============================================================================
-//= SvtUpButton_Impl
-//=============================================================================
-
-//-----------------------------------------------------------------------------
-SvtUpButton_Impl::SvtUpButton_Impl( SvtFileDialog* pParent, const ResId& rResId )
- :SvtFileDialogURLSelector( pParent, rResId, IMG_FILEDLG_BTN_UP )
- ,_pURLs ( NULL )
-{
-}
-
-//-----------------------------------------------------------------------------
-SvtUpButton_Impl::~SvtUpButton_Impl()
-{
- delete _pURLs;
-}
-
-//-----------------------------------------------------------------------------
-void SvtUpButton_Impl::FillURLMenu( PopupMenu* _pMenu )
-{
- SvtFileView* pBox = GetDialogParent()->GetView();
-
- sal_uInt16 nItemId = 1;
-
- delete _pURLs;
- _pURLs = new SvStringsDtor;
-
- // determine parent levels
- INetURLObject aObject( pBox->GetViewURL() );
- sal_Int32 nCount = aObject.getSegmentCount();
-
- ::svtools::VolumeInfo aVolInfo( sal_True /* volume */, sal_False /* remote */,
- sal_False /* removable */, sal_False /* floppy */,
- sal_False /* compact disk */ );
- Image aVolumeImage( SvFileInformationManager::GetFolderImage( aVolInfo ) );
-
- while ( nCount >= 1 )
- {
- aObject.removeSegment();
- String* pParentURL = new String( aObject.GetMainURL( INetURLObject::NO_DECODE ) );
-
- if ( GetDialogParent()->isUrlAllowed( *pParentURL ) )
- {
- String aTitle;
- // 97148# --------------------------------
- if ( !GetDialogParent()->ContentGetTitle( *pParentURL, aTitle ) || aTitle.Len() == 0 )
- aTitle = aObject.getName();
-
- Image aImage = ( nCount > 1 ) // if nCount == 1 means workplace, which detects the wrong image
- ? SvFileInformationManager::GetImage( aObject ) : aVolumeImage;
-
- _pMenu->InsertItem( nItemId++, aTitle, aImage );
- _pURLs->Insert( pParentURL, _pURLs->Count() );
-
- if ( nCount == 1 )
- {
- // adjust the title of the top level entry (the workspace)
- _pMenu->SetItemText( --nItemId, SvtSimpleResId( STR_SVT_MIMETYPE_CNT_FSYSBOX ) );
- }
- }
-
- --nCount;
- }
-}
-
-//-----------------------------------------------------------------------------
-void SvtUpButton_Impl::Select()
-{
- sal_uInt16 nId = GetCurItemId();
-
- if ( nId )
- {
- --nId;
- DBG_ASSERT( nId <= _pURLs->Count(), "SvtUpButton_Impl:falscher Index" );
-
- String aURL = *(_pURLs->GetObject( nId ));
- GetDialogParent()->OpenURL_Impl( aURL );
- }
-}
-
-//-----------------------------------------------------------------------------
-void SvtUpButton_Impl::Click()
-{
- GetDialogParent()->PrevLevel_Impl();
-}
-
-//=============================================================================
-//= SvtTravelButton_Impl
-//=============================================================================
-
-//-----------------------------------------------------------------------------
-SvtTravelButton_Impl::SvtTravelButton_Impl( SvtFileDialog* pParent, const ResId& rResId )
- :SvtFileDialogURLSelector ( pParent, rResId, IMG_FILEDLG_BTN_STD )
-{
- SetDropDown( 0 ); // by default, don't drop down, as we don't have favourites
-}
-
-//-----------------------------------------------------------------------------
-void SvtTravelButton_Impl::SetFavouriteLocations( const ::std::vector< String >& _rLocations )
-{
- m_aFavourites = _rLocations;
- // enable the drop down if and only if we have favourites
- SetDropDown( m_aFavourites.empty() ? 0 : PUSHBUTTON_DROPDOWN_TOOLBOX );
-}
-
-//-----------------------------------------------------------------------------
-SvtTravelButton_Impl::~SvtTravelButton_Impl()
-{
-}
-
-//-----------------------------------------------------------------------------
-void SvtTravelButton_Impl::FillURLMenu( PopupMenu* _pMenu )
-{
- if ( m_aFavourites.empty() )
- // though we claimed that we do not want to have a drop down button
- // in this case, VCL nevertheless behaves as if we had one .... :(
- return;
-
- _pMenu->Clear();
-
- sal_uInt16 nItemId = 1;
- String sDisplayName;
-
- ::std::vector< String >::const_iterator aLoop;
- for ( aLoop = m_aFavourites.begin(); aLoop != m_aFavourites.end(); ++aLoop, ++nItemId )
- {
- if ( GetDialogParent()->isUrlAllowed( *aLoop ) )
- {
- Image aImage = SvFileInformationManager::GetImage( INetURLObject(*aLoop) );
- if ( LocalFileHelper::ConvertURLToSystemPath(*aLoop, sDisplayName) )
- _pMenu->InsertItem( nItemId, sDisplayName, aImage );
- else
- _pMenu->InsertItem( nItemId, *aLoop, aImage );
- }
- }
-}
-
-//-----------------------------------------------------------------------------
-void SvtTravelButton_Impl::Select()
-{
- sal_uInt16 nId = GetCurItemId();
- if ( nId )
- {
- --nId;
- DBG_ASSERT( nId < m_aFavourites.size(), "SvtTravelButton_Impl::Select: invalid index!" );
- if ( nId < m_aFavourites.size() )
- OpenURL( m_aFavourites[ nId ] );
- }
-}
-
-//-----------------------------------------------------------------------------
-void SvtTravelButton_Impl::Click()
-{
- OpenURL( GetDialogParent()->GetStandardDir() );
-}
-
-//*****************************************************************************
-// SvtExpFileDlg_Impl
-//*****************************************************************************
-
-SvtExpFileDlg_Impl::SvtExpFileDlg_Impl( WinBits ) :
-
- _pLbFilter ( NULL ),
- _pCurFilter ( NULL ),
- _pFilter ( new SvtFileDialogFilterList_Impl() ),
- _pUserFilter ( NULL ),
- _pFtFileName ( NULL ),
- _pEdFileName ( NULL ),
- _pFtFileVersion ( NULL ),
- _pLbFileVersion ( NULL ),
- _pFtTemplates ( NULL ),
- _pLbTemplates ( NULL ),
- _pFtImageTemplates ( NULL ),
- _pLbImageTemplates ( NULL ),
- _pFtFileType ( NULL ),
- _pBtnFileOpen ( NULL ),
- _pBtnCancel ( NULL ),
- _pBtnHelp ( NULL ),
- _pBtnUp ( NULL ),
- _pBtnNewFolder ( NULL ),
- _pBtnStandard ( NULL ),
- _pCbPassword ( NULL ),
- _pFtCurrentPath ( NULL ),
- _pCbAutoExtension ( NULL ),
- _pCbOptions ( NULL ),
- _nState ( FILEDLG_STATE_REMOTE ),
- _nStyle ( 0 ),
- _bDoubleClick ( sal_False ),
- m_bNeedDelayedFilterExecute ( sal_False ),
- _pDefaultFilter ( NULL ),
- _bMultiSelection ( sal_False ),
- _nFixDeltaHeight ( 0 ),
- _bFolderHasOpened ( sal_False )
-{
-}
-
-//*****************************************************************************
-
-SvtExpFileDlg_Impl::~SvtExpFileDlg_Impl()
-{
- delete _pFtCurrentPath;
- delete _pCbPassword;
- delete _pCbAutoExtension;
- delete _pCbOptions;
- delete _pBtnStandard;
- delete _pBtnNewFolder;
- delete _pBtnUp;
- delete _pBtnHelp;
- delete _pBtnCancel;
- delete _pBtnFileOpen;
- delete _pLbFilter;
- delete _pFtFileType;
- delete _pLbFileVersion;
- delete _pFtFileVersion;
- delete _pFtTemplates;
- delete _pLbTemplates;
- delete _pFtImageTemplates;
- delete _pLbImageTemplates;
- delete _pEdFileName;
- delete _pFtFileName;
- delete _pUserFilter;
- delete _pFilter;
-}
-
-//*****************************************************************************
-
-void SvtExpFileDlg_Impl::SetStandardDir( const String& _rDir )
-{
- _aStdDir = _rDir;
- if ( 0 == _aStdDir.Len() )
- _aStdDir.AssignAscii( "file:///" );
-}
-
-//*****************************************************************************
-#if OSL_DEBUG_LEVEL > 0
-//-----------------------------------------------------------------------------
-namespace {
- String lcl_DecoratedFilter( const String& _rOriginalFilter )
- {
- String aDecoratedFilter = '<';
- aDecoratedFilter += _rOriginalFilter;
- aDecoratedFilter += '>';
- return aDecoratedFilter;
- }
-}
-#endif
-//-----------------------------------------------------------------------------
-
-void SvtExpFileDlg_Impl::ClearFilterList( )
-{
- _pLbFilter->Clear();
-}
-
-//-----------------------------------------------------------------------------
-void SvtExpFileDlg_Impl::SetCurFilter( SvtFileDialogFilter_Impl* pFilter, const String& rDisplayName )
-{
- DBG_ASSERT( pFilter, "SvtExpFileDlg_Impl::SetCurFilter: invalid filter!" );
- DBG_ASSERT( ( rDisplayName == pFilter->GetName() )
- || ( rDisplayName == lcl_DecoratedFilter( pFilter->GetName() ) ),
- "SvtExpFileDlg_Impl::SetCurFilter: arguments are inconsistent!" );
-
- _pCurFilter = pFilter;
- m_sCurrentFilterDisplayName = rDisplayName;
-}
-
-//-----------------------------------------------------------------------------
-void SvtExpFileDlg_Impl::InsertFilterListEntry( const SvtFileDialogFilter_Impl* _pFilterDesc )
-{
- String sName = _pFilterDesc->GetName();
- if ( _pFilterDesc->isGroupSeparator() )
- sName = String::CreateFromAscii( "------------------------------------------" );
- else
- sName = _pFilterDesc->GetName();
-
- // insert an set user data
- sal_uInt16 nPos = _pLbFilter->InsertEntry( sName );
- _pLbFilter->SetEntryData( nPos, const_cast< void* >( static_cast< const void* >( _pFilterDesc ) ) );
-}
-
-//-----------------------------------------------------------------------------
-
-void SvtExpFileDlg_Impl::InitFilterList( )
-{
- // clear the current list
- ClearFilterList( );
-
- // reinit it
- sal_uInt16 nPos = _pFilter->Count();
-
- // search for the first entry which is no group separator
- while ( nPos-- && _pFilter->GetObject( nPos ) && _pFilter->GetObject( nPos )->isGroupSeparator() )
- ;
-
- // add all following entries
- while ( (sal_Int16)nPos >= 0 )
- InsertFilterListEntry( _pFilter->GetObject( nPos-- ) );
-}
-
-//-----------------------------------------------------------------------------
-
-void SvtExpFileDlg_Impl::CreateFilterListControl( Window* _pParent, const ResId& _rId )
-{
- DBG_ASSERT( !_pLbFilter, "SvtExpFileDlg_Impl::CreateFilterListControl: already created the control!" );
- if ( !_pLbFilter )
- {
- _pLbFilter = new ListBox( _pParent, _rId );
- _pLbFilter->SetDropDownLineCount( 10 );
- }
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */