summaryrefslogtreecommitdiff
path: root/uui/source/newerverwarn.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'uui/source/newerverwarn.cxx')
-rw-r--r--uui/source/newerverwarn.cxx175
1 files changed, 0 insertions, 175 deletions
diff --git a/uui/source/newerverwarn.cxx b/uui/source/newerverwarn.cxx
deleted file mode 100644
index 2688f117c39b..000000000000
--- a/uui/source/newerverwarn.cxx
+++ /dev/null
@@ -1,175 +0,0 @@
-/* -*- 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/.
- *
- * 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 .
- */
-
-#include <config_features.h>
-#include <config_folders.h>
-
-#include "newerverwarn.hxx"
-#include "newerverwarn.hrc"
-#include "ids.hrc"
-
-#include <com/sun/star/frame/Desktop.hpp>
-#include <com/sun/star/frame/XDispatchProvider.hpp>
-#include <com/sun/star/system/SystemShellExecute.hpp>
-#include <com/sun/star/system/SystemShellExecuteFlags.hpp>
-#include <com/sun/star/util/URLTransformer.hpp>
-#include <com/sun/star/util/XURLTransformer.hpp>
-#include <com/sun/star/container/XHierarchicalNameAccess.hpp>
-
-#include <comphelper/processfactory.hxx>
-#include <rtl/bootstrap.hxx>
-#include <tools/diagnose_ex.h>
-#include <vcl/msgbox.hxx>
-#include <osl/process.h>
-#include <officecfg/Office/Addons.hxx>
-
-using namespace com::sun::star;
-
-namespace uui
-{
-
-NewerVersionWarningDialog::NewerVersionWarningDialog(
- Window* pParent, const OUString& rVersion, ResMgr& rResMgr ) :
-
- ModalDialog( pParent, ResId( RID_DLG_NEWER_VERSION_WARNING, rResMgr ) ),
-
- m_aImage ( this, ResId( FI_IMAGE, rResMgr ) ),
- m_aInfoText ( this, ResId( FT_INFO, rResMgr ) ),
- m_aButtonLine ( this, ResId( FL_BUTTON, rResMgr ) ),
- m_aUpdateBtn ( this, ResId( PB_UPDATE, rResMgr ) ),
- m_aLaterBtn ( this, ResId( PB_LATER, rResMgr ) ),
- m_sVersion ( rVersion )
-{
- FreeResource();
-
- m_aUpdateBtn.SetClickHdl( LINK( this, NewerVersionWarningDialog, UpdateHdl ) );
- m_aLaterBtn.SetClickHdl( LINK( this, NewerVersionWarningDialog, LaterHdl ) );
-
- InitButtonWidth();
-}
-
-NewerVersionWarningDialog::~NewerVersionWarningDialog()
-{
-}
-
-IMPL_LINK_NOARG(NewerVersionWarningDialog, UpdateHdl)
-{
- // detect execute path
- OUString sProgramPath;
- osl_getExecutableFile( &sProgramPath.pData );
- sal_uInt32 nLastIndex = sProgramPath.lastIndexOf( '/' );
- if ( nLastIndex > 0 )
- sProgramPath = sProgramPath.copy( 0, nLastIndex + 1 );
-
- // read keys from soffice.ini (sofficerc)
- OUString sIniFileName = sProgramPath;
-#if HAVE_FEATURE_MACOSX_MACLIKE_APP_STRUCTURE
- sIniFileName += "../" LIBO_ETC_FOLDER "/";
-#endif
- sIniFileName += SAL_CONFIGFILE( "version" );
- ::rtl::Bootstrap aIniFile( sIniFileName );
- OUString sNotifyURL;
- aIniFile.getFrom( OUString( "ODFNotifyURL" ), sNotifyURL );
-
- try
- {
- uno::Reference< uno::XComponentContext > xContext = ::comphelper::getProcessComponentContext();
- if ( !sNotifyURL.isEmpty() && !m_sVersion.isEmpty() )
- {
- uno::Reference< com::sun::star::system::XSystemShellExecute > xSystemShell( com::sun::star::system::SystemShellExecute::create(xContext) );
- sNotifyURL += m_sVersion;
- if ( !sNotifyURL.isEmpty() )
- {
- xSystemShell->execute(
- sNotifyURL, OUString(), com::sun::star::system::SystemShellExecuteFlags::URIS_ONLY );
- }
- }
- else
- {
- // TODO: do we need to respect the /org.openoffice.Office.Jobs/Jobs/
- // UpdateCheck/Arguments/AutoCheckEnabled configuration flag?
- // Finally, its meaning is "are automatic updates enabled", but this
- // here is not an automatic update, but one triggered explicitly by
- // the user.
- css::uno::Reference< css::container::XHierarchicalNameAccess > xOfficeHelp(officecfg::Office::Addons::AddonUI::OfficeHelp::get(xContext), css::uno::UNO_QUERY_THROW);
-
- util::URL aURL;
- if ( xOfficeHelp->getByHierarchicalName("['UpdateCheckJob']/URL") >>= aURL.Complete )
- {
- uno::Reference< util::XURLTransformer > xTransformer( util::URLTransformer::create(xContext) );
- xTransformer->parseStrict( aURL );
-
- uno::Reference < frame::XDesktop2 > xDesktop = frame::Desktop::create(xContext);
-
- uno::Reference< frame::XDispatchProvider > xDispatchProvider(
- xDesktop->getCurrentFrame(), uno::UNO_QUERY );
- if ( !xDispatchProvider.is() )
- xDispatchProvider = uno::Reference < frame::XDispatchProvider > ( xDesktop, uno::UNO_QUERY );
-
- uno::Reference< frame::XDispatch > xDispatch =
- xDispatchProvider->queryDispatch( aURL, OUString(), 0 );
- if ( xDispatch.is() )
- xDispatch->dispatch( aURL, uno::Sequence< beans::PropertyValue >() );
- }
- }
- }
- catch( const uno::Exception& )
- {
- DBG_UNHANDLED_EXCEPTION();
- }
-
- EndDialog( RET_OK );
- return 0;
-}
-
-IMPL_LINK_NOARG(NewerVersionWarningDialog, LaterHdl)
-{
- EndDialog( RET_ASK_LATER );
- return 0;
-}
-
-void NewerVersionWarningDialog::InitButtonWidth()
-{
- // one button too small for its text?
- long nBtnTextWidth = m_aUpdateBtn.GetCtrlTextWidth( m_aUpdateBtn.GetText() );
- long nTemp = m_aLaterBtn.GetCtrlTextWidth( m_aLaterBtn.GetText() );
- if ( nTemp > nBtnTextWidth )
- nBtnTextWidth = nTemp;
- nBtnTextWidth = nBtnTextWidth * 115 / 100; // a little offset
- long nMaxBtnWidth = LogicToPixel( Size( MAX_BUTTON_WIDTH, 0 ), MAP_APPFONT ).Width();
- nBtnTextWidth = std::min( nBtnTextWidth, nMaxBtnWidth );
- long nButtonWidth = m_aUpdateBtn .GetSizePixel().Width();
-
- if ( nBtnTextWidth > nButtonWidth )
- {
- long nDelta = nBtnTextWidth - nButtonWidth;
- Point aNewPos = m_aUpdateBtn.GetPosPixel();
- aNewPos.X() -= 2*nDelta;
- Size aNewSize = m_aUpdateBtn.GetSizePixel();
- aNewSize.Width() += nDelta;
- m_aUpdateBtn.SetPosSizePixel( aNewPos, aNewSize );
- aNewPos = m_aLaterBtn.GetPosPixel();
- aNewPos.X() -= nDelta;
- m_aLaterBtn.SetPosSizePixel( aNewPos, aNewSize );
- }
-}
-
-} // end of namespace uui
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */