aw078: resync to DEV300m68for integration
This commit is contained in:
@@ -161,11 +161,12 @@ void QueueProcessor::ProcessRequests (void)
|
||||
{
|
||||
OSL_ASSERT(mpCacheContext.get()!=NULL);
|
||||
|
||||
while ( ! mrQueue.IsEmpty() && ! mbIsPaused)
|
||||
// Never process more than one request at a time in order to prevent the
|
||||
// lock up of the edit view.
|
||||
if ( ! mrQueue.IsEmpty()
|
||||
&& ! mbIsPaused
|
||||
&& mpCacheContext->IsIdle())
|
||||
{
|
||||
if ( ! mpCacheContext->IsIdle())
|
||||
break;
|
||||
|
||||
CacheKey aKey = NULL;
|
||||
RequestPriorityClass ePriorityClass (NOT_VISIBLE);
|
||||
{
|
||||
@@ -182,25 +183,12 @@ void QueueProcessor::ProcessRequests (void)
|
||||
|
||||
if (aKey != NULL)
|
||||
ProcessOneRequest(aKey, ePriorityClass);
|
||||
|
||||
// Requests of lower priority are processed one at a time.
|
||||
{
|
||||
::osl::MutexGuard aGuard (mrQueue.GetMutex());
|
||||
if ( ! mrQueue.IsEmpty())
|
||||
if (mrQueue.GetFrontPriorityClass() > 0)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Schedule the processing of the next element(s).
|
||||
{
|
||||
::osl::MutexGuard aGuard (mrQueue.GetMutex());
|
||||
if ( ! mrQueue.IsEmpty())
|
||||
/*
|
||||
if (bIsShowingFullScreenShow)
|
||||
Start(mnTimeBetweenRequestsWhenNotIdle);
|
||||
else
|
||||
*/
|
||||
Start(mrQueue.GetFrontPriorityClass());
|
||||
}
|
||||
}
|
||||
|
@@ -604,7 +604,7 @@ IMPL_LINK(SlideSorterController, WindowEventHandler, VclWindowEvent*, pEvent)
|
||||
|
||||
case VCLEVENT_WINDOW_GETFOCUS:
|
||||
if (pActiveWindow != NULL && pWindow == pActiveWindow)
|
||||
GetFocusManager().ShowFocus();
|
||||
GetFocusManager().ShowFocus(false);
|
||||
break;
|
||||
|
||||
case VCLEVENT_WINDOW_LOSEFOCUS:
|
||||
|
@@ -133,17 +133,17 @@ void FocusManager::MoveFocus (FocusMoveDirection eDirection)
|
||||
}
|
||||
|
||||
if (mbPageIsFocused)
|
||||
ShowFocusIndicator(GetFocusedPageDescriptor());
|
||||
ShowFocusIndicator(GetFocusedPageDescriptor(), true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void FocusManager::ShowFocus (void)
|
||||
void FocusManager::ShowFocus (const bool bScrollToFocus)
|
||||
{
|
||||
mbPageIsFocused = true;
|
||||
ShowFocusIndicator(GetFocusedPageDescriptor());
|
||||
ShowFocusIndicator(GetFocusedPageDescriptor(), bScrollToFocus);
|
||||
}
|
||||
|
||||
|
||||
@@ -254,20 +254,25 @@ void FocusManager::HideFocusIndicator (const model::SharedPageDescriptor& rpDesc
|
||||
|
||||
|
||||
|
||||
void FocusManager::ShowFocusIndicator (const model::SharedPageDescriptor& rpDescriptor)
|
||||
void FocusManager::ShowFocusIndicator (
|
||||
const model::SharedPageDescriptor& rpDescriptor,
|
||||
const bool bScrollToFocus)
|
||||
{
|
||||
if (rpDescriptor.get() != NULL)
|
||||
{
|
||||
rpDescriptor->SetFocus ();
|
||||
|
||||
// Scroll the focused page object into the visible area and repaint
|
||||
// it, so that the focus indicator becomes visible.
|
||||
view::SlideSorterView& rView (mrSlideSorter.GetView());
|
||||
mrSlideSorter.GetController().GetSelectionManager()->MakeRectangleVisible (
|
||||
rView.GetPageBoundingBox (
|
||||
GetFocusedPageDescriptor(),
|
||||
view::SlideSorterView::CS_MODEL,
|
||||
view::SlideSorterView::BBT_INFO));
|
||||
if (bScrollToFocus)
|
||||
{
|
||||
// Scroll the focused page object into the visible area and repaint
|
||||
// it, so that the focus indicator becomes visible.
|
||||
view::SlideSorterView& rView (mrSlideSorter.GetView());
|
||||
mrSlideSorter.GetController().GetSelectionManager()->MakeRectangleVisible (
|
||||
rView.GetPageBoundingBox (
|
||||
GetFocusedPageDescriptor(),
|
||||
view::SlideSorterView::CS_MODEL,
|
||||
view::SlideSorterView::BBT_INFO));
|
||||
}
|
||||
|
||||
mrSlideSorter.GetView().RequestRepaint (rpDescriptor);
|
||||
NotifyFocusChangeListeners();
|
||||
|
@@ -43,7 +43,7 @@
|
||||
#include <com/sun/star/frame/XFrameActionListener.hpp>
|
||||
#include <cppuhelper/compbase4.hxx>
|
||||
|
||||
#include <svtools/lstner.hxx>
|
||||
#include <svl/lstner.hxx>
|
||||
#include <tools/link.hxx>
|
||||
#include <boost/shared_ptr.hpp>
|
||||
|
||||
|
@@ -88,10 +88,10 @@
|
||||
#include <svx/svxdlg.hxx>
|
||||
#include <svx/dialogs.hrc>
|
||||
#include <vcl/msgbox.hxx>
|
||||
#include <svtools/intitem.hxx>
|
||||
#include <svtools/whiter.hxx>
|
||||
#include <svtools/itempool.hxx>
|
||||
#include <svtools/aeitem.hxx>
|
||||
#include <svl/intitem.hxx>
|
||||
#include <svl/whiter.hxx>
|
||||
#include <svl/itempool.hxx>
|
||||
#include <svl/aeitem.hxx>
|
||||
#include <com/sun/star/presentation/FadeEffect.hpp>
|
||||
#include <com/sun/star/drawing/XMasterPagesSupplier.hpp>
|
||||
#include <com/sun/star/drawing/XDrawPages.hpp>
|
||||
@@ -905,7 +905,7 @@ void SlotManager::RenameSlide (void)
|
||||
DBG_ASSERT(pFact, "Dialogdiet fail!");
|
||||
AbstractSvxNameDialog* aNameDlg = pFact->CreateSvxNameDialog(
|
||||
mrSlideSorter.GetActiveWindow(),
|
||||
aPageName, aDescr, RID_SVXDLG_NAME);
|
||||
aPageName, aDescr);
|
||||
DBG_ASSERT(aNameDlg, "Dialogdiet fail!");
|
||||
aNameDlg->SetText( aTitle );
|
||||
aNameDlg->SetCheckNameHdl( LINK( this, SlotManager, RenameSlideHdl ), true );
|
||||
@@ -1085,6 +1085,14 @@ void SlotManager::InsertSlide (SfxRequest& rRequest)
|
||||
rSelector.SelectPage (nInsertionIndex);
|
||||
}
|
||||
|
||||
// Is there a stored insertion position?
|
||||
else if (mrSlideSorter.GetController().GetSelectionManager()->GetInsertionPosition() >= 0)
|
||||
{
|
||||
nInsertionIndex
|
||||
= mrSlideSorter.GetController().GetSelectionManager()->GetInsertionPosition() - 1;
|
||||
rSelector.SelectPage(nInsertionIndex);
|
||||
}
|
||||
|
||||
// Select the last page when there is at least one page.
|
||||
else if (rSelector.GetPageCount() > 0)
|
||||
{
|
||||
|
@@ -87,8 +87,11 @@ public:
|
||||
void MoveFocus (FocusMoveDirection eDirection);
|
||||
|
||||
/** Show the focus indicator of the current slide.
|
||||
@param bScrollToFocus
|
||||
When <TRUE/> (the default) then the view is scrolled so that the
|
||||
focus rectangle lies inside its visible area.
|
||||
*/
|
||||
void ShowFocus (void);
|
||||
void ShowFocus (const bool bScrollToFocus = true);
|
||||
|
||||
/** Hide the focus indicator.
|
||||
*/
|
||||
@@ -215,8 +218,13 @@ private:
|
||||
made visible.
|
||||
@param pDescriptor
|
||||
When NULL is given then the call is ignored.
|
||||
@param bScrollToFocus
|
||||
When <TRUE/> (the default) then the view is scrolled so that the
|
||||
focus rectangle lies inside its visible area.
|
||||
*/
|
||||
void ShowFocusIndicator (const model::SharedPageDescriptor& rpDescriptor);
|
||||
void ShowFocusIndicator (
|
||||
const model::SharedPageDescriptor& rpDescriptor,
|
||||
const bool bScrollToFocus);
|
||||
|
||||
/** Call all currently registered listeners that a focus change has
|
||||
happended. The focus may be hidden or shown or moved from one page
|
||||
|
@@ -60,7 +60,7 @@
|
||||
#include "sdresid.hxx"
|
||||
#include "glob.hrc"
|
||||
|
||||
#include <svtools/itempool.hxx>
|
||||
#include <svl/itempool.hxx>
|
||||
#include <svx/svdpagv.hxx>
|
||||
#include <svx/svdopage.hxx>
|
||||
#include <svx/xlndsit.hxx>
|
||||
@@ -72,10 +72,10 @@
|
||||
#include <algorithm>
|
||||
#include <svx/sdr/contact/objectcontact.hxx>
|
||||
#include <svx/sdrpagewindow.hxx>
|
||||
#include <svtools/itempool.hxx>
|
||||
#include <svl/itempool.hxx>
|
||||
|
||||
#ifndef _SFXITEMPOOL_HXX
|
||||
#include <svtools/itempool.hxx>
|
||||
#include <svl/itempool.hxx>
|
||||
#endif
|
||||
|
||||
using namespace std;
|
||||
|
Reference in New Issue
Block a user