diff options
-rw-r--r-- | cui/UIConfig_cui.mk | 2 | ||||
-rw-r--r-- | cui/source/dialogs/multipat.cxx | 342 | ||||
-rw-r--r-- | cui/source/dialogs/multipat.hrc | 37 | ||||
-rw-r--r-- | cui/source/dialogs/multipat.src | 78 | ||||
-rw-r--r-- | cui/source/factory/dlgfact.cxx | 23 | ||||
-rw-r--r-- | cui/source/factory/dlgfact.hxx | 13 | ||||
-rw-r--r-- | cui/source/inc/cuires.hrc | 1 | ||||
-rw-r--r-- | cui/source/inc/helpid.hrc | 1 | ||||
-rw-r--r-- | cui/source/inc/multipat.hxx | 43 | ||||
-rw-r--r-- | cui/source/options/optpath.cxx | 1 | ||||
-rw-r--r-- | cui/uiconfig/ui/multipathdialog.ui | 212 | ||||
-rw-r--r-- | cui/uiconfig/ui/selectpathdialog.ui | 191 | ||||
-rw-r--r-- | include/svx/svxdlg.hxx | 6 | ||||
-rw-r--r-- | sw/source/ui/misc/glossary.cxx | 2 |
14 files changed, 646 insertions, 306 deletions
diff --git a/cui/UIConfig_cui.mk b/cui/UIConfig_cui.mk index c619d787e64e..7cea22555770 100644 --- a/cui/UIConfig_cui.mk +++ b/cui/UIConfig_cui.mk @@ -86,6 +86,7 @@ $(eval $(call gb_UIConfig_add_uifiles,cui,\ cui/uiconfig/ui/messbox \ cui/uiconfig/ui/mosaicdialog \ cui/uiconfig/ui/movemenu \ + cui/uiconfig/ui/multipathdialog \ cui/uiconfig/ui/namedialog \ cui/uiconfig/ui/newlibdialog \ cui/uiconfig/ui/newtabledialog \ @@ -158,6 +159,7 @@ $(eval $(call gb_UIConfig_add_uifiles,cui,\ cui/uiconfig/ui/searchformatdialog \ cui/uiconfig/ui/securityoptionsdialog \ cui/uiconfig/ui/select_persona_dialog \ + cui/uiconfig/ui/selectpathdialog \ cui/uiconfig/ui/shadowtabpage \ cui/uiconfig/ui/showcoldialog \ cui/uiconfig/ui/similaritysearchdialog \ diff --git a/cui/source/dialogs/multipat.cxx b/cui/source/dialogs/multipat.cxx index d22da3e773dd..eee728bb1cb3 100644 --- a/cui/source/dialogs/multipat.cxx +++ b/cui/source/dialogs/multipat.cxx @@ -24,7 +24,6 @@ #include "multipat.hxx" #include <dialmgr.hxx> -#include "multipat.hrc" #include <cuires.hrc> #include <comphelper/processfactory.hxx> #include <comphelper/string.hxx> @@ -40,32 +39,33 @@ using namespace ::com::sun::star::lang; using namespace ::com::sun::star::ui::dialogs; using namespace ::com::sun::star::uno; -// class SvxMultiPathDialog ---------------------------------------------- - IMPL_LINK_NOARG(SvxMultiPathDialog, SelectHdl_Impl) { - sal_uLong nCount = bIsRadioButtonMode ? aRadioLB.GetEntryCount() : aPathLB.GetEntryCount(); - bool bIsSelected = bIsRadioButtonMode - ? aRadioLB.FirstSelected() != NULL - : aPathLB.GetSelectEntryPos() != LISTBOX_ENTRY_NOTFOUND; + sal_uLong nCount = m_pRadioLB->GetEntryCount(); + bool bIsSelected = m_pRadioLB->FirstSelected() != NULL; bool bEnable = nCount > 1; - aDelBtn.Enable( bEnable && bIsSelected ); + m_pDelBtn->Enable(bEnable && bIsSelected); return 0; } - +IMPL_LINK_NOARG(SvxPathSelectDialog, SelectHdl_Impl) +{ + sal_uLong nCount = m_pPathLB->GetEntryCount(); + bool bIsSelected = m_pPathLB->GetSelectEntryPos() != LISTBOX_ENTRY_NOTFOUND; + bool bEnable = nCount > 1; + m_pDelBtn->Enable(bEnable && bIsSelected); + return 0; +} IMPL_LINK( SvxMultiPathDialog, CheckHdl_Impl, svx::SvxRadioButtonListBox *, pBox ) { SvTreeListEntry* pEntry = - pBox ? pBox->GetEntry( pBox->GetCurMousePoint() ) : aRadioLB.FirstSelected(); + pBox ? pBox->GetEntry( pBox->GetCurMousePoint() ) : m_pRadioLB->FirstSelected(); if ( pEntry ) - aRadioLB.HandleEntryChecked( pEntry ); + m_pRadioLB->HandleEntryChecked( pEntry ); return 0; } - - IMPL_LINK_NOARG(SvxMultiPathDialog, AddHdl_Impl) { Reference < XComponentContext > xContext( ::comphelper::getProcessComponentContext() ); @@ -79,140 +79,166 @@ IMPL_LINK_NOARG(SvxMultiPathDialog, AddHdl_Impl) OUString sInsPath; ::utl::LocalFileHelper::ConvertURLToSystemPath( aURL, sInsPath ); - if ( bIsRadioButtonMode ) + sal_uLong nPos = m_pRadioLB->GetEntryPos( sInsPath, 1 ); + if ( 0xffffffff == nPos ) //See svtools/source/contnr/svtabbx.cxx SvTabListBox::GetEntryPos { - sal_uLong nPos = aRadioLB.GetEntryPos( sInsPath, 1 ); - if ( 0xffffffff == nPos ) //See svtools/source/contnr/svtabbx.cxx SvTabListBox::GetEntryPos - { - OUString sNewEntry( '\t' ); - sNewEntry += sInsPath; - SvTreeListEntry* pEntry = aRadioLB.InsertEntry( sNewEntry ); - OUString* pData = new OUString( aURL ); - pEntry->SetUserData( pData ); - } - else - { - OUString sMsg( CUI_RES( RID_MULTIPATH_DBL_ERR ) ); - sMsg = sMsg.replaceFirst( "%1", sInsPath ); - InfoBox( this, sMsg ).Execute(); - } + OUString sNewEntry( '\t' ); + sNewEntry += sInsPath; + SvTreeListEntry* pEntry = m_pRadioLB->InsertEntry( sNewEntry ); + OUString* pData = new OUString( aURL ); + pEntry->SetUserData( pData ); } else { - if ( LISTBOX_ENTRY_NOTFOUND != aPathLB.GetEntryPos( sInsPath ) ) - { - OUString sMsg( CUI_RES( RID_MULTIPATH_DBL_ERR ) ); - sMsg = sMsg.replaceFirst( "%1", sInsPath ); - InfoBox( this, sMsg ).Execute(); - } - else - { - sal_uInt16 nPos = aPathLB.InsertEntry( sInsPath, LISTBOX_APPEND ); - aPathLB.SetEntryData( nPos, new OUString( aURL ) ); - } + OUString sMsg( CUI_RES( RID_MULTIPATH_DBL_ERR ) ); + sMsg = sMsg.replaceFirst( "%1", sInsPath ); + InfoBox( this, sMsg ).Execute(); } + SelectHdl_Impl( NULL ); } return 0; } - - -IMPL_LINK_NOARG(SvxMultiPathDialog, DelHdl_Impl) +IMPL_LINK_NOARG(SvxPathSelectDialog, AddHdl_Impl) { - if ( bIsRadioButtonMode ) + Reference < XComponentContext > xContext( ::comphelper::getProcessComponentContext() ); + Reference < XFolderPicker2 > xFolderPicker = FolderPicker::create(xContext); + + if ( xFolderPicker->execute() == ExecutableDialogResults::OK ) { - SvTreeListEntry* pEntry = aRadioLB.FirstSelected(); - delete (OUString*)pEntry->GetUserData(); - bool bChecked = aRadioLB.GetCheckButtonState( pEntry ) == SV_BUTTON_CHECKED; - sal_uLong nPos = aRadioLB.GetEntryPos( pEntry ); - aRadioLB.RemoveEntry( pEntry ); - sal_uLong nCnt = aRadioLB.GetEntryCount(); - if ( nCnt ) + INetURLObject aPath( xFolderPicker->getDirectory() ); + aPath.removeFinalSlash(); + OUString aURL = aPath.GetMainURL( INetURLObject::NO_DECODE ); + OUString sInsPath; + ::utl::LocalFileHelper::ConvertURLToSystemPath( aURL, sInsPath ); + + if ( LISTBOX_ENTRY_NOTFOUND != m_pPathLB->GetEntryPos( sInsPath ) ) { - nCnt--; - if ( nPos > nCnt ) - nPos = nCnt; - pEntry = aRadioLB.GetEntry( nPos ); - if ( bChecked ) - { - aRadioLB.SetCheckButtonState( pEntry, SV_BUTTON_CHECKED ); - aRadioLB.HandleEntryChecked( pEntry ); - } - else - aRadioLB.Select( pEntry ); + OUString sMsg( CUI_RES( RID_MULTIPATH_DBL_ERR ) ); + sMsg = sMsg.replaceFirst( "%1", sInsPath ); + InfoBox( this, sMsg ).Execute(); } + else + { + sal_uInt16 nPos = m_pPathLB->InsertEntry( sInsPath, LISTBOX_APPEND ); + m_pPathLB->SetEntryData( nPos, new OUString( aURL ) ); + } + + SelectHdl_Impl( NULL ); } - else - { - sal_uInt16 nPos = aPathLB.GetSelectEntryPos(); - aPathLB.RemoveEntry( nPos ); - sal_uInt16 nCnt = aPathLB.GetEntryCount(); + return 0; +} - if ( nCnt ) +IMPL_LINK_NOARG(SvxMultiPathDialog, DelHdl_Impl) +{ + SvTreeListEntry* pEntry = m_pRadioLB->FirstSelected(); + delete (OUString*)pEntry->GetUserData(); + bool bChecked = m_pRadioLB->GetCheckButtonState( pEntry ) == SV_BUTTON_CHECKED; + sal_uLong nPos = m_pRadioLB->GetEntryPos( pEntry ); + m_pRadioLB->RemoveEntry( pEntry ); + sal_uLong nCnt = m_pRadioLB->GetEntryCount(); + if ( nCnt ) + { + nCnt--; + if ( nPos > nCnt ) + nPos = nCnt; + pEntry = m_pRadioLB->GetEntry( nPos ); + if ( bChecked ) { - nCnt--; - - if ( nPos > nCnt ) - nPos = nCnt; - aPathLB.SelectEntryPos( nPos ); + m_pRadioLB->SetCheckButtonState( pEntry, SV_BUTTON_CHECKED ); + m_pRadioLB->HandleEntryChecked( pEntry ); } + else + m_pRadioLB->Select( pEntry ); } + SelectHdl_Impl( NULL ); return 0; } +IMPL_LINK_NOARG(SvxPathSelectDialog, DelHdl_Impl) +{ + sal_uInt16 nPos = m_pPathLB->GetSelectEntryPos(); + m_pPathLB->RemoveEntry( nPos ); + sal_uInt16 nCnt = m_pPathLB->GetEntryCount(); + if ( nCnt ) + { + nCnt--; -SvxMultiPathDialog::SvxMultiPathDialog( Window* pParent ) : - - ModalDialog( pParent, CUI_RES( RID_SVXDLG_MULTIPATH ) ), + if ( nPos > nCnt ) + nPos = nCnt; + m_pPathLB->SelectEntryPos( nPos ); + } - aPathFL ( this, CUI_RES( FL_MULTIPATH) ), - aPathLB ( this, CUI_RES( LB_MULTIPATH ) ), - m_aRadioLBContainer(this, CUI_RES(LB_RADIOBUTTON)), - aRadioLB(m_aRadioLBContainer, WB_BORDER), - aRadioFT ( this, CUI_RES( FT_RADIOBUTTON ) ), - aAddBtn ( this, CUI_RES( BTN_ADD_MULTIPATH ) ), - aDelBtn ( this, CUI_RES( BTN_DEL_MULTIPATH ) ), - aOKBtn ( this, CUI_RES( BTN_MULTIPATH_OK ) ), - aCancelBtn ( this, CUI_RES( BTN_MULTIPATH_CANCEL ) ), - aHelpButton ( this, CUI_RES( BTN_MULTIPATH_HELP ) ), - bIsRadioButtonMode( false ) + SelectHdl_Impl( NULL ); + return 0; +} +SvxMultiPathDialog::SvxMultiPathDialog(Window* pParent) + : ModalDialog(pParent, "MultiPathDialog", "cui/ui/multipathdialog.ui") { + get(m_pAddBtn, "add"); + get(m_pDelBtn, "delete"); + + SvSimpleTableContainer* pRadioLBContainer = get<SvSimpleTableContainer>("paths"); + Size aSize(LogicToPixel(Size(195, 77), MAP_APPFONT)); + pRadioLBContainer->set_width_request(aSize.Width()); + pRadioLBContainer->set_height_request(aSize.Height()); + m_pRadioLB = new svx::SvxRadioButtonListBox(*pRadioLBContainer, 0); + static long aStaticTabs[]= { 2, 0, 12 }; - aRadioLB.SvSimpleTable::SetTabs( aStaticTabs ); - OUString sHeader( CUI_RES( STR_HEADER_PATHS ) ); - aRadioLB.SetQuickHelpText( sHeader ); + m_pRadioLB->SvSimpleTable::SetTabs( aStaticTabs ); + OUString sHeader(get<FixedText>("pathlist")->GetText()); + m_pRadioLB->SetQuickHelpText( sHeader ); sHeader = "\t" + sHeader; - aRadioLB.InsertHeaderEntry( sHeader, HEADERBAR_APPEND, HIB_LEFT ); - - FreeResource(); + m_pRadioLB->InsertHeaderEntry( sHeader, HEADERBAR_APPEND, HIB_LEFT ); - aPathLB.SetSelectHdl( LINK( this, SvxMultiPathDialog, SelectHdl_Impl ) ); - aRadioLB.SetSelectHdl( LINK( this, SvxMultiPathDialog, SelectHdl_Impl ) ); - aRadioLB.SetCheckButtonHdl( LINK( this, SvxMultiPathDialog, CheckHdl_Impl ) ); - aAddBtn.SetClickHdl( LINK( this, SvxMultiPathDialog, AddHdl_Impl ) ); - aDelBtn.SetClickHdl( LINK( this, SvxMultiPathDialog, DelHdl_Impl ) ); + m_pRadioLB->SetSelectHdl( LINK( this, SvxMultiPathDialog, SelectHdl_Impl ) ); + m_pRadioLB->SetCheckButtonHdl( LINK( this, SvxMultiPathDialog, CheckHdl_Impl ) ); + m_pAddBtn->SetClickHdl( LINK( this, SvxMultiPathDialog, AddHdl_Impl ) ); + m_pDelBtn->SetClickHdl( LINK( this, SvxMultiPathDialog, DelHdl_Impl ) ); SelectHdl_Impl( NULL ); - aAddBtn.SetAccessibleRelationMemberOf(&aPathLB); - aDelBtn.SetAccessibleRelationMemberOf(&aPathLB); + m_pRadioLB->ShowTable(); +} + +SvxPathSelectDialog::SvxPathSelectDialog(Window* pParent) + : ModalDialog(pParent, "SelectPathDialog", "cui/ui/selectpathdialog.ui") +{ + get(m_pAddBtn, "add"); + get(m_pDelBtn, "delete"); + get(m_pPathLB, "paths"); + Size aSize(LogicToPixel(Size(189, 80), MAP_APPFONT)); + m_pPathLB->set_width_request(aSize.Width()); + m_pPathLB->set_height_request(aSize.Height()); + + m_pPathLB->SetSelectHdl( LINK( this, SvxPathSelectDialog, SelectHdl_Impl ) ); + m_pAddBtn->SetClickHdl( LINK( this, SvxPathSelectDialog, AddHdl_Impl ) ); + m_pDelBtn->SetClickHdl( LINK( this, SvxPathSelectDialog, DelHdl_Impl ) ); + + SelectHdl_Impl( NULL ); } SvxMultiPathDialog::~SvxMultiPathDialog() { - sal_uInt16 nPos = aPathLB.GetEntryCount(); - while ( nPos-- ) - delete (OUString*)aPathLB.GetEntryData(nPos); - nPos = (sal_uInt16)aRadioLB.GetEntryCount(); + sal_uInt16 nPos = (sal_uInt16)m_pRadioLB->GetEntryCount(); while ( nPos-- ) { - SvTreeListEntry* pEntry = aRadioLB.GetEntry( nPos ); + SvTreeListEntry* pEntry = m_pRadioLB->GetEntry( nPos ); delete (OUString*)pEntry->GetUserData(); } + + delete m_pRadioLB; +} + +SvxPathSelectDialog::~SvxPathSelectDialog() +{ + sal_uInt16 nPos = m_pPathLB->GetEntryCount(); + while ( nPos-- ) + delete (OUString*)m_pPathLB->GetEntryData(nPos); } OUString SvxMultiPathDialog::GetPath() const @@ -220,43 +246,45 @@ OUString SvxMultiPathDialog::GetPath() const OUString sNewPath; sal_Unicode cDelim = SVT_SEARCHPATH_DELIMITER; - if ( bIsRadioButtonMode ) + OUString sWritable; + for ( sal_uInt16 i = 0; i < m_pRadioLB->GetEntryCount(); ++i ) { - OUString sWritable; - for ( sal_uInt16 i = 0; i < aRadioLB.GetEntryCount(); ++i ) - { - SvTreeListEntry* pEntry = aRadioLB.GetEntry(i); - if ( aRadioLB.GetCheckButtonState( pEntry ) == SV_BUTTON_CHECKED ) - sWritable = *(OUString*)pEntry->GetUserData(); - else - { - if ( !sNewPath.isEmpty() ) - sNewPath += OUString(cDelim); - sNewPath += *(OUString*)pEntry->GetUserData(); - } - } - if ( !sNewPath.isEmpty() ) - sNewPath += OUString(cDelim); - sNewPath += sWritable; - } - else - { - for ( sal_uInt16 i = 0; i < aPathLB.GetEntryCount(); ++i ) + SvTreeListEntry* pEntry = m_pRadioLB->GetEntry(i); + if ( m_pRadioLB->GetCheckButtonState( pEntry ) == SV_BUTTON_CHECKED ) + sWritable = *(OUString*)pEntry->GetUserData(); + else { if ( !sNewPath.isEmpty() ) sNewPath += OUString(cDelim); - sNewPath += *(OUString*)aPathLB.GetEntryData(i); + sNewPath += *(OUString*)pEntry->GetUserData(); } } + if ( !sNewPath.isEmpty() ) + sNewPath += OUString(cDelim); + sNewPath += sWritable; + return sNewPath; } +OUString SvxPathSelectDialog::GetPath() const +{ + OUString sNewPath; + sal_Unicode cDelim = SVT_SEARCHPATH_DELIMITER; + for ( sal_uInt16 i = 0; i < m_pPathLB->GetEntryCount(); ++i ) + { + if ( !sNewPath.isEmpty() ) + sNewPath += OUString(cDelim); + sNewPath += *(OUString*)m_pPathLB->GetEntryData(i); + } + + return sNewPath; +} void SvxMultiPathDialog::SetPath( const OUString& rPath ) { sal_Unicode cDelim = SVT_SEARCHPATH_DELIMITER; - sal_uInt16 nPos, nCount = comphelper::string::getTokenCount(rPath, cDelim); + sal_uInt16 nCount = comphelper::string::getTokenCount(rPath, cDelim); for ( sal_uInt16 i = 0; i < nCount; ++i ) { @@ -265,54 +293,46 @@ void SvxMultiPathDialog::SetPath( const OUString& rPath ) sal_Bool bIsSystemPath = ::utl::LocalFileHelper::ConvertURLToSystemPath( sPath, sSystemPath ); - if ( bIsRadioButtonMode ) - { - OUString sEntry( '\t' ); - sEntry += (bIsSystemPath ? sSystemPath : OUString(sPath)); - SvTreeListEntry* pEntry = aRadioLB.InsertEntry( sEntry ); - OUString* pURL = new OUString( sPath ); - pEntry->SetUserData( pURL ); - } - else - { - if ( bIsSystemPath ) - nPos = aPathLB.InsertEntry( sSystemPath, LISTBOX_APPEND ); - else - nPos = aPathLB.InsertEntry( sPath, LISTBOX_APPEND ); - aPathLB.SetEntryData( nPos, new OUString( sPath ) ); - } + OUString sEntry( '\t' ); + sEntry += (bIsSystemPath ? sSystemPath : OUString(sPath)); + SvTreeListEntry* pEntry = m_pRadioLB->InsertEntry( sEntry ); + OUString* pURL = new OUString( sPath ); + pEntry->SetUserData( pURL ); } - if ( bIsRadioButtonMode && nCount > 0 ) + if (nCount > 0) { - SvTreeListEntry* pEntry = aRadioLB.GetEntry( nCount - 1 ); + SvTreeListEntry* pEntry = m_pRadioLB->GetEntry( nCount - 1 ); if ( pEntry ) { - aRadioLB.SetCheckButtonState( pEntry, SV_BUTTON_CHECKED ); - aRadioLB.HandleEntryChecked( pEntry ); + m_pRadioLB->SetCheckButtonState( pEntry, SV_BUTTON_CHECKED ); + m_pRadioLB->HandleEntryChecked( pEntry ); } } SelectHdl_Impl( NULL ); } -void SvxMultiPathDialog::EnableRadioButtonMode() +void SvxPathSelectDialog::SetPath(const OUString& rPath) { - bIsRadioButtonMode = true; + sal_Unicode cDelim = SVT_SEARCHPATH_DELIMITER; + sal_uInt16 nPos, nCount = comphelper::string::getTokenCount(rPath, cDelim); - aPathFL.Hide(); - aPathLB.Hide(); + for ( sal_uInt16 i = 0; i < nCount; ++i ) + { + OUString sPath = rPath.getToken( i, cDelim ); + OUString sSystemPath; + sal_Bool bIsSystemPath = + ::utl::LocalFileHelper::ConvertURLToSystemPath( sPath, sSystemPath ); - aRadioLB.ShowTable(); - aRadioFT.Show(); + if ( bIsSystemPath ) + nPos = m_pPathLB->InsertEntry( sSystemPath, LISTBOX_APPEND ); + else + nPos = m_pPathLB->InsertEntry( sPath, LISTBOX_APPEND ); + m_pPathLB->SetEntryData( nPos, new OUString( sPath ) ); + } - Point aNewPos = aAddBtn.GetPosPixel(); - long nDelta = aNewPos.Y() - aRadioLB.GetPosPixel().Y(); - aNewPos.Y() -= nDelta; - aAddBtn.SetPosPixel( aNewPos ); - aNewPos = aDelBtn.GetPosPixel(); - aNewPos.Y() -= nDelta; - aDelBtn.SetPosPixel( aNewPos ); + SelectHdl_Impl( NULL ); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cui/source/dialogs/multipat.hrc b/cui/source/dialogs/multipat.hrc deleted file mode 100644 index fb57801446eb..000000000000 --- a/cui/source/dialogs/multipat.hrc +++ /dev/null @@ -1,37 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ -#ifndef _SVX_MULTIPAT_HRC -#define _SVX_MULTIPAT_HRC - -// defines --------------------------------------------------------------- - -#define FL_MULTIPATH 10 -#define LB_MULTIPATH 11 -#define LB_RADIOBUTTON 12 -#define FT_RADIOBUTTON 13 -#define BTN_ADD_MULTIPATH 14 -#define BTN_DEL_MULTIPATH 15 -#define BTN_MULTIPATH_OK 16 -#define BTN_MULTIPATH_CANCEL 17 -#define BTN_MULTIPATH_HELP 18 -#define STR_HEADER_PATHS 19 - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cui/source/dialogs/multipat.src b/cui/source/dialogs/multipat.src index f85bd93fc546..09b3718965a8 100644 --- a/cui/source/dialogs/multipat.src +++ b/cui/source/dialogs/multipat.src @@ -17,86 +17,8 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#include "multipat.hrc" -#include "helpid.hrc" #include <cuires.hrc> -// RID_SVXDLG_MULTIPATH -------------------------------------------------- - -ModalDialog RID_SVXDLG_MULTIPATH -{ - HelpId = HID_MULTIPATH ; - OutputSize = TRUE ; - Size = MAP_APPFONT ( 260 , 120 ) ; - Text [ en-US ] = "Select Paths" ; - Moveable = TRUE ; - Closeable = TRUE ; - FixedLine FL_MULTIPATH - { - Pos = MAP_APPFONT ( 6 , 3 ) ; - Size = MAP_APPFONT ( 248 , 8 ) ; - Text [ en-US ] = "Paths" ; - }; - ListBox LB_MULTIPATH - { - HelpID = "cui:ListBox:RID_SVXDLG_MULTIPATH:LB_MULTIPATH"; - Border = TRUE ; - Pos = MAP_APPFONT ( 12 , 14 ) ; - Size = MAP_APPFONT ( 189 , 80 ) ; - AutoHScroll = TRUE ; - }; - Control LB_RADIOBUTTON - { - HelpId = HID_OPTIONS_MULTIPATH_LIST ; - Hide = TRUE ; - Border = TRUE ; - Pos = MAP_APPFONT ( 6 , 6 ) ; - Size = MAP_APPFONT ( 195 , 77 ) ; - }; - FixedText FT_RADIOBUTTON - { - Hide = TRUE ; - NoLabel = TRUE ; - Pos = MAP_APPFONT ( 6 , 86 ); - Size = MAP_APPFONT ( 195 , 8 ); - Text [ en-US ] = "Mark the default path for new files."; - }; - PushButton BTN_ADD_MULTIPATH - { - HelpID = "cui:PushButton:RID_SVXDLG_MULTIPATH:BTN_ADD_MULTIPATH"; - Pos = MAP_APPFONT ( 204 , 14 ) ; - Size = MAP_APPFONT ( 50 , 14 ) ; - Text [ en-US ] = "~Add..." ; - }; - PushButton BTN_DEL_MULTIPATH - { - HelpID = "cui:PushButton:RID_SVXDLG_MULTIPATH:BTN_DEL_MULTIPATH"; - Pos = MAP_APPFONT ( 204 , 31 ) ; - Size = MAP_APPFONT ( 50 , 14 ) ; - Text [ en-US ] = "~Delete" ; - }; - OKButton BTN_MULTIPATH_OK - { - Pos = MAP_APPFONT ( 95 , 100 ) ; - Size = MAP_APPFONT ( 50 , 14 ) ; - DefButton = TRUE; - }; - CancelButton BTN_MULTIPATH_CANCEL - { - Pos = MAP_APPFONT ( 148 , 100 ) ; - Size = MAP_APPFONT ( 50 , 14 ) ; - }; - HelpButton BTN_MULTIPATH_HELP - { - Pos = MAP_APPFONT ( 204 , 100 ) ; - Size = MAP_APPFONT ( 50 , 14 ) ; - }; - String STR_HEADER_PATHS - { - Text [ en-US ] = "Path list" ; - }; -}; - String RID_MULTIPATH_DBL_ERR { Text [ en-US ] = "The path %1 already exists." ; diff --git a/cui/source/factory/dlgfact.cxx b/cui/source/factory/dlgfact.cxx index 6cd97101988d..58f23550366e 100644 --- a/cui/source/factory/dlgfact.cxx +++ b/cui/source/factory/dlgfact.cxx @@ -135,6 +135,7 @@ IMPL_ABSTDLG_BASE(AbstractSvxObjectTitleDescDialog_Impl); IMPL_ABSTDLG_BASE(AbstractSvxMessDialog_Impl); IMPL_ABSTDLG_BASE(AbstractSvxMultiPathDialog_Impl); +IMPL_ABSTDLG_BASE(AbstractSvxPathSelectDialog_Impl); IMPL_ABSTDLG_BASE(AbstractSvxHpLinkDlg_Impl); IMPL_ABSTDLG_BASE(AbstractFmSearchDialog_Impl); IMPL_ABSTDLG_BASE(AbstractGraphicFilterDialog_Impl); @@ -796,12 +797,22 @@ void AbstractSvxMultiPathDialog_Impl::SetPath( const OUString& rPath ) pDlg->SetPath( rPath ); } -void AbstractSvxMultiPathDialog_Impl::EnableRadioButtonMode() +void AbstractSvxMultiPathDialog_Impl::SetTitle( const OUString& rNewTitle ) { - pDlg->EnableRadioButtonMode(); + pDlg->SetText( rNewTitle ); } -void AbstractSvxMultiPathDialog_Impl::SetTitle( const OUString& rNewTitle ) +OUString AbstractSvxPathSelectDialog_Impl::GetPath() const +{ + return pDlg->GetPath(); +} + +void AbstractSvxPathSelectDialog_Impl::SetPath( const OUString& rPath ) +{ + pDlg->SetPath( rPath ); +} + +void AbstractSvxPathSelectDialog_Impl::SetTitle( const OUString& rNewTitle ) { pDlg->SetText( rNewTitle ); } @@ -1418,6 +1429,12 @@ AbstractSvxMultiPathDialog * AbstractDialogFactory_Impl::CreateSvxMultiPathDialo return new AbstractSvxMultiPathDialog_Impl( pDlg ); } +AbstractSvxMultiPathDialog * AbstractDialogFactory_Impl::CreateSvxPathSelectDialog(Window* pParent) +{ + SvxPathSelectDialog* pDlg = new SvxPathSelectDialog(pParent); + return new AbstractSvxPathSelectDialog_Impl( pDlg ); +} + AbstractSvxHpLinkDlg * AbstractDialogFactory_Impl::CreateSvxHpLinkDlg (Window* pParent, SfxBindings* pBindings, sal_uInt32 nResId) diff --git a/cui/source/factory/dlgfact.hxx b/cui/source/factory/dlgfact.hxx index 510385c74465..ecde26d5e532 100644 --- a/cui/source/factory/dlgfact.hxx +++ b/cui/source/factory/dlgfact.hxx @@ -392,12 +392,20 @@ class AbstractSvxMessDialog_Impl :public AbstractSvxMessDialog }; class SvxMultiPathDialog; -class AbstractSvxMultiPathDialog_Impl :public AbstractSvxMultiPathDialog +class AbstractSvxMultiPathDialog_Impl : public AbstractSvxMultiPathDialog { DECL_ABSTDLG_BASE(AbstractSvxMultiPathDialog_Impl,SvxMultiPathDialog) virtual OUString GetPath() const; virtual void SetPath( const OUString& rPath ); - virtual void EnableRadioButtonMode(); + virtual void SetTitle( const OUString& rNewTitle ); +}; + +class SvxPathSelectDialog; +class AbstractSvxPathSelectDialog_Impl : public AbstractSvxMultiPathDialog +{ + DECL_ABSTDLG_BASE(AbstractSvxPathSelectDialog_Impl,SvxPathSelectDialog) + virtual OUString GetPath() const; + virtual void SetPath( const OUString& rPath ); virtual void SetTitle( const OUString& rNewTitle ); }; @@ -626,6 +634,7 @@ public: const OUString& rText, const OUString& rDesc, Image* pImg = NULL ); virtual AbstractSvxMultiPathDialog * CreateSvxMultiPathDialog(Window* pParent); + virtual AbstractSvxMultiPathDialog * CreateSvxPathSelectDialog(Window* pParent); virtual AbstractSvxHpLinkDlg * CreateSvxHpLinkDlg (Window* pParent, SfxBindings* pBindings, sal_uInt32 nResId); diff --git a/cui/source/inc/cuires.hrc b/cui/source/inc/cuires.hrc index d253a0cb5959..ffad575ca114 100644 --- a/cui/source/inc/cuires.hrc +++ b/cui/source/inc/cuires.hrc @@ -219,7 +219,6 @@ #define RID_SVXSTR_ICONCHOICEDLG_RESETBUT (RID_SVX_START + 580) // multi path dialog -#define RID_SVXDLG_MULTIPATH (RID_SVX_START + 201) #define RID_MULTIPATH_DBL_ERR (RID_SVX_START + 207) #define RID_SVXSTR_ARCHIVE_TITLE (RID_SVX_START + 484) #define RID_SVXSTR_ARCHIVE_HEADLINE (RID_SVX_START + 485) diff --git a/cui/source/inc/helpid.hrc b/cui/source/inc/helpid.hrc index 88e78488145d..21538912b6d6 100644 --- a/cui/source/inc/helpid.hrc +++ b/cui/source/inc/helpid.hrc @@ -179,7 +179,6 @@ #define HID_SEARCH_BTN_CLOSE "CUI_HID_SEARCH_BTN_CLOSE" #define HID_DIALOG_HANGULHANJA "CUI_HID_DIALOG_HANGULHANJA" #define HID_HANGULHANJA_EDIT_DLG "CUI_HID_HANGULHANJA_EDIT_DLG" -#define HID_MULTIPATH "CUI_HID_MULTIPATH" #define HID_TPHATCH_CTRL "CUI_HID_TPHATCH_CTRL" #define UID_SEARCH_RECORDSTATUS "CUI_UID_SEARCH_RECORDSTATUS" #define HID_TPCOLOR_RGB_1 "CUI_HID_TPCOLOR_RGB_1" diff --git a/cui/source/inc/multipat.hxx b/cui/source/inc/multipat.hxx index cae34bdf355d..788ecb5cf506 100644 --- a/cui/source/inc/multipat.hxx +++ b/cui/source/inc/multipat.hxx @@ -36,28 +36,17 @@ #define CLASSPATH_DELIMITER ';' #endif -// class SvxMultiPathDialog ---------------------------------------------- - class SvxMultiPathDialog : public ModalDialog { -protected: - FixedLine aPathFL; - ListBox aPathLB; - SvSimpleTableContainer m_aRadioLBContainer; - svx::SvxRadioButtonListBox aRadioLB; - FixedText aRadioFT; - PushButton aAddBtn; - PushButton aDelBtn; - OKButton aOKBtn; - CancelButton aCancelBtn; - HelpButton aHelpButton; - - bool bIsRadioButtonMode; +private: + svx::SvxRadioButtonListBox* m_pRadioLB; + PushButton* m_pAddBtn; + PushButton* m_pDelBtn; DECL_LINK(AddHdl_Impl, void *); DECL_LINK(DelHdl_Impl, void *); - DECL_LINK( SelectHdl_Impl, void * ); - DECL_LINK( CheckHdl_Impl, svx::SvxRadioButtonListBox * ); + DECL_LINK(SelectHdl_Impl, void *); + DECL_LINK(CheckHdl_Impl, svx::SvxRadioButtonListBox*); public: SvxMultiPathDialog(Window* pParent); @@ -65,7 +54,25 @@ public: OUString GetPath() const; void SetPath( const OUString& rPath ); - void EnableRadioButtonMode(); +}; + +class SvxPathSelectDialog : public ModalDialog +{ +private: + ListBox* m_pPathLB; + PushButton* m_pAddBtn; + PushButton* m_pDelBtn; + + DECL_LINK(AddHdl_Impl, void *); + DECL_LINK(DelHdl_Impl, void *); + DECL_LINK(SelectHdl_Impl, void *); + +public: + SvxPathSelectDialog(Window* pParent); + ~SvxPathSelectDialog(); + + OUString GetPath() const; + void SetPath( const OUString& rPath ); }; #endif // INCLUDED_CUI_SOURCE_INC_MULTIPAT_HXX diff --git a/cui/source/options/optpath.cxx b/cui/source/options/optpath.cxx index f965a745610f..788d08714e81 100644 --- a/cui/source/options/optpath.cxx +++ b/cui/source/options/optpath.cxx @@ -554,7 +554,6 @@ IMPL_LINK_NOARG(SvxPathTabPage, PathHdl_Impl) AbstractSvxMultiPathDialog* pMultiDlg = pFact->CreateSvxMultiPathDialog( this ); DBG_ASSERT( pMultiDlg, "Dialogdiet fail!" ); - pMultiDlg->EnableRadioButtonMode(); OUString sPath( sUser ); if ( !sPath.isEmpty() ) diff --git a/cui/uiconfig/ui/multipathdialog.ui b/cui/uiconfig/ui/multipathdialog.ui new file mode 100644 index 000000000000..41747912fdc7 --- /dev/null +++ b/cui/uiconfig/ui/multipathdialog.ui @@ -0,0 +1,212 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.16.1 --> +<interface> + <requires lib="gtk+" version="3.0"/> + <!-- interface-requires LibreOffice 1.0 --> + <object class="GtkDialog" id="MultiPathDialog"> + <property name="can_focus">False</property> + <property name="border_width">6</property> + <property name="title" translatable="yes">Select Paths</property> + <property name="type_hint">normal</property> + <child internal-child="vbox"> + <object class="GtkBox" id="dialog-vbox1"> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <property name="spacing">12</property> + <child internal-child="action_area"> + <object class="GtkButtonBox" id="dialog-action_area1"> + <property name="can_focus">False</property> + <property name="layout_style">end</property> + <child> + <object class="GtkButton" id="ok"> + <property name="label">gtk-ok</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="has_default">True</property> + <property name="receives_default">True</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="cancel"> + <property name="label">gtk-cancel</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkButton" id="help"> + <property name="label">gtk-help</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">end</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkFrame" id="frame1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="label_xalign">0</property> + <property name="shadow_type">none</property> + <child> + <object class="GtkAlignment" id="alignment1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="top_padding">6</property> + <property name="left_padding">12</property> + <child> + <object class="GtkGrid" id="grid1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="row_spacing">6</property> + <property name="column_spacing">12</property> + <child> + <object class="GtkButtonBox" id="buttonbox1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <property name="spacing">6</property> + <property name="layout_style">start</property> + <child> + <object class="GtkButton" id="add"> + <property name="label" translatable="yes">_Add...</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="delete"> + <property name="label">gtk-delete</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">0</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkGrid" id="grid2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="svtlo-SvSimpleTableContainer" id="paths"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="search_column">0</property> + <child internal-child="selection"> + <object class="GtkTreeSelection" id="Simple Table Container-selection"/> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="pathlist"> + <property name="can_focus">False</property> + <property name="no_show_all">True</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Path list</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + </object> + </child> + </object> + </child> + <child type="label"> + <object class="GtkLabel" id="label1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Mark the default path for new files</property> + <attributes> + <attribute name="weight" value="bold"/> + </attributes> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + </child> + <action-widgets> + <action-widget response="0">ok</action-widget> + <action-widget response="0">cancel</action-widget> + <action-widget response="0">help</action-widget> + </action-widgets> + </object> +</interface> diff --git a/cui/uiconfig/ui/selectpathdialog.ui b/cui/uiconfig/ui/selectpathdialog.ui new file mode 100644 index 000000000000..326ea4fae877 --- /dev/null +++ b/cui/uiconfig/ui/selectpathdialog.ui @@ -0,0 +1,191 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.16.1 --> +<interface> + <requires lib="gtk+" version="3.0"/> + <object class="GtkDialog" id="SelectPathDialog"> + <property name="can_focus">False</property> + <property name="border_width">6</property> + <property name="title" translatable="yes">Select Paths</property> + <property name="type_hint">normal</property> + <child internal-child="vbox"> + <object class="GtkBox" id="dialog-vbox1"> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <property name="spacing">12</property> + <child internal-child="action_area"> + <object class="GtkButtonBox" id="dialog-action_area1"> + <property name="can_focus">False</property> + <property name="layout_style">end</property> + <child> + <object class="GtkButton" id="ok"> + <property name="label">gtk-ok</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="has_default">True</property> + <property name="receives_default">True</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="cancel"> + <property name="label">gtk-cancel</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkButton" id="help"> + <property name="label">gtk-help</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">end</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkFrame" id="frame1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="label_xalign">0</property> + <property name="shadow_type">none</property> + <child> + <object class="GtkAlignment" id="alignment1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="top_padding">6</property> + <property name="left_padding">12</property> + <child> + <object class="GtkGrid" id="grid1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="row_spacing">6</property> + <property name="column_spacing">12</property> + <child> + <object class="GtkButtonBox" id="buttonbox1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <property name="spacing">6</property> + <property name="layout_style">start</property> + <child> + <object class="GtkButton" id="add"> + <property name="label" translatable="yes">_Add...</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="delete"> + <property name="label">gtk-delete</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_stock">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">0</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkScrolledWindow" id="scrolledwindow2"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="shadow_type">in</property> + <child> + <object class="GtkTreeView" id="paths:border"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <child internal-child="selection"> + <object class="GtkTreeSelection" id="treeview-selection"/> + </child> + </object> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + </object> + </child> + </object> + </child> + <child type="label"> + <object class="GtkLabel" id="label1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Paths</property> + <attributes> + <attribute name="weight" value="bold"/> + </attributes> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + </child> + <action-widgets> + <action-widget response="0">ok</action-widget> + <action-widget response="0">cancel</action-widget> + <action-widget response="0">help</action-widget> + </action-widgets> + </object> +</interface> diff --git a/include/svx/svxdlg.hxx b/include/svx/svxdlg.hxx index dbbc3d22ad57..bc788df133ff 100644 --- a/include/svx/svxdlg.hxx +++ b/include/svx/svxdlg.hxx @@ -212,16 +212,15 @@ public: virtual void SetButtonText( sal_uInt16 nBtnId, const OUString& rNewTxt ) = 0; }; -class AbstractSvxMultiPathDialog :public VclAbstractDialog +class AbstractSvxMultiPathDialog : public VclAbstractDialog { public: virtual OUString GetPath() const = 0; virtual void SetPath( const OUString& rPath ) = 0; - virtual void EnableRadioButtonMode() = 0; virtual void SetTitle( const OUString& rNewTitle ) = 0; }; -class AbstractSvxMultiFileDialog :public AbstractSvxMultiPathDialog +class AbstractSvxMultiFileDialog : public AbstractSvxMultiPathDialog { public: virtual OUString GetFiles() const = 0; @@ -403,6 +402,7 @@ public: Image* pImg = NULL ) = 0; virtual AbstractSvxMultiPathDialog * CreateSvxMultiPathDialog(Window* pParent) = 0 ; + virtual AbstractSvxMultiPathDialog * CreateSvxPathSelectDialog(Window* pParent) = 0 ; virtual AbstractSvxHpLinkDlg * CreateSvxHpLinkDlg (Window* pParent, SfxBindings* pBindings, sal_uInt32 nResId)=0; diff --git a/sw/source/ui/misc/glossary.cxx b/sw/source/ui/misc/glossary.cxx index 7b063d1ea250..bcae7a59b8cc 100644 --- a/sw/source/ui/misc/glossary.cxx +++ b/sw/source/ui/misc/glossary.cxx @@ -1022,7 +1022,7 @@ IMPL_LINK( SwGlossaryDlg, PathHdl, Button *, pBtn ) SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create(); if(pFact) { - boost::scoped_ptr<AbstractSvxMultiPathDialog> pDlg(pFact->CreateSvxMultiPathDialog( pBtn )); + boost::scoped_ptr<AbstractSvxMultiPathDialog> pDlg(pFact->CreateSvxPathSelectDialog(pBtn)); OSL_ENSURE(pDlg, "Dialogdiet fail!"); SvtPathOptions aPathOpt; const OUString sGlosPath( aPathOpt.GetAutoTextPath() ); |