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
80b53edb
Kaydet (Commit)
80b53edb
authored
Nis 23, 2013
tarafından
Andre Fischer
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
122086: Show icons in decks and titles (optionally).
üst
306b1c56
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
127 additions
and
2 deletions
+127
-2
Sidebar.xcs
...ecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs
+28
-0
Deck.hxx
sfx2/source/sidebar/Deck.hxx
+2
-0
DeckDescriptor.hxx
sfx2/source/sidebar/DeckDescriptor.hxx
+2
-0
PanelDescriptor.hxx
sfx2/source/sidebar/PanelDescriptor.hxx
+2
-0
ResourceManager.cxx
sfx2/source/sidebar/ResourceManager.cxx
+8
-0
SidebarController.cxx
sfx2/source/sidebar/SidebarController.cxx
+46
-0
SidebarController.hxx
sfx2/source/sidebar/SidebarController.hxx
+6
-0
TitleBar.cxx
sfx2/source/sidebar/TitleBar.cxx
+31
-2
TitleBar.hxx
sfx2/source/sidebar/TitleBar.hxx
+2
-0
No files found.
officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs
Dosyayı görüntüle @
80b53edb
...
...
@@ -58,6 +58,20 @@
</info>
<value></value>
</prop>
<prop
oor:name=
"TitleBarIconURL"
oor:type=
"xs:string"
>
<info>
<desc>
This icon is displayed in the title bar of the deck.
Any URL scheme supported by the com.sun.star.graphic.GraphicProvider service is suitable here.
</desc>
</info>
<value></value>
</prop>
<prop
oor:name=
"HighContrastTitleBarIconURL"
oor:type=
"xs:string"
>
<info>
<desc>
This icon is displayed in the title bar of the deck when high contrast mode is active.
Any URL scheme supported by the com.sun.star.graphic.GraphicProvider service is suitable here.
</desc>
</info>
<value></value>
</prop>
<prop
oor:name=
"HelpURL"
oor:type=
"xs:string"
>
<info>
<desc>
Help about the sidebar deck.
</desc>
...
...
@@ -147,6 +161,20 @@
</info>
<value></value>
</prop>
<prop
oor:name=
"TitleBarIconURL"
oor:type=
"xs:string"
>
<info>
<desc>
This icon is displayed in the title bar of the panel.
Any URL scheme supported by the com.sun.star.graphic.GraphicProvider service is suitable here.
</desc>
</info>
<value></value>
</prop>
<prop
oor:name=
"HighContrastTitleBarIconURL"
oor:type=
"xs:string"
>
<info>
<desc>
This icon is displayed in the title bar of the panel when high contrast mode is active.
Any URL scheme supported by the com.sun.star.graphic.GraphicProvider service is suitable here.
</desc>
</info>
<value></value>
</prop>
<prop
oor:name=
"HelpURL"
oor:type=
"xs:string"
>
<info>
<desc>
Help about the sidebar content panel.
</desc>
...
...
sfx2/source/sidebar/Deck.hxx
Dosyayı görüntüle @
80b53edb
...
...
@@ -97,6 +97,8 @@ private:
::
boost
::
scoped_ptr
<
ScrollBar
>
mpVerticalScrollBar
;
DECL_LINK
(
HandleVerticalScrollBarChange
,
void
*
);
};
...
...
sfx2/source/sidebar/DeckDescriptor.hxx
Dosyayı görüntüle @
80b53edb
...
...
@@ -36,6 +36,8 @@ public:
::
rtl
::
OUString
msId
;
::
rtl
::
OUString
msIconURL
;
::
rtl
::
OUString
msHighContrastIconURL
;
::
rtl
::
OUString
msTitleBarIconURL
;
::
rtl
::
OUString
msHighContrastTitleBarIconURL
;
::
rtl
::
OUString
msHelpURL
;
::
rtl
::
OUString
msHelpText
;
ContextList
maContextList
;
...
...
sfx2/source/sidebar/PanelDescriptor.hxx
Dosyayı görüntüle @
80b53edb
...
...
@@ -36,6 +36,8 @@ public:
sal_Bool
mbIsTitleBarOptional
;
::
rtl
::
OUString
msId
;
::
rtl
::
OUString
msDeckId
;
::
rtl
::
OUString
msTitleBarIconURL
;
::
rtl
::
OUString
msHighContrastTitleBarIconURL
;
::
rtl
::
OUString
msHelpURL
;
ContextList
maContextList
;
::
rtl
::
OUString
msImplementationURL
;
...
...
sfx2/source/sidebar/ResourceManager.cxx
Dosyayı görüntüle @
80b53edb
...
...
@@ -279,6 +279,10 @@ void ResourceManager::ReadDeckList (void)
aDeckNode
.
getNodeValue
(
"IconURL"
));
rDeckDescriptor
.
msHighContrastIconURL
=
::
comphelper
::
getString
(
aDeckNode
.
getNodeValue
(
"HighContrastIconURL"
));
rDeckDescriptor
.
msTitleBarIconURL
=
::
comphelper
::
getString
(
aDeckNode
.
getNodeValue
(
"TitleBarIconURL"
));
rDeckDescriptor
.
msHighContrastTitleBarIconURL
=
::
comphelper
::
getString
(
aDeckNode
.
getNodeValue
(
"HighContrastTitleBarIconURL"
));
rDeckDescriptor
.
msHelpURL
=
::
comphelper
::
getString
(
aDeckNode
.
getNodeValue
(
"HelpURL"
));
rDeckDescriptor
.
msHelpText
=
rDeckDescriptor
.
msTitle
;
...
...
@@ -331,6 +335,10 @@ void ResourceManager::ReadPanelList (void)
aPanelNode
.
getNodeValue
(
"Id"
));
rPanelDescriptor
.
msDeckId
=
::
comphelper
::
getString
(
aPanelNode
.
getNodeValue
(
"DeckId"
));
rPanelDescriptor
.
msTitleBarIconURL
=
::
comphelper
::
getString
(
aPanelNode
.
getNodeValue
(
"TitleBarIconURL"
));
rPanelDescriptor
.
msHighContrastTitleBarIconURL
=
::
comphelper
::
getString
(
aPanelNode
.
getNodeValue
(
"HighContrastTitleBarIconURL"
));
rPanelDescriptor
.
msHelpURL
=
::
comphelper
::
getString
(
aPanelNode
.
getNodeValue
(
"HelpURL"
));
rPanelDescriptor
.
msImplementationURL
=
::
comphelper
::
getString
(
...
...
sfx2/source/sidebar/SidebarController.cxx
Dosyayı görüntüle @
80b53edb
...
...
@@ -495,6 +495,7 @@ void SidebarController::SwitchToDeck (
// buttons.
maFocusManager
.
SetPanels
(
aNewPanels
);
mpTabBar
->
UpdateFocusManager
(
maFocusManager
);
UpdateTitleBarIcons
();
}
...
...
@@ -650,6 +651,7 @@ IMPL_LINK(SidebarController, WindowEventHandler, VclWindowEvent*, pEvent)
// Force an update of deck and tab bar to reflect
// changes in theme (high contrast mode).
Theme
::
HandleDataChange
();
UpdateTitleBarIcons
();
mpParentWindow
->
Invalidate
();
break
;
...
...
@@ -939,4 +941,48 @@ void SidebarController::RestrictWidth (void)
}
void
SidebarController
::
UpdateTitleBarIcons
(
void
)
{
if
(
!
mpCurrentDeck
)
return
;
const
bool
bIsHighContrastModeActive
(
Theme
::
IsHighContrastMode
());
const
ResourceManager
&
rResourceManager
(
ResourceManager
::
Instance
());
// Update the deck icon.
const
DeckDescriptor
*
pDeckDescriptor
=
rResourceManager
.
GetDeckDescriptor
(
mpCurrentDeck
->
GetId
());
if
(
pDeckDescriptor
!=
NULL
&&
mpCurrentDeck
->
GetTitleBar
())
{
const
OUString
sIconURL
(
bIsHighContrastModeActive
?
pDeckDescriptor
->
msHighContrastTitleBarIconURL
:
pDeckDescriptor
->
msTitleBarIconURL
);
mpCurrentDeck
->
GetTitleBar
()
->
SetIcon
(
Tools
::
GetImage
(
sIconURL
,
mxFrame
));
}
// Update the panel icons.
const
SharedPanelContainer
&
rPanels
(
mpCurrentDeck
->
GetPanels
());
for
(
SharedPanelContainer
::
const_iterator
iPanel
(
rPanels
.
begin
()),
iEnd
(
rPanels
.
end
());
iPanel
!=
iEnd
;
++
iPanel
)
{
if
(
!
*
iPanel
)
continue
;
if
((
*
iPanel
)
->
GetTitleBar
()
==
NULL
)
continue
;
const
PanelDescriptor
*
pPanelDescriptor
=
rResourceManager
.
GetPanelDescriptor
((
*
iPanel
)
->
GetId
());
if
(
pPanelDescriptor
==
NULL
)
continue
;
const
OUString
sIconURL
(
bIsHighContrastModeActive
?
pPanelDescriptor
->
msHighContrastTitleBarIconURL
:
pPanelDescriptor
->
msTitleBarIconURL
);
(
*
iPanel
)
->
GetTitleBar
()
->
SetIcon
(
Tools
::
GetImage
(
sIconURL
,
mxFrame
));
}
}
}
}
// end of namespace sfx2::sidebar
sfx2/source/sidebar/SidebarController.hxx
Dosyayı görüntüle @
80b53edb
...
...
@@ -165,6 +165,12 @@ private:
void
RestrictWidth
(
void
);
/** Update the icons displayed in the title bars of the deck and
the panels. This is called once when a deck is created and
every time when a data change event is processed.
*/
void
UpdateTitleBarIcons
(
void
);
virtual
void
SAL_CALL
disposing
(
void
);
};
...
...
sfx2/source/sidebar/TitleBar.cxx
Dosyayı görüntüle @
80b53edb
...
...
@@ -30,6 +30,11 @@
ToolbarValue
::~
ToolbarValue
(
void
)
{}
namespace
{
const
static
sal_Int32
gnLeftIconSpace
(
3
);
const
static
sal_Int32
gnRightIconSpace
(
3
);
}
namespace
sfx2
{
namespace
sidebar
{
...
...
@@ -39,7 +44,8 @@ TitleBar::TitleBar (
const
sidebar
::
Paint
&
rInitialBackgroundPaint
)
:
Window
(
pParentWindow
),
maToolBox
(
this
),
msTitle
(
rsTitle
)
msTitle
(
rsTitle
),
maIcon
()
{
SetBackground
(
rInitialBackgroundPaint
.
GetWallpaper
());
...
...
@@ -65,6 +71,15 @@ void TitleBar::SetTitle (const ::rtl::OUString& rsTitle)
void
TitleBar
::
SetIcon
(
const
Image
&
rIcon
)
{
maIcon
=
rIcon
;
Invalidate
();
}
void
TitleBar
::
Paint
(
const
Rectangle
&
rUpdateArea
)
{
(
void
)
rUpdateArea
;
...
...
@@ -137,6 +152,20 @@ void TitleBar::PaintTitle (const Rectangle& rTitleBox)
{
Push
(
PUSH_FONT
|
PUSH_TEXTCOLOR
);
Rectangle
aTitleBox
(
rTitleBox
);
// When there is an icon then paint it at the left of the given
// box.
if
(
!!
maIcon
)
{
DrawImage
(
Point
(
aTitleBox
.
Left
()
+
gnLeftIconSpace
,
aTitleBox
.
Top
()
+
(
aTitleBox
.
GetHeight
()
-
maIcon
.
GetSizePixel
().
Height
())
/
2
),
maIcon
);
aTitleBox
.
Left
()
+=
gnLeftIconSpace
+
maIcon
.
GetSizePixel
().
Width
()
+
gnRightIconSpace
;
}
Font
aFont
(
GetFont
());
aFont
.
SetWeight
(
WEIGHT_BOLD
);
SetFont
(
aFont
);
...
...
@@ -144,7 +173,7 @@ void TitleBar::PaintTitle (const Rectangle& rTitleBox)
// Paint title bar text.
SetTextColor
(
GetTextColor
());
DrawText
(
r
TitleBox
,
a
TitleBox
,
msTitle
,
TEXT_DRAW_LEFT
|
TEXT_DRAW_VCENTER
);
...
...
sfx2/source/sidebar/TitleBar.hxx
Dosyayı görüntüle @
80b53edb
...
...
@@ -41,6 +41,7 @@ public:
virtual
~
TitleBar
(
void
);
void
SetTitle
(
const
::
rtl
::
OUString
&
rsTitle
);
void
SetIcon
(
const
Image
&
rIcon
);
virtual
void
Paint
(
const
Rectangle
&
rUpdateArea
);
virtual
void
DataChanged
(
const
DataChangedEvent
&
rEvent
);
...
...
@@ -65,6 +66,7 @@ protected:
private
:
::
rtl
::
OUString
msTitle
;
Image
maIcon
;
void
PaintTitle
(
const
Rectangle
&
rTitleBox
);
DECL_LINK
(
SelectionHandler
,
ToolBox
*
);
...
...
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