43 , m_nIdleBlockCount(0)
44 , m_bStartOnUnblock(false)
45 , m_aDocIdle(i_rSwdoc,
"sw::DocumentTimerManager m_aDocIdle")
46 , m_aFireIdleJobsTimer(
"sw::DocumentTimerManager m_aFireIdleJobsTimer")
47 , m_bWaitForLokInit(true)
118 if( rSh.ActionPend() )
124 bool bIsAutoGrammar =
false;
136 if( pLayout->IsIdleFormat() )
159 static ::rtl::Logfile* pModLogFile = new ::rtl::Logfile(
"First DoIdleJobs" );
164 IdleJob eJob = GetNextIdleJob();
168 case IdleJob::Grammar:
172 case IdleJob::Layout:
174 if( pLayout->IsIdleFormat() )
176 pLayout->GetCurrShell()->LayoutIdle();
181 case IdleJob::Fields:
203 pSh->ValidateAllParagraphSignatures(
true);
220 if ( IdleJob::None != eJob )
225 if( pModLogFile && 1 != (
long)pModLogFile )
226 delete pModLogFile,
static_cast<long&
>(pModLogFile) = 1;
virtual void UpdateTableFields(const SwTable *pTable)=0
virtual SwFieldType * GetSysFieldType(const SwFieldIds eWhich) const =0
virtual void UpdateRefFields()=0
virtual SwDocUpdateField & GetUpdateFields() const =0
virtual bool IsExpFieldsLocked() const =0
virtual void UpdateExpFields(SwTextField *pField, bool bUpdateRefFields)=0
virtual const SwRootFrame * GetCurrentLayout() const =0
virtual const SwViewShell * GetCurrentViewShell() const =0
Returns the layout set at the document.
virtual void Start(bool bStartTimer=true) override
static SfxProgress * GetActiveProgress(SfxObjectShell const *pDocSh=nullptr)
css::uno::Any GetProperty(std::u16string_view rPropertyName) const
bool IsInUpdateFields() const
void SetFieldsDirty(bool b)
void SetInUpdateFields(bool b)
bool IsFieldsDirty() const
bool StartGrammarChecking(bool bSkipStart=false)
o3tl::sorted_vector< SwRootFrame * > GetAllLayouts()
IDocumentFieldsAccess const & getIDocumentFieldsAccess() const
SwEditShell const * GetEditShell() const
IDocumentLayoutAccess const & getIDocumentLayoutAccess() const
::sw::DocumentSettingManager & GetDocumentSettingManager()
SwDocShell * GetDocShell()
The root element of a Writer document layout.
void StartAllAction()
Set up Start-/EndAction for all Shells on an as high as possible (Shell section) level.
bool IsNeedGrammarCheck() const
bool IsOnlineSpell() const
bool IsViewLocked() const
const SwViewOption * GetViewOptions() const
bool HasDrawViewDrag() const
void SetPriority(TaskPriority ePriority)
void SetTimeout(sal_uInt64 nTimeoutMs)
void SetInvokeHandler(const Link< Timer *, void > &rLink)
virtual void Start(bool bStartTimer=true) override
virtual SwFieldUpdateFlags getFieldUpdateFlags(bool bGlobalSettings) const override
Get the current field update mode.
IdleJob GetNextIdleJob() const
DocumentTimerManager(SwDoc &i_rSwdoc)
@ None
document has no idle jobs to do
@ Busy
document is busy and idle jobs are postponed
virtual ~DocumentTimerManager() override
sal_uInt32 m_nIdleBlockCount
Don't run the Idle, if > 0.
bool m_bStartOnUnblock
true, if the last unblock should start the timer
void StopIdling() override
Stop idle processing.
void UnblockIdling() override
Decrement block count.
void StartIdling() override
Start the idle task.
Timer m_aFireIdleJobsTimer
bool m_bWaitForLokInit
true if we waited for LOK to initialize already.
void BlockIdling() override
Increment block count.
ring_container GetRingContainer()
@ AUTOUPD_FIELD_AND_CHARTS
constexpr OUStringLiteral UPN_IS_GRAMMAR_AUTO
#define LINK(Instance, Class, Member)
Dialog to specify the properties of date form field.
IMPL_LINK_NOARG(DocumentTimerManager, DoIdleJobs, Timer *, void)
IMPL_LINK(DocumentStatisticsManager, DoIdleStatsUpdate, Timer *, pIdle, void)