diff options
Diffstat (limited to 'cui/source/dialogs/scriptdlg.cxx')
-rw-r--r-- | cui/source/dialogs/scriptdlg.cxx | 95 |
1 files changed, 43 insertions, 52 deletions
diff --git a/cui/source/dialogs/scriptdlg.cxx b/cui/source/dialogs/scriptdlg.cxx index 61df93178f90..67bb456b7d61 100644 --- a/cui/source/dialogs/scriptdlg.cxx +++ b/cui/source/dialogs/scriptdlg.cxx @@ -50,10 +50,11 @@ #include <comphelper/SetFlagContextHelper.hxx> #include <comphelper/documentinfo.hxx> #include <comphelper/processfactory.hxx> +#include <o3tl/string_view.hxx> #include <svtools/imagemgr.hxx> #include <tools/urlobj.hxx> -#include <tools/diagnose_ex.h> +#include <comphelper/diagnose_ex.hxx> using namespace ::com::sun::star; using namespace css::uno; @@ -63,7 +64,7 @@ using namespace css::document; void SvxScriptOrgDialog::delUserData(const weld::TreeIter& rIter) { - SFEntry* pUserData = reinterpret_cast<SFEntry*>(m_xScriptsBox->get_id(rIter).toInt64()); + SFEntry* pUserData = weld::fromId<SFEntry*>(m_xScriptsBox->get_id(rIter)); if (pUserData) { delete pUserData; @@ -127,9 +128,6 @@ void SvxScriptOrgDialog::Init( std::u16string_view language ) Sequence< Reference< browse::XBrowseNode > > children; - OUString userStr("user"); - OUString const shareStr("share"); - try { Reference< browse::XBrowseNodeFactory > xFac = browse::theBrowseNodeFactory::get(xCtx); @@ -149,22 +147,20 @@ void SvxScriptOrgDialog::Init( std::u16string_view language ) } Reference<XModel> xDocumentModel; - for ( const Reference< browse::XBrowseNode >& childNode : std::as_const(children) ) + for (const Reference<browse::XBrowseNode>& childNode : children) { bool app = false; OUString uiName = childNode->getName(); OUString factoryURL; - if ( uiName == userStr || uiName == shareStr ) + if (uiName == "user") { app = true; - if ( uiName == userStr ) - { - uiName = m_sMyMacros; - } - else - { - uiName = m_sProdMacros; - } + uiName = m_sMyMacros; + } + else if (uiName == "share") + { + app = true; + uiName = m_sProdMacros; } else { @@ -182,7 +178,7 @@ void SvxScriptOrgDialog::Init( std::u16string_view language ) } catch(const uno::Exception&) {} - for ( const beans::PropertyValue& prop : std::as_const(moduleDescr)) + for (const beans::PropertyValue& prop : moduleDescr) { if ( prop.Name == "ooSetupFactoryEmptyDocumentURL" ) { @@ -196,7 +192,7 @@ void SvxScriptOrgDialog::Init( std::u16string_view language ) Reference< browse::XBrowseNode > langEntries = getLangNodeFromRootNode( childNode, language ); - insertEntry( uiName, app ? OUString(RID_CUIBMP_HARDDISK) : OUString(RID_CUIBMP_DOC), + insertEntry( uiName, app ? RID_CUIBMP_HARDDISK : RID_CUIBMP_DOC, nullptr, true, std::make_unique< SFEntry >( langEntries, xDocumentModel ), factoryURL, false ); } @@ -282,7 +278,7 @@ void SvxScriptOrgDialog::RequestSubEntries(const weld::TreeIter& rRootEntry, Ref // if we catch an exception in getChildNodes then no entries are added } - for ( const Reference< browse::XBrowseNode >& childNode : std::as_const(children) ) + for (const Reference<browse::XBrowseNode>& childNode : children) { OUString name( childNode->getName() ); if ( childNode->getType() != browse::BrowseNodeTypes::SCRIPT) @@ -298,9 +294,9 @@ void SvxScriptOrgDialog::RequestSubEntries(const weld::TreeIter& rRootEntry, Ref void SvxScriptOrgDialog::insertEntry(const OUString& rText, const OUString& rBitmap, const weld::TreeIter* pParent, bool bChildrenOnDemand, std::unique_ptr<SFEntry> && aUserData, - const OUString& factoryURL, bool bSelect) + std::u16string_view factoryURL, bool bSelect) { - if (rBitmap == RID_CUIBMP_DOC && !factoryURL.isEmpty()) + if (rBitmap == RID_CUIBMP_DOC && !factoryURL.empty()) { OUString aImage = SvFileInformationManager::GetFileImageId(INetURLObject(factoryURL)); insertEntry(rText, aImage, pParent, bChildrenOnDemand, std::move(aUserData), bSelect); @@ -313,7 +309,7 @@ void SvxScriptOrgDialog::insertEntry( const OUString& rText, const OUString& rBitmap, const weld::TreeIter* pParent, bool bChildrenOnDemand, std::unique_ptr<SFEntry> && aUserData, bool bSelect) { - OUString sId(OUString::number(reinterpret_cast<sal_Int64>(aUserData.release()))); // XXX possible leak + OUString sId(weld::toId(aUserData.release())); // XXX possible leak m_xScriptsBox->insert(pParent, -1, &rText, &sId, nullptr, nullptr, bChildrenOnDemand, m_xScratchIter.get()); m_xScriptsBox->set_image(*m_xScratchIter, rBitmap); @@ -326,7 +322,7 @@ void SvxScriptOrgDialog::insertEntry( IMPL_LINK(SvxScriptOrgDialog, ExpandingHdl, const weld::TreeIter&, rIter, bool) { - SFEntry* userData = reinterpret_cast<SFEntry*>(m_xScriptsBox->get_id(rIter).toInt64()); + SFEntry* userData = weld::fromId<SFEntry*>(m_xScriptsBox->get_id(rIter)); Reference< browse::XBrowseNode > node; Reference< XModel > model; @@ -370,10 +366,10 @@ CuiInputDialog::CuiInputDialog(weld::Window * pParent, InputDialogMode nMode) // ScriptOrgDialog ------------------------------------------------------------ -SvxScriptOrgDialog::SvxScriptOrgDialog(weld::Window* pParent, const OUString& language) +SvxScriptOrgDialog::SvxScriptOrgDialog(weld::Window* pParent, OUString language) : SfxDialogController(pParent, "cui/ui/scriptorganizer.ui", "ScriptOrganizerDialog") , m_pParent(pParent) - , m_sLanguage(language) + , m_sLanguage(std::move(language)) , m_delErrStr(CuiResId(RID_CUISTR_DELFAILED)) , m_delErrTitleStr(CuiResId(RID_CUISTR_DELFAILED_TITLE)) , m_delQueryStr(CuiResId(RID_CUISTR_DELQUERY)) @@ -530,7 +526,7 @@ IMPL_LINK_NOARG(SvxScriptOrgDialog, ScriptSelectHdl, weld::TreeView&, void) if (!m_xScriptsBox->get_selected(xIter.get())) return; - SFEntry* userData = reinterpret_cast<SFEntry*>(m_xScriptsBox->get_id(*xIter).toInt64()); + SFEntry* userData = weld::fromId<SFEntry*>(m_xScriptsBox->get_id(*xIter)); Reference< browse::XBrowseNode > node; if (userData) @@ -558,7 +554,7 @@ IMPL_LINK(SvxScriptOrgDialog, ButtonHdl, weld::Button&, rButton, void) std::unique_ptr<weld::TreeIter> xIter = m_xScriptsBox->make_iterator(); if (!m_xScriptsBox->get_selected(xIter.get())) return; - SFEntry* userData = reinterpret_cast<SFEntry*>(m_xScriptsBox->get_id(*xIter).toInt64()); + SFEntry* userData = weld::fromId<SFEntry*>(m_xScriptsBox->get_id(*xIter)); if (!userData) return; @@ -602,7 +598,7 @@ IMPL_LINK(SvxScriptOrgDialog, ButtonHdl, weld::Button&, rButton, void) bool bParent = m_xScriptsBox->iter_parent(*xParentIter); while (bParent && !mspNode.is() ) { - SFEntry* mspUserData = reinterpret_cast<SFEntry*>(m_xScriptsBox->get_id(*xParentIter).toInt64()); + SFEntry* mspUserData = weld::fromId<SFEntry*>(m_xScriptsBox->get_id(*xParentIter)); mspNode.set( mspUserData->GetNode() , UNO_QUERY ); bParent = m_xScriptsBox->iter_parent(*xParentIter); } @@ -679,7 +675,7 @@ IMPL_LINK(SvxScriptOrgDialog, ButtonHdl, weld::Button&, rButton, void) Reference< browse::XBrowseNode > SvxScriptOrgDialog::getBrowseNode(const weld::TreeIter& rEntry) { Reference< browse::XBrowseNode > node; - SFEntry* userData = reinterpret_cast<SFEntry*>(m_xScriptsBox->get_id(rEntry).toInt64()); + SFEntry* userData = weld::fromId<SFEntry*>(m_xScriptsBox->get_id(rEntry)); if (userData) { node = userData->GetNode(); @@ -690,7 +686,7 @@ Reference< browse::XBrowseNode > SvxScriptOrgDialog::getBrowseNode(const weld::T Reference< XModel > SvxScriptOrgDialog::getModel(const weld::TreeIter& rEntry) { Reference< XModel > model; - SFEntry* userData = reinterpret_cast<SFEntry*>(m_xScriptsBox->get_id(rEntry).toInt64()); + SFEntry* userData = weld::fromId<SFEntry*>(m_xScriptsBox->get_id(rEntry)); if ( userData ) { model = userData->GetModel(); @@ -755,9 +751,9 @@ void SvxScriptOrgDialog::createEntry(const weld::TreeIter& rEntry) if(extnPos>0) extn = nodeName.copy(extnPos); } - for( const Reference< browse::XBrowseNode >& n : std::as_const(childNodes) ) + for (const Reference<browse::XBrowseNode>& n : childNodes) { - if (OUStringConcatenation(aNewName+extn) == n->getName()) + if (Concat2View(aNewName+extn) == n->getName()) { bFound = true; break; @@ -782,9 +778,9 @@ void SvxScriptOrgDialog::createEntry(const weld::TreeIter& rEntry) { OUString aUserSuppliedName = aNewDlg.GetObjectName(); bValid = true; - for( const Reference< browse::XBrowseNode >& n : std::as_const(childNodes) ) + for (const Reference<browse::XBrowseNode>& n : childNodes) { - if (OUStringConcatenation(aUserSuppliedName+extn) == n->getName()) + if (Concat2View(aUserSuppliedName+extn) == n->getName()) { bValid = false; OUString aError = m_createErrStr + m_createDupStr; @@ -818,8 +814,7 @@ void SvxScriptOrgDialog::createEntry(const weld::TreeIter& rEntry) try { Any aResult = xInv->invoke( "Creatable", args, outIndex, outArgs ); - Reference< browse::XBrowseNode > newNode( aResult, UNO_QUERY ); - aChildNode = newNode; + aChildNode.set(aResult, UNO_QUERY); } catch( Exception const & ) @@ -852,7 +847,7 @@ void SvxScriptOrgDialog::createEntry(const weld::TreeIter& rEntry) // loaded, this will prevent RequestingChildren ( called // from vcl via RequestingChildren ) from // creating new ( duplicate ) children - SFEntry* userData = reinterpret_cast<SFEntry*>(m_xScriptsBox->get_id(rEntry).toInt64()); + SFEntry* userData = weld::fromId<SFEntry*>(m_xScriptsBox->get_id(rEntry)); if ( userData && !userData->isLoaded() ) { userData->setLoaded(); @@ -899,8 +894,7 @@ void SvxScriptOrgDialog::renameEntry(const weld::TreeIter& rEntry) try { Any aResult = xInv->invoke( "Renamable", args, outIndex, outArgs ); - Reference< browse::XBrowseNode > newNode( aResult, UNO_QUERY ); - aChildNode = newNode; + aChildNode.set(aResult, UNO_QUERY); } catch( Exception const & ) @@ -1034,8 +1028,7 @@ void SvxScriptOrgDialog::StoreCurrentSelection() aDescription = ";" + aDescription; } while (bEntry); - OUString sDesc( aDescription ); - m_lastSelection[ m_sLanguage ] = sDesc; + m_lastSelection[m_sLanguage] = aDescription; } void SvxScriptOrgDialog::RestorePreviousSelection() @@ -1048,7 +1041,7 @@ void SvxScriptOrgDialog::RestorePreviousSelection() sal_Int32 nIndex = 0; while (nIndex != -1) { - OUString aTmp( aStoredEntry.getToken( 0, ';', nIndex ) ); + std::u16string_view aTmp( o3tl::getToken(aStoredEntry, 0, ';', nIndex ) ); bool bTmpEntry; if (!xEntry) @@ -1090,14 +1083,14 @@ namespace { OUString ReplaceString( const OUString& source, - const OUString& token, + std::u16string_view token, std::u16string_view value ) { sal_Int32 pos = source.indexOf( token ); if ( pos != -1 && !value.empty() ) { - return source.replaceAt( pos, token.getLength(), value ); + return source.replaceAt( pos, token.size(), value ); } else { @@ -1113,11 +1106,11 @@ OUString FormatErrorString( std::u16string_view type, std::u16string_view message ) { - OUString result = unformatted.copy( 0 ); + OUString result = unformatted; - result = ReplaceString(result, "%LANGUAGENAME", language ); - result = ReplaceString(result, "%SCRIPTNAME", script ); - result = ReplaceString(result, "%LINENUMBER", line ); + result = ReplaceString(result, u"%LANGUAGENAME", language ); + result = ReplaceString(result, u"%SCRIPTNAME", script ); + result = ReplaceString(result, u"%LINENUMBER", line ); if ( !type.empty() ) { @@ -1238,7 +1231,7 @@ OUString GetErrorMessage( if ( sError.errorType == provider::ScriptFrameworkErrorType::NOTSUPPORTED ) { message = CuiResId(RID_CUISTR_ERROR_LANG_NOT_SUPPORTED); - message = ReplaceString(message, "%LANGUAGENAME", language ); + message = ReplaceString(message, u"%LANGUAGENAME", language ); } else @@ -1301,12 +1294,11 @@ OUString GetErrorMessage( const css::uno::Any& aException ) void SvxScriptErrorDialog::ShowAsyncErrorDialog( weld::Window* pParent, css::uno::Any const & aException ) { SolarMutexGuard aGuard; - OUString sMessage = GetErrorMessage( aException ); // Pass a copy of the message to the ShowDialog method as the // SvxScriptErrorDialog may be deleted before ShowDialog is called DialogData* pData = new DialogData; - pData->sMessage = sMessage; + pData->sMessage = GetErrorMessage(aException); pData->pParent = pParent; Application::PostUserEvent( LINK( nullptr, SvxScriptErrorDialog, ShowDialog ), @@ -1326,8 +1318,7 @@ IMPL_STATIC_LINK( SvxScriptErrorDialog, ShowDialog, void*, p, void ) xData->pParent, VclMessageType::Warning, VclButtonsType::Ok, - message, - comphelper::LibreOfficeKit::isActive())); + message)); xBox->set_title(CuiResId(RID_CUISTR_ERROR_TITLE)); |