LCOV - code coverage report
Current view: top level - libreoffice/sw/source/ui/utlui - initui.cxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 49 105 46.7 %
Date: 2012-12-27 Functions: 5 19 26.3 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*
       3             :  * This file is part of the LibreOffice project.
       4             :  *
       5             :  * This Source Code Form is subject to the terms of the Mozilla Public
       6             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8             :  *
       9             :  * This file incorporates work covered by the following license notice:
      10             :  *
      11             :  *   Licensed to the Apache Software Foundation (ASF) under one or more
      12             :  *   contributor license agreements. See the NOTICE file distributed
      13             :  *   with this work for additional information regarding copyright
      14             :  *   ownership. The ASF licenses this file to you under the Apache
      15             :  *   License, Version 2.0 (the "License"); you may not use this file
      16             :  *   except in compliance with the License. You may obtain a copy of
      17             :  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
      18             :  */
      19             : 
      20             : #include <unotools/localedatawrapper.hxx>
      21             : #include <viewsh.hxx>
      22             : #include <initui.hxx>
      23             : #include <edtwin.hxx>
      24             : #include <shellres.hxx>
      25             : #include <fldbas.hxx>
      26             : #include <glosdoc.hxx>
      27             : #include <gloslst.hxx>
      28             : 
      29             : #include <utlui.hrc>
      30             : #include <initui.hrc>
      31             : #include <comcore.hrc>
      32             : #include <authfld.hxx>
      33             : #include <dbmgr.hxx>
      34             : #include <unotools/syslocale.hxx>
      35             : 
      36             : #include <unomid.h>
      37             : 
      38             : /*--------------------------------------------------------------------
      39             :     Beschreibung:   globale Pointer
      40             :  --------------------------------------------------------------------*/
      41             : 
      42             : SwGlossaries*       pGlossaries = 0;
      43             : 
      44             : // Liefert alle benoetigten Pfade. Wird durch UI initialisiert
      45             : SwGlossaryList*     pGlossaryList = 0;
      46             : 
      47             : String* pOldGrfCat = 0;
      48             : String* pOldTabCat = 0;
      49             : String* pOldFrmCat = 0;
      50             : String* pOldDrwCat = 0;
      51             : String* pCurrGlosGroup = 0;
      52             : 
      53           0 : String* GetOldGrfCat()
      54             : {
      55           0 :     return pOldGrfCat;
      56             : }
      57           0 : String* GetOldTabCat()
      58             : {
      59           0 :     return pOldTabCat;
      60             : }
      61           0 : String* GetOldFrmCat()
      62             : {
      63           0 :     return pOldFrmCat;
      64             : }
      65           0 : String* GetOldDrwCat()
      66             : {
      67           0 :     return pOldDrwCat;
      68             : }
      69           0 : String* GetCurrGlosGroup()
      70             : {
      71           0 :     return pCurrGlosGroup;
      72             : }
      73           0 : void SetCurrGlosGroup(String* pStr)
      74             : {
      75           0 :     pCurrGlosGroup = pStr;
      76           0 : }
      77             : 
      78             : std::vector<String>* pDBNameList = 0;
      79             : 
      80             : std::vector<String>*  pAuthFieldNameList = 0;
      81             : std::vector<String>*  pAuthFieldTypeList = 0;
      82             : 
      83             : /*--------------------------------------------------------------------
      84             :     Beschreibung:   UI beenden
      85             :  --------------------------------------------------------------------*/
      86             : 
      87          10 : void _FinitUI()
      88             : {
      89          10 :     SwNewDBMgr::RemoveDbtoolsClient();
      90          10 :     delete ViewShell::GetShellRes();
      91          10 :     ViewShell::SetShellRes( 0 );
      92             : 
      93          10 :     SwEditWin::_FinitStaticData();
      94             : 
      95          10 :     DELETEZ(pGlossaries);
      96             : 
      97          10 :     delete SwFieldType::pFldNames;
      98             : 
      99          10 :     delete pOldGrfCat;
     100          10 :     delete pOldTabCat;
     101          10 :     delete pOldFrmCat;
     102          10 :     delete pOldDrwCat;
     103          10 :     delete pCurrGlosGroup;
     104          10 :     delete pDBNameList;
     105          10 :     delete pGlossaryList;
     106          10 :     delete pAuthFieldNameList;
     107          10 :     delete pAuthFieldTypeList;
     108             : 
     109             : 
     110          10 : }
     111             : /*--------------------------------------------------------------------
     112             :     Beschreibung:   Initialisierung
     113             :  --------------------------------------------------------------------*/
     114             : 
     115             : 
     116          10 : void _InitUI()
     117             : {
     118             :     // ShellResource gibt der CORE die Moeglichkeit mit Resourcen zu arbeiten
     119          10 :     ViewShell::SetShellRes( new ShellResource );
     120          10 :     pDBNameList = new std::vector<String>;
     121          10 :     SwEditWin::_InitStaticData();
     122          10 : }
     123             : 
     124             : 
     125          11 : ShellResource::ShellResource()
     126             :     : Resource( SW_RES(RID_SW_SHELLRES) ),
     127             :     aPostItAuthor( SW_RES( STR_POSTIT_AUTHOR ) ),
     128             :     aPostItPage( SW_RES( STR_POSTIT_PAGE ) ),
     129             :     aPostItLine( SW_RES( STR_POSTIT_LINE ) ),
     130             : 
     131             :     aCalc_Syntax( SW_RES( STR_CALC_SYNTAX ) ),
     132             :     aCalc_ZeroDiv( SW_RES( STR_CALC_ZERODIV ) ),
     133             :     aCalc_Brack( SW_RES( STR_CALC_BRACK ) ),
     134             :     aCalc_Pow( SW_RES( STR_CALC_POW ) ),
     135             :     aCalc_VarNFnd( SW_RES( STR_CALC_VARNFND ) ),
     136             :     aCalc_Overflow( SW_RES( STR_CALC_OVERFLOW ) ),
     137             :     aCalc_WrongTime( SW_RES( STR_CALC_WRONGTIME ) ),
     138             :     aCalc_Default( SW_RES( STR_CALC_DEFAULT ) ),
     139             :     aCalc_Error( SW_RES( STR_CALC_ERROR ) ),
     140             : 
     141             :     aGetRefFld_Up( SW_RES( STR_GETREFFLD_UP ) ),
     142             :     aGetRefFld_Down( SW_RES( STR_GETREFFLD_DOWN ) ),
     143             :     // #i81002#
     144             :     aGetRefFld_RefItemNotFound( SW_RES( STR_GETREFFLD_REFITEMNOTFOUND ) ),
     145             :     aStrAllPageHeadFoot( SW_RES( STR_ALLPAGE_HEADFOOT ) ),
     146             :     aStrNone( SW_RES( STR_TEMPLATE_NONE )),
     147             :     aFixedStr( SW_RES( STR_FIELD_FIXED )),
     148             :     sDurationFormat( SW_RES( STR_DURATION_FORMAT )),
     149             : 
     150             :     aTOXIndexName(          SW_RES(STR_TOI)),
     151             :     aTOXUserName(           SW_RES(STR_TOU)),
     152             :     aTOXContentName(        SW_RES(STR_TOC)),
     153             :     aTOXIllustrationsName(  SW_RES(STR_TOX_ILL)),
     154             :     aTOXObjectsName(        SW_RES(STR_TOX_OBJ)),
     155             :     aTOXTablesName(         SW_RES(STR_TOX_TBL)),
     156             :     aTOXAuthoritiesName(    SW_RES(STR_TOX_AUTH)),
     157             :     aHyperlinkClick( SW_RES( STR_HYPERLINK_CLICK)),
     158             :     pAutoFmtNameLst(0),
     159             :     sPageDescFirstName(     SW_RES(STR_PAGEDESC_FIRSTNAME)),
     160             :     sPageDescFollowName(    SW_RES(STR_PAGEDESC_FOLLOWNAME)),
     161          11 :     sPageDescName(          SW_RES(STR_PAGEDESC_NAME))
     162             : {
     163          11 :     const sal_uInt16 nCount = FLD_DOCINFO_END - FLD_DOCINFO_BEGIN;
     164             : 
     165          11 :     KeyCode aCode( KEY_SPACE );
     166          11 :     KeyCode aModifiedCode( KEY_SPACE, KEY_MOD1 );
     167          11 :     String aModStr( aModifiedCode.GetName() );
     168          11 :     aModStr.SearchAndReplace( aCode.GetName(), String() );
     169          11 :     aModStr.SearchAndReplaceAllAscii( "+", String() );
     170          11 :     aHyperlinkClick.SearchAndReplaceAllAscii( "%s", aModStr );
     171             : 
     172         110 :     for(sal_uInt16 i = 0; i < nCount; ++i)
     173          99 :         aDocInfoLst.push_back(String(SW_RESSTR(FLD_DOCINFO_BEGIN + i)));
     174             : 
     175          11 :     FreeResource();
     176          11 : }
     177             : 
     178          22 : ShellResource::~ShellResource()
     179             : {
     180          11 :     delete pAutoFmtNameLst;
     181          11 : }
     182             : 
     183           7 : String ShellResource::GetPageDescName( sal_uInt16 nNo, PageNameMode eMode )
     184             : {
     185           7 :     String sRet;
     186             : 
     187           7 :     switch (eMode)
     188             :     {
     189             :         case NORMAL_PAGE:
     190           3 :             sRet = sPageDescName;
     191           3 :             break;
     192             :         case FIRST_PAGE:
     193           3 :             sRet = sPageDescFirstName;
     194           3 :             break;
     195             :         case FOLLOW_PAGE:
     196           1 :             sRet = sPageDescFollowName;
     197           1 :             break;
     198             :     }
     199             : 
     200           7 :     sRet.SearchAndReplaceAscii( "$(ARG1)", String::CreateFromInt32( nNo ));
     201           7 :     return sRet;
     202             : }
     203             : 
     204             : 
     205           0 : SwGlossaries* GetGlossaries()
     206             : {
     207           0 :     if (!pGlossaries)
     208           0 :         pGlossaries = new SwGlossaries;
     209           0 :     return (pGlossaries);
     210             : }
     211             : 
     212           0 : sal_Bool HasGlossaryList()
     213             : {
     214           0 :     return pGlossaryList != 0;
     215             : }
     216             : 
     217           0 : SwGlossaryList* GetGlossaryList()
     218             : {
     219           0 :     if(!pGlossaryList)
     220           0 :         pGlossaryList = new SwGlossaryList();
     221             : 
     222           0 :     return pGlossaryList;
     223             : }
     224             : 
     225           0 : struct ImpAutoFmtNameListLoader : public Resource
     226             : {
     227             :     ImpAutoFmtNameListLoader( std::vector<String>& rLst );
     228             : };
     229             : 
     230           0 : void ShellResource::_GetAutoFmtNameLst() const
     231             : {
     232             :     assert(!pAutoFmtNameLst);
     233           0 :     pAutoFmtNameLst = new std::vector<String>;
     234           0 :     pAutoFmtNameLst->reserve(STR_AUTOFMTREDL_END);
     235           0 :     ImpAutoFmtNameListLoader aTmp(*pAutoFmtNameLst);
     236           0 : }
     237             : 
     238           0 : ImpAutoFmtNameListLoader::ImpAutoFmtNameListLoader( std::vector<String>& rLst )
     239           0 :     : Resource( ResId(RID_SHELLRES_AUTOFMTSTRS, *pSwResMgr) )
     240             : {
     241           0 :     for( sal_uInt16 n = 0; n < STR_AUTOFMTREDL_END; ++n )
     242             :     {
     243           0 :         String p(ResId(n + 1, *pSwResMgr));
     244           0 :         if(STR_AUTOFMTREDL_TYPO == n)
     245             :         {
     246             : #ifdef WNT
     247             :             //fuer Windows Sonderbehandlung, da MS hier ein paar Zeichen im Dialogfont vergessen hat
     248             :             p.SearchAndReplace(rtl::OUString("%1"), rtl::OUString(",,"));
     249             :             p.SearchAndReplace(rtl::OUString("%2"), rtl::OUString("''"));
     250             : #else
     251           0 :             const SvtSysLocale aSysLocale;
     252           0 :             const LocaleDataWrapper& rLclD = aSysLocale.GetLocaleData();
     253             :             //unter richtigen Betriebssystemen funktioniert es auch so
     254           0 :             p.SearchAndReplace(rtl::OUString("%1"), rLclD.getDoubleQuotationMarkStart());
     255           0 :             p.SearchAndReplace(rtl::OUString("%2"), rLclD.getDoubleQuotationMarkEnd());
     256             : #endif
     257             :         }
     258           0 :         rLst.insert(rLst.begin() + n, p);
     259           0 :     }
     260           0 :     FreeResource();
     261           0 : }
     262             : 
     263           0 : const String&   SwAuthorityFieldType::GetAuthFieldName(ToxAuthorityField eType)
     264             : {
     265           0 :     if(!pAuthFieldNameList)
     266             :     {
     267           0 :         pAuthFieldNameList = new std::vector<String>;
     268           0 :         pAuthFieldNameList->reserve(AUTH_FIELD_END);
     269           0 :         for(sal_uInt16 i = 0; i < AUTH_FIELD_END; ++i)
     270           0 :             pAuthFieldNameList->push_back(String(SW_RES(STR_AUTH_FIELD_START + i)));
     271             :     }
     272           0 :     return (*pAuthFieldNameList)[static_cast< sal_uInt16 >(eType)];
     273             : }
     274             : 
     275           0 : const String&   SwAuthorityFieldType::GetAuthTypeName(ToxAuthorityType eType)
     276             : {
     277           0 :     if(!pAuthFieldTypeList)
     278             :     {
     279           0 :         pAuthFieldTypeList = new std::vector<String>;
     280           0 :         pAuthFieldTypeList->reserve(AUTH_TYPE_END);
     281           0 :         for(sal_uInt16 i = 0; i < AUTH_TYPE_END; ++i)
     282           0 :             pAuthFieldTypeList->push_back(String(SW_RES(STR_AUTH_TYPE_START + i)));
     283             :     }
     284           0 :     return (*pAuthFieldTypeList)[static_cast< sal_uInt16 >(eType)];
     285             : }
     286             : 
     287             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10