summaryrefslogtreecommitdiff
path: root/cui
diff options
context:
space:
mode:
authorRtch90 <ritchie.cunningham@protonmail.com>2019-04-22 01:53:09 +0100
committerSamuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>2019-08-07 08:06:20 +0200
commitc78306fb47011a3c050368b9696cb2d5ecf3d57d (patch)
tree2af0f7c27a757d121eff79b31742c0322338e235 /cui
parentc6d27e91d93463a533c24dae14edf97e9e0206b6 (diff)
tdf#61076 string validation on creation of new dictionary.
Prevent having '/' or '\' within the dictionary name to prevent data loss. Change-Id: I392832c748effcdbbe58983a788ba6b38764628c Reviewed-on: https://gerrit.libreoffice.org/71059 Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> Tested-by: Jenkins
Diffstat (limited to 'cui')
-rw-r--r--cui/inc/strings.hrc1
-rw-r--r--cui/source/options/optdict.cxx11
2 files changed, 12 insertions, 0 deletions
diff --git a/cui/inc/strings.hrc b/cui/inc/strings.hrc
index d7e581fccb26..3833d157adff 100644
--- a/cui/inc/strings.hrc
+++ b/cui/inc/strings.hrc
@@ -258,6 +258,7 @@
#define RID_SVXSTR_CHG_SMARTART NC_("RID_SVXSTR_CHG_SMARTART", "SmartArt to %PRODUCTNAME shapes or reverse")
#define RID_SVXSTR_OPT_DOUBLE_DICTS NC_("RID_SVXSTR_OPT_DOUBLE_DICTS", "The specified name already exists.\nPlease enter a new name.")
+#define RID_SVXSTR_OPT_INVALID_DICT_NAME NC_("RID_SVXSTR_OPT_INVALID_DICT_NAME", "The specified name is invalid.\nPlease enter a new name.")
/* To translators:
Please, try to find a similar *short* translation to avoid
to get narrow "New" field in the "Edit custom dictionary" window,
diff --git a/cui/source/options/optdict.cxx b/cui/source/options/optdict.cxx
index adbb6489f551..40240d6fa550 100644
--- a/cui/source/options/optdict.cxx
+++ b/cui/source/options/optdict.cxx
@@ -132,6 +132,17 @@ IMPL_LINK_NOARG(SvxNewDictionaryDialog, OKHdl_Impl, weld::Button&, void)
if ( sDict.equalsIgnoreAsciiCase( pDic[i]->getName()) )
bFound = true;
+ if ( sDict.indexOf("/") != -1 || sDict.indexOf("\\") != -1 )
+ {
+ // Detected an invalid character.
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(m_xDialog.get(),
+ VclMessageType::Info, VclButtonsType::Ok,
+ CuiResId(RID_SVXSTR_OPT_INVALID_DICT_NAME)));
+ xInfoBox->run();
+ m_xNameEdit->grab_focus();
+ return;
+ }
+
if ( bFound )
{
// duplicate names?