10 #include <config_folders.h>
15 #include <officecfg/Office/Common.hxx>
16 #include <rtl/bootstrap.hxx>
33 :
SfxTabPage(pPage, pController,
"cui/ui/personalization_tab.ui",
"PersonalizationTabPage",
35 , m_xNoPersona(m_xBuilder->weld_radio_button(
"no_persona"))
36 , m_xDefaultPersona(m_xBuilder->weld_radio_button(
"default_persona"))
40 OString sDefaultId(
"default" + OString::number(
i));
55 return std::make_unique<SvxPersonalizationTabPage>(pPage, pController, *rSet);
61 OUString aPersona(
"default");
65 bool bModified =
false;
68 && (aPersona != officecfg::Office::Common::Misc::Persona::get(xContext)
70 != officecfg::Office::Common::Misc::PersonaSettings::get(xContext)))
76 std::shared_ptr<comphelper::ConfigurationChanges> batch(
80 officecfg::Office::Common::Misc::Persona::set(aPersona, batch);
88 AllSettingsFlags::STYLE);
100 OUString aPersona(
"default");
103 aPersona = officecfg::Office::Common::Misc::Persona::get(xContext);
107 if (aPersona ==
"no")
117 OUString
gallery =
"$BRAND_BASE_DIR/" LIBO_SHARE_FOLDER
"/gallery/personas/";
118 rtl::Bootstrap::expandMacros(gallery);
119 OUString aPersonasList = gallery +
"personas_list.txt";
124 bool foundOne =
false;
129 OUString aPersonaSetting, aPreviewFile,
aName;
130 sal_Int32 nParseIndex = 0;
133 aPersonaSetting = OStringToOUString(aLine, RTL_TEXTENCODING_UTF8);
134 aName = aPersonaSetting.getToken(1,
';', nParseIndex);
135 aPreviewFile = aPersonaSetting.getToken(0,
';', nParseIndex);
137 if (aPreviewFile.isEmpty())
147 aSize.setHeight(aSize.Height() / 1.5);
150 xVirDev->SetOutputSizePixel(aSize);
165 m_xDefaultPersona->set_active(
true);
168 if (&rButton == m_vDefaultPersonaImages[
nIndex].
get())
169 m_aPersonaSettings = m_vDefaultPersonaSettings[
nIndex];
171 m_vDefaultPersonaImages[
nIndex]->set_active(
false);
#define LINK(Instance, Class, Member)
std::unique_ptr< weld::RadioButton > m_xNoPersona
Just the default look, without any bitmap.
ErrCode ImportGraphic(Graphic &rGraphic, const INetURLObject &rPath, sal_uInt16 nFormat=GRFILTER_FORMAT_DONTKNOW, sal_uInt16 *pDeterminedFormat=nullptr, GraphicFilterImportFlags nImportFlags=GraphicFilterImportFlags::NONE)
void setWidth(tools::Long nWidth)
static void NotifyAllWindows(DataChangedEvent &rDCEvt)
Size GetSizePixel(const OutputDevice *pRefDevice=nullptr) const
virtual void Reset(const SfxItemSet *rSet) override
Reset to default settings ([Revert] button).
OUString m_aPersonaSettings
Header and footer images + color to be set in the settings.
static std::unique_ptr< SfxTabPage > Create(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet *rSet)
bool ReadLine(OString &rStr, sal_Int32 nMaxBytesToRead=0xFFFE)
static std::shared_ptr< ConfigurationChanges > create(css::uno::Reference< css::uno::XComponentContext > const &context=comphelper::getProcessComponentContext())
void Draw(OutputDevice *pOutDev, const Point &rDestPt) const
exports com.sun.star. gallery
SvxPersonalizationTabPage(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet &rSet)
std::unique_ptr< weld::ToggleButton > m_vDefaultPersonaImages[MAX_DEFAULT_PERSONAS]
Buttons to show the default persona images.
std::vector< OUString > m_vDefaultPersonaSettings
#define MAX_DEFAULT_PERSONAS
virtual bool FillItemSet(SfxItemSet *rSet) override
Apply the settings ([OK] button).
virtual ~SvxPersonalizationTabPage() override
IMPL_LINK(SvxPersonalizationTabPage, DefaultPersona, weld::Button &, rButton, void)
Reference< XComponentContext > getProcessComponentContext()
VirtualDevice * get() const
std::unique_ptr< weld::RadioButton > m_xDefaultPersona
Use the built-in bitmap.