[Libreoffice-commits] core.git: Branch 'feature/priorities' - 3718 commits - accessibility/inc accessibility/source android/Bootstrap android/CustomTarget_android_desktop.mk android/CustomTarget_lo_android.mk android/experimental android/Makefile android/mobile-config.py avmedia/inc avmedia/Library_avmediavlc.mk avmedia/source basctl/inc basctl/source basctl/uiconfig basebmp/Library_basebmp.mk basebmp/source basebmp/test basegfx/CppunitTest_basegfx.mk basegfx/inc basegfx/source basegfx/test basic/inc basic/Library_sb.mk basic/qa basic/source basic/util bean/com bean/inc bean/Library_officebean.mk bean/native bean/qa binaryurp/qa binaryurp/source bin/extract-tooltip.py bin/find-german-comments bin/findunusedcode bin/find-unused-defines.awk bin/find-unused-defines.sh bin/gbuild-to-ide bin/generate-bash-completion bin/get-bugzilla-attachments-by-mimetype bin/lo-all-static-libs bin/lo-generate-source-tarball bin/run bridges/inc bridges/Library_cpp_uno.mk bridges/source bridges/test canvas/Library_cai rocanvas.mk canvas/Library_directx9canvas.mk canvas/Library_gdipluscanvas.mk canvas/Library_oglcanvas.mk canvas/source canvas/StaticLibrary_directxcanvas.mk canvas/workben chart2/CppunitTest_chart2_export.mk chart2/CppunitTest_chart2_import.mk chart2/CppunitTest_chart2_xshape.mk chart2/inc chart2/Library_chartcore.mk chart2/qa chart2/source chart2/uiconfig clew/Library_clew.mk cli_ure/readme.txt cli_ure/source codemaker/source comphelper/inc comphelper/qa comphelper/source compilerplugins/clang config_host/config_features.h.in config_host/config_global.h.in config_host/config_oauth2.h.in config_host.mk.in configmgr/inc configmgr/Module_configmgr.mk configmgr/qa configmgr/source configure.ac connectivity/com connectivity/inc connectivity/Jar_ConnectivityTools.mk connectivity/JunitTest_complex.mk connectivity/Module_connectivity.mk connectivity/org connectivity/qa connectivity/registry connectivity/source cppcanvas/CppunitTest_cppcanvas_emfplus.mk cppcanvas/inc cppcanvas/qa cppcanvas/ source cppuhelper/inc cppuhelper/qa cppuhelper/source cppu/qa cppu/source cpputools/source crashrep/CustomTarget_crashrep_res.mk crashrep/Executable_crashrep.mk crashrep/Makefile crashrep/Module_crashrep.mk crashrep/README crashrep/source crashrep/WinResTarget_crashrep.mk cui/inc cui/Library_cui.mk cui/source cui/uiconfig cui/UIConfig_cui.mk dbaccess/CppunitTest_dbaccess_dialog_save.mk dbaccess/CppunitTest_dbaccess_embeddeddb_performancetest.mk dbaccess/CppunitTest_dbaccess_empty_stdlib_save.mk dbaccess/CppunitTest_dbaccess_firebird_test.mk dbaccess/CppunitTest_dbaccess_hsqldb_test.mk dbaccess/CppunitTest_dbaccess_macros_test.mk dbaccess/CppunitTest_dbaccess_nolib_save.mk dbaccess/CppunitTest_dbaccess_RowSetClones.mk dbaccess/inc dbaccess/Library_dbu.mk dbaccess/Module_dbaccess.mk dbaccess/PythonTest_dbaccess_python.mk dbaccess/qa dbaccess/source dbaccess/uiconfig dbaccess/util desktop/Executable_crashrep_com.mk desktop/inc desktop/Library_active_native.mk desktop/Library_passive_na tive.mk desktop/Library_sofficeapp.mk desktop/Module_desktop.mk desktop/Package_scripts.mk desktop/source desktop/test desktop/uiconfig desktop/unx desktop/win32 dictionaries distro-configs/LibreOfficeCoverity.conf distro-configs/LibreOfficeWin32.conf distro-configs/LibreOfficeWin64.conf distro-configs/OxygenOfficeLinux.conf download.lst drawinglayer/inc drawinglayer/source dtrans/source editeng/inc editeng/qa editeng/source embeddedobj/source embeddedobj/test embedserv/source extensions/inc extensions/qa extensions/source external/beanshell external/boost external/coinmp external/cppunit external/firebird external/graphite external/harfbuzz external/hunspell external/icu external/jpeg-turbo external/lcms2 external/libabw external/libatomic_ops external/libcdr external/libcmis external/libebook external/libgltf external/libmspub external/libmwaw external/libodfgen external/liborcus external/libpagemaker external/librevenge external/libvisio external/libwpd external/libwpg external/l ibwps external/libxml2 external/lpsolve external/mysqlcppconn external/openldap external/openssl external/poppler external/python3 external/redland external/vigra extras/Module_extras.mk extras/Package_tplofficorr.mk extras/Package_tploffimisc.mk extras/Package_tplpersonal.mk extras/Package_tplpresnt.mk extras/source filter/Configuration_filter.mk filter/Library_pdffilter.mk filter/Library_textfd.mk filter/qa filter/source filter/uiconfig forms/inc forms/Library_frm.mk forms/qa forms/source forms/util formula/Library_for.mk formula/README formula/source formula/uiconfig fpicker/source fpicker/uiconfig framework/inc framework/JunitTest_framework_complex.mk framework/qa framework/source g .git-hooks/commit-msg .git-hooks/post-merge .gitignore helpcompiler/inc helpcompiler/source helpcontent2 hwpfilter/inc hwpfilter/source i18nlangtag/qa i18nlangtag/source i18npool/inc i18npool/Library_i18npool.mk i18npool/qa i18npool/source i18npool/util i18nutil/source icon-themes/breeze icon-themes/ crystal icon-themes/galaxy icon-themes/hicontrast icon-themes/human icon-themes/industrial icon-themes/oxygen icon-themes/sifr icon-themes/tango icon-themes/tango_testing idlc/inc idlc/source idl/inc idl/source include/avmedia include/basebmp include/basegfx include/basic include/canvas include/clew include/codemaker include/com include/comphelper include/connectivity include/cppcanvas include/cppu include/cppuhelper include/dbaccess include/drawinglayer include/editeng include/filter include/formula include/framework include/i18nlangtag include/i18nutil include/jvmaccess include/jvmfwk include/LibreOfficeKit include/linguistic include/o3tl include/oox include/opencl include/osl include/postwin.h include/registry include/rsc include/rtl include/sal include/salhelper include/sax include/sfx2 include/sot include/store include/svl include/svtools include/svx include/test include/toolkit include/tools include/typelib include/ucbhelper include/uno include/unotest include/unotools include /vbahelper include/vcl include/xmloff include/xmlreader instsetoo_native/util ios/CustomTarget_TiledLibreOffice_app.mk ios/experimental io/source ios/shared javaunohelper/com javaunohelper/JunitTest_juh.mk javaunohelper/source javaunohelper/test jurt/com jurt/JunitTest_java_remote.mk jurt/JunitTest_uno.mk jurt/source jurt/test jurt/workbench jvmaccess/source jvmfwk/inc jvmfwk/plugins jvmfwk/source l10ntools/inc l10ntools/source Library_merged.mk libreofficekit/Executable_gtktiledviewer.mk libreofficekit/Library_libreofficekitgtk.mk libreofficekit/qa libreofficekit/README libreofficekit/source lingucomponent/source linguistic/inc linguistic/qa linguistic/source lotuswordpro/source Makefile.in mysqlc/Library_mysqlc.mk mysqlc/source nlpsolver/Jar_EvolutionarySolver.mk nlpsolver/Jar_nlpsolver.mk nlpsolver/src nlpsolver/ThirdParty odk/config odk/CppunitTest_odk_checkapi.mk odk/docs odk/examples odk/index.html odk/index_online.html odk/Package_odk_headers.mk odk/qa odk/source offapi/com o ffapi/UnoApi_offapi.mk officecfg/registry oox/CustomTarget_generated.mk oox/inc oox/README oox/source opencl/inc opencl/source package/inc package/source postprocess/CppunitTest_services.mk postprocess/qa pyuno/inc pyuno/source qadevOOo/Jar_OOoRunnerLight.mk qadevOOo/Jar_OOoRunner.mk qadevOOo/Module_qadevOOo.mk qadevOOo/runner qadevOOo/testdocs qadevOOo/tests readlicense_oo/license README.Android registry/source registry/tools registry/workben remotebridges/source reportbuilder/Jar_reportbuilder.mk reportbuilder/java reportdesign/inc reportdesign/qa reportdesign/source reportdesign/uiconfig RepositoryExternal.mk RepositoryFixes.mk Repository.mk RepositoryModule_host.mk ridljar/JunitTest_util.mk rsc/inc rsc/source sal/android sal/cpprt sal/cppunittester sal/CppunitTest_sal_rtl_oustringbuffer.mk salhelper/qa salhelper/source sal/inc sal/Library_sal.mk sal/osl sal/qa sal/rtl sal/textenc sal/workben sax/qa sax/source scaddins/Library_analysis.mk scaddins/source sccomp/source sc/CppunitT est_sc_annotationobj.mk sc/CppunitTest_sc_annotationshapeobj.mk sc/CppunitTest_sc_annotationsobj.mk sc/CppunitTest_sc_bugfix_test.mk sc/CppunitTest_sc_cellrangeobj.mk sc/CppunitTest_sc_chart_regression_test.mk sc/CppunitTest_sc_condformats.mk sc/CppunitTest_sc_databaserangeobj.mk sc/CppunitTest_sc_datapilotfieldobj.mk sc/CppunitTest_sc_datapilottableobj.mk sc/CppunitTest_sc_editfieldobj_cell.mk sc/CppunitTest_sc_editfieldobj_header.mk sc/CppunitTest_sc_html_export_test.mk sc/CppunitTest_sc_macros_test.mk sc/CppunitTest_sc_modelobj.mk sc/CppunitTest_sc_namedrangeobj.mk sc/CppunitTest_sc_namedrangesobj.mk sc/CppunitTest_sc_opencl_test.mk sc/CppunitTest_sc_outlineobj.mk sc/CppunitTest_sc_perfobj.mk sc/CppunitTest_sc_rangelst_test.mk sc/CppunitTest_sc_recordchanges.mk sc/CppunitTest_sc_styleloaderobj.mk sc/CppunitTest_sc_tablesheetobj.mk sc/CppunitTest_sc_tablesheetsobj.mk sc/inc sc/Library_sc.mk sc/Module_sc.mk scp2/AutoInstall.mk scp2/InstallModule_accessories.mk scp2/InstallModule_cr ashrep.mk scp2/InstallModule_extensions.mk scp2/InstallModule_impress.mk scp2/InstallModule_ooo.mk scp2/InstallModule_python.mk scp2/InstallModule_xsltfilter.mk scp2/InstallScript_setup_osl.mk scp2/Module_scp2.mk scp2/source sc/qa scripting/examples scripting/java scripting/source sc/sdi sc/source sc/uiconfig sc/workben sd/AllLangResTarget_sd.mk sd/CppunitTest_sd_export_tests.mk sd/CppunitTest_sd_html_export_tests.mk sd/CppunitTest_sd_import_tests.mk sd/CppunitTest_sd_uimpress.mk sdext/inc sdext/source sd/inc sd/Module_sd.mk sd/qa sd/source sd/uiconfig sd/UIConfig_simpress.mk setup_native/Package_scripts.mk setup_native/scripts setup_native/source sfx2/inc sfx2/qa sfx2/source sfx2/uiconfig shell/inc shell/Package_scripts_kde.mk shell/source slideshow/inc slideshow/Library_OGLTrans.mk slideshow/source solenv/bin solenv/gbuild solenv/gdb solenv/inc soltools/mkdepend sot/inc sot/qa sot/source sot/workben starmath/CppunitTest_starmath_import.mk starmath/inc starmath/Library_sm.mk starma th/Module_starmath.mk starmath/qa starmath/source starmath/uiconfig starmath/UIConfig_smath.mk stoc/inc stoc/Library_bootstrap.mk stoc/Library_stocservices.mk stoc/source stoc/test stoc/util store/source svgio/inc svgio/qa svgio/source svl/inc svl/Library_svl.mk svl/qa svl/source svl/unx svtools/inc svtools/qa svtools/source svtools/uiconfig svx/AllLangResTarget_svx.mk svx/Executable_gengal.mk svx/inc svx/Library_svxcore.mk svx/qa svx/sdi svx/source svx/uiconfig svx/UIConfig_svx.mk svx/workben sw/CppunitTest_sw_globalfilter.mk sw/CppunitTest_sw_htmlexport.mk sw/CppunitTest_sw_htmlimport.mk sw/CppunitTest_sw_layout_test.mk sw/CppunitTest_sw_macros_test.mk sw/CppunitTest_sw_mailmerge.mk sw/CppunitTest_sw_odfexport.mk sw/CppunitTest_sw_odfimport.mk sw/CppunitTest_sw_ooxmlfieldexport.mk sw/CppunitTest_sw_ooxmlimport.mk sw/CppunitTest_sw_ooxmlsdrexport.mk sw/CppunitTest_sw_ooxmlw14export.mk sw/CppunitTest_sw_rtfexport.mk sw/CppunitTest_sw_rtfimport.mk sw/CppunitTest_sw_uiwriter.mk sw/Cpp unitTest_sw_ww8export.mk sw/CppunitTest_sw_ww8import.mk sw/CustomTarget_generated.mk sw/Executable_tiledrendering.mk swext/mediawiki sw/inc sw/Library_swd.mk sw/Library_sw.mk sw/Library_swui.mk sw/Module_sw.mk sw/ooxmlexport_setup.mk sw/qa sw/sdi sw/source sw/uiconfig sw/UIConfig_swriter.mk sw/util sysui/desktop test/source testtools/com testtools/qa testtools/source toolkit/Library_tk.mk toolkit/qa toolkit/source toolkit/test tools/inc tools/qa tools/source touch/CustomTarget_touch_javamaker.mk touch/idl touch/InternalUnoApi_touch.mk touch/Library_libotouch.mk touch/Makefile touch/Module_touch.mk touch/README touch/source translations tubes/source ucbhelper/Library_ucbhelper.mk ucbhelper/source ucb/qa ucb/source udkapi/com UnoControls/Makefile UnoControls/source unodevtools/source unoidl/source unotest/Library_unobootstrapprotector.mk unotest/source unotools/inc unotools/qa unotools/source unoxml/inc unoxml/qa unoxml/source unusedcode.easy ure/source uui/inc uui/Library_uui.mk uui/ source uui/uiconfig uui/UIConfig_uui.mk vbahelper/inc vbahelper/source vcl/android vcl/Executable_icontest.mk vcl/Executable_mtfdemo.mk vcl/Executable_ui-previewer.mk vcl/Executable_vcldemo.mk vcl/generic vcl/headless vcl/inc vcl/ios vcl/Library_vcl.mk vcl/Library_vclplug_gen.mk vcl/Library_vclplug_gtk3.mk vcl/Library_vclplug_svp.mk vcl/Module_vcl.mk vcl/null vcl/opengl vcl/osx vcl/Package_opengl.mk vcl/qa vcl/quartz vcl/source vcl/StaticLibrary_glxtest.mk vcl/StaticLibrary_headless.mk vcl/uiconfig vcl/unx vcl/win vcl/WinResTarget_vcl.mk vcl/workben winaccessibility/source wizards/com wizards/Jar_commonwizards.mk wizards/Package_access2base.mk wizards/source writerfilter/documentation writerfilter/inc writerfilter/Library_writerfilter.mk writerfilter/qa writerfilter/README writerfilter/source writerfilter/util writerperfect/Library_wpftimpress.mk writerperfect/qa writerperfect/source xmerge/source xmlhelp/source xmloff/inc xmloff/Module_xmloff.mk xmloff/qa xmloff/source xmlscript/dt d xmlscript/inc xmlscript/source xmlsecurity/inc xmlsecurity/source xmlsecurity/test_docs

Tobias Madl tobias.madl.dev at gmail.com
Wed Mar 4 06:20:57 PST 2015


Rebased ref, commits from common ancestor:
commit fb2b2777e452a99d06d8b6425614edfd34f99f5d
Author: Tobias Madl <tobias.madl.dev at gmail.com>
Date:   Wed Mar 4 14:13:52 2015 +0000

    Timer: patch for commit 06d7314
    
    Change-Id: I762062a4782438ec5bbcb53da9a42f44db65c40d

diff --git a/include/vcl/scheduler.hxx b/include/vcl/scheduler.hxx
index a18aa71..af17016 100644
--- a/include/vcl/scheduler.hxx
+++ b/include/vcl/scheduler.hxx
@@ -83,7 +83,7 @@ public:
     static void ImplDeInitScheduler();
 
     /// Process all pending idle tasks ahead of time in priority order.
-    static void CallbackTaskScheduling();
+    static void CallbackTaskScheduling( bool ignore );
     static void ProcessTaskScheduling( bool bTimer );
 };
 
diff --git a/include/vcl/timer.hxx b/include/vcl/timer.hxx
index 01fd36c..d2db1d4 100644
--- a/include/vcl/timer.hxx
+++ b/include/vcl/timer.hxx
@@ -44,7 +44,7 @@ public:
     void            SetTimeoutHdl( const Link& rLink ) { maTimeoutHdl = rLink; }
     const Link&     GetTimeoutHdl() const { return maTimeoutHdl; }
     virtual void    Invoke() SAL_OVERRIDE;
-    virtual void    Timeout() { Invoke(); }
+    void    Timeout() { Invoke(); }
     Timer&          operator=( const Timer& rTimer );
     void            Start() SAL_OVERRIDE;
 };
diff --git a/vcl/source/app/scheduler.cxx b/vcl/source/app/scheduler.cxx
index fcaeb35..06de1ba 100644
--- a/vcl/source/app/scheduler.cxx
+++ b/vcl/source/app/scheduler.cxx
@@ -90,8 +90,9 @@ void Scheduler::ImplDeInitScheduler()
     }
 }
 
-void Scheduler::CallbackTaskScheduling()
+void Scheduler::CallbackTaskScheduling(bool ignore)
 {
+    (void)ignore;
     Scheduler::ProcessTaskScheduling( true );
 }
 
commit 8d266a510d759094c1e0e003b9a44d371b9c0a81
Author: Tobias Madl <tobias.madl.dev at gmail.com>
Date:   Tue Mar 3 13:30:11 2015 +0000

    Timer: Faster Word Count
    
    Change-Id: I45d6fc28e898b945c7754b9ee1f2842247a071e6

diff --git a/sw/source/core/doc/DocumentStatisticsManager.cxx b/sw/source/core/doc/DocumentStatisticsManager.cxx
index 989d548..fca66719 100644
--- a/sw/source/core/doc/DocumentStatisticsManager.cxx
+++ b/sw/source/core/doc/DocumentStatisticsManager.cxx
@@ -72,7 +72,8 @@ namespace sw
 DocumentStatisticsManager::DocumentStatisticsManager( SwDoc& i_rSwdoc ) : m_rDoc( i_rSwdoc ),
                                                                           mpDocStat( new SwDocStat )
 {
-    maStatsUpdateTimer.SetTimeout( 100 );
+    maStatsUpdateTimer.SetTimeout( 1 );
+    maStatsUpdateTimer.SetPriority( SchedulerPriority::LOWEST );
     maStatsUpdateTimer.SetTimeoutHdl( LINK( this, DocumentStatisticsManager, DoIdleStatsUpdate ) );
 }
 
commit cbff288e140871519693bca400f3f5177de036e5
Author: Tobias Madl <tobias.madl.dev at gmail.com>
Date:   Tue Mar 3 12:55:27 2015 +0000

    Timer Idle: adapted unit tests to new classes
    
    Change-Id: I15654a7aa5a99cb3aa6f8ba222cf2aa1d2f040ab

diff --git a/vcl/qa/cppunit/timer.cxx b/vcl/qa/cppunit/timer.cxx
index 5abdb52..5b81281 100644
--- a/vcl/qa/cppunit/timer.cxx
+++ b/vcl/qa/cppunit/timer.cxx
@@ -93,7 +93,7 @@ public:
         Start();
         mrBool = false;
     }
-    virtual void DoIdle() SAL_OVERRIDE
+    virtual void Invoke() SAL_OVERRIDE
     {
         mrBool = true;
         Application::EndYield();
@@ -104,7 +104,7 @@ void TimerTest::testIdle()
 {
     bool bTriggered = false;
     IdleBool aTest( bTriggered );
-    Idle::ProcessAllIdleHandlers();
+    Scheduler::ProcessTaskScheduling(false);
     CPPUNIT_ASSERT_MESSAGE("watchdog triggered", bTriggered);
 }
 
@@ -121,7 +121,7 @@ public:
         Start();
         mrBool = false;
     }
-    virtual void Timeout() SAL_OVERRIDE
+    virtual void Invoke() SAL_OVERRIDE
     {
         mrBool = true;
         Application::EndYield();
@@ -156,7 +156,7 @@ public:
         Start();
         mrCount = 0;
     }
-    virtual void Timeout() SAL_OVERRIDE
+    virtual void Invoke() SAL_OVERRIDE
     {
         mrCount++;
     }
@@ -181,7 +181,7 @@ public:
         SetTimeout( nMS );
         Start();
     }
-    virtual void Timeout() SAL_OVERRIDE
+    virtual void Invoke() SAL_OVERRIDE
     {
         for (int i = 0; i < 100; i++)
             Application::Yield();
@@ -211,7 +211,7 @@ public:
         Start();
         mbSlow = false;
     }
-    virtual void Timeout() SAL_OVERRIDE
+    virtual void Invoke() SAL_OVERRIDE
     {
         TimeValue aWait;
         aWait.Seconds = 1;
diff --git a/vcl/source/app/scheduler.cxx b/vcl/source/app/scheduler.cxx
index e2465fe..fcaeb35 100644
--- a/vcl/source/app/scheduler.cxx
+++ b/vcl/source/app/scheduler.cxx
@@ -53,12 +53,7 @@ ImplSchedulerData *ImplSchedulerData::GetMostImportantTask( bool bTimer )
             // the priority of the most urgent, the priority of most urgent is increased and
             // the current is the new most urgent. So starving is impossible.
             if ( p->mpScheduler->GetPriority() < pMostUrgent->mpScheduler->GetPriority() )
-            {
-                pMostUrgent->mpScheduler->SetSchedulingPriority( pMostUrgent->mpScheduler->GetPriority());
                 pMostUrgent = p;
-            }
-            else
-                p->mpScheduler->SetSchedulingPriority( p->mpScheduler->GetPriority());
         }
     }
 
commit 132a428049f36d695ed5b3d5e05fae5f02eb6bc7
Author: Tobias Madl <tobias.madl.dev at gmail.com>
Date:   Thu Feb 26 15:47:07 2015 +0000

    Timer to idle
    
    Change-Id: Iaac3618501b4e382afe8d183836a370eea699af4

diff --git a/sw/source/core/doc/DocumentTimerManager.cxx b/sw/source/core/doc/DocumentTimerManager.cxx
index aae31ff..b7982a7 100644
--- a/sw/source/core/doc/DocumentTimerManager.cxx
+++ b/sw/source/core/doc/DocumentTimerManager.cxx
@@ -41,44 +41,44 @@ DocumentTimerManager::DocumentTimerManager( SwDoc& i_rSwdoc ) : m_rDoc( i_rSwdoc
                                                                 mbStartIdleTimer( false ),
                                                                 mIdleBlockCount( 0 )
 {
-    maIdleTimer.SetTimeout( 600 );
-    maIdleTimer.SetTimeoutHdl( LINK( this, DocumentTimerManager, DoIdleJobs) );
+    maIdle.SetPriority( SchedulerPriority::LOWEST );
+    maIdle.SetIdleHdl( LINK( this, DocumentTimerManager, DoIdleJobs) );
 }
 
 void DocumentTimerManager::StartIdling()
 {
     mbStartIdleTimer = true;
     if( !mIdleBlockCount )
-        maIdleTimer.Start();
+        maIdle.Start();
 }
 
 void DocumentTimerManager::StopIdling()
 {
     mbStartIdleTimer = false;
-    maIdleTimer.Stop();
+    maIdle.Stop();
 }
 
 void DocumentTimerManager::BlockIdling()
 {
-    maIdleTimer.Stop();
+    maIdle.Stop();
     ++mIdleBlockCount;
 }
 
 void DocumentTimerManager::UnblockIdling()
 {
     --mIdleBlockCount;
-    if( !mIdleBlockCount && mbStartIdleTimer && !maIdleTimer.IsActive() )
-        maIdleTimer.Start();
+    if( !mIdleBlockCount && mbStartIdleTimer && !maIdle.IsActive() )
+        maIdle.Start();
 }
 
 void DocumentTimerManager::StartBackgroundJobs()
 {
     // Trigger DoIdleJobs(), asynchronously.
-    if (!maIdleTimer.IsActive()) //fdo#73165 if the timer is already running don't restart from 0
-        maIdleTimer.Start();
+    if (!maIdle.IsActive()) //fdo#73165 if the timer is already running don't restart from 0
+        maIdle.Start();
 }
 
-IMPL_LINK( DocumentTimerManager, DoIdleJobs, Timer*, pTimer )
+IMPL_LINK( DocumentTimerManager, DoIdleJobs, Idle*, pIdle )
 {
 #ifdef TIMELOG
     static ::rtl::Logfile* pModLogFile = 0;
@@ -95,7 +95,7 @@ IMPL_LINK( DocumentTimerManager, DoIdleJobs, Timer*, pTimer )
         {
             if( rSh.ActionPend() )
             {
-                pTimer->Start();
+                pIdle->Start();
                 return 0;
             }
         }
@@ -119,7 +119,7 @@ IMPL_LINK( DocumentTimerManager, DoIdleJobs, Timer*, pTimer )
                 (*pLayIter)->GetCurrShell()->LayoutIdle();
 
                 // Defer the remaining work.
-                pTimer->Start();
+                pIdle->Start();
                 return 0;
             }
         }
@@ -135,7 +135,7 @@ IMPL_LINK( DocumentTimerManager, DoIdleJobs, Timer*, pTimer )
             if ( m_rDoc.getIDocumentFieldsAccess().GetUpdtFlds().IsInUpdateFlds() ||
                  m_rDoc.getIDocumentFieldsAccess().IsExpFldsLocked() )
             {
-                pTimer->Start();
+                pIdle->Start();
                 return 0;
             }
 
diff --git a/sw/source/core/inc/DocumentTimerManager.hxx b/sw/source/core/inc/DocumentTimerManager.hxx
index 42351cc..7bff040 100644
--- a/sw/source/core/inc/DocumentTimerManager.hxx
+++ b/sw/source/core/inc/DocumentTimerManager.hxx
@@ -23,7 +23,7 @@
 #include <IDocumentTimerAccess.hxx>
 #include <boost/utility.hpp>
 
-#include <vcl/timer.hxx>
+#include <vcl/idle.hxx>
 #include <sal/types.h>
 #include <tools/link.hxx>
 
@@ -50,7 +50,7 @@ public:
     void StartBackgroundJobs() SAL_OVERRIDE;
 
     // Our own 'IdleTimer' calls the following method
-    DECL_LINK( DoIdleJobs, Timer * );
+    DECL_LINK( DoIdleJobs, Idle * );
 
     virtual ~DocumentTimerManager();
 
@@ -60,7 +60,7 @@ private:
 
      bool mbStartIdleTimer; //< idle timer mode start/stop
      sal_Int32 mIdleBlockCount;
-     Timer  maIdleTimer;
+     Idle  maIdle;
 };
 
 }
commit 267b59955bf98a2235cbe740482d96c0c98cf8be
Author: Tobias Madl <tobias.madl.dev at gmail.com>
Date:   Thu Feb 26 07:33:59 2015 +0000

    Idle Timer: Invented Base Class
    
    Change-Id: I03db46afcc0cb5e5d7a134b1bdd327abb542e63c

diff --git a/include/vcl/idle.hxx b/include/vcl/idle.hxx
index 3a63e6e..9cb7345 100644
--- a/include/vcl/idle.hxx
+++ b/include/vcl/idle.hxx
@@ -21,62 +21,23 @@
 #define INCLUDED_VCL_IDLE_HXX
 
 #include <tools/link.hxx>
-#include <tools/solar.h>
-#include <vcl/dllapi.h>
+#include <vcl/scheduler.hxx>
 
-struct ImplIdleData;
-struct ImplSVData;
-
-enum class IdlePriority {
-    HIGHEST   = 0,
-    HIGH      = 1,
-    REPAINT   = 2,
-    RESIZE    = 3,
-    MEDIUM    = 3,
-    LOW       = 4,
-    LOWER     = 5,
-    LOWEST    = 6
-};
-
-class VCL_DLLPUBLIC Idle
+class VCL_DLLPUBLIC Idle : public Scheduler
 {
 protected:
-    ImplIdleData*   mpIdleData;         // Pointer to element in idle list
-    sal_Int32       miPriority;         // Idle priority ( maybe divergent to default)
-    IdlePriority    meDefaultPriority;  // Default idle priority
-    bool            mbActive;           // Currently in the scheduler
     Link            maIdleHdl;          // Callback Link
 
-    friend struct ImplIdleData;
-
 public:
     Idle();
     Idle( const Idle& rIdle );
-    virtual ~Idle();
-
-    void SetPriority( IdlePriority ePriority );
-    void SetSchedulingPriority( sal_Int32 iPriority );
-    sal_Int32    GetPriority() const { return miPriority; }
-    IdlePriority GetDefaultPriority() const { return meDefaultPriority; }
 
     /// Make it possible to associate a callback with this idle handler
-    /// of course, you can also sub-class and override 'DoIdle'
+    /// of course, you can also sub-class and override 'Invoke'
     void            SetIdleHdl( const Link& rLink ) { maIdleHdl = rLink; }
     const Link&     GetIdleHdl() const { return maIdleHdl; }
-
-    // Call idle handler
-    virtual void    DoIdle();
-
-    void            Start();
-    void            Stop();
-
-    bool            IsActive() const { return mbActive; }
-
-    Idle&          operator=( const Idle& rIdle );
-    static void ImplDeInitIdle();
-
-    /// Process all pending idle tasks ahead of time in priority order.
-    static void ProcessAllIdleHandlers();
+    virtual void    Invoke() SAL_OVERRIDE;
+    Idle&           operator=( const Idle& rIdle );
 };
 
 #endif // INCLUDED_VCL_IDLE_HXX
diff --git a/include/vcl/scheduler.hxx b/include/vcl/scheduler.hxx
new file mode 100644
index 0000000..a18aa71
--- /dev/null
+++ b/include/vcl/scheduler.hxx
@@ -0,0 +1,92 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_VCL_SCHEDULER_HXX
+#define INCLUDED_VCL_SCHEDULER_HXX
+
+#include <vcl/dllapi.h>
+
+struct ImplSVData;
+class Scheduler;
+struct ImplSchedulerData
+{
+    ImplSchedulerData*  mpNext;      // Pointer to the next element in list
+    Scheduler*          mpScheduler;      // Pointer to VCL Idle instance
+    bool                mbDelete;    // Destroy this idle?
+    bool                mbInScheduler;    // Idle handler currently processed?
+    sal_uLong           mnUpdateTime;   // Last Update Time
+    sal_uLong           mnUpdateStack;  // Update Stack on stack
+
+    void Invoke();
+
+    static ImplSchedulerData *GetMostImportantTask( bool bTimer );
+};
+
+enum class SchedulerPriority {
+    HIGHEST   = 0,
+    HIGH      = 1,
+    REPAINT   = 2,
+    RESIZE    = 3,
+    MEDIUM    = 3,
+    LOW       = 4,
+    LOWER     = 5,
+    LOWEST    = 6
+};
+
+class VCL_DLLPUBLIC Scheduler
+{
+protected:
+    ImplSchedulerData*  mpSchedulerData;    // Pointer to element in idle list
+    sal_Int32           miPriority;         // Idle priority ( maybe divergent to default)
+    SchedulerPriority   meDefaultPriority;  // Default idle priority
+    bool                mbActive;           // Currently in the scheduler
+
+    friend struct ImplSchedulerData;
+    virtual void SetDeletionFlags();
+    virtual bool ReadyForSchedule( bool bTimer ) { return !bTimer; }
+
+public:
+    Scheduler();
+    Scheduler( const Scheduler& rScheduler );
+    virtual ~Scheduler();
+
+    void SetPriority( SchedulerPriority ePriority );
+    void SetSchedulingPriority( sal_Int32 iPriority );
+    sal_Int32    GetPriority() const { return miPriority; }
+    SchedulerPriority GetDefaultPriority() const { return meDefaultPriority; }
+
+    // Call idle handler
+    virtual void    Invoke() = 0;
+
+    virtual void    Start();
+    virtual void    Stop();
+
+    bool            IsActive() const { return mbActive; }
+
+    Scheduler&          operator=( const Scheduler& Scheduler );
+    static void ImplDeInitScheduler();
+
+    /// Process all pending idle tasks ahead of time in priority order.
+    static void CallbackTaskScheduling();
+    static void ProcessTaskScheduling( bool bTimer );
+};
+
+#endif // INCLUDED_VCL_SCHEDULER_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/vcl/timer.hxx b/include/vcl/timer.hxx
index 2d0f310..01fd36c 100644
--- a/include/vcl/timer.hxx
+++ b/include/vcl/timer.hxx
@@ -21,50 +21,32 @@
 #define INCLUDED_VCL_TIMER_HXX
 
 #include <tools/link.hxx>
-#include <tools/solar.h>
-#include <vcl/dllapi.h>
+#include <vcl/scheduler.hxx>
 
-struct ImplTimerData;
-struct ImplSVData;
-
-/// Base-class for timers - usually a simple, one-shot timeout
-class VCL_DLLPUBLIC Timer
+class VCL_DLLPUBLIC Timer : public Scheduler
 {
 protected:
-    ImplTimerData*  mpTimerData;
+    Link            maTimeoutHdl;          // Callback Link
     sal_uLong       mnTimeout;
-    bool            mbActive;
     bool            mbAuto;
-    Link            maTimeoutHdl;
 
-    friend struct ImplTimerData;
+    void SetDeletionFlags() SAL_OVERRIDE;
+    bool ReadyForSchedule( bool bTimer ) SAL_OVERRIDE;
 
 public:
-                    Timer();
-                    Timer( const Timer& rTimer );
-    virtual         ~Timer();
-
-    virtual void    Timeout();
+    Timer();
+    Timer( const Timer& rTimer );
 
-    void            Start();
-    void            Stop();
-
-    /// set the timeout in milliseconds
+    /// Make it possible to associate a callback with this timer handler
+    /// of course, you can also sub-class and override 'Invoke'
     void            SetTimeout( sal_uLong nTimeoutMs );
     sal_uLong       GetTimeout() const { return mnTimeout; }
-    bool            IsActive() const { return mbActive; }
-
-    /// Make it possible to associate a callback with this timeout
     void            SetTimeoutHdl( const Link& rLink ) { maTimeoutHdl = rLink; }
     const Link&     GetTimeoutHdl() const { return maTimeoutHdl; }
-
+    virtual void    Invoke() SAL_OVERRIDE;
+    virtual void    Timeout() { Invoke(); }
     Timer&          operator=( const Timer& rTimer );
-
-    /// @internal
-    static void ImplDeInitTimer();
-    static void ImplTimerCallbackProc();
-    static bool TimerReady();
-    static bool CheckExpiredTimer(const bool bDoInvoke);
+    void            Start() SAL_OVERRIDE;
 };
 
 /// An auto-timer is a multi-shot timer re-emitting itself at
@@ -77,6 +59,7 @@ public:
 
     AutoTimer&      operator=( const AutoTimer& rTimer );
 };
+
 #endif // INCLUDED_VCL_TIMER_HXX
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/appl/appinit.cxx b/sfx2/source/appl/appinit.cxx
index edc31e0..270ef7a 100644
--- a/sfx2/source/appl/appinit.cxx
+++ b/sfx2/source/appl/appinit.cxx
@@ -46,8 +46,7 @@
 #include <cppuhelper/supportsservice.hxx>
 
 #include <vcl/edit.hxx>
-#include <vcl/timer.hxx>
-#include <vcl/idle.hxx>
+#include <vcl/scheduler.hxx>
 
 #include <sfx2/unoctitm.hxx>
 #include "app.hrc"
@@ -110,8 +109,7 @@ void SAL_CALL SfxTerminateListener_Impl::notifyTermination( const EventObject& a
 
     // Timers may access the SfxApplication and are only deleted in
     // Application::Quit(), which is asynchronous (PostUserEvent) - disable!
-    Timer::ImplDeInitTimer();
-    Idle::ImplDeInitIdle();
+    Scheduler::ImplDeInitScheduler();
 
     SfxApplication* pApp = SfxGetpApp();
     pApp->Broadcast( SfxSimpleHint( SFX_HINT_DEINITIALIZING ) );
diff --git a/toolkit/source/awt/vclxtoolkit.cxx b/toolkit/source/awt/vclxtoolkit.cxx
index b720f96..006a216 100644
--- a/toolkit/source/awt/vclxtoolkit.cxx
+++ b/toolkit/source/awt/vclxtoolkit.cxx
@@ -91,7 +91,7 @@
 #include <vcl/fixed.hxx>
 #include <vcl/floatwin.hxx>
 #include <vcl/group.hxx>
-#include <vcl/idle.hxx>
+#include <vcl/scheduler.hxx>
 #include <vcl/imgctrl.hxx>
 #include <vcl/longcurr.hxx>
 #include <vcl/lstbox.hxx>
@@ -1869,7 +1869,7 @@ void SAL_CALL VCLXToolkit::processEventsToIdle()
     throw (::com::sun::star::uno::RuntimeException, std::exception)
 {
     SolarMutexGuard aSolarGuard;
-    Idle::ProcessAllIdleHandlers();
+    Scheduler::ProcessTaskScheduling(false);
 }
 
 }
diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk
index e468df4..08b08e9 100644
--- a/vcl/Library_vcl.mk
+++ b/vcl/Library_vcl.mk
@@ -329,6 +329,7 @@ $(eval $(call gb_Library_add_exception_objects,vcl,\
 	vcl/source/app/idle \
     vcl/source/app/idlemgr \
     vcl/source/app/salvtables \
+	vcl/source/app/scheduler \
     vcl/source/app/session \
     vcl/source/app/settings \
     vcl/source/app/IconThemeInfo \
diff --git a/vcl/inc/svdata.hxx b/vcl/inc/svdata.hxx
index b227173..132c272 100644
--- a/vcl/inc/svdata.hxx
+++ b/vcl/inc/svdata.hxx
@@ -311,8 +311,7 @@ struct ImplSVData
     bool                    mbDeInit;                       // Is VCL deinitializing
     sal_uLong               mnThreadCount;                  // is VCL MultiThread enabled
     ImplConfigData*         mpFirstConfigData;              // pointer to the first config block
-    ImplTimerData*          mpFirstTimerData;               // list of all running timers
-    ImplIdleData*           mpFirstIdleData;                // list of all running idles
+    ImplSchedulerData*      mpFirstSchedulerData;           // list of all running tasks
     SalTimer*               mpSalTimer;                     // interface to sal event loop/timers
     SalI18NImeStatus*       mpImeStatus;                    // interface to ime status window
     SalSystem*              mpSalSystem;                    // SalSystem interface
diff --git a/vcl/source/app/idle.cxx b/vcl/source/app/idle.cxx
index 09ffbc7..7fe239d 100644
--- a/vcl/source/app/idle.cxx
+++ b/vcl/source/app/idle.cxx
@@ -17,220 +17,27 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-#include <vcl/svapp.hxx>
 #include <vcl/idle.hxx>
-#include <vcl/timer.hxx>
 
-#include <svdata.hxx>
-#include <salinst.hxx>
-
-struct ImplIdleData
-{
-    ImplIdleData*   mpNext;      // Pointer to the next element in list
-    Idle*           mpIdle;      // Pointer to VCL Idle instance
-    bool            mbDelete;    // Destroy this idle?
-    bool            mbInIdle;    // Idle handler currently processed?
-
-    void Invoke()
-    {
-        if (mbDelete || mbInIdle )
-            return;
-
-        mpIdle->SetSchedulingPriority(static_cast<sal_Int32>(mpIdle->GetDefaultPriority()));
-        mbDelete = true;
-        mpIdle->mbActive = false;
-
-        // invoke it
-        mbInIdle = true;
-        mpIdle->DoIdle();
-        mbInIdle = false;
-    }
-
-    static ImplIdleData *GetFirstIdle()
-    {
-        ImplSVData*     pSVData = ImplGetSVData();
-        ImplIdleData *pMostUrgent = NULL;
-
-        for ( ImplIdleData *p = pSVData->mpFirstIdleData; p; p = p->mpNext )
-        {
-            if ( !p->mpIdle || p->mbDelete )
-                continue;
-            if (!pMostUrgent)
-                pMostUrgent = p;
-            else
-            {
-                // Find the highest priority.
-                // If the priority of the current idle is higher (numerical value is lower) than
-                // the priority of the most urgent, the priority of most urgent is increased and
-                // the current is the new most urgent. So starving is impossible.
-                if ( p->mpIdle->GetPriority() < pMostUrgent->mpIdle->GetPriority() )
-                {
-                    pMostUrgent->mpIdle->SetSchedulingPriority( pMostUrgent->mpIdle->GetPriority() - 1);
-                    pMostUrgent = p;
-                }
-                else
-                    p->mpIdle->SetSchedulingPriority( p->mpIdle->GetPriority() - 1);
-            }
-        }
-
-        return pMostUrgent;
-    }
-};
-
-void Idle::ImplDeInitIdle()
-{
-    ImplSVData*     pSVData = ImplGetSVData();
-    ImplIdleData*  pIdleData = pSVData->mpFirstIdleData;
-
-    if ( pIdleData )
-    {
-        do
-        {
-            ImplIdleData* pTempIdleData = pIdleData;
-            if ( pIdleData->mpIdle )
-            {
-                pIdleData->mpIdle->mbActive = false;
-                pIdleData->mpIdle->mpIdleData = NULL;
-            }
-            pIdleData = pIdleData->mpNext;
-            delete pTempIdleData;
-        }
-        while ( pIdleData );
-
-        pSVData->mpFirstIdleData   = NULL;
-    }
-}
-
-void Idle::ProcessAllIdleHandlers()
-{
-    // process all pending idle
-    ImplIdleData* pIdleData = NULL;
-    ImplIdleData* pPrevIdleData = NULL;
-    ImplSVData*     pSVData = ImplGetSVData();
-    // timer can interrupt idle
-    while (!Timer::TimerReady() && (pIdleData = ImplIdleData::GetFirstIdle()))
-    {
-        pIdleData->Invoke();
-    }
-
-    pIdleData = pSVData->mpFirstIdleData;
-    while ( pIdleData )
-    {
-        // Should idle be released from scheduling?
-        if ( pIdleData->mbDelete )
-        {
-            if ( pPrevIdleData )
-                pPrevIdleData->mpNext = pIdleData->mpNext;
-            else
-                pSVData->mpFirstIdleData = pIdleData->mpNext;
-            if ( pIdleData->mpIdle )
-                pIdleData->mpIdle->mpIdleData = NULL;
-            ImplIdleData* pTempIdleData = pIdleData;
-            pIdleData = pIdleData->mpNext;
-            delete pTempIdleData;
-        }
-        else
-        {
-            pPrevIdleData = pIdleData;
-            pIdleData = pIdleData->mpNext;
-        }
-    }
-}
-
-void Idle::SetPriority( IdlePriority ePriority )
-{
-    meDefaultPriority = ePriority;
-}
-
-void Idle::SetSchedulingPriority( sal_Int32 iPriority )
-{
-    miPriority = iPriority;
-}
-
-void Idle::DoIdle()
+void Idle::Invoke()
 {
     maIdleHdl.Call( this );
 }
 
-void Idle::Start()
-{
-    // Mark timer active
-    mbActive = true;
-
-    ImplSVData* pSVData = ImplGetSVData();
-    if ( !mpIdleData )
-    {
-        // insert Idle
-        mpIdleData              = new ImplIdleData;
-        mpIdleData->mpIdle      = this;
-        mpIdleData->mbInIdle    = false;
-
-        // insert last due to SFX!
-        ImplIdleData* pPrev = NULL;
-        ImplIdleData* pData = pSVData->mpFirstIdleData;
-        while ( pData )
-        {
-            pPrev = pData;
-            pData = pData->mpNext;
-        }
-        mpIdleData->mpNext = NULL;
-        if ( pPrev )
-            pPrev->mpNext = mpIdleData;
-        else
-            pSVData->mpFirstIdleData = mpIdleData;
-    }
-    mpIdleData->mbDelete        = false;
-}
-
-void Idle::Stop()
-{
-    mbActive = false;
-
-    if ( mpIdleData )
-        mpIdleData->mbDelete = true;
-}
-
 Idle& Idle::operator=( const Idle& rIdle )
 {
-    if ( IsActive() )
-        Stop();
-
-    mbActive          = false;
-    miPriority        = rIdle.miPriority;
-    meDefaultPriority = rIdle.meDefaultPriority;
-    maIdleHdl         = rIdle.maIdleHdl;
-
-    if ( rIdle.IsActive() )
-        Start();
-
+    Scheduler::operator=(rIdle);
+    maIdleHdl = rIdle.maIdleHdl;
     return *this;
 }
 
-Idle::Idle():
-    mpIdleData(NULL),
-    miPriority(static_cast<sal_Int32>(IdlePriority::HIGH)),
-    meDefaultPriority(IdlePriority::HIGH),
-    mbActive(false)
+Idle::Idle() : Scheduler()
 {
 }
 
-Idle::Idle( const Idle& rIdle ):
-    mpIdleData(NULL),
-    miPriority(rIdle.miPriority),
-    meDefaultPriority(rIdle.meDefaultPriority),
-    mbActive(false),
-    maIdleHdl(rIdle.maIdleHdl)
+Idle::Idle( const Idle& rIdle ) : Scheduler(rIdle)
 {
-    if ( rIdle.IsActive() )
-        Start();
+    maIdleHdl = rIdle.maIdleHdl;
 }
 
-Idle::~Idle()
-{
-    if ( mpIdleData )
-    {
-        mpIdleData->mbDelete = true;
-        mpIdleData->mpIdle = NULL;
-    }
-}
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/source/app/scheduler.cxx b/vcl/source/app/scheduler.cxx
new file mode 100644
index 0000000..e2465fe
--- /dev/null
+++ b/vcl/source/app/scheduler.cxx
@@ -0,0 +1,235 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#include <svdata.hxx>
+#include <tools/time.hxx>
+#include <vcl/scheduler.hxx>
+
+void ImplSchedulerData::Invoke()
+{
+    if (mbDelete || mbInScheduler )
+        return;
+
+    mpScheduler->SetSchedulingPriority(static_cast<sal_Int32>(mpScheduler->GetDefaultPriority()));
+    mpScheduler->SetDeletionFlags();
+
+    // invoke it
+    mbInScheduler = true;
+    mpScheduler->Invoke();
+    mbInScheduler = false;
+}
+
+ImplSchedulerData *ImplSchedulerData::GetMostImportantTask( bool bTimer )
+{
+    ImplSVData*     pSVData = ImplGetSVData();
+    ImplSchedulerData *pMostUrgent = NULL;
+
+    for ( ImplSchedulerData *p = pSVData->mpFirstSchedulerData; p; p = p->mpNext )
+    {
+        if ( !p->mpScheduler || p->mbDelete || p->mnUpdateStack >= pSVData->mnTimerUpdate || !p->mpScheduler->ReadyForSchedule( bTimer ) )
+            continue;
+        if (!pMostUrgent)
+            pMostUrgent = p;
+        else
+        {
+            // Find the highest priority.
+            // If the priority of the current idle is higher (numerical value is lower) than
+            // the priority of the most urgent, the priority of most urgent is increased and
+            // the current is the new most urgent. So starving is impossible.
+            if ( p->mpScheduler->GetPriority() < pMostUrgent->mpScheduler->GetPriority() )
+            {
+                pMostUrgent->mpScheduler->SetSchedulingPriority( pMostUrgent->mpScheduler->GetPriority());
+                pMostUrgent = p;
+            }
+            else
+                p->mpScheduler->SetSchedulingPriority( p->mpScheduler->GetPriority());
+        }
+    }
+
+    return pMostUrgent;
+}
+
+void Scheduler::SetDeletionFlags()
+{
+    mpSchedulerData->mbDelete = true;
+    mbActive = false;
+}
+
+void Scheduler::ImplDeInitScheduler()
+{
+    ImplSVData*     pSVData = ImplGetSVData();
+    ImplSchedulerData*  pSchedulerData = pSVData->mpFirstSchedulerData;
+
+    if ( pSchedulerData )
+    {
+        do
+        {
+            ImplSchedulerData* pTempSchedulerData = pSchedulerData;
+            if ( pSchedulerData->mpScheduler )
+            {
+                pSchedulerData->mpScheduler->mbActive = false;
+                pSchedulerData->mpScheduler->mpSchedulerData = NULL;
+            }
+            pSchedulerData = pSchedulerData->mpNext;
+            delete pTempSchedulerData;
+        }
+        while ( pSchedulerData );
+
+        pSVData->mpFirstSchedulerData   = NULL;
+    }
+}
+
+void Scheduler::CallbackTaskScheduling()
+{
+    Scheduler::ProcessTaskScheduling( true );
+}
+
+void Scheduler::ProcessTaskScheduling( bool bTimer )
+{
+    // process all pending Tasks
+    ImplSchedulerData* pSchedulerData = NULL;
+    ImplSchedulerData* pPrevSchedulerData = NULL;
+    ImplSVData*        pSVData = ImplGetSVData();
+    pSVData->mnTimerUpdate++;
+
+    if ((pSchedulerData = ImplSchedulerData::GetMostImportantTask(bTimer)))
+    {
+        pSchedulerData->mnUpdateTime = tools::Time::GetSystemTicks();
+        pSchedulerData->Invoke();
+    }
+
+    pSchedulerData = pSVData->mpFirstSchedulerData;
+    while ( pSchedulerData )
+    {
+        // Should Task be released from scheduling?
+        if ( pSchedulerData->mbDelete )
+        {
+            if ( pPrevSchedulerData )
+                pPrevSchedulerData->mpNext = pSchedulerData->mpNext;
+            else
+                pSVData->mpFirstSchedulerData = pSchedulerData->mpNext;
+            if ( pSchedulerData->mpScheduler )
+                pSchedulerData->mpScheduler->mpSchedulerData = NULL;
+            ImplSchedulerData* pTempSchedulerData = pSchedulerData;
+            pSchedulerData = pSchedulerData->mpNext;
+            delete pTempSchedulerData;
+        }
+        else
+        {
+            if( !pSchedulerData->mbInScheduler )
+                pSchedulerData->mnUpdateStack = 0;
+            pPrevSchedulerData = pSchedulerData;
+            pSchedulerData = pSchedulerData->mpNext;
+        }
+    }
+    pSVData->mnTimerUpdate--;
+}
+
+void Scheduler::SetPriority( SchedulerPriority ePriority )
+{
+    meDefaultPriority = ePriority;
+}
+
+void Scheduler::SetSchedulingPriority( sal_Int32 iPriority )
+{
+    miPriority = iPriority;
+}
+
+void Scheduler::Start()
+{
+    // Mark timer active
+    mbActive = true;
+
+    ImplSVData* pSVData = ImplGetSVData();
+    if ( !mpSchedulerData )
+    {
+        // insert Idle
+        mpSchedulerData                = new ImplSchedulerData;
+        mpSchedulerData->mpScheduler   = this;
+        mpSchedulerData->mbInScheduler = false;
+
+        // insert last due to SFX!
+        ImplSchedulerData* pPrev = NULL;
+        ImplSchedulerData* pData = pSVData->mpFirstSchedulerData;
+        while ( pData )
+        {
+            pPrev = pData;
+            pData = pData->mpNext;
+        }
+        mpSchedulerData->mpNext = NULL;
+        if ( pPrev )
+            pPrev->mpNext = mpSchedulerData;
+        else
+            pSVData->mpFirstSchedulerData = mpSchedulerData;
+    }
+    mpSchedulerData->mbDelete      = false;
+    mpSchedulerData->mnUpdateTime  = tools::Time::GetSystemTicks();
+    mpSchedulerData->mnUpdateStack = pSVData->mnTimerUpdate;
+}
+
+void Scheduler::Stop()
+{
+    mbActive = false;
+
+    if ( mpSchedulerData )
+        mpSchedulerData->mbDelete = true;
+}
+
+Scheduler& Scheduler::operator=( const Scheduler& rScheduler )
+{
+    if ( IsActive() )
+        Stop();
+
+    mbActive          = false;
+    miPriority        = rScheduler.miPriority;
+    meDefaultPriority = rScheduler.meDefaultPriority;
+
+    if ( rScheduler.IsActive() )
+        Start();
+
+    return *this;
+}
+
+Scheduler::Scheduler():
+    mpSchedulerData(NULL),
+    miPriority(static_cast<sal_Int32>(SchedulerPriority::HIGH)),
+    meDefaultPriority(SchedulerPriority::HIGH),
+    mbActive(false)
+{
+}
+
+Scheduler::Scheduler( const Scheduler& rScheduler ):
+    mpSchedulerData(NULL),
+    miPriority(rScheduler.miPriority),
+    meDefaultPriority(rScheduler.meDefaultPriority),
+    mbActive(false)
+{
+    if ( rScheduler.IsActive() )
+        Start();
+}
+
+Scheduler::~Scheduler()
+{
+    if ( mpSchedulerData )
+    {
+        mpSchedulerData->mbDelete = true;
+        mpSchedulerData->mpScheduler = NULL;
+    }
+}
+
diff --git a/vcl/source/app/svapp.cxx b/vcl/source/app/svapp.cxx
index f569bf9..33fbf0a 100644
--- a/vcl/source/app/svapp.cxx
+++ b/vcl/source/app/svapp.cxx
@@ -45,7 +45,7 @@
 #include "vcl/cvtgrf.hxx"
 #include "vcl/unowrap.hxx"
 #include "vcl/timer.hxx"
-#include "vcl/idle.hxx"
+#include "vcl/scheduler.hxx"
 #include "vcl/unohelp.hxx"
 #include "vcl/lazydelete.hxx"
 
@@ -343,11 +343,11 @@ inline void ImplYield( bool i_bWait, bool i_bAllEvents )
     ImplSVData* pSVData = ImplGetSVData();
 
     // run timers that have timed out
-    while ( pSVData->mbNotAllTimerCalled )
-        Timer::ImplTimerCallbackProc();
+    //while ( pSVData->mbNotAllTimerCalled )
+    //    Timer::ImplTimerCallbackProc();
 
     //Process all idles
-    Idle::Idle::ProcessAllIdleHandlers();
+    Scheduler::ProcessTaskScheduling(false);
 
     pSVData->maAppData.mnDispatchLevel++;
     // do not wait for events if application was already quit; in that
@@ -367,11 +367,7 @@ inline void ImplYield( bool i_bWait, bool i_bAllEvents )
     // e.g. on OS X; need to trigger timer checks manually
     if( pSVData->maAppData.mbNoYield )
     {
-        do
-        {
-            Timer::ImplTimerCallbackProc( !i_bWait );
-        }
-        while( pSVData->mbNotAllTimerCalled );
+        Scheduler::ProcessTaskScheduling(true);
     }
 
     // call post yield listeners
diff --git a/vcl/source/app/svmain.cxx b/vcl/source/app/svmain.cxx
index 96302e8..43f76be 100644
--- a/vcl/source/app/svmain.cxx
+++ b/vcl/source/app/svmain.cxx
@@ -33,7 +33,7 @@
 #include "vcl/svapp.hxx"
 #include "vcl/wrkwin.hxx"
 #include "vcl/cvtgrf.hxx"
-#include "vcl/idle.hxx"
+#include "vcl/scheduler.hxx"
 #include "vcl/image.hxx"
 #include "vcl/settings.hxx"
 #include "vcl/unowrap.hxx"
@@ -387,8 +387,8 @@ void DeInitVCL()
 
     if ( pSVData->maAppData.mpIdleMgr )
         delete pSVData->maAppData.mpIdleMgr;
-    Timer::ImplDeInitTimer();
-    Idle::ImplDeInitIdle();
+    //Timer::ImplDeInitTimer();
+    Scheduler::ImplDeInitScheduler();
 
     if ( pSVData->maWinData.mpMsgBoxImgList )
     {
diff --git a/vcl/source/app/timer.cxx b/vcl/source/app/timer.cxx
index 97ab45c..b8be2d7 100644
--- a/vcl/source/app/timer.cxx
+++ b/vcl/source/app/timer.cxx
@@ -18,83 +18,14 @@
  */
 
 #include <tools/time.hxx>
-
-#include <vcl/svapp.hxx>
 #include <vcl/timer.hxx>
-
 #include <saltimer.hxx>
 #include <svdata.hxx>
 #include <salinst.hxx>
+#include <vcl/scheduler.hxx>
 
 #define MAX_TIMER_PERIOD    ((sal_uLong)0xFFFFFFFF)
 
-struct ImplTimerData
-{
-    ImplTimerData*  mpNext;         // Pointer to the next Instance
-    Timer*          mpTimer;        // Pointer to VCL Timer instance
-    sal_uLong       mnUpdateTime;   // Last Update Time
-    sal_uLong       mnTimerUpdate;  // TimerCallbackProcs on stack
-    bool            mbDelete;       // Was timer deleted during Update()?
-    bool            mbInTimeout;    // Are we in a timeout handler?
-
-    void Invoke()
-    {
-        if (mbDelete || mbInTimeout )
-            return;
-
-        // if no AutoTimer than stop
-        if ( !mpTimer->mbAuto )
-        {
-            mbDelete = true;
-            mpTimer->mbActive = false;
-        }
-
-        // invoke it
-        mbInTimeout = true;
-        mpTimer->Timeout();
-        mbInTimeout = false;
-    }
-
-    sal_uLong GetDeadline()
-    {
-        return mnUpdateTime + mpTimer->mnTimeout;
-    }
-};
-
-void Timer::ImplDeInitTimer()
-{
-    ImplSVData*     pSVData = ImplGetSVData();
-    ImplTimerData*  pTimerData = pSVData->mpFirstTimerData;
-
-    // on WNT the timer queue thread needs killing
-    if (pSVData->mpSalTimer)
-    {
-        pSVData->mpSalTimer->Stop();
-    }
-
-    if ( pTimerData )
-    {
-        do
-        {
-            ImplTimerData* pTempTimerData = pTimerData;
-            if ( pTimerData->mpTimer )
-            {
-                pTimerData->mpTimer->mbActive = false;
-                pTimerData->mpTimer->mpTimerData = NULL;
-            }
-            pTimerData = pTimerData->mpNext;
-            delete pTempTimerData;
-        }
-        while ( pTimerData );
-
-        pSVData->mpFirstTimerData   = NULL;
-        pSVData->mnTimerPeriod      = 0;
-    }
-
-    delete pSVData->mpSalTimer;
-    pSVData->mpSalTimer = 0;
-}
-
 static void ImplStartTimer( ImplSVData* pSVData, sal_uLong nMS )
 {
     if ( !nMS )
@@ -108,159 +39,59 @@ static void ImplStartTimer( ImplSVData* pSVData, sal_uLong nMS )
     }
 }
 
-void Timer::ImplTimerCallbackProc( bool idle )
+void Timer::SetDeletionFlags()
 {
-    ImplSVData*     pSVData = ImplGetSVData();
-    ImplTimerData*  pTimerData;
-    ImplTimerData*  pPrevTimerData;
-    sal_uLong       nMinPeriod = MAX_TIMER_PERIOD;
-    sal_uLong       nDeltaTime;
-    sal_uLong       nTime = tools::Time::GetSystemTicks();
-
-    pSVData->mnTimerUpdate++;
-    pSVData->mbNotAllTimerCalled = true;
-
-    Timer::CheckExpiredTimer(true);
-
-    // determine new time
-    sal_uLong nNewTime = tools::Time::GetSystemTicks();
-    pPrevTimerData = NULL;
-    pTimerData = pSVData->mpFirstTimerData;
-    while ( pTimerData )
-    {
-        // ignore if timer is still in timeout handler
-        if ( pTimerData->mbInTimeout )
-        {
-            pPrevTimerData = pTimerData;
-            pTimerData = pTimerData->mpNext;
-        }
-        // Was timer destroyed in the meantime?
-        else if ( pTimerData->mbDelete )
-        {
-            if ( pPrevTimerData )
-                pPrevTimerData->mpNext = pTimerData->mpNext;
-            else
-                pSVData->mpFirstTimerData = pTimerData->mpNext;
-            if ( pTimerData->mpTimer )
-                pTimerData->mpTimer->mpTimerData = NULL;
-            ImplTimerData* pTempTimerData = pTimerData;
-            pTimerData = pTimerData->mpNext;
-            delete pTempTimerData;
-        }
-        else
+        // if no AutoTimer than stop
+        if ( !mbAuto )
         {
-            pTimerData->mnTimerUpdate = 0;
-            // determine smallest time slot
-            if ( pTimerData->mnUpdateTime == nTime )
-            {
-                nDeltaTime = pTimerData->mpTimer->mnTimeout;
-                if ( nDeltaTime < nMinPeriod )
-                    nMinPeriod = nDeltaTime;
-            }
-            else
-            {
-                nDeltaTime = pTimerData->mnUpdateTime + pTimerData->mpTimer->mnTimeout;
-                if ( nDeltaTime < nNewTime )
-                    nMinPeriod = 1;
-                else
-                {
-                    nDeltaTime -= nNewTime;
-                    if ( nDeltaTime < nMinPeriod )
-                        nMinPeriod = nDeltaTime;
-                }
-            }
-            pPrevTimerData = pTimerData;
-            pTimerData = pTimerData->mpNext;
+            mpSchedulerData->mbDelete = true;
+            mbActive = false;
         }
-    }
-
-    // delete clock if no more timers available
-    if ( !pSVData->mpFirstTimerData )
-    {
-        pSVData->mpSalTimer->Stop();
-        pSVData->mnTimerPeriod = MAX_TIMER_PERIOD;
-    }
-    else
-        ImplStartTimer( pSVData, nMinPeriod );
-
-    pSVData->mnTimerUpdate--;
-    pSVData->mbNotAllTimerCalled = false;
 }
 
-bool Timer::TimerReady()
+bool Timer::ReadyForSchedule( bool bTimer )
 {
-    return Timer::CheckExpiredTimer(false);
+    (void)bTimer;
+    return (mpSchedulerData->mnUpdateTime + mnTimeout) <= tools::Time::GetSystemTicks();
 }
 
-bool Timer::CheckExpiredTimer(bool bDoInvoke)
+Timer::Timer() : Scheduler()
 {
-// find timer where the timer handler needs to be called
-    ImplSVData*     pSVData = ImplGetSVData();
-    ImplTimerData* pTimerData = pSVData->mpFirstTimerData;
-    sal_uLong       nTime = tools::Time::GetSystemTicks();
-    bool            timerExpired = false;
-    while ( pTimerData )
-    {
-        // If the timer is not new, was not deleted, and if it is not in the timeout handler, then
-        // call the handler as soon as the time is up.
-        if ( (pTimerData->mnTimerUpdate < pSVData->mnTimerUpdate) &&
-             !pTimerData->mbDelete && !pTimerData->mbInTimeout)
-        {
-            // time has expired
-            if ( pTimerData->GetDeadline() <= nTime )
-            {
-                if(bDoInvoke)
-                {
-                    //Set new update Timer
-                    pTimerData->mnUpdateTime = nTime;
-                    pTimerData->Invoke();
-                }
-                timerExpired = true;
-            }
-        }
-
-        pTimerData = pTimerData->mpNext;
-    }
-    return timerExpired;
+    mnTimeout = 1;
+    mbAuto = false;
+    miPriority= static_cast<sal_Int32>(SchedulerPriority::HIGHEST);
+    meDefaultPriority = SchedulerPriority::HIGHEST;
 }
 
-Timer::Timer():
-    mpTimerData(NULL),
-    mnTimeout(1),
-    mbActive(false),
-    mbAuto(false)
+Timer::Timer( const Timer& rTimer ) : Scheduler(rTimer)
 {
+    mnTimeout = rTimer.mnTimeout;
+    mbAuto = rTimer.mbAuto;
+    maTimeoutHdl = rTimer.maTimeoutHdl;
 }
 
-Timer::Timer( const Timer& rTimer ):
-    mpTimerData(NULL),
-    mnTimeout(rTimer.mnTimeout),
-    mbActive(false),
-    mbAuto(false),
-    maTimeoutHdl(rTimer.maTimeoutHdl)
+void Timer::Invoke()
 {
-    if ( rTimer.IsActive() )
-        Start();
+    maTimeoutHdl.Call( this );
 }
 
-Timer::~Timer()
+void Timer::Start()
 {
-    if ( mpTimerData )
+    Scheduler::Start();
+    ImplSVData*     pSVData = ImplGetSVData();
+    if( ! pSVData->mpSalTimer )
     {
-        mpTimerData->mbDelete = true;
-        mpTimerData->mpTimer = NULL;
-     }
-}
-
-void Timer::Timeout()
-{
-    maTimeoutHdl.Call( this );
+        pSVData->mnTimerPeriod = MAX_TIMER_PERIOD;
+        pSVData->mpSalTimer = pSVData->mpDefInst->CreateSalTimer();
+        pSVData->mpSalTimer->SetCallback( CallbackTaskScheduling );
+    }
+    if ( mnTimeout < pSVData->mnTimerPeriod )
+        ImplStartTimer( pSVData, mnTimeout );
 }
 
 void Timer::SetTimeout( sal_uLong nNewTimeout )
 {
     mnTimeout = nNewTimeout;
-
     // if timer is active then renew clock
     if ( mbActive )
     {
@@ -270,80 +101,12 @@ void Timer::SetTimeout( sal_uLong nNewTimeout )
     }
 }
 
-void Timer::Start()
-{
-    mbActive = true;
-
-    ImplSVData* pSVData = ImplGetSVData();
-    if ( !mpTimerData )
-    {
-        if ( !pSVData->mpFirstTimerData )
-        {
-            pSVData->mnTimerPeriod = MAX_TIMER_PERIOD;
-            if( ! pSVData->mpSalTimer )
-            {
-                pSVData->mpSalTimer = pSVData->mpDefInst->CreateSalTimer();
-                pSVData->mpSalTimer->SetCallback( ImplTimerCallbackProc );
-            }
-        }
-
-        // insert timer and start
-        mpTimerData = new ImplTimerData;
-        mpTimerData->mpTimer        = this;
-        mpTimerData->mnUpdateTime   = tools::Time::GetSystemTicks();
-        mpTimerData->mnTimerUpdate  = pSVData->mnTimerUpdate;
-        mpTimerData->mbDelete       = false;
-        mpTimerData->mbInTimeout    = false;
-
-        // insert last due to SFX!
-        ImplTimerData* pPrev = NULL;
-        ImplTimerData* pData = pSVData->mpFirstTimerData;
-        while ( pData )
-        {
-            pPrev = pData;
-            pData = pData->mpNext;
-        }
-        mpTimerData->mpNext = NULL;
-        if ( pPrev )
-            pPrev->mpNext = mpTimerData;
-        else
-            pSVData->mpFirstTimerData = mpTimerData;
-
-        if ( mnTimeout < pSVData->mnTimerPeriod )
-            ImplStartTimer( pSVData, mnTimeout );
-    }
-    else if( !mpTimerData->mpTimer ) // TODO: remove when guilty found
-    {
-        OSL_FAIL( "Timer::Start() on a destroyed Timer!" );
-    }
-    else
-    {
-        mpTimerData->mnUpdateTime    = tools::Time::GetSystemTicks();
-        mpTimerData->mnTimerUpdate   = pSVData->mnTimerUpdate;
-        mpTimerData->mbDelete        = false;
-    }
-}
-
-void Timer::Stop()
-{
-    mbActive = false;
-
-    if ( mpTimerData )
-        mpTimerData->mbDelete = true;
-}
-
 Timer& Timer::operator=( const Timer& rTimer )
 {
-    if ( IsActive() )
-        Stop();
-
-    mbActive        = false;
-    mnTimeout       = rTimer.mnTimeout;
-    maTimeoutHdl    = rTimer.maTimeoutHdl;
-
-    if ( rTimer.IsActive() )
-        Start();
-
+    Scheduler::operator=(rTimer);
+    maTimeoutHdl = rTimer.maTimeoutHdl;
+    mnTimeout = rTimer.mnTimeout;
+    mbAuto = rTimer.mbAuto;
     return *this;
 }
 
commit 987bcf7c8025bc3ce6d107310b8204e8f9d0566c
Author: Tobias Madl <tobias.madl.dev at gmail.com>
Date:   Thu Feb 26 07:28:54 2015 +0000

    Idle: Changed to new enum name
    
    Change-Id: Id3852abe9bc7bbe774331a7d691abd2a79ff59b4

diff --git a/avmedia/source/framework/mediacontrol.cxx b/avmedia/source/framework/mediacontrol.cxx
index 3c20767..d41783ff 100644
--- a/avmedia/source/framework/mediacontrol.cxx
+++ b/avmedia/source/framework/mediacontrol.cxx
@@ -187,7 +187,7 @@ MediaControl::MediaControl( vcl::Window* pParent, MediaControlStyle eControlStyl
         maMinSize.Height() = ( maMinSize.Height() << 1 ) + AVMEDIA_CONTROLOFFSET;
     }
 
-    maIdle.SetPriority( IdlePriority::LOW );
+    maIdle.SetPriority( SchedulerPriority::LOW );
     maIdle.SetIdleHdl( LINK( this, MediaControl, implTimeoutHdl ) );
     maIdle.Start();
 }
diff --git a/avmedia/source/framework/soundhandler.cxx b/avmedia/source/framework/soundhandler.cxx
index 22658db..f820e9c 100644
--- a/avmedia/source/framework/soundhandler.cxx
+++ b/avmedia/source/framework/soundhandler.cxx
@@ -263,7 +263,7 @@ void SAL_CALL SoundHandler::dispatchWithNotification(const css::util::URL&
         // Count this request and initialize self-holder against dying by uno ref count ...
         m_xSelfHold = css::uno::Reference< css::uno::XInterface >(static_cast< ::cppu::OWeakObject* >(this), css::uno::UNO_QUERY);
         m_xPlayer->start();
-        m_aUpdateIdle.SetPriority( IdlePriority::LOWER );
+        m_aUpdateIdle.SetPriority( SchedulerPriority::LOWER );
         m_aUpdateIdle.Start();
     }
     catch( css::uno::Exception& e )
diff --git a/basctl/source/basicide/baside2b.cxx b/basctl/source/basicide/baside2b.cxx
index 69b5665..58a28f8 100644
--- a/basctl/source/basicide/baside2b.cxx
+++ b/basctl/source/basicide/baside2b.cxx
@@ -969,7 +969,7 @@ void EditorWindow::CreateEditEngine()
 
     ImplSetFont();
 
-    aSyntaxIdle.SetPriority( IdlePriority::LOWER );
+    aSyntaxIdle.SetPriority( SchedulerPriority::LOWER );
     aSyntaxIdle.SetIdleHdl( LINK( this, EditorWindow, SyntaxTimerHdl ) );
 
     bool bWasDoSyntaxHighlight = bDoSyntaxHighlight;
diff --git a/basctl/source/dlged/dlged.cxx b/basctl/source/dlged/dlged.cxx
index 9b4bb81..2847f58 100644
--- a/basctl/source/dlged/dlged.cxx
+++ b/basctl/source/dlged/dlged.cxx
@@ -220,7 +220,7 @@ DlgEditor::DlgEditor (
     m_ClipboardDataFlavorsResource[1].HumanPresentableName = "Dialog 8.0" ;
     m_ClipboardDataFlavorsResource[1].DataType =             ::getCppuType( (const Sequence< sal_Int8 >*) 0 );
 
-    aMarkIdle.SetPriority(IdlePriority::LOW);
+    aMarkIdle.SetPriority(SchedulerPriority::LOW);
     aMarkIdle.SetIdleHdl( LINK( this, DlgEditor, MarkTimeout ) );
 
     rWindow.SetMapMode( MapMode( MAP_100TH_MM ) );
diff --git a/chart2/source/view/charttypes/GL3DBarChart.cxx b/chart2/source/view/charttypes/GL3DBarChart.cxx
index 6393198..3817beb 100644
--- a/chart2/source/view/charttypes/GL3DBarChart.cxx
+++ b/chart2/source/view/charttypes/GL3DBarChart.cxx
@@ -560,7 +560,7 @@ GL3DBarChart::GL3DBarChart(
         {
             mbAutoFly = atoi(aAutoFly);
         }
-        maIdle.SetPriority(IdlePriority::REPAINT);
+        maIdle.SetPriority(SchedulerPriority::REPAINT);
         maIdle.SetIdleHdl(LINK(this, GL3DBarChart, UpdateTimerHdl));
         maIdle.Start();
         osl_getSystemTime(&maFPSRenderStartTime);
diff --git a/cui/source/dialogs/cuigaldlg.cxx b/cui/source/dialogs/cuigaldlg.cxx
index 8610c0e..f8c6c50 100644
--- a/cui/source/dialogs/cuigaldlg.cxx
+++ b/cui/source/dialogs/cuigaldlg.cxx
@@ -452,7 +452,7 @@ short ActualizeProgress::Execute()
     if ( pIdle )
     {
         pIdle->SetIdleHdl( LINK( this, ActualizeProgress, TimeoutHdl ) );
-        pIdle->SetPriority( IdlePriority::LOWEST );
+        pIdle->SetPriority( SchedulerPriority::LOWEST );
         pIdle->Start();
     }
 
diff --git a/cui/source/dialogs/linkdlg.cxx b/cui/source/dialogs/linkdlg.cxx
index b588ea1..3535828 100644
--- a/cui/source/dialogs/linkdlg.cxx
+++ b/cui/source/dialogs/linkdlg.cxx
@@ -125,7 +125,7 @@ SvBaseLinksDlg::SvBaseLinksDlg( vcl::Window * pParent, LinkManager* pMgr, bool b
 
     // UpdateTimer for DDE-/Grf-links, which are waited for
     aUpdateIdle.SetIdleHdl( LINK( this, SvBaseLinksDlg, UpdateWaitingHdl ) );
-    aUpdateIdle.SetPriority( IdlePriority::LOWEST );
+    aUpdateIdle.SetPriority( SchedulerPriority::LOWEST );
 
     m_pPbOpenSource->Hide();
 
diff --git a/cui/source/dialogs/thesdlg.cxx b/cui/source/dialogs/thesdlg.cxx
index f24ab65..5ad4a5d 100644
--- a/cui/source/dialogs/thesdlg.cxx
+++ b/cui/source/dialogs/thesdlg.cxx
@@ -61,7 +61,7 @@ LookUpComboBox::LookUpComboBox(vcl::Window *pParent)
     EnableAutoSize(true);
 
     m_aModifyIdle.SetIdleHdl( LINK( this, LookUpComboBox, ModifyTimer_Hdl ) );
-    m_aModifyIdle.SetPriority( IdlePriority::LOWEST );
+    m_aModifyIdle.SetPriority( SchedulerPriority::LOWEST );
 
     EnableAutocomplete( false );
 }
diff --git a/cui/source/options/optjava.cxx b/cui/source/options/optjava.cxx
index 8572b79..3c01c4f 100644
--- a/cui/source/options/optjava.cxx
+++ b/cui/source/options/optjava.cxx
@@ -182,7 +182,7 @@ SvxJavaOptionsPage::SvxJavaOptionsPage( vcl::Window* pParent, const SfxItemSet&
     m_pParameterBtn->SetClickHdl( LINK( this, SvxJavaOptionsPage, ParameterHdl_Impl ) );
     m_pClassPathBtn->SetClickHdl( LINK( this, SvxJavaOptionsPage, ClassPathHdl_Impl ) );
     m_aResetIdle.SetIdleHdl( LINK( this, SvxJavaOptionsPage, ResetHdl_Impl ) );
-    m_aResetIdle.SetPriority(IdlePriority::LOWER);
+    m_aResetIdle.SetPriority(SchedulerPriority::LOWER);
 
     m_pExpertConfigBtn->SetClickHdl( LINK( this, SvxJavaOptionsPage, ExpertConfigHdl_Impl) );
     if (!officecfg::Office::Common::Security::EnableExpertConfiguration::get())
diff --git a/cui/source/tabpages/backgrnd.cxx b/cui/source/tabpages/backgrnd.cxx
index 4f3a148..bf58de0 100644
--- a/cui/source/tabpages/backgrnd.cxx
+++ b/cui/source/tabpages/backgrnd.cxx
@@ -1093,7 +1093,7 @@ void SvxBackgroundTabPage::ShowSelector()
 
         // delayed loading via timer (because of UI-Update)
         pPageImpl->pLoadIdle = new Idle;
-        pPageImpl->pLoadIdle->SetPriority( IdlePriority::LOWEST );
+        pPageImpl->pLoadIdle->SetPriority( SchedulerPriority::LOWEST );
         pPageImpl->pLoadIdle->SetIdleHdl(
             LINK( this, SvxBackgroundTabPage, LoadIdleHdl_Impl ) );
 
diff --git a/cui/source/tabpages/chardlg.cxx b/cui/source/tabpages/chardlg.cxx
index c0cf87a..578ce8c 100644
--- a/cui/source/tabpages/chardlg.cxx
+++ b/cui/source/tabpages/chardlg.cxx
@@ -251,7 +251,7 @@ struct SvxCharNamePage_Impl
         m_bInSearchMode ( false )
 
     {
-        m_aUpdateIdle.SetPriority( IdlePriority::LOWEST );
+        m_aUpdateIdle.SetPriority( SchedulerPriority::LOWEST );
     }
 
     ~SvxCharNamePage_Impl()
diff --git a/cui/source/tabpages/macroass.cxx b/cui/source/tabpages/macroass.cxx
index 1a54d84..380d49c 100644
--- a/cui/source/tabpages/macroass.cxx
+++ b/cui/source/tabpages/macroass.cxx
@@ -192,7 +192,7 @@ void _SfxMacroTabPage::LaunchFillGroup()
     if (!mpImpl->maFillGroupIdle.GetIdleHdl().IsSet())
     {
         mpImpl->maFillGroupIdle.SetIdleHdl( STATIC_LINK( this, _SfxMacroTabPage, TimeOut_Impl ) );
-        mpImpl->maFillGroupIdle.SetPriority( IdlePriority::HIGHEST );
+        mpImpl->maFillGroupIdle.SetPriority( SchedulerPriority::HIGHEST );
         mpImpl->maFillGroupIdle.Start();
     }
 }
diff --git a/dbaccess/source/ui/querydesign/JoinTableView.cxx b/dbaccess/source/ui/querydesign/JoinTableView.cxx
index 65804e4..466cbad 100644
--- a/dbaccess/source/ui/querydesign/JoinTableView.cxx
+++ b/dbaccess/source/ui/querydesign/JoinTableView.cxx
@@ -1048,7 +1048,7 @@ bool OJoinTableView::ScrollWhileDragging()
     // resetting timer, if still necessary
     if (bNeedScrollTimer)
     {
-        m_aDragScrollIdle.SetPriority(IdlePriority::LOW);
+        m_aDragScrollIdle.SetPriority(SchedulerPriority::LOW);
         m_aDragScrollIdle.Start();
     }
 
diff --git a/desktop/source/deployment/gui/dp_gui_dialog2.cxx b/desktop/source/deployment/gui/dp_gui_dialog2.cxx
index 3fb4919..cd4e2a5 100644
--- a/desktop/source/deployment/gui/dp_gui_dialog2.cxx
+++ b/desktop/source/deployment/gui/dp_gui_dialog2.cxx
@@ -709,7 +709,7 @@ ExtMgrDialog::ExtMgrDialog(vcl::Window *pParent, TheExtensionManager *pManager)
 
     m_pUpdateBtn->Enable(false);
 
-    m_aIdle.SetPriority(IdlePriority::LOWEST);
+    m_aIdle.SetPriority(SchedulerPriority::LOWEST);
     m_aIdle.SetIdleHdl( LINK( this, ExtMgrDialog, TimeOutHdl ) );
 }
 
@@ -1191,7 +1191,7 @@ UpdateRequiredDialog::UpdateRequiredDialog(vcl::Window *pParent, TheExtensionMan
     m_pUpdateBtn->Enable( false );
     m_pCloseBtn->GrabFocus();
 
-    m_aIdle.SetPriority( IdlePriority::MEDIUM );
+    m_aIdle.SetPriority( SchedulerPriority::MEDIUM );
     m_aIdle.SetIdleHdl( LINK( this, UpdateRequiredDialog, TimeOutHdl ) );
 }
 
diff --git a/editeng/source/editeng/impedit2.cxx b/editeng/source/editeng/impedit2.cxx
index f3a0eeb..dc39e74 100644
--- a/editeng/source/editeng/impedit2.cxx
+++ b/editeng/source/editeng/impedit2.cxx
@@ -145,7 +145,7 @@ ImpEditEngine::ImpEditEngine( EditEngine* pEE, SfxItemPool* pItemPool ) :
     aStatusTimer.SetTimeout( 200 );
     aStatusTimer.SetTimeoutHdl( LINK( this, ImpEditEngine, StatusTimerHdl ) );
 
-    aIdleFormatter.SetPriority( IdlePriority::REPAINT );
+    aIdleFormatter.SetPriority( SchedulerPriority::REPAINT );
     aIdleFormatter.SetIdleHdl( LINK( this, ImpEditEngine, IdleFormatHdl ) );
 
     aOnlineSpellTimer.SetTimeout( 100 );
diff --git a/extensions/source/bibliography/bibcont.cxx b/extensions/source/bibliography/bibcont.cxx
index 98f39dc..954700c 100644
--- a/extensions/source/bibliography/bibcont.cxx
+++ b/extensions/source/bibliography/bibcont.cxx
@@ -127,7 +127,7 @@ BibBookContainer::BibBookContainer(vcl::Window* pParent, WinBits nStyle):
 {
     pBibMod = OpenBibModul();
     aIdle.SetIdleHdl(LINK( this, BibBookContainer, SplitHdl));
-    aIdle.SetPriority(IdlePriority::LOWEST);
+    aIdle.SetPriority(SchedulerPriority::LOWEST);
 }
 
 BibBookContainer::~BibBookContainer()
diff --git a/extensions/source/bibliography/toolbar.cxx b/extensions/source/bibliography/toolbar.cxx
index c59b1ab..c831dc5 100644
--- a/extensions/source/bibliography/toolbar.cxx
+++ b/extensions/source/bibliography/toolbar.cxx
@@ -207,7 +207,7 @@ BibToolBar::BibToolBar(vcl::Window* pParent, Link aLink, WinBits nStyle):
     Application::AddEventListener( LINK( this, BibToolBar, SettingsChanged_Impl ) );
 
     aIdle.SetIdleHdl(LINK( this, BibToolBar, SendSelHdl));
-    aIdle.SetPriority(IdlePriority::LOWEST);
+    aIdle.SetPriority(SchedulerPriority::LOWEST);
 
     SetDropdownClickHdl( LINK( this, BibToolBar, MenuHdl));
 
diff --git a/extensions/source/update/ui/updatecheckui.cxx b/extensions/source/update/ui/updatecheckui.cxx
index d353a37..9bbe03d 100644
--- a/extensions/source/update/ui/updatecheckui.cxx
+++ b/extensions/source/update/ui/updatecheckui.cxx
@@ -213,7 +213,7 @@ UpdateCheckUI::UpdateCheckUI(const uno::Reference<uno::XComponentContext>& xCont
 
     maBubbleImage = GetBubbleImage( maBubbleImageURL );
 
-    maWaitIdle.SetPriority( IdlePriority::LOWEST );
+    maWaitIdle.SetPriority( SchedulerPriority::LOWEST );
     maWaitIdle.SetIdleHdl( LINK( this, UpdateCheckUI, WaitTimeOutHdl ) );
 
     maTimeoutTimer.SetTimeout( 10000 );
diff --git a/forms/source/component/ListBox.cxx b/forms/source/component/ListBox.cxx
index e866696..2fd08c7 100644
--- a/forms/source/component/ListBox.cxx
+++ b/forms/source/component/ListBox.cxx
@@ -1784,7 +1784,7 @@ namespace frm
 
         doSetDelegator();
 
-        m_aChangeIdle.SetPriority(IdlePriority::LOWEST);
+        m_aChangeIdle.SetPriority(SchedulerPriority::LOWEST);
         m_aChangeIdle.SetIdleHdl(LINK(this,OListBoxControl,OnTimeout));
     }
 
diff --git a/formula/source/ui/dlg/formula.cxx b/formula/source/ui/dlg/formula.cxx
index c33d1e0..15ca7bd 100644
--- a/formula/source/ui/dlg/formula.cxx
+++ b/formula/source/ui/dlg/formula.cxx
@@ -1773,7 +1773,7 @@ OUString FormulaDlg::GetMeText() const
 void FormulaDlg::Update()
 {
     m_pImpl->Update();
-    m_pImpl->aIdle.SetPriority(IdlePriority::LOWER);
+    m_pImpl->aIdle.SetPriority(SchedulerPriority::LOWER);
     m_pImpl->aIdle.SetIdleHdl(LINK( this, FormulaDlg, UpdateFocusHdl));
     m_pImpl->aIdle.Start();
 }
diff --git a/formula/source/ui/dlg/funcutl.cxx b/formula/source/ui/dlg/funcutl.cxx
index 70653dd..d6313d4 100644
--- a/formula/source/ui/dlg/funcutl.cxx
+++ b/formula/source/ui/dlg/funcutl.cxx
@@ -461,7 +461,7 @@ RefEdit::RefEdit( vcl::Window* _pParent, vcl::Window* pShrinkModeLabel, WinBits
     , pLabelWidget(pShrinkModeLabel)
 {
     aIdle.SetIdleHdl( LINK( this, RefEdit, UpdateHdl ) );
-    aIdle.SetPriority( IdlePriority::LOW );
+    aIdle.SetPriority( SchedulerPriority::LOW );
 }
 
 RefEdit::RefEdit( vcl::Window* _pParent,IControlReferenceHandler* pParent,
@@ -471,7 +471,7 @@ RefEdit::RefEdit( vcl::Window* _pParent,IControlReferenceHandler* pParent,
     , pLabelWidget(pShrinkModeLabel)
 {
     aIdle.SetIdleHdl( LINK( this, RefEdit, UpdateHdl ) );
-    aIdle.SetPriority( IdlePriority::LOW );
+    aIdle.SetPriority( SchedulerPriority::LOW );
 }
 
 extern "C" SAL_DLLPUBLIC_EXPORT vcl::Window* SAL_CALL makeRefEdit(vcl::Window *pParent, VclBuilder::stringmap &)
@@ -523,7 +523,7 @@ void RefEdit::SetReferences( IControlReferenceHandler* pDlg, vcl::Window* pLabel
     if( pDlg )
     {
         aIdle.SetIdleHdl( LINK( this, RefEdit, UpdateHdl ) );
-        aIdle.SetPriority( IdlePriority::LOW );
+        aIdle.SetPriority( SchedulerPriority::LOW );
     }
     else
     {
diff --git a/linguistic/source/lngsvcmgr.cxx b/linguistic/source/lngsvcmgr.cxx
index a87e3c9..aa73362 100644
--- a/linguistic/source/lngsvcmgr.cxx
+++ b/linguistic/source/lngsvcmgr.cxx
@@ -476,7 +476,7 @@ LngSvcMgr::LngSvcMgr()
 
     UpdateAll();
 
-    aUpdateIdle.SetPriority(IdlePriority::LOWEST);
+    aUpdateIdle.SetPriority(SchedulerPriority::LOWEST);
     aUpdateIdle.SetIdleHdl(LINK(this, LngSvcMgr, updateAndBroadcast));
 
     // request to be notified if an extension has been added/removed
diff --git a/reportdesign/source/ui/report/DesignView.cxx b/reportdesign/source/ui/report/DesignView.cxx
index 1104bdd..96953d8 100644
--- a/reportdesign/source/ui/report/DesignView.cxx
+++ b/reportdesign/source/ui/report/DesignView.cxx
@@ -118,7 +118,7 @@ ODesignView::ODesignView(   vcl::Window* pParent,
     m_aSplitWin.SetAlign(WINDOWALIGN_LEFT);
     m_aSplitWin.Show();
 
-    m_aMarkIdle.SetPriority( IdlePriority::LOW );
+    m_aMarkIdle.SetPriority( SchedulerPriority::LOW );
     m_aMarkIdle.SetIdleHdl( LINK( this, ODesignView, MarkTimeout ) );
 }
 
diff --git a/sc/source/core/data/documen2.cxx b/sc/source/core/data/documen2.cxx
index 4a4310a..15a5a46 100644
--- a/sc/source/core/data/documen2.cxx
+++ b/sc/source/core/data/documen2.cxx
@@ -250,7 +250,7 @@ ScDocument::ScDocument( ScDocumentMode eMode, SfxObjectShell* pDocShell ) :
     SetLanguage( ScGlobal::eLnge, ScGlobal::eLnge, ScGlobal::eLnge );
 
     aTrackIdle.SetIdleHdl( LINK( this, ScDocument, TrackTimeHdl ) );
-    aTrackIdle.SetPriority( IdlePriority::LOW );
+    aTrackIdle.SetPriority( SchedulerPriority::LOW );
 }
 
 sfx2::LinkManager* ScDocument::GetLinkManager()
diff --git a/sc/source/core/tool/chartlis.cxx b/sc/source/core/tool/chartlis.cxx
index d3dea90..9d80f65 100644
--- a/sc/source/core/tool/chartlis.cxx
+++ b/sc/source/core/tool/chartlis.cxx
@@ -589,7 +589,7 @@ void ScChartListenerCollection::FreeUno( const uno::Reference< chart::XChartData
 
 void ScChartListenerCollection::StartTimer()
 {
-    aIdle.SetPriority( IdlePriority::REPAINT );
+    aIdle.SetPriority( SchedulerPriority::REPAINT );
     aIdle.Start();
 }
 
diff --git a/sc/source/ui/app/scmod.cxx b/sc/source/ui/app/scmod.cxx
index d3abb5a..2115fec 100644
--- a/sc/source/ui/app/scmod.cxx
+++ b/sc/source/ui/app/scmod.cxx
@@ -174,7 +174,7 @@ ScModule::ScModule( SfxObjectFactory* pFact ) :
                                         ERRCODE_AREA_APP2-1,
                                         GetResMgr() );
 
-    aSpellIdle.SetPriority(IdlePriority::REPAINT);
+    aSpellIdle.SetPriority(SchedulerPriority::REPAINT);
     aSpellIdle.SetIdleHdl( LINK( this, ScModule, SpellTimerHdl ) );
     aIdleTimer.SetTimeout(SC_IDLE_MIN);
     aIdleTimer.SetTimeoutHdl( LINK( this, ScModule, IdleHandler ) );
diff --git a/sc/source/ui/dbgui/sfiltdlg.cxx b/sc/source/ui/dbgui/sfiltdlg.cxx
index 2999cb2..5ac8147 100644
--- a/sc/source/ui/dbgui/sfiltdlg.cxx
+++ b/sc/source/ui/dbgui/sfiltdlg.cxx
@@ -87,7 +87,7 @@ ScSpecialFilterDlg::ScSpecialFilterDlg( SfxBindings* pB, SfxChildWindow* pCW, vc
 
     // Hack: RefInput-Kontrolle
     pIdle = new Idle;
-    pIdle->SetPriority( IdlePriority::MEDIUM ); // 50ms warten
+    pIdle->SetPriority( SchedulerPriority::MEDIUM ); // 50ms warten
     pIdle->SetIdleHdl( LINK( this, ScSpecialFilterDlg, TimeOutHdl ) );
     pIdle->Start();
 
diff --git a/sc/source/ui/docshell/autostyl.cxx b/sc/source/ui/docshell/autostyl.cxx
index 9ab079a..4c2ea19 100644
--- a/sc/source/ui/docshell/autostyl.cxx
+++ b/sc/source/ui/docshell/autostyl.cxx
@@ -84,7 +84,7 @@ ScAutoStyleList::ScAutoStyleList(ScDocShell* pShell)
 {
     aTimer.SetTimeoutHdl( LINK( this, ScAutoStyleList, TimerHdl ) );
     aInitIdle.SetIdleHdl( LINK( this, ScAutoStyleList, InitHdl ) );
-    aInitIdle.SetPriority( IdlePriority::HIGHEST );
+    aInitIdle.SetPriority( SchedulerPriority::HIGHEST );
 }
 
 ScAutoStyleList::~ScAutoStyleList()
diff --git a/sc/source/ui/formdlg/dwfunctr.cxx b/sc/source/ui/formdlg/dwfunctr.cxx
index 2dd6bbe..dec8991 100644
--- a/sc/source/ui/formdlg/dwfunctr.cxx
+++ b/sc/source/ui/formdlg/dwfunctr.cxx
@@ -103,7 +103,7 @@ ScFunctionDockWin::ScFunctionDockWin( SfxBindings* pBindingsP,
     InitLRUList();
     SetStyle(GetStyle()|WB_CLIPCHILDREN);
 
-    aIdle.SetPriority(IdlePriority::LOWER);
+    aIdle.SetPriority(SchedulerPriority::LOWER);
     aIdle.SetIdleHdl(LINK( this, ScFunctionDockWin, TimerHdl));
 
     if (pCW != NULL)
diff --git a/sc/source/ui/miscdlgs/acredlin.cxx b/sc/source/ui/miscdlgs/acredlin.cxx
index b4a7507..6f4fb08 100644
--- a/sc/source/ui/miscdlgs/acredlin.cxx
+++ b/sc/source/ui/miscdlgs/acredlin.cxx
@@ -114,13 +114,13 @@ ScAcceptChgDlg::ScAcceptChgDlg(SfxBindings* pB, SfxChildWindow* pCW, vcl::Window
     m_pAcceptChgCtr = new SvxAcceptChgCtr(get_content_area(), this);
     nAcceptCount=0;
     nRejectCount=0;
-    aReOpenIdle.SetPriority(IdlePriority::MEDIUM);
+    aReOpenIdle.SetPriority(SchedulerPriority::MEDIUM);
     aReOpenIdle.SetIdleHdl(LINK( this, ScAcceptChgDlg, ReOpenTimerHdl ));
 
     pTPFilter=m_pAcceptChgCtr->GetFilterPage();
     pTPView=m_pAcceptChgCtr->GetViewPage();
     pTheView=pTPView->GetTableControl();
-    aSelectionIdle.SetPriority(IdlePriority::LOW);
+    aSelectionIdle.SetPriority(SchedulerPriority::LOW);
     aSelectionIdle.SetIdleHdl(LINK( this, ScAcceptChgDlg, UpdateSelectionHdl ));
 
     pTPFilter->SetReadyHdl(LINK( this, ScAcceptChgDlg, FilterHandle ));
diff --git a/sc/source/ui/miscdlgs/anyrefdg.cxx b/sc/source/ui/miscdlgs/anyrefdg.cxx
index 8cfed18..fc0d82c 100644
--- a/sc/source/ui/miscdlgs/anyrefdg.cxx
+++ b/sc/source/ui/miscdlgs/anyrefdg.cxx
@@ -767,7 +767,7 @@ ScRefHandler::ScRefHandler( vcl::Window &rWindow, SfxBindings* pB, bool bBindRef
 {
     m_aHelper.SetWindow(&m_rWindow);
     reverseUniqueHelpIdHack(m_rWindow);
-    aIdle.SetPriority(IdlePriority::LOWER);
+    aIdle.SetPriority(SchedulerPriority::LOWER);
     aIdle.SetIdleHdl(LINK( this, ScRefHandler, UpdateFocusHdl));
 
     if( bBindRef ) EnterRefMode();
diff --git a/sc/source/ui/miscdlgs/conflictsdlg.cxx b/sc/source/ui/miscdlgs/conflictsdlg.cxx
index e2d4e15..27ab197 100644
--- a/sc/source/ui/miscdlgs/conflictsdlg.cxx
+++ b/sc/source/ui/miscdlgs/conflictsdlg.cxx
@@ -420,7 +420,7 @@ ScConflictsDlg::ScConflictsDlg( vcl::Window* pParent, ScViewData* pViewData, ScD
     m_pLbConflicts->SetSelectionMode( MULTIPLE_SELECTION );
     m_pLbConflicts->SetHighlightRange();
 
-    maSelectionIdle.SetPriority( IdlePriority::LOW );
+    maSelectionIdle.SetPriority( SchedulerPriority::LOW );
     maSelectionIdle.SetIdleHdl( LINK( this, ScConflictsDlg, UpdateSelectionHdl ) );
 
     m_pLbConflicts->SetSelectHdl( LINK( this, ScConflictsDlg, SelectHandle ) );
diff --git a/sc/source/ui/navipi/navipi.cxx b/sc/source/ui/navipi/navipi.cxx
index 9756adc..b31623c 100644
--- a/sc/source/ui/navipi/navipi.cxx
+++ b/sc/source/ui/navipi/navipi.cxx
@@ -657,7 +657,7 @@ ScNavigatorDlg::ScNavigatorDlg( SfxBindings* pB, SfxChildWindowContext* pCW, vcl
     aWndScenarios.SetPosPixel( aLbEntries.GetPosPixel() );
 
     aContentIdle.SetIdleHdl( LINK( this, ScNavigatorDlg, TimeHdl ) );
-    aContentIdle.SetPriority( IdlePriority::LOWEST );
+    aContentIdle.SetPriority( SchedulerPriority::LOWEST );
 
     FreeResource();
 
diff --git a/sc/source/ui/pagedlg/tphfedit.cxx b/sc/source/ui/pagedlg/tphfedit.cxx
index e0e6102..c0f3166 100644
--- a/sc/source/ui/pagedlg/tphfedit.cxx
+++ b/sc/source/ui/pagedlg/tphfedit.cxx
@@ -331,7 +331,7 @@ ScExtIButton::ScExtIButton(vcl::Window* pParent, WinBits nBits )
     : ImageButton(pParent,nBits), pPopupMenu(NULL)
 {
     nSelected=0;
-    aIdle.SetPriority(IdlePriority::LOWEST);
+    aIdle.SetPriority(SchedulerPriority::LOWEST);
     SetDropDown(PUSHBUTTON_DROPDOWN_TOOLBOX);
 }
 
diff --git a/sd/source/core/drawdoc4.cxx b/sd/source/core/drawdoc4.cxx
index b51fd3f..7543c77 100644
--- a/sd/source/core/drawdoc4.cxx
+++ b/sd/source/core/drawdoc4.cxx
@@ -775,7 +775,7 @@ void SdDrawDocument::StartOnlineSpelling(bool bForceSpelling)
         mpOnlineSpellingList->seekShape(0);
         mpOnlineSpellingIdle = new Idle();
         mpOnlineSpellingIdle->SetIdleHdl( LINK(this, SdDrawDocument, OnlineSpellingHdl) );
-        mpOnlineSpellingIdle->SetPriority(IdlePriority::LOWEST);
+        mpOnlineSpellingIdle->SetPriority(SchedulerPriority::LOWEST);
         mpOnlineSpellingIdle->Start();
     }
 }
diff --git a/sd/source/ui/dlg/brkdlg.cxx b/sd/source/ui/dlg/brkdlg.cxx
index d0696dc..6f1ebc6 100644
--- a/sd/source/ui/dlg/brkdlg.cxx
+++ b/sd/source/ui/dlg/brkdlg.cxx
@@ -144,7 +144,7 @@ IMPL_LINK( BreakDlg, UpDate, void*, nInit )
  */
 short BreakDlg::Execute()
 {
-  aIdle.SetPriority( IdlePriority::REPAINT );
+  aIdle.SetPriority( SchedulerPriority::REPAINT );
   aIdle.SetIdleHdl( LINK( this, BreakDlg, InitialUpdate ) );
   aIdle.Start();
 
diff --git a/sd/source/ui/dlg/dlgass.cxx b/sd/source/ui/dlg/dlgass.cxx
index 430c685..fbf21f5 100644
--- a/sd/source/ui/dlg/dlgass.cxx
+++ b/sd/source/ui/dlg/dlgass.cxx
@@ -585,13 +585,13 @@ AssistentDlgImpl::AssistentDlgImpl( vcl::Window* pWindow, const Link& rFinishLin
     maAssistentFunc.GotoPage(1);
     mpLastPageButton->Disable();
 
-    maPrevIdle.SetPriority( IdlePriority::LOWER );
+    maPrevIdle.SetPriority( SchedulerPriority::LOWER );
     maPrevIdle.SetIdleHdl( LINK( this, AssistentDlgImpl, UpdatePreviewHdl));
 
-    maEffectPrevIdle.SetPriority( IdlePriority::MEDIUM );
+    maEffectPrevIdle.SetPriority( SchedulerPriority::MEDIUM );
     maEffectPrevIdle.SetIdleHdl( LINK( this, AssistentDlgImpl, EffectPreviewHdl ));
 
-    maUpdatePageListIdle.SetPriority( IdlePriority::MEDIUM );
+    maUpdatePageListIdle.SetPriority( SchedulerPriority::MEDIUM );
     maUpdatePageListIdle.SetIdleHdl( LINK( this, AssistentDlgImpl, UpdatePageListHdl));
 
     SetStartType( ST_EMPTY );
diff --git a/sd/source/ui/dlg/filedlg.cxx b/sd/source/ui/dlg/filedlg.cxx
index 2b9cdcc..a749a5b 100644
--- a/sd/source/ui/dlg/filedlg.cxx
+++ b/sd/source/ui/dlg/filedlg.cxx
@@ -133,7 +133,7 @@ IMPL_LINK_NOARG(SdFileDialog_Imp, PlayMusicHdl)
             {
                 mxPlayer.set( avmedia::MediaWindow::createPlayer( aUrl, "" ), css::uno::UNO_QUERY_THROW );
                 mxPlayer->start();
-                maUpdateIdle.SetPriority( IdlePriority::LOW );
+                maUpdateIdle.SetPriority( SchedulerPriority::LOW );
                 maUpdateIdle.Start();
             }
             catch (const css::uno::Exception&)
diff --git a/sd/source/ui/framework/module/ShellStackGuard.cxx b/sd/source/ui/framework/module/ShellStackGuard.cxx
index 4e44b73..7f2f172 100644
--- a/sd/source/ui/framework/module/ShellStackGuard.cxx
+++ b/sd/source/ui/framework/module/ShellStackGuard.cxx
@@ -72,7 +72,7 @@ ShellStackGuard::ShellStackGuard (Reference<frame::XController>& rxController)
 
         // Prepare the printer polling.
         maPrinterPollingIdle.SetIdleHdl(LINK(this,ShellStackGuard,TimeoutHandler));
-        maPrinterPollingIdle.SetPriority(IdlePriority::LOWER);
+        maPrinterPollingIdle.SetPriority(SchedulerPriority::LOWER);
     }
 }
 
diff --git a/sd/source/ui/slidesorter/controller/SlsAnimator.cxx b/sd/source/ui/slidesorter/controller/SlsAnimator.cxx
index 48014c0..99a8388 100644
--- a/sd/source/ui/slidesorter/controller/SlsAnimator.cxx
+++ b/sd/source/ui/slidesorter/controller/SlsAnimator.cxx
@@ -68,7 +68,7 @@ Animator::Animator (SlideSorter& rSlideSorter)
       mpDrawLock(),
       mnNextAnimationId(0)
 {
-    maIdle.SetPriority(IdlePriority::REPAINT);
+    maIdle.SetPriority(SchedulerPriority::REPAINT);
     maIdle.SetIdleHdl(LINK(this,Animator,TimeoutHandler));
 }
 
diff --git a/sd/source/ui/view/sdview.cxx b/sd/source/ui/view/sdview.cxx
index e3f9d67..b3db161 100644
--- a/sd/source/ui/view/sdview.cxx
+++ b/sd/source/ui/view/sdview.cxx
@@ -139,9 +139,9 @@ View::View(SdDrawDocument& rDrawDoc, OutputDevice* pOutDev,
 
     // Timer for delayed drop (has to be for MAC)
     maDropErrorIdle.SetIdleHdl( LINK(this, View, DropErrorHdl) );
-    maDropErrorIdle.SetPriority(IdlePriority::MEDIUM);
+    maDropErrorIdle.SetPriority(SchedulerPriority::MEDIUM);
     maDropInsertFileIdle.SetIdleHdl( LINK(this, View, DropInsertFileHdl) );
-    maDropInsertFileIdle.SetPriority(IdlePriority::MEDIUM);
+    maDropInsertFileIdle.SetPriority(SchedulerPriority::MEDIUM);
 }
 
 void View::ImplClearDrawDropMarker()
diff --git a/sfx2/source/appl/appcfg.cxx b/sfx2/source/appl/appcfg.cxx
index 8b10b64..5a522ae 100644
--- a/sfx2/source/appl/appcfg.cxx
+++ b/sfx2/source/appl/appcfg.cxx
@@ -115,7 +115,7 @@ SfxEventAsyncer_Impl::SfxEventAsyncer_Impl( const SfxEventHint& rHint )
         StartListening( *rHint.GetObjShell() );
     pIdle = new Idle;
     pIdle->SetIdleHdl( LINK(this, SfxEventAsyncer_Impl, IdleHdl) );
-    pIdle->SetPriority( IdlePriority::HIGHEST );
+    pIdle->SetPriority( SchedulerPriority::HIGHEST );
     pIdle->Start();
 }
 
diff --git a/sfx2/source/appl/newhelp.cxx b/sfx2/source/appl/newhelp.cxx
index d2aaead..d73c9e7 100644
--- a/sfx2/source/appl/newhelp.cxx
+++ b/sfx2/source/appl/newhelp.cxx
@@ -539,7 +539,7 @@ IndexTabPage_Impl::IndexTabPage_Impl(vcl::Window* pParent, SfxHelpIndexWindow_Im
     m_pOpenBtn->SetClickHdl( LINK( this, IndexTabPage_Impl, OpenHdl ) );
     Link aTimeoutLink = LINK( this, IndexTabPage_Impl, TimeoutHdl );
     aFactoryIdle.SetIdleHdl( LINK(this, IndexTabPage_Impl, IdleHdl ));
-    aFactoryIdle.SetPriority(IdlePriority::LOWER);
+    aFactoryIdle.SetPriority(SchedulerPriority::LOWER);
     aKeywordTimer.SetTimeoutHdl( aTimeoutLink );
 }
 
@@ -1406,7 +1406,7 @@ SfxHelpIndexWindow_Impl::SfxHelpIndexWindow_Impl(SfxHelpWindow_Impl* _pParent)
     nMinWidth = ( m_pActiveLB->GetSizePixel().Width() / 2 );
 
     aIdle.SetIdleHdl( LINK( this, SfxHelpIndexWindow_Impl, InitHdl ) );
-    aIdle.SetPriority( IdlePriority::LOWER );
+    aIdle.SetPriority( SchedulerPriority::LOWER );
     aIdle.Start();
 
     Show();
@@ -1533,7 +1533,7 @@ IMPL_LINK_NOARG(SfxHelpIndexWindow_Impl, InitHdl)
 
     // now use the timer for selection
     aIdle.SetIdleHdl( LINK( this, SfxHelpIndexWindow_Impl, SelectFactoryHdl ) );
-    aIdle.SetPriority( IdlePriority::LOWEST );
+    aIdle.SetPriority( SchedulerPriority::LOWEST );
 
     return 0;
 }
@@ -1879,7 +1879,7 @@ SfxHelpTextWindow_Impl::SfxHelpTextWindow_Impl( SfxHelpWindow_Impl* pParent ) :
     aOnStartupCB.SetClickHdl( LINK( this, SfxHelpTextWindow_Impl, CheckHdl ) );
 
     aSelectIdle.SetIdleHdl( LINK( this, SfxHelpTextWindow_Impl, SelectHdl ) );
-    aSelectIdle.SetPriority( IdlePriority::LOWEST );
+    aSelectIdle.SetPriority( SchedulerPriority::LOWEST );
 
     char* pEnv = getenv( "help_debug" );
     if ( pEnv )
diff --git a/sfx2/source/control/dispatch.cxx b/sfx2/source/control/dispatch.cxx
index cf2b4ed..cf6c373 100644
--- a/sfx2/source/control/dispatch.cxx
+++ b/sfx2/source/control/dispatch.cxx
@@ -337,7 +337,7 @@ void SfxDispatcher::Construct_Impl( SfxDispatcher* pParent )
 
     xImp->xPoster = new SfxHintPoster(aGenLink);
 
-    xImp->aIdle.SetPriority(IdlePriority::MEDIUM);
+    xImp->aIdle.SetPriority(SchedulerPriority::MEDIUM);
     xImp->aIdle.SetIdleHdl( LINK(this, SfxDispatcher, EventHdl_Impl ) );
 }
 
@@ -473,7 +473,7 @@ void SfxDispatcher::Pop(SfxShell& rShell, sal_uInt16 nMode)
     if(!pSfxApp->IsDowning() && !xImp->aToDoStack.empty())
     {
         // No immediate update is requested
-        xImp->aIdle.SetPriority(IdlePriority::MEDIUM);
+        xImp->aIdle.SetPriority(SchedulerPriority::MEDIUM);
         xImp->aIdle.SetIdleHdl( LINK(this, SfxDispatcher, EventHdl_Impl ) );
         xImp->aIdle.Start();
     }
@@ -684,7 +684,7 @@ void SfxDispatcher::DoActivate_Impl(bool bMDI, SfxViewFrame* /* pOld */)
     if(!xImp->aToDoStack.empty())
     {
         // No immediate update is requested
-        xImp->aIdle.SetPriority(IdlePriority::MEDIUM);
+        xImp->aIdle.SetPriority(SchedulerPriority::MEDIUM);
         xImp->aIdle.SetIdleHdl( LINK(this, SfxDispatcher, EventHdl_Impl ) );
         xImp->aIdle.Start();
     }
diff --git a/sfx2/source/dialog/basedlgs.cxx b/sfx2/source/dialog/basedlgs.cxx
index 0329d7f..cb175b0 100644
--- a/sfx2/source/dialog/basedlgs.cxx
+++ b/sfx2/source/dialog/basedlgs.cxx
@@ -319,7 +319,7 @@ void SfxModelessDialog::Init(SfxBindings *pBindinx, SfxChildWindow *pCW)
     SetUniqueId( GetHelpId() );
     if ( pBindinx )
         pImp->StartListening( *pBindinx );
-    pImp->aMoveIdle.SetPriority(IdlePriority::RESIZE);
+    pImp->aMoveIdle.SetPriority(SchedulerPriority::RESIZE);
     pImp->aMoveIdle.SetIdleHdl(LINK(this,SfxModelessDialog,TimerHdl));
 }
 
@@ -458,7 +458,7 @@ SfxFloatingWindow::SfxFloatingWindow( SfxBindings *pBindinx,
     SetHelpId("");
     if ( pBindinx )
         pImp->StartListening( *pBindinx );
-    pImp->aMoveIdle.SetPriority(IdlePriority::RESIZE);
+    pImp->aMoveIdle.SetPriority(SchedulerPriority::RESIZE);
     pImp->aMoveIdle.SetIdleHdl(LINK(this,SfxFloatingWindow,TimerHdl));
 }
 
@@ -479,7 +479,7 @@ SfxFloatingWindow::SfxFloatingWindow( SfxBindings *pBindinx,
 
     if ( pBindinx )
         pImp->StartListening( *pBindinx );
-    pImp->aMoveIdle.SetPriority(IdlePriority::RESIZE);
+    pImp->aMoveIdle.SetPriority(SchedulerPriority::RESIZE);
     pImp->aMoveIdle.SetIdleHdl(LINK(this,SfxFloatingWindow,TimerHdl));
 }
 
diff --git a/sfx2/source/dialog/dinfdlg.cxx b/sfx2/source/dialog/dinfdlg.cxx
index cb56a35..36d31f3 100644
--- a/sfx2/source/dialog/dinfdlg.cxx
+++ b/sfx2/source/dialog/dinfdlg.cxx
@@ -1398,9 +1398,9 @@ CustomPropertiesWindow::CustomPropertiesWindow(vcl::Window* pParent,
         LogicToPixel(Point(159, 2), MAP_APPFONT),
         LogicToPixel(Size(61, RSC_CD_TEXTBOX_HEIGHT), MAP_APPFONT));
 
-    m_aEditLoseFocusIdle.SetPriority( IdlePriority::LOWEST );
+    m_aEditLoseFocusIdle.SetPriority( SchedulerPriority::LOWEST );
     m_aEditLoseFocusIdle.SetIdleHdl( LINK( this, CustomPropertiesWindow, EditTimeoutHdl ) );
-    m_aBoxLoseFocusIdle.SetPriority( IdlePriority::LOWEST );
+    m_aBoxLoseFocusIdle.SetPriority( SchedulerPriority::LOWEST );
     m_aBoxLoseFocusIdle.SetIdleHdl( LINK( this, CustomPropertiesWindow, BoxTimeoutHdl ) );
 
     m_aNameBox.add_mnemonic_label(m_pHeaderAccName);
diff --git a/sfx2/source/dialog/dockwin.cxx b/sfx2/source/dialog/dockwin.cxx
index e24aaea..7d4f6b6 100644
--- a/sfx2/source/dialog/dockwin.cxx
+++ b/sfx2/source/dialog/dockwin.cxx
@@ -889,7 +889,7 @@ SfxDockingWindow::SfxDockingWindow( SfxBindings *pBindinx, SfxChildWindow *pCW,
     pImp->nPos  = pImp->nDockPos = 0;
     pImp->bNewLine = false;
     pImp->SetLastAlignment(SFX_ALIGN_NOALIGNMENT);
-    pImp->aMoveIdle.SetPriority(IdlePriority::RESIZE);
+    pImp->aMoveIdle.SetPriority(SchedulerPriority::RESIZE);
     pImp->aMoveIdle.SetIdleHdl(LINK(this,SfxDockingWindow,TimerHdl));
 }
 
@@ -940,7 +940,7 @@ SfxDockingWindow::SfxDockingWindow( SfxBindings *pBindinx, SfxChildWindow *pCW,
     pImp->nPos  = pImp->nDockPos = 0;
     pImp->bNewLine = false;
     pImp->SetLastAlignment(SFX_ALIGN_NOALIGNMENT);
-    pImp->aMoveIdle.SetPriority(IdlePriority::RESIZE);
+    pImp->aMoveIdle.SetPriority(SchedulerPriority::RESIZE);
     pImp->aMoveIdle.SetIdleHdl(LINK(this,SfxDockingWindow,TimerHdl));
 }
 
@@ -988,7 +988,7 @@ SfxDockingWindow::SfxDockingWindow( SfxBindings *pBindinx, SfxChildWindow *pCW,
     pImp->nPos  = pImp->nDockPos = 0;
     pImp->bNewLine = false;
     pImp->SetLastAlignment(SFX_ALIGN_NOALIGNMENT);
-    pImp->aMoveIdle.SetPriority(IdlePriority::RESIZE);
+    pImp->aMoveIdle.SetPriority(SchedulerPriority::RESIZE);
     pImp->aMoveIdle.SetIdleHdl(LINK(this,SfxDockingWindow,TimerHdl));
 }
 
diff --git a/sfx2/source/dialog/filedlghelper.cxx b/sfx2/source/dialog/filedlghelper.cxx
index 12b6a36..b3f3f94 100644
--- a/sfx2/source/dialog/filedlghelper.cxx
+++ b/sfx2/source/dialog/filedlghelper.cxx
@@ -984,7 +984,7 @@ FileDialogHelper_Impl::FileDialogHelper_Impl(
                 mbHasPreview = true;
 
                 // aPreviewTimer
-                maPreviewIdle.SetPriority( IdlePriority::LOWEST );
+                maPreviewIdle.SetPriority( SchedulerPriority::LOWEST );
                 maPreviewIdle.SetIdleHdl( LINK( this, FileDialogHelper_Impl, TimeOutHdl_Impl ) );
                 break;
 
@@ -1001,7 +1001,7 @@ FileDialogHelper_Impl::FileDialogHelper_Impl(
                 nTemplateDescription = TemplateDescription::FILEOPEN_LINK_PREVIEW;
                 mbHasPreview = true;
                 // aPreviewTimer
-                maPreviewIdle.SetPriority( IdlePriority::LOWEST );
+                maPreviewIdle.SetPriority( SchedulerPriority::LOWEST );
                 maPreviewIdle.SetIdleHdl( LINK( this, FileDialogHelper_Impl, TimeOutHdl_Impl ) );
                 break;
 
diff --git a/sfx2/source/dialog/templdlg.cxx b/sfx2/source/dialog/templdlg.cxx
index 090bb22..bc17030 100644
--- a/sfx2/source/dialog/templdlg.cxx
+++ b/sfx2/source/dialog/templdlg.cxx
@@ -1481,7 +1481,7 @@ void SfxCommonTemplateDialog_Impl::Notify(SfxBroadcaster& /*rBC*/, const SfxHint
         if(!pIdle)
         {
             pIdle=new Idle;
-            pIdle->SetPriority(IdlePriority::LOWEST);
+            pIdle->SetPriority(SchedulerPriority::LOWEST);
             pIdle->SetIdleHdl(LINK(this,SfxCommonTemplateDialog_Impl,TimeOut));
         }
         pIdle->Start();
diff --git a/sfx2/source/doc/new.cxx b/sfx2/source/doc/new.cxx
index 11f7884..22ddce0 100644
--- a/sfx2/source/doc/new.cxx
+++ b/sfx2/source/doc/new.cxx
@@ -432,7 +432,7 @@ SfxNewFileDialog_Impl::SfxNewFileDialog_Impl(
         m_pRegionLb->SetSelectHdl(LINK(this, SfxNewFileDialog_Impl, RegionSelect));
     }
 
-    aPrevIdle.SetPriority( IdlePriority::LOWEST );
+    aPrevIdle.SetPriority( SchedulerPriority::LOWEST );
     aPrevIdle.SetIdleHdl( LINK( this, SfxNewFileDialog_Impl, Update));
 
     m_pRegionLb->SelectEntryPos(0);
diff --git a/starmath/source/edit.cxx b/starmath/source/edit.cxx
index efb6ee5..f05a04e 100644
--- a/starmath/source/edit.cxx
+++ b/starmath/source/edit.cxx
@@ -107,12 +107,12 @@ SmEditWindow::SmEditWindow( SmCmdBoxWindow &rMyCmdBoxWin ) :
     SetBackground( GetSettings().GetStyleSettings().GetWindowColor() );
 
     aModifyIdle.SetIdleHdl(LINK(this, SmEditWindow, ModifyTimerHdl));
-    aModifyIdle.SetPriority(IdlePriority::LOWEST);
+    aModifyIdle.SetPriority(SchedulerPriority::LOWEST);
 
     if (!IsInlineEditEnabled())
     {
         aCursorMoveIdle.SetIdleHdl(LINK(this, SmEditWindow, CursorMoveTimerHdl));
-        aCursorMoveIdle.SetPriority(IdlePriority::LOWEST);
+        aCursorMoveIdle.SetPriority(SchedulerPriority::LOWEST);
     }
 
     // if not called explicitly the this edit window within the
diff --git a/svtools/source/contnr/imivctl1.cxx b/svtools/source/contnr/imivctl1.cxx
index 4c03f2a..bcdc09d 100644
--- a/svtools/source/contnr/imivctl1.cxx
+++ b/svtools/source/contnr/imivctl1.cxx
@@ -136,16 +136,16 @@ SvxIconChoiceCtrl_Impl::SvxIconChoiceCtrl_Impl(
     nHorSBarHeight = aHorSBar.GetSizePixel().Height();
     nVerSBarWidth = aVerSBar.GetSizePixel().Width();
 
-    aEditIdle.SetPriority( IdlePriority::LOWEST );
+    aEditIdle.SetPriority( SchedulerPriority::LOWEST );
     aEditIdle.SetIdleHdl(LINK(this,SvxIconChoiceCtrl_Impl,EditTimeoutHdl));
-    aAutoArrangeIdle.SetPriority( IdlePriority::LOW );
+    aAutoArrangeIdle.SetPriority( SchedulerPriority::LOW );
     aAutoArrangeIdle.SetIdleHdl(LINK(this,SvxIconChoiceCtrl_Impl,AutoArrangeHdl));
-    aCallSelectHdlIdle.SetPriority( IdlePriority::LOWEST );
+    aCallSelectHdlIdle.SetPriority( SchedulerPriority::LOWEST );
     aCallSelectHdlIdle.SetIdleHdl( LINK(this,SvxIconChoiceCtrl_Impl,CallSelectHdlHdl));
 
-    aDocRectChangedIdle.SetPriority( IdlePriority::MEDIUM );
+    aDocRectChangedIdle.SetPriority( SchedulerPriority::MEDIUM );
     aDocRectChangedIdle.SetIdleHdl(LINK(this,SvxIconChoiceCtrl_Impl,DocRectChangedHdl));
-    aVisRectChangedIdle.SetPriority( IdlePriority::MEDIUM );
+    aVisRectChangedIdle.SetPriority( SchedulerPriority::MEDIUM );
     aVisRectChangedIdle.SetIdleHdl(LINK(this,SvxIconChoiceCtrl_Impl,VisRectChangedHdl));
 
     Clear( true );
@@ -3394,7 +3394,7 @@ bool IcnViewEdit_Impl::PreNotify( NotifyEvent& rNEvt )
             ((!Application::GetFocusWindow()) || !IsChild(Application::GetFocusWindow())))
         {
             bCanceled = false;
-            aIdle.SetPriority(IdlePriority::REPAINT);
+            aIdle.SetPriority(SchedulerPriority::REPAINT);
             aIdle.SetIdleHdl(LINK(this,IcnViewEdit_Impl,Timeout_Impl));
             aIdle.Start();
         }
diff --git a/svtools/source/contnr/svimpbox.cxx b/svtools/source/contnr/svimpbox.cxx
index c508471..fd2b5b4 100644
--- a/svtools/source/contnr/svimpbox.cxx
+++ b/svtools/source/contnr/svimpbox.cxx
@@ -89,7 +89,7 @@ SvImpLBox::SvImpLBox( SvTreeListBox* pLBView, SvTreeList* pLBTree, WinBits nWinS
     nNodeBmpWidth       = 0;
 
     bAsyncBeginDrag     = false;
-    aAsyncBeginDragIdle.SetPriority( IdlePriority::HIGHEST );
+    aAsyncBeginDragIdle.SetPriority( SchedulerPriority::HIGHEST );
     aAsyncBeginDragIdle.SetIdleHdl( LINK(this,SvImpLBox,BeginDragHdl));
     // button animation in listbox
     pActiveButton = 0;
@@ -99,7 +99,7 @@ SvImpLBox::SvImpLBox( SvTreeListBox* pLBView, SvTreeList* pLBTree, WinBits nWinS
     nFlags = 0;
     nCurTabPos = FIRST_ENTRY_TAB;
 
-    aEditIdle.SetPriority( IdlePriority::LOWEST );
+    aEditIdle.SetPriority( SchedulerPriority::LOWEST );
     aEditIdle.SetIdleHdl( LINK(this,SvImpLBox,EditTimerCall) );
 
     nMostRight = -1;
diff --git a/svtools/source/contnr/treelistbox.cxx b/svtools/source/contnr/treelistbox.cxx
index 506cbf6..fcb1836 100644
--- a/svtools/source/contnr/treelistbox.cxx
+++ b/svtools/source/contnr/treelistbox.cxx
@@ -233,7 +233,7 @@ void SvInplaceEdit2::LoseFocus()
     )
     {
         bCanceled = false;
-        aIdle.SetPriority(IdlePriority::REPAINT);
+        aIdle.SetPriority(SchedulerPriority::REPAINT);
         aIdle.SetIdleHdl(LINK(this,SvInplaceEdit2,Timeout_Impl));
         aIdle.Start();
     }
diff --git a/svtools/source/control/asynclink.cxx b/svtools/source/control/asynclink.cxx
index 8821021..74225829 100644
--- a/svtools/source/control/asynclink.cxx
+++ b/svtools/source/control/asynclink.cxx
@@ -55,7 +55,7 @@ bAllowDoubles
             if( !_pIdle )
             {
                 _pIdle = new Idle;
-                _pIdle->SetPriority( IdlePriority::HIGHEST );
+                _pIdle->SetPriority( SchedulerPriority::HIGHEST );
                 _pIdle->SetIdleHdl( STATIC_LINK(
                     this, AsynchronLink, HandleCall) );
             }
diff --git a/svtools/source/control/tabbar.cxx b/svtools/source/control/tabbar.cxx
index e2a37b6..02000ca 100644
--- a/svtools/source/control/tabbar.cxx
+++ b/svtools/source/control/tabbar.cxx
@@ -347,7 +347,7 @@ IMPL_LINK( TabBarEdit, ImplEndEditHdl, void*, pCancel )
     // when it shows the context menu or the insert symbol dialog
     if ( !HasFocus() && HasChildPathFocus( true ) )
     {
-        maLoseFocusIdle.SetPriority( IdlePriority::REPAINT );
+        maLoseFocusIdle.SetPriority( SchedulerPriority::REPAINT );
         maLoseFocusIdle.SetIdleHdl( LINK( this, TabBarEdit, ImplEndTimerHdl ) );
         maLoseFocusIdle.Start();
     }
diff --git a/svtools/source/dialogs/wizdlg.cxx b/svtools/source/dialogs/wizdlg.cxx
index 924e001..e520313 100644
--- a/svtools/source/dialogs/wizdlg.cxx
+++ b/svtools/source/dialogs/wizdlg.cxx
@@ -61,7 +61,7 @@ void WizardDialog::ImplInitData()
     mbEmptyViewMargin =  false;
     mnLeftAlignCount = 0;
 
-    maWizardLayoutIdle.SetPriority(IdlePriority::RESIZE);
+    maWizardLayoutIdle.SetPriority(SchedulerPriority::RESIZE);
     maWizardLayoutIdle.SetIdleHdl( LINK( this, WizardDialog, ImplHandleWizardLayoutTimerHdl ) );
 }
 
diff --git a/svtools/source/misc/filechangedchecker.cxx b/svtools/source/misc/filechangedchecker.cxx
index a9efb98..5fb6fee 100644
--- a/svtools/source/misc/filechangedchecker.cxx
+++ b/svtools/source/misc/filechangedchecker.cxx
@@ -34,7 +34,7 @@ void FileChangedChecker::resetTimer()
         mIdle.Start();
 
     // Set lowest Priority
-    mIdle.SetPriority(IdlePriority::LOWEST);
+    mIdle.SetPriority(SchedulerPriority::LOWEST);
 }
 
 bool FileChangedChecker::getCurrentModTime(TimeValue& o_rValue) const
diff --git a/svx/source/dialog/_contdlg.cxx b/svx/source/dialog/_contdlg.cxx
index c1d9e92..3e18ece 100644
--- a/svx/source/dialog/_contdlg.cxx
+++ b/svx/source/dialog/_contdlg.cxx
@@ -273,10 +273,10 @@ SvxSuperContourDlg::SvxSuperContourDlg(SfxBindings *_pBindings, SfxChildWindow *
 
     Resize();
 
-    aUpdateIdle.SetPriority( IdlePriority::LOW );
+    aUpdateIdle.SetPriority( SchedulerPriority::LOW );
     aUpdateIdle.SetIdleHdl( LINK( this, SvxSuperContourDlg, UpdateHdl ) );
 
-    aCreateIdle.SetPriority( IdlePriority::RESIZE );
+    aCreateIdle.SetPriority( SchedulerPriority::RESIZE );
     aCreateIdle.SetIdleHdl( LINK( this, SvxSuperContourDlg, CreateHdl ) );
 }
 
diff --git a/svx/source/dialog/fontwork.cxx b/svx/source/dialog/fontwork.cxx
index 28326ed..a566a9d 100644
--- a/svx/source/dialog/fontwork.cxx
+++ b/svx/source/dialog/fontwork.cxx
@@ -282,7 +282,7 @@ SvxFontWorkDialog::SvxFontWorkDialog(SfxBindings *pBindinx,
 
     m_pShadowColorLB->SetSelectHdl( LINK(this, SvxFontWorkDialog, ColorSelectHdl_Impl) );
 
-    aInputIdle.SetPriority(IdlePriority::LOWEST);
+    aInputIdle.SetPriority(SchedulerPriority::LOWEST);
     aInputIdle.SetIdleHdl(LINK(this, SvxFontWorkDialog, InputTimoutHdl_Impl));
 }
 
diff --git a/svx/source/dialog/graphctl.cxx b/svx/source/dialog/graphctl.cxx
index 1d22cb4..2cbee88 100644
--- a/svx/source/dialog/graphctl.cxx
+++ b/svx/source/dialog/graphctl.cxx
@@ -67,7 +67,7 @@ GraphCtrl::GraphCtrl( vcl::Window* pParent, WinBits nStyle ) :
             pView           ( NULL )
 {
     pUserCall = new GraphCtrlUserCall( *this );
-    aUpdateIdle.SetPriority( IdlePriority::LOWEST );
+    aUpdateIdle.SetPriority( SchedulerPriority::LOWEST );
     aUpdateIdle.SetIdleHdl( LINK( this, GraphCtrl, UpdateHdl ) );
     aUpdateIdle.Start();
     EnableRTL( false );
diff --git a/svx/source/dialog/imapdlg.cxx b/svx/source/dialog/imapdlg.cxx
index 36b70db..7f60dd8 100644
--- a/svx/source/dialog/imapdlg.cxx
+++ b/svx/source/dialog/imapdlg.cxx
@@ -207,7 +207,7 @@ SvxIMapDlg::SvxIMapDlg(SfxBindings *_pBindings, SfxChildWindow *pCW, vcl::Window
     m_pCbbTarget->Disable();
     pOwnData->bExecState = false;
 
-    pOwnData->aIdle.SetPriority( IdlePriority::LOW );
+    pOwnData->aIdle.SetPriority( SchedulerPriority::LOW );
     pOwnData->aIdle.SetIdleHdl( LINK( this, SvxIMapDlg, UpdateHdl ) );
 
     m_pTbxIMapDlg1->EnableItem( mnActiveId, false );
diff --git a/svx/source/dialog/srchdlg.cxx b/svx/source/dialog/srchdlg.cxx
index 8a59c07..2b03bbc 100644
--- a/svx/source/dialog/srchdlg.cxx
+++ b/svx/source/dialog/srchdlg.cxx
@@ -365,7 +365,7 @@ void SvxSearchDialog::Construct_Impl()
 {
     // temporary to avoid incompatibility
     pImpl = new SearchDlg_Impl();
-    pImpl->aSelectionIdle.SetPriority( IdlePriority::LOWEST );
+    pImpl->aSelectionIdle.SetPriority( SchedulerPriority::LOWEST );
     pImpl->aSelectionIdle.SetIdleHdl(
         LINK( this, SvxSearchDialog, TimeoutHdl_Impl ) );
     EnableControls_Impl( 0 );
diff --git a/svx/source/dialog/svxbmpnumvalueset.cxx b/svx/source/dialog/svxbmpnumvalueset.cxx
index 47498c4..3b6ad3f 100644
--- a/svx/source/dialog/svxbmpnumvalueset.cxx
+++ b/svx/source/dialog/svxbmpnumvalueset.cxx
@@ -480,7 +480,7 @@ void SvxBmpNumValueSet::init()
     GalleryExplorer::BeginLocking(GALLERY_THEME_BULLETS);
     SetStyle( GetStyle() | WB_VSCROLL );
     SetLineCount( 3 );
-    aFormatIdle.SetPriority(IdlePriority::LOWEST);
+    aFormatIdle.SetPriority(SchedulerPriority::LOWEST);
     aFormatIdle.SetIdleHdl(LINK(this, SvxBmpNumValueSet, FormatHdl_Impl));
 }
 
diff --git a/svx/source/form/datanavi.cxx b/svx/source/form/datanavi.cxx
index 5239984..9081361 100644
--- a/svx/source/form/datanavi.cxx
+++ b/svx/source/form/datanavi.cxx
@@ -2743,7 +2743,7 @@ namespace svxform
         m_pConditionED->SetModifyHdl( LINK( this, AddConditionDialog, ModifyHdl ) );
         m_pEditNamespacesBtn->SetClickHdl( LINK( this, AddConditionDialog, EditHdl ) );
         m_pOKBtn->SetClickHdl( LINK( this, AddConditionDialog, OKHdl ) );
-        m_aResultIdle.SetPriority( IdlePriority::LOWEST );
+        m_aResultIdle.SetPriority( SchedulerPriority::LOWEST );
         m_aResultIdle.SetIdleHdl( LINK( this, AddConditionDialog, ResultHdl ) );
 
         if ( !m_sPropertyName.isEmpty() )
diff --git a/svx/source/form/formcontroller.cxx b/svx/source/form/formcontroller.cxx
index 8aa3536..541f6f7 100644
--- a/svx/source/form/formcontroller.cxx
+++ b/svx/source/form/formcontroller.cxx
@@ -576,7 +576,7 @@ FormController::FormController(const Reference< css::uno::XComponentContext > &
     }
     ::comphelper::decrement(m_refCount);
 
-    m_aTabActivationIdle.SetPriority( IdlePriority::LOWEST );
+    m_aTabActivationIdle.SetPriority( SchedulerPriority::LOWEST );
     m_aTabActivationIdle.SetIdleHdl( LINK( this, FormController, OnActivateTabOrder ) );
 
     m_aFeatureInvalidationTimer.SetTimeout( 200 );
diff --git a/svx/source/inc/eventhandler.hxx b/svx/source/inc/eventhandler.hxx
index b2dc54f..1398f49 100644
--- a/svx/source/inc/eventhandler.hxx
+++ b/svx/source/inc/eventhandler.hxx
@@ -96,7 +96,7 @@ namespace sdr
         class TimerEventHandler : public EventHandler, public Idle
         {
         public:
-            TimerEventHandler(IdlePriority ePriority = IdlePriority::HIGH);
+            TimerEventHandler(SchedulerPriority ePriority = SchedulerPriority::HIGH);
 
             virtual ~TimerEventHandler();
 
diff --git a/svx/source/sdr/contact/objectcontactofpageview.cxx b/svx/source/sdr/contact/objectcontactofpageview.cxx
index d605aae..813dc8e 100644
--- a/svx/source/sdr/contact/objectcontactofpageview.cxx
+++ b/svx/source/sdr/contact/objectcontactofpageview.cxx
@@ -59,7 +59,7 @@ namespace sdr
             setPreviewRenderer(((SdrPaintView&)rPageWindow.GetPageView().GetView()).IsPreviewRenderer());
 
             // init timer
-            SetPriority(IdlePriority::HIGH);
+            SetPriority(SchedulerPriority::HIGH);
             Stop();
         }
 
diff --git a/svx/source/sdr/contact/viewobjectcontactofpageobj.cxx b/svx/source/sdr/contact/viewobjectcontactofpageobj.cxx
index 7ef9286..cd5e13b 100644
--- a/svx/source/sdr/contact/viewobjectcontactofpageobj.cxx
+++ b/svx/source/sdr/contact/viewobjectcontactofpageobj.cxx
@@ -84,7 +84,7 @@ PagePrimitiveExtractor::PagePrimitiveExtractor(
     setPreviewRenderer(true);
 
     // init timer
-    SetPriority(IdlePriority::HIGH);
+    SetPriority(SchedulerPriority::HIGH);
     Stop();
 }
 
diff --git a/svx/source/sdr/event/eventhandler.cxx b/svx/source/sdr/event/eventhandler.cxx
index 14156c42..40865d5 100644
--- a/svx/source/sdr/event/eventhandler.cxx
+++ b/svx/source/sdr/event/eventhandler.cxx
@@ -121,7 +121,7 @@ namespace sdr
 {
     namespace event
     {
-        TimerEventHandler::TimerEventHandler(IdlePriority ePriority)
+        TimerEventHandler::TimerEventHandler(SchedulerPriority ePriority)
         {
             SetPriority(ePriority);
             Stop();
diff --git a/svx/source/sdr/overlay/overlaymanagerbuffered.cxx b/svx/source/sdr/overlay/overlaymanagerbuffered.cxx
index 8992b4d..077b99d 100644
--- a/svx/source/sdr/overlay/overlaymanagerbuffered.cxx
+++ b/svx/source/sdr/overlay/overlaymanagerbuffered.cxx
@@ -429,7 +429,7 @@ namespace sdr
             mbRefreshWithPreRendering(bRefreshWithPreRendering)
         {
             // Init timer
-            maBufferIdle.SetPriority( IdlePriority::HIGH );
+            maBufferIdle.SetPriority( SchedulerPriority::HIGH );
             maBufferIdle.SetIdleHdl(LINK(this, OverlayManagerBuffered, ImpBufferTimerHandler));
         }
 
diff --git a/svx/source/sidebar/PanelLayout.cxx b/svx/source/sidebar/PanelLayout.cxx
index fbedae0..21fcc2d 100644
--- a/svx/source/sidebar/PanelLayout.cxx
+++ b/svx/source/sidebar/PanelLayout.cxx
@@ -20,7 +20,7 @@ PanelLayout::PanelLayout(vcl::Window* pParent, const OString& rID, const OUStrin
 {
     SetStyle(GetStyle() | WB_DIALOGCONTROL);
     m_pUIBuilder = new VclBuilder(this, getUIRootDir(), rUIXMLDescription, rID, rFrame);
-    m_aPanelLayoutIdle.SetPriority(IdlePriority::RESIZE);
+    m_aPanelLayoutIdle.SetPriority(SchedulerPriority::RESIZE);
     m_aPanelLayoutIdle.SetIdleHdl( LINK( this, PanelLayout, ImplHandlePanelLayoutTimerHdl ) );
 }
 
diff --git a/svx/source/stbctrls/modctrl.cxx b/svx/source/stbctrls/modctrl.cxx
index c2c511b..7015629 100644
--- a/svx/source/stbctrls/modctrl.cxx
+++ b/svx/source/stbctrls/modctrl.cxx
@@ -58,7 +58,7 @@ struct SvxModifyControl::ImplData
         maImages[MODIFICATION_STATE_YES]      = Image(SVX_RES(RID_SVXBMP_DOC_MODIFIED_YES));
         maImages[MODIFICATION_STATE_FEEDBACK] = Image(SVX_RES(RID_SVXBMP_DOC_MODIFIED_FEEDBACK));
 
-        maIdle.SetPriority(IdlePriority::LOWEST);
+        maIdle.SetPriority(SchedulerPriority::LOWEST);
     }
 };
 
diff --git a/svx/source/svdraw/svdibrow.cxx b/svx/source/svdraw/svdibrow.cxx
index 06761c4..4a141bf 100644
--- a/svx/source/svdraw/svdibrow.cxx
+++ b/svx/source/svdraw/svdibrow.cxx
@@ -1107,7 +1107,7 @@ void SdrItemBrowser::SetDirty()
 {
     if (!bDirty) {
         bDirty = true;
-        aIdle.SetPriority(IdlePriority::HIGH);
+        aIdle.SetPriority(SchedulerPriority::HIGH);
         aIdle.Start();
     }
 }
diff --git a/svx/source/svdraw/svdpntv.cxx b/svx/source/svdraw/svdpntv.cxx
index 78c404f..982327c 100644
--- a/svx/source/svdraw/svdpntv.cxx
+++ b/svx/source/svdraw/svdpntv.cxx
@@ -191,7 +191,7 @@ void SdrPaintView::ImpClearVars()
     pDefaultStyleSheet=NULL;
     bSomeObjChgdFlag=false;
     nGraphicManagerDrawMode = GRFMGR_DRAW_STANDARD;
-    aComeBackIdle.SetPriority(IdlePriority::REPAINT);
+    aComeBackIdle.SetPriority(SchedulerPriority::REPAINT);
     aComeBackIdle.SetIdleHdl(LINK(this,SdrPaintView,ImpComeBackHdl));
 
     if (pMod)
diff --git a/svx/source/tbxctrls/grafctrl.cxx b/svx/source/tbxctrls/grafctrl.cxx
index c7af574..a670e09 100644
--- a/svx/source/tbxctrls/grafctrl.cxx
+++ b/svx/source/tbxctrls/grafctrl.cxx
@@ -139,7 +139,7 @@ ImplGrafMetricField::ImplGrafMetricField( vcl::Window* pParent, const OUString&
         SetSpinSize( 1 );
     }
 
-    maIdle.SetPriority( IdlePriority::LOW );
+    maIdle.SetPriority( SchedulerPriority::LOW );
     maIdle.SetIdleHdl( LINK( this, ImplGrafMetricField, ImplModifyHdl ) );
 }
 
diff --git a/sw/source/core/doc/docnew.cxx b/sw/source/core/doc/docnew.cxx
index dfc4e8b..44abe33 100644
--- a/sw/source/core/doc/docnew.cxx
+++ b/sw/source/core/doc/docnew.cxx
@@ -339,7 +339,7 @@ SwDoc::SwDoc()
     new SwTxtNode( SwNodeIndex( GetNodes().GetEndOfContent() ),
                     getIDocumentStylePoolAccess().GetTxtCollFromPool( RES_POOLCOLL_STANDARD ));
 
-    maOLEModifiedIdle.SetPriority( IdlePriority::LOWEST );
+    maOLEModifiedIdle.SetPriority( SchedulerPriority::LOWEST );
     maOLEModifiedIdle.SetIdleHdl( LINK( this, SwDoc, DoUpdateModifiedOLE ));
 
 #if HAVE_FEATURE_DBCONNECTIVITY
diff --git a/sw/source/core/docnode/threadmanager.cxx b/sw/source/core/docnode/threadmanager.cxx
index 299120f..8003e9b 100644
--- a/sw/source/core/docnode/threadmanager.cxx
+++ b/sw/source/core/docnode/threadmanager.cxx
@@ -46,7 +46,7 @@ void ThreadManager::Init()
 {
     mpThreadListener.reset( new ThreadListener( *this ) );
 
-    maStartNewThreadIdle.SetPriority( IdlePriority::LOWEST );
+    maStartNewThreadIdle.SetPriority( SchedulerPriority::LOWEST );
     maStartNewThreadIdle.SetIdleHdl( LINK( this, ThreadManager, TryToStartNewThread ) );
 }
 
diff --git a/sw/source/ui/dbui/mmoutputtypepage.cxx b/sw/source/ui/dbui/mmoutputtypepage.cxx
index 5cd178e1..4666202 100644
--- a/sw/source/ui/dbui/mmoutputtypepage.cxx
+++ b/sw/source/ui/dbui/mmoutputtypepage.cxx
@@ -93,7 +93,7 @@ struct SwSendMailDialog_Impl

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list