Kaydet (Commit) 5192468d authored tarafından Caolán McNamara's avatar Caolán McNamara

Related: fdo#51908 reuse the status bar word counts for the dialog

Set the counts directly on the word count dialog when we have them
precalculated from updating the status bar

Change-Id: Idd64f20097af661dd4938af7fcc8506eca076e9c
üst a59b51a6
...@@ -203,6 +203,7 @@ class AbstractSwWordCountFloatDlg : public VclAbstractDialog ...@@ -203,6 +203,7 @@ class AbstractSwWordCountFloatDlg : public VclAbstractDialog
{ {
public: public:
virtual void UpdateCounts() = 0; virtual void UpdateCounts() = 0;
virtual void SetCounts(const SwDocStat &rCurrCnt, const SwDocStat &rDocStat) = 0;
virtual Window * GetWindow() = 0; //this method is added for return a Window type pointer virtual Window * GetWindow() = 0; //this method is added for return a Window type pointer
}; };
......
...@@ -571,6 +571,10 @@ void AbstractSwWordCountFloatDlg_Impl::UpdateCounts() ...@@ -571,6 +571,10 @@ void AbstractSwWordCountFloatDlg_Impl::UpdateCounts()
pDlg->UpdateCounts(); pDlg->UpdateCounts();
} }
void AbstractSwWordCountFloatDlg_Impl::SetCounts(const SwDocStat &rCurrCnt, const SwDocStat &rDocStat)
{
pDlg->SetCounts(rCurrCnt, rDocStat);
}
AbstractMailMergeWizard_Impl::~AbstractMailMergeWizard_Impl() AbstractMailMergeWizard_Impl::~AbstractMailMergeWizard_Impl()
{ {
......
...@@ -79,6 +79,7 @@ class AbstractSwWordCountFloatDlg_Impl : public AbstractSwWordCountFloatDlg ...@@ -79,6 +79,7 @@ class AbstractSwWordCountFloatDlg_Impl : public AbstractSwWordCountFloatDlg
{ {
DECL_ABSTDLG_BASE(AbstractSwWordCountFloatDlg_Impl,SwWordCountFloatDlg) DECL_ABSTDLG_BASE(AbstractSwWordCountFloatDlg_Impl,SwWordCountFloatDlg)
virtual void UpdateCounts(); virtual void UpdateCounts();
virtual void SetCounts(const SwDocStat &rCurrCnt, const SwDocStat &rDocStat);
virtual Window * GetWindow(); //this method is added for return a Window type pointer virtual Window * GetWindow(); //this method is added for return a Window type pointer
}; };
......
...@@ -133,4 +133,9 @@ void SwWordCountFloatDlg::UpdateCounts() ...@@ -133,4 +133,9 @@ void SwWordCountFloatDlg::UpdateCounts()
aDlg.SetValues(aCurrCnt, aDocStat); aDlg.SetValues(aCurrCnt, aDocStat);
} }
void SwWordCountFloatDlg::SetCounts(const SwDocStat &rCurrCnt, const SwDocStat &rDocStat)
{
aDlg.SetValues(rCurrCnt, rDocStat);
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
...@@ -58,3 +58,8 @@ void SwWordCountWrapper::UpdateCounts() ...@@ -58,3 +58,8 @@ void SwWordCountWrapper::UpdateCounts()
{ {
pAbstDlg->UpdateCounts(); pAbstDlg->UpdateCounts();
} }
void SwWordCountWrapper::SetCounts(const SwDocStat &rCurrCnt, const SwDocStat &rDocStat)
{
pAbstDlg->SetCounts(rCurrCnt, rDocStat);
}
...@@ -78,6 +78,8 @@ class SwWordCountFloatDlg : public SfxModelessDialog ...@@ -78,6 +78,8 @@ class SwWordCountFloatDlg : public SfxModelessDialog
Window *pParent, Window *pParent,
SfxChildWinInfo* pInfo); SfxChildWinInfo* pInfo);
void UpdateCounts(); void UpdateCounts();
void SetCounts(const SwDocStat &rCurrCnt, const SwDocStat &rDocStat);
}; };
class SwWordCountWrapper : public SfxChildWindow class SwWordCountWrapper : public SfxChildWindow
...@@ -93,6 +95,7 @@ protected: ...@@ -93,6 +95,7 @@ protected:
public: public:
void UpdateCounts(); void UpdateCounts();
void SetCounts(const SwDocStat &rCurrCnt, const SwDocStat &rDocStat);
}; };
#endif #endif
......
...@@ -140,6 +140,7 @@ ...@@ -140,6 +140,7 @@
#include <svx/ofaitem.hxx> #include <svx/ofaitem.hxx>
#include <unomid.h> #include <unomid.h>
#include <docstat.hxx> #include <docstat.hxx>
#include <wordcountdialog.hxx>
const char sStatusDelim[] = " : "; const char sStatusDelim[] = " : ";
const char sStatusComma[] = " , ";//#outlinelevel, define a Variable for "," add by zhaojianwei const char sStatusComma[] = " , ";//#outlinelevel, define a Variable for "," add by zhaojianwei
...@@ -1215,6 +1216,10 @@ void SwView::StateStatusLine(SfxItemSet &rSet) ...@@ -1215,6 +1216,10 @@ void SwView::StateStatusLine(SfxItemSet &rSet)
wordCount = wordCount.replaceAll("$2", rtl::OUString::valueOf(static_cast<sal_Int64>(selectionStats.nWord))); wordCount = wordCount.replaceAll("$2", rtl::OUString::valueOf(static_cast<sal_Int64>(selectionStats.nWord)));
} }
rSet.Put(SfxStringItem(FN_STAT_WORDCOUNT, wordCount)); rSet.Put(SfxStringItem(FN_STAT_WORDCOUNT, wordCount));
SwWordCountWrapper *pWrdCnt = (SwWordCountWrapper*)GetViewFrame()->GetChildWindow(SwWordCountWrapper::GetChildWindowId());
if (pWrdCnt)
pWrdCnt->SetCounts(selectionStats, documentStats);
} }
break; break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment