Kaydet (Commit) 7886bbd0 authored tarafından Katarina Behrens's avatar Katarina Behrens

Converted define custom slide show dialog to .ui

Change-Id: I6bb6bcb96993d05cc225da63c56cbb7fbad83ec2
üst 6b9f437e
...@@ -280,34 +280,37 @@ sal_Bool SdCustomShowDlg::IsCustomShow() const ...@@ -280,34 +280,37 @@ sal_Bool SdCustomShowDlg::IsCustomShow() const
SdDefineCustomShowDlg::SdDefineCustomShowDlg( Window* pWindow, SdDefineCustomShowDlg::SdDefineCustomShowDlg( Window* pWindow,
SdDrawDocument& rDrawDoc, SdCustomShow*& rpCS ) : SdDrawDocument& rDrawDoc, SdCustomShow*& rpCS ) :
ModalDialog ( pWindow, SdResId( DLG_DEFINE_CUSTOMSHOW ) ), ModalDialog ( pWindow, "DefineCustomSlideShow", "modules/simpress/ui/definecustomslideshow.ui" ),
aFtName ( this, SdResId( FT_NAME ) ),
aEdtName ( this, SdResId( EDT_NAME ) ),
aFtPages ( this, SdResId( FT_PAGES ) ),
aLbPages ( this, SdResId( LB_PAGES ) ),
aBtnAdd ( this, SdResId( BTN_ADD ) ),
aBtnRemove ( this, SdResId( BTN_REMOVE ) ),
aFtCustomPages ( this, SdResId( FT_CUSTOM_PAGES ) ),
aLbCustomPages ( this, SdResId( LB_CUSTOM_PAGES ) ),
aBtnOK ( this, SdResId( BTN_OK ) ),
aBtnCancel ( this, SdResId( BTN_CANCEL ) ),
aBtnHelp ( this, SdResId( BTN_HELP ) ),
rDoc ( rDrawDoc ), rDoc ( rDrawDoc ),
rpCustomShow ( rpCS ), rpCustomShow ( rpCS ),
bModified ( sal_False ) bModified ( sal_False )
{ {
FreeResource(); get( m_pEdtName, "customname" );
get( m_pLbPages, "pages" );
get( m_pBtnAdd, "add" );
get( m_pBtnRemove, "remove" );
get( m_pLbCustomPages, "custompages" );
get( m_pBtnOK, "ok" );
get( m_pBtnCancel, "cancel" );
get( m_pBtnHelp, "help" );
Link aLink = LINK( this, SdDefineCustomShowDlg, ClickButtonHdl ); Link aLink = LINK( this, SdDefineCustomShowDlg, ClickButtonHdl );
aBtnAdd.SetClickHdl( aLink ); m_pBtnAdd->SetClickHdl( aLink );
aBtnRemove.SetClickHdl( aLink ); m_pBtnRemove->SetClickHdl( aLink );
aEdtName.SetModifyHdl( aLink ); m_pEdtName->SetModifyHdl( aLink );
aLbPages.SetSelectHdl( aLink ); // because of status m_pLbPages->SetSelectHdl( aLink ); // because of status
aLbCustomPages.SetSelectHdl( aLink ); // because of status m_pLbCustomPages->SetSelectHdl( aLink ); // because of status
aBtnOK.SetClickHdl( LINK( this, SdDefineCustomShowDlg, OKHdl ) ); m_pBtnOK->SetClickHdl( LINK( this, SdDefineCustomShowDlg, OKHdl ) );
// Hack: m_pLbPages used to be MultiLB. We don't have VCL builder equivalent
// of it yet. So enable selecting multiple items here
m_pLbPages->EnableMultiSelection( sal_True );
// shape 'em a bit
m_pLbPages->set_width_request(m_pLbPages->approximate_char_width() * 16);
m_pLbCustomPages->set_width_request(m_pLbPages->approximate_char_width() * 16);
m_pLbPages->SetDropDownLineCount(10);
SdPage* pPage; SdPage* pPage;
// fill Listbox with page names of Docs // fill Listbox with page names of Docs
...@@ -317,35 +320,35 @@ SdDefineCustomShowDlg::SdDefineCustomShowDlg( Window* pWindow, ...@@ -317,35 +320,35 @@ SdDefineCustomShowDlg::SdDefineCustomShowDlg( Window* pWindow,
{ {
pPage = rDoc.GetSdPage( (sal_uInt16) nPage, PK_STANDARD ); pPage = rDoc.GetSdPage( (sal_uInt16) nPage, PK_STANDARD );
OUString aStr( pPage->GetName() ); OUString aStr( pPage->GetName() );
aLbPages.InsertEntry( aStr ); m_pLbPages->InsertEntry( aStr );
} }
//aLbPages.SelectEntryPos( 0 ); //aLbPages.SelectEntryPos( 0 );
if( rpCustomShow ) if( rpCustomShow )
{ {
aOldName = rpCustomShow->GetName(); aOldName = rpCustomShow->GetName();
aEdtName.SetText( aOldName ); m_pEdtName->SetText( aOldName );
// fill ListBox with CustomShow pages // fill ListBox with CustomShow pages
for( SdCustomShow::PageVec::iterator it = rpCustomShow->PagesVector().begin(); for( SdCustomShow::PageVec::iterator it = rpCustomShow->PagesVector().begin();
it != rpCustomShow->PagesVector().end(); ++it ) it != rpCustomShow->PagesVector().end(); ++it )
{ {
SvTreeListEntry* pEntry = aLbCustomPages.InsertEntry( (*it)->GetName() ); SvTreeListEntry* pEntry = m_pLbCustomPages->InsertEntry( (*it)->GetName() );
pEntry->SetUserData( (SdPage*) (*it) ); pEntry->SetUserData( (SdPage*) (*it) );
} }
} }
else else
{ {
rpCustomShow = new SdCustomShow( &rDoc ); rpCustomShow = new SdCustomShow( &rDoc );
aEdtName.SetText( OUString( SdResId( STR_NEW_CUSTOMSHOW ) ) ); m_pEdtName->SetText( OUString( SdResId( STR_NEW_CUSTOMSHOW ) ) );
aEdtName.SetSelection( Selection( SELECTION_MIN, SELECTION_MAX ) ); m_pEdtName->SetSelection( Selection( SELECTION_MIN, SELECTION_MAX ) );
rpCustomShow->SetName( aEdtName.GetText() ); rpCustomShow->SetName( m_pEdtName->GetText() );
} }
aLbCustomPages.SetDragDropMode( SV_DRAGDROP_CTRL_MOVE ); m_pLbCustomPages->SetDragDropMode( SV_DRAGDROP_CTRL_MOVE );
aLbCustomPages.SetHighlightRange(); m_pLbCustomPages->SetHighlightRange();
aBtnOK.Enable( sal_False ); m_pBtnOK->Enable( sal_False );
CheckState(); CheckState();
} }
...@@ -358,14 +361,14 @@ SdDefineCustomShowDlg::~SdDefineCustomShowDlg() ...@@ -358,14 +361,14 @@ SdDefineCustomShowDlg::~SdDefineCustomShowDlg()
*/ */
void SdDefineCustomShowDlg::CheckState() void SdDefineCustomShowDlg::CheckState()
{ {
sal_Bool bPages = aLbPages.GetSelectEntryPos() != LISTBOX_ENTRY_NOTFOUND; sal_Bool bPages = m_pLbPages->GetSelectEntryPos() != LISTBOX_ENTRY_NOTFOUND;
//sal_Bool bCSPages = aLbCustomPages.GetSelectEntryPos() != LISTBOX_ENTRY_NOTFOUND; //sal_Bool bCSPages = aLbCustomPages.GetSelectEntryPos() != LISTBOX_ENTRY_NOTFOUND;
sal_Bool bCSPages = aLbCustomPages.FirstSelected() != NULL; sal_Bool bCSPages = m_pLbCustomPages->FirstSelected() != NULL;
sal_Bool bCount = aLbCustomPages.GetEntryCount() > 0; sal_Bool bCount = m_pLbCustomPages->GetEntryCount() > 0;
aBtnOK.Enable( bCount ); m_pBtnOK->Enable( bCount );
aBtnAdd.Enable( bPages ); m_pBtnAdd->Enable( bPages );
aBtnRemove.Enable( bCSPages ); m_pBtnRemove->Enable( bCSPages );
} }
/** /**
...@@ -373,24 +376,24 @@ void SdDefineCustomShowDlg::CheckState() ...@@ -373,24 +376,24 @@ void SdDefineCustomShowDlg::CheckState()
*/ */
IMPL_LINK( SdDefineCustomShowDlg, ClickButtonHdl, void *, p ) IMPL_LINK( SdDefineCustomShowDlg, ClickButtonHdl, void *, p )
{ {
if( p == &aBtnAdd ) if( p == m_pBtnAdd )
{ {
sal_uInt16 nCount = aLbPages.GetSelectEntryCount(); sal_uInt16 nCount = m_pLbPages->GetSelectEntryCount();
if( nCount > 0 ) if( nCount > 0 )
{ {
sal_uLong nPosCP = LIST_APPEND; sal_uLong nPosCP = LIST_APPEND;
SvTreeListEntry* pEntry = aLbCustomPages.FirstSelected(); SvTreeListEntry* pEntry = m_pLbCustomPages->FirstSelected();
if( pEntry ) if( pEntry )
nPosCP = aLbCustomPages.GetModel()->GetAbsPos( pEntry ) + 1L; nPosCP = m_pLbCustomPages->GetModel()->GetAbsPos( pEntry ) + 1L;
for( sal_uInt16 i = 0; i < nCount; i++ ) for( sal_uInt16 i = 0; i < nCount; i++ )
{ {
OUString aStr = aLbPages.GetSelectEntry( i ); OUString aStr = m_pLbPages->GetSelectEntry( i );
pEntry = aLbCustomPages.InsertEntry( aStr, pEntry = m_pLbCustomPages->InsertEntry( aStr,
0, sal_False, nPosCP ); 0, sal_False, nPosCP );
aLbCustomPages.Select( pEntry ); m_pLbCustomPages->Select( pEntry );
SdPage* pPage = rDoc.GetSdPage( (sal_uInt16) aLbPages. SdPage* pPage = rDoc.GetSdPage( (sal_uInt16) m_pLbPages->
GetSelectEntryPos( i ), PK_STANDARD ); GetSelectEntryPos( i ), PK_STANDARD );
pEntry->SetUserData( pPage ); pEntry->SetUserData( pPage );
...@@ -400,21 +403,21 @@ IMPL_LINK( SdDefineCustomShowDlg, ClickButtonHdl, void *, p ) ...@@ -400,21 +403,21 @@ IMPL_LINK( SdDefineCustomShowDlg, ClickButtonHdl, void *, p )
bModified = sal_True; bModified = sal_True;
} }
} }
else if( p == &aBtnRemove ) else if( p == m_pBtnRemove )
{ {
//sal_uInt16 nPos = aLbCustomPages.GetSelectEntryPos(); //sal_uInt16 nPos = aLbCustomPages.GetSelectEntryPos();
SvTreeListEntry* pEntry = aLbCustomPages.FirstSelected(); SvTreeListEntry* pEntry = m_pLbCustomPages->FirstSelected();
if( pEntry ) if( pEntry )
{ {
sal_uLong nPos = aLbCustomPages.GetModel()->GetAbsPos( pEntry ); sal_uLong nPos = m_pLbCustomPages->GetModel()->GetAbsPos( pEntry );
//rpCustomShow->Remove( nPos ); //rpCustomShow->Remove( nPos );
//aLbCustomPages.RemoveEntry( nPos ); //aLbCustomPages.RemoveEntry( nPos );
aLbCustomPages.GetModel()->Remove( aLbCustomPages.GetModel()->GetEntryAtAbsPos( nPos ) ); m_pLbCustomPages->GetModel()->Remove( m_pLbCustomPages->GetModel()->GetEntryAtAbsPos( nPos ) );
bModified = sal_True; bModified = sal_True;
} }
} }
else if( p == &aEdtName ) else if( p == m_pEdtName )
{ {
//rpCustomShow->SetName( aEdtName.GetText() ); //rpCustomShow->SetName( aEdtName.GetText() );
...@@ -436,7 +439,7 @@ void SdDefineCustomShowDlg::CheckCustomShow() ...@@ -436,7 +439,7 @@ void SdDefineCustomShowDlg::CheckCustomShow()
SvTreeListEntry* pEntry = NULL; SvTreeListEntry* pEntry = NULL;
// compare count // compare count
if( rpCustomShow->PagesVector().size() != aLbCustomPages.GetEntryCount() ) if( rpCustomShow->PagesVector().size() != m_pLbCustomPages->GetEntryCount() )
{ {
rpCustomShow->PagesVector().clear(); rpCustomShow->PagesVector().clear();
bDifferent = sal_True; bDifferent = sal_True;
...@@ -446,9 +449,9 @@ void SdDefineCustomShowDlg::CheckCustomShow() ...@@ -446,9 +449,9 @@ void SdDefineCustomShowDlg::CheckCustomShow()
if( !bDifferent ) if( !bDifferent )
{ {
SdCustomShow::PageVec::iterator it1 = rpCustomShow->PagesVector().begin(); SdCustomShow::PageVec::iterator it1 = rpCustomShow->PagesVector().begin();
pEntry = aLbCustomPages.First(); pEntry = m_pLbCustomPages->First();
for( ; it1 != rpCustomShow->PagesVector().end() && pEntry != NULL && !bDifferent; for( ; it1 != rpCustomShow->PagesVector().end() && pEntry != NULL && !bDifferent;
++it1, pEntry = aLbCustomPages.Next( pEntry ) ) ++it1, pEntry = m_pLbCustomPages->Next( pEntry ) )
{ {
if( *it1 != pEntry->GetUserData() ) if( *it1 != pEntry->GetUserData() )
{ {
...@@ -462,9 +465,9 @@ void SdDefineCustomShowDlg::CheckCustomShow() ...@@ -462,9 +465,9 @@ void SdDefineCustomShowDlg::CheckCustomShow()
if( bDifferent ) if( bDifferent )
{ {
SdPage* pPage = NULL; SdPage* pPage = NULL;
for( pEntry = aLbCustomPages.First(); for( pEntry = m_pLbCustomPages->First();
pEntry != NULL; pEntry != NULL;
pEntry = aLbCustomPages.Next( pEntry ) ) pEntry = m_pLbCustomPages->Next( pEntry ) )
{ {
pPage = (SdPage*) pEntry->GetUserData(); pPage = (SdPage*) pEntry->GetUserData();
rpCustomShow->PagesVector().push_back( pPage ); rpCustomShow->PagesVector().push_back( pPage );
...@@ -473,7 +476,7 @@ void SdDefineCustomShowDlg::CheckCustomShow() ...@@ -473,7 +476,7 @@ void SdDefineCustomShowDlg::CheckCustomShow()
} }
// compare name and set name if necessary // compare name and set name if necessary
String aStr( aEdtName.GetText() ); String aStr( m_pEdtName->GetText() );
if( rpCustomShow->GetName() != aStr ) if( rpCustomShow->GetName() != aStr )
{ {
rpCustomShow->SetName( aStr ); rpCustomShow->SetName( aStr );
...@@ -491,7 +494,7 @@ IMPL_LINK_NOARG(SdDefineCustomShowDlg, OKHdl) ...@@ -491,7 +494,7 @@ IMPL_LINK_NOARG(SdDefineCustomShowDlg, OKHdl)
SdCustomShowList* pCustomShowList = rDoc.GetCustomShowList(); SdCustomShowList* pCustomShowList = rDoc.GetCustomShowList();
if( pCustomShowList ) if( pCustomShowList )
{ {
String aName( aEdtName.GetText() ); String aName( m_pEdtName->GetText() );
SdCustomShow* pCustomShow; SdCustomShow* pCustomShow;
long nPosToSelect = pCustomShowList->GetCurPos(); long nPosToSelect = pCustomShowList->GetCurPos();
...@@ -516,7 +519,7 @@ IMPL_LINK_NOARG(SdDefineCustomShowDlg, OKHdl) ...@@ -516,7 +519,7 @@ IMPL_LINK_NOARG(SdDefineCustomShowDlg, OKHdl)
WarningBox( this, WinBits( WB_OK ), WarningBox( this, WinBits( WB_OK ),
String( SdResId( STR_WARN_NAME_DUPLICATE ) ) ).Execute(); String( SdResId( STR_WARN_NAME_DUPLICATE ) ) ).Execute();
aEdtName.GrabFocus(); m_pEdtName->GrabFocus();
} }
return 0; return 0;
......
...@@ -71,17 +71,14 @@ public: ...@@ -71,17 +71,14 @@ public:
class SdDefineCustomShowDlg : public ModalDialog class SdDefineCustomShowDlg : public ModalDialog
{ {
private: private:
FixedText aFtName; Edit* m_pEdtName;
Edit aEdtName; ListBox* m_pLbPages;
FixedText aFtPages; PushButton* m_pBtnAdd;
MultiListBox aLbPages; PushButton* m_pBtnRemove;
PushButton aBtnAdd; SvTreeListBox* m_pLbCustomPages;
PushButton aBtnRemove; OKButton* m_pBtnOK;
FixedText aFtCustomPages; CancelButton* m_pBtnCancel;
SvTreeListBox aLbCustomPages; HelpButton* m_pBtnHelp;
OKButton aBtnOK;
CancelButton aBtnCancel;
HelpButton aBtnHelp;
SdDrawDocument& rDoc; SdDrawDocument& rDoc;
SdCustomShow*& rpCustomShow; SdCustomShow*& rpCustomShow;
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment