LCOV - code coverage report
Current view: top level - svx/source/gallery2 - galbrws2.cxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 0 553 0.0 %
Date: 2012-08-25 Functions: 0 48 0.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 0 1164 0.0 %

           Branch data     Line data    Source code
       1                 :            : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2                 :            : /*************************************************************************
       3                 :            :  *
       4                 :            :  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       5                 :            :  *
       6                 :            :  * Copyright 2000, 2010 Oracle and/or its affiliates.
       7                 :            :  *
       8                 :            :  * OpenOffice.org - a multi-platform office productivity suite
       9                 :            :  *
      10                 :            :  * This file is part of OpenOffice.org.
      11                 :            :  *
      12                 :            :  * OpenOffice.org is free software: you can redistribute it and/or modify
      13                 :            :  * it under the terms of the GNU Lesser General Public License version 3
      14                 :            :  * only, as published by the Free Software Foundation.
      15                 :            :  *
      16                 :            :  * OpenOffice.org is distributed in the hope that it will be useful,
      17                 :            :  * but WITHOUT ANY WARRANTY; without even the implied warranty of
      18                 :            :  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      19                 :            :  * GNU Lesser General Public License version 3 for more details
      20                 :            :  * (a copy is included in the LICENSE file that accompanied this code).
      21                 :            :  *
      22                 :            :  * You should have received a copy of the GNU Lesser General Public License
      23                 :            :  * version 3 along with OpenOffice.org.  If not, see
      24                 :            :  * <http://www.openoffice.org/license.html>
      25                 :            :  * for a copy of the LGPLv3 License.
      26                 :            :  *
      27                 :            :  ************************************************************************/
      28                 :            : 
      29                 :            : 
      30                 :            : #include <comphelper/string.hxx>
      31                 :            : #include <sot/formats.hxx>
      32                 :            : #include <vcl/msgbox.hxx>
      33                 :            : #include <svl/urlbmk.hxx>
      34                 :            : #include <svl/stritem.hxx>
      35                 :            : #include <svl/intitem.hxx>
      36                 :            : #include <svl/eitem.hxx>
      37                 :            : #include <svtools/transfer.hxx>
      38                 :            : #include <sfx2/bindings.hxx>
      39                 :            : #include <sfx2/dispatch.hxx>
      40                 :            : #include <sfx2/viewfrm.hxx>
      41                 :            : #include <sfx2/sfxsids.hrc>
      42                 :            : #include "svtools/filter.hxx"
      43                 :            : #include <editeng/brshitem.hxx>
      44                 :            : #include "helpid.hrc"
      45                 :            : #include "svx/gallery.hxx"
      46                 :            : #include "galobj.hxx"
      47                 :            : #include "svx/gallery1.hxx"
      48                 :            : #include "svx/galtheme.hxx"
      49                 :            : #include "svx/galctrl.hxx"
      50                 :            : #include "svx/galmisc.hxx"
      51                 :            : #include "galbrws2.hxx"
      52                 :            : #include "gallery.hrc"
      53                 :            : #include <vcl/svapp.hxx>
      54                 :            : #include <svx/fmmodel.hxx>
      55                 :            : #include <svx/dialmgr.hxx>
      56                 :            : #include <svx/svxdlg.hxx>
      57                 :            : #include <svx/dialogs.hrc>
      58                 :            : 
      59                 :            : // -----------
      60                 :            : // - Defines -
      61                 :            : // -----------
      62                 :            : 
      63                 :            : #undef GALLERY_USE_CLIPBOARD
      64                 :            : 
      65                 :            : #define TBX_ID_ICON 1
      66                 :            : #define TBX_ID_LIST 2
      67                 :            : 
      68                 :            : // -----------
      69                 :            : // - statics -
      70                 :            : // -----------
      71                 :            : 
      72                 :            : GalleryBrowserMode GalleryBrowser2::meInitMode = GALLERYBROWSERMODE_ICON;
      73                 :            : 
      74                 :            : // --------------------------
      75                 :            : // - GalleryBackgroundPopup -
      76                 :            : // --------------------------
      77                 :            : 
      78                 :            : class GalleryBackgroundPopup : public PopupMenu, public SfxControllerItem
      79                 :            : {
      80                 :            :     const GalleryTheme* mpTheme;
      81                 :            :     sal_uIntPtr             mnObjectPos;
      82                 :            : 
      83                 :            :     virtual void        Select();
      84                 :            :     virtual void        StateChanged( sal_uInt16 nSID, SfxItemState eState, const SfxPoolItem* pState );
      85                 :            : 
      86                 :            : public:
      87                 :            : 
      88                 :            :                     GalleryBackgroundPopup( const GalleryTheme* pTheme, sal_uIntPtr nObjectPos );
      89                 :            :                     ~GalleryBackgroundPopup();
      90                 :            : };
      91                 :            : 
      92                 :            : // ------------------------------------------------------------------------
      93                 :            : 
      94                 :          0 : GalleryBackgroundPopup::GalleryBackgroundPopup( const GalleryTheme* pTheme, sal_uIntPtr nObjectPos ) :
      95         [ #  # ]:          0 :             SfxControllerItem   ( SID_GALLERY_BG_BRUSH, SfxViewFrame::Current()->GetBindings() ),
      96                 :            :             mpTheme             ( pTheme ),
      97         [ #  # ]:          0 :             mnObjectPos         ( nObjectPos )
      98                 :            : {
      99 [ #  # ][ #  # ]:          0 :     SfxViewFrame::Current()->GetBindings().Update( SID_GALLERY_BG_BRUSH );
     100         [ #  # ]:          0 :     RemoveDisabledEntries();
     101                 :          0 : }
     102                 :            : 
     103                 :            : // ------------------------------------------------------------------------
     104                 :            : 
     105         [ #  # ]:          0 : GalleryBackgroundPopup::~GalleryBackgroundPopup()
     106                 :            : {
     107         [ #  # ]:          0 : }
     108                 :            : 
     109                 :            : // ------------------------------------------------------------------------
     110                 :            : 
     111                 :          0 : void GalleryBackgroundPopup::StateChanged( sal_uInt16 nSID, SfxItemState eState, const SfxPoolItem* pItem )
     112                 :            : {
     113 [ #  # ][ #  # ]:          0 :     if ( ( nSID == SID_GALLERY_BG_BRUSH ) && pItem && ( eState != SFX_ITEM_DISABLED ) )
                 [ #  # ]
     114                 :            :     {
     115                 :            :         SfxStringListItem*  pStrLstItem;
     116                 :            :         SfxStringItem*      pStrItem;
     117                 :            : 
     118                 :          0 :         PopupMenu::Clear();
     119                 :            : 
     120 [ #  # ][ #  # ]:          0 :         if( ( pStrLstItem = PTR_CAST( SfxStringListItem, pItem ) ) != NULL )
                 [ #  # ]
     121                 :            :         {
     122                 :          0 :             const std::vector<String> &aList = pStrLstItem->GetList();
     123                 :            : 
     124         [ #  # ]:          0 :             for ( sal_uIntPtr i = 0, nCount = aList.size(); i < nCount; i++ )
     125                 :          0 :                 InsertItem( (sal_uInt16) i + 1, aList[i]);
     126                 :            :         }
     127 [ #  # ][ #  # ]:          0 :         else if( ( pStrItem = PTR_CAST( SfxStringItem, pItem ) ) != NULL )
                 [ #  # ]
     128                 :          0 :             InsertItem( 1, pStrItem->GetValue() );
     129                 :            :         else
     130                 :            :         {
     131                 :            :             OSL_FAIL( "SgaBGPopup::StateChanged(...): Wrong item type!" );
     132                 :            :         }
     133                 :            :     }
     134                 :          0 : }
     135                 :            : 
     136                 :            : // ------------------------------------------------------------------------
     137                 :            : 
     138                 :          0 : void GalleryBackgroundPopup::Select()
     139                 :            : {
     140         [ #  # ]:          0 :     Menu::Select();
     141                 :            : 
     142 [ #  # ][ #  # ]:          0 :     const INetURLObject aURL( mpTheme->GetObjectURL( mnObjectPos ) );
     143 [ #  # ][ #  # ]:          0 :     const SvxBrushItem  aBrushItem( aURL.GetMainURL( INetURLObject::NO_DECODE ), String(), GPOS_TILED, SID_GALLERY_BG_BRUSH );
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
     144 [ #  # ][ #  # ]:          0 :     const SfxUInt16Item aPosItem( SID_GALLERY_BG_POS, GetCurItemId() - 1 );
     145 [ #  # ][ #  # ]:          0 :     const SfxStringItem aPathItem( SID_FILE_NAME, aURL.GetMainURL( INetURLObject::NO_DECODE ) );
         [ #  # ][ #  # ]
     146                 :            : 
     147         [ #  # ]:          0 :     SfxViewFrame::Current()->GetBindings().GetDispatcher()->Execute( SID_GALLERY_BG_BRUSH,
     148                 :            :                               SFX_CALLMODE_ASYNCHRON | SFX_CALLMODE_RECORD,
     149 [ #  # ][ #  # ]:          0 :                               &aBrushItem, &aPosItem, &aPathItem, 0L );
         [ #  # ][ #  # ]
                 [ #  # ]
     150                 :          0 : }
     151                 :            : 
     152                 :            : // ---------------------
     153                 :            : // - GalleryThemePopup -
     154                 :            : // ---------------------
     155                 :            : 
     156                 :            : class GalleryThemePopup : public PopupMenu, public SfxControllerItem
     157                 :            : {
     158                 :            :     GalleryBackgroundPopup  maBackgroundPopup;
     159                 :            :     const GalleryTheme*     mpTheme;
     160                 :            :     sal_uIntPtr                 mnObjectPos;
     161                 :            :     sal_Bool                    mbPreview;
     162                 :            : 
     163                 :            :     virtual void            StateChanged( sal_uInt16 nSID, SfxItemState eState, const SfxPoolItem* pState );
     164                 :            : 
     165                 :            : public:
     166                 :            : 
     167                 :            :                             GalleryThemePopup( const GalleryTheme* pTheme, sal_uIntPtr nObjectPos, sal_Bool bPreview );
     168                 :            :                             ~GalleryThemePopup();
     169                 :            : };
     170                 :            : 
     171                 :            : // ------------------------------------------------------------------------
     172                 :            : 
     173                 :          0 : GalleryThemePopup::GalleryThemePopup( const GalleryTheme* pTheme, sal_uIntPtr nObjectPos, sal_Bool bPreview ) :
     174                 :          0 :     PopupMenu           ( GAL_RES( RID_SVXMN_GALLERY2 ) ),
     175         [ #  # ]:          0 :     SfxControllerItem   ( SID_GALLERY_ENABLE_ADDCOPY, SfxViewFrame::Current()->GetBindings() ),
     176                 :            :     maBackgroundPopup   ( pTheme, nObjectPos ),
     177                 :            :     mpTheme             ( pTheme ),
     178                 :            :     mnObjectPos         ( nObjectPos ),
     179         [ #  # ]:          0 :     mbPreview           ( bPreview )
           [ #  #  #  # ]
     180                 :            : {
     181         [ #  # ]:          0 :     const SgaObjKind    eObjKind = mpTheme->GetObjectKind( mnObjectPos );
     182         [ #  # ]:          0 :     PopupMenu*          pAddMenu = GetPopupMenu( MN_ADDMENU );
     183         [ #  # ]:          0 :     SfxBindings&        rBindings = SfxViewFrame::Current()->GetBindings();
     184         [ #  # ]:          0 :     INetURLObject       aURL;
     185                 :            : 
     186         [ #  # ]:          0 :     const_cast< GalleryTheme* >( mpTheme )->GetURL( mnObjectPos, aURL );
     187                 :          0 :     const sal_Bool bValidURL = ( aURL.GetProtocol() != INET_PROT_NOT_VALID );
     188                 :            : 
     189 [ #  # ][ #  # ]:          0 :     pAddMenu->EnableItem( MN_ADD, bValidURL && SGA_OBJ_SOUND != eObjKind );
                 [ #  # ]
     190 [ #  # ][ #  # ]:          0 :     pAddMenu->EnableItem( MN_ADD_LINK, bValidURL && SGA_OBJ_SVDRAW != eObjKind );
                 [ #  # ]
     191                 :            : 
     192 [ #  # ][ #  # ]:          0 :     EnableItem( MN_ADDMENU, pAddMenu->IsItemEnabled( MN_ADD ) || pAddMenu->IsItemEnabled( MN_ADD_LINK ) );
         [ #  # ][ #  # ]
                 [ #  # ]
     193         [ #  # ]:          0 :     EnableItem( MN_PREVIEW, bValidURL );
     194                 :            : 
     195         [ #  # ]:          0 :     CheckItem( MN_PREVIEW, mbPreview );
     196                 :            : 
     197 [ #  # ][ #  # ]:          0 :     if( mpTheme->IsReadOnly() || !mpTheme->GetObjectCount() )
         [ #  # ][ #  # ]
     198                 :            :     {
     199         [ #  # ]:          0 :         EnableItem( MN_DELETE, sal_False );
     200         [ #  # ]:          0 :         EnableItem( MN_TITLE, sal_False );
     201                 :            : 
     202 [ #  # ][ #  # ]:          0 :         if( mpTheme->IsReadOnly() )
     203         [ #  # ]:          0 :             EnableItem( MN_PASTECLIPBOARD, sal_False );
     204                 :            : 
     205         [ #  # ]:          0 :         if( !mpTheme->GetObjectCount() )
     206         [ #  # ]:          0 :             EnableItem( MN_COPYCLIPBOARD, sal_False );
     207                 :            :     }
     208                 :            :     else
     209                 :            :     {
     210         [ #  # ]:          0 :         EnableItem( MN_DELETE, !bPreview );
     211         [ #  # ]:          0 :         EnableItem( MN_TITLE, sal_True );
     212         [ #  # ]:          0 :         EnableItem( MN_COPYCLIPBOARD, sal_True );
     213         [ #  # ]:          0 :         EnableItem( MN_PASTECLIPBOARD, sal_True );
     214                 :            :     }
     215                 :            : 
     216                 :            : #ifdef GALLERY_USE_CLIPBOARD
     217                 :            :     if( IsItemEnabled( MN_PASTECLIPBOARD ) )
     218                 :            :     {
     219                 :            :         TransferableDataHelper  aDataHelper( TransferableDataHelper::CreateFromSystemClipboard( this ) );
     220                 :            :         sal_Bool                    bEnable = sal_False;
     221                 :            : 
     222                 :            :         if( aDataHelper.GetFormatCount() )
     223                 :            :         {
     224                 :            :             if( aDataHelper.HasFormat( SOT_FORMATSTR_ID_DRAWING ) ||
     225                 :            :                 aDataHelper.HasFormat( SOT_FORMAT_FILE_LIST ) ||
     226                 :            :                 aDataHelper.HasFormat( FORMAT_FILE ) ||
     227                 :            :                 aDataHelper.HasFormat( SOT_FORMATSTR_ID_SVXB ) ||
     228                 :            :                 aDataHelper.HasFormat( FORMAT_GDIMETAFILE ) ||
     229                 :            :                 aDataHelper.HasFormat( FORMAT_BITMAP ) )
     230                 :            :             {
     231                 :            :                 bEnable = sal_True;
     232                 :            :             }
     233                 :            :         }
     234                 :            : 
     235                 :            :         if( !bEnable )
     236                 :            :             EnableItem( MN_PASTECLIPBOARD, sal_False );
     237                 :            :     }
     238                 :            : #else
     239         [ #  # ]:          0 :     EnableItem( MN_COPYCLIPBOARD, sal_False );
     240         [ #  # ]:          0 :     EnableItem( MN_PASTECLIPBOARD, sal_False );
     241                 :            : #endif
     242                 :            : 
     243 [ #  # ][ #  # ]:          0 :     if( !maBackgroundPopup.GetItemCount() || ( eObjKind == SGA_OBJ_SVDRAW ) || ( eObjKind == SGA_OBJ_SOUND ) )
         [ #  # ][ #  # ]
                 [ #  # ]
     244         [ #  # ]:          0 :         pAddMenu->EnableItem( MN_BACKGROUND, sal_False );
     245                 :            :     else
     246                 :            :     {
     247         [ #  # ]:          0 :         pAddMenu->EnableItem( MN_BACKGROUND, sal_True );
     248         [ #  # ]:          0 :         pAddMenu->SetPopupMenu( MN_BACKGROUND, &maBackgroundPopup );
     249                 :            :     }
     250                 :            : 
     251         [ #  # ]:          0 :     rBindings.Update( SID_GALLERY_ENABLE_ADDCOPY );
     252 [ #  # ][ #  # ]:          0 :     RemoveDisabledEntries();
     253                 :          0 : }
     254                 :            : 
     255                 :            : // ------------------------------------------------------------------------
     256                 :            : 
     257 [ #  # ][ #  # ]:          0 : GalleryThemePopup::~GalleryThemePopup()
     258                 :            : {
     259         [ #  # ]:          0 : }
     260                 :            : 
     261                 :            : // ------------------------------------------------------------------------
     262                 :            : 
     263                 :          0 : void GalleryThemePopup::StateChanged( sal_uInt16 nSID, SfxItemState eState, const SfxPoolItem* pItem )
     264                 :            : {
     265 [ #  # ][ #  # ]:          0 :     if( ( nSID == SID_GALLERY_ENABLE_ADDCOPY ) && pItem && ( eState != SFX_ITEM_DISABLED ) )
                 [ #  # ]
     266                 :            :     {
     267 [ #  # ][ #  # ]:          0 :         SfxBoolItem*        pBoolItem = PTR_CAST( SfxBoolItem, pItem );
     268                 :          0 :         const SgaObjKind    eObjKind = mpTheme->GetObjectKind( mnObjectPos );
     269                 :            : 
     270                 :            :         DBG_ASSERT( pBoolItem || pBoolItem == 0, "SfxBoolItem erwartet!");
     271                 :            : 
     272 [ #  # ][ #  # ]:          0 :         GetPopupMenu( MN_ADDMENU )->EnableItem( MN_ADD, pBoolItem->GetValue() && ( eObjKind != SGA_OBJ_SOUND ) );
     273                 :            :     }
     274                 :          0 : }
     275                 :            : 
     276                 :            : // ------------------
     277                 :            : // - GalleryToolBox -
     278                 :            : // ------------------
     279                 :            : 
     280                 :          0 : GalleryToolBox::GalleryToolBox( GalleryBrowser2* pParent ) :
     281                 :          0 :     ToolBox( pParent, WB_TABSTOP )
     282                 :            : {
     283                 :          0 : }
     284                 :            : 
     285                 :            : // ------------------------------------------------------------------------
     286                 :            : 
     287                 :          0 : GalleryToolBox::~GalleryToolBox()
     288                 :            : {
     289         [ #  # ]:          0 : }
     290                 :            : 
     291                 :            : // ------------------------------------------------------------------------
     292                 :            : 
     293                 :          0 : void GalleryToolBox::KeyInput( const KeyEvent& rKEvt )
     294                 :            : {
     295         [ #  # ]:          0 :     if( !static_cast< GalleryBrowser2* >( GetParent() )->KeyInput( rKEvt, this ) )
     296                 :          0 :         ToolBox::KeyInput( rKEvt );
     297                 :          0 : }
     298                 :            : 
     299                 :            : // -------------------
     300                 :            : // - GalleryBrowser2 -
     301                 :            : // -------------------
     302                 :            : 
     303                 :          0 : GalleryBrowser2::GalleryBrowser2( GalleryBrowser* pParent, const ResId& rResId, Gallery* pGallery ) :
     304                 :            :     Control             ( pParent, rResId ),
     305                 :            :     mpGallery           ( pGallery ),
     306                 :            :     mpCurTheme          ( NULL ),
     307         [ #  # ]:          0 :     mpIconView          ( new GalleryIconView( this, NULL ) ),
     308         [ #  # ]:          0 :     mpListView          ( new GalleryListView( this, NULL ) ),
     309         [ #  # ]:          0 :     mpPreview           ( new GalleryPreview( this, NULL ) ),
     310                 :            :     maViewBox           ( this ),
     311                 :            :     maSeparator         ( this, WB_VERT ),
     312                 :            :     maInfoBar           ( this, WB_LEFT | WB_VCENTER ),
     313                 :            :     mnCurActionPos      ( 0xffffffff ),
     314                 :            :     meMode              ( GALLERYBROWSERMODE_NONE ),
     315                 :            :     meLastMode          ( GALLERYBROWSERMODE_NONE ),
     316 [ #  # ][ #  # ]:          0 :     mbCurActionIsLinkage( sal_False )
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
     317                 :            : {
     318         [ #  # ]:          0 :     Image       aDummyImage;
     319         [ #  # ]:          0 :     const Link  aSelectHdl( LINK( this, GalleryBrowser2, SelectObjectHdl ) );
     320         [ #  # ]:          0 :     Font        aInfoFont( maInfoBar.GetControlFont() );
     321                 :            : 
     322 [ #  # ][ #  # ]:          0 :     maMiscOptions.AddListenerLink( LINK( this, GalleryBrowser2, MiscHdl ) );
     323                 :            : 
     324         [ #  # ]:          0 :     maViewBox.InsertItem( TBX_ID_ICON, aDummyImage );
     325         [ #  # ]:          0 :     maViewBox.SetItemBits( TBX_ID_ICON, TIB_RADIOCHECK | TIB_AUTOCHECK );
     326         [ #  # ]:          0 :     maViewBox.SetHelpId( TBX_ID_ICON, HID_GALLERY_ICONVIEW );
     327 [ #  # ][ #  # ]:          0 :     maViewBox.SetQuickHelpText( TBX_ID_ICON, GAL_RESSTR(RID_SVXSTR_GALLERY_ICONVIEW) );
         [ #  # ][ #  # ]
                 [ #  # ]
     328                 :            : 
     329         [ #  # ]:          0 :     maViewBox.InsertItem( TBX_ID_LIST, aDummyImage );
     330         [ #  # ]:          0 :     maViewBox.SetItemBits( TBX_ID_LIST, TIB_RADIOCHECK | TIB_AUTOCHECK );
     331         [ #  # ]:          0 :     maViewBox.SetHelpId( TBX_ID_LIST, HID_GALLERY_LISTVIEW );
     332 [ #  # ][ #  # ]:          0 :     maViewBox.SetQuickHelpText( TBX_ID_LIST, GAL_RESSTR(RID_SVXSTR_GALLERY_LISTVIEW) );
         [ #  # ][ #  # ]
                 [ #  # ]
     333                 :            : 
     334         [ #  # ]:          0 :     MiscHdl( NULL );
     335         [ #  # ]:          0 :     maViewBox.SetSelectHdl( LINK( this, GalleryBrowser2, SelectTbxHdl ) );
     336         [ #  # ]:          0 :     maViewBox.Show();
     337                 :            : 
     338 [ #  # ][ #  # ]:          0 :     mpIconView->SetAccessibleName(SVX_RESSTR(RID_SVXSTR_GALLERY_THEMEITEMS));
         [ #  # ][ #  # ]
                 [ #  # ]
     339 [ #  # ][ #  # ]:          0 :     mpListView->SetAccessibleName(SVX_RESSTR(RID_SVXSTR_GALLERY_THEMEITEMS));
         [ #  # ][ #  # ]
                 [ #  # ]
     340                 :            : 
     341         [ #  # ]:          0 :     maInfoBar.Show();
     342         [ #  # ]:          0 :     maSeparator.Show();
     343                 :            : 
     344                 :          0 :     mpIconView->SetSelectHdl( aSelectHdl );
     345                 :          0 :     mpListView->SetSelectHdl( aSelectHdl );
     346                 :            : 
     347         [ #  # ]:          0 :     InitSettings();
     348                 :            : 
     349 [ #  # ][ #  # ]:          0 :     SetMode( ( GALLERYBROWSERMODE_PREVIEW != GalleryBrowser2::meInitMode ) ? GalleryBrowser2::meInitMode : GALLERYBROWSERMODE_ICON );
     350                 :            : 
     351 [ #  # ][ #  # ]:          0 :     if(maInfoBar.GetText().Len() == 0)
                 [ #  # ]
     352         [ #  # ]:          0 :         mpIconView->SetAccessibleRelationLabeledBy(mpIconView);
     353                 :            :     else
     354         [ #  # ]:          0 :         mpIconView->SetAccessibleRelationLabeledBy(&maInfoBar);
     355 [ #  # ][ #  # ]:          0 :     mpIconView->SetAccessibleRelationMemberOf(mpIconView);
                 [ #  # ]
     356                 :          0 : }
     357                 :            : 
     358                 :            : // -----------------------------------------------------------------------------
     359                 :            : 
     360 [ #  # ][ #  # ]:          0 : GalleryBrowser2::~GalleryBrowser2()
         [ #  # ][ #  # ]
                 [ #  # ]
     361                 :            : {
     362 [ #  # ][ #  # ]:          0 :     maMiscOptions.RemoveListenerLink( LINK( this, GalleryBrowser2, MiscHdl ) );
     363                 :            : 
     364 [ #  # ][ #  # ]:          0 :     delete mpPreview;
     365 [ #  # ][ #  # ]:          0 :     delete mpListView;
     366 [ #  # ][ #  # ]:          0 :     delete mpIconView;
     367                 :            : 
     368         [ #  # ]:          0 :     if( mpCurTheme )
     369         [ #  # ]:          0 :         mpGallery->ReleaseTheme( mpCurTheme, *this );
     370         [ #  # ]:          0 : }
     371                 :            : 
     372                 :            : // -----------------------------------------------------------------------------
     373                 :            : 
     374                 :          0 : void GalleryBrowser2::InitSettings()
     375                 :            : {
     376         [ #  # ]:          0 :     Font  aInfoFont( maInfoBar.GetControlFont() );
     377                 :            : 
     378         [ #  # ]:          0 :     aInfoFont.SetWeight( WEIGHT_BOLD );
     379 [ #  # ][ #  # ]:          0 :     aInfoFont.SetColor( GALLERY_FG_COLOR );
     380         [ #  # ]:          0 :     maInfoBar.SetControlFont( aInfoFont );
     381                 :            : 
     382 [ #  # ][ #  # ]:          0 :     maInfoBar.SetBackground( Wallpaper( GALLERY_DLG_COLOR ) );
         [ #  # ][ #  # ]
     383 [ #  # ][ #  # ]:          0 :     maInfoBar.SetControlBackground( GALLERY_DLG_COLOR );
     384                 :            : 
     385 [ #  # ][ #  # ]:          0 :     maSeparator.SetBackground( Wallpaper( GALLERY_BG_COLOR ) );
         [ #  # ][ #  # ]
     386 [ #  # ][ #  # ]:          0 :     maSeparator.SetControlBackground( GALLERY_BG_COLOR );
     387 [ #  # ][ #  # ]:          0 :     maSeparator.SetControlForeground( GALLERY_FG_COLOR );
                 [ #  # ]
     388                 :          0 : }
     389                 :            : 
     390                 :            : // -----------------------------------------------------------------------------
     391                 :            : 
     392                 :          0 : void GalleryBrowser2::DataChanged( const DataChangedEvent& rDCEvt )
     393                 :            : {
     394 [ #  # ][ #  # ]:          0 :     if ( ( rDCEvt.GetType() == DATACHANGED_SETTINGS ) && ( rDCEvt.GetFlags() & SETTINGS_STYLE ) )
                 [ #  # ]
     395                 :          0 :         InitSettings();
     396                 :            :     else
     397                 :          0 :         Control::DataChanged( rDCEvt );
     398                 :          0 : }
     399                 :            : 
     400                 :            : // -----------------------------------------------------------------------------
     401                 :            : 
     402                 :          0 : void GalleryBrowser2::Resize()
     403                 :            : {
     404         [ #  # ]:          0 :     Control::Resize();
     405                 :            : 
     406         [ #  # ]:          0 :     mpIconView->Hide();
     407         [ #  # ]:          0 :     mpListView->Hide();
     408         [ #  # ]:          0 :     mpPreview->Hide();
     409                 :            : 
     410                 :          0 :     const Size  aOutSize( GetOutputSizePixel() );
     411         [ #  # ]:          0 :     const Size  aBoxSize( maViewBox.GetOutputSizePixel() );
     412                 :          0 :     const long  nOffset = 2, nSepWidth = 2;
     413                 :          0 :     const long  nInfoBarX = aBoxSize.Width() + ( nOffset * 3 ) + nSepWidth;
     414                 :          0 :     const Point aPt( 0, aBoxSize.Height() + 3 );
     415                 :          0 :     const Size  aSz( aOutSize.Width(), aOutSize.Height() - aPt.Y() );
     416                 :            : 
     417         [ #  # ]:          0 :     maSeparator.SetPosSizePixel( Point( aBoxSize.Width() + nOffset, 0 ), Size( nSepWidth, aBoxSize.Height() ) );
     418         [ #  # ]:          0 :     maInfoBar.SetPosSizePixel( Point( nInfoBarX, 0 ), Size( aOutSize.Width() - nInfoBarX, aBoxSize.Height() ) );
     419                 :            : 
     420         [ #  # ]:          0 :     mpIconView->SetPosSizePixel( aPt, aSz );
     421         [ #  # ]:          0 :     mpListView->SetPosSizePixel( aPt, aSz );
     422         [ #  # ]:          0 :     mpPreview->SetPosSizePixel( aPt, aSz );
     423                 :            : 
     424   [ #  #  #  # ]:          0 :     switch( GetMode() )
     425                 :            :     {
     426         [ #  # ]:          0 :         case( GALLERYBROWSERMODE_ICON ): mpIconView->Show(); break;
     427         [ #  # ]:          0 :         case( GALLERYBROWSERMODE_LIST ): mpListView->Show(); break;
     428         [ #  # ]:          0 :         case( GALLERYBROWSERMODE_PREVIEW ): mpPreview->Show(); break;
     429                 :            : 
     430                 :            :         default:
     431                 :          0 :         break;
     432                 :            :     }
     433                 :          0 : }
     434                 :            : 
     435                 :            : // -----------------------------------------------------------------------------
     436                 :            : 
     437                 :          0 : void GalleryBrowser2::Notify( SfxBroadcaster&, const SfxHint& rHint )
     438                 :            : {
     439                 :          0 :     const GalleryHint& rGalleryHint = (const GalleryHint&) rHint;
     440                 :            : 
     441         [ #  # ]:          0 :     switch( rGalleryHint.GetType() )
     442                 :            :     {
     443                 :            :         case( GALLERY_HINT_THEME_UPDATEVIEW ):
     444                 :            :         {
     445         [ #  # ]:          0 :             if( GALLERYBROWSERMODE_PREVIEW == GetMode() )
     446                 :          0 :                 SetMode( meLastMode );
     447                 :            : 
     448                 :          0 :             ImplUpdateViews( (sal_uInt16) rGalleryHint.GetData1() + 1 );
     449                 :            :         }
     450                 :          0 :         break;
     451                 :            : 
     452                 :            :         default:
     453                 :          0 :         break;
     454                 :            :     }
     455                 :          0 : }
     456                 :            : 
     457                 :            : // -----------------------------------------------------------------------------
     458                 :            : 
     459                 :          0 : sal_Int8 GalleryBrowser2::AcceptDrop( DropTargetHelper& rTarget, const AcceptDropEvent& )
     460                 :            : {
     461                 :          0 :     sal_Int8 nRet = DND_ACTION_NONE;
     462                 :            : 
     463 [ #  # ][ #  # ]:          0 :     if( mpCurTheme && !mpCurTheme->IsReadOnly() )
                 [ #  # ]
     464                 :            :     {
     465         [ #  # ]:          0 :         if( !mpCurTheme->IsDragging() )
     466                 :            :         {
     467   [ #  #  #  #  :          0 :             if( rTarget.IsDropFormatSupported( SOT_FORMATSTR_ID_DRAWING ) ||
          #  #  #  #  #  
                #  #  # ]
                 [ #  # ]
     468                 :          0 :                 rTarget.IsDropFormatSupported( SOT_FORMAT_FILE_LIST ) ||
     469                 :          0 :                 rTarget.IsDropFormatSupported( FORMAT_FILE ) ||
     470                 :          0 :                 rTarget.IsDropFormatSupported( SOT_FORMATSTR_ID_SVXB ) ||
     471                 :          0 :                 rTarget.IsDropFormatSupported( FORMAT_GDIMETAFILE ) ||
     472                 :          0 :                 rTarget.IsDropFormatSupported( FORMAT_BITMAP ) )
     473                 :            :             {
     474                 :          0 :                 nRet = DND_ACTION_COPY;
     475                 :            :             }
     476                 :            :         }
     477                 :            :         else
     478                 :          0 :             nRet = DND_ACTION_COPY;
     479                 :            :     }
     480                 :            : 
     481                 :          0 :     return nRet;
     482                 :            : }
     483                 :            : 
     484                 :            : // -----------------------------------------------------------------------------
     485                 :            : 
     486                 :          0 : sal_Int8 GalleryBrowser2::ExecuteDrop( DropTargetHelper&, const ExecuteDropEvent& rEvt )
     487                 :            : {
     488                 :          0 :     sal_Int8 nRet = DND_ACTION_NONE;
     489                 :            : 
     490         [ #  # ]:          0 :     if( mpCurTheme )
     491                 :            :     {
     492                 :          0 :         Point       aSelPos;
     493         [ #  # ]:          0 :         const sal_uIntPtr nItemId = ImplGetSelectedItemId( &rEvt.maPosPixel, aSelPos );
     494         [ #  # ]:          0 :         const sal_uIntPtr nInsertPos = (nItemId ? (nItemId - 1) : mpCurTheme->GetObjectCount());
     495                 :            : 
     496         [ #  # ]:          0 :         if( mpCurTheme->IsDragging() )
     497         [ #  # ]:          0 :             mpCurTheme->ChangeObjectPos( mpCurTheme->GetDragPos(), nInsertPos );
     498                 :            :         else
     499         [ #  # ]:          0 :             nRet = mpCurTheme->InsertTransferable( rEvt.maDropEvent.Transferable, nInsertPos );
     500                 :            :     }
     501                 :            : 
     502                 :          0 :     return nRet;
     503                 :            : }
     504                 :            : 
     505                 :            : // -----------------------------------------------------------------------------
     506                 :            : 
     507                 :          0 : void GalleryBrowser2::StartDrag( Window*, const Point* pDragPoint )
     508                 :            : {
     509         [ #  # ]:          0 :     if( mpCurTheme )
     510                 :            :     {
     511                 :          0 :         Point       aSelPos;
     512         [ #  # ]:          0 :         const sal_uIntPtr nItemId = ImplGetSelectedItemId( pDragPoint, aSelPos );
     513                 :            : 
     514         [ #  # ]:          0 :         if( nItemId )
     515         [ #  # ]:          0 :             mpCurTheme->StartDrag( this, nItemId - 1 );
     516                 :            :     }
     517                 :          0 : }
     518                 :            : 
     519                 :            : // -----------------------------------------------------------------------------
     520                 :            : 
     521                 :          0 : void GalleryBrowser2::TogglePreview( Window*, const Point* )
     522                 :            : {
     523         [ #  # ]:          0 :     SetMode( ( GALLERYBROWSERMODE_PREVIEW != GetMode() ) ? GALLERYBROWSERMODE_PREVIEW : meLastMode );
     524                 :          0 :     GetViewWindow()->GrabFocus();
     525                 :          0 : }
     526                 :            : 
     527                 :            : // -----------------------------------------------------------------------------
     528                 :            : 
     529                 :          0 : void GalleryBrowser2::ShowContextMenu( Window*, const Point* pContextPoint )
     530                 :            : {
     531                 :          0 :     Point       aSelPos;
     532         [ #  # ]:          0 :     const sal_uIntPtr nItemId = ImplGetSelectedItemId( pContextPoint, aSelPos );
     533                 :            : 
     534 [ #  # ][ #  # ]:          0 :     if( mpCurTheme && nItemId && ( nItemId <= mpCurTheme->GetObjectCount() ) )
         [ #  # ][ #  # ]
     535                 :            :     {
     536         [ #  # ]:          0 :         ImplSelectItemId( nItemId );
     537                 :            : 
     538         [ #  # ]:          0 :         SfxViewFrame* pCurrentViewFrame = SfxViewFrame::Current();
     539         [ #  # ]:          0 :         if ( pCurrentViewFrame )
     540                 :            :         {
     541                 :          0 :             SfxBindings& rBindings = pCurrentViewFrame->GetBindings();
     542         [ #  # ]:          0 :             rBindings.ENTERREGISTRATIONS();
     543         [ #  # ]:          0 :             GalleryThemePopup aMenu( mpCurTheme, nItemId - 1, GALLERYBROWSERMODE_PREVIEW == GetMode() );
     544         [ #  # ]:          0 :             rBindings.LEAVEREGISTRATIONS();
     545         [ #  # ]:          0 :             aMenu.SetSelectHdl( LINK( this, GalleryBrowser2, MenuSelectHdl ) );
     546 [ #  # ][ #  # ]:          0 :             aMenu.Execute( this, aSelPos  );
     547                 :            :         }
     548                 :            :     }
     549                 :          0 : }
     550                 :            : 
     551                 :            : // -----------------------------------------------------------------------------
     552                 :            : 
     553                 :          0 : sal_Bool GalleryBrowser2::KeyInput( const KeyEvent& rKEvt, Window* pWindow )
     554                 :            : {
     555                 :          0 :     Point       aSelPos;
     556         [ #  # ]:          0 :     const sal_uIntPtr   nItemId = ImplGetSelectedItemId( NULL, aSelPos );
     557 [ #  # ][ #  # ]:          0 :     sal_Bool        bRet = static_cast< GalleryBrowser* >( GetParent() )->KeyInput( rKEvt, pWindow );
     558                 :            : 
     559 [ #  # ][ #  # ]:          0 :     if( !bRet && !maViewBox.HasFocus() && nItemId && mpCurTheme )
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
     560                 :            :     {
     561                 :          0 :         sal_uInt16              nExecuteId = 0;
     562         [ #  # ]:          0 :         const SgaObjKind    eObjKind = mpCurTheme->GetObjectKind( nItemId - 1 );
     563         [ #  # ]:          0 :         INetURLObject       aURL;
     564                 :            : 
     565         [ #  # ]:          0 :         const_cast< GalleryTheme* >( mpCurTheme )->GetURL( nItemId - 1, aURL );
     566                 :            : 
     567                 :          0 :         const sal_Bool  bValidURL = ( aURL.GetProtocol() != INET_PROT_NOT_VALID );
     568                 :          0 :         sal_Bool        bPreview = bValidURL;
     569                 :          0 :         sal_Bool        bAdd = bValidURL;
     570 [ #  # ][ #  # ]:          0 :         sal_Bool        bAddLink = ( bValidURL && SGA_OBJ_SVDRAW != eObjKind );
     571                 :          0 :         sal_Bool        bDelete = sal_False;
     572                 :          0 :         sal_Bool        bTitle = sal_False;
     573                 :            : 
     574 [ #  # ][ #  # ]:          0 :         if( !mpCurTheme->IsReadOnly() && mpCurTheme->GetObjectCount() )
         [ #  # ][ #  # ]
     575                 :            :         {
     576                 :          0 :             bDelete = ( GALLERYBROWSERMODE_PREVIEW != GetMode() );
     577                 :          0 :             bTitle = sal_True;
     578                 :            :         }
     579                 :            : 
     580   [ #  #  #  #  :          0 :         switch( rKEvt.GetKeyCode().GetCode() )
                      # ]
     581                 :            :         {
     582                 :            :             case( KEY_SPACE ):
     583                 :            :             case( KEY_RETURN ):
     584                 :            :             case( KEY_P ):
     585                 :            :             {
     586         [ #  # ]:          0 :                 if( bPreview )
     587                 :            :                 {
     588         [ #  # ]:          0 :                     TogglePreview( pWindow );
     589                 :          0 :                     bRet = sal_True;
     590                 :            :                 }
     591                 :            :             }
     592                 :          0 :             break;
     593                 :            : 
     594                 :            :             case( KEY_INSERT ):
     595                 :            :             case( KEY_I ):
     596                 :            :             {
     597 [ #  # ][ #  # ]:          0 :                 if( bAddLink && rKEvt.GetKeyCode().IsShift() && rKEvt.GetKeyCode().IsMod1() )
         [ #  # ][ #  # ]
     598                 :          0 :                     nExecuteId = MN_ADD_LINK;
     599         [ #  # ]:          0 :                 else if( bAdd )
     600                 :          0 :                     nExecuteId = MN_ADD;
     601                 :            :             }
     602                 :          0 :             break;
     603                 :            : 
     604                 :            :             case( KEY_DELETE ):
     605                 :            :             case( KEY_D ):
     606                 :            :             {
     607         [ #  # ]:          0 :                 if( bDelete )
     608                 :          0 :                     nExecuteId = MN_DELETE;
     609                 :            :             }
     610                 :          0 :             break;
     611                 :            : 
     612                 :            :             case( KEY_T ):
     613                 :            :             {
     614         [ #  # ]:          0 :                 if( bTitle )
     615                 :          0 :                     nExecuteId = MN_TITLE;
     616                 :            :             }
     617                 :          0 :             break;
     618                 :            : 
     619                 :            :             default:
     620                 :          0 :             break;
     621                 :            :         }
     622                 :            : 
     623         [ #  # ]:          0 :         if( nExecuteId )
     624                 :            :         {
     625         [ #  # ]:          0 :             ImplExecute( nExecuteId );
     626                 :          0 :             bRet = sal_True;
     627         [ #  # ]:          0 :         }
     628                 :            :     }
     629                 :            : 
     630                 :          0 :     return bRet;
     631                 :            : }
     632                 :            : 
     633                 :            : // -----------------------------------------------------------------------------
     634                 :            : 
     635                 :          0 : void GalleryBrowser2::SelectTheme( const String& rThemeName )
     636                 :            : {
     637 [ #  # ][ #  # ]:          0 :     delete mpIconView, mpIconView = NULL;
     638 [ #  # ][ #  # ]:          0 :     delete mpListView, mpListView = NULL;
     639 [ #  # ][ #  # ]:          0 :     delete mpPreview, mpPreview = NULL;
     640                 :            : 
     641         [ #  # ]:          0 :     if( mpCurTheme )
     642         [ #  # ]:          0 :         mpGallery->ReleaseTheme( mpCurTheme, *this );
     643                 :            : 
     644         [ #  # ]:          0 :     mpCurTheme = mpGallery->AcquireTheme( rThemeName, *this );
     645                 :            : 
     646 [ #  # ][ #  # ]:          0 :     mpIconView = new GalleryIconView( this, mpCurTheme );
     647 [ #  # ][ #  # ]:          0 :     mpListView = new GalleryListView( this, mpCurTheme );
     648 [ #  # ][ #  # ]:          0 :     mpPreview = new GalleryPreview( this, mpCurTheme );
     649                 :            : 
     650 [ #  # ][ #  # ]:          0 :     mpIconView->SetAccessibleName(SVX_RESSTR(RID_SVXSTR_GALLERY_THEMEITEMS));
         [ #  # ][ #  # ]
                 [ #  # ]
     651 [ #  # ][ #  # ]:          0 :     mpListView->SetAccessibleName(SVX_RESSTR(RID_SVXSTR_GALLERY_THEMEITEMS));
         [ #  # ][ #  # ]
                 [ #  # ]
     652 [ #  # ][ #  # ]:          0 :     mpPreview->SetAccessibleName(SVX_RESSTR(RID_SVXSTR_GALLERY_PREVIEW));
         [ #  # ][ #  # ]
                 [ #  # ]
     653                 :            : 
     654         [ #  # ]:          0 :     const Link aSelectHdl( LINK( this, GalleryBrowser2, SelectObjectHdl ) );
     655                 :            : 
     656                 :          0 :     mpIconView->SetSelectHdl( aSelectHdl );
     657                 :          0 :     mpListView->SetSelectHdl( aSelectHdl );
     658                 :            : 
     659         [ #  # ]:          0 :     if( GALLERYBROWSERMODE_PREVIEW == GetMode() )
     660                 :          0 :         meMode = meLastMode;
     661                 :            : 
     662         [ #  # ]:          0 :     Resize();
     663         [ #  # ]:          0 :     ImplUpdateViews( 1 );
     664                 :            : 
     665         [ #  # ]:          0 :     maViewBox.EnableItem( TBX_ID_ICON, sal_True );
     666         [ #  # ]:          0 :     maViewBox.EnableItem( TBX_ID_LIST, sal_True );
     667 [ #  # ][ #  # ]:          0 :     maViewBox.CheckItem( ( GALLERYBROWSERMODE_ICON == GetMode() ) ? TBX_ID_ICON : TBX_ID_LIST, sal_True );
     668                 :            : 
     669 [ #  # ][ #  # ]:          0 :     if(maInfoBar.GetText().Len() == 0)
                 [ #  # ]
     670         [ #  # ]:          0 :         mpIconView->SetAccessibleRelationLabeledBy(mpIconView);
     671                 :            :     else
     672         [ #  # ]:          0 :         mpIconView->SetAccessibleRelationLabeledBy(&maInfoBar);
     673         [ #  # ]:          0 :     mpIconView->SetAccessibleRelationMemberOf(mpIconView);
     674                 :          0 : }
     675                 :            : 
     676                 :            : // -----------------------------------------------------------------------------
     677                 :            : 
     678                 :          0 : void GalleryBrowser2::SetMode( GalleryBrowserMode eMode )
     679                 :            : {
     680         [ #  # ]:          0 :     if( GetMode() != eMode )
     681                 :            :     {
     682                 :          0 :         meLastMode = GetMode();
     683                 :            : 
     684   [ #  #  #  # ]:          0 :         switch( eMode )
     685                 :            :         {
     686                 :            :             case( GALLERYBROWSERMODE_ICON ):
     687                 :            :             {
     688                 :          0 :                 mpListView->Hide();
     689                 :            : 
     690                 :          0 :                 mpPreview->Hide();
     691         [ #  # ]:          0 :                 mpPreview->SetGraphic( Graphic() );
     692         [ #  # ]:          0 :                 mpPreview->PreviewMedia( INetURLObject() );
     693                 :            : 
     694                 :          0 :                 mpIconView->Show();
     695                 :            : 
     696                 :          0 :                 maViewBox.EnableItem( TBX_ID_ICON, sal_True );
     697                 :          0 :                 maViewBox.EnableItem( TBX_ID_LIST, sal_True );
     698                 :            : 
     699                 :          0 :                 maViewBox.CheckItem( TBX_ID_ICON, sal_True );
     700                 :          0 :                 maViewBox.CheckItem( TBX_ID_LIST, sal_False );
     701                 :            :             }
     702                 :          0 :             break;
     703                 :            : 
     704                 :            :             case( GALLERYBROWSERMODE_LIST ):
     705                 :            :             {
     706                 :          0 :                 mpIconView->Hide();
     707                 :            : 
     708                 :          0 :                 mpPreview->Hide();
     709         [ #  # ]:          0 :                 mpPreview->SetGraphic( Graphic() );
     710         [ #  # ]:          0 :                 mpPreview->PreviewMedia( INetURLObject() );
     711                 :            : 
     712                 :          0 :                 mpListView->Show();
     713                 :            : 
     714                 :          0 :                 maViewBox.EnableItem( TBX_ID_ICON, sal_True );
     715                 :          0 :                 maViewBox.EnableItem( TBX_ID_LIST, sal_True );
     716                 :            : 
     717                 :          0 :                 maViewBox.CheckItem( TBX_ID_ICON, sal_False );
     718                 :          0 :                 maViewBox.CheckItem( TBX_ID_LIST, sal_True );
     719                 :            :             }
     720                 :          0 :             break;
     721                 :            : 
     722                 :            :             case( GALLERYBROWSERMODE_PREVIEW ):
     723                 :            :             {
     724         [ #  # ]:          0 :                 Graphic     aGraphic;
     725                 :          0 :                 Point       aSelPos;
     726         [ #  # ]:          0 :                 const sal_uIntPtr   nItemId = ImplGetSelectedItemId( NULL, aSelPos );
     727                 :            : 
     728         [ #  # ]:          0 :                 if( nItemId )
     729                 :            :                 {
     730                 :          0 :                     const sal_uIntPtr nPos = nItemId - 1;
     731                 :            : 
     732         [ #  # ]:          0 :                        mpIconView->Hide();
     733         [ #  # ]:          0 :                     mpListView->Hide();
     734                 :            : 
     735         [ #  # ]:          0 :                     if( mpCurTheme )
     736         [ #  # ]:          0 :                         mpCurTheme->GetGraphic( nPos, aGraphic );
     737                 :            : 
     738         [ #  # ]:          0 :                     mpPreview->SetGraphic( aGraphic );
     739         [ #  # ]:          0 :                      mpPreview->Show();
     740                 :            : 
     741 [ #  # ][ #  # ]:          0 :                     if( mpCurTheme && mpCurTheme->GetObjectKind( nPos ) == SGA_OBJ_SOUND )
         [ #  # ][ #  # ]
     742 [ #  # ][ #  # ]:          0 :                         mpPreview->PreviewMedia( mpCurTheme->GetObjectURL( nPos ) );
     743                 :            : 
     744         [ #  # ]:          0 :                     maViewBox.EnableItem( TBX_ID_ICON, sal_False );
     745         [ #  # ]:          0 :                     maViewBox.EnableItem( TBX_ID_LIST, sal_False );
     746         [ #  # ]:          0 :                 }
     747                 :            :             }
     748                 :          0 :             break;
     749                 :            : 
     750                 :            :             default:
     751                 :          0 :                 break;
     752                 :            :         }
     753                 :            : 
     754                 :          0 :         GalleryBrowser2::meInitMode = meMode = eMode;
     755                 :            :     }
     756                 :          0 : }
     757                 :            : 
     758                 :            : // -----------------------------------------------------------------------------
     759                 :            : 
     760                 :          0 : Window* GalleryBrowser2::GetViewWindow() const
     761                 :            : {
     762                 :            :     Window* pRet;
     763                 :            : 
     764      [ #  #  # ]:          0 :     switch( GetMode() )
     765                 :            :     {
     766                 :          0 :         case( GALLERYBROWSERMODE_LIST ): pRet = mpListView; break;
     767                 :          0 :         case( GALLERYBROWSERMODE_PREVIEW ): pRet = mpPreview; break;
     768                 :            : 
     769                 :            :         default:
     770                 :          0 :             pRet = mpIconView;
     771                 :          0 :         break;
     772                 :            :     }
     773                 :            : 
     774                 :          0 :     return pRet;
     775                 :            : }
     776                 :            : 
     777                 :            : // -----------------------------------------------------------------------------
     778                 :            : 
     779                 :          0 : void GalleryBrowser2::Travel( GalleryBrowserTravel eTravel )
     780                 :            : {
     781         [ #  # ]:          0 :     if( mpCurTheme )
     782                 :            :     {
     783                 :          0 :         Point       aSelPos;
     784         [ #  # ]:          0 :         const sal_uIntPtr nItemId = ImplGetSelectedItemId( NULL, aSelPos );
     785                 :            : 
     786         [ #  # ]:          0 :         if( nItemId )
     787                 :            :         {
     788                 :          0 :             sal_uIntPtr nNewItemId = nItemId;
     789                 :            : 
     790   [ #  #  #  #  :          0 :             switch( eTravel )
                      # ]
     791                 :            :             {
     792                 :          0 :                 case( GALLERYBROWSERTRAVEL_FIRST ):     nNewItemId = 1; break;
     793                 :          0 :                 case( GALLERYBROWSERTRAVEL_LAST ):      nNewItemId = mpCurTheme->GetObjectCount(); break;
     794                 :          0 :                 case( GALLERYBROWSERTRAVEL_PREVIOUS ):  nNewItemId--; break;
     795                 :          0 :                 case( GALLERYBROWSERTRAVEL_NEXT ):      nNewItemId++; break;
     796                 :            :                 default:
     797                 :          0 :                     break;
     798                 :            :             }
     799                 :            : 
     800         [ #  # ]:          0 :             if( nNewItemId < 1 )
     801                 :          0 :                 nNewItemId = 1;
     802         [ #  # ]:          0 :             else if( nNewItemId > mpCurTheme->GetObjectCount() )
     803                 :          0 :                 nNewItemId = mpCurTheme->GetObjectCount();
     804                 :            : 
     805         [ #  # ]:          0 :             if( nNewItemId != nItemId )
     806                 :            :             {
     807         [ #  # ]:          0 :                 ImplSelectItemId( nNewItemId );
     808         [ #  # ]:          0 :                 ImplUpdateInfoBar();
     809                 :            : 
     810         [ #  # ]:          0 :                 if( GALLERYBROWSERMODE_PREVIEW == GetMode() )
     811                 :            :                 {
     812         [ #  # ]:          0 :                     Graphic     aGraphic;
     813                 :          0 :                     const sal_uIntPtr nPos = nNewItemId - 1;
     814                 :            : 
     815         [ #  # ]:          0 :                     mpCurTheme->GetGraphic( nPos, aGraphic );
     816         [ #  # ]:          0 :                     mpPreview->SetGraphic( aGraphic );
     817                 :            : 
     818 [ #  # ][ #  # ]:          0 :                     if( SGA_OBJ_SOUND == mpCurTheme->GetObjectKind( nPos ) )
     819 [ #  # ][ #  # ]:          0 :                         mpPreview->PreviewMedia( mpCurTheme->GetObjectURL( nPos ) );
     820                 :            : 
     821 [ #  # ][ #  # ]:          0 :                     mpPreview->Invalidate();
     822                 :            :                 }
     823                 :            :             }
     824                 :            :         }
     825                 :            :     }
     826                 :          0 : }
     827                 :            : 
     828                 :            : // -----------------------------------------------------------------------------
     829                 :            : 
     830                 :          0 : void GalleryBrowser2::ImplUpdateViews( sal_uInt16 nSelectionId )
     831                 :            : {
     832                 :          0 :     mpIconView->Hide();
     833                 :          0 :     mpListView->Hide();
     834                 :          0 :     mpPreview->Hide();
     835                 :            : 
     836                 :          0 :     mpIconView->Clear();
     837                 :          0 :     mpListView->Clear();
     838                 :            : 
     839         [ #  # ]:          0 :     if( mpCurTheme )
     840                 :            :     {
     841         [ #  # ]:          0 :         for( sal_uIntPtr i = 0, nCount = mpCurTheme->GetObjectCount(); i < nCount; )
     842                 :            :         {
     843                 :          0 :             mpListView->RowInserted( i++ );
     844                 :          0 :             mpIconView->InsertItem( (sal_uInt16) i );
     845                 :            :         }
     846                 :            : 
     847         [ #  # ]:          0 :         ImplSelectItemId( ( ( nSelectionId > mpCurTheme->GetObjectCount() ) ? mpCurTheme->GetObjectCount() : nSelectionId ) );
     848                 :            :     }
     849                 :            : 
     850   [ #  #  #  # ]:          0 :     switch( GetMode() )
     851                 :            :     {
     852                 :          0 :         case( GALLERYBROWSERMODE_ICON ): mpIconView->Show(); break;
     853                 :          0 :         case( GALLERYBROWSERMODE_LIST ): mpListView->Show(); break;
     854                 :          0 :         case( GALLERYBROWSERMODE_PREVIEW ): mpPreview->Show(); break;
     855                 :            : 
     856                 :            :         default:
     857                 :          0 :         break;
     858                 :            :     }
     859                 :            : 
     860                 :          0 :     ImplUpdateInfoBar();
     861                 :          0 : }
     862                 :            : 
     863                 :            : // -----------------------------------------------------------------------------
     864                 :            : 
     865                 :          0 : void GalleryBrowser2::ImplUpdateInfoBar()
     866                 :            : {
     867         [ #  # ]:          0 :     String aInfoText;
     868                 :            : 
     869         [ #  # ]:          0 :     if( mpCurTheme )
     870                 :            :     {
     871                 :          0 :         Point       aSelPos;
     872         [ #  # ]:          0 :         const sal_uIntPtr nItemId = ImplGetSelectedItemId( NULL, aSelPos );
     873                 :            : 
     874         [ #  # ]:          0 :         if( nItemId )
     875                 :            :         {
     876                 :          0 :             const sal_uIntPtr nPos = nItemId - 1;
     877                 :            : 
     878 [ #  # ][ #  # ]:          0 :             aInfoText = mpCurTheme->GetName();
     879                 :            : 
     880         [ #  # ]:          0 :             if( nPos < mpCurTheme->GetObjectCount() )
     881                 :            :             {
     882         [ #  # ]:          0 :                 SgaObject* pObj = mpCurTheme->AcquireObject( nPos );
     883                 :            : 
     884         [ #  # ]:          0 :                 if( pObj )
     885                 :            :                 {
     886 [ #  # ][ #  # ]:          0 :                     aInfoText = GetItemText( *mpCurTheme, *pObj, GALLERY_ITEM_THEMENAME | GALLERY_ITEM_TITLE | GALLERY_ITEM_PATH );
                 [ #  # ]
     887         [ #  # ]:          0 :                     mpCurTheme->ReleaseObject( pObj );
     888                 :            :                 }
     889                 :            :             }
     890                 :            :         }
     891                 :            :     }
     892                 :            : 
     893 [ #  # ][ #  # ]:          0 :     maInfoBar.SetText( aInfoText );
     894                 :          0 : }
     895                 :            : 
     896                 :            : // -----------------------------------------------------------------------------
     897                 :            : 
     898                 :          0 : sal_uIntPtr GalleryBrowser2::ImplGetSelectedItemId( const Point* pSelPos, Point& rSelPos )
     899                 :            : {
     900                 :          0 :     const Size  aOutputSizePixel( GetOutputSizePixel() );
     901                 :          0 :     sal_uIntPtr       nRet = 0;
     902                 :            : 
     903         [ #  # ]:          0 :     if( GALLERYBROWSERMODE_PREVIEW == GetMode() )
     904                 :            :     {
     905 [ #  # ][ #  # ]:          0 :         nRet = ( ( GALLERYBROWSERMODE_ICON == meLastMode ) ? mpIconView->GetSelectItemId() : ( mpListView->FirstSelectedRow() + 1 ) );
     906                 :            : 
     907         [ #  # ]:          0 :         if( pSelPos )
     908         [ #  # ]:          0 :             rSelPos = GetPointerPosPixel();
     909                 :            :         else
     910                 :          0 :             rSelPos = Point( aOutputSizePixel.Width() >> 1, aOutputSizePixel.Height() >> 1 );
     911                 :            :     }
     912         [ #  # ]:          0 :     else if( GALLERYBROWSERMODE_ICON == GetMode() )
     913                 :            :     {
     914         [ #  # ]:          0 :         if( pSelPos )
     915                 :            :         {
     916         [ #  # ]:          0 :             nRet = mpIconView->GetItemId( *pSelPos );
     917         [ #  # ]:          0 :             rSelPos = GetPointerPosPixel();
     918                 :            :         }
     919                 :            :         else
     920                 :            :         {
     921                 :          0 :             nRet = mpIconView->GetSelectItemId();
     922 [ #  # ][ #  # ]:          0 :             rSelPos = mpIconView->GetItemRect( (sal_uInt16) nRet ).Center();
     923                 :            :         }
     924                 :            :     }
     925                 :            :     else
     926                 :            :     {
     927         [ #  # ]:          0 :         if( pSelPos )
     928                 :            :         {
     929         [ #  # ]:          0 :             nRet = mpListView->GetRowAtYPosPixel( pSelPos->Y() ) + 1;
     930         [ #  # ]:          0 :             rSelPos = GetPointerPosPixel();
     931                 :            :         }
     932                 :            :         else
     933                 :            :         {
     934         [ #  # ]:          0 :             nRet = mpListView->FirstSelectedRow() + 1;
     935 [ #  # ][ #  # ]:          0 :             rSelPos = mpListView->GetFieldRectPixel( (sal_uInt16) nRet, 1 ).Center();
     936                 :            :         }
     937                 :            :     }
     938                 :            : 
     939                 :          0 :     rSelPos.X() = Max( Min( rSelPos.X(), aOutputSizePixel.Width() - 1L ), 0L );
     940                 :          0 :     rSelPos.Y() = Max( Min( rSelPos.Y(), aOutputSizePixel.Height() - 1L ), 0L );
     941                 :            : 
     942 [ #  # ][ #  # ]:          0 :     if( nRet && ( !mpCurTheme || ( nRet > mpCurTheme->GetObjectCount() ) ) )
         [ #  # ][ #  # ]
     943                 :            :     {
     944                 :          0 :         nRet = 0;
     945                 :            :     }
     946                 :            : 
     947                 :          0 :     return nRet;
     948                 :            : }
     949                 :            : 
     950                 :            : // -----------------------------------------------------------------------------
     951                 :            : 
     952                 :          0 : void GalleryBrowser2::ImplSelectItemId( sal_uIntPtr nItemId )
     953                 :            : {
     954         [ #  # ]:          0 :     if( nItemId )
     955                 :            :     {
     956                 :            : 
     957                 :          0 :         mpIconView->SelectItem( (sal_uInt16) nItemId );
     958                 :          0 :         mpListView->SelectRow( nItemId - 1 );
     959                 :            :     }
     960                 :          0 : }
     961                 :            : 
     962                 :            : // -----------------------------------------------------------------------------
     963                 :            : 
     964                 :          0 : void GalleryBrowser2::ImplExecute( sal_uInt16 nId )
     965                 :            : {
     966                 :          0 :     Point       aSelPos;
     967         [ #  # ]:          0 :     const sal_uIntPtr nItemId = ImplGetSelectedItemId( NULL, aSelPos );
     968                 :            : 
     969 [ #  # ][ #  # ]:          0 :     if( mpCurTheme && nItemId )
     970                 :            :     {
     971                 :          0 :         mnCurActionPos = nItemId - 1;
     972                 :            : 
     973   [ #  #  #  #  :          0 :         switch( nId )
                #  #  # ]
     974                 :            :         {
     975                 :            :             case( MN_ADD ):
     976                 :            :             case( MN_ADD_LINK ):
     977                 :            :             {
     978                 :          0 :                 sal_uInt32 nFormat = 0;
     979                 :            : 
     980                 :          0 :                 mbCurActionIsLinkage = ( MN_ADD_LINK == nId );
     981                 :            : 
     982         [ #  # ]:          0 :                 switch( mpCurTheme->GetObjectKind( mnCurActionPos ) )
           [ #  #  #  # ]
     983                 :            :                 {
     984                 :            :                     case( SGA_OBJ_BMP ):
     985                 :            :                     case( SGA_OBJ_ANIM ):
     986                 :            :                     case( SGA_OBJ_INET ):
     987                 :          0 :                         nFormat = SGA_FORMAT_GRAPHIC | SGA_FORMAT_STRING;
     988                 :          0 :                     break;
     989                 :            : 
     990                 :            :                     case ( SGA_OBJ_SOUND ) :
     991                 :          0 :                         nFormat = SGA_FORMAT_SOUND | SGA_FORMAT_STRING;
     992                 :          0 :                     break;
     993                 :            : 
     994                 :            :                     case( SGA_OBJ_SVDRAW ):
     995                 :          0 :                         nFormat = SGA_FORMAT_GRAPHIC | SGA_FORMAT_SVDRAW | SGA_FORMAT_STRING;
     996                 :          0 :                     break;
     997                 :            : 
     998                 :            :                     default :
     999                 :          0 :                     break;
    1000                 :            :                 }
    1001                 :            : 
    1002         [ #  # ]:          0 :                 const SfxUInt32Item aItem( SID_GALLERY_FORMATS, nFormat );
    1003         [ #  # ]:          0 :                 SfxViewFrame::Current()->GetBindings().GetDispatcher()->Execute(
    1004 [ #  # ][ #  # ]:          0 :                     SID_GALLERY_FORMATS, SFX_CALLMODE_ASYNCHRON | SFX_CALLMODE_RECORD, &aItem, 0L );
    1005                 :            :             }
    1006                 :          0 :             break;
    1007                 :            : 
    1008                 :            :             case( MN_PREVIEW ):
    1009 [ #  # ][ #  # ]:          0 :                 SetMode( ( GALLERYBROWSERMODE_PREVIEW != GetMode() ) ? GALLERYBROWSERMODE_PREVIEW : meLastMode );
    1010                 :          0 :             break;
    1011                 :            : 
    1012                 :            :             case( MN_DELETE ):
    1013                 :            :             {
    1014 [ #  # ][ #  # ]:          0 :                 if( !mpCurTheme->IsReadOnly() &&
         [ #  # ][ #  # ]
    1015 [ #  # ][ #  # ]:          0 :                     QueryBox(NULL, WB_YES_NO, GAL_RESSTR(RID_SVXSTR_GALLERY_DELETEOBJ)).Execute() == RET_YES )
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  #  
          #  #  #  #  #  
                      # ]
    1016                 :            :                 {
    1017         [ #  # ]:          0 :                     mpCurTheme->RemoveObject( mnCurActionPos );
    1018                 :            :                 }
    1019                 :            :             }
    1020                 :          0 :             break;
    1021                 :            : 
    1022                 :            :             case( MN_TITLE ):
    1023                 :            :             {
    1024         [ #  # ]:          0 :                 SgaObject* pObj = mpCurTheme->AcquireObject( mnCurActionPos );
    1025                 :            : 
    1026         [ #  # ]:          0 :                 if( pObj )
    1027                 :            :                 {
    1028         [ #  # ]:          0 :                     const String    aOldTitle( GetItemText( *mpCurTheme, *pObj, GALLERY_ITEM_TITLE ) );
    1029                 :            : 
    1030         [ #  # ]:          0 :                     SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
    1031         [ #  # ]:          0 :                     if(pFact)
    1032                 :            :                     {
    1033         [ #  # ]:          0 :                         AbstractTitleDialog* aDlg = pFact->CreateTitleDialog( this, aOldTitle );
    1034                 :            :                         DBG_ASSERT(aDlg, "Dialogdiet fail!");
    1035 [ #  # ][ #  # ]:          0 :                         if( aDlg->Execute() == RET_OK )
    1036                 :            :                         {
    1037         [ #  # ]:          0 :                             String aNewTitle( aDlg->GetTitle() );
    1038                 :            : 
    1039 [ #  # ][ #  # ]:          0 :                             if( ( !aNewTitle.Len() && pObj->GetTitle().Len() ) || ( aNewTitle != aOldTitle ) )
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
           [ #  #  #  # ]
    1040                 :            :                             {
    1041         [ #  # ]:          0 :                                 if( !aNewTitle.Len() )
    1042 [ #  # ][ #  # ]:          0 :                                     aNewTitle = String( RTL_CONSTASCII_USTRINGPARAM( "__<empty>__" ) );
                 [ #  # ]
    1043                 :            : 
    1044         [ #  # ]:          0 :                                 pObj->SetTitle( aNewTitle );
    1045         [ #  # ]:          0 :                                 mpCurTheme->InsertObject( *pObj );
    1046         [ #  # ]:          0 :                             }
    1047                 :            :                         }
    1048                 :            : 
    1049         [ #  # ]:          0 :                         mpCurTheme->ReleaseObject( pObj );
    1050 [ #  # ][ #  # ]:          0 :                         delete aDlg;
    1051         [ #  # ]:          0 :                     }
    1052                 :            :                 }
    1053                 :            :             }
    1054                 :          0 :             break;
    1055                 :            : 
    1056                 :            :             case( MN_COPYCLIPBOARD ):
    1057                 :            :             {
    1058                 :            :                 Window* pWindow;
    1059                 :            : 
    1060   [ #  #  #  # ]:          0 :                 switch( GetMode() )
    1061                 :            :                 {
    1062                 :          0 :                     case( GALLERYBROWSERMODE_ICON ): pWindow = (Window*) mpIconView; break;
    1063                 :          0 :                     case( GALLERYBROWSERMODE_LIST ): pWindow = (Window*) mpListView; break;
    1064                 :          0 :                     case( GALLERYBROWSERMODE_PREVIEW ): pWindow = (Window*) mpPreview; break;
    1065                 :            : 
    1066                 :            :                     default:
    1067                 :          0 :                         pWindow = NULL;
    1068                 :          0 :                     break;
    1069                 :            :                 }
    1070                 :            : 
    1071         [ #  # ]:          0 :                 mpCurTheme->CopyToClipboard( pWindow, mnCurActionPos );
    1072                 :            :             }
    1073                 :          0 :             break;
    1074                 :            : 
    1075                 :            :             case( MN_PASTECLIPBOARD ):
    1076                 :            :             {
    1077 [ #  # ][ #  # ]:          0 :                 if( !mpCurTheme->IsReadOnly() )
    1078                 :            :                 {
    1079         [ #  # ]:          0 :                     TransferableDataHelper aDataHelper( TransferableDataHelper::CreateFromSystemClipboard( this ) );
    1080 [ #  # ][ #  # ]:          0 :                     mpCurTheme->InsertTransferable( aDataHelper.GetTransferable(), mnCurActionPos );
    1081                 :            :                 }
    1082                 :            :             }
    1083                 :          0 :             break;
    1084                 :            : 
    1085                 :            :             default:
    1086                 :          0 :             break;
    1087                 :            :         }
    1088                 :            :     }
    1089                 :          0 : }
    1090                 :            : 
    1091                 :            : // -----------------------------------------------------------------------------
    1092                 :            : 
    1093                 :          0 : String GalleryBrowser2::GetItemText( const GalleryTheme& rTheme, const SgaObject& rObj, sal_uIntPtr nItemTextFlags )
    1094                 :            : {
    1095         [ #  # ]:          0 :     String          aRet;
    1096                 :            : 
    1097         [ #  # ]:          0 :     INetURLObject aURL(rObj.GetURL());
    1098                 :            : 
    1099         [ #  # ]:          0 :     if( nItemTextFlags & GALLERY_ITEM_THEMENAME )
    1100                 :            :     {
    1101 [ #  # ][ #  # ]:          0 :         aRet += rTheme.GetName();
    1102 [ #  # ][ #  # ]:          0 :         aRet += String( RTL_CONSTASCII_USTRINGPARAM( " - " ) );
                 [ #  # ]
    1103                 :            :     }
    1104                 :            : 
    1105         [ #  # ]:          0 :     if( nItemTextFlags & GALLERY_ITEM_TITLE )
    1106                 :            :     {
    1107         [ #  # ]:          0 :         String aTitle( rObj.GetTitle() );
    1108                 :            : 
    1109         [ #  # ]:          0 :         if( !aTitle.Len() )
    1110 [ #  # ][ #  # ]:          0 :             aTitle = aURL.getBase( INetURLObject::LAST_SEGMENT, true, INetURLObject::DECODE_UNAMBIGUOUS );
    1111                 :            : 
    1112         [ #  # ]:          0 :         if( !aTitle.Len() )
    1113                 :            :         {
    1114 [ #  # ][ #  # ]:          0 :             aTitle = aURL.GetMainURL( INetURLObject::DECODE_UNAMBIGUOUS );
    1115 [ #  # ][ #  # ]:          0 :             aTitle = aTitle.GetToken( comphelper::string::getTokenCount(aTitle, '/') - 1, '/' );
         [ #  # ][ #  # ]
                 [ #  # ]
    1116                 :            :         }
    1117                 :            : 
    1118 [ #  # ][ #  # ]:          0 :         aRet += aTitle;
    1119                 :            :     }
    1120                 :            : 
    1121         [ #  # ]:          0 :     if( nItemTextFlags & GALLERY_ITEM_PATH )
    1122                 :            :     {
    1123 [ #  # ][ #  # ]:          0 :         const String aPath( aURL.getFSysPath( INetURLObject::FSYS_DETECT ) );
    1124                 :            : 
    1125 [ #  # ][ #  # ]:          0 :         if( aPath.Len() && ( nItemTextFlags & GALLERY_ITEM_TITLE ) )
                 [ #  # ]
    1126 [ #  # ][ #  # ]:          0 :             aRet += String( RTL_CONSTASCII_USTRINGPARAM( " (" ) );
                 [ #  # ]
    1127                 :            : 
    1128 [ #  # ][ #  # ]:          0 :         aRet += String(aURL.getFSysPath( INetURLObject::FSYS_DETECT ));
         [ #  # ][ #  # ]
    1129                 :            : 
    1130 [ #  # ][ #  # ]:          0 :         if( aPath.Len() && ( nItemTextFlags & GALLERY_ITEM_TITLE ) )
                 [ #  # ]
    1131 [ #  # ][ #  # ]:          0 :             aRet += ')';
    1132                 :            :     }
    1133                 :            : 
    1134         [ #  # ]:          0 :     return aRet;
    1135                 :            : }
    1136                 :            : 
    1137                 :            : // -----------------------------------------------------------------------------
    1138                 :            : 
    1139                 :          0 : INetURLObject GalleryBrowser2::GetURL() const
    1140                 :            : {
    1141                 :          0 :     INetURLObject aURL;
    1142                 :            : 
    1143 [ #  # ][ #  # ]:          0 :     if( mpCurTheme && mnCurActionPos != 0xffffffff )
    1144 [ #  # ][ #  # ]:          0 :         aURL = mpCurTheme->GetObjectURL( mnCurActionPos );
    1145                 :            : 
    1146                 :          0 :     return aURL;
    1147                 :            : }
    1148                 :            : 
    1149                 :            : // -----------------------------------------------------------------------------
    1150                 :            : 
    1151                 :          0 : String GalleryBrowser2::GetFilterName() const
    1152                 :            : {
    1153                 :          0 :     String aFilterName;
    1154                 :            : 
    1155 [ #  # ][ #  # ]:          0 :     if( mpCurTheme && mnCurActionPos != 0xffffffff )
    1156                 :            :     {
    1157         [ #  # ]:          0 :         const SgaObjKind eObjKind = mpCurTheme->GetObjectKind( mnCurActionPos );
    1158                 :            : 
    1159 [ #  # ][ #  # ]:          0 :         if( ( SGA_OBJ_BMP == eObjKind ) || ( SGA_OBJ_ANIM == eObjKind ) )
    1160                 :            :         {
    1161         [ #  # ]:          0 :             GraphicFilter& rFilter = GraphicFilter::GetGraphicFilter();
    1162 [ #  # ][ #  # ]:          0 :             INetURLObject       aURL; mpCurTheme->GetURL( mnCurActionPos, aURL );
    1163 [ #  # ][ #  # ]:          0 :             sal_uInt16          nFilter = rFilter.GetImportFormatNumberForShortName( aURL.GetExtension() );
         [ #  # ][ #  # ]
    1164                 :            : 
    1165         [ #  # ]:          0 :             if( GRFILTER_FORMAT_DONTKNOW != nFilter )
    1166 [ #  # ][ #  # ]:          0 :                 aFilterName = rFilter.GetImportFormatName( nFilter );
         [ #  # ][ #  # ]
    1167                 :            :         }
    1168                 :            :     }
    1169                 :            : 
    1170                 :          0 :     return aFilterName;
    1171                 :            : }
    1172                 :            : 
    1173                 :            : // -----------------------------------------------------------------------------
    1174                 :            : 
    1175                 :          0 : Graphic GalleryBrowser2::GetGraphic() const
    1176                 :            : {
    1177                 :          0 :     Graphic aGraphic;
    1178                 :            : 
    1179 [ #  # ][ #  # ]:          0 :     if( mpCurTheme && mnCurActionPos != 0xffffffff )
    1180         [ #  # ]:          0 :         mpCurTheme->GetGraphic( mnCurActionPos, aGraphic );
    1181                 :            : 
    1182                 :          0 :     return aGraphic;
    1183                 :            : }
    1184                 :            : 
    1185                 :            : // -----------------------------------------------------------------------------
    1186                 :            : 
    1187                 :          0 : sal_Bool GalleryBrowser2::IsLinkage() const
    1188                 :            : {
    1189                 :          0 :     return mbCurActionIsLinkage;
    1190                 :            : }
    1191                 :            : 
    1192                 :            : // -----------------------------------------------------------------------------
    1193                 :            : 
    1194                 :          0 : IMPL_LINK( GalleryBrowser2, MenuSelectHdl, Menu*, pMenu )
    1195                 :            : {
    1196         [ #  # ]:          0 :     if( pMenu )
    1197                 :          0 :         ImplExecute( pMenu->GetCurItemId() );
    1198                 :            : 
    1199                 :          0 :     return 0;
    1200                 :            : }
    1201                 :            : 
    1202                 :            : // -----------------------------------------------------------------------------
    1203                 :            : 
    1204                 :          0 : IMPL_LINK_NOARG(GalleryBrowser2, SelectObjectHdl)
    1205                 :            : {
    1206                 :          0 :     ImplUpdateInfoBar();
    1207                 :          0 :     return 0L;
    1208                 :            : }
    1209                 :            : 
    1210                 :            : // -----------------------------------------------------------------------------
    1211                 :            : 
    1212                 :          0 : IMPL_LINK( GalleryBrowser2, SelectTbxHdl, ToolBox*, pBox )
    1213                 :            : {
    1214         [ #  # ]:          0 :     if( pBox->GetCurItemId() == TBX_ID_ICON )
    1215                 :          0 :         SetMode( GALLERYBROWSERMODE_ICON );
    1216         [ #  # ]:          0 :     else if( pBox->GetCurItemId() == TBX_ID_LIST )
    1217                 :          0 :         SetMode( GALLERYBROWSERMODE_LIST );
    1218                 :            : 
    1219                 :          0 :     return 0L;
    1220                 :            : }
    1221                 :            : 
    1222                 :            : // -----------------------------------------------------------------------------
    1223                 :            : 
    1224                 :          0 : IMPL_LINK_NOARG(GalleryBrowser2, MiscHdl)
    1225                 :            : {
    1226 [ #  # ][ #  # ]:          0 :     maViewBox.SetOutStyle( maMiscOptions.GetToolboxStyle() );
    1227                 :            : 
    1228 [ #  # ][ #  # ]:          0 :     BitmapEx aIconBmpEx = BitmapEx( Image( GAL_RES( RID_SVXIMG_GALLERY_VIEW_ICON ) ).GetBitmapEx() );
         [ #  # ][ #  # ]
    1229 [ #  # ][ #  # ]:          0 :     BitmapEx aListBmpEx = BitmapEx( Image( GAL_RES( RID_SVXIMG_GALLERY_VIEW_LIST ) ).GetBitmapEx() );
         [ #  # ][ #  # ]
    1230                 :            : 
    1231 [ #  # ][ #  # ]:          0 :     if( maMiscOptions.AreCurrentSymbolsLarge() )
    1232                 :            :     {
    1233                 :          0 :         const Size aLargeSize( 24, 24);
    1234                 :            : 
    1235         [ #  # ]:          0 :         aIconBmpEx.Scale( aLargeSize );
    1236         [ #  # ]:          0 :         aListBmpEx.Scale( aLargeSize );
    1237                 :            :     }
    1238                 :            : 
    1239 [ #  # ][ #  # ]:          0 :     maViewBox.SetItemImage( TBX_ID_ICON, aIconBmpEx );
                 [ #  # ]
    1240 [ #  # ][ #  # ]:          0 :     maViewBox.SetItemImage( TBX_ID_LIST, aListBmpEx );
                 [ #  # ]
    1241 [ #  # ][ #  # ]:          0 :     maViewBox.SetSizePixel( maViewBox.CalcWindowSizePixel() );
    1242                 :            : 
    1243         [ #  # ]:          0 :     Resize();
    1244                 :            : 
    1245 [ #  # ][ #  # ]:          0 :     return 0L;
    1246                 :            : }
    1247                 :            : 
    1248                 :            : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10