Kaydet (Commit) b35820c0 authored tarafından Tobias Madl's avatar Tobias Madl

changed timers to idles

Change-Id: Iac97f482df9fca8563e6931e4c710c1cc4e6503d
üst eef25e0e
...@@ -149,7 +149,7 @@ private: ...@@ -149,7 +149,7 @@ private:
::sd::Outliner* mpOutliner; ///< local outliner for outline mode ::sd::Outliner* mpOutliner; ///< local outliner for outline mode
::sd::Outliner* mpInternalOutliner; ///< internal outliner for creation of text objects ::sd::Outliner* mpInternalOutliner; ///< internal outliner for creation of text objects
Timer* mpWorkStartupTimer; Timer* mpWorkStartupTimer;
Timer* mpOnlineSpellingTimer; Idle* mpOnlineSpellingIdle;
sd::ShapeList* mpOnlineSpellingList; sd::ShapeList* mpOnlineSpellingList;
SvxSearchItem* mpOnlineSearchItem; SvxSearchItem* mpOnlineSearchItem;
std::vector<sd::FrameView*> maFrameViewList; std::vector<sd::FrameView*> maFrameViewList;
......
...@@ -152,7 +152,7 @@ SdDrawDocument::SdDrawDocument(DocumentType eType, SfxObjectShell* pDrDocSh) ...@@ -152,7 +152,7 @@ SdDrawDocument::SdDrawDocument(DocumentType eType, SfxObjectShell* pDrDocSh)
, mpOutliner(NULL) , mpOutliner(NULL)
, mpInternalOutliner(NULL) , mpInternalOutliner(NULL)
, mpWorkStartupTimer(NULL) , mpWorkStartupTimer(NULL)
, mpOnlineSpellingTimer(NULL) , mpOnlineSpellingIdle(NULL)
, mpOnlineSpellingList(NULL) , mpOnlineSpellingList(NULL)
, mpOnlineSearchItem(NULL) , mpOnlineSearchItem(NULL)
, mpCustomShowList(NULL) , mpCustomShowList(NULL)
......
...@@ -725,13 +725,13 @@ sal_uInt16 SdDrawDocument::GetMasterPageUserCount(SdrPage* pMaster) const ...@@ -725,13 +725,13 @@ sal_uInt16 SdDrawDocument::GetMasterPageUserCount(SdrPage* pMaster) const
void SdDrawDocument::StopOnlineSpelling() void SdDrawDocument::StopOnlineSpelling()
{ {
if (mpOnlineSpellingTimer && mpOnlineSpellingTimer->IsActive()) if (mpOnlineSpellingIdle && mpOnlineSpellingIdle->IsActive())
{ {
mpOnlineSpellingTimer->Stop(); mpOnlineSpellingIdle->Stop();
} }
delete mpOnlineSpellingTimer; delete mpOnlineSpellingIdle;
mpOnlineSpellingTimer = NULL; mpOnlineSpellingIdle = NULL;
delete mpOnlineSpellingList; delete mpOnlineSpellingList;
mpOnlineSpellingList = NULL; mpOnlineSpellingList = NULL;
...@@ -773,10 +773,10 @@ void SdDrawDocument::StartOnlineSpelling(bool bForceSpelling) ...@@ -773,10 +773,10 @@ void SdDrawDocument::StartOnlineSpelling(bool bForceSpelling)
} }
mpOnlineSpellingList->seekShape(0); mpOnlineSpellingList->seekShape(0);
mpOnlineSpellingTimer = new Timer(); mpOnlineSpellingIdle = new Idle();
mpOnlineSpellingTimer->SetTimeoutHdl( LINK(this, SdDrawDocument, OnlineSpellingHdl) ); mpOnlineSpellingIdle->SetIdleHdl( LINK(this, SdDrawDocument, OnlineSpellingHdl) );
mpOnlineSpellingTimer->SetTimeout(250); mpOnlineSpellingIdle->SetPriority(VCL_IDLE_PRIORITY_LOWEST);
mpOnlineSpellingTimer->Start(); mpOnlineSpellingIdle->Start();
} }
} }
...@@ -861,7 +861,7 @@ IMPL_LINK_NOARG(SdDrawDocument, OnlineSpellingHdl) ...@@ -861,7 +861,7 @@ IMPL_LINK_NOARG(SdDrawDocument, OnlineSpellingHdl)
} }
// Continue search // Continue search
mpOnlineSpellingTimer->Start(); mpOnlineSpellingIdle->Start();
} }
else else
{ {
......
...@@ -32,7 +32,7 @@ QueueProcessor::QueueProcessor ( ...@@ -32,7 +32,7 @@ QueueProcessor::QueueProcessor (
const bool bDoSuperSampling, const bool bDoSuperSampling,
const SharedCacheContext& rpCacheContext) const SharedCacheContext& rpCacheContext)
: maMutex(), : maMutex(),
maTimer(), maIdle(),
mnTimeBetweenHighPriorityRequests (10/*ms*/), mnTimeBetweenHighPriorityRequests (10/*ms*/),
mnTimeBetweenLowPriorityRequests (100/*ms*/), mnTimeBetweenLowPriorityRequests (100/*ms*/),
mnTimeBetweenRequestsWhenNotIdle (1000/*ms*/), mnTimeBetweenRequestsWhenNotIdle (1000/*ms*/),
...@@ -58,8 +58,8 @@ QueueProcessor::QueueProcessor ( ...@@ -58,8 +58,8 @@ QueueProcessor::QueueProcessor (
if (aTimeBetweenReqeusts.has<sal_Int32>()) if (aTimeBetweenReqeusts.has<sal_Int32>())
aTimeBetweenReqeusts >>= mnTimeBetweenRequestsWhenNotIdle; aTimeBetweenReqeusts >>= mnTimeBetweenRequestsWhenNotIdle;
maTimer.SetTimeoutHdl (LINK(this,QueueProcessor,ProcessRequestHdl)); maIdle.SetIdleHdl (LINK(this,QueueProcessor,ProcessRequestHdl));
maTimer.SetTimeout (mnTimeBetweenHighPriorityRequests); maIdle.SetPriority (VCL_IDLE_PRIORITY_REPAINT);
} }
QueueProcessor::~QueueProcessor (void) QueueProcessor::~QueueProcessor (void)
...@@ -70,20 +70,20 @@ void QueueProcessor::Start (int nPriorityClass) ...@@ -70,20 +70,20 @@ void QueueProcessor::Start (int nPriorityClass)
{ {
if (mbIsPaused) if (mbIsPaused)
return; return;
if ( ! maTimer.IsActive()) if ( ! maIdle.IsActive())
{ {
if (nPriorityClass == 0) if (nPriorityClass == 0)
maTimer.SetTimeout (mnTimeBetweenHighPriorityRequests); maIdle.SetPriority (VCL_IDLE_PRIORITY_REPAINT);
else else
maTimer.SetTimeout (mnTimeBetweenLowPriorityRequests); maIdle.SetPriority (VCL_IDLE_PRIORITY_LOW);
maTimer.Start(); maIdle.Start();
} }
} }
void QueueProcessor::Stop (void) void QueueProcessor::Stop (void)
{ {
if (maTimer.IsActive()) if (maIdle.IsActive())
maTimer.Stop(); maIdle.Stop();
} }
void QueueProcessor::Pause (void) void QueueProcessor::Pause (void)
......
...@@ -92,7 +92,7 @@ private: ...@@ -92,7 +92,7 @@ private:
*/ */
::osl::Mutex maMutex; ::osl::Mutex maMutex;
Timer maTimer; Idle maIdle;
DECL_LINK(ProcessRequestHdl, void *); DECL_LINK(ProcessRequestHdl, void *);
sal_uInt32 mnTimeBetweenHighPriorityRequests; sal_uInt32 mnTimeBetweenHighPriorityRequests;
sal_uInt32 mnTimeBetweenLowPriorityRequests; sal_uInt32 mnTimeBetweenLowPriorityRequests;
......
...@@ -35,12 +35,6 @@ using ::com::sun::star::beans::PropertyValue; ...@@ -35,12 +35,6 @@ using ::com::sun::star::beans::PropertyValue;
SFX_IMPL_STATUSBAR_CONTROL(SvxModifyControl, SfxBoolItem); SFX_IMPL_STATUSBAR_CONTROL(SvxModifyControl, SfxBoolItem);
namespace
{
const unsigned _FEEDBACK_TIMEOUT = 3000;
}
struct SvxModifyControl::ImplData struct SvxModifyControl::ImplData
{ {
enum ModificationState enum ModificationState
...@@ -51,7 +45,7 @@ struct SvxModifyControl::ImplData ...@@ -51,7 +45,7 @@ struct SvxModifyControl::ImplData
MODIFICATION_STATE_SIZE MODIFICATION_STATE_SIZE
}; };
Timer maTimer; Idle maIdle;
Image maImages[MODIFICATION_STATE_SIZE]; Image maImages[MODIFICATION_STATE_SIZE];
ModificationState mnModState; ModificationState mnModState;
...@@ -63,7 +57,7 @@ struct SvxModifyControl::ImplData ...@@ -63,7 +57,7 @@ struct SvxModifyControl::ImplData
maImages[MODIFICATION_STATE_YES] = Image(SVX_RES(RID_SVXBMP_DOC_MODIFIED_YES)); maImages[MODIFICATION_STATE_YES] = Image(SVX_RES(RID_SVXBMP_DOC_MODIFIED_YES));
maImages[MODIFICATION_STATE_FEEDBACK] = Image(SVX_RES(RID_SVXBMP_DOC_MODIFIED_FEEDBACK)); maImages[MODIFICATION_STATE_FEEDBACK] = Image(SVX_RES(RID_SVXBMP_DOC_MODIFIED_FEEDBACK));
maTimer.SetTimeout(_FEEDBACK_TIMEOUT); maIdle.SetPriority(VCL_IDLE_PRIORITY_LOWEST);
} }
}; };
...@@ -82,7 +76,7 @@ SvxModifyControl::SvxModifyControl( sal_uInt16 _nSlotId, sal_uInt16 _nId, Status ...@@ -82,7 +76,7 @@ SvxModifyControl::SvxModifyControl( sal_uInt16 _nSlotId, sal_uInt16 _nId, Status
} }
} }
//#endif //#endif
mpImpl->maTimer.SetTimeoutHdl( LINK(this, SvxModifyControl, OnTimer) ); mpImpl->maIdle.SetIdleHdl( LINK(this, SvxModifyControl, OnTimer) );
} }
...@@ -95,7 +89,7 @@ void SvxModifyControl::StateChanged( sal_uInt16, SfxItemState eState, ...@@ -95,7 +89,7 @@ void SvxModifyControl::StateChanged( sal_uInt16, SfxItemState eState,
DBG_ASSERT( pState->ISA( SfxBoolItem ), "invalid item type" ); DBG_ASSERT( pState->ISA( SfxBoolItem ), "invalid item type" );
const SfxBoolItem* pItem = static_cast<const SfxBoolItem*>(pState); const SfxBoolItem* pItem = static_cast<const SfxBoolItem*>(pState);
mpImpl->maTimer.Stop(); mpImpl->maIdle.Stop();
bool modified = pItem->GetValue(); bool modified = pItem->GetValue();
bool start = ( !modified && mpImpl->mnModState == ImplData::MODIFICATION_STATE_YES); // should timer be started and feedback image displayed ? bool start = ( !modified && mpImpl->mnModState == ImplData::MODIFICATION_STATE_YES); // should timer be started and feedback image displayed ?
...@@ -108,7 +102,7 @@ void SvxModifyControl::StateChanged( sal_uInt16, SfxItemState eState, ...@@ -108,7 +102,7 @@ void SvxModifyControl::StateChanged( sal_uInt16, SfxItemState eState,
GetStatusBar().SetQuickHelpText(GetId(), SVX_RESSTR(nResId)); GetStatusBar().SetQuickHelpText(GetId(), SVX_RESSTR(nResId));
if ( start ) if ( start )
mpImpl->maTimer.Start(); mpImpl->maIdle.Start();
} }
......
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