include/sfx2/app.hxx | 3 include/sfx2/sfx.hrc | 3 include/sfx2/sfxbasecontroller.hxx | 2 officecfg/registry/schema/org/openoffice/Office/Common.xcs | 6 sfx2/Library_sfx.mk | 1 sfx2/UIConfig_sfx.mk | 1 sfx2/source/appl/appdata.cxx | 3 sfx2/source/appl/appmisc.cxx | 10 sfx2/source/dialog/ApplicationStartupDialog.cxx | 116 ++++ sfx2/source/inc/ApplicationStartupDialog.hxx | 39 + sfx2/source/inc/appdata.hxx | 1 sfx2/source/view/sfxbasecontroller.cxx | 25 + sfx2/source/view/view.src | 12 sfx2/uiconfig/ui/applicationstartupdialog.ui | 323 +++++++++++++ 14 files changed, 544 insertions(+), 1 deletion(-)
New commits: commit 7b66d8c0fa2134a9b68d0209941665d3de60a3a3 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.com> Date: Wed Apr 16 12:11:46 2014 +0200 Introducing "application startup message" Application startup message is an infobar which is shown on LO startup. The message can be dismissed when entering into "Details" dialog. The code to disable the dialog between restarts is also included in this commit. Change-Id: I7bbf8edc87b3eec8ac9010e2c4f60fb0f4f06894 diff --git a/include/sfx2/app.hxx b/include/sfx2/app.hxx index ee63e40..91415a5 100644 --- a/include/sfx2/app.hxx +++ b/include/sfx2/app.hxx @@ -214,6 +214,9 @@ public: bool IsDowning() const; void ResetLastDir(); + bool shouldShowApplicationStartupMessage(); + void hideApplicationStartupMessage(); + SAL_DLLPRIVATE SfxDispatcher* GetAppDispatcher_Impl(); SAL_DLLPRIVATE SfxDispatcher* GetDispatcher_Impl(); diff --git a/include/sfx2/sfx.hrc b/include/sfx2/sfx.hrc index 6909d1c..9de02e7 100644 --- a/include/sfx2/sfx.hrc +++ b/include/sfx2/sfx.hrc @@ -155,6 +155,9 @@ #define STR_READONLY_DOCUMENT (RID_SFX_START+128) #define STR_PASSWD_MIN_LEN1 (RID_SFX_START+129) #define STR_MODULENOTINSTALLED (RID_SFX_START+130) +#define BT_APPLICATION_STARTUP (RID_SFX_START+131) +#define STR_APPLICATION_STARTUP_MESSAGE (RID_SFX_START+132) + #define STR_ACCTITLE_PRODUCTIVITYTOOLS (RID_SFX_START+157) #define SFX_THUMBNAIL_TEXT (RID_SFX_START+158) diff --git a/include/sfx2/sfxbasecontroller.hxx b/include/sfx2/sfxbasecontroller.hxx index 0f77a44..c95c56e 100644 --- a/include/sfx2/sfxbasecontroller.hxx +++ b/include/sfx2/sfxbasecontroller.hxx @@ -191,7 +191,7 @@ private: SAL_DLLPRIVATE void ShowInfoBars( ); DECL_LINK( CheckOutHandler, void * ); - + DECL_LINK( ApplicationStartupHandler, void * ); // private variables diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs index b035168..0d288d9 100644 --- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs +++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs @@ -6539,6 +6539,12 @@ <desc>Uses cfg package Jobs instead of this component.</desc> </info> </set> + <prop oor:name="StartupMessage" oor:type="xs:boolean" oor:nillable="false"> + <info> + <desc>Specifies whether to display startup message in LibreOffice Vanilla from Apple App Store</desc> + </info> + <value>true</value> + </prop> </group> <group oor:name="SmartTags"> <info> diff --git a/sfx2/Library_sfx.mk b/sfx2/Library_sfx.mk index ae85eaa..bcc0be5 100644 --- a/sfx2/Library_sfx.mk +++ b/sfx2/Library_sfx.mk @@ -158,6 +158,7 @@ $(eval $(call gb_Library_add_exception_objects,sfx,\ sfx2/source/control/thumbnailviewacc \ sfx2/source/control/thumbnailview \ sfx2/source/control/unoctitm \ + sfx2/source/dialog/ApplicationStartupDialog \ sfx2/source/dialog/alienwarn \ sfx2/source/dialog/backingcomp \ sfx2/source/dialog/backingwindow \ diff --git a/sfx2/UIConfig_sfx.mk b/sfx2/UIConfig_sfx.mk index 9a555b9..8248fba 100644 --- a/sfx2/UIConfig_sfx.mk +++ b/sfx2/UIConfig_sfx.mk @@ -10,6 +10,7 @@ $(eval $(call gb_UIConfig_UIConfig,sfx)) $(eval $(call gb_UIConfig_add_uifiles,sfx,\ + sfx2/uiconfig/ui/applicationstartupdialog \ sfx2/uiconfig/ui/alienwarndialog \ sfx2/uiconfig/ui/bookmarkdialog \ sfx2/uiconfig/ui/checkin \ diff --git a/sfx2/source/appl/appdata.cxx b/sfx2/source/appl/appdata.cxx index c07c94c..3023883 100644 --- a/sfx2/source/appl/appdata.cxx +++ b/sfx2/source/appl/appdata.cxx @@ -47,6 +47,8 @@ #include <basic/basicmanagerrepository.hxx> #include <basic/basmgr.hxx> +#include <officecfg/Office/Common.hxx> + using ::basic::BasicManagerRepository; using ::basic::BasicManagerCreationListener; using ::com::sun::star::uno::Reference; @@ -125,6 +127,7 @@ SfxAppData_Impl::SfxAppData_Impl( SfxApplication* ) , bInQuit( false ) , bInvalidateOnUnlock( false ) , bODFVersionWarningLater( false ) + , bShowApplicationStartupMessage(officecfg::Office::Common::Startup::StartupMessage::get()) { #if HAVE_FEATURE_SCRIPTING diff --git a/sfx2/source/appl/appmisc.cxx b/sfx2/source/appl/appmisc.cxx index 73d38e3..a326487 100644 --- a/sfx2/source/appl/appmisc.cxx +++ b/sfx2/source/appl/appmisc.cxx @@ -223,4 +223,14 @@ BitmapEx SfxApplication::GetApplicationLogo(long nWidth) return aBitmap; } +bool SfxApplication::shouldShowApplicationStartupMessage() +{ + return pAppData_Impl->bShowApplicationStartupMessage; +} + +void SfxApplication::hideApplicationStartupMessage() +{ + pAppData_Impl->bShowApplicationStartupMessage = false; +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sfx2/source/dialog/ApplicationStartupDialog.cxx b/sfx2/source/dialog/ApplicationStartupDialog.cxx new file mode 100644 index 0000000..f27e6fe --- /dev/null +++ b/sfx2/source/dialog/ApplicationStartupDialog.cxx @@ -0,0 +1,116 @@ +/* -*- 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 <com/sun/star/system/SystemShellExecuteFlags.hpp> +#include <com/sun/star/system/SystemShellExecute.hpp> + +#include <comphelper/anytostring.hxx> +#include <comphelper/processfactory.hxx> +#include <cppuhelper/exc_hlp.hxx> +#include <vcl/svapp.hxx> +#include <vcl/msgbox.hxx> + +#include <officecfg/Office/Common.hxx> + +#include "ApplicationStartupDialog.hxx" + +using namespace css::system; +using namespace css::uno; +using namespace comphelper; + +SfxApplicationStartupDialog::SfxApplicationStartupDialog(Window* pParent) : + SfxModalDialog(pParent, "ApplicationStartupDialog", "sfx/ui/applicationstartupdialog.ui") +{ + get(mpDontShowAgainCB, "checkbutton1"); + get(mpOkButton, "ok"); + get(mpLinkButton, "link"); + get(mpLinkButton1, "linkbutton1"); + get(mpLinkButton2, "linkbutton2"); + mpOkButton->SetClickHdl(LINK(this, SfxApplicationStartupDialog, OkButtonClick)); + mpLinkButton->SetClickHdl(LINK(this, SfxApplicationStartupDialog, LinkClick)); + mpLinkButton1->SetClickHdl(LINK(this, SfxApplicationStartupDialog, LinkButton1Click)); + mpLinkButton2->SetClickHdl(LINK(this, SfxApplicationStartupDialog, LinkButton2Click)); +} + +SfxApplicationStartupDialog::~SfxApplicationStartupDialog() +{} + +IMPL_LINK_NOARG(SfxApplicationStartupDialog, OkButtonClick) +{ + if( mpDontShowAgainCB->IsChecked() ) + { + boost::shared_ptr< comphelper::ConfigurationChanges > batch( comphelper::ConfigurationChanges::create() ); + officecfg::Office::Common::Startup::StartupMessage::set(false, batch); + batch->commit(); + } + + EndDialog( RET_OK ); + + return 0; +} + +IMPL_LINK_NOARG(SfxApplicationStartupDialog, LinkClick) +{ + try + { + Reference<XSystemShellExecute> xSystemShellExecute(SystemShellExecute::create(comphelper::getProcessComponentContext())); + xSystemShellExecute->execute(mpLinkButton->GetURL(), OUString(), SystemShellExecuteFlags::URIS_ONLY ); + } + catch (const Exception&) + { + Any aException(cppu::getCaughtException()); + OUString aMessage(comphelper::anyToString(aException)); + const SolarMutexGuard guard; + ErrorBox aErrorBox( NULL, WB_OK, aMessage); + aErrorBox.SetText(GetText()); + aErrorBox.Execute(); + } + return 0; +} + +IMPL_LINK_NOARG(SfxApplicationStartupDialog, LinkButton1Click) +{ + try + { + Reference<XSystemShellExecute> xSystemShellExecute(SystemShellExecute::create(comphelper::getProcessComponentContext())); + xSystemShellExecute->execute(mpLinkButton1->GetURL(), OUString(), SystemShellExecuteFlags::URIS_ONLY ); + } + catch (const Exception&) + { + Any aException(cppu::getCaughtException()); + OUString aMessage(comphelper::anyToString(aException)); + const SolarMutexGuard guard; + ErrorBox aErrorBox( NULL, WB_OK, aMessage); + aErrorBox.SetText(GetText()); + aErrorBox.Execute(); + } + return 0; +} + +IMPL_LINK_NOARG(SfxApplicationStartupDialog, LinkButton2Click) +{ + try + { + Reference<XSystemShellExecute> xSystemShellExecute(SystemShellExecute::create(comphelper::getProcessComponentContext())); + xSystemShellExecute->execute(mpLinkButton2->GetURL(), OUString(), SystemShellExecuteFlags::URIS_ONLY ); + } + catch (const Exception&) + { + Any aException(cppu::getCaughtException()); + OUString aMessage(comphelper::anyToString(aException)); + const SolarMutexGuard guard; + ErrorBox aErrorBox( NULL, WB_OK, aMessage); + aErrorBox.SetText(GetText()); + aErrorBox.Execute(); + } + return 0; +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sfx2/source/inc/ApplicationStartupDialog.hxx b/sfx2/source/inc/ApplicationStartupDialog.hxx new file mode 100644 index 0000000..1e1b549 --- /dev/null +++ b/sfx2/source/inc/ApplicationStartupDialog.hxx @@ -0,0 +1,39 @@ +/* -*- 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 INCLUDED_SFX2_SOURCE_INC_APPLICATIONSTARTUPDIALOG_HXX +#define INCLUDED_SFX2_SOURCE_INC_APPLICATIONSTARTUPDIALOG_HXX + +#include <vcl/button.hxx> +#include <vcl/fixedhyper.hxx> +#include <vcl/layout.hxx> +#include <sfx2/basedlgs.hxx> + +class SfxApplicationStartupDialog : public SfxModalDialog +{ +private: + CheckBox* mpDontShowAgainCB; + PushButton* mpOkButton; + FixedHyperlink* mpLinkButton; + FixedHyperlink* mpLinkButton1; + FixedHyperlink* mpLinkButton2; + + DECL_LINK(OkButtonClick, void*); + DECL_LINK(LinkClick, void*); + DECL_LINK(LinkButton1Click, void*); + DECL_LINK(LinkButton2Click, void*); + +public: + SfxApplicationStartupDialog(Window* pParent); + virtual ~SfxApplicationStartupDialog(); +}; + +#endif // INCLUDED_SFX2_SOURCE_INC_APPLICATIONENTRYDIALOG_HXX + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sfx2/source/inc/appdata.hxx b/sfx2/source/inc/appdata.hxx index c300040..f7c94fb 100644 --- a/sfx2/source/inc/appdata.hxx +++ b/sfx2/source/inc/appdata.hxx @@ -137,6 +137,7 @@ public: bool bInQuit : 1; bool bInvalidateOnUnlock : 1; bool bODFVersionWarningLater : 1; + bool bShowApplicationStartupMessage : 1; SfxAppData_Impl( SfxApplication* ); ~SfxAppData_Impl(); diff --git a/sfx2/source/view/sfxbasecontroller.cxx b/sfx2/source/view/sfxbasecontroller.cxx index 0d08a0d..b61394f 100644 --- a/sfx2/source/view/sfxbasecontroller.cxx +++ b/sfx2/source/view/sfxbasecontroller.cxx @@ -80,6 +80,8 @@ #include <sfx2/viewfac.hxx> #include "sfxbasecontroller_internal.hxx" +#include "ApplicationStartupDialog.hxx" + #define TIMEOUT_START_RESCHEDULE 10L /* 10th s */ using namespace ::com::sun::star; @@ -1420,6 +1422,16 @@ void SfxBaseController::ShowInfoBars( ) { if ( m_pData->m_pViewShell ) { + if (SfxGetpApp()->shouldShowApplicationStartupMessage()) + { + SfxViewFrame* pViewFrame = m_pData->m_pViewShell->GetFrame(); + std::vector<PushButton*> aButtons; + PushButton* pButton = new PushButton(&pViewFrame->GetWindow(), SfxResId(BT_APPLICATION_STARTUP)); + pButton->SetClickHdl(LINK(this, SfxBaseController, ApplicationStartupHandler)); + aButtons.push_back(pButton); + pViewFrame->AppendInfoBar("application-startup", SfxResId(STR_APPLICATION_STARTUP_MESSAGE), aButtons); + } + // CMIS verifications Reference< document::XCmisDocument > xCmisDoc( m_pData->m_pViewShell->GetObjectShell()->GetModel(), uno::UNO_QUERY ); if ( xCmisDoc.is( ) && xCmisDoc->canCheckOut( ) ) @@ -1467,7 +1479,20 @@ IMPL_LINK_NOARG ( SfxBaseController, CheckOutHandler ) return 0; } +IMPL_LINK_NOARG ( SfxBaseController, ApplicationStartupHandler ) +{ + if (!m_pData->m_pViewShell) + return 0; + SfxApplicationStartupDialog aDialog(NULL); + if (aDialog.Execute() == RET_OK) + { + SfxViewFrame* pViewFrame = m_pData->m_pViewShell->GetFrame(); + SfxGetpApp()->hideApplicationStartupMessage(); + pViewFrame->RemoveInfoBar("application-startup"); + } + return 0; +} Reference< frame::XTitle > SfxBaseController::impl_getTitleHelper () { diff --git a/sfx2/source/view/view.src b/sfx2/source/view/view.src index 1cb6c13..d05559c 100644 --- a/sfx2/source/view/view.src +++ b/sfx2/source/view/view.src @@ -104,4 +104,16 @@ PushButton BT_READONLY_EDIT Text[ en-US ] = "Edit Document"; }; +PushButton BT_APPLICATION_STARTUP +{ + Pos = MAP_APPFONT( 0 , 0 ); + Size = MAP_APPFONT( 30 , 0 ); + Text[ en-US ] = "Details"; +}; + +String STR_APPLICATION_STARTUP_MESSAGE +{ + Text [ en-US ] = "Find out about LibreOffice Vanilla..." ; +}; + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sfx2/uiconfig/ui/applicationstartupdialog.ui b/sfx2/uiconfig/ui/applicationstartupdialog.ui new file mode 100644 index 0000000..c2a0436 --- /dev/null +++ b/sfx2/uiconfig/ui/applicationstartupdialog.ui @@ -0,0 +1,323 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.18.3 --> +<interface> + <requires lib="gtk+" version="3.10"/> + <object class="GtkDialog" id="ApplicationStartupDialog"> + <property name="can_focus">False</property> + <property name="type_hint">dialog</property> + <child internal-child="vbox"> + <object class="GtkBox" id="dialog-vbox1"> + <property name="can_focus">False</property> + <property name="margin_left">12</property> + <property name="margin_right">12</property> + <property name="margin_top">12</property> + <property name="margin_bottom">12</property> + <property name="orientation">vertical</property> + <property name="spacing">2</property> + <child internal-child="action_area"> + <object class="GtkButtonBox" id="dialog-action_area1"> + <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="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="has_default">True</property> + <property name="receives_default">True</property> + <property name="use_stock">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">False</property> + <property name="fill">True</property> + <property name="pack_type">end</property> + <property name="position">2</property> + </packing> + </child> + <child> + <object class="GtkGrid" id="grid1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="row_spacing">6</property> + <property name="column_spacing">6</property> + <property name="baseline_row">1</property> + <child> + <object class="GtkLabel" id="label2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">LibreOffice Vanilla is based on the most recent version of LibreOffice available. This build is provided for you by Collabora Productivity.</property> + <property name="justify">fill</property> + <property name="wrap">True</property> + <property name="max_width_chars">62</property> + <property name="track_visited_links">False</property> + <attributes> + <attribute name="style" value="italic"/> + </attributes> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="label" translatable="yes">LibreOffice Vanilla</property> + <attributes> + <attribute name="size" value="20000"/> + </attributes> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="checkbutton1"> + <property name="label" translatable="yes">Don't show this at next startup</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> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">4</property> + </packing> + </child> + <child> + <object class="GtkGrid" id="grid3"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="margin_left">12</property> + <property name="margin_right">12</property> + <property name="margin_top">12</property> + <property name="margin_bottom">12</property> + <child> + <object class="GtkLabel" id="label6"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="margin_top">3</property> + <property name="margin_bottom">3</property> + <property name="hexpand">True</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">LibreOffice-from-Collabora</property> + <attributes> + <attribute name="weight" value="bold"/> + <attribute name="size" value="12000"/> + </attributes> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + <property name="width">2</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label7"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="margin_top">3</property> + <property name="margin_bottom">3</property> + <property name="hexpand">True</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Collabora provides and maintains LibreOffice products on iTunes. Collabora's enterprise-grade productivity suite LibreOffice-from-Collabora for Mac delivers long term stability and support for demanding environments. Deployment and administration utilities together with fast-response bug-fix support are available for enterprise customers. App Store purchases of LibreOffice-from-Collabora support ongoing development and enhancement of LibreOffice for Mac. Get extended features and stability while funding LibreOffice for Mac development by buying LibreOffice-from-Collabora today.</property> + <property name="justify">fill</property> + <property name="wrap">True</property> + <property name="max_width_chars">70</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + <property name="width">2</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label4"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="margin_top">3</property> + <property name="margin_bottom">3</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">More information:</property> + <attributes> + <attribute name="style" value="italic"/> + </attributes> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkLinkButton" id="link"> + <property name="label" translatable="yes">LibreOffice-from-Collabora</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="margin_left">12</property> + <property name="margin_top">3</property> + <property name="margin_bottom">3</property> + <property name="hexpand">True</property> + <property name="relief">none</property> + <property name="xalign">0</property> + <property name="uri">https://libreoffice-from-collabora.com/lofc-mac-app-store/</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">2</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">3</property> + </packing> + </child> + <child> + <object class="GtkGrid" id="grid2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="margin_left">12</property> + <property name="margin_right">12</property> + <property name="margin_top">12</property> + <property name="margin_bottom">12</property> + <child> + <object class="GtkLabel" id="label5"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="margin_top">3</property> + <property name="margin_bottom">3</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">The Document Foundation</property> + <attributes> + <attribute name="weight" value="bold"/> + <attribute name="size" value="12000"/> + </attributes> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + <property name="width">2</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label3"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="margin_top">3</property> + <property name="margin_bottom">3</property> + <property name="hexpand">True</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">The Document Foundation provides oversight and governance for the LibreOffice community, and supports the work of thousands of LibreOffice volunteers and contributors. Please consider donating to support their work.</property> + <property name="justify">fill</property> + <property name="wrap">True</property> + <property name="max_width_chars">70</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + <property name="width">2</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label8"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="margin_top">3</property> + <property name="margin_bottom">3</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">More information:</property> + <attributes> + <attribute name="style" value="italic"/> + </attributes> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkLinkButton" id="linkbutton1"> + <property name="label" translatable="yes">The Document Foundation</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="margin_left">12</property> + <property name="margin_top">3</property> + <property name="margin_bottom">3</property> + <property name="hexpand">True</property> + <property name="relief">none</property> + <property name="xalign">0</property> + <property name="uri">https://www.documentfoundation.org/</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label9"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="margin_top">3</property> + <property name="margin_bottom">3</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Donate:</property> + <attributes> + <attribute name="style" value="italic"/> + </attributes> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">3</property> + </packing> + </child> + <child> + <object class="GtkLinkButton" id="linkbutton2"> + <property name="label" translatable="yes">Document Foundation Website</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="margin_left">12</property> + <property name="margin_top">3</property> + <property name="margin_bottom">3</property> + <property name="hexpand">True</property> + <property name="relief">none</property> + <property name="xalign">0</property> + <property name="uri">https://www.libreoffice.org/donate/nonav/</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">3</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + </object> + </child> + </object> +</interface>
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits