Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
29a45a09
Kaydet (Commit)
29a45a09
authored
13 years ago
tarafından
Cédric Bosdonnat
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
n#676858: added new menu entry for headers/footers edit mode
üst
523ff044
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
142 additions
and
19 deletions
+142
-19
cmdid.h
sw/inc/cmdid.h
+1
-0
crsrsh.hxx
sw/inc/crsrsh.hxx
+3
-0
viewsh.hxx
sw/inc/viewsh.hxx
+1
-1
_textsh.sdi
sw/sdi/_textsh.sdi
+6
-0
swriter.sdi
sw/sdi/swriter.sdi
+27
-0
crsrsh.cxx
sw/source/core/crsr/crsrsh.cxx
+47
-2
paintfrm.cxx
sw/source/core/layout/paintfrm.cxx
+13
-8
wsfrm.cxx
sw/source/core/layout/wsfrm.cxx
+13
-7
textsh1.cxx
sw/source/ui/shells/textsh1.cxx
+26
-1
menubar.xml
sw/uiconfig/sglobal/menubar/menubar.xml
+1
-0
menubar.xml
sw/uiconfig/swform/menubar/menubar.xml
+1
-0
menubar.xml
sw/uiconfig/swreport/menubar/menubar.xml
+1
-0
menubar.xml
sw/uiconfig/swriter/menubar/menubar.xml
+1
-0
menubar.xml
sw/uiconfig/swxform/menubar/menubar.xml
+1
-0
No files found.
sw/inc/cmdid.h
Dosyayı görüntüle @
29a45a09
...
...
@@ -215,6 +215,7 @@ included in c-context files, so c++ style stuff will cause problems.
#define FN_SELECT_INDEX (FN_EDIT + 85)
/**/
#define FN_UP (FN_EDIT + 86)
/**/
#define FN_EDIT_HEADER_FOOTER (FN_EDIT + 95)
/* Toggle headers/footers edition*/
#define FN_SELECT_PARA (FN_EDIT + 97)
/* select paragraph*/
#define FN_SELECT_CONTENT (FN_EDIT + 99)
/* Navigator - Content Type */
...
...
This diff is collapsed.
Click to expand it.
sw/inc/crsrsh.hxx
Dosyayı görüntüle @
29a45a09
...
...
@@ -190,6 +190,7 @@ private:
SwShellCrsr
*
pCurCrsr
;
// current cursor
SwShellCrsr
*
pCrsrStk
;
// stack for the cursor
SwVisCrsr
*
pVisCrsr
;
// the visible cursor
SwShellCrsr
*
pCrsrBack
;
// Backup cursor for header/footer edit mode
IBlockCursor
*
pBlockCrsr
;
// interface of cursor for block (=rectangular) selection
...
...
@@ -850,6 +851,8 @@ public:
String
GetCrsrDescr
()
const
;
SwRect
GetRectOfCurrentChar
();
virtual
void
ToggleHeaderFooterEdit
(
);
};
// Cursor Inlines:
...
...
This diff is collapsed.
Click to expand it.
sw/inc/viewsh.hxx
Dosyayı görüntüle @
29a45a09
...
...
@@ -564,7 +564,7 @@ public:
const
SwPostItMgr
*
GetPostItMgr
()
const
{
return
(
const_cast
<
ViewShell
*>
(
this
))
->
GetPostItMgr
();
}
SwPostItMgr
*
GetPostItMgr
();
void
ToggleHeaderFooterEdit
(
);
v
irtual
v
oid
ToggleHeaderFooterEdit
(
);
sal_Bool
IsHeaderFooterEdit
(
)
const
{
return
bHeaderFooterEdit
;
}
};
...
...
This diff is collapsed.
Click to expand it.
sw/sdi/_textsh.sdi
Dosyayı görüntüle @
29a45a09
...
...
@@ -373,6 +373,12 @@ interface BaseText
StateMethod = GetState;
DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
]
FN_EDIT_HEADER_FOOTER
[
ExecMethod = Execute ;
StateMethod = GetState;
DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
]
FN_TABLE_UNSET_READ_ONLY // status(final|play)
[
ExecMethod = Execute ;
...
...
This diff is collapsed.
Click to expand it.
sw/sdi/swriter.sdi
Dosyayı görüntüle @
29a45a09
...
...
@@ -10417,3 +10417,30 @@ SfxVoidItem NavigateForward FN_NAVIGATION_FORWARD
ToolBoxConfig = TRUE,
GroupId = GID_NAVIGATION;
]
//--------------------------------------------------------------------------
SfxVoidItem EditHeaderFooter FN_EDIT_HEADER_FOOTER
[
/* flags: */
AutoUpdate = FALSE,
Cachable = Cachable,
FastCall = FALSE,
HasCoreId = FALSE,
HasDialog = FALSE,
ReadOnlyDoc = FALSE,
Toggle = TRUE,
Container = FALSE,
RecordAbsolute = FALSE,
RecordPerSet;
Asynchron;
Readonly = FALSE,
/* config: */
AccelConfig = TRUE,
MenuConfig = TRUE,
StatusBarConfig = FALSE,
ToolBoxConfig = TRUE,
GroupId = GID_EDIT;
]
This diff is collapsed.
Click to expand it.
sw/source/core/crsr/crsrsh.cxx
Dosyayı görüntüle @
29a45a09
...
...
@@ -2540,7 +2540,7 @@ void SwCrsrShell::ParkCrsr( const SwNodeIndex &rIdx )
SwCrsrShell
::
SwCrsrShell
(
SwCrsrShell
&
rShell
,
Window
*
pInitWin
)
:
ViewShell
(
rShell
,
pInitWin
),
SwModify
(
0
),
pCrsrStk
(
0
),
pBlockCrsr
(
0
),
pTblCrsr
(
0
),
SwModify
(
0
),
pCrsrStk
(
0
),
p
CrsrBack
(
0
),
p
BlockCrsr
(
0
),
pTblCrsr
(
0
),
pBoxIdx
(
0
),
pBoxPtr
(
0
),
nCrsrMove
(
0
),
nBasicActionCnt
(
0
),
eMvState
(
MV_NONE
),
sMarkedListId
(),
...
...
@@ -2568,7 +2568,7 @@ SwCrsrShell::SwCrsrShell( SwCrsrShell& rShell, Window *pInitWin )
SwCrsrShell
::
SwCrsrShell
(
SwDoc
&
rDoc
,
Window
*
pInitWin
,
const
SwViewOption
*
pInitOpt
)
:
ViewShell
(
rDoc
,
pInitWin
,
pInitOpt
),
SwModify
(
0
),
pCrsrStk
(
0
),
pBlockCrsr
(
0
),
pTblCrsr
(
0
),
SwModify
(
0
),
pCrsrStk
(
0
),
p
CrsrBack
(
0
),
p
BlockCrsr
(
0
),
pTblCrsr
(
0
),
pBoxIdx
(
0
),
pBoxPtr
(
0
),
nCrsrMove
(
0
),
nBasicActionCnt
(
0
),
eMvState
(
MV_NONE
),
// state for crsr-travelling - GetCrsrOfst
sMarkedListId
(),
...
...
@@ -2630,6 +2630,9 @@ SwCrsrShell::~SwCrsrShell()
delete
pCrsrStk
;
}
if
(
pCrsrBack
)
delete
pCrsrBack
;
// JP 27.07.98: Bug 54025 - ggfs. den HTML-Parser, der als Client in
// der CursorShell haengt keine Chance geben, sich an den
// TextNode zu haengen.
...
...
@@ -3441,4 +3444,46 @@ void SwCrsrShell::GetSmartTagTerm( const Point& rPt, SwRect& rSelectRect,
}
}
void
SwCrsrShell
::
ToggleHeaderFooterEdit
(
)
{
ViewShell
::
ToggleHeaderFooterEdit
();
SET_CURR_SHELL
(
this
);
if
(
IsHeaderFooterEdit
()
)
{
pCrsrBack
=
new
SwShellCrsr
(
*
this
,
*
pCurCrsr
->
GetPoint
(),
pCurCrsr
->
GetPtPos
()
);
if
(
pCurCrsr
->
HasMark
()
)
{
pCrsrBack
->
SetMark
();
*
pCrsrBack
->
GetMark
()
=
*
pCurCrsr
->
GetMark
();
}
SetCrsrInHdFt
();
}
else
{
SwPosition
&
rPos
=
*
pCurCrsr
->
GetPoint
();
rPos
.
nNode
=
pCrsrBack
->
GetPoint
()
->
nNode
;
rPos
.
nContent
=
pCrsrBack
->
GetPoint
()
->
nContent
;
if
(
pCrsrBack
->
HasMark
(
)
)
{
pCurCrsr
->
SetMark
();
rPos
=
*
pCurCrsr
->
GetMark
();
rPos
.
nNode
=
pCrsrBack
->
GetMark
()
->
nNode
;
rPos
.
nContent
=
pCrsrBack
->
GetMark
()
->
nContent
;
}
delete
pCrsrBack
;
pCrsrBack
=
NULL
;
UpdateCrsr
(
SwCrsrShell
::
SCROLLWIN
|
SwCrsrShell
::
CHKRANGE
|
SwCrsrShell
::
READONLY
);
}
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
This diff is collapsed.
Click to expand it.
sw/source/core/layout/paintfrm.cxx
Dosyayı görüntüle @
29a45a09
...
...
@@ -2963,17 +2963,22 @@ SwRootFrm::Paint(SwRect const& rRect, SwPrintData const*const pPrintData) const
if
(
pSh
->
Imp
()
->
HasDrawView
()
)
{
// Loop over the drawing object to mark them as in or outside a group
SdrObjList
*
pObjs
=
pSh
->
Imp
()
->
GetPageView
()
->
GetObjList
();
for
(
sal_uInt32
i
=
0
;
pObjs
&&
i
<
pObjs
->
GetObjCount
();
i
++
)
if
(
!
pGlobalShell
->
GetViewOptions
()
->
IsPDFExport
()
&&
!
pGlobalShell
->
GetViewOptions
()
->
IsPrinting
()
&&
!
pGlobalShell
->
IsPreView
()
)
{
SdrObject
*
pDrawObj
=
pObjs
->
GetObj
(
i
);
const
SwContact
*
pContact
=
::
GetUserCall
(
pDrawObj
);
const
SwAnchoredObject
*
pObj
=
pContact
->
GetAnchoredObj
(
pDrawObj
);
SdrObjList
*
pObjs
=
pSh
->
Imp
()
->
GetPageView
()
->
GetObjList
();
for
(
sal_uInt32
i
=
0
;
pObjs
&&
i
<
pObjs
->
GetObjCount
();
i
++
)
{
SdrObject
*
pDrawObj
=
pObjs
->
GetObj
(
i
);
const
SwContact
*
pContact
=
::
GetUserCall
(
pDrawObj
);
const
SwAnchoredObject
*
pObj
=
pContact
->
GetAnchoredObj
(
pDrawObj
);
bool
bInHeaderFooter
=
pObj
->
GetAnchorFrm
()
->
FindFooterOrHeader
()
!=
NULL
;
bool
bHeaderFooterEdit
=
pSh
->
IsHeaderFooterEdit
();
bool
bInHeaderFooter
=
pObj
->
GetAnchorFrm
()
->
FindFooterOrHeader
()
!=
NULL
;
bool
bHeaderFooterEdit
=
pSh
->
IsHeaderFooterEdit
();
pDrawObj
->
SetGhosted
(
bHeaderFooterEdit
^
bInHeaderFooter
);
pDrawObj
->
SetGhosted
(
bHeaderFooterEdit
^
bInHeaderFooter
);
}
}
pLines
->
LockLines
(
sal_True
);
...
...
This diff is collapsed.
Click to expand it.
sw/source/core/layout/wsfrm.cxx
Dosyayı görüntüle @
29a45a09
...
...
@@ -75,6 +75,7 @@
#include <editeng/frmdiritem.hxx>
// OD 2004-05-24 #i28701#
#include <sortedobjs.hxx>
#include <viewopt.hxx>
using
namespace
::
com
::
sun
::
star
;
...
...
@@ -132,14 +133,19 @@ void SwFrm::RegisterToFormat( SwFmt& rFmt )
sal_uInt64
SwFrm
::
SetHeaderFooterEditMask
(
OutputDevice
*
pOut
)
const
{
ViewShell
*
pShell
=
getRootFrm
()
->
GetCurrShell
();
bool
bInHdrFtr
=
FindFooterOrHeader
(
)
!=
NULL
;
bool
bEditHdrFtr
=
pShell
->
IsHeaderFooterEdit
();
sal_uInt64
nOldDrawMode
=
pOut
->
GetDrawMode
();
if
(
(
bInHdrFtr
&&
!
bEditHdrFtr
)
||
(
!
bInHdrFtr
&&
bEditHdrFtr
)
)
pOut
->
SetDrawMode
(
DRAWMODE_GHOSTEDLINE
|
DRAWMODE_GHOSTEDFILL
|
DRAWMODE_GHOSTEDTEXT
|
DRAWMODE_GHOSTEDBITMAP
|
DRAWMODE_GHOSTEDGRADIENT
);
ViewShell
*
pShell
=
getRootFrm
()
->
GetCurrShell
();
if
(
!
pShell
->
IsPreView
()
&&
!
pShell
->
GetViewOptions
()
->
IsPDFExport
()
&&
!
pShell
->
GetViewOptions
()
->
IsPrinting
()
)
{
bool
bInHdrFtr
=
FindFooterOrHeader
(
)
!=
NULL
;
bool
bEditHdrFtr
=
pShell
->
IsHeaderFooterEdit
();
if
(
(
bInHdrFtr
&&
!
bEditHdrFtr
)
||
(
!
bInHdrFtr
&&
bEditHdrFtr
)
)
pOut
->
SetDrawMode
(
DRAWMODE_GHOSTEDLINE
|
DRAWMODE_GHOSTEDFILL
|
DRAWMODE_GHOSTEDTEXT
|
DRAWMODE_GHOSTEDBITMAP
|
DRAWMODE_GHOSTEDGRADIENT
);
}
return
nOldDrawMode
;
}
...
...
This diff is collapsed.
Click to expand it.
sw/source/ui/shells/textsh1.cxx
Dosyayı görüntüle @
29a45a09
...
...
@@ -819,6 +819,9 @@ void SwTextShell::Execute(SfxRequest &rReq)
}
}
break
;
case
FN_EDIT_HEADER_FOOTER
:
rWrtSh
.
ToggleHeaderFooterEdit
();
break
;
case
SID_ATTR_BRUSH_CHAR
:
case
SID_ATTR_CHAR_SCALEWIDTH
:
case
SID_ATTR_CHAR_ROTATED
:
...
...
@@ -1565,6 +1568,24 @@ void SwTextShell::GetState( SfxItemSet &rSet )
}
}
break
;
case
FN_EDIT_HEADER_FOOTER
:
{
SfxBoolItem
aBool
(
nWhich
,
rSh
.
IsHeaderFooterEdit
()
);
rSet
.
Put
(
aBool
);
bool
bHasHeaderFooter
=
false
;
for
(
sal_uInt16
i
=
0
;
!
bHasHeaderFooter
&&
i
<
rSh
.
GetPageDescCnt
();
i
++
)
{
const
SwPageDesc
&
rPageDesc
=
rSh
.
GetPageDesc
(
i
);
bHasHeaderFooter
=
rPageDesc
.
GetMaster
().
GetHeader
().
IsActive
()
||
rPageDesc
.
GetMaster
().
GetFooter
().
IsActive
()
||
rPageDesc
.
GetLeft
().
GetHeader
().
IsActive
()
||
rPageDesc
.
GetLeft
().
GetFooter
().
IsActive
();
}
if
(
!
bHasHeaderFooter
)
rSet
.
DisableItem
(
nWhich
);
}
break
;
case
SID_TRANSLITERATE_HALFWIDTH
:
case
SID_TRANSLITERATE_FULLWIDTH
:
case
SID_TRANSLITERATE_HIRAGANA
:
...
...
@@ -1698,7 +1719,7 @@ void SwTextShell::ChangeHeaderOrFooter(
{
if
(
(
bShowWarning
&&
!
bOn
&&
GetActiveView
()
&&
GetActiveView
()
==
&
GetView
()
&&
(
bHeader
&&
aDesc
.
GetMaster
().
GetHeader
().
IsActive
()))
||
(
!
bHeader
&&
aDesc
.
GetMaster
().
GetFooter
().
IsActive
()))
(
!
bHeader
&&
aDesc
.
GetMaster
().
GetFooter
().
IsActive
())
)
{
bShowWarning
=
sal_False
;
//Actions have to be closed while the dialog is showing
...
...
@@ -1732,9 +1753,13 @@ void SwTextShell::ChangeHeaderOrFooter(
rSh
.
ChgPageDesc
(
nFrom
,
aDesc
);
if
(
!
bCrsrSet
&&
bOn
)
{
if
(
!
rSh
.
IsHeaderFooterEdit
()
)
rSh
.
ToggleHeaderFooterEdit
();
bCrsrSet
=
rSh
.
SetCrsrInHdFt
(
!
rStyleName
.
Len
()
?
USHRT_MAX
:
nFrom
,
bHeader
);
}
}
}
}
...
...
This diff is collapsed.
Click to expand it.
sw/uiconfig/sglobal/menubar/menubar.xml
Dosyayı görüntüle @
29a45a09
...
...
@@ -90,6 +90,7 @@
<menu:menuitem
menu:id=
".uno:EditGlossary"
/>
<menu:menuseparator/>
<menu:menuitem
menu:id=
".uno:ChangeDatabaseField"
/>
<menu:menuitem
menu:id=
".uno:EditHeaderFooter"
/>
<menu:menuitem
menu:id=
".uno:FieldDialog"
/>
<menu:menuitem
menu:id=
".uno:EditFootnote"
/>
<menu:menuitem
menu:id=
".uno:IndexEntryDialog"
/>
...
...
This diff is collapsed.
Click to expand it.
sw/uiconfig/swform/menubar/menubar.xml
Dosyayı görüntüle @
29a45a09
...
...
@@ -90,6 +90,7 @@
<menu:menuitem
menu:id=
".uno:EditGlossary"
/>
<menu:menuseparator/>
<menu:menuitem
menu:id=
".uno:ChangeDatabaseField"
/>
<menu:menuitem
menu:id=
".uno:EditHeaderFooter"
/>
<menu:menuitem
menu:id=
".uno:FieldDialog"
/>
<menu:menuitem
menu:id=
".uno:EditFootnote"
/>
<menu:menuitem
menu:id=
".uno:IndexEntryDialog"
/>
...
...
This diff is collapsed.
Click to expand it.
sw/uiconfig/swreport/menubar/menubar.xml
Dosyayı görüntüle @
29a45a09
...
...
@@ -90,6 +90,7 @@
<menu:menuitem
menu:id=
".uno:EditGlossary"
/>
<menu:menuseparator/>
<menu:menuitem
menu:id=
".uno:ChangeDatabaseField"
/>
<menu:menuitem
menu:id=
".uno:EditHeaderFooter"
/>
<menu:menuitem
menu:id=
".uno:FieldDialog"
/>
<menu:menuitem
menu:id=
".uno:EditFootnote"
/>
<menu:menuitem
menu:id=
".uno:IndexEntryDialog"
/>
...
...
This diff is collapsed.
Click to expand it.
sw/uiconfig/swriter/menubar/menubar.xml
Dosyayı görüntüle @
29a45a09
...
...
@@ -93,6 +93,7 @@
<menu:menuitem
menu:id=
".uno:EditGlossary"
/>
<menu:menuseparator/>
<menu:menuitem
menu:id=
".uno:ChangeDatabaseField"
/>
<menu:menuitem
menu:id=
".uno:EditHeaderFooter"
/>
<menu:menuitem
menu:id=
".uno:FieldDialog"
/>
<menu:menuitem
menu:id=
".uno:EditFootnote"
/>
<menu:menuitem
menu:id=
".uno:IndexEntryDialog"
/>
...
...
This diff is collapsed.
Click to expand it.
sw/uiconfig/swxform/menubar/menubar.xml
Dosyayı görüntüle @
29a45a09
...
...
@@ -91,6 +91,7 @@
<menu:menuitem
menu:id=
".uno:EditGlossary"
/>
<menu:menuseparator/>
<menu:menuitem
menu:id=
".uno:ChangeDatabaseField"
/>
<menu:menuitem
menu:id=
".uno:EditHeaderFooter"
/>
<menu:menuitem
menu:id=
".uno:FieldDialog"
/>
<menu:menuitem
menu:id=
".uno:EditFootnote"
/>
<menu:menuitem
menu:id=
".uno:IndexEntryDialog"
/>
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment