LCOV - code coverage report
Current view: top level - libreoffice/sd/source/ui/dlg - custsdlg.cxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 0 236 0.0 %
Date: 2012-12-27 Functions: 0 18 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*
       3             :  * This file is part of the LibreOffice project.
       4             :  *
       5             :  * This Source Code Form is subject to the terms of the Mozilla Public
       6             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8             :  *
       9             :  * This file incorporates work covered by the following license notice:
      10             :  *
      11             :  *   Licensed to the Apache Software Foundation (ASF) under one or more
      12             :  *   contributor license agreements. See the NOTICE file distributed
      13             :  *   with this work for additional information regarding copyright
      14             :  *   ownership. The ASF licenses this file to you under the Apache
      15             :  *   License, Version 2.0 (the "License"); you may not use this file
      16             :  *   except in compliance with the License. You may obtain a copy of
      17             :  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
      18             :  */
      19             : 
      20             : 
      21             : #ifdef SD_DLLIMPLEMENTATION
      22             : #undef SD_DLLIMPLEMENTATION
      23             : #endif
      24             : 
      25             : #include "custsdlg.hxx"
      26             : #include "custsdlg.hrc"
      27             : 
      28             : #include "strings.hrc"
      29             : #include "sdresid.hxx"
      30             : 
      31             : #include "drawdoc.hxx"
      32             : #include "sdpage.hxx"
      33             : #include "cusshow.hxx"
      34             : #include "app.hxx"
      35             : #include "customshowlist.hxx"
      36             : #include <vcl/msgbox.hxx>
      37             : #include "svtools/treelistentry.hxx"
      38             : 
      39             : 
      40             : /////////////////////
      41             : // SdCustomShowDlg //
      42             : /////////////////////
      43             : 
      44             : 
      45             : /*************************************************************************
      46             : |* Konstruktor
      47             : \************************************************************************/
      48           0 : SdCustomShowDlg::SdCustomShowDlg( Window* pWindow,
      49             :                             SdDrawDocument& rDrawDoc ) :
      50             :     ModalDialog     ( pWindow, SdResId( DLG_CUSTOMSHOW ) ),
      51             : 
      52             :     aLbCustomShows  ( this, SdResId( LB_CUSTOMSHOWS ) ),
      53             :     aCbxUseCustomShow( this, SdResId( CBX_USE_CUSTOMSHOW ) ),
      54             :     aBtnNew         ( this, SdResId( BTN_NEW ) ),
      55             :     aBtnEdit        ( this, SdResId( BTN_EDIT ) ),
      56             :     aBtnRemove      ( this, SdResId( BTN_REMOVE ) ),
      57             :     aBtnCopy        ( this, SdResId( BTN_COPY ) ),
      58             :     aBtnHelp        ( this, SdResId( BTN_HELP ) ),
      59             :     aBtnStartShow   ( this, SdResId( BTN_STARTSHOW ) ),
      60             :     aBtnOK          ( this, SdResId( BTN_OK ) ),
      61             : 
      62             :     rDoc            ( rDrawDoc ),
      63             :     pCustomShowList ( NULL ),
      64             :     pCustomShow     ( NULL ),
      65           0 :     bModified       ( sal_False )
      66             : {
      67           0 :     FreeResource();
      68             : 
      69           0 :     Link aLink( LINK( this, SdCustomShowDlg, ClickButtonHdl ) );
      70           0 :     aBtnNew.SetClickHdl( aLink );
      71           0 :     aBtnEdit.SetClickHdl( aLink );
      72           0 :     aBtnRemove.SetClickHdl( aLink );
      73           0 :     aBtnCopy.SetClickHdl( aLink );
      74           0 :     aCbxUseCustomShow.SetClickHdl( aLink );
      75           0 :     aLbCustomShows.SetSelectHdl( aLink );
      76             : 
      77           0 :     aBtnStartShow.SetClickHdl( LINK( this, SdCustomShowDlg, StartShowHdl ) ); // Testweise
      78             : 
      79             :     // CustomShow-Liste des Docs abrufen
      80           0 :     pCustomShowList = rDoc.GetCustomShowList();
      81           0 :     if( pCustomShowList )
      82             :     {
      83           0 :         long nPosToSelect = pCustomShowList->GetCurPos();
      84             :         // ListBox mit CustomShows fuellen
      85           0 :         for( pCustomShow = pCustomShowList->First();
      86             :              pCustomShow != NULL;
      87           0 :              pCustomShow = pCustomShowList->Next() )
      88             :         {
      89           0 :             aLbCustomShows.InsertEntry( pCustomShow->GetName() );
      90             :         }
      91           0 :         aLbCustomShows.SelectEntryPos( (sal_uInt16)nPosToSelect );
      92           0 :         pCustomShowList->Seek( nPosToSelect );
      93             :     }
      94             : 
      95           0 :     aCbxUseCustomShow.Check( pCustomShowList && rDoc.getPresentationSettings().mbCustomShow );
      96             : 
      97           0 :     CheckState();
      98           0 : }
      99             : 
     100             : /*************************************************************************
     101             : |* Dtor
     102             : \************************************************************************/
     103           0 : SdCustomShowDlg::~SdCustomShowDlg()
     104             : {
     105           0 : }
     106             : 
     107             : /*************************************************************************
     108             : |* CheckState
     109             : \************************************************************************/
     110           0 : void SdCustomShowDlg::CheckState()
     111             : {
     112           0 :     sal_uInt16 nPos = aLbCustomShows.GetSelectEntryPos();
     113             : 
     114           0 :     sal_Bool bEnable = nPos != LISTBOX_ENTRY_NOTFOUND;
     115           0 :     aBtnEdit.Enable( bEnable );
     116           0 :     aBtnRemove.Enable( bEnable );
     117           0 :     aBtnCopy.Enable( bEnable );
     118           0 :     aCbxUseCustomShow.Enable( bEnable );
     119           0 :     aBtnStartShow.Enable( true );
     120             : 
     121           0 :     if( bEnable )
     122           0 :         pCustomShowList->Seek( nPos );
     123           0 : }
     124             : 
     125             : /*************************************************************************
     126             : |* ButtonHdl()
     127             : \************************************************************************/
     128           0 : IMPL_LINK( SdCustomShowDlg, ClickButtonHdl, void *, p )
     129             : {
     130             :     // Neue CustomShow
     131           0 :     if( p == &aBtnNew )
     132             :     {
     133           0 :         pCustomShow = NULL;
     134           0 :         SdDefineCustomShowDlg aDlg( this, rDoc, pCustomShow );
     135           0 :         if( aDlg.Execute() == RET_OK )
     136             :         {
     137           0 :             if( pCustomShow )
     138             :             {
     139           0 :                 if( !pCustomShowList )
     140           0 :                     pCustomShowList = rDoc.GetCustomShowList( sal_True );
     141             : 
     142           0 :                 pCustomShowList->push_back( pCustomShow );
     143           0 :                 pCustomShowList->Last();
     144           0 :                 aLbCustomShows.InsertEntry( pCustomShow->GetName() );
     145           0 :                 aLbCustomShows.SelectEntry( pCustomShow->GetName() );
     146             :             }
     147             : 
     148           0 :             if( aDlg.IsModified() )
     149           0 :                 bModified = sal_True;
     150             :         }
     151           0 :         else if( pCustomShow )
     152           0 :             DELETEZ( pCustomShow );
     153             :     }
     154             :     // CustomShow bearbeiten
     155           0 :     else if( p == &aBtnEdit )
     156             :     {
     157           0 :         sal_uInt16 nPos = aLbCustomShows.GetSelectEntryPos();
     158           0 :         if( nPos != LISTBOX_ENTRY_NOTFOUND )
     159             :         {
     160             :             DBG_ASSERT( pCustomShowList, "pCustomShowList existiert nicht" );
     161           0 :             pCustomShow = (*pCustomShowList)[ nPos ];
     162           0 :             SdDefineCustomShowDlg aDlg( this, rDoc, pCustomShow );
     163             : 
     164           0 :             if( aDlg.Execute() == RET_OK )
     165             :             {
     166           0 :                 if( pCustomShow )
     167             :                 {
     168           0 :                     (*pCustomShowList)[nPos] = pCustomShow;
     169           0 :                     pCustomShowList->Seek( nPos );
     170           0 :                     aLbCustomShows.RemoveEntry( nPos );
     171           0 :                     aLbCustomShows.InsertEntry( pCustomShow->GetName(), nPos );
     172           0 :                     aLbCustomShows.SelectEntryPos( nPos );
     173             :                 }
     174           0 :                 if( aDlg.IsModified() )
     175           0 :                     bModified = sal_True;
     176           0 :             }
     177             :         }
     178             :     }
     179             :     // CustomShow loeschen
     180           0 :     else if( p == &aBtnRemove )
     181             :     {
     182           0 :         sal_uInt16 nPos = aLbCustomShows.GetSelectEntryPos();
     183           0 :         if( nPos != LISTBOX_ENTRY_NOTFOUND )
     184             :         {
     185           0 :             delete *pCustomShowList->erase( pCustomShowList->begin() + nPos );
     186           0 :             aLbCustomShows.RemoveEntry( nPos );
     187           0 :             aLbCustomShows.SelectEntryPos( nPos == 0 ? nPos : nPos - 1 );
     188           0 :             bModified = sal_True;
     189             :         }
     190             :     }
     191             :     // CustomShow kopieren
     192           0 :     else if( p == &aBtnCopy )
     193             :     {
     194           0 :         sal_uInt16 nPos = aLbCustomShows.GetSelectEntryPos();
     195           0 :         if( nPos != LISTBOX_ENTRY_NOTFOUND )
     196             :         {
     197           0 :             SdCustomShow* pShow = new SdCustomShow( *(*pCustomShowList)[nPos] );
     198           0 :             String aStr( pShow->GetName() );
     199           0 :             String aStrCopy( SdResId( STR_COPY_CUSTOMSHOW ) );
     200             : 
     201           0 :             sal_uInt16 nStrPos = aStr.Search( aStrCopy );
     202           0 :             sal_uInt16 nNum = 1;
     203           0 :             if( nStrPos == STRING_NOTFOUND )
     204             :             {
     205           0 :                 aStr.AppendAscii( RTL_CONSTASCII_STRINGPARAM( " (" ) );
     206           0 :                 aStr.Append( aStrCopy );
     207           0 :                 aStr.Append( UniString::CreateFromInt32( nNum ) );
     208           0 :                 aStr.Append( sal_Unicode(')') );
     209           0 :                 nStrPos = aStr.Search( aStrCopy );
     210             :             }
     211           0 :             nStrPos = nStrPos + (sal_uInt16)aStrCopy.Len();
     212             :             // Um nicht ins Nirvana zu greifen (--> Endlosschleife)
     213           0 :             if( nStrPos >= aStr.Len() )
     214             :             {
     215           0 :                 aStr.Append( sal_Unicode(' ') );
     216           0 :                 aStr.Append( UniString::CreateFromInt32( nNum ) );
     217             :             }
     218             : 
     219             :             // Name ueberpruefen...
     220           0 :             sal_Bool bDifferent = sal_False;
     221             :             //long nPosToSelect = pCustomShowList->GetCurPos();
     222           0 :             while( !bDifferent )
     223             :             {
     224           0 :                 bDifferent = sal_True;
     225           0 :                 for( pCustomShow = (SdCustomShow*) pCustomShowList->First();
     226             :                      pCustomShow != NULL && bDifferent;
     227           0 :                      pCustomShow = (SdCustomShow*) pCustomShowList->Next() )
     228             :                 {
     229           0 :                     if( aStr == pCustomShow->GetName() )
     230           0 :                         bDifferent = sal_False;
     231             :                 }
     232           0 :                 if( !bDifferent )
     233             :                 {
     234             :                     // Nummer entfernen und durch um 1 erhoehte ersetzen
     235             : 
     236           0 :                     const CharClass* pCharClass = rDoc.GetCharClass();
     237           0 :                     while( pCharClass->isDigit( aStr, nStrPos ) )
     238           0 :                         aStr.Erase( nStrPos, 1 );
     239           0 :                     aStr.Insert( UniString::CreateFromInt32( ++nNum ), nStrPos);
     240             :                 }
     241             : 
     242             :             }
     243             :             //pCustomShowList->Seek( nPosToSelect );
     244           0 :             pShow->SetName( aStr );
     245             : 
     246           0 :             pCustomShowList->push_back( pShow );
     247           0 :             pCustomShowList->Last();
     248           0 :             aLbCustomShows.InsertEntry( pShow->GetName() );
     249           0 :             aLbCustomShows.SelectEntry( pShow->GetName() );
     250             : 
     251             : 
     252           0 :             bModified = sal_True;
     253             :         }
     254             :     }
     255           0 :     else if( p == &aLbCustomShows )
     256             :     {
     257           0 :         sal_uInt16 nPos = aLbCustomShows.GetSelectEntryPos();
     258           0 :         if( nPos != LISTBOX_ENTRY_NOTFOUND )
     259           0 :             pCustomShowList->Seek( nPos );
     260             : 
     261           0 :         bModified = sal_True;
     262             :     }
     263           0 :     else if( p == &aCbxUseCustomShow )
     264             :     {
     265           0 :         bModified = sal_True;
     266             :     }
     267             : 
     268           0 :     CheckState();
     269             : 
     270           0 :     return( 0L );
     271             : }
     272             : 
     273             : /*************************************************************************
     274             : |* StartShow-Hdl
     275             : \************************************************************************/
     276           0 : IMPL_LINK_NOARG(SdCustomShowDlg, StartShowHdl)
     277             : {
     278           0 :     EndDialog( RET_YES );
     279             : 
     280           0 :     return 0;
     281             : }
     282             : 
     283             : /*************************************************************************
     284             : |* CheckState
     285             : \************************************************************************/
     286           0 : sal_Bool SdCustomShowDlg::IsCustomShow() const
     287             : {
     288           0 :     return( aCbxUseCustomShow.IsEnabled() && aCbxUseCustomShow.IsChecked() );
     289             : }
     290             : 
     291             : 
     292             : 
     293             : ///////////////////////////
     294             : // SdDefineCustomShowDlg //
     295             : ///////////////////////////
     296             : 
     297             : 
     298             : /*************************************************************************
     299             : |*
     300             : |* Konstruktor
     301             : |*
     302             : \************************************************************************/
     303           0 : SdDefineCustomShowDlg::SdDefineCustomShowDlg( Window* pWindow,
     304             :                         SdDrawDocument& rDrawDoc, SdCustomShow*& rpCS ) :
     305             :     ModalDialog     ( pWindow, SdResId( DLG_DEFINE_CUSTOMSHOW ) ),
     306             : 
     307             :     aFtName         ( this, SdResId( FT_NAME ) ),
     308             :     aEdtName        ( this, SdResId( EDT_NAME ) ),
     309             :     aFtPages        ( this, SdResId( FT_PAGES ) ),
     310             :     aLbPages        ( this, SdResId( LB_PAGES ) ),
     311             :     aBtnAdd         ( this, SdResId( BTN_ADD ) ),
     312             :     aBtnRemove      ( this, SdResId( BTN_REMOVE ) ),
     313             :     aFtCustomPages  ( this, SdResId( FT_CUSTOM_PAGES ) ),
     314             :     aLbCustomPages  ( this, SdResId( LB_CUSTOM_PAGES ) ),
     315             :     aBtnOK          ( this, SdResId( BTN_OK ) ),
     316             :     aBtnCancel      ( this, SdResId( BTN_CANCEL ) ),
     317             :     aBtnHelp        ( this, SdResId( BTN_HELP ) ),
     318             : 
     319             :     rDoc            ( rDrawDoc ),
     320             :     rpCustomShow    ( rpCS ),
     321           0 :     bModified       ( sal_False )
     322             : {
     323           0 :     FreeResource();
     324             : 
     325           0 :     Link aLink = LINK( this, SdDefineCustomShowDlg, ClickButtonHdl );
     326           0 :     aBtnAdd.SetClickHdl( aLink );
     327           0 :     aBtnRemove.SetClickHdl( aLink );
     328           0 :     aEdtName.SetModifyHdl( aLink );
     329           0 :     aLbPages.SetSelectHdl( aLink ); // wegen Status
     330           0 :     aLbCustomPages.SetSelectHdl( aLink ); // wegen Status
     331             : 
     332           0 :     aBtnOK.SetClickHdl( LINK( this, SdDefineCustomShowDlg, OKHdl ) );
     333             : 
     334             :     SdPage* pPage;
     335             :     // Listbox mit Seitennamen des Docs fuellen
     336           0 :     for( long nPage = 0L;
     337           0 :          nPage < rDoc.GetSdPageCount( PK_STANDARD );
     338             :          nPage++ )
     339             :     {
     340           0 :         pPage = rDoc.GetSdPage( (sal_uInt16) nPage, PK_STANDARD );
     341           0 :         String aStr( pPage->GetName() );
     342           0 :         aLbPages.InsertEntry( aStr );
     343           0 :     }
     344             :     //aLbPages.SelectEntryPos( 0 );
     345             : 
     346           0 :     if( rpCustomShow )
     347             :     {
     348           0 :         aOldName = rpCustomShow->GetName();
     349           0 :         aEdtName.SetText( aOldName );
     350             : 
     351             :         // ListBox mit CustomShow-Seiten fuellen
     352           0 :         for( SdCustomShow::PageVec::iterator it = rpCustomShow->PagesVector().begin();
     353           0 :              it != rpCustomShow->PagesVector().end(); ++it )
     354             :         {
     355           0 :             SvTreeListEntry* pEntry = aLbCustomPages.InsertEntry( (*it)->GetName() );
     356           0 :             pEntry->SetUserData( (SdPage*) (*it) );
     357             :         }
     358             :     }
     359             :     else
     360             :     {
     361           0 :         rpCustomShow = new SdCustomShow( &rDoc );
     362           0 :         aEdtName.SetText( String( SdResId( STR_NEW_CUSTOMSHOW ) ) );
     363           0 :         aEdtName.SetSelection( Selection( SELECTION_MIN, SELECTION_MAX ) );
     364           0 :         rpCustomShow->SetName( aEdtName.GetText() );
     365             :     }
     366             : 
     367           0 :     aLbCustomPages.SetDragDropMode( SV_DRAGDROP_CTRL_MOVE );
     368           0 :     aLbCustomPages.SetHighlightRange();
     369             : 
     370           0 :     aBtnOK.Enable( sal_False );
     371           0 :     CheckState();
     372           0 : }
     373             : 
     374             : /*************************************************************************
     375             : |*
     376             : |* Dtor
     377             : |*
     378             : \************************************************************************/
     379           0 : SdDefineCustomShowDlg::~SdDefineCustomShowDlg()
     380             : {
     381           0 : }
     382             : 
     383             : /*************************************************************************
     384             : |* CheckState
     385             : \************************************************************************/
     386           0 : void SdDefineCustomShowDlg::CheckState()
     387             : {
     388           0 :     sal_Bool bPages = aLbPages.GetSelectEntryPos() != LISTBOX_ENTRY_NOTFOUND;
     389             :     //sal_Bool bCSPages = aLbCustomPages.GetSelectEntryPos() != LISTBOX_ENTRY_NOTFOUND;
     390           0 :     sal_Bool bCSPages = aLbCustomPages.FirstSelected() != NULL;
     391           0 :     sal_Bool bCount = aLbCustomPages.GetEntryCount() > 0;
     392             : 
     393           0 :     aBtnOK.Enable( bCount );
     394           0 :     aBtnAdd.Enable( bPages );
     395           0 :     aBtnRemove.Enable( bCSPages );
     396           0 : }
     397             : 
     398             : /*************************************************************************
     399             : |* ButtonHdl()
     400             : \************************************************************************/
     401           0 : IMPL_LINK( SdDefineCustomShowDlg, ClickButtonHdl, void *, p )
     402             : {
     403           0 :     if( p == &aBtnAdd )
     404             :     {
     405           0 :         sal_uInt16 nCount = aLbPages.GetSelectEntryCount();
     406           0 :         if( nCount > 0 )
     407             :         {
     408           0 :             sal_uLong nPosCP = LIST_APPEND;
     409           0 :             SvTreeListEntry* pEntry = aLbCustomPages.FirstSelected();
     410           0 :             if( pEntry )
     411           0 :                 nPosCP = aLbCustomPages.GetModel()->GetAbsPos( pEntry ) + 1L;
     412             : 
     413           0 :             for( sal_uInt16 i = 0; i < nCount; i++ )
     414             :             {
     415           0 :                 String aStr = aLbPages.GetSelectEntry( i );
     416             :                 pEntry = aLbCustomPages.InsertEntry( aStr,
     417           0 :                                             0, sal_False, nPosCP );
     418             : 
     419           0 :                 aLbCustomPages.Select( pEntry );
     420             :                 SdPage* pPage = rDoc.GetSdPage( (sal_uInt16) aLbPages.
     421           0 :                                     GetSelectEntryPos( i ), PK_STANDARD );
     422           0 :                 pEntry->SetUserData( pPage );
     423             : 
     424           0 :                 if( nPosCP != LIST_APPEND )
     425           0 :                     nPosCP++;
     426           0 :             }
     427           0 :             bModified = sal_True;
     428             :         }
     429             :     }
     430           0 :     else if( p == &aBtnRemove )
     431             :     {
     432             :         //sal_uInt16 nPos = aLbCustomPages.GetSelectEntryPos();
     433           0 :         SvTreeListEntry* pEntry = aLbCustomPages.FirstSelected();
     434           0 :         if( pEntry )
     435             :         {
     436           0 :             sal_uLong nPos = aLbCustomPages.GetModel()->GetAbsPos( pEntry );
     437             :             //rpCustomShow->Remove( nPos );
     438             :             //aLbCustomPages.RemoveEntry( nPos );
     439           0 :             aLbCustomPages.GetModel()->Remove( aLbCustomPages.GetModel()->GetEntryAtAbsPos( nPos ) );
     440             : 
     441           0 :             bModified = sal_True;
     442             :         }
     443             :     }
     444           0 :     else if( p == &aEdtName )
     445             :     {
     446             :         //rpCustomShow->SetName( aEdtName.GetText() );
     447             : 
     448           0 :         bModified = sal_True;
     449             :     }
     450             : 
     451           0 :     CheckState();
     452             : 
     453           0 :     return( 0L );
     454             : }
     455             : 
     456             : /*************************************************************************
     457             : |* CheckCustomShow():
     458             : |* Ueberprueft die Page-Pointer der Show, da die Eintraege ueber die
     459             : |* TreeLB verschoben und kopiert werden k”nnen
     460             : \************************************************************************/
     461           0 : void SdDefineCustomShowDlg::CheckCustomShow()
     462             : {
     463           0 :     sal_Bool bDifferent = sal_False;
     464           0 :     SdPage* pPage = NULL;
     465           0 :     SvTreeListEntry* pEntry = NULL;
     466             : 
     467             :     // Anzahl vergleichen
     468           0 :     if( rpCustomShow->PagesVector().size() != aLbCustomPages.GetEntryCount() )
     469             :     {
     470           0 :         rpCustomShow->PagesVector().clear();
     471           0 :         bDifferent = sal_True;
     472             :     }
     473             : 
     474             :     // Seiten-Pointer vergleichen
     475           0 :     if( !bDifferent )
     476             :     {
     477           0 :         SdCustomShow::PageVec::iterator it1 = rpCustomShow->PagesVector().begin();
     478           0 :         pEntry = aLbCustomPages.First();
     479           0 :         for( ; it1 != rpCustomShow->PagesVector().end() && pEntry != NULL && !bDifferent;
     480           0 :              ++it1, pEntry = aLbCustomPages.Next( pEntry ) )
     481             :         {
     482           0 :             if( *it1 != pEntry->GetUserData() )
     483             :             {
     484           0 :                 rpCustomShow->PagesVector().clear();
     485           0 :                 bDifferent = sal_True;
     486             :             }
     487             :         }
     488             :     }
     489             : 
     490             :     // Seiten-Pointer neu setzen
     491           0 :     if( bDifferent )
     492             :     {
     493           0 :         for( pEntry = aLbCustomPages.First();
     494             :              pEntry != NULL;
     495           0 :              pEntry = aLbCustomPages.Next( pEntry ) )
     496             :         {
     497           0 :             pPage = (SdPage*) pEntry->GetUserData();
     498           0 :             rpCustomShow->PagesVector().push_back( pPage );
     499             :         }
     500           0 :         bModified = sal_True;
     501             :     }
     502             : 
     503             :     // Name vergleichen und ggfs. setzen
     504           0 :     String aStr( aEdtName.GetText() );
     505           0 :     if( rpCustomShow->GetName() != aStr )
     506             :     {
     507           0 :         rpCustomShow->SetName( aStr );
     508           0 :         bModified = sal_True;
     509           0 :     }
     510           0 : }
     511             : 
     512             : /*************************************************************************
     513             : |* OK-Hdl
     514             : \************************************************************************/
     515           0 : IMPL_LINK_NOARG(SdDefineCustomShowDlg, OKHdl)
     516             : {
     517             :     // Name ueberpruefen...
     518           0 :     sal_Bool bDifferent = sal_True;
     519           0 :     SdCustomShowList* pCustomShowList = rDoc.GetCustomShowList();
     520           0 :     if( pCustomShowList )
     521             :     {
     522           0 :         String aName( aEdtName.GetText() );
     523             :         SdCustomShow* pCustomShow;
     524             : 
     525           0 :         long nPosToSelect = pCustomShowList->GetCurPos();
     526           0 :         for( pCustomShow = pCustomShowList->First();
     527             :              pCustomShow != NULL;
     528             :              pCustomShow = pCustomShowList->Next() )
     529             :         {
     530           0 :             if( aName == pCustomShow->GetName() && aName != aOldName )
     531           0 :                 bDifferent = sal_False;
     532             :         }
     533           0 :         pCustomShowList->Seek( nPosToSelect );
     534             :     }
     535             : 
     536           0 :     if( bDifferent )
     537             :     {
     538           0 :         CheckCustomShow();
     539             : 
     540           0 :         EndDialog( RET_OK );
     541             :     }
     542             :     else
     543             :     {
     544             :         WarningBox( this, WinBits( WB_OK ),
     545           0 :                     String( SdResId( STR_WARN_NAME_DUPLICATE ) ) ).Execute();
     546             : 
     547           0 :         aEdtName.GrabFocus();
     548             :     }
     549             : 
     550           0 :     return 0;
     551             : }
     552             : 
     553             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10