summaryrefslogtreecommitdiff
path: root/sfx2
diff options
context:
space:
mode:
authorZolnai Tamás <tamas.zolnai@collabora.com>2014-03-07 10:17:26 +0100
committerZolnai Tamás <tamas.zolnai@collabora.com>2014-03-07 10:24:26 +0100
commitfa173ce679235e3a8378ccffcff5d767f97375b2 (patch)
tree95081b3823dc03d4ac83912ca69422252905bcce /sfx2
parentec62a7ed2c25e2034e9199ba8b846771d71e1d77 (diff)
Revert "fdo#74506 fdo#74291 -Template manager-store selection before calling dialog"
Diffstat (limited to 'sfx2')
-rw-r--r--sfx2/source/doc/templatedlg.cxx22
1 files changed, 6 insertions, 16 deletions
diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx
index 2741d71c85d0..fc198b0ca61a 100644
--- a/sfx2/source/doc/templatedlg.cxx
+++ b/sfx2/source/doc/templatedlg.cxx
@@ -987,7 +987,7 @@ void SfxTemplateManagerDlg::OnTemplateExport()
{
sal_uInt16 i = 1;
- std::set<const ThumbnailViewItem*,selection_cmp_fn>::const_iterator pIter;
+ std::set<const ThumbnailViewItem*,selection_cmp_fn>::const_iterator pIter = maSelTemplates.begin();
for (pIter = maSelTemplates.begin(); pIter != maSelTemplates.end(); ++pIter, ++i)
{
const TemplateSearchViewItem *pItem = static_cast<const TemplateSearchViewItem*>(*pIter);
@@ -1161,11 +1161,6 @@ void SfxTemplateManagerDlg::OnTemplateProperties ()
void SfxTemplateManagerDlg::OnTemplateDelete ()
{
- // Store selected templates before calling a dialog/QueryBox
- // which will result in a deselection of all ThumbnailViewItem.
- // Also avoid invalid iterators
- std::set<const ThumbnailViewItem*,selection_cmp_fn> aSelTemplates = maSelTemplates;
-
QueryBox aQueryDlg(this, WB_YES_NO | WB_DEF_YES, SfxResId(STR_QMSG_SEL_TEMPLATE_DELETE).toString());
if ( aQueryDlg.Execute() == RET_NO )
@@ -1175,6 +1170,8 @@ void SfxTemplateManagerDlg::OnTemplateDelete ()
if (mpSearchView->IsVisible())
{
+ std::set<const ThumbnailViewItem*,selection_cmp_fn> aSelTemplates = maSelTemplates; //Avoids invalid iterators
+
std::set<const ThumbnailViewItem*,selection_cmp_fn>::const_iterator pIter;
for (pIter = aSelTemplates.begin(); pIter != aSelTemplates.end(); ++pIter)
{
@@ -1195,6 +1192,7 @@ void SfxTemplateManagerDlg::OnTemplateDelete ()
else
{
sal_uInt16 nRegionItemId = mpLocalView->getCurRegionItemId();
+ std::set<const ThumbnailViewItem*,selection_cmp_fn> aSelTemplates = maSelTemplates; //Avoid invalid iterators
std::set<const ThumbnailViewItem*,selection_cmp_fn>::const_iterator pIter;
for (pIter = aSelTemplates.begin(); pIter != aSelTemplates.end(); ++pIter)
@@ -1248,11 +1246,6 @@ void SfxTemplateManagerDlg::OnFolderNew()
void SfxTemplateManagerDlg::OnFolderDelete()
{
- // Store selected folders before calling a dialog/QueryBox
- // which will result in a deselection of all ThumbnailViewItem.
- // Also copy to avoid invalidating an iterator
- std::set<const ThumbnailViewItem*,selection_cmp_fn> aSelFolders = maSelFolders;
-
QueryBox aQueryDlg(this, WB_YES_NO | WB_DEF_YES, SfxResId(STR_QMSG_SEL_FOLDER_DELETE).toString());
if ( aQueryDlg.Execute() == RET_NO )
@@ -1261,6 +1254,7 @@ void SfxTemplateManagerDlg::OnFolderDelete()
OUString aFolderList;
std::set<const ThumbnailViewItem*,selection_cmp_fn>::const_iterator pIter;
+ std::set<const ThumbnailViewItem*,selection_cmp_fn> aSelFolders = maSelFolders; //Copy to avoid invalidating an iterator
for (pIter = aSelFolders.begin(); pIter != aSelFolders.end(); ++pIter)
{
@@ -1295,10 +1289,6 @@ void SfxTemplateManagerDlg::OnRepositoryDelete()
void SfxTemplateManagerDlg::OnTemplateSaveAs()
{
- // Store selected folders before calling a dialog/QueryBox
- // which will result in a deselection of all ThumbnailViewItem
- std::set<const ThumbnailViewItem*,selection_cmp_fn> aSelFolders = maSelFolders;
-
assert(m_xModel.is());
if (!mpLocalView->isNonRootRegionVisible() && maSelFolders.empty())
@@ -1338,7 +1328,7 @@ void SfxTemplateManagerDlg::OnTemplateSaveAs()
else
{
std::set<const ThumbnailViewItem*,selection_cmp_fn>::const_iterator pIter;
- for (pIter = aSelFolders.begin(); pIter != aSelFolders.end(); ++pIter)
+ for (pIter = maSelFolders.begin(); pIter != maSelFolders.end(); ++pIter)
{
TemplateContainerItem *pItem = (TemplateContainerItem*)(*pIter);