2011-04-04 18:02:18 +01:00
|
|
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
2012-10-04 11:25:41 +01:00
|
|
|
/*
|
|
|
|
* 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/.
|
|
|
|
*
|
|
|
|
* This file incorporates work covered by the following license notice:
|
|
|
|
*
|
|
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
|
|
* contributor license agreements. See the NOTICE file distributed
|
|
|
|
* with this work for additional information regarding copyright
|
|
|
|
* ownership. The ASF licenses this file to you under the Apache
|
|
|
|
* License, Version 2.0 (the "License"); you may not use this file
|
|
|
|
* except in compliance with the License. You may obtain a copy of
|
|
|
|
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
|
|
|
*/
|
2011-01-12 11:56:09 +01:00
|
|
|
|
|
|
|
#include <vcl/svapp.hxx>
|
|
|
|
#include <vcl/msgbox.hxx>
|
2011-04-04 18:02:18 +01:00
|
|
|
|
2011-01-12 11:56:09 +01:00
|
|
|
#include <tools/stream.hxx>
|
|
|
|
#include <rtl/bootstrap.hxx>
|
|
|
|
#include <unotools/configmgr.hxx>
|
|
|
|
#include <unotools/bootstrap.hxx>
|
|
|
|
#include <com/sun/star/uno/Any.h>
|
|
|
|
#include <vcl/graph.hxx>
|
|
|
|
#include <svtools/filter.hxx>
|
2012-07-12 15:03:51 +02:00
|
|
|
#include <svtools/langhelp.hxx>
|
2011-04-04 18:02:18 +01:00
|
|
|
|
|
|
|
#include "com/sun/star/system/SystemShellExecuteFlags.hpp"
|
2012-08-29 07:45:05 +02:00
|
|
|
#include "com/sun/star/system/SystemShellExecute.hpp"
|
2011-04-04 18:02:18 +01:00
|
|
|
#include <comphelper/processfactory.hxx>
|
|
|
|
#include "comphelper/anytostring.hxx"
|
|
|
|
#include "cppuhelper/exc_hlp.hxx"
|
|
|
|
#include "cppuhelper/bootstrap.hxx"
|
|
|
|
|
2011-01-12 11:56:09 +01:00
|
|
|
#include <sfx2/sfxuno.hxx>
|
2011-04-04 18:02:18 +01:00
|
|
|
#include <sfx2/sfxcommands.h>
|
2011-01-12 11:56:09 +01:00
|
|
|
#include "about.hxx"
|
2011-04-04 18:02:18 +01:00
|
|
|
#include "about.hrc"
|
2011-01-12 11:56:09 +01:00
|
|
|
#include <sfx2/sfxdefs.hxx>
|
|
|
|
#include <sfx2/app.hxx>
|
2011-08-01 21:57:42 +01:00
|
|
|
#include <rtl/ustrbuf.hxx>
|
2012-04-10 12:43:48 +01:00
|
|
|
#include <vcl/bitmap.hxx>
|
2012-07-12 16:19:37 +02:00
|
|
|
#include <officecfg/Office/Common.hxx>
|
2011-04-04 18:02:18 +01:00
|
|
|
|
2012-07-12 15:03:51 +02:00
|
|
|
using namespace ::com::sun::star::uno;
|
|
|
|
using namespace ::com::sun::star::beans;
|
2011-04-04 18:02:18 +01:00
|
|
|
using namespace ::com::sun::star;
|
2011-01-12 11:56:09 +01:00
|
|
|
|
2012-04-10 12:43:48 +01:00
|
|
|
enum AboutDialogButton
|
2011-01-12 11:56:09 +01:00
|
|
|
{
|
2012-04-10 12:43:48 +01:00
|
|
|
CREDITS_BUTTON,
|
2012-06-07 23:50:37 +02:00
|
|
|
WEBSITE_BUTTON
|
2012-04-10 12:43:48 +01:00
|
|
|
};
|
2011-01-12 11:56:09 +01:00
|
|
|
|
2011-04-04 18:02:18 +01:00
|
|
|
AboutDialog::AboutDialog( Window* pParent, const ResId& rId) :
|
2012-04-10 12:43:48 +01:00
|
|
|
SfxModalDialog ( pParent, rId ),
|
|
|
|
aVersionText ( this, ResId( ABOUT_VERSION_TEXT, *rId.GetResMgr() ) ),
|
|
|
|
aDescriptionText ( this, ResId( ABOUT_DESCRIPTION_TEXT, *rId.GetResMgr() ) ),
|
|
|
|
aCopyrightText ( this, ResId( ABOUT_COPYRIGHT_TEXT, *rId.GetResMgr() ) ),
|
2012-07-13 15:36:28 +02:00
|
|
|
aLogoImage ( this ),
|
2012-07-20 12:22:04 +02:00
|
|
|
aLogoReplacement ( this, ResId( ABOUT_LOGO_REPLACEMENT, *rId.GetResMgr() ) ),
|
2012-04-10 12:43:48 +01:00
|
|
|
aCreditsButton ( this, ResId( ABOUT_BTN_CREDITS, *rId.GetResMgr() ) ),
|
2012-06-13 22:45:06 +02:00
|
|
|
aWebsiteButton ( this, ResId( ABOUT_BTN_WEBSITE, *rId.GetResMgr() ) ),
|
2012-04-16 16:43:39 +01:00
|
|
|
aCancelButton ( this, ResId( ABOUT_BTN_CANCEL, *rId.GetResMgr() ) ),
|
2012-04-29 23:36:57 +01:00
|
|
|
m_aVersionTextStr(ResId(ABOUT_STR_VERSION, *rId.GetResMgr()).toString().trim()),
|
2011-08-01 21:57:42 +01:00
|
|
|
m_aVendorTextStr(ResId(ABOUT_STR_VENDOR, *rId.GetResMgr())),
|
2012-04-10 12:43:48 +01:00
|
|
|
m_aCopyrightTextStr(ResId(ABOUT_STR_COPYRIGHT, *rId.GetResMgr())),
|
|
|
|
m_aBasedTextStr(ResId(ABOUT_STR_BASED, *rId.GetResMgr())),
|
|
|
|
m_aBasedDerivedTextStr(ResId(ABOUT_STR_BASED_DERIVED, *rId.GetResMgr())),
|
|
|
|
m_aCreditsLinkStr(ResId( ABOUT_STR_LINK_CREDITS, *rId.GetResMgr())),
|
2012-04-29 23:36:57 +01:00
|
|
|
m_sBuildStr(ResId(ABOUT_STR_BUILD, *rId.GetResMgr())),
|
2012-04-10 12:43:48 +01:00
|
|
|
m_aDescriptionTextStr(ResId(ABOUT_STR_DESCRIPTION, *rId.GetResMgr()))
|
2011-01-12 11:56:09 +01:00
|
|
|
{
|
2012-04-10 12:43:48 +01:00
|
|
|
// Populate text items
|
2012-07-20 12:22:04 +02:00
|
|
|
aLogoReplacement.SetText ( utl::ConfigManager::getProductName() );
|
|
|
|
|
2012-04-10 12:43:48 +01:00
|
|
|
aVersionText.SetText( GetVersionString() );
|
|
|
|
|
|
|
|
aDescriptionText.SetText( m_aDescriptionTextStr );
|
|
|
|
|
|
|
|
rtl::OUString aCopyrightString = GetCopyrightString();
|
|
|
|
aCopyrightText.SetText( aCopyrightString );
|
|
|
|
|
|
|
|
StyleControls();
|
|
|
|
LayoutControls();
|
|
|
|
|
|
|
|
// Allow the button to be identifiable once they are clicked
|
|
|
|
aCreditsButton.SetData( (void*)CREDITS_BUTTON );
|
2012-06-07 23:50:37 +02:00
|
|
|
aWebsiteButton.SetData( (void*)WEBSITE_BUTTON );
|
2012-04-10 12:43:48 +01:00
|
|
|
|
|
|
|
// Connect all handlers
|
|
|
|
aCreditsButton.SetClickHdl( LINK( this, AboutDialog, HandleClick ) );
|
2012-06-07 23:50:37 +02:00
|
|
|
aWebsiteButton.SetClickHdl( LINK( this, AboutDialog, HandleClick ) );
|
2011-01-12 11:56:09 +01:00
|
|
|
|
2012-04-16 16:43:39 +01:00
|
|
|
aCancelButton.SetClickHdl( LINK( this, AboutDialog, CancelHdl ) );
|
|
|
|
|
2011-01-12 11:56:09 +01:00
|
|
|
FreeResource();
|
|
|
|
|
2011-04-04 18:02:18 +01:00
|
|
|
// explicit Help-Id
|
2011-01-12 11:56:09 +01:00
|
|
|
SetHelpId( CMD_SID_ABOUT );
|
|
|
|
}
|
|
|
|
|
2012-04-10 12:43:48 +01:00
|
|
|
IMPL_LINK( AboutDialog, HandleClick, PushButton*, pButton )
|
2012-03-09 09:16:47 +00:00
|
|
|
{
|
2012-04-10 12:43:48 +01:00
|
|
|
rtl::OUString sURL = "";
|
|
|
|
|
|
|
|
// Find which button was pressed and from this, get the URL to be opened
|
|
|
|
AboutDialogButton* pDialogButton = (AboutDialogButton*)pButton->GetData();
|
|
|
|
if ( pDialogButton == (AboutDialogButton*)CREDITS_BUTTON )
|
|
|
|
sURL = m_aCreditsLinkStr;
|
2012-06-07 23:50:37 +02:00
|
|
|
else if ( pDialogButton == (AboutDialogButton*)WEBSITE_BUTTON )
|
2012-07-12 15:03:51 +02:00
|
|
|
{
|
2012-07-12 16:19:37 +02:00
|
|
|
sURL = officecfg::Office::Common::Help::StartCenter::InfoURL::get();
|
|
|
|
localizeWebserviceURI(sURL);
|
2012-07-12 15:03:51 +02:00
|
|
|
}
|
2012-04-10 12:43:48 +01:00
|
|
|
|
|
|
|
// If the URL is empty, don't do anything
|
|
|
|
if ( sURL.isEmpty() )
|
2011-04-04 18:02:18 +01:00
|
|
|
return 1;
|
|
|
|
try
|
|
|
|
{
|
2012-09-03 18:27:13 +02:00
|
|
|
Reference< com::sun::star::system::XSystemShellExecute > xSystemShellExecute(
|
|
|
|
com::sun::star::system::SystemShellExecute::create(::comphelper::getProcessComponentContext() ) );
|
|
|
|
xSystemShellExecute->execute( sURL, rtl::OUString(), com::sun::star::system::SystemShellExecuteFlags::URIS_ONLY );
|
2011-04-04 18:02:18 +01:00
|
|
|
}
|
2012-07-12 15:03:51 +02:00
|
|
|
catch (const Exception&)
|
2011-04-04 18:02:18 +01:00
|
|
|
{
|
2012-07-12 15:03:51 +02:00
|
|
|
Any exc( ::cppu::getCaughtException() );
|
2011-04-04 18:02:18 +01:00
|
|
|
rtl::OUString msg( ::comphelper::anyToString( exc ) );
|
|
|
|
const SolarMutexGuard guard;
|
|
|
|
ErrorBox aErrorBox( NULL, WB_OK, msg );
|
2012-04-10 12:43:48 +01:00
|
|
|
aErrorBox.SetText( GetText() );
|
2011-04-04 18:02:18 +01:00
|
|
|
aErrorBox.Execute();
|
|
|
|
}
|
|
|
|
|
|
|
|
return 1;
|
|
|
|
}
|
2011-01-12 11:56:09 +01:00
|
|
|
|
2012-04-10 12:43:48 +01:00
|
|
|
void AboutDialog::StyleControls()
|
|
|
|
{
|
|
|
|
// Make all the controls have a transparent background
|
|
|
|
aLogoImage.SetBackground();
|
2012-07-20 12:22:04 +02:00
|
|
|
aLogoReplacement.SetPaintTransparent( sal_True );
|
2012-04-10 12:43:48 +01:00
|
|
|
aVersionText.SetPaintTransparent( sal_True );
|
|
|
|
aDescriptionText.SetPaintTransparent( sal_True );
|
|
|
|
aCopyrightText.SetPaintTransparent( sal_True );
|
|
|
|
|
|
|
|
Font aLabelFont = GetSettings().GetStyleSettings().GetLabelFont();
|
|
|
|
Font aLargeFont = aLabelFont;
|
2012-07-20 12:22:04 +02:00
|
|
|
aLargeFont.SetSize( Size( 0, aLabelFont.GetSize().Height() * 3 ) );
|
|
|
|
|
|
|
|
// Logo Replacement Text
|
|
|
|
aLogoReplacement.SetControlFont( aLargeFont );
|
|
|
|
aLogoReplacement.SetTextSelectable( sal_False );
|
2012-04-10 12:43:48 +01:00
|
|
|
|
|
|
|
// Description Text
|
2012-07-20 12:22:04 +02:00
|
|
|
aLargeFont.SetSize( Size( 0, aLabelFont.GetSize().Height() * 1.3 ) );
|
2012-04-10 12:43:48 +01:00
|
|
|
aDescriptionText.SetControlFont( aLargeFont );
|
|
|
|
aDescriptionText.SetTextSelectable( sal_False );
|
|
|
|
|
|
|
|
// Version Text
|
|
|
|
aLargeFont.SetSize( Size( 0, aLabelFont.GetSize().Height() * 1.2 ) );
|
|
|
|
aVersionText.SetControlFont( aLargeFont );
|
2012-10-22 17:25:12 +04:00
|
|
|
aVersionText.EnableCursor( sal_False );
|
2012-04-10 12:43:48 +01:00
|
|
|
|
|
|
|
// Copyright Text
|
|
|
|
aCopyrightText.SetTextSelectable( sal_False );
|
2012-07-20 12:22:04 +02:00
|
|
|
|
|
|
|
// If not in high-contrast mode, hard-code colors
|
|
|
|
if ( !(Application::GetSettings().GetStyleSettings().GetHighContrastMode()) )
|
|
|
|
{
|
|
|
|
aLogoReplacement.SetControlForeground( Color( 51, 51, 51 ) );
|
|
|
|
aVersionText.SetControlForeground( Color( 102, 102, 102 ) );
|
|
|
|
aDescriptionText.SetControlForeground( Color( 51, 51, 51 ) );
|
|
|
|
aCopyrightText.SetControlForeground( Color( 102, 102, 102 ) );
|
|
|
|
}
|
|
|
|
|
2012-04-10 12:43:48 +01:00
|
|
|
|
2012-06-03 18:13:05 +02:00
|
|
|
aCancelButton.GrabFocus();
|
2012-04-10 12:43:48 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
void AboutDialog::LayoutControls()
|
|
|
|
{
|
|
|
|
// Get the size of the screen
|
|
|
|
Rectangle aScreenRect = Application::GetScreenPosSizePixel( (unsigned int)0 );
|
|
|
|
// Obtain an appropriate text width from the size of the screen
|
|
|
|
sal_Int32 aIdealTextWidth = aScreenRect.GetWidth() / 2.4;
|
|
|
|
|
2012-06-07 23:50:37 +02:00
|
|
|
sal_Int32 aDialogBorder = 12;
|
2012-07-20 12:22:04 +02:00
|
|
|
Size aDialogSize ( aIdealTextWidth + aDialogBorder * 2, 0 );
|
|
|
|
|
|
|
|
// Preliminarily layout buttons, so we see if we need a wider window
|
|
|
|
Size aButtonSize;
|
|
|
|
Point aButtonPos;
|
|
|
|
sal_Int32 aButtonsWidth = 0;
|
|
|
|
LayoutButtons( aDialogSize.Width(), aDialogBorder, aButtonPos, aButtonSize,
|
|
|
|
aButtonsWidth );
|
|
|
|
|
|
|
|
if (aButtonsWidth > 0)
|
|
|
|
aDialogSize.Width() += aButtonsWidth;
|
2012-04-10 12:43:48 +01:00
|
|
|
|
|
|
|
// Render and Position Logo
|
2012-07-13 15:36:28 +02:00
|
|
|
Size aLogoSize( aIdealTextWidth, aIdealTextWidth / 20 );
|
2012-07-20 12:22:04 +02:00
|
|
|
Point aLogoPos( 0, 0 );
|
2012-07-13 15:36:28 +02:00
|
|
|
|
re-base on ALv2 code. Includes (at least) relevant parts of:
linecap: Reintegrating finished LineCap feature
Patch contributed by Regina Henschel
http://svn.apache.org/viewvc?view=revision&revision=1232507
Patches contributed by Sven Jacobi
impress212: #i81610# fixed animation export
http://svn.apache.org/viewvc?view=revision&revision=1167620
impress212: drawinglayer gbuild environment changes
http://svn.apache.org/viewvc?view=revision&revision=1167627
http://svn.apache.org/viewvc?view=revision&revision=1167628
impress212: DffPropSet -> minor code improvements, removing table
http://svn.apache.org/viewvc?view=revision&revision=1167634
impress212: #158494# fixed excel import (text rotation)
http://svn.apache.org/viewvc?view=revision&revision=1167638
Patches contributed by Armin Le Grand
Svg: Reintegrated Svg replacement from /branches/alg/svgreplavement
http://svn.apache.org/viewvc?view=revision&revision=1220836
#118728# changed indentifying definitions for Svg file detection
http://svn.apache.org/viewvc?view=revision&revision=1229961
#118838# LineGeometry creation for complicated cases optimized to
create single Polygons
http://svn.apache.org/viewvc?view=revision&revision=1236232
#119176# corrected file type detection for SVG for svg files
without xml header
http://svn.apache.org/viewvc?view=revision&revision=1309445
#118728# Extended Svg file detection
http://svn.apache.org/viewvc?view=revision&revision=1230531
#118529# solve break converters and convert commands for OLEs and images
http://svn.apache.org/viewvc?view=revision&revision=1186168
svg: added WaE changes from branch svgreplacement to trunc
http://svn.apache.org/viewvc?view=revision&revision=1222974
svg: corrected missing member initialization
http://svn.apache.org/viewvc?view=revision&revision=1226134
fix for #118525#: Using primitives for chart sub-geometry visualisation
http://svn.apache.org/viewvc?view=revision&revision=1226879
#118898# Adapted ImpGraphic::ImplGetBitmap to correctly convert
metafiles to bitmapEx ...
http://svn.apache.org/viewvc?view=revision&revision=1293316
fix for #118525#: removed no longer used variable maOriginalMapMode, one
more exception eliminated
http://svn.apache.org/viewvc?view=revision&revision=1227097
#16758# Added buffering to the VDev usages of the VclProcessor2D derivates...
http://svn.apache.org/viewvc?view=revision&revision=1229521
#116758# Secured VDev buffer device to Vcl deinit
http://svn.apache.org/viewvc?view=revision&revision=1230574
#116758# added remembering allocated VDevs for VDevBuffer to be able to also
delete these when vcl goes down; it should never happen, but You never know
http://svn.apache.org/viewvc?view=revision&revision=1230927
#118730# Changed SvgClipPathNode to use MaskPrimitive2D for primitive
representation instead of TransparencePrimitive2D
http://svn.apache.org/viewvc?view=revision&revision=1231198
#118822# secured 3D geometry creation (slices) by subdividing the 2D
source polyPolygon early
http://svn.apache.org/viewvc?view=revision&revision=1234749
#118829# enhanced Svg gradient quality, obstacles avoided
http://svn.apache.org/viewvc?view=revision&revision=1235361
#118834# Unified usage of TextBreakupHelper as single tooling class
for i18n text primitive breakup
http://svn.apache.org/viewvc?view=revision&revision=1236110
#118853# added square pixel size limit to conversion of
TransparencePrimitive2D to Metafile action
http://svn.apache.org/viewvc?view=revision&revision=1237656
#118824# coreccted mirroring and boundrect when the graphicmanager
is used for bitmap output
http://svn.apache.org/viewvc?view=revision&revision=1240097
#115092# Corrected VclProcessor2D::RenderPolygonStrokePrimitive2D for
various optimization scenarios
http://svn.apache.org/viewvc?view=revision&revision=1241434
#118783# Corrected errors in ID strings, corrected Svg line/fill export,
corrected polygon close state
http://svn.apache.org/viewvc?view=revision&revision=1232006
#118796# corrected null-pointer usage in SVG text exporter
http://svn.apache.org/viewvc?view=revision&revision=1240262
#118729# Use GraphicStreamUrl and GraphicUrl to allow multi image
import with linked graphics, too
http://svn.apache.org/viewvc?view=revision&revision=1229962
#118898# corrected error in GDIMetaFile::GetBoundRect in handling
MetaFloatTransparentAction
http://svn.apache.org/viewvc?view=revision&revision=1293349
#118855# Corrected handling of possibly created empty clipRegions
after PolyPolygon clipping
http://svn.apache.org/viewvc?view=revision&revision=1237725
#115962# Better (but not yet optimal, see comments in task) handling
of MetaFloatTransparentAction in PDF export
http://svn.apache.org/viewvc?view=revision&revision=1241078
IP clearance: #118466# This patch removes librsvg, libcroco, libgsf, ...
http://svn.apache.org/viewvc?view=revision&revision=1200879
118779# Added svg content streaming in/out to ImpGraphic stream operators
http://svn.apache.org/viewvc?view=revision&revision=1231908
linecap: correctons for WaE and mac drawing
http://svn.apache.org/viewvc?view=revision&revision=1232793
svg: uses current system Dpi for Svg replacement image creation
http://svn.apache.org/viewvc?view=revision&revision=1233948
Patches contributed by Mathias Bauer (and others)
gnumake4 work variously
http://svn.apache.org/viewvc?view=revision&revision=1394326
http://svn.apache.org/viewvc?view=revision&revision=1396797
http://svn.apache.org/viewvc?view=revision&revision=1397315
http://svn.apache.org/viewvc?view=revision&revision=1394326
Remove duplicate header includes.
cws mba34issues01: #i117720#: convert assertion into warning
http://svn.apache.org/viewvc?view=revision&revision=1172352
118485 - Styles for OLEs are not saved. Submitted by Armin Le Grand.
http://svn.apache.org/viewvc?view=revision&revision=1182166
cws mba34issues01: #i117714#: remove assertion
http://svn.apache.org/viewvc?view=revision&revision=1172357
Patch contributed by Jurgen Schmidt
add some additional checks to ensure proper reading operations
http://svn.apache.org/viewvc?view=revision&revision=1209022
mostly prefer our stream / bounds checking work.
Patches contributed by Herbert Duerr
#i118816# add clarifying comment regarding Font::*Color*() methods
http://svn.apache.org/viewvc?view=revision&revision=1233833
extend macro->string handling for empty strings
http://svn.apache.org/viewvc?view=revision&revision=1175801
avoid magic constants for SALCOLOR_NONE
http://svn.apache.org/viewvc?view=revision&revision=1177543
initialize slant properly in ImplFontMetricData constructor (author=iorsh)
http://svn.apache.org/viewvc?view=revision&revision=1177551
#i118675# make check for extension updates more stable
http://svn.apache.org/viewvc?view=revision&revision=1214797
#a118617# remove VBasicEventListener.dll binary
There are no known users depending on its CLSID
http://svn.apache.org/viewvc?view=revision&revision=1203697
Patches contributed by Ariel Constenla-Haile
Fix build breaker on Linux/gcc
http://svn.apache.org/viewvc?view=revision&revision=1221104
Fix crash when trying to instantiate css.graphic.GraphicRasterizer_RSVG
http://svn.apache.org/viewvc?view=revision&revision=1215559
Patches contributed by Oliver-Rainer Wittmann
sw34bf06: #i117962# - method <SwFlyFrm::IsPaint(..)> - consider
instances of <SwFlyDrawObj>
http://svn.apache.org/viewvc?view=revision&revision=1172120
sw34bf06: #i117783# - Writer's implementation of XPagePrintable -
apply print settings to new printing routines
http://svn.apache.org/viewvc?view=revision&revision=1172115
gnumake4 work variously from Hans-Joachim Lankenau
http://svn.apache.org/viewvc?view=revision&revision=1397315
http://svn.apache.org/viewvc?view=revision&revision=1396797
http://svn.apache.org/viewvc?view=revision&revision=1396782
http://svn.apache.org/viewvc?view=revision&revision=1394707
plus some amount of re-splitting of legacy headers.
Patch contributed by Pavel Janik
WaE: Remove unused variables.
http://svn.apache.org/viewvc?view=revision&revision=1230697
Patches contributed by Takashi Ono
mingwport35: i#117795: MinGW port fix for vcl2gnumake
http://svn.apache.org/viewvc?view=revision&revision=1172091
mingwport35: i#117795: MinGW port fix for vcl2gnumake
http://svn.apache.org/viewvc?view=revision&revision=1172091
Patch contributed by Christian Lippka
impress212: #i98044# re enable Text menu for outline and title shapes
http://svn.apache.org/viewvc?view=revision&revision=1167639
Patch contributed by Andre Fischer
118674: Made category B code optional and disabled by default.
http://svn.apache.org/viewvc?view=revision&revision=1215131
118881: Ignore empty paragraphs after bullets.
http://svn.apache.org/viewvc?view=revision&revision=1296205
Patches contributed by Philipp Lohmann
ooo340fixes: #i117780# use rtl allocator
http://svn.apache.org/viewvc?view=revision&revision=1172087
ooo34gsl02: #i117807# fix an off by one error (index actually
inside the pfb section header)
http://svn.apache.org/viewvc?view=revision&revision=1167576
various cleanups, related compilation fixes, warning cleanups, re-working
of obsolete stl template pieces to use boost instead, changed string
classes, re-adapt KDE about data, about dialog, fixing warnings,
and other fixes & improvements.
Disable svg import / render for about/ branding code-paths for now.
Restore full icon theme set.
Remove OS/2 conditionals and sources.
Remove conflicting gtk/full-screen monitors support.
Retain existing svg rasterizer files - temporarily disabled.
Standardize stringificaiton and fixup dllpostfix issues.
Rename SvgGradientHelper::== to equalTo to avoid overloading issues.
Use the flat GdiPlus API for LineCaps calls.
2012-10-09 12:22:23 +01:00
|
|
|
#ifdef FIXME_REMOVE_WHEN_RE_BASE_COMPLETE
|
2012-04-10 12:43:48 +01:00
|
|
|
vcl::RenderGraphicRasterizer aRasterizerLogo = Application::LoadBrandSVG("flat_logo");
|
2012-07-13 15:36:28 +02:00
|
|
|
if ( !aRasterizerLogo.GetRenderGraphic().IsEmpty() &&
|
|
|
|
aRasterizerLogo.GetDefaultSizePixel().Width() > 0 && aRasterizerLogo.GetDefaultSizePixel().Height() > 0 )
|
|
|
|
{
|
|
|
|
const float aLogoWidthHeightRatio = (float)aRasterizerLogo.GetDefaultSizePixel().Width() / (float)aRasterizerLogo.GetDefaultSizePixel().Height();
|
2012-07-20 12:22:04 +02:00
|
|
|
aLogoSize.Width() = aDialogSize.Width() ;
|
|
|
|
aLogoSize.Height() = aLogoSize.Width() / aLogoWidthHeightRatio ;
|
2012-04-10 12:43:48 +01:00
|
|
|
|
2012-07-13 15:36:28 +02:00
|
|
|
aLogoBitmap = aRasterizerLogo.Rasterize( aLogoSize );
|
|
|
|
aLogoImage.SetImage( Image( aLogoBitmap ) );
|
|
|
|
aLogoImage.SetPosSizePixel( aLogoPos, aLogoSize );
|
2012-07-16 14:31:55 +02:00
|
|
|
aLogoImage.Show();
|
2012-07-13 15:36:28 +02:00
|
|
|
}
|
2012-07-20 12:22:04 +02:00
|
|
|
else
|
re-base on ALv2 code. Includes (at least) relevant parts of:
linecap: Reintegrating finished LineCap feature
Patch contributed by Regina Henschel
http://svn.apache.org/viewvc?view=revision&revision=1232507
Patches contributed by Sven Jacobi
impress212: #i81610# fixed animation export
http://svn.apache.org/viewvc?view=revision&revision=1167620
impress212: drawinglayer gbuild environment changes
http://svn.apache.org/viewvc?view=revision&revision=1167627
http://svn.apache.org/viewvc?view=revision&revision=1167628
impress212: DffPropSet -> minor code improvements, removing table
http://svn.apache.org/viewvc?view=revision&revision=1167634
impress212: #158494# fixed excel import (text rotation)
http://svn.apache.org/viewvc?view=revision&revision=1167638
Patches contributed by Armin Le Grand
Svg: Reintegrated Svg replacement from /branches/alg/svgreplavement
http://svn.apache.org/viewvc?view=revision&revision=1220836
#118728# changed indentifying definitions for Svg file detection
http://svn.apache.org/viewvc?view=revision&revision=1229961
#118838# LineGeometry creation for complicated cases optimized to
create single Polygons
http://svn.apache.org/viewvc?view=revision&revision=1236232
#119176# corrected file type detection for SVG for svg files
without xml header
http://svn.apache.org/viewvc?view=revision&revision=1309445
#118728# Extended Svg file detection
http://svn.apache.org/viewvc?view=revision&revision=1230531
#118529# solve break converters and convert commands for OLEs and images
http://svn.apache.org/viewvc?view=revision&revision=1186168
svg: added WaE changes from branch svgreplacement to trunc
http://svn.apache.org/viewvc?view=revision&revision=1222974
svg: corrected missing member initialization
http://svn.apache.org/viewvc?view=revision&revision=1226134
fix for #118525#: Using primitives for chart sub-geometry visualisation
http://svn.apache.org/viewvc?view=revision&revision=1226879
#118898# Adapted ImpGraphic::ImplGetBitmap to correctly convert
metafiles to bitmapEx ...
http://svn.apache.org/viewvc?view=revision&revision=1293316
fix for #118525#: removed no longer used variable maOriginalMapMode, one
more exception eliminated
http://svn.apache.org/viewvc?view=revision&revision=1227097
#16758# Added buffering to the VDev usages of the VclProcessor2D derivates...
http://svn.apache.org/viewvc?view=revision&revision=1229521
#116758# Secured VDev buffer device to Vcl deinit
http://svn.apache.org/viewvc?view=revision&revision=1230574
#116758# added remembering allocated VDevs for VDevBuffer to be able to also
delete these when vcl goes down; it should never happen, but You never know
http://svn.apache.org/viewvc?view=revision&revision=1230927
#118730# Changed SvgClipPathNode to use MaskPrimitive2D for primitive
representation instead of TransparencePrimitive2D
http://svn.apache.org/viewvc?view=revision&revision=1231198
#118822# secured 3D geometry creation (slices) by subdividing the 2D
source polyPolygon early
http://svn.apache.org/viewvc?view=revision&revision=1234749
#118829# enhanced Svg gradient quality, obstacles avoided
http://svn.apache.org/viewvc?view=revision&revision=1235361
#118834# Unified usage of TextBreakupHelper as single tooling class
for i18n text primitive breakup
http://svn.apache.org/viewvc?view=revision&revision=1236110
#118853# added square pixel size limit to conversion of
TransparencePrimitive2D to Metafile action
http://svn.apache.org/viewvc?view=revision&revision=1237656
#118824# coreccted mirroring and boundrect when the graphicmanager
is used for bitmap output
http://svn.apache.org/viewvc?view=revision&revision=1240097
#115092# Corrected VclProcessor2D::RenderPolygonStrokePrimitive2D for
various optimization scenarios
http://svn.apache.org/viewvc?view=revision&revision=1241434
#118783# Corrected errors in ID strings, corrected Svg line/fill export,
corrected polygon close state
http://svn.apache.org/viewvc?view=revision&revision=1232006
#118796# corrected null-pointer usage in SVG text exporter
http://svn.apache.org/viewvc?view=revision&revision=1240262
#118729# Use GraphicStreamUrl and GraphicUrl to allow multi image
import with linked graphics, too
http://svn.apache.org/viewvc?view=revision&revision=1229962
#118898# corrected error in GDIMetaFile::GetBoundRect in handling
MetaFloatTransparentAction
http://svn.apache.org/viewvc?view=revision&revision=1293349
#118855# Corrected handling of possibly created empty clipRegions
after PolyPolygon clipping
http://svn.apache.org/viewvc?view=revision&revision=1237725
#115962# Better (but not yet optimal, see comments in task) handling
of MetaFloatTransparentAction in PDF export
http://svn.apache.org/viewvc?view=revision&revision=1241078
IP clearance: #118466# This patch removes librsvg, libcroco, libgsf, ...
http://svn.apache.org/viewvc?view=revision&revision=1200879
118779# Added svg content streaming in/out to ImpGraphic stream operators
http://svn.apache.org/viewvc?view=revision&revision=1231908
linecap: correctons for WaE and mac drawing
http://svn.apache.org/viewvc?view=revision&revision=1232793
svg: uses current system Dpi for Svg replacement image creation
http://svn.apache.org/viewvc?view=revision&revision=1233948
Patches contributed by Mathias Bauer (and others)
gnumake4 work variously
http://svn.apache.org/viewvc?view=revision&revision=1394326
http://svn.apache.org/viewvc?view=revision&revision=1396797
http://svn.apache.org/viewvc?view=revision&revision=1397315
http://svn.apache.org/viewvc?view=revision&revision=1394326
Remove duplicate header includes.
cws mba34issues01: #i117720#: convert assertion into warning
http://svn.apache.org/viewvc?view=revision&revision=1172352
118485 - Styles for OLEs are not saved. Submitted by Armin Le Grand.
http://svn.apache.org/viewvc?view=revision&revision=1182166
cws mba34issues01: #i117714#: remove assertion
http://svn.apache.org/viewvc?view=revision&revision=1172357
Patch contributed by Jurgen Schmidt
add some additional checks to ensure proper reading operations
http://svn.apache.org/viewvc?view=revision&revision=1209022
mostly prefer our stream / bounds checking work.
Patches contributed by Herbert Duerr
#i118816# add clarifying comment regarding Font::*Color*() methods
http://svn.apache.org/viewvc?view=revision&revision=1233833
extend macro->string handling for empty strings
http://svn.apache.org/viewvc?view=revision&revision=1175801
avoid magic constants for SALCOLOR_NONE
http://svn.apache.org/viewvc?view=revision&revision=1177543
initialize slant properly in ImplFontMetricData constructor (author=iorsh)
http://svn.apache.org/viewvc?view=revision&revision=1177551
#i118675# make check for extension updates more stable
http://svn.apache.org/viewvc?view=revision&revision=1214797
#a118617# remove VBasicEventListener.dll binary
There are no known users depending on its CLSID
http://svn.apache.org/viewvc?view=revision&revision=1203697
Patches contributed by Ariel Constenla-Haile
Fix build breaker on Linux/gcc
http://svn.apache.org/viewvc?view=revision&revision=1221104
Fix crash when trying to instantiate css.graphic.GraphicRasterizer_RSVG
http://svn.apache.org/viewvc?view=revision&revision=1215559
Patches contributed by Oliver-Rainer Wittmann
sw34bf06: #i117962# - method <SwFlyFrm::IsPaint(..)> - consider
instances of <SwFlyDrawObj>
http://svn.apache.org/viewvc?view=revision&revision=1172120
sw34bf06: #i117783# - Writer's implementation of XPagePrintable -
apply print settings to new printing routines
http://svn.apache.org/viewvc?view=revision&revision=1172115
gnumake4 work variously from Hans-Joachim Lankenau
http://svn.apache.org/viewvc?view=revision&revision=1397315
http://svn.apache.org/viewvc?view=revision&revision=1396797
http://svn.apache.org/viewvc?view=revision&revision=1396782
http://svn.apache.org/viewvc?view=revision&revision=1394707
plus some amount of re-splitting of legacy headers.
Patch contributed by Pavel Janik
WaE: Remove unused variables.
http://svn.apache.org/viewvc?view=revision&revision=1230697
Patches contributed by Takashi Ono
mingwport35: i#117795: MinGW port fix for vcl2gnumake
http://svn.apache.org/viewvc?view=revision&revision=1172091
mingwport35: i#117795: MinGW port fix for vcl2gnumake
http://svn.apache.org/viewvc?view=revision&revision=1172091
Patch contributed by Christian Lippka
impress212: #i98044# re enable Text menu for outline and title shapes
http://svn.apache.org/viewvc?view=revision&revision=1167639
Patch contributed by Andre Fischer
118674: Made category B code optional and disabled by default.
http://svn.apache.org/viewvc?view=revision&revision=1215131
118881: Ignore empty paragraphs after bullets.
http://svn.apache.org/viewvc?view=revision&revision=1296205
Patches contributed by Philipp Lohmann
ooo340fixes: #i117780# use rtl allocator
http://svn.apache.org/viewvc?view=revision&revision=1172087
ooo34gsl02: #i117807# fix an off by one error (index actually
inside the pfb section header)
http://svn.apache.org/viewvc?view=revision&revision=1167576
various cleanups, related compilation fixes, warning cleanups, re-working
of obsolete stl template pieces to use boost instead, changed string
classes, re-adapt KDE about data, about dialog, fixing warnings,
and other fixes & improvements.
Disable svg import / render for about/ branding code-paths for now.
Restore full icon theme set.
Remove OS/2 conditionals and sources.
Remove conflicting gtk/full-screen monitors support.
Retain existing svg rasterizer files - temporarily disabled.
Standardize stringificaiton and fixup dllpostfix issues.
Rename SvgGradientHelper::== to equalTo to avoid overloading issues.
Use the flat GdiPlus API for LineCaps calls.
2012-10-09 12:22:23 +01:00
|
|
|
#endif
|
2012-07-20 12:22:04 +02:00
|
|
|
{
|
|
|
|
aLogoPos.X() = aDialogBorder;
|
|
|
|
aLogoPos.Y() = aDialogBorder;
|
|
|
|
aLogoSize = aLogoReplacement.CalcMinimumSize();
|
|
|
|
aLogoSize.Width() = aIdealTextWidth;
|
|
|
|
aLogoReplacement.SetPosSizePixel( aLogoPos, aLogoSize );
|
|
|
|
}
|
2012-04-10 12:43:48 +01:00
|
|
|
|
|
|
|
// Position version text
|
|
|
|
sal_Int32 aLogoVersionSpacing = aLogoSize.Height() * 0.15;
|
2012-06-07 23:50:37 +02:00
|
|
|
Point aVersionPos( aDialogBorder,
|
2012-04-10 12:43:48 +01:00
|
|
|
aLogoPos.Y() + aLogoSize.Height() + aLogoVersionSpacing );
|
2012-11-24 21:17:15 +01:00
|
|
|
Size aVersionSize = aVersionText.GetSizePixel();
|
2012-04-10 12:43:48 +01:00
|
|
|
aVersionSize.Width() = aIdealTextWidth;
|
|
|
|
aVersionText.SetPosSizePixel( aVersionPos, aVersionSize );
|
2012-11-24 21:17:15 +01:00
|
|
|
aVersionSize = aVersionText.CalcMinimumSize();
|
|
|
|
aVersionText.SetSizePixel( aVersionSize );
|
2012-04-10 12:43:48 +01:00
|
|
|
|
|
|
|
// Position description text
|
|
|
|
sal_Int32 aVersionDescriptionSpacing = aLogoSize.Height() * 0.45;
|
2012-06-07 23:50:37 +02:00
|
|
|
Point aDescriptionPos( aDialogBorder, aVersionPos.Y() + aVersionSize.Height() + aVersionDescriptionSpacing );
|
2012-04-10 12:43:48 +01:00
|
|
|
Size aDescriptionSize = aDescriptionText.GetSizePixel();
|
|
|
|
aDescriptionSize.Width() = aIdealTextWidth;
|
|
|
|
aDescriptionText.SetPosSizePixel( aDescriptionPos, aDescriptionSize );
|
|
|
|
aDescriptionSize = aDescriptionText.CalcMinimumSize();
|
|
|
|
aDescriptionText.SetSizePixel( aDescriptionSize );
|
|
|
|
|
|
|
|
// Layout copyright text
|
2012-06-07 23:50:37 +02:00
|
|
|
Point aCopyrightPos( aDialogBorder, aDescriptionPos.Y() + aDescriptionText.GetSizePixel().Height() + aVersionDescriptionSpacing );
|
2012-04-10 12:43:48 +01:00
|
|
|
Size aCopyrightSize = aCopyrightText.GetSizePixel();
|
|
|
|
aCopyrightSize.Width() = aIdealTextWidth;
|
|
|
|
aCopyrightText.SetPosSizePixel( aCopyrightPos, aCopyrightSize );
|
|
|
|
aCopyrightSize = aCopyrightText.CalcMinimumSize();
|
|
|
|
aCopyrightSize.Width() = aIdealTextWidth;
|
|
|
|
aCopyrightText.SetSizePixel( aCopyrightSize );
|
|
|
|
|
2012-07-20 12:22:04 +02:00
|
|
|
// Move buttons into final place
|
|
|
|
sal_Int32 aButtonPosY = aDialogBorder + aCopyrightPos.Y() +
|
|
|
|
aCopyrightText.GetSizePixel().Height() + aVersionDescriptionSpacing;
|
2012-06-03 18:13:05 +02:00
|
|
|
|
2012-07-20 12:22:04 +02:00
|
|
|
MoveControl(aCreditsButton, 0, aButtonPosY);
|
|
|
|
MoveControl(aWebsiteButton, 0, aButtonPosY);
|
|
|
|
MoveControl(aCancelButton, 0, aButtonPosY);
|
2012-06-03 18:13:05 +02:00
|
|
|
|
2012-07-20 12:22:04 +02:00
|
|
|
// The centers everything again, if aDialogSize.Width() has become wider
|
|
|
|
// before; the -20 "fixes" a weird text centering bug
|
|
|
|
MoveControl(aVersionText, (aDialogSize.Width() - aVersionText.GetSizePixel().Width() - 20)/2, 0);
|
|
|
|
MoveControl(aDescriptionText, (aDialogSize.Width() - aDescriptionText.GetSizePixel().Width() - 20)/2, 0);
|
|
|
|
MoveControl(aCopyrightText, (aDialogSize.Width() - aCopyrightText.GetSizePixel().Width() - 20)/2, 0);
|
2012-06-03 18:13:05 +02:00
|
|
|
|
2012-07-20 12:22:04 +02:00
|
|
|
aDialogSize.Height() = aButtonPosY + aButtonSize.Height() + aDialogBorder;
|
2012-04-10 12:43:48 +01:00
|
|
|
|
2012-06-07 23:50:37 +02:00
|
|
|
|
2012-07-20 12:22:04 +02:00
|
|
|
// Layout background image
|
re-base on ALv2 code. Includes (at least) relevant parts of:
linecap: Reintegrating finished LineCap feature
Patch contributed by Regina Henschel
http://svn.apache.org/viewvc?view=revision&revision=1232507
Patches contributed by Sven Jacobi
impress212: #i81610# fixed animation export
http://svn.apache.org/viewvc?view=revision&revision=1167620
impress212: drawinglayer gbuild environment changes
http://svn.apache.org/viewvc?view=revision&revision=1167627
http://svn.apache.org/viewvc?view=revision&revision=1167628
impress212: DffPropSet -> minor code improvements, removing table
http://svn.apache.org/viewvc?view=revision&revision=1167634
impress212: #158494# fixed excel import (text rotation)
http://svn.apache.org/viewvc?view=revision&revision=1167638
Patches contributed by Armin Le Grand
Svg: Reintegrated Svg replacement from /branches/alg/svgreplavement
http://svn.apache.org/viewvc?view=revision&revision=1220836
#118728# changed indentifying definitions for Svg file detection
http://svn.apache.org/viewvc?view=revision&revision=1229961
#118838# LineGeometry creation for complicated cases optimized to
create single Polygons
http://svn.apache.org/viewvc?view=revision&revision=1236232
#119176# corrected file type detection for SVG for svg files
without xml header
http://svn.apache.org/viewvc?view=revision&revision=1309445
#118728# Extended Svg file detection
http://svn.apache.org/viewvc?view=revision&revision=1230531
#118529# solve break converters and convert commands for OLEs and images
http://svn.apache.org/viewvc?view=revision&revision=1186168
svg: added WaE changes from branch svgreplacement to trunc
http://svn.apache.org/viewvc?view=revision&revision=1222974
svg: corrected missing member initialization
http://svn.apache.org/viewvc?view=revision&revision=1226134
fix for #118525#: Using primitives for chart sub-geometry visualisation
http://svn.apache.org/viewvc?view=revision&revision=1226879
#118898# Adapted ImpGraphic::ImplGetBitmap to correctly convert
metafiles to bitmapEx ...
http://svn.apache.org/viewvc?view=revision&revision=1293316
fix for #118525#: removed no longer used variable maOriginalMapMode, one
more exception eliminated
http://svn.apache.org/viewvc?view=revision&revision=1227097
#16758# Added buffering to the VDev usages of the VclProcessor2D derivates...
http://svn.apache.org/viewvc?view=revision&revision=1229521
#116758# Secured VDev buffer device to Vcl deinit
http://svn.apache.org/viewvc?view=revision&revision=1230574
#116758# added remembering allocated VDevs for VDevBuffer to be able to also
delete these when vcl goes down; it should never happen, but You never know
http://svn.apache.org/viewvc?view=revision&revision=1230927
#118730# Changed SvgClipPathNode to use MaskPrimitive2D for primitive
representation instead of TransparencePrimitive2D
http://svn.apache.org/viewvc?view=revision&revision=1231198
#118822# secured 3D geometry creation (slices) by subdividing the 2D
source polyPolygon early
http://svn.apache.org/viewvc?view=revision&revision=1234749
#118829# enhanced Svg gradient quality, obstacles avoided
http://svn.apache.org/viewvc?view=revision&revision=1235361
#118834# Unified usage of TextBreakupHelper as single tooling class
for i18n text primitive breakup
http://svn.apache.org/viewvc?view=revision&revision=1236110
#118853# added square pixel size limit to conversion of
TransparencePrimitive2D to Metafile action
http://svn.apache.org/viewvc?view=revision&revision=1237656
#118824# coreccted mirroring and boundrect when the graphicmanager
is used for bitmap output
http://svn.apache.org/viewvc?view=revision&revision=1240097
#115092# Corrected VclProcessor2D::RenderPolygonStrokePrimitive2D for
various optimization scenarios
http://svn.apache.org/viewvc?view=revision&revision=1241434
#118783# Corrected errors in ID strings, corrected Svg line/fill export,
corrected polygon close state
http://svn.apache.org/viewvc?view=revision&revision=1232006
#118796# corrected null-pointer usage in SVG text exporter
http://svn.apache.org/viewvc?view=revision&revision=1240262
#118729# Use GraphicStreamUrl and GraphicUrl to allow multi image
import with linked graphics, too
http://svn.apache.org/viewvc?view=revision&revision=1229962
#118898# corrected error in GDIMetaFile::GetBoundRect in handling
MetaFloatTransparentAction
http://svn.apache.org/viewvc?view=revision&revision=1293349
#118855# Corrected handling of possibly created empty clipRegions
after PolyPolygon clipping
http://svn.apache.org/viewvc?view=revision&revision=1237725
#115962# Better (but not yet optimal, see comments in task) handling
of MetaFloatTransparentAction in PDF export
http://svn.apache.org/viewvc?view=revision&revision=1241078
IP clearance: #118466# This patch removes librsvg, libcroco, libgsf, ...
http://svn.apache.org/viewvc?view=revision&revision=1200879
118779# Added svg content streaming in/out to ImpGraphic stream operators
http://svn.apache.org/viewvc?view=revision&revision=1231908
linecap: correctons for WaE and mac drawing
http://svn.apache.org/viewvc?view=revision&revision=1232793
svg: uses current system Dpi for Svg replacement image creation
http://svn.apache.org/viewvc?view=revision&revision=1233948
Patches contributed by Mathias Bauer (and others)
gnumake4 work variously
http://svn.apache.org/viewvc?view=revision&revision=1394326
http://svn.apache.org/viewvc?view=revision&revision=1396797
http://svn.apache.org/viewvc?view=revision&revision=1397315
http://svn.apache.org/viewvc?view=revision&revision=1394326
Remove duplicate header includes.
cws mba34issues01: #i117720#: convert assertion into warning
http://svn.apache.org/viewvc?view=revision&revision=1172352
118485 - Styles for OLEs are not saved. Submitted by Armin Le Grand.
http://svn.apache.org/viewvc?view=revision&revision=1182166
cws mba34issues01: #i117714#: remove assertion
http://svn.apache.org/viewvc?view=revision&revision=1172357
Patch contributed by Jurgen Schmidt
add some additional checks to ensure proper reading operations
http://svn.apache.org/viewvc?view=revision&revision=1209022
mostly prefer our stream / bounds checking work.
Patches contributed by Herbert Duerr
#i118816# add clarifying comment regarding Font::*Color*() methods
http://svn.apache.org/viewvc?view=revision&revision=1233833
extend macro->string handling for empty strings
http://svn.apache.org/viewvc?view=revision&revision=1175801
avoid magic constants for SALCOLOR_NONE
http://svn.apache.org/viewvc?view=revision&revision=1177543
initialize slant properly in ImplFontMetricData constructor (author=iorsh)
http://svn.apache.org/viewvc?view=revision&revision=1177551
#i118675# make check for extension updates more stable
http://svn.apache.org/viewvc?view=revision&revision=1214797
#a118617# remove VBasicEventListener.dll binary
There are no known users depending on its CLSID
http://svn.apache.org/viewvc?view=revision&revision=1203697
Patches contributed by Ariel Constenla-Haile
Fix build breaker on Linux/gcc
http://svn.apache.org/viewvc?view=revision&revision=1221104
Fix crash when trying to instantiate css.graphic.GraphicRasterizer_RSVG
http://svn.apache.org/viewvc?view=revision&revision=1215559
Patches contributed by Oliver-Rainer Wittmann
sw34bf06: #i117962# - method <SwFlyFrm::IsPaint(..)> - consider
instances of <SwFlyDrawObj>
http://svn.apache.org/viewvc?view=revision&revision=1172120
sw34bf06: #i117783# - Writer's implementation of XPagePrintable -
apply print settings to new printing routines
http://svn.apache.org/viewvc?view=revision&revision=1172115
gnumake4 work variously from Hans-Joachim Lankenau
http://svn.apache.org/viewvc?view=revision&revision=1397315
http://svn.apache.org/viewvc?view=revision&revision=1396797
http://svn.apache.org/viewvc?view=revision&revision=1396782
http://svn.apache.org/viewvc?view=revision&revision=1394707
plus some amount of re-splitting of legacy headers.
Patch contributed by Pavel Janik
WaE: Remove unused variables.
http://svn.apache.org/viewvc?view=revision&revision=1230697
Patches contributed by Takashi Ono
mingwport35: i#117795: MinGW port fix for vcl2gnumake
http://svn.apache.org/viewvc?view=revision&revision=1172091
mingwport35: i#117795: MinGW port fix for vcl2gnumake
http://svn.apache.org/viewvc?view=revision&revision=1172091
Patch contributed by Christian Lippka
impress212: #i98044# re enable Text menu for outline and title shapes
http://svn.apache.org/viewvc?view=revision&revision=1167639
Patch contributed by Andre Fischer
118674: Made category B code optional and disabled by default.
http://svn.apache.org/viewvc?view=revision&revision=1215131
118881: Ignore empty paragraphs after bullets.
http://svn.apache.org/viewvc?view=revision&revision=1296205
Patches contributed by Philipp Lohmann
ooo340fixes: #i117780# use rtl allocator
http://svn.apache.org/viewvc?view=revision&revision=1172087
ooo34gsl02: #i117807# fix an off by one error (index actually
inside the pfb section header)
http://svn.apache.org/viewvc?view=revision&revision=1167576
various cleanups, related compilation fixes, warning cleanups, re-working
of obsolete stl template pieces to use boost instead, changed string
classes, re-adapt KDE about data, about dialog, fixing warnings,
and other fixes & improvements.
Disable svg import / render for about/ branding code-paths for now.
Restore full icon theme set.
Remove OS/2 conditionals and sources.
Remove conflicting gtk/full-screen monitors support.
Retain existing svg rasterizer files - temporarily disabled.
Standardize stringificaiton and fixup dllpostfix issues.
Rename SvgGradientHelper::== to equalTo to avoid overloading issues.
Use the flat GdiPlus API for LineCaps calls.
2012-10-09 12:22:23 +01:00
|
|
|
#ifdef FIXME_REMOVE_WHEN_RE_BASE_COMPLETE
|
2012-07-20 12:22:04 +02:00
|
|
|
if ( !(Application::GetSettings().GetStyleSettings().GetHighContrastMode()) ) {
|
|
|
|
vcl::RenderGraphicRasterizer aRasterizerBackground = Application::LoadBrandSVG("shell/about");
|
|
|
|
|
|
|
|
if ( !aRasterizerBackground.GetRenderGraphic().IsEmpty() &&
|
|
|
|
aRasterizerBackground.GetDefaultSizePixel().Width() > 0 && aRasterizerBackground.GetDefaultSizePixel().Height() > 0 )
|
|
|
|
{
|
|
|
|
const float aBackgroundWidthHeightRatio = (float)aRasterizerBackground.GetDefaultSizePixel().Width() /
|
|
|
|
(float)aRasterizerBackground.GetDefaultSizePixel().Height();
|
|
|
|
Size aBackgroundSize (aDialogSize.Width(), aDialogSize.Width() / aBackgroundWidthHeightRatio );
|
|
|
|
|
|
|
|
if ( aBackgroundSize.Height() < aDialogSize.Height())
|
|
|
|
{
|
|
|
|
aBackgroundSize.Width() = aDialogSize.Height() * aBackgroundWidthHeightRatio ;
|
|
|
|
aBackgroundSize.Height() = aDialogSize.Height();
|
|
|
|
}
|
|
|
|
|
|
|
|
aBackgroundBitmap = aRasterizerBackground.Rasterize( aBackgroundSize );
|
|
|
|
}
|
2012-04-10 12:43:48 +01:00
|
|
|
}
|
re-base on ALv2 code. Includes (at least) relevant parts of:
linecap: Reintegrating finished LineCap feature
Patch contributed by Regina Henschel
http://svn.apache.org/viewvc?view=revision&revision=1232507
Patches contributed by Sven Jacobi
impress212: #i81610# fixed animation export
http://svn.apache.org/viewvc?view=revision&revision=1167620
impress212: drawinglayer gbuild environment changes
http://svn.apache.org/viewvc?view=revision&revision=1167627
http://svn.apache.org/viewvc?view=revision&revision=1167628
impress212: DffPropSet -> minor code improvements, removing table
http://svn.apache.org/viewvc?view=revision&revision=1167634
impress212: #158494# fixed excel import (text rotation)
http://svn.apache.org/viewvc?view=revision&revision=1167638
Patches contributed by Armin Le Grand
Svg: Reintegrated Svg replacement from /branches/alg/svgreplavement
http://svn.apache.org/viewvc?view=revision&revision=1220836
#118728# changed indentifying definitions for Svg file detection
http://svn.apache.org/viewvc?view=revision&revision=1229961
#118838# LineGeometry creation for complicated cases optimized to
create single Polygons
http://svn.apache.org/viewvc?view=revision&revision=1236232
#119176# corrected file type detection for SVG for svg files
without xml header
http://svn.apache.org/viewvc?view=revision&revision=1309445
#118728# Extended Svg file detection
http://svn.apache.org/viewvc?view=revision&revision=1230531
#118529# solve break converters and convert commands for OLEs and images
http://svn.apache.org/viewvc?view=revision&revision=1186168
svg: added WaE changes from branch svgreplacement to trunc
http://svn.apache.org/viewvc?view=revision&revision=1222974
svg: corrected missing member initialization
http://svn.apache.org/viewvc?view=revision&revision=1226134
fix for #118525#: Using primitives for chart sub-geometry visualisation
http://svn.apache.org/viewvc?view=revision&revision=1226879
#118898# Adapted ImpGraphic::ImplGetBitmap to correctly convert
metafiles to bitmapEx ...
http://svn.apache.org/viewvc?view=revision&revision=1293316
fix for #118525#: removed no longer used variable maOriginalMapMode, one
more exception eliminated
http://svn.apache.org/viewvc?view=revision&revision=1227097
#16758# Added buffering to the VDev usages of the VclProcessor2D derivates...
http://svn.apache.org/viewvc?view=revision&revision=1229521
#116758# Secured VDev buffer device to Vcl deinit
http://svn.apache.org/viewvc?view=revision&revision=1230574
#116758# added remembering allocated VDevs for VDevBuffer to be able to also
delete these when vcl goes down; it should never happen, but You never know
http://svn.apache.org/viewvc?view=revision&revision=1230927
#118730# Changed SvgClipPathNode to use MaskPrimitive2D for primitive
representation instead of TransparencePrimitive2D
http://svn.apache.org/viewvc?view=revision&revision=1231198
#118822# secured 3D geometry creation (slices) by subdividing the 2D
source polyPolygon early
http://svn.apache.org/viewvc?view=revision&revision=1234749
#118829# enhanced Svg gradient quality, obstacles avoided
http://svn.apache.org/viewvc?view=revision&revision=1235361
#118834# Unified usage of TextBreakupHelper as single tooling class
for i18n text primitive breakup
http://svn.apache.org/viewvc?view=revision&revision=1236110
#118853# added square pixel size limit to conversion of
TransparencePrimitive2D to Metafile action
http://svn.apache.org/viewvc?view=revision&revision=1237656
#118824# coreccted mirroring and boundrect when the graphicmanager
is used for bitmap output
http://svn.apache.org/viewvc?view=revision&revision=1240097
#115092# Corrected VclProcessor2D::RenderPolygonStrokePrimitive2D for
various optimization scenarios
http://svn.apache.org/viewvc?view=revision&revision=1241434
#118783# Corrected errors in ID strings, corrected Svg line/fill export,
corrected polygon close state
http://svn.apache.org/viewvc?view=revision&revision=1232006
#118796# corrected null-pointer usage in SVG text exporter
http://svn.apache.org/viewvc?view=revision&revision=1240262
#118729# Use GraphicStreamUrl and GraphicUrl to allow multi image
import with linked graphics, too
http://svn.apache.org/viewvc?view=revision&revision=1229962
#118898# corrected error in GDIMetaFile::GetBoundRect in handling
MetaFloatTransparentAction
http://svn.apache.org/viewvc?view=revision&revision=1293349
#118855# Corrected handling of possibly created empty clipRegions
after PolyPolygon clipping
http://svn.apache.org/viewvc?view=revision&revision=1237725
#115962# Better (but not yet optimal, see comments in task) handling
of MetaFloatTransparentAction in PDF export
http://svn.apache.org/viewvc?view=revision&revision=1241078
IP clearance: #118466# This patch removes librsvg, libcroco, libgsf, ...
http://svn.apache.org/viewvc?view=revision&revision=1200879
118779# Added svg content streaming in/out to ImpGraphic stream operators
http://svn.apache.org/viewvc?view=revision&revision=1231908
linecap: correctons for WaE and mac drawing
http://svn.apache.org/viewvc?view=revision&revision=1232793
svg: uses current system Dpi for Svg replacement image creation
http://svn.apache.org/viewvc?view=revision&revision=1233948
Patches contributed by Mathias Bauer (and others)
gnumake4 work variously
http://svn.apache.org/viewvc?view=revision&revision=1394326
http://svn.apache.org/viewvc?view=revision&revision=1396797
http://svn.apache.org/viewvc?view=revision&revision=1397315
http://svn.apache.org/viewvc?view=revision&revision=1394326
Remove duplicate header includes.
cws mba34issues01: #i117720#: convert assertion into warning
http://svn.apache.org/viewvc?view=revision&revision=1172352
118485 - Styles for OLEs are not saved. Submitted by Armin Le Grand.
http://svn.apache.org/viewvc?view=revision&revision=1182166
cws mba34issues01: #i117714#: remove assertion
http://svn.apache.org/viewvc?view=revision&revision=1172357
Patch contributed by Jurgen Schmidt
add some additional checks to ensure proper reading operations
http://svn.apache.org/viewvc?view=revision&revision=1209022
mostly prefer our stream / bounds checking work.
Patches contributed by Herbert Duerr
#i118816# add clarifying comment regarding Font::*Color*() methods
http://svn.apache.org/viewvc?view=revision&revision=1233833
extend macro->string handling for empty strings
http://svn.apache.org/viewvc?view=revision&revision=1175801
avoid magic constants for SALCOLOR_NONE
http://svn.apache.org/viewvc?view=revision&revision=1177543
initialize slant properly in ImplFontMetricData constructor (author=iorsh)
http://svn.apache.org/viewvc?view=revision&revision=1177551
#i118675# make check for extension updates more stable
http://svn.apache.org/viewvc?view=revision&revision=1214797
#a118617# remove VBasicEventListener.dll binary
There are no known users depending on its CLSID
http://svn.apache.org/viewvc?view=revision&revision=1203697
Patches contributed by Ariel Constenla-Haile
Fix build breaker on Linux/gcc
http://svn.apache.org/viewvc?view=revision&revision=1221104
Fix crash when trying to instantiate css.graphic.GraphicRasterizer_RSVG
http://svn.apache.org/viewvc?view=revision&revision=1215559
Patches contributed by Oliver-Rainer Wittmann
sw34bf06: #i117962# - method <SwFlyFrm::IsPaint(..)> - consider
instances of <SwFlyDrawObj>
http://svn.apache.org/viewvc?view=revision&revision=1172120
sw34bf06: #i117783# - Writer's implementation of XPagePrintable -
apply print settings to new printing routines
http://svn.apache.org/viewvc?view=revision&revision=1172115
gnumake4 work variously from Hans-Joachim Lankenau
http://svn.apache.org/viewvc?view=revision&revision=1397315
http://svn.apache.org/viewvc?view=revision&revision=1396797
http://svn.apache.org/viewvc?view=revision&revision=1396782
http://svn.apache.org/viewvc?view=revision&revision=1394707
plus some amount of re-splitting of legacy headers.
Patch contributed by Pavel Janik
WaE: Remove unused variables.
http://svn.apache.org/viewvc?view=revision&revision=1230697
Patches contributed by Takashi Ono
mingwport35: i#117795: MinGW port fix for vcl2gnumake
http://svn.apache.org/viewvc?view=revision&revision=1172091
mingwport35: i#117795: MinGW port fix for vcl2gnumake
http://svn.apache.org/viewvc?view=revision&revision=1172091
Patch contributed by Christian Lippka
impress212: #i98044# re enable Text menu for outline and title shapes
http://svn.apache.org/viewvc?view=revision&revision=1167639
Patch contributed by Andre Fischer
118674: Made category B code optional and disabled by default.
http://svn.apache.org/viewvc?view=revision&revision=1215131
118881: Ignore empty paragraphs after bullets.
http://svn.apache.org/viewvc?view=revision&revision=1296205
Patches contributed by Philipp Lohmann
ooo340fixes: #i117780# use rtl allocator
http://svn.apache.org/viewvc?view=revision&revision=1172087
ooo34gsl02: #i117807# fix an off by one error (index actually
inside the pfb section header)
http://svn.apache.org/viewvc?view=revision&revision=1167576
various cleanups, related compilation fixes, warning cleanups, re-working
of obsolete stl template pieces to use boost instead, changed string
classes, re-adapt KDE about data, about dialog, fixing warnings,
and other fixes & improvements.
Disable svg import / render for about/ branding code-paths for now.
Restore full icon theme set.
Remove OS/2 conditionals and sources.
Remove conflicting gtk/full-screen monitors support.
Retain existing svg rasterizer files - temporarily disabled.
Standardize stringificaiton and fixup dllpostfix issues.
Rename SvgGradientHelper::== to equalTo to avoid overloading issues.
Use the flat GdiPlus API for LineCaps calls.
2012-10-09 12:22:23 +01:00
|
|
|
#endif
|
2012-04-10 12:43:48 +01:00
|
|
|
|
2012-07-02 08:37:53 +02:00
|
|
|
SetOutputSizePixel( aDialogSize );
|
2012-06-07 23:50:37 +02:00
|
|
|
|
2012-04-10 12:43:48 +01:00
|
|
|
}
|
|
|
|
|
2012-06-07 23:50:37 +02:00
|
|
|
void AboutDialog::LayoutButtons(sal_Int32 aDialogWidth, sal_Int32 aDialogBorder,
|
2012-07-20 12:22:04 +02:00
|
|
|
Point& aButtonPos, Size& aButtonSize,
|
|
|
|
sal_Int32& aButtonsWidth )
|
2012-04-10 12:43:48 +01:00
|
|
|
{
|
|
|
|
// Position credits button
|
|
|
|
sal_Int32 aButtonVPadding = 5;
|
|
|
|
sal_Int32 aButtonHPadding = 4;
|
2012-06-03 18:13:05 +02:00
|
|
|
sal_Int32 aAdjacentButtonSpacing = 15;
|
2012-04-10 12:43:48 +01:00
|
|
|
sal_Int32 aCreditsButtonWidth = aCreditsButton.CalcMinimumSize().Width();
|
|
|
|
sal_Int32 aWebsiteButtonWidth = aWebsiteButton.CalcMinimumSize().Width();
|
2012-06-03 18:13:05 +02:00
|
|
|
sal_Int32 aCancelButtonWidth = aCancelButton.CalcMinimumSize().Width();
|
|
|
|
sal_Int32 aLargestButtonWidth = 70;
|
2012-04-10 12:43:48 +01:00
|
|
|
|
2012-06-03 18:13:05 +02:00
|
|
|
if ( aLargestButtonWidth < aCreditsButtonWidth )
|
2012-04-10 12:43:48 +01:00
|
|
|
aLargestButtonWidth = aCreditsButtonWidth;
|
2012-06-03 18:13:05 +02:00
|
|
|
if ( aLargestButtonWidth < aWebsiteButtonWidth )
|
2012-04-10 12:43:48 +01:00
|
|
|
aLargestButtonWidth = aWebsiteButtonWidth;
|
2012-06-03 18:13:05 +02:00
|
|
|
if ( aLargestButtonWidth < aCancelButtonWidth )
|
|
|
|
aLargestButtonWidth = aCancelButtonWidth;
|
2012-04-10 12:43:48 +01:00
|
|
|
|
|
|
|
aButtonSize.Width() = aLargestButtonWidth + ( 2 * aButtonHPadding );
|
|
|
|
aButtonSize.Height() = aWebsiteButton.CalcMinimumSize().Height() + ( 2 * aButtonVPadding );
|
|
|
|
|
|
|
|
aCreditsButton.SetSizePixel( aButtonSize );
|
|
|
|
aWebsiteButton.SetSizePixel( aButtonSize );
|
2012-06-03 18:13:05 +02:00
|
|
|
aCancelButton.SetSizePixel( aButtonSize );
|
2012-04-10 12:43:48 +01:00
|
|
|
|
2012-07-02 08:37:53 +02:00
|
|
|
sal_Int32 aButtonSpacing = aDialogWidth - ( aDialogBorder * 2 ) - ( aButtonSize.Width() * 3 ) - aAdjacentButtonSpacing ;
|
2012-06-07 23:50:37 +02:00
|
|
|
if (aButtonSpacing < aAdjacentButtonSpacing)
|
|
|
|
{
|
|
|
|
aButtonsWidth = aAdjacentButtonSpacing - aButtonSpacing;
|
|
|
|
aButtonSpacing = aAdjacentButtonSpacing;
|
|
|
|
}
|
|
|
|
|
|
|
|
aButtonPos.X() = aDialogBorder;
|
2012-07-20 12:22:04 +02:00
|
|
|
aButtonPos.Y() = 0;
|
2012-04-10 12:43:48 +01:00
|
|
|
|
|
|
|
aCreditsButton.SetPosPixel( aButtonPos );
|
|
|
|
|
2012-06-03 18:13:05 +02:00
|
|
|
aButtonPos.X() += aButtonSize.Width() + aAdjacentButtonSpacing;
|
2012-04-10 12:43:48 +01:00
|
|
|
aWebsiteButton.SetPosPixel( aButtonPos );
|
|
|
|
|
|
|
|
aButtonPos.X() += aButtonSize.Width() + aButtonSpacing;
|
2012-06-03 18:13:05 +02:00
|
|
|
aCancelButton.SetPosPixel( aButtonPos );
|
|
|
|
|
|
|
|
|
2012-04-10 12:43:48 +01:00
|
|
|
}
|
|
|
|
|
2012-06-07 23:50:37 +02:00
|
|
|
void AboutDialog::MoveControl(Control& rControl, sal_Int32 X, sal_Int32 Y)
|
2012-04-10 12:43:48 +01:00
|
|
|
{
|
|
|
|
Point aControlPos = rControl.GetPosPixel();
|
|
|
|
aControlPos.X() += X;
|
2012-06-07 23:50:37 +02:00
|
|
|
aControlPos.Y() += Y;
|
2012-04-10 12:43:48 +01:00
|
|
|
rControl.SetPosPixel(aControlPos);
|
|
|
|
}
|
|
|
|
|
2011-01-12 11:56:09 +01:00
|
|
|
void AboutDialog::Paint( const Rectangle& rRect )
|
|
|
|
{
|
|
|
|
SetClipRegion( rRect );
|
2012-07-20 12:22:04 +02:00
|
|
|
Point aPos ( rRect.GetWidth() - aBackgroundBitmap.GetSizePixel().Width(), rRect.GetHeight() - aBackgroundBitmap.GetSizePixel().Height() );
|
2012-04-10 12:43:48 +01:00
|
|
|
DrawBitmapEx( aPos, aBackgroundBitmap );
|
|
|
|
}
|
|
|
|
|
|
|
|
rtl::OUString AboutDialog::GetBuildId()
|
|
|
|
{
|
|
|
|
rtl::OUString sDefault;
|
|
|
|
rtl::OUString sBuildId(utl::Bootstrap::getBuildVersion(sDefault));
|
|
|
|
if (!sBuildId.isEmpty())
|
|
|
|
return sBuildId;
|
|
|
|
|
|
|
|
sBuildId = utl::Bootstrap::getBuildIdData(sDefault);
|
|
|
|
|
|
|
|
if (!sBuildId.isEmpty())
|
|
|
|
{
|
|
|
|
sal_Int32 nIndex = 0;
|
|
|
|
return sBuildId.getToken( 0, '-', nIndex );
|
|
|
|
}
|
|
|
|
|
|
|
|
OSL_ENSURE( !sBuildId.isEmpty(), "No BUILDID in bootstrap file" );
|
|
|
|
return sBuildId;
|
|
|
|
}
|
|
|
|
|
|
|
|
rtl::OUString AboutDialog::GetVersionString()
|
|
|
|
{
|
2012-04-29 23:36:57 +01:00
|
|
|
rtl::OUString sVersion = m_aVersionTextStr;
|
2012-04-10 12:43:48 +01:00
|
|
|
|
|
|
|
rtl::OUString sBuildId = GetBuildId();
|
|
|
|
|
2012-04-25 16:06:16 +01:00
|
|
|
if (!sBuildId.trim().isEmpty())
|
2012-04-10 12:43:48 +01:00
|
|
|
{
|
|
|
|
sVersion += " ";
|
2012-04-25 16:06:16 +01:00
|
|
|
if (m_sBuildStr.indexOf("$BUILDID") == -1)
|
|
|
|
{
|
|
|
|
SAL_WARN( "cui.dialogs", "translated Build Id string in translations doesn't contain $BUILDID placeholder" );
|
|
|
|
m_sBuildStr += " $BUILDID";
|
|
|
|
}
|
2012-04-16 16:33:41 +01:00
|
|
|
sVersion += m_sBuildStr.replaceAll("$BUILDID", sBuildId);
|
2012-04-10 12:43:48 +01:00
|
|
|
}
|
|
|
|
|
2012-11-29 18:21:30 +01:00
|
|
|
#ifdef EXTRA_BUILDID
|
|
|
|
sVersion += "\n";
|
|
|
|
sVersion += EXTRA_BUILDID;
|
|
|
|
#endif
|
|
|
|
|
2012-04-10 12:43:48 +01:00
|
|
|
return sVersion;
|
|
|
|
}
|
|
|
|
|
|
|
|
rtl::OUString AboutDialog::GetCopyrightString()
|
|
|
|
{
|
|
|
|
rtl::OUString aCopyrightString = m_aVendorTextStr;
|
|
|
|
aCopyrightString += "\n";
|
|
|
|
|
|
|
|
aCopyrightString += m_aCopyrightTextStr;
|
|
|
|
aCopyrightString += "\n";
|
|
|
|
|
|
|
|
if (utl::ConfigManager::getProductName().equals("LibreOffice"))
|
|
|
|
aCopyrightString += m_aBasedTextStr;
|
|
|
|
else
|
|
|
|
aCopyrightString += m_aBasedDerivedTextStr;
|
|
|
|
|
|
|
|
return aCopyrightString;
|
|
|
|
}
|
|
|
|
|
|
|
|
IMPL_LINK_NOARG(AboutDialog, CancelHdl)
|
|
|
|
{
|
|
|
|
Close();
|
|
|
|
return 0;
|
2011-04-04 18:02:18 +01:00
|
|
|
}
|
2011-01-12 11:56:09 +01:00
|
|
|
|
2011-04-04 18:02:18 +01:00
|
|
|
sal_Bool AboutDialog::Close()
|
|
|
|
{
|
|
|
|
EndDialog( RET_OK );
|
|
|
|
return sal_False;
|
2011-01-12 11:56:09 +01:00
|
|
|
}
|
2011-04-04 18:02:18 +01:00
|
|
|
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|