diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2020-04-14 12:05:09 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2020-04-14 14:25:24 +0200 |
commit | 89b2fd604420d53b6d6ccc6e7656c3bcf282703d (patch) | |
tree | cc77ba205c87a5914a31bef61bc9da6f1f8027da /fpicker/source | |
parent | 5431e8e25c6668480ebac11248f2aecbc0bda431 (diff) |
loplugin:flatten in fpicker
Change-Id: Icfad1871686c894379b0e703194307a5bd72b2f7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92160
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'fpicker/source')
-rw-r--r-- | fpicker/source/office/OfficeControlAccess.cxx | 84 | ||||
-rw-r--r-- | fpicker/source/office/RemoteFilesDialog.cxx | 144 | ||||
-rw-r--r-- | fpicker/source/office/iodlg.cxx | 151 |
3 files changed, 190 insertions, 189 deletions
diff --git a/fpicker/source/office/OfficeControlAccess.cxx b/fpicker/source/office/OfficeControlAccess.cxx index 296e9368779a..e8f4e3929d79 100644 --- a/fpicker/source/office/OfficeControlAccess.cxx +++ b/fpicker/source/office/OfficeControlAccess.cxx @@ -340,52 +340,52 @@ namespace svt { weld::Widget* pControl = m_pFilePickerController->getControl( nControlId ); DBG_ASSERT( pControl, "OControlAccess::SetValue: don't have this control in the current mode!" ); - if ( pControl ) + if ( !pControl ) + return; + + PropFlags nPropertyId = PropFlags::Unknown; + if ( ControlActions::SET_HELP_URL == nControlAction ) { - PropFlags nPropertyId = PropFlags::Unknown; - if ( ControlActions::SET_HELP_URL == nControlAction ) - { - nPropertyId = PropFlags::HelpUrl; - } - else + nPropertyId = PropFlags::HelpUrl; + } + else + { + switch ( nControlId ) { - switch ( nControlId ) - { - case CHECKBOX_AUTOEXTENSION: - case CHECKBOX_PASSWORD: - case CHECKBOX_FILTEROPTIONS: - case CHECKBOX_READONLY: - case CHECKBOX_LINK: - case CHECKBOX_PREVIEW: - case CHECKBOX_SELECTION: - nPropertyId = PropFlags::Checked; - break; - - case LISTBOX_FILTER: - SAL_WARN( "fpicker.office", "Use the XFilterManager to access the filter listbox" ); - break; - - case LISTBOX_VERSION: - case LISTBOX_TEMPLATE: - case LISTBOX_IMAGE_TEMPLATE: - case LISTBOX_IMAGE_ANCHOR: - if ( ControlActions::SET_SELECT_ITEM == nControlAction ) - { - nPropertyId = PropFlags::SelectedItemIndex; - } - else - { - weld::ComboBox* pComboBox = dynamic_cast<weld::ComboBox*>(pControl); - assert(pComboBox && "OControlAccess::SetValue: implGetControl returned nonsense!"); - implDoListboxAction(pComboBox, nControlAction, rValue); - } - break; - } + case CHECKBOX_AUTOEXTENSION: + case CHECKBOX_PASSWORD: + case CHECKBOX_FILTEROPTIONS: + case CHECKBOX_READONLY: + case CHECKBOX_LINK: + case CHECKBOX_PREVIEW: + case CHECKBOX_SELECTION: + nPropertyId = PropFlags::Checked; + break; + + case LISTBOX_FILTER: + SAL_WARN( "fpicker.office", "Use the XFilterManager to access the filter listbox" ); + break; + + case LISTBOX_VERSION: + case LISTBOX_TEMPLATE: + case LISTBOX_IMAGE_TEMPLATE: + case LISTBOX_IMAGE_ANCHOR: + if ( ControlActions::SET_SELECT_ITEM == nControlAction ) + { + nPropertyId = PropFlags::SelectedItemIndex; + } + else + { + weld::ComboBox* pComboBox = dynamic_cast<weld::ComboBox*>(pControl); + assert(pComboBox && "OControlAccess::SetValue: implGetControl returned nonsense!"); + implDoListboxAction(pComboBox, nControlAction, rValue); + } + break; } - - if ( PropFlags::Unknown != nPropertyId ) - implSetControlProperty( nControlId, pControl, nPropertyId, rValue ); } + + if ( PropFlags::Unknown != nPropertyId ) + implSetControlProperty( nControlId, pControl, nPropertyId, rValue ); } Any OControlAccess::getValue( sal_Int16 nControlId, sal_Int16 nControlAction ) const diff --git a/fpicker/source/office/RemoteFilesDialog.cxx b/fpicker/source/office/RemoteFilesDialog.cxx index f8791df0b27c..fcbd203b536b 100644 --- a/fpicker/source/office/RemoteFilesDialog.cxx +++ b/fpicker/source/office/RemoteFilesDialog.cxx @@ -233,22 +233,22 @@ void RemoteFilesDialog::InitSize() // initialize from config SvtViewOptions aDlgOpt( EViewType::Dialog, m_sIniKey ); - if( aDlgOpt.Exists() ) - { - m_xDialog->set_window_state(OUStringToOString(aDlgOpt.GetWindowState(), RTL_TEXTENCODING_UTF8)); + if( !aDlgOpt.Exists() ) + return; - Any aUserData = aDlgOpt.GetUserItem( "UserData" ); - OUString sCfgStr; - if( aUserData >>= sCfgStr ) - { - sal_Int32 nPos1{ sCfgStr.indexOf('|') }; - if (nPos1<0) - return; - sal_Int32 nPos2{ sCfgStr.indexOf('|', nPos1+1 ) }; - if (nPos2<0) - return; - m_xFileView->SetConfigString( sCfgStr.copy(nPos2+1) ); - } + m_xDialog->set_window_state(OUStringToOString(aDlgOpt.GetWindowState(), RTL_TEXTENCODING_UTF8)); + + Any aUserData = aDlgOpt.GetUserItem( "UserData" ); + OUString sCfgStr; + if( aUserData >>= sCfgStr ) + { + sal_Int32 nPos1{ sCfgStr.indexOf('|') }; + if (nPos1<0) + return; + sal_Int32 nPos2{ sCfgStr.indexOf('|', nPos1+1 ) }; + if (nPos2<0) + return; + m_xFileView->SetConfigString( sCfgStr.copy(nPos2+1) ); } } @@ -339,61 +339,61 @@ void RemoteFilesDialog::AddFilter( const OUString& rFilter, const OUString& rTyp void RemoteFilesDialog::OpenURL( OUString const & sURL ) { - if( m_xFileView ) - { - DisableControls(); + if( !m_xFileView ) + return; - auto xWait = std::make_unique<weld::WaitObject>(m_xDialog.get()); + DisableControls(); - if( !sURL.isEmpty() ) - { - OUString sFilter = FILEDIALOG_FILTER_ALL; + auto xWait = std::make_unique<weld::WaitObject>(m_xDialog.get()); - if( m_nCurrentFilter != -1) - { - sFilter = m_aFilters[m_nCurrentFilter].second; - } + if( !sURL.isEmpty() ) + { + OUString sFilter = FILEDIALOG_FILTER_ALL; - m_xFileView->EndInplaceEditing(); + if( m_nCurrentFilter != -1) + { + sFilter = m_aFilters[m_nCurrentFilter].second; + } - DBG_ASSERT( !m_pCurrentAsyncAction.is(), "SvtFileDialog::executeAsync: previous async action not yet finished!" ); + m_xFileView->EndInplaceEditing(); - m_pCurrentAsyncAction = new AsyncPickerAction( this, m_xFileView.get(), AsyncPickerAction::Action::eOpenURL ); + DBG_ASSERT( !m_pCurrentAsyncAction.is(), "SvtFileDialog::executeAsync: previous async action not yet finished!" ); - // -1 timeout - sync - m_pCurrentAsyncAction->execute( sURL, sFilter, -1, -1, GetBlackList() ); + m_pCurrentAsyncAction = new AsyncPickerAction( this, m_xFileView.get(), AsyncPickerAction::Action::eOpenURL ); - if( m_eMode != REMOTEDLG_MODE_SAVE ) - m_xName_ed->set_text( "" ); + // -1 timeout - sync + m_pCurrentAsyncAction->execute( sURL, sFilter, -1, -1, GetBlackList() ); - m_xFileView->grab_focus(); - } - else - { - xWait.reset(); + if( m_eMode != REMOTEDLG_MODE_SAVE ) + m_xName_ed->set_text( "" ); - // content doesn't exist - ErrorHandler::HandleError( ERRCODE_IO_NOTEXISTS ); + m_xFileView->grab_focus(); + } + else + { + xWait.reset(); - EnableControls(); - } + // content doesn't exist + ErrorHandler::HandleError( ERRCODE_IO_NOTEXISTS ); + + EnableControls(); } } void RemoteFilesDialog::AddFileExtension() { - if (m_nCurrentFilter != -1) - { - OUString sExt = m_aFilters[m_nCurrentFilter].second; - OUString sFileName = m_xName_ed->get_text(); + if (m_nCurrentFilter == -1) + return; - sal_Int32 nDotPos = sFileName.lastIndexOf( '.' ); + OUString sExt = m_aFilters[m_nCurrentFilter].second; + OUString sFileName = m_xName_ed->get_text(); - if ( nDotPos == -1 ) - { - sFileName += sExt.copy( 1 ); // without '*' - m_xName_ed->set_text( sFileName ); - } + sal_Int32 nDotPos = sFileName.lastIndexOf( '.' ); + + if ( nDotPos == -1 ) + { + sFileName += sExt.copy( 1 ); // without '*' + m_xName_ed->set_text( sFileName ); } } @@ -725,32 +725,32 @@ IMPL_LINK_NOARG( RemoteFilesDialog, DoubleClickHdl, SvtFileView*, bool ) IMPL_LINK_NOARG( RemoteFilesDialog, SelectHdl, SvtFileView*, void ) { SvtContentEntry* pData = m_xFileView->FirstSelected(); - if (pData) + if (!pData) + return; + + if( ( pData->mbIsFolder && ( m_eType == REMOTEDLG_TYPE_PATHDLG ) ) + || ( !pData->mbIsFolder && ( m_eType == REMOTEDLG_TYPE_FILEDLG ) ) ) { - if( ( pData->mbIsFolder && ( m_eType == REMOTEDLG_TYPE_PATHDLG ) ) - || ( !pData->mbIsFolder && ( m_eType == REMOTEDLG_TYPE_FILEDLG ) ) ) - { - // url must contain user info, because we need this info in recent files entry - // (to fill user field in login box by default) - INetURLObject aURL( pData->maURL ); - INetURLObject aCurrentURL( m_sLastServiceUrl ); - aURL.SetUser( aCurrentURL.GetUser() ); + // url must contain user info, because we need this info in recent files entry + // (to fill user field in login box by default) + INetURLObject aURL( pData->maURL ); + INetURLObject aCurrentURL( m_sLastServiceUrl ); + aURL.SetUser( aCurrentURL.GetUser() ); - m_sPath = aURL.GetMainURL( INetURLObject::DecodeMechanism::NONE ); + m_sPath = aURL.GetMainURL( INetURLObject::DecodeMechanism::NONE ); - m_xName_ed->set_text( aURL.GetLastName(INetURLObject::DecodeMechanism::WithCharset) ); - } - else + m_xName_ed->set_text( aURL.GetLastName(INetURLObject::DecodeMechanism::WithCharset) ); + } + else + { + if( m_eMode == REMOTEDLG_MODE_OPEN ) { - if( m_eMode == REMOTEDLG_MODE_OPEN ) - { - m_sPath.clear(); - m_xName_ed->set_text( "" ); - } + m_sPath.clear(); + m_xName_ed->set_text( "" ); } - - EnableControls(); } + + EnableControls(); } IMPL_LINK_NOARG(RemoteFilesDialog, FileNameGetFocusHdl, weld::Widget&, void) diff --git a/fpicker/source/office/iodlg.cxx b/fpicker/source/office/iodlg.cxx index e8f50f6d15d4..c4c12a6f0a8f 100644 --- a/fpicker/source/office/iodlg.cxx +++ b/fpicker/source/office/iodlg.cxx @@ -163,56 +163,56 @@ namespace void lcl_autoUpdateFileExtension( SvtFileDialog* _pDialog, const OUString& _rLastFilterExt ) { // if auto extension is enabled... - if ( _pDialog->isAutoExtensionEnabled() ) - { - // automatically switch to the extension of the (maybe just newly selected) extension - OUString aNewFile = _pDialog->getCurrentFileText( ); - OUString aExt = GetFsysExtension_Impl( aNewFile, _rLastFilterExt ); + if ( !_pDialog->isAutoExtensionEnabled() ) + return; + + // automatically switch to the extension of the (maybe just newly selected) extension + OUString aNewFile = _pDialog->getCurrentFileText( ); + OUString aExt = GetFsysExtension_Impl( aNewFile, _rLastFilterExt ); + + // but only if there already is an extension + if ( aExt.isEmpty() ) + return; - // but only if there already is an extension - if ( !aExt.isEmpty() ) + // check if it is a real file extension, and not only the "post-dot" part in + // a directory name + bool bRealExtensions = true; + if ( -1 != aExt.indexOf( '/' ) ) + bRealExtensions = false; + else if ( -1 != aExt.indexOf( '\\' ) ) + bRealExtensions = false; + else + { + // no easy way to tell, because the part containing the dot already is the last + // segment of the complete file name + // So we have to check if the file name denotes a folder or a file. + // For performance reasons, we do this for file urls only + INetURLObject aURL( aNewFile ); + if ( INetProtocol::NotValid == aURL.GetProtocol() ) + { + OUString sURL; + if ( osl::FileBase::getFileURLFromSystemPath( aNewFile, sURL ) + == osl::FileBase::E_None ) + aURL = INetURLObject( sURL ); + } + if ( INetProtocol::File == aURL.GetProtocol() ) { - // check if it is a real file extension, and not only the "post-dot" part in - // a directory name - bool bRealExtensions = true; - if ( -1 != aExt.indexOf( '/' ) ) - bRealExtensions = false; - else if ( -1 != aExt.indexOf( '\\' ) ) - bRealExtensions = false; - else + try { - // no easy way to tell, because the part containing the dot already is the last - // segment of the complete file name - // So we have to check if the file name denotes a folder or a file. - // For performance reasons, we do this for file urls only - INetURLObject aURL( aNewFile ); - if ( INetProtocol::NotValid == aURL.GetProtocol() ) - { - OUString sURL; - if ( osl::FileBase::getFileURLFromSystemPath( aNewFile, sURL ) - == osl::FileBase::E_None ) - aURL = INetURLObject( sURL ); - } - if ( INetProtocol::File == aURL.GetProtocol() ) - { - try - { - bRealExtensions = !_pDialog->ContentIsFolder( aURL.GetMainURL( INetURLObject::DecodeMechanism::NONE ) ); - } - catch( const css::uno::Exception& ) - { - SAL_INFO( "fpicker.office", "Exception in lcl_autoUpdateFileExtension" ); - } - } + bRealExtensions = !_pDialog->ContentIsFolder( aURL.GetMainURL( INetURLObject::DecodeMechanism::NONE ) ); } - - if ( bRealExtensions ) + catch( const css::uno::Exception& ) { - SetFsysExtension_Impl( aNewFile, _pDialog->GetDefaultExt() ); - _pDialog->setCurrentFileText( aNewFile ); + SAL_INFO( "fpicker.office", "Exception in lcl_autoUpdateFileExtension" ); } } } + + if ( bRealExtensions ) + { + SetFsysExtension_Impl( aNewFile, _pDialog->GetDefaultExt() ); + _pDialog->setCurrentFileText( aNewFile ); + } } #if defined( UNX ) @@ -484,25 +484,26 @@ SvtFileDialog::~SvtFileDialog() m_xFileView->SetSelectHdl(Link<SvtFileView*,void>()); // Save bookmarked places - if (m_xImpl->m_xPlaces->IsUpdated()) { - const std::vector<PlacePtr> aPlaces = m_xImpl->m_xPlaces->GetPlaces(); - Sequence< OUString > placesUrlsList(m_xImpl->m_xPlaces->GetNbEditablePlaces()); - Sequence< OUString > placesNamesList(m_xImpl->m_xPlaces->GetNbEditablePlaces()); - int i(0); - for (auto const& place : aPlaces) - { - if(place->IsEditable()) { - placesUrlsList[i] = place->GetUrl(); - placesNamesList[i] = place->GetName(); - ++i; - } - } + if (!m_xImpl->m_xPlaces->IsUpdated()) + return; - std::shared_ptr<comphelper::ConfigurationChanges> batch(comphelper::ConfigurationChanges::create(m_xContext)); - officecfg::Office::Common::Misc::FilePickerPlacesUrls::set(placesUrlsList, batch); - officecfg::Office::Common::Misc::FilePickerPlacesNames::set(placesNamesList, batch); - batch->commit(); + const std::vector<PlacePtr> aPlaces = m_xImpl->m_xPlaces->GetPlaces(); + Sequence< OUString > placesUrlsList(m_xImpl->m_xPlaces->GetNbEditablePlaces()); + Sequence< OUString > placesNamesList(m_xImpl->m_xPlaces->GetNbEditablePlaces()); + int i(0); + for (auto const& place : aPlaces) + { + if(place->IsEditable()) { + placesUrlsList[i] = place->GetUrl(); + placesNamesList[i] = place->GetName(); + ++i; + } } + + std::shared_ptr<comphelper::ConfigurationChanges> batch(comphelper::ConfigurationChanges::create(m_xContext)); + officecfg::Office::Common::Misc::FilePickerPlacesUrls::set(placesUrlsList, batch); + officecfg::Office::Common::Misc::FilePickerPlacesNames::set(placesNamesList, batch); + batch->commit(); } IMPL_LINK_NOARG(SvtFileDialog, NewFolderHdl_Impl, weld::Button&, void) @@ -2266,25 +2267,25 @@ void SvtFileDialog::appendDefaultExtension(OUString& rFileName, { const OUString aType(rFilterExtensions.toAsciiLowerCase()); - if ( aType != FILEDIALOG_FILTER_ALL ) - { - const OUString aTemp(rFileName.toAsciiLowerCase()); - sal_Int32 nPos = 0; + if ( aType == FILEDIALOG_FILTER_ALL ) + return; - do - { - if (nPos+1<aType.getLength() && aType[nPos]=='*') // take care of a leading * - ++nPos; - const OUString aExt(aType.getToken( 0, FILEDIALOG_DEF_EXTSEP, nPos )); - if (aExt.isEmpty()) - continue; - if (aTemp.endsWith(aExt)) - return; - } - while (nPos>=0); + const OUString aTemp(rFileName.toAsciiLowerCase()); + sal_Int32 nPos = 0; - rFileName += "." + rFilterDefaultExtension; + do + { + if (nPos+1<aType.getLength() && aType[nPos]=='*') // take care of a leading * + ++nPos; + const OUString aExt(aType.getToken( 0, FILEDIALOG_DEF_EXTSEP, nPos )); + if (aExt.isEmpty()) + continue; + if (aTemp.endsWith(aExt)) + return; } + while (nPos>=0); + + rFileName += "." + rFilterDefaultExtension; } void SvtFileDialog::initDefaultPlaces( ) |