diff -uNr sd/source/ui/dlg/sdpreslt.cxx sd.new/source/ui/dlg/sdpreslt.cxx --- sd/source/ui/dlg/sdpreslt.cxx 2006-11-20 10:46:36.000000000 +0800 +++ sd.new/source/ui/dlg/sdpreslt.cxx 2006-11-20 10:49:26.000000000 +0800 @@ -118,6 +118,7 @@ FreeResource(); pLayoutNames = new List; + aVS.SetSelectHdl(LINK(this, SdPresLayoutDlg, SetSelectHdl)); aVS.SetDoubleClickHdl(LINK(this, SdPresLayoutDlg, ClickLayoutHdl)); aBtnLoad.SetClickHdl(LINK(this, SdPresLayoutDlg, ClickLoadHdl)); @@ -269,6 +270,14 @@ return 0; } +/******************************************************************/ +IMPL_LINK(SdPresLayoutDlg, SetSelectHdl, void *, p) +{ + short nId = aVS.GetSelectItemId(); + if((XubString*)aVS.GetItemData( nId )!=NULL) + aName=*(XubString*)aVS.GetItemData( nId ); + return 0; +} /************************************************************************* |* |* Klick-Handler fuer Laden-Button @@ -367,8 +376,12 @@ String aLayoutName(pMaster->GetLayoutName()); aLayoutName.Erase( aLayoutName.SearchAscii( SD_LT_SEPARATOR ) ); pLayoutNames->Insert(new String(aLayoutName), LIST_APPEND); + Bitmap aBitmap(pTemplDocSh->GetPagePreviewBitmap(pMaster, 90)); + USHORT mId = (USHORT)pLayoutNames->Count(); aVS.InsertItem((USHORT)pLayoutNames->Count(), aBitmap, aLayoutName); + aVS.SetItemData( mId, new XubString(aName)); + } } } diff -uNr sd/source/ui/inc/sdpreslt.hxx sd.new/source/ui/inc/sdpreslt.hxx --- sd/source/ui/inc/sdpreslt.hxx 2006-11-20 10:47:02.000000000 +0800 +++ sd.new/source/ui/inc/sdpreslt.hxx 2006-11-20 10:49:56.000000000 +0800 @@ -100,6 +100,7 @@ DECL_LINK(ClickLayoutHdl, void *); DECL_LINK(ClickLoadHdl, void *); + DECL_LINK(SetSelectHdl, void *); private: ::sd::DrawDocShell* pDocSh; ::sd::ViewShell* pViewSh;