Kaydet (Commit) d84e78aa authored tarafından Thomas Arnhold's avatar Thomas Arnhold

Translate German comments

Change-Id: I79cc861fadb908605c6d2ed638e3d06ca5a57869
üst 960f1c2c
...@@ -19,7 +19,6 @@ ...@@ -19,7 +19,6 @@
#include <sfx2/app.hxx> #include <sfx2/app.hxx>
#include "ClientView.hxx" #include "ClientView.hxx"
#include "drawview.hxx" #include "drawview.hxx"
#include "sdpage.hxx" #include "sdpage.hxx"
...@@ -30,12 +29,9 @@ namespace sd { ...@@ -30,12 +29,9 @@ namespace sd {
class DrawViewShell; class DrawViewShell;
/**
/************************************************************************* * ClientView is used for DrawDocShell::Draw()
|* */
|* Ctor: Die ClientView wird fuer DrawDocShell::Draw() verwendet
|*
\************************************************************************/
ClientView::ClientView( ClientView::ClientView(
DrawDocShell* pDocSh, DrawDocShell* pDocSh,
...@@ -46,22 +42,14 @@ ClientView::ClientView( ...@@ -46,22 +42,14 @@ ClientView::ClientView(
} }
/*************************************************************************
|*
|* Dtor
|*
\************************************************************************/
ClientView::~ClientView() ClientView::~ClientView()
{ {
} }
/************************************************************************* /**
|* * If View should not Invalidate() the windows, this method has
|* Wenn die View kein Invalidate() an den Fenstern durchfuehren soll, muss * to be overloaded and properly handled.
|* man diese Methode ueberladen und entsprechend anders reagieren. */
|*
\************************************************************************/
void ClientView::InvalidateOneWin(::Window& rWin) void ClientView::InvalidateOneWin(::Window& rWin)
{ {
...@@ -69,12 +57,10 @@ void ClientView::InvalidateOneWin(::Window& rWin) ...@@ -69,12 +57,10 @@ void ClientView::InvalidateOneWin(::Window& rWin)
CompleteRedraw(&rWin, aRegion); CompleteRedraw(&rWin, aRegion);
} }
/************************************************************************* /**
|* * If View should not Invalidate() the windows, this method has
|* Wenn die View kein Invalidate() an den Fenstern durchfuehren soll, muss * to be overloaded and properly handled.
|* man diese Methode ueberladen und entsprechend anders reagieren. */
|*
\************************************************************************/
void ClientView::InvalidateOneWin(::Window& rWin, const Rectangle& rRect) void ClientView::InvalidateOneWin(::Window& rWin, const Rectangle& rRect)
{ {
......
...@@ -77,13 +77,10 @@ namespace sd { ...@@ -77,13 +77,10 @@ namespace sd {
TYPEINIT1(DrawView, View); TYPEINIT1(DrawView, View);
/************************************************************************* /**
|* * Shows the first page of document at position 0,0. In the case
|* Konstruktor * that there is no page a page is created.
|* zeigt die erste Seite des Dokuments auf Position 0,0 an; */
|* falls noch keine Seite vorhanden ist, wird eine erzeugt
|*
\************************************************************************/
DrawView::DrawView( DrawDocShell* pDocSh, OutputDevice* pOutDev, DrawViewShell* pShell) DrawView::DrawView( DrawDocShell* pDocSh, OutputDevice* pOutDev, DrawViewShell* pShell)
: ::sd::View(*pDocSh->GetDoc(), pOutDev, pShell) : ::sd::View(*pDocSh->GetDoc(), pOutDev, pShell)
...@@ -95,22 +92,14 @@ DrawView::DrawView( DrawDocShell* pDocSh, OutputDevice* pOutDev, DrawViewShell* ...@@ -95,22 +92,14 @@ DrawView::DrawView( DrawDocShell* pDocSh, OutputDevice* pOutDev, DrawViewShell*
SetCurrentObj(OBJ_RECT, SdrInventor); SetCurrentObj(OBJ_RECT, SdrInventor);
} }
/*************************************************************************
|*
|* Destruktor
|*
\************************************************************************/
DrawView::~DrawView() DrawView::~DrawView()
{ {
delete mpVDev; delete mpVDev;
} }
/************************************************************************* /**
|* * Virtual method from SdrView, called at selection change.
|* virtuelle Methode von SdrView, wird bei Selektionsaenderung gerufen */
|*
\************************************************************************/
void DrawView::MarkListHasChanged() void DrawView::MarkListHasChanged()
{ {
...@@ -120,17 +109,15 @@ void DrawView::MarkListHasChanged() ...@@ -120,17 +109,15 @@ void DrawView::MarkListHasChanged()
mpDrawViewShell->SelectionHasChanged(); mpDrawViewShell->SelectionHasChanged();
} }
/************************************************************************* /**
|* * Virtual method from SdrView, called at model change.
|* virtuelle Methode von SdrView, wird bei Modelaenderung gerufen */
|*
\************************************************************************/
void DrawView::ModelHasChanged() void DrawView::ModelHasChanged()
{ {
::sd::View::ModelHasChanged(); ::sd::View::ModelHasChanged();
// den Gestalter zur Neudarstellung zwingen // force framer to rerender
SfxStyleSheetBasePool* pSSPool = mrDoc.GetStyleSheetPool(); SfxStyleSheetBasePool* pSSPool = mrDoc.GetStyleSheetPool();
pSSPool->Broadcast(SfxStyleSheetPoolHint(SFX_STYLESHEETPOOL_CHANGES)); pSSPool->Broadcast(SfxStyleSheetPoolHint(SFX_STYLESHEETPOOL_CHANGES));
...@@ -139,19 +126,17 @@ void DrawView::ModelHasChanged() ...@@ -139,19 +126,17 @@ void DrawView::ModelHasChanged()
} }
/************************************************************************* /**
|* * Redirect attributes onto title and outline text and background
|* Attribute auf Titel- und Gliederungtext und Hintergrundrechteck einer * rectangle of a masterpage into templates, otherwise pass on baseclass.
|* Masterpage in Vorlagen umlenken, sonst an Basisklasse weitergeben */
|*
\************************************************************************/
sal_Bool DrawView::SetAttributes(const SfxItemSet& rSet, sal_Bool DrawView::SetAttributes(const SfxItemSet& rSet,
sal_Bool bReplaceAll) sal_Bool bReplaceAll)
{ {
sal_Bool bOk = sal_False; sal_Bool bOk = sal_False;
// wird eine Masterpage bearbeitet? // is there a masterpage edit?
if ( mpDrawViewShell && mpDrawViewShell->GetEditMode() == EM_MASTERPAGE ) if ( mpDrawViewShell && mpDrawViewShell->GetEditMode() == EM_MASTERPAGE )
{ {
SfxStyleSheetBasePool* pStShPool = mrDoc.GetStyleSheetPool(); SfxStyleSheetBasePool* pStShPool = mrDoc.GetStyleSheetPool();
...@@ -176,7 +161,7 @@ sal_Bool DrawView::SetAttributes(const SfxItemSet& rSet, ...@@ -176,7 +161,7 @@ sal_Bool DrawView::SetAttributes(const SfxItemSet& rSet,
{ {
// Presentation object (except outline) // Presentation object (except outline)
SfxStyleSheet* pSheet = rPage.GetStyleSheetForPresObj( ePresObjKind ); SfxStyleSheet* pSheet = rPage.GetStyleSheetForPresObj( ePresObjKind );
DBG_ASSERT(pSheet, "StyleSheet nicht gefunden"); DBG_ASSERT(pSheet, "StyleSheet not found");
SfxItemSet aTempSet( pSheet->GetItemSet() ); SfxItemSet aTempSet( pSheet->GetItemSet() );
aTempSet.Put( rSet ); aTempSet.Put( rSet );
...@@ -201,7 +186,7 @@ sal_Bool DrawView::SetAttributes(const SfxItemSet& rSet, ...@@ -201,7 +186,7 @@ sal_Bool DrawView::SetAttributes(const SfxItemSet& rSet,
pOutliner->SetUpdateMode(sal_False); pOutliner->SetUpdateMode(sal_False);
mpDocSh->SetWaitCursor( sal_True ); mpDocSh->SetWaitCursor( sal_True );
// Platzhalter durch Vorlagennamen ersetzen // replace placeholder by template name
String aComment(SdResId(STR_UNDO_CHANGE_PRES_OBJECT)); String aComment(SdResId(STR_UNDO_CHANGE_PRES_OBJECT));
xub_StrLen nPos = aComment.Search( (sal_Unicode)'$' ); xub_StrLen nPos = aComment.Search( (sal_Unicode)'$' );
aComment.Erase(nPos, 1); aComment.Erase(nPos, 1);
...@@ -222,7 +207,7 @@ sal_Bool DrawView::SetAttributes(const SfxItemSet& rSet, ...@@ -222,7 +207,7 @@ sal_Bool DrawView::SetAttributes(const SfxItemSet& rSet,
aName += (sal_Unicode)(' '); aName += (sal_Unicode)(' ');
aName += String::CreateFromInt32( (nDepth <= 0) ? 1 : nDepth + 1 ); aName += String::CreateFromInt32( (nDepth <= 0) ? 1 : nDepth + 1 );
SfxStyleSheet* pSheet = (SfxStyleSheet*)pStShPool->Find(aName, SD_STYLE_FAMILY_MASTERPAGE); SfxStyleSheet* pSheet = (SfxStyleSheet*)pStShPool->Find(aName, SD_STYLE_FAMILY_MASTERPAGE);
DBG_ASSERT(pSheet, "StyleSheet nicht gefunden"); DBG_ASSERT(pSheet, "StyleSheet not found");
SfxItemSet aTempSet( pSheet->GetItemSet() ); SfxItemSet aTempSet( pSheet->GetItemSet() );
aTempSet.Put( rSet ); aTempSet.Put( rSet );
...@@ -321,7 +306,7 @@ sal_Bool DrawView::SetAttributes(const SfxItemSet& rSet, ...@@ -321,7 +306,7 @@ sal_Bool DrawView::SetAttributes(const SfxItemSet& rSet,
aName += String::CreateFromInt32( (sal_Int32)nLevel ); aName += String::CreateFromInt32( (sal_Int32)nLevel );
SfxStyleSheet* pSheet = (SfxStyleSheet*)pStShPool-> SfxStyleSheet* pSheet = (SfxStyleSheet*)pStShPool->
Find(aName, SD_STYLE_FAMILY_MASTERPAGE); Find(aName, SD_STYLE_FAMILY_MASTERPAGE);
DBG_ASSERT(pSheet, "StyleSheet nicht gefunden"); DBG_ASSERT(pSheet, "StyleSheet not found");
SfxItemSet aTempSet( pSheet->GetItemSet() ); SfxItemSet aTempSet( pSheet->GetItemSet() );
...@@ -374,7 +359,7 @@ sal_Bool DrawView::SetAttributes(const SfxItemSet& rSet, ...@@ -374,7 +359,7 @@ sal_Bool DrawView::SetAttributes(const SfxItemSet& rSet,
bOk = ::sd::View::SetAttributes(rSet, bReplaceAll); bOk = ::sd::View::SetAttributes(rSet, bReplaceAll);
} }
} }
else // nicht auf der Masterpage else // not at masterpage
{ {
bOk = ::sd::View::SetAttributes(rSet, bReplaceAll); bOk = ::sd::View::SetAttributes(rSet, bReplaceAll);
} }
...@@ -382,11 +367,9 @@ sal_Bool DrawView::SetAttributes(const SfxItemSet& rSet, ...@@ -382,11 +367,9 @@ sal_Bool DrawView::SetAttributes(const SfxItemSet& rSet,
return (bOk); return (bOk);
} }
/************************************************************************* /**
|* * Notify for change of site arragement
|* Notify fuer Aenderung der Seitenanordnung */
|*
\************************************************************************/
void DrawView::Notify(SfxBroadcaster& rBC, const SfxHint& rHint) void DrawView::Notify(SfxBroadcaster& rBC, const SfxHint& rHint)
{ {
...@@ -422,11 +405,9 @@ void DrawView::Notify(SfxBroadcaster& rBC, const SfxHint& rHint) ...@@ -422,11 +405,9 @@ void DrawView::Notify(SfxBroadcaster& rBC, const SfxHint& rHint)
::sd::View::Notify(rBC, rHint); ::sd::View::Notify(rBC, rHint);
} }
/************************************************************************* /**
|* * Lock/Unlock PageOrderChangedHint
|* PageOrderChangedHint blockieren/freigeben */
|*
\************************************************************************/
void DrawView::BlockPageOrderChangedHint(sal_Bool bBlock) void DrawView::BlockPageOrderChangedHint(sal_Bool bBlock)
{ {
...@@ -434,23 +415,21 @@ void DrawView::BlockPageOrderChangedHint(sal_Bool bBlock) ...@@ -434,23 +415,21 @@ void DrawView::BlockPageOrderChangedHint(sal_Bool bBlock)
mnPOCHSmph++; mnPOCHSmph++;
else else
{ {
DBG_ASSERT(mnPOCHSmph, "Zaehlerunterlauf"); DBG_ASSERT(mnPOCHSmph, "counter overflow");
mnPOCHSmph--; mnPOCHSmph--;
} }
} }
/************************************************************************* /**
|* * If presentation objects are selected, intercept stylesheet-positing at
|* StyleSheet-Setzen auf der Masterpage abfangen, wenn Praesentationsobjekte * masterpage.
|* selektiert sind */
|*
\************************************************************************/
sal_Bool DrawView::SetStyleSheet(SfxStyleSheet* pStyleSheet, sal_Bool bDontRemoveHardAttr) sal_Bool DrawView::SetStyleSheet(SfxStyleSheet* pStyleSheet, sal_Bool bDontRemoveHardAttr)
{ {
sal_Bool bResult = sal_True; sal_Bool bResult = sal_True;
// wird eine Masterpage bearbeitet? // is there a masterpage edit?
if (mpDrawViewShell && mpDrawViewShell->GetEditMode() == EM_MASTERPAGE) if (mpDrawViewShell && mpDrawViewShell->GetEditMode() == EM_MASTERPAGE)
{ {
if (IsPresObjSelected(sal_False, sal_True)) if (IsPresObjSelected(sal_False, sal_True))
...@@ -472,11 +451,9 @@ sal_Bool DrawView::SetStyleSheet(SfxStyleSheet* pStyleSheet, sal_Bool bDontRemov ...@@ -472,11 +451,9 @@ sal_Bool DrawView::SetStyleSheet(SfxStyleSheet* pStyleSheet, sal_Bool bDontRemov
return bResult; return bResult;
} }
/************************************************************************* /**
|* * Paint-method: Redirect event to the view
|* Paint-Methode: das Ereignis wird an die View weitergeleitet */
|*
\************************************************************************/
void DrawView::CompleteRedraw(OutputDevice* pOutDev, const Region& rReg, sdr::contact::ViewObjectContactRedirector* pRedirector /*=0L*/) void DrawView::CompleteRedraw(OutputDevice* pOutDev, const Region& rReg, sdr::contact::ViewObjectContactRedirector* pRedirector /*=0L*/)
{ {
...@@ -510,11 +487,9 @@ void DrawView::CompleteRedraw(OutputDevice* pOutDev, const Region& rReg, sdr::co ...@@ -510,11 +487,9 @@ void DrawView::CompleteRedraw(OutputDevice* pOutDev, const Region& rReg, sdr::co
} }
} }
/************************************************************************* /**
|* * Paint-Event during running slide show
|* Paint-Event during running slide show */
|*
\************************************************************************/
void DrawView::PresPaint(const Region& rRegion) void DrawView::PresPaint(const Region& rRegion)
{ {
...@@ -526,21 +501,19 @@ void DrawView::PresPaint(const Region& rRegion) ...@@ -526,21 +501,19 @@ void DrawView::PresPaint(const Region& rRegion)
} }
} }
/************************************************************************* /**
|* entscheidet, ob ein Objekt markiert werden kann (z. B. noch nicht * Decides if an object could get marked (eg. unreleased animation objects
|* erschienene Animationsobjekte in der Diashow) * in slide show).
\************************************************************************/ */
sal_Bool DrawView::IsObjMarkable(SdrObject* pObj, SdrPageView* pPV) const sal_Bool DrawView::IsObjMarkable(SdrObject* pObj, SdrPageView* pPV) const
{ {
return FmFormView::IsObjMarkable(pObj, pPV); return FmFormView::IsObjMarkable(pObj, pPV);
} }
/************************************************************************* /**
|* * Make passed region visible (scrolling if necessary)
|* Uebergebenen Bereich sichtbar machen (es wird ggf. gescrollt) */
|*
\************************************************************************/
void DrawView::MakeVisible(const Rectangle& rRect, ::Window& rWin) void DrawView::MakeVisible(const Rectangle& rRect, ::Window& rWin)
{ {
...@@ -549,11 +522,10 @@ void DrawView::MakeVisible(const Rectangle& rRect, ::Window& rWin) ...@@ -549,11 +522,10 @@ void DrawView::MakeVisible(const Rectangle& rRect, ::Window& rWin)
mpDrawViewShell->MakeVisible(rRect, rWin); mpDrawViewShell->MakeVisible(rRect, rWin);
} }
} }
/*************************************************************************
|* /**
|* Seite wird gehided * Hide page.
|* */
\************************************************************************/
void DrawView::HideSdrPage() void DrawView::HideSdrPage()
{ {
......
...@@ -17,11 +17,9 @@ ...@@ -17,11 +17,9 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 . * the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/ */
#include "BezierObjectBar.hxx" #include "BezierObjectBar.hxx"
#include <sfx2/app.hxx> #include <sfx2/app.hxx>
#include <sfx2/msg.hxx> #include <sfx2/msg.hxx>
#include <sfx2/viewfrm.hxx> #include <sfx2/viewfrm.hxx>
#include <sfx2/objface.hxx> #include <sfx2/objface.hxx>
...@@ -33,11 +31,8 @@ ...@@ -33,11 +31,8 @@
#include <svx/svdundo.hxx> #include <svx/svdundo.hxx>
#include <sfx2/dispatch.hxx> #include <sfx2/dispatch.hxx>
#include "sdresid.hxx" #include "sdresid.hxx"
#include "res_bmp.hrc" #include "res_bmp.hrc"
#include "glob.hrc" #include "glob.hrc"
#include "strings.hrc" #include "strings.hrc"
...@@ -57,13 +52,9 @@ using namespace sd; ...@@ -57,13 +52,9 @@ using namespace sd;
namespace sd { namespace sd {
/************************************************************************* /**
|* * Declare default interface (Slotmap must not be empty)
|* Standardinterface deklarieren (Die Slotmap darf nicht leer sein) */
|*
\************************************************************************/
SFX_IMPL_INTERFACE(BezierObjectBar, ::SfxShell, SdResId(STR_BEZIEROBJECTBARSHELL)) SFX_IMPL_INTERFACE(BezierObjectBar, ::SfxShell, SdResId(STR_BEZIEROBJECTBARSHELL))
{ {
...@@ -71,11 +62,6 @@ SFX_IMPL_INTERFACE(BezierObjectBar, ::SfxShell, SdResId(STR_BEZIEROBJECTBARSHELL ...@@ -71,11 +62,6 @@ SFX_IMPL_INTERFACE(BezierObjectBar, ::SfxShell, SdResId(STR_BEZIEROBJECTBARSHELL
TYPEINIT1(BezierObjectBar, ::SfxShell); TYPEINIT1(BezierObjectBar, ::SfxShell);
/*************************************************************************
|*
|* Standard-Konstruktor
|*
\************************************************************************/
BezierObjectBar::BezierObjectBar( BezierObjectBar::BezierObjectBar(
ViewShell* pSdViewShell, ViewShell* pSdViewShell,
...@@ -92,11 +78,6 @@ BezierObjectBar::BezierObjectBar( ...@@ -92,11 +78,6 @@ BezierObjectBar::BezierObjectBar(
SetHelpId( SD_IF_SDDRAWBEZIEROBJECTBAR ); SetHelpId( SD_IF_SDDRAWBEZIEROBJECTBAR );
} }
/*************************************************************************
|*
|* Destruktor
|*
\************************************************************************/
BezierObjectBar::~BezierObjectBar() BezierObjectBar::~BezierObjectBar()
{ {
...@@ -104,17 +85,15 @@ BezierObjectBar::~BezierObjectBar() ...@@ -104,17 +85,15 @@ BezierObjectBar::~BezierObjectBar()
} }
/************************************************************************* /**
|* * Status of attribute items.
|* Status der Attribut-Items */
|*
\************************************************************************/
void BezierObjectBar::GetAttrState(SfxItemSet& rSet) void BezierObjectBar::GetAttrState(SfxItemSet& rSet)
{ {
SfxItemSet aAttrSet( mpView->GetDoc().GetPool() ); SfxItemSet aAttrSet( mpView->GetDoc().GetPool() );
mpView->GetAttributes( aAttrSet ); mpView->GetAttributes( aAttrSet );
rSet.Put(aAttrSet, sal_False); // <- sal_False, damit DontCare-Status uebernommen wird rSet.Put(aAttrSet, sal_False); // <- sal_False, so DontCare-Status gets aquired
FunctionReference xFunc( mpViewSh->GetCurrentFunction() ); FunctionReference xFunc( mpViewSh->GetCurrentFunction() );
...@@ -221,12 +200,9 @@ void BezierObjectBar::GetAttrState(SfxItemSet& rSet) ...@@ -221,12 +200,9 @@ void BezierObjectBar::GetAttrState(SfxItemSet& rSet)
} }
} }
/**
/************************************************************************* * Process SfxRequests
|* */
|* Bearbeitung der SfxRequests
|*
\************************************************************************/
void BezierObjectBar::Execute(SfxRequest& rReq) void BezierObjectBar::Execute(SfxRequest& rReq)
{ {
......
...@@ -74,13 +74,10 @@ using namespace ::com::sun::star; ...@@ -74,13 +74,10 @@ using namespace ::com::sun::star;
namespace sd { namespace sd {
/************************************************************************* /**
|* * Declare default interface (Slotmap must not be empty, therefore enter
|* Standardinterface deklarieren (Die Slotmap darf nicht leer sein, also * something that (hopefully) never occurs.
|* tragen wir etwas ein, was hier (hoffentlich) nie vorkommt). */
|*
\************************************************************************/
SFX_IMPL_INTERFACE( TextObjectBar, SfxShell, SdResId(STR_TEXTOBJECTBARSHELL) ) SFX_IMPL_INTERFACE( TextObjectBar, SfxShell, SdResId(STR_TEXTOBJECTBARSHELL) )
{ {
...@@ -88,11 +85,6 @@ SFX_IMPL_INTERFACE( TextObjectBar, SfxShell, SdResId(STR_TEXTOBJECTBARSHELL) ) ...@@ -88,11 +85,6 @@ SFX_IMPL_INTERFACE( TextObjectBar, SfxShell, SdResId(STR_TEXTOBJECTBARSHELL) )
TYPEINIT1( TextObjectBar, SfxShell ); TYPEINIT1( TextObjectBar, SfxShell );
/*************************************************************************
|*
|* Standard-Konstruktor
|*
\************************************************************************/
TextObjectBar::TextObjectBar ( TextObjectBar::TextObjectBar (
ViewShell* pSdViewSh, ViewShell* pSdViewSh,
...@@ -129,22 +121,15 @@ TextObjectBar::TextObjectBar ( ...@@ -129,22 +121,15 @@ TextObjectBar::TextObjectBar (
// SetHelpId( SD_IF_SDDRAWTEXTOBJECTBAR ); // SetHelpId( SD_IF_SDDRAWTEXTOBJECTBAR );
} }
/*************************************************************************
|*
|* Destruktor
|*
\************************************************************************/
TextObjectBar::~TextObjectBar() TextObjectBar::~TextObjectBar()
{ {
SetRepeatTarget(NULL); SetRepeatTarget(NULL);
} }
/************************************************************************* /**
|* * Status of attribute items.
|* Status der Attribut-Items */
|*
\************************************************************************/
void TextObjectBar::GetAttrState( SfxItemSet& rSet ) void TextObjectBar::GetAttrState( SfxItemSet& rSet )
{ {
...@@ -242,7 +227,7 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet ) ...@@ -242,7 +227,7 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet )
if (pOLV && if (pOLV &&
( pOLV->GetOutliner()->GetMode() == OUTLINERMODE_OUTLINEOBJECT || bOutlineViewSh ) ) ( pOLV->GetOutliner()->GetMode() == OUTLINERMODE_OUTLINEOBJECT || bOutlineViewSh ) )
{ {
// Outliner im Gliederungsmodus // Outliner at outline-mode
::Outliner* pOutl = pOLV->GetOutliner(); ::Outliner* pOutl = pOLV->GetOutliner();
std::vector<Paragraph*> aSelList; std::vector<Paragraph*> aSelList;
...@@ -259,7 +244,7 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet ) ...@@ -259,7 +244,7 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet )
// is a title object (and thus depth==1) // is a title object (and thus depth==1)
if(pOutl->GetAbsPos(pPara) > 1 || ( pOutl->HasParaFlag(pPara,PARAFLAG_ISPAGE) && pOutl->GetAbsPos(pPara) > 0 ) ) if(pOutl->GetAbsPos(pPara) > 1 || ( pOutl->HasParaFlag(pPara,PARAFLAG_ISPAGE) && pOutl->GetAbsPos(pPara) > 0 ) )
{ {
// Nicht ganz oben // not at top
bDisableUp = sal_False; bDisableUp = sal_False;
} }
} }
...@@ -268,7 +253,7 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet ) ...@@ -268,7 +253,7 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet )
// old behaviour for OUTLINERMODE_OUTLINEOBJECT // old behaviour for OUTLINERMODE_OUTLINEOBJECT
if(pOutl->GetAbsPos(pPara) > 0) if(pOutl->GetAbsPos(pPara) > 0)
{ {
// Nicht ganz oben // not at top
bDisableUp = sal_False; bDisableUp = sal_False;
} }
} }
...@@ -281,14 +266,14 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet ) ...@@ -281,14 +266,14 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet )
if (nDepth > 0 || (bOutlineViewSh && (nDepth <= 0) && !pOutl->HasParaFlag( pPara, PARAFLAG_ISPAGE )) ) if (nDepth > 0 || (bOutlineViewSh && (nDepth <= 0) && !pOutl->HasParaFlag( pPara, PARAFLAG_ISPAGE )) )
{ {
// Nicht minimale Tiefe // not minimum depth
bDisableLeft = sal_False; bDisableLeft = sal_False;
} }
if( (nDepth < pOLV->GetOutliner()->GetMaxDepth() && ( !bOutlineViewSh || pOutl->GetAbsPos(pPara) != 0 )) || if( (nDepth < pOLV->GetOutliner()->GetMaxDepth() && ( !bOutlineViewSh || pOutl->GetAbsPos(pPara) != 0 )) ||
(bOutlineViewSh && (nDepth <= 0) && pOutl->HasParaFlag( pPara, PARAFLAG_ISPAGE ) && pOutl->GetAbsPos(pPara) != 0) ) (bOutlineViewSh && (nDepth <= 0) && pOutl->HasParaFlag( pPara, PARAFLAG_ISPAGE ) && pOutl->GetAbsPos(pPara) != 0) )
{ {
// Nicht maximale Tiefe und nicht ganz oben // not maximum depth and not at top
bDisableRight = sal_False; bDisableRight = sal_False;
} }
} }
...@@ -296,7 +281,7 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet ) ...@@ -296,7 +281,7 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet )
if ( ( pOutl->GetAbsPos(pPara) < pOutl->GetParagraphCount() - 1 ) && if ( ( pOutl->GetAbsPos(pPara) < pOutl->GetParagraphCount() - 1 ) &&
( pOutl->GetParagraphCount() > 1 || !bOutlineViewSh) ) ( pOutl->GetParagraphCount() > 1 || !bOutlineViewSh) )
{ {
// Nicht letzter Absatz // not last paragraph
bDisableDown = sal_False; bDisableDown = sal_False;
} }
...@@ -394,10 +379,10 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet ) ...@@ -394,10 +379,10 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet )
nWhich = aIter.NextWhich(); nWhich = aIter.NextWhich();
} }
rSet.Put( aAttrSet, sal_False ); // <- sal_False, damit DontCare-Status uebernommen wird rSet.Put( aAttrSet, sal_False ); // <- sal_False, so DontCare-Status gets aquired
// die sind im Gliederungsmodus disabled // these are disabled in outline-mode
if (!mpViewShell->ISA(DrawViewShell)) if (!mpViewShell->ISA(DrawViewShell))
{ {
rSet.DisableItem( SID_ATTR_PARA_ADJUST_LEFT ); rSet.DisableItem( SID_ATTR_PARA_ADJUST_LEFT );
...@@ -416,7 +401,7 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet ) ...@@ -416,7 +401,7 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet )
} }
else else
{ {
// Absatzabstand // paragraph spacing
OutlinerView* pOLV = mpView->GetTextEditOutlinerView(); OutlinerView* pOLV = mpView->GetTextEditOutlinerView();
if( pOLV ) if( pOLV )
{ {
...@@ -441,12 +426,12 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet ) ...@@ -441,12 +426,12 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet )
} }
else else
{ {
// Wird zur Zeit nie disabled ! // never disabled at the moment!
//rSet.DisableItem( SID_PARASPACE_INCREASE ); //rSet.DisableItem( SID_PARASPACE_INCREASE );
//rSet.DisableItem( SID_PARASPACE_DECREASE ); //rSet.DisableItem( SID_PARASPACE_DECREASE );
} }
// Absatzausrichtung // paragraph justification
SvxAdjust eAdj = ( (const SvxAdjustItem&) aAttrSet.Get( EE_PARA_JUST ) ).GetAdjust(); SvxAdjust eAdj = ( (const SvxAdjustItem&) aAttrSet.Get( EE_PARA_JUST ) ).GetAdjust();
switch( eAdj ) switch( eAdj )
{ {
...@@ -530,7 +515,7 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet ) ...@@ -530,7 +515,7 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet )
} }
} }
// Ausrichtung (hoch/tief) wird auch im Gliederungsmodus gebraucht // justification (superscript, subscript) is also needed in outline-mode
SvxEscapement eEsc = (SvxEscapement ) ( (const SvxEscapementItem&) SvxEscapement eEsc = (SvxEscapement ) ( (const SvxEscapementItem&)
aAttrSet.Get( EE_CHAR_ESCAPEMENT ) ).GetEnumValue(); aAttrSet.Get( EE_CHAR_ESCAPEMENT ) ).GetEnumValue();
...@@ -540,11 +525,9 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet ) ...@@ -540,11 +525,9 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet )
rSet.Put( SfxBoolItem( SID_SET_SUB_SCRIPT, sal_True ) ); rSet.Put( SfxBoolItem( SID_SET_SUB_SCRIPT, sal_True ) );
} }
/************************************************************************* /**
|* * Command event
|* Command event */
|*
\************************************************************************/
void TextObjectBar::Command( const CommandEvent& ) void TextObjectBar::Command( const CommandEvent& )
{ {
......
...@@ -17,10 +17,8 @@ ...@@ -17,10 +17,8 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 . * the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/ */
#include "TextObjectBar.hxx" #include "TextObjectBar.hxx"
#include <svx/svxids.hrc> #include <svx/svxids.hrc>
#include <editeng/editview.hxx> #include <editeng/editview.hxx>
...@@ -57,7 +55,6 @@ ...@@ -57,7 +55,6 @@
#include <editeng/frmdiritem.hxx> #include <editeng/frmdiritem.hxx>
#include <svl/itemiter.hxx> #include <svl/itemiter.hxx>
#include "app.hrc" #include "app.hrc"
#include "eetext.hxx" #include "eetext.hxx"
...@@ -73,11 +70,9 @@ ...@@ -73,11 +70,9 @@
namespace sd { namespace sd {
/************************************************************************* /**
|* * Process SfxRequests
|* Bearbeitung der SfxRequests */
|*
\************************************************************************/
void TextObjectBar::Execute( SfxRequest &rReq ) void TextObjectBar::Execute( SfxRequest &rReq )
{ {
...@@ -186,10 +181,10 @@ void TextObjectBar::Execute( SfxRequest &rReq ) ...@@ -186,10 +181,10 @@ void TextObjectBar::Execute( SfxRequest &rReq )
} }
else else
{ {
// Der folgende Code kann enabled werden, wenn ich von // the following code could be enabled, if I get a correct
// JOE einen richtigen Status (DontCare) bekomme; // DontCare status from JOE.
// Wird enabled, obwohl es nicht richtig funktioniert (s.o.) // gets enabled, through it doesn't really work (see above)
SfxItemSet aEditAttr( mpView->GetDoc().GetPool() ); SfxItemSet aEditAttr( mpView->GetDoc().GetPool() );
mpView->GetAttributes( aEditAttr ); mpView->GetAttributes( aEditAttr );
if( aEditAttr.GetItemState( EE_PARA_ULSPACE ) >= SFX_ITEM_AVAILABLE ) if( aEditAttr.GetItemState( EE_PARA_ULSPACE ) >= SFX_ITEM_AVAILABLE )
...@@ -227,8 +222,7 @@ void TextObjectBar::Execute( SfxRequest &rReq ) ...@@ -227,8 +222,7 @@ void TextObjectBar::Execute( SfxRequest &rReq )
rReq.Done(); rReq.Done();
Invalidate(); Invalidate();
// Um die Preview (im Gliederungsmodus) zu aktualisieren muss // to refresh preview (in outline mode), slot has to be invalidated:
// der Slot invalidiert werden:
mpViewShell->GetViewFrame()->GetBindings().Invalidate( SID_PREVIEW_STATE, sal_True, sal_False ); mpViewShell->GetViewFrame()->GetBindings().Invalidate( SID_PREVIEW_STATE, sal_True, sal_False );
} }
break; break;
...@@ -343,7 +337,7 @@ void TextObjectBar::Execute( SfxRequest &rReq ) ...@@ -343,7 +337,7 @@ void TextObjectBar::Execute( SfxRequest &rReq )
if( !pArgs ) if( !pArgs )
{ {
//aNewAttr.InvalidateAllItems(); <- Macht Probleme (#35465#) //aNewAttr.InvalidateAllItems(); <- produces problems (#35465#)
switch ( nSlot ) switch ( nSlot )
{ {
...@@ -472,7 +466,7 @@ void TextObjectBar::Execute( SfxRequest &rReq ) ...@@ -472,7 +466,7 @@ void TextObjectBar::Execute( SfxRequest &rReq )
} }
break; break;
// Attribute fuer die TextObjectBar // attributes for TextObjectBar
case SID_ATTR_CHAR_FONT: case SID_ATTR_CHAR_FONT:
{ {
if( pArgs ) if( pArgs )
...@@ -556,12 +550,11 @@ void TextObjectBar::Execute( SfxRequest &rReq ) ...@@ -556,12 +550,11 @@ void TextObjectBar::Execute( SfxRequest &rReq )
mpView->SetAttributes(*pArgs); mpView->SetAttributes(*pArgs);
// Aus Performance- und Erweiterungsgruenden wird // invalidate entire shell because of performance and
// jetzt die komplette Shell invalidiert // extension reasons
Invalidate(); Invalidate();
// Um die Preview (im Gliederungsmodus) zu aktualisieren muss // to refresh preview (in outline mode), slot has to be invalidated:
// der Slot invalidiert werden:
mpViewShell->GetViewFrame()->GetBindings().Invalidate( SID_PREVIEW_STATE, sal_True, sal_False ); mpViewShell->GetViewFrame()->GetBindings().Invalidate( SID_PREVIEW_STATE, sal_True, sal_False );
} }
break; break;
......
This diff is collapsed.
...@@ -112,15 +112,13 @@ public: ...@@ -112,15 +112,13 @@ public:
} }
}; };
/************************************************************************* /**
|* * SfxRequests for temporary actions
|* SfxRequests fuer temporaere Funktionen */
|*
\************************************************************************/
void DrawViewShell::FuTemporary(SfxRequest& rReq) void DrawViewShell::FuTemporary(SfxRequest& rReq)
{ {
// Waehrend einer Native-Diashow wird nichts ausgefuehrt! // during a native slide show nothing gets executed!
if(SlideShow::IsRunning( GetViewShellBase() ) && (rReq.GetSlot() != SID_NAVIGATOR)) if(SlideShow::IsRunning( GetViewShellBase() ) && (rReq.GetSlot() != SID_NAVIGATOR))
return; return;
...@@ -134,7 +132,7 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) ...@@ -134,7 +132,7 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
sal_uInt16 nSId = rReq.GetSlot(); sal_uInt16 nSId = rReq.GetSlot();
// Slot wird gemapped (ToolboxImages/-Slots) // Slot gets mapped (ToolboxImages/-Slots)
MapSlot( nSId ); MapSlot( nSId );
switch ( nSId ) switch ( nSId )
...@@ -164,9 +162,8 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) ...@@ -164,9 +162,8 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
} }
break; break;
// Flaechen und Linien-Attribute: // area and line attributes: shall have
// Sollten (wie StateMethode) eine eigene // an own Execute method (like StateMethode)
// Execute-Methode besitzen
case SID_ATTR_FILL_STYLE: case SID_ATTR_FILL_STYLE:
case SID_ATTR_FILL_COLOR: case SID_ATTR_FILL_COLOR:
case SID_ATTR_FILL_GRADIENT: case SID_ATTR_FILL_GRADIENT:
...@@ -187,7 +184,7 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) ...@@ -187,7 +184,7 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
sal_Bool bMergeUndo = sal_False; sal_Bool bMergeUndo = sal_False;
::svl::IUndoManager* pUndoManager = GetDocSh()->GetUndoManager(); ::svl::IUndoManager* pUndoManager = GetDocSh()->GetUndoManager();
// Anpassungen Start/EndWidth // adjustment Start/EndWidth
if(nSId == SID_ATTR_LINE_WIDTH) if(nSId == SID_ATTR_LINE_WIDTH)
{ {
SdrObject* pObj = NULL; SdrObject* pObj = NULL;
...@@ -238,7 +235,7 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) ...@@ -238,7 +235,7 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
if (nSId == SID_ATTR_FILL_SHADOW) if (nSId == SID_ATTR_FILL_SHADOW)
{ {
// Ggf. werden transparente Objekte wei?gefuellt // possibly transparent objects are filled white
SdrObject* pObj = NULL; SdrObject* pObj = NULL;
const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList(); const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList();
sal_uLong nCount = rMarkList.GetMarkCount(); sal_uLong nCount = rMarkList.GetMarkCount();
...@@ -262,8 +259,8 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) ...@@ -262,8 +259,8 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
{ {
if( bUndo ) if( bUndo )
{ {
// Vorlage hat keine Fuellung, // template has no filling, so force
// daher hart attributieren: Fuellung setzen // filling (hard) attribute
if (!bMergeUndo) if (!bMergeUndo)
{ {
bMergeUndo = sal_True; bMergeUndo = sal_True;
...@@ -327,7 +324,7 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) ...@@ -327,7 +324,7 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
case SID_HYPHENATION: case SID_HYPHENATION:
{ {
// const SfxPoolItem* pItem = rReq.GetArg( SID_HYPHENATION ); // const SfxPoolItem* pItem = rReq.GetArg( SID_HYPHENATION );
// ^-- Soll so nicht benutzt werden (Defaults sind falsch) ! // ^-- should not be used (defaults are wrong) !
SFX_REQUEST_ARG( rReq, pItem, SfxBoolItem, SID_HYPHENATION, sal_False); SFX_REQUEST_ARG( rReq, pItem, SfxBoolItem, SID_HYPHENATION, sal_False);
if( pItem ) if( pItem )
...@@ -337,9 +334,9 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) ...@@ -337,9 +334,9 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
aSet.Put( SfxBoolItem( EE_PARA_HYPHENATE, bValue ) ); aSet.Put( SfxBoolItem( EE_PARA_HYPHENATE, bValue ) );
mpDrawView->SetAttributes( aSet ); mpDrawView->SetAttributes( aSet );
} }
else // nur zum Test else // only for testing purpose
{ {
OSL_FAIL(" Kein Wert fuer Silbentrennung!"); OSL_FAIL(" no value for hyphenation!");
SfxItemSet aSet( GetPool(), EE_PARA_HYPHENATE, EE_PARA_HYPHENATE ); SfxItemSet aSet( GetPool(), EE_PARA_HYPHENATE, EE_PARA_HYPHENATE );
sal_Bool bValue = sal_True; sal_Bool bValue = sal_True;
aSet.Put( SfxBoolItem( EE_PARA_HYPHENATE, bValue ) ); aSet.Put( SfxBoolItem( EE_PARA_HYPHENATE, bValue ) );
...@@ -494,7 +491,7 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) ...@@ -494,7 +491,7 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
} }
break; break;
case SID_PAGESIZE : // entweder dieses (kein menueeintrag o. ae. !!) case SID_PAGESIZE : // either this (no menu entries or something else!)
{ {
const SfxItemSet *pArgs = rReq.GetArgs (); const SfxItemSet *pArgs = rReq.GetArgs ();
...@@ -518,7 +515,7 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) ...@@ -518,7 +515,7 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
break; break;
} }
case SID_PAGEMARGIN : // oder dieses (kein menueeintrag o. ae. !!) case SID_PAGEMARGIN : // or this (no menu entries or something else!)
{ {
const SfxItemSet *pArgs = rReq.GetArgs (); const SfxItemSet *pArgs = rReq.GetArgs ();
...@@ -570,7 +567,7 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) ...@@ -570,7 +567,7 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
rReq.Done (); rReq.Done ();
break; break;
} }
case SID_ZOOMING : // kein Menueintrag, sondern aus dem Zoomdialog generiert case SID_ZOOMING : // no menu entry, but generated from zoom dialog
{ {
const SfxItemSet* pArgs = rReq.GetArgs(); const SfxItemSet* pArgs = rReq.GetArgs();
...@@ -639,7 +636,7 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) ...@@ -639,7 +636,7 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
} }
else else
{ {
// hier den Zoom-Dialog oeffnen // open zoom dialog
SetCurrentFunction( FuScale::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) ); SetCurrentFunction( FuScale::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
} }
Cancel(); Cancel();
...@@ -685,7 +682,7 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) ...@@ -685,7 +682,7 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
Cancel(); Cancel();
if( HasCurrentFunction(SID_BEZIER_EDIT) ) if( HasCurrentFunction(SID_BEZIER_EDIT) )
{ // ggf. die richtige Editfunktion aktivieren { // where applicable, activate right edit action
GetViewFrame()->GetDispatcher()->Execute(SID_SWITCH_POINTEDIT, GetViewFrame()->GetDispatcher()->Execute(SID_SWITCH_POINTEDIT,
SFX_CALLMODE_ASYNCHRON | SFX_CALLMODE_RECORD); SFX_CALLMODE_ASYNCHRON | SFX_CALLMODE_RECORD);
} }
...@@ -843,10 +840,10 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) ...@@ -843,10 +840,10 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList(); const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList();
sal_uLong nCount = rMarkList.GetMarkCount(); sal_uLong nCount = rMarkList.GetMarkCount();
// In diese Liste werden fuer jedes Praesentationsobjekt ein SfxItemSet // For every presentation object a SfxItemSet of hard attributes
// der harten Attribute sowie der UserCall eingetragen, da diese beim nachfolgenden // and the UserCall is stored in this list. This is because
// mpDrawView->SetAttributes( *pSet, sal_True ) verloren gehen und spaeter restauriert // at the following mpDrawView->SetAttributes( *pSet, sal_True )
// werden muessen // they get lost and have to be restored.
std::vector<std::pair<SfxItemSet*,SdrObjUserCall*> > aAttrList; std::vector<std::pair<SfxItemSet*,SdrObjUserCall*> > aAttrList;
SdPage* pPresPage = (SdPage*) mpDrawView->GetSdrPageView()->GetPage(); SdPage* pPresPage = (SdPage*) mpDrawView->GetSdrPageView()->GetPage();
sal_uLong i; sal_uLong i;
...@@ -884,13 +881,13 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) ...@@ -884,13 +881,13 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
for (sal_uInt16 nLevel = 1; nLevel < 10; nLevel++) for (sal_uInt16 nLevel = 1; nLevel < 10; nLevel++)
{ {
pSheet = mpActualPage->GetStyleSheetForPresObj( PRESOBJ_OUTLINE ); pSheet = mpActualPage->GetStyleSheetForPresObj( PRESOBJ_OUTLINE );
DBG_ASSERT(pSheet, "Vorlage fuer Gliederungsobjekt nicht gefunden"); DBG_ASSERT(pSheet, "Template for outline object not found");
if (pSheet) if (pSheet)
{ {
pObj->StartListening(*pSheet); pObj->StartListening(*pSheet);
if( nLevel == 1 ) if( nLevel == 1 )
// Textrahmen hoert auf StyleSheet der Ebene1 // text frame listens on StyleSheet of level1
pObj->NbcSetStyleSheet(pSheet, sal_False); pObj->NbcSetStyleSheet(pSheet, sal_False);
} }
...@@ -1041,9 +1038,8 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) ...@@ -1041,9 +1038,8 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
default: default:
{ {
// switch Anweisung wegen CLOOKS aufgeteilt. Alle case-Anweisungen die // Switch statement splitted because of CLOOKS. All case-statements
// eine Fu???? -Funktion aufrufen, sind in die Methode FuTemp01 (drviews8) // which call a Fu???? - function, are gone into FuTemp01 (drviews8)
// gewandert.
FuTemp01(rReq); FuTemp01(rReq);
} }
break; break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment