43 , m_nIdleBlockCount(0)
44 , m_bStartOnUnblock(false)
45 , m_aDocIdle(i_rSwdoc)
46 , m_aFireIdleJobsTimer(
"sw::DocumentTimerManager m_aFireIdleJobsTimer")
47 , m_bWaitForLokInit(true)
119 if( rSh.ActionPend() )
124 bool bIsOnlineSpell = pShell->GetViewOptions()->IsOnlineSpell();
125 bool bIsAutoGrammar =
false;
133 if (!pShell->HasDrawViewDrag())
137 if( pLayout->IsIdleFormat() )
160 static ::rtl::Logfile* pModLogFile = new ::rtl::Logfile(
"First DoIdleJobs" );
165 IdleJob eJob = GetNextIdleJob();
169 case IdleJob::Grammar:
173 case IdleJob::Layout:
175 if( pLayout->IsIdleFormat() )
177 pLayout->GetCurrShell()->LayoutIdle();
182 case IdleJob::Fields:
190 pTmpRoot->StartAllAction();
193 const bool bOldLockView = pShell->IsViewLocked();
194 pShell->LockView(
true );
206 pTmpRoot->EndAllAction();
208 pShell->LockView( bOldLockView );
221 if ( IdleJob::None != eJob )
226 if( pModLogFile && 1 != (
long)pModLogFile )
227 delete pModLogFile,
static_cast<long&
>(pModLogFile) = 1;
#define LINK(Instance, Class, Member)
virtual const SwRootFrame * GetCurrentLayout() const =0
SwDocShell * GetDocShell()
bool IsInUpdateFields() const
bool IsFieldsDirty() const
bool IsNeedGrammarCheck() const
Dialog to specify the properties of date form field.
document has no idle jobs to do
bool m_bStartOnUnblock
true, if the last unblock should start the timer
The root element of a Writer document layout.
virtual void UpdateExpFields(SwTextField *pField, bool bUpdateRefFields)=0
IDocumentFieldsAccess const & getIDocumentFieldsAccess() const
bool m_bWaitForLokInit
true if we waited for LOK to initialize already.
#define UPN_IS_GRAMMAR_AUTO
IMPL_LINK(DocumentStatisticsManager, DoIdleStatsUpdate, Timer *, pIdle, void)
const BorderLinePrimitive2D *pCandidateB assert(pCandidateA)
virtual void UpdateTableFields(SfxPoolItem *pHt)=0
Timer m_aFireIdleJobsTimer
virtual void Start() override
virtual bool IsExpFieldsLocked() const =0
o3tl::sorted_vector< SwRootFrame * > GetAllLayouts()
virtual ~DocumentTimerManager() override
sal_uInt32 m_nIdleBlockCount
Don't run the Idle, if > 0.
void SetDebugName(const char *pDebugName)
virtual void UpdateRefFields()=0
SwEditShell const * GetEditShell() const
void UnblockIdling() override
Decrement block count.
IMPL_LINK_NOARG(DocumentTimerManager, DoIdleJobs, Timer *, void)
void SetInUpdateFields(bool b)
virtual void Start() override
ring_container GetRingContainer()
void SetTimeout(sal_uInt64 nTimeoutMs)
void StopIdling() override
Stop idle processing.
void BlockIdling() override
Increment block count.
IDocumentLayoutAccess const & getIDocumentLayoutAccess() const
IdleJob GetNextIdleJob() const
void SetFieldsDirty(bool b)
virtual SwFieldUpdateFlags getFieldUpdateFlags(bool bGlobalSettings) const override
Get the current field update mode.
virtual const SwViewShell * GetCurrentViewShell() const =0
Returns the layout set at the document.
void ValidateAllParagraphSignatures(bool updateDontRemove)
Validate all paragraph signatures.
::sw::DocumentSettingManager & GetDocumentSettingManager()
virtual SwDocUpdateField & GetUpdateFields() const =0
void SetInvokeHandler(const Link< Timer *, void > &rLink)
document is busy and idle jobs are postponed
static SfxProgress * GetActiveProgress(SfxObjectShell const *pDocSh=nullptr)
virtual void CallSwClientNotify(const SfxHint &rHint) const override
DocumentTimerManager(SwDoc &i_rSwdoc)
css::uno::Any GetProperty(const OUString &rPropertyName) const
void SetPriority(TaskPriority ePriority)
virtual SwFieldType * GetSysFieldType(const SwFieldIds eWhich) const =0
bool StartGrammarChecking(bool bSkipStart=false)
void StartIdling() override
Start the idle task.