cui/Library_cui.mk | 1 cui/UI_cui.mk | 2 cui/source/inc/cuires.hrc | 1 cui/source/options/personalization.cxx | 107 +++++++++++++ cui/source/options/personalization.hxx | 51 ++++++ cui/source/options/treeopt.cxx | 3 cui/source/options/treeopt.src | 1 cui/uiconfig/ui/personalization_tab.ui | 240 +++++++++++++++++++++++++++++++ cui/uiconfig/ui/select_persona_dialog.ui | 179 +++++++++++++++++++++++ vcl/source/window/builder.cxx | 8 + 10 files changed, 593 insertions(+)
New commits: commit 20759742222c18ba507b31986622530904efc943 Author: Jan Holesovsky <[email protected]> Date: Fri Nov 30 10:37:34 2012 +0100 Personas: .ui file for the Select Persona dialog. Change-Id: Ibc493a486e5752525520cd7e21d6287d49edf681 diff --git a/cui/UI_cui.mk b/cui/UI_cui.mk index 2413872..53490bb 100644 --- a/cui/UI_cui.mk +++ b/cui/UI_cui.mk @@ -21,6 +21,7 @@ $(eval $(call gb_UI_add_uifiles,cui,\ cui/uiconfig/ui/macroselectordialog \ cui/uiconfig/ui/personalization_tab \ cui/uiconfig/ui/positionpage \ + cui/uiconfig/ui/select_persona_dialog \ cui/uiconfig/ui/specialcharacters \ cui/uiconfig/ui/thesaurus \ cui/uiconfig/ui/twolinespage \ diff --git a/cui/source/options/personalization.cxx b/cui/source/options/personalization.cxx index 906f23c..e6d6a39 100644 --- a/cui/source/options/personalization.cxx +++ b/cui/source/options/personalization.cxx @@ -9,7 +9,21 @@ #include "personalization.hxx" -#include <vcl/fixed.hxx> +/** Dialog that will allow the user to choose a Persona to use. + +So far there is no better possibility than just to paste the URL from +http://www.getpersona.com ... +*/ +class SelectPersonaDialog : public ModalDialog +{ +public: + SelectPersonaDialog( Window *pParent ); +}; + +SelectPersonaDialog::SelectPersonaDialog( Window *pParent ) + : ModalDialog( pParent, "SelectPersonaDialog", "cui/ui/select_persona_dialog.ui" ) +{ +} SvxPersonalizationTabPage::SvxPersonalizationTabPage( Window *pParent, const SfxItemSet &rSet ) : SfxTabPage( pParent, "PersonalizationTabPage", "cui/ui/personalization_tab.ui", rSet ) @@ -84,6 +98,9 @@ IMPL_LINK( SvxPersonalizationTabPage, SelectBackground, PushButton*, /*pButton*/ IMPL_LINK( SvxPersonalizationTabPage, SelectPersona, PushButton*, /*pButton*/ ) { + SelectPersonaDialog aDialog( NULL ); + /* TODO handle the ret val sal_Int16 nReturn =*/ aDialog.Execute(); + return 0; } diff --git a/cui/uiconfig/ui/select_persona_dialog.ui b/cui/uiconfig/ui/select_persona_dialog.ui new file mode 100644 index 0000000..5715e67 --- /dev/null +++ b/cui/uiconfig/ui/select_persona_dialog.ui @@ -0,0 +1,179 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <requires lib="gtk+" version="2.24"/> + <!-- interface-naming-policy project-wide --> + <object class="GtkDialog" id="dialog1"> + <property name="can_focus">False</property> + <property name="border_width">5</property> + <property name="type_hint">dialog</property> + <child internal-child="vbox"> + <object class="GtkVBox" id="dialog-vbox1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">2</property> + <child> + <object class="GtkLabel" id="label1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">First visit Firefox Personas (http://www.getpersonas.com) and find Persona you like, and want to choose for LibreOffice.</property> + <property name="wrap">True</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child internal-child="action_area"> + <object class="GtkHButtonBox" id="dialog-action_area1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="layout_style">end</property> + <child> + <object class="GtkButton" id="ok"> + <property name="label">gtk-ok</property> + <property name="use_action_appearance">False</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="cancel"> + <property name="label">gtk-cancel</property> + <property name="use_action_appearance">False</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkButton" id="help"> + <property name="label">gtk-help</property> + <property name="use_action_appearance">False</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">2</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">end</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkHBox" id="hbox2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <placeholder/> + </child> + <child> + <object class="GtkButton" id="visit_personas"> + <property name="label" translatable="yes">Visit Firefox Personas</property> + <property name="use_action_appearance">False</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">1</property> + </packing> + </child> + <child> + <placeholder/> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Then copy the URL of page that contains the Persona to clipboard, and paste it to the input field below, and confirm with OK.</property> + <property name="wrap">True</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">4</property> + </packing> + </child> + <child> + <object class="GtkHBox" id="hbox1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkLabel" id="label3"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Persona URL:</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="persona_url"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="invisible_char">â</property> + <property name="primary_icon_activatable">False</property> + <property name="secondary_icon_activatable">False</property> + <property name="primary_icon_sensitive">True</property> + <property name="secondary_icon_sensitive">True</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">5</property> + </packing> + </child> + </object> + </child> + <action-widgets> + <action-widget response="0">ok</action-widget> + <action-widget response="0">cancel</action-widget> + <action-widget response="0">help</action-widget> + </action-widgets> + </object> +</interface> commit 1092748ad0f554e574afb8bf9cc6832e4dc89097 Author: Jan Holesovsky <[email protected]> Date: Fri Nov 30 17:16:21 2012 +0100 More wrappers needed for my glade :-) Change-Id: I63c44abce5c4a3a8175413347da9af2980e6b47c diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx index 0144552..ab4a6e7 100644 --- a/vcl/source/window/builder.cxx +++ b/vcl/source/window/builder.cxx @@ -662,6 +662,10 @@ Window *VclBuilder::makeObject(Window *pParent, const OString &name, const OStri else pWindow = new VclHButtonBox(pParent); } + else if (name == "GtkHButtonBox") + pWindow = new VclHButtonBox(pParent); + else if (name == "GtkVButtonBox") + pWindow = new VclVButtonBox(pParent); else if (name == "GtkGrid") pWindow = new VclGrid(pParent); else if (name == "GtkFrame") commit 4e31658c6998b401c302836ce2aa8015eb64633b Author: Jan Holesovsky <[email protected]> Date: Fri Nov 30 09:44:17 2012 +0100 Personas: Enable / disable the push buttons according to radio buttons. Change-Id: Iece525f43238a3494b8a76d5a3d84886cd5c1317 diff --git a/cui/source/options/personalization.cxx b/cui/source/options/personalization.cxx index 5389124..906f23c 100644 --- a/cui/source/options/personalization.cxx +++ b/cui/source/options/personalization.cxx @@ -14,7 +14,26 @@ SvxPersonalizationTabPage::SvxPersonalizationTabPage( Window *pParent, const SfxItemSet &rSet ) : SfxTabPage( pParent, "PersonalizationTabPage", "cui/ui/personalization_tab.ui", rSet ) { + get( m_pNoBackground, "no_background" ); + get( m_pDefaultBackground, "default_background" ); + get( m_pOwnBackground, "own_background" ); + m_pNoBackground->SetClickHdl( LINK( this, SvxPersonalizationTabPage, EnableDisableSelectionButtons ) ); + m_pDefaultBackground->SetClickHdl( LINK( this, SvxPersonalizationTabPage, EnableDisableSelectionButtons ) ); + m_pOwnBackground->SetClickHdl( LINK( this, SvxPersonalizationTabPage, EnableDisableSelectionButtons ) ); + + get( m_pSelectBackground, "select_background" ); + m_pSelectBackground->SetClickHdl( LINK( this, SvxPersonalizationTabPage, SelectBackground ) ); + get( m_pNoPersona, "no_persona" ); + get( m_pDefaultPersona, "default_persona" ); + get( m_pOwnPersona, "own_persona" ); + m_pNoPersona->SetClickHdl( LINK( this, SvxPersonalizationTabPage, EnableDisableSelectionButtons ) ); + m_pDefaultPersona->SetClickHdl( LINK( this, SvxPersonalizationTabPage, EnableDisableSelectionButtons ) ); + m_pOwnPersona->SetClickHdl( LINK( this, SvxPersonalizationTabPage, EnableDisableSelectionButtons ) ); + + get( m_pSelectPersona, "select_persona" ); + LINK( this, SvxPersonalizationTabPage, SelectPersona ); + m_pSelectPersona->SetClickHdl( LINK( this, SvxPersonalizationTabPage, SelectPersona ) ); } SvxPersonalizationTabPage::~SvxPersonalizationTabPage() @@ -26,4 +45,46 @@ SfxTabPage* SvxPersonalizationTabPage::Create( Window *pParent, const SfxItemSet return new SvxPersonalizationTabPage( pParent, rSet ); } +IMPL_LINK( SvxPersonalizationTabPage, EnableDisableSelectionButtons, RadioButton*, pButton ) +{ + PushButton *pPushButton = NULL; + RadioButton *pRadioButton = NULL; + + if ( pButton == m_pNoBackground || pButton == m_pDefaultBackground || pButton == m_pOwnBackground ) + { + pPushButton = m_pSelectBackground; + pRadioButton = m_pOwnBackground; + } + else if ( pButton == m_pNoPersona || pButton == m_pDefaultPersona || pButton == m_pOwnPersona ) + { + pPushButton = m_pSelectPersona; + pRadioButton = m_pOwnPersona; + } + else + return 0; + + if ( pRadioButton->IsChecked() && !pPushButton->IsEnabled() ) + { + pPushButton->Enable(); + pPushButton->Invalidate(); + } + else if ( !pRadioButton->IsChecked() && pPushButton->IsEnabled() ) + { + pPushButton->Disable(); + pPushButton->Invalidate(); + } + + return 0; +} + +IMPL_LINK( SvxPersonalizationTabPage, SelectBackground, PushButton*, /*pButton*/ ) +{ + return 0; +} + +IMPL_LINK( SvxPersonalizationTabPage, SelectPersona, PushButton*, /*pButton*/ ) +{ + return 0; +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cui/source/options/personalization.hxx b/cui/source/options/personalization.hxx index 72c3b6b..89fc3fd 100644 --- a/cui/source/options/personalization.hxx +++ b/cui/source/options/personalization.hxx @@ -19,13 +19,31 @@ class SvxPersonalizationTabPage : public SfxTabPage using SfxTabPage::DeactivatePage; private: - RadioButton *m_pNoPersona; ///< Just the default look, without any bitmap + RadioButton *m_pNoBackground; ///< Just the default look, without any bitmap + RadioButton *m_pDefaultBackground; ///< Use the built-in bitmap for Writer background + RadioButton *m_pOwnBackground; ///< Use the user-defined bitmap + PushButton *m_pSelectBackground; ///< Let the user select in the 'own' case + + RadioButton *m_pNoPersona; ///< Just the default look, without any bitmap + RadioButton *m_pDefaultPersona; ///< Use the built-in bitmap + RadioButton *m_pOwnPersona; ///< Use the user-defined bitmap + PushButton *m_pSelectPersona; ///< Let the user select in the 'own' case public: SvxPersonalizationTabPage( Window *pParent, const SfxItemSet &rSet ); ~SvxPersonalizationTabPage(); static SfxTabPage* Create( Window *pParent, const SfxItemSet &rSet ); + +private: + /// Maintain sane behavior of the m_pSelect(Background|Persona) buttons + DECL_LINK( EnableDisableSelectionButtons, RadioButton* ); + + /// Handle the bacground selection + DECL_LINK( SelectBackground, PushButton* ); + + /// Handle the Persona selection + DECL_LINK( SelectPersona, PushButton* ); }; #endif // SVX_PERSONALIZATION_HXX commit 4102ed7c5018c9fadb445d0ea49e29d1af75194a Author: Jan Holesovsky <[email protected]> Date: Thu Nov 29 13:05:39 2012 +0100 Personas: Introduce Tools -> Options... entry for Firefox Personas. Change-Id: I95275a92ea607cce26f272044bc2de95de45d75b diff --git a/cui/Library_cui.mk b/cui/Library_cui.mk index ec0c925..404e72f 100644 --- a/cui/Library_cui.mk +++ b/cui/Library_cui.mk @@ -164,6 +164,7 @@ $(eval $(call gb_Library_add_exception_objects,cui,\ cui/source/options/optpath \ cui/source/options/optsave \ cui/source/options/optupdt \ + cui/source/options/personalization \ cui/source/options/radiobtnbox \ cui/source/options/readonlyimage \ cui/source/options/sdbcdriverenum \ diff --git a/cui/UI_cui.mk b/cui/UI_cui.mk index 119f8d6..2413872 100644 --- a/cui/UI_cui.mk +++ b/cui/UI_cui.mk @@ -19,6 +19,7 @@ $(eval $(call gb_UI_add_uifiles,cui,\ cui/uiconfig/ui/insertrowcolumn \ cui/uiconfig/ui/scriptorganizer \ cui/uiconfig/ui/macroselectordialog \ + cui/uiconfig/ui/personalization_tab \ cui/uiconfig/ui/positionpage \ cui/uiconfig/ui/specialcharacters \ cui/uiconfig/ui/thesaurus \ diff --git a/cui/source/inc/cuires.hrc b/cui/source/inc/cuires.hrc index 1e14f82..beabde5 100644 --- a/cui/source/inc/cuires.hrc +++ b/cui/source/inc/cuires.hrc @@ -161,6 +161,7 @@ #define RID_OPTPAGE_CHART_DEFCOLORS (RID_SVX_START + 299) #define RID_OPTQB_COLOR_CHART_DELETE (RID_SVX_START + 296) #define RID_OPTSTR_COLOR_CHART_DELETE (RID_SVX_START + 289) +#define RID_SVXPAGE_PERSONALIZATION (RID_SVX_START + 247) #define RID_SVXPAGE_COLORCONFIG (RID_SVX_START + 249) #define RID_SVXQB_DELETE_COLOR_CONFIG (RID_SVX_START + 324) #define RID_SVXSTR_COLOR_CONFIG_SAVE1 (RID_SVX_START + 853) diff --git a/cui/source/options/personalization.cxx b/cui/source/options/personalization.cxx new file mode 100644 index 0000000..5389124 --- /dev/null +++ b/cui/source/options/personalization.cxx @@ -0,0 +1,29 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#include "personalization.hxx" + +#include <vcl/fixed.hxx> + +SvxPersonalizationTabPage::SvxPersonalizationTabPage( Window *pParent, const SfxItemSet &rSet ) + : SfxTabPage( pParent, "PersonalizationTabPage", "cui/ui/personalization_tab.ui", rSet ) +{ + get( m_pNoPersona, "no_persona" ); +} + +SvxPersonalizationTabPage::~SvxPersonalizationTabPage() +{ +} + +SfxTabPage* SvxPersonalizationTabPage::Create( Window *pParent, const SfxItemSet &rSet ) +{ + return new SvxPersonalizationTabPage( pParent, rSet ); +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cui/source/options/personalization.hxx b/cui/source/options/personalization.hxx new file mode 100644 index 0000000..72c3b6b --- /dev/null +++ b/cui/source/options/personalization.hxx @@ -0,0 +1,33 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef SVX_PERSONALIZATION_HXX +#define SVX_PERSONALIZATION_HXX + +#include <sfx2/tabdlg.hxx> + +class FixedText; + +class SvxPersonalizationTabPage : public SfxTabPage +{ + using SfxTabPage::DeactivatePage; + +private: + RadioButton *m_pNoPersona; ///< Just the default look, without any bitmap + +public: + SvxPersonalizationTabPage( Window *pParent, const SfxItemSet &rSet ); + ~SvxPersonalizationTabPage(); + + static SfxTabPage* Create( Window *pParent, const SfxItemSet &rSet ); +}; + +#endif // SVX_PERSONALIZATION_HXX + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cui/source/options/treeopt.cxx b/cui/source/options/treeopt.cxx index aafbc68..0a19a77 100644 --- a/cui/source/options/treeopt.cxx +++ b/cui/source/options/treeopt.cxx @@ -48,6 +48,7 @@ #include "optpath.hxx" #include "optsave.hxx" #include "optupdt.hxx" +#include "personalization.hxx" #include "treeopt.hxx" #include <com/sun/star/awt/XContainerWindowEventHandler.hpp> @@ -303,6 +304,7 @@ SfxTabPage* CreateGeneralTabPage( sal_uInt16 nId, Window* pParent, const SfxItem case RID_SVXPAGE_INET_PROXY: fnCreate = &SvxProxyTabPage::Create; break; case RID_SVXPAGE_INET_SECURITY: fnCreate = &SvxSecurityTabPage::Create; break; case RID_SVXPAGE_INET_MAIL: fnCreate = &SvxEMailTabPage::Create; break; + case RID_SVXPAGE_PERSONALIZATION: fnCreate = &SvxPersonalizationTabPage::Create; break; case RID_SVXPAGE_COLORCONFIG: fnCreate = &SvxColorOptionsTabPage::Create; break; case RID_OFAPAGE_HTMLOPT: fnCreate = &OfaHtmlTabPage::Create; break; case SID_OPTFILTER_MSOFFICE: fnCreate = &OfaMSFilterTabPage::Create; break; @@ -342,6 +344,7 @@ static OptionsMapping_Impl const OptionsMap_Impl[] = { "ProductName", "Colors", RID_SVXPAGE_COLOR }, { "ProductName", "Fonts", RID_SVX_FONT_SUBSTITUTION }, { "ProductName", "Security", RID_SVXPAGE_INET_SECURITY }, + { "ProductName", "Personalization", RID_SVXPAGE_PERSONALIZATION }, { "ProductName", "Appearance", RID_SVXPAGE_COLORCONFIG }, { "ProductName", "Accessibility", RID_SVXPAGE_ACCESSIBILITYCONFIG }, { "ProductName", "Java", RID_SVXPAGE_OPTIONS_JAVA }, diff --git a/cui/source/options/treeopt.src b/cui/source/options/treeopt.src index 1c60cf7..47d0d66 100644 --- a/cui/source/options/treeopt.src +++ b/cui/source/options/treeopt.src @@ -95,6 +95,7 @@ Resource RID_OFADLG_OPTIONS_TREE_PAGES < "Colors" ; RID_SVXPAGE_COLOR; > ; < "Fonts" ; RID_SVX_FONT_SUBSTITUTION ; > ; < "Security" ; RID_SVXPAGE_INET_SECURITY ; > ; + < "Personalization" ; RID_SVXPAGE_PERSONALIZATION ; > ; < "Appearance" ; RID_SVXPAGE_COLORCONFIG ; > ; < "Accessibility" ; RID_SVXPAGE_ACCESSIBILITYCONFIG ; > ; < "Advanced" ; RID_SVXPAGE_OPTIONS_JAVA ; > ; diff --git a/cui/uiconfig/ui/personalization_tab.ui b/cui/uiconfig/ui/personalization_tab.ui new file mode 100644 index 0000000..12acf49 --- /dev/null +++ b/cui/uiconfig/ui/personalization_tab.ui @@ -0,0 +1,240 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <requires lib="gtk+" version="2.24"/> + <!-- interface-naming-policy project-wide --> + <object class="GtkVBox" id="vbox1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkFrame" id="frame1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label_xalign">0</property> + <property name="shadow_type">none</property> + <child> + <object class="GtkAlignment" id="alignment2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="left_padding">12</property> + <child> + <object class="GtkVBox" id="vbox3"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkRadioButton" id="no_background"> + <property name="label" translatable="yes">No background image</property> + <property name="use_action_appearance">False</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="xalign">0</property> + <property name="draw_indicator">True</property> + <property name="group">default_background</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkRadioButton" id="default_background"> + <property name="label" translatable="yes">Default background image</property> + <property name="use_action_appearance">False</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="xalign">0</property> + <property name="draw_indicator">True</property> + <property name="group">own_background</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkHBox" id="hbox2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="homogeneous">True</property> + <child> + <object class="GtkRadioButton" id="own_background"> + <property name="label" translatable="yes">Own image</property> + <property name="use_action_appearance">False</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="xalign">0</property> + <property name="draw_indicator">True</property> + <property name="group">no_background</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="select_background"> + <property name="label" translatable="yes">Select Backround Image</property> + <property name="use_action_appearance">False</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + </object> + </child> + </object> + </child> + <child type="label"> + <object class="GtkLabel" id="label2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Background Image</property> + <attributes> + <attribute name="weight" value="bold"/> + </attributes> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="padding">5</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkFrame" id="frame2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label_xalign">0</property> + <property name="shadow_type">none</property> + <child> + <object class="GtkAlignment" id="alignment1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="left_padding">12</property> + <child> + <object class="GtkVBox" id="vbox2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkRadioButton" id="no_persona"> + <property name="label" translatable="yes">Do not use Persona</property> + <property name="use_action_appearance">False</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="xalign">0</property> + <property name="draw_indicator">True</property> + <property name="group">default_persona</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkRadioButton" id="default_persona"> + <property name="label" translatable="yes">Use default Persona</property> + <property name="use_action_appearance">False</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="xalign">0</property> + <property name="draw_indicator">True</property> + <property name="group">own_persona</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkHBox" id="hbox1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="homogeneous">True</property> + <child> + <object class="GtkRadioButton" id="own_persona"> + <property name="label" translatable="yes">Use own Persona</property> + <property name="use_action_appearance">False</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="xalign">0</property> + <property name="draw_indicator">True</property> + <property name="group">no_persona</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="select_persona"> + <property name="label" translatable="yes">Select Persona</property> + <property name="use_action_appearance">False</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + </object> + </child> + </object> + </child> + <child type="label"> + <object class="GtkLabel" id="label1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Firefox Personas</property> + <attributes> + <attribute name="weight" value="bold"/> + </attributes> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="padding">5</property> + <property name="position">1</property> + </packing> + </child> + <child> + <placeholder/> + </child> + </object> +</interface> commit 318e8eef3c9c6c44ba20f02560061614199e8d9f Author: Jan Holesovsky <[email protected]> Date: Thu Nov 29 18:56:20 2012 +0100 Introduce GtkHBox and GtkVBox aliases. Change-Id: I4157ba0f33a0423c975a4f81c056f5305c022566 diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx index 2caef3e..0144552 100644 --- a/vcl/source/window/builder.cxx +++ b/vcl/source/window/builder.cxx @@ -650,6 +650,10 @@ Window *VclBuilder::makeObject(Window *pParent, const OString &name, const OStri else pWindow = new VclHBox(pParent); } + else if (name == "GtkHBox") + pWindow = new VclHBox(pParent); + else if (name == "GtkVBox") + pWindow = new VclVBox(pParent); else if (name == "GtkButtonBox") { bVertical = extractOrientation(rMap);
_______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
