Index: svtools/source/contnr/templwin.cxx
===================================================================
RCS file: /cvs/util/svtools/source/contnr/templwin.cxx,v
retrieving revision 1.66
diff -u -r1.66 templwin.cxx
--- svtools/source/contnr/templwin.cxx	21 Apr 2005 11:40:46 -0000	1.66
+++ svtools/source/contnr/templwin.cxx	23 Aug 2005 08:38:10 -0000
@@ -222,6 +222,8 @@
 using namespace svtools;
 
 extern ::rtl::OUString CreateExactSizeText_Impl( sal_Int64 nSize ); // fileview.cxx
+static const char __FAR_DATA pSeparatorStr[] =
+    "----------------------------------";
 
 #define SPLITSET_ID			0
 #define COLSET_ID			1
@@ -708,7 +710,7 @@
 	Window( pParent, WB_DIALOGCONTROL | WB_TABSTOP | WB_BORDER | WB_3DLOOK ),
 
 	rParent				( *pParent ),
-	aFileView			( this, SvtResId( CTRL_FILEVIEW ), FILEVIEW_SHOW_TITLE ),
+	aFileView			( this, SvtResId( CTRL_FILEVIEW ), FILEVIEW_SHOW_NONE ),
 	bIsTemplateFolder	( sal_False )
 
 {
@@ -766,9 +768,14 @@
 	for ( i = 0; i < nCount; ++i )
 	{
 		GetMenuEntry_Impl( aDynamicMenuEntries[i], aTitle, aURL, aTargetFrame, aImageURL );
-
-        if ( aURL == sSeparator || aURL == sSlotURL )
+		if( aURL == sSlotURL )
 			continue;
+		if( aURL == sSeparator )
+		{
+			String aSeparator( ASCII_STR( pSeparatorStr ) );
+			::rtl::OUString* pSeparator = new ::rtl::OUString( aSeparator );
+			aNewDocs.Insert( pSeparator, LIST_APPEND );
+		}
 		else
 		{
 			// title
Index: svtools/source/contnr/fileview.cxx
===================================================================
RCS file: /cvs/util/svtools/source/contnr/fileview.cxx,v
retrieving revision 1.62
diff -u -r1.62 fileview.cxx
--- svtools/source/contnr/fileview.cxx	13 Apr 2005 10:50:55 -0000	1.62
+++ svtools/source/contnr/fileview.cxx	23 Aug 2005 14:38:38 -0000
@@ -211,6 +211,9 @@
 
 DECLARE_LIST( StringList_Impl, OUString* );
 
+static const char __FAR_DATA pSeparatorStr[] =
+    "----------------------------------";
+
 #define ROW_HEIGHT	17	// the height of a row has to be a little higher than the bitmap
 #define QUICK_SEARCH_TIMEOUT    1500    // time in mSec before the quicksearch string will be reseted
 
@@ -837,6 +840,7 @@
     mbEnableDelete  	( sal_True )
 
 {
+	sal_Bool bViewHeader = true;
 	Size aBoxSize = pParentWin->GetSizePixel();
 	mpHeaderBar = new HeaderBar( pParentWin, WB_BUTTONSTYLE | WB_BOTTOMBORDER );
 	mpHeaderBar->SetPosSizePixel( Point( 0, 0 ), mpHeaderBar->CalcWindowSizePixel() );
@@ -849,6 +853,8 @@
 		mpHeaderBar->InsertItem( COLUMN_SIZE, String( SvtResId( STR_SVT_FILEVIEW_COLUMN_SIZE ) ), 80, nBits );
 		mpHeaderBar->InsertItem( COLUMN_DATE, String( SvtResId( STR_SVT_FILEVIEW_COLUMN_DATE ) ), 500, nBits );
 	}
+	if( ( nFlags & FILEVIEW_SHOW_NONE ) == FILEVIEW_SHOW_NONE )
+		bViewHeader = false;
 	else
 		mpHeaderBar->InsertItem( COLUMN_TITLE, String( SvtResId( STR_SVT_FILEVIEW_COLUMN_TITLE ) ), 600, nBits );
 
@@ -860,7 +866,8 @@
 	SetEntryHeight( ROW_HEIGHT );
 
 	Show();
-	mpHeaderBar->Show();
+	if( bViewHeader )
+		mpHeaderBar->Show();
 
     maResetQuickSearch.SetTimeout( QUICK_SEARCH_TIMEOUT );
     maResetQuickSearch.SetTimeoutHdl( LINK( this, ViewTabListBox_Impl, ResetQuickSearch_Impl ) );
@@ -1209,6 +1216,7 @@
 
 	mpImp = new SvtFileView_Impl( this, nFlags, bOnlyFolder );
     mpImp->mpView->ForbidEmptyText();
+	SetSortColumn( true );
 
     long pTabs[] = { 5, 20, 180, 320, 400, 600 };
 	mpImp->mpView->SetTabs( &pTabs[0], MAP_PIXEL );
@@ -1228,6 +1236,7 @@
 {
 	mpImp = new SvtFileView_Impl( this, nFlags,
                                   ( nFlags & FILEVIEW_ONLYFOLDER ) == FILEVIEW_ONLYFOLDER );
+	SetSortColumn( true );
 
     if ( ( nFlags & FILEVIEW_SHOW_ALL ) == FILEVIEW_SHOW_ALL )
 	{
@@ -1241,7 +1250,8 @@
 		long pTabs[] = { 2, 20, 600 };
 		mpImp->mpView->SetTabs( &pTabs[0], MAP_PIXEL );
 	}
-
+	if ( ( nFlags & FILEVIEW_SHOW_NONE ) == FILEVIEW_SHOW_NONE )
+        SetSortColumn( false );
 	if ( ( nFlags & FILEVIEW_MULTISELECTION ) == FILEVIEW_MULTISELECTION )
 		mpImp->mpView->SetSelectionMode( MULTIPLE_SELECTION );
 
@@ -1483,7 +1493,8 @@
 
     mpImp->Clear();
     mpImp->CreateVector_Impl( aContents );
-    mpImp->SortFolderContent_Impl();
+	if( GetSortColumn() )
+	    mpImp->SortFolderContent_Impl();
 
     mpImp->OpenFolder_Impl();
 
@@ -2372,9 +2383,11 @@
         pEntry->maDisplayText = aDisplayText;
 
         // detect the image
-        INetURLObject aObj( pEntry->maImageURL.getLength() ? pEntry->maImageURL : pEntry->maTargetURL );
-		pEntry->maImage = SvFileInformationManager::GetImage( aObj, FALSE, isHighContrast( mpView ) );
-
+		if( aValue != rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(pSeparatorStr) ) )
+		{
+        	INetURLObject aObj( pEntry->maImageURL.getLength() ? pEntry->maImageURL : pEntry->maTargetURL );
+			pEntry->maImage = SvFileInformationManager::GetImage( aObj, FALSE, isHighContrast( mpView ) );
+		}
         maContent.push_back( pEntry );
     }
 }
Index: svtools/inc/fileview.hxx
===================================================================
RCS file: /cvs/util/svtools/inc/fileview.hxx,v
retrieving revision 1.17
diff -u -r1.17 fileview.hxx
--- svtools/inc/fileview.hxx	13 Apr 2005 10:08:32 -0000	1.17
+++ svtools/inc/fileview.hxx	23 Aug 2005 14:47:01 -0000
@@ -97,6 +97,7 @@
 #define FILEVIEW_SHOW_SIZE			0x0020
 #define FILEVIEW_SHOW_DATE			0x0040
 #define FILEVIEW_SHOW_ALL			0x0070
+#define FILEVIEW_SHOW_NONE			0x00A0
 
 class ViewTabListBox_Impl;
 class SvtFileView_Impl;
@@ -130,6 +131,7 @@
 {
 private:
     SvtFileView_Impl*       mpImp;
+	sal_Bool 				bSortColumn;
 
 	SVT_DLLPRIVATE void					OpenFolder( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aContents );
 
@@ -155,6 +157,8 @@
 	void					SetSizePixel( const Size& rNewSize );
     using Window::SetPosSizePixel;
 	virtual void			SetPosSizePixel( const Point& rNewPos, const Size& rNewSize );
+	void					SetSortColumn( sal_Bool bValue ) { bSortColumn = bValue; }
+	sal_Bool				GetSortColumn() { return bSortColumn; }
 
     /** initialize the view with the content of a folder given by URL, and aply an immediate filter
 
