summaryrefslogtreecommitdiffstats
path: root/cui/source/dialogs/scriptdlg.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'cui/source/dialogs/scriptdlg.cxx')
-rw-r--r--cui/source/dialogs/scriptdlg.cxx95
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));