summaryrefslogtreecommitdiff
path: root/uui/source/fltdlg.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'uui/source/fltdlg.cxx')
-rw-r--r--uui/source/fltdlg.cxx48
1 files changed, 19 insertions, 29 deletions
diff --git a/uui/source/fltdlg.cxx b/uui/source/fltdlg.cxx
index e904fcdadb68..2911acb03b22 100644
--- a/uui/source/fltdlg.cxx
+++ b/uui/source/fltdlg.cxx
@@ -44,28 +44,18 @@ namespace uui
@param "pParentWindow" , parent window for dialog
@threadsafe no
*//*-*************************************************************************************************************/
-FilterDialog::FilterDialog( vcl::Window* pParentWindow )
- : ModalDialog (pParentWindow, "FilterSelectDialog", "uui/ui/filterselect.ui" )
- , m_pFilterNames(nullptr)
+FilterDialog::FilterDialog(weld::Window* pParentWindow)
+ : GenericDialogController(pParentWindow, "uui/ui/filterselect.ui", "FilterSelectDialog")
+ , m_pFilterNames(nullptr)
+ , m_xFtURL(m_xBuilder->weld_label("url"))
+ , m_xLbFilters(m_xBuilder->weld_tree_view("filters"))
{
- get(m_pFtURL, "url");
- get(m_pLbFilters, "filters");
- Size aSize(pParentWindow->LogicToPixel(Size(182, 175), MapMode(MapUnit::MapAppFont)));
- m_pLbFilters->set_height_request(aSize.Height());
- m_pLbFilters->set_width_request(aSize.Width());
- m_pFtURL->SetSizePixel(Size(aSize.Width(), m_pFtURL->GetOptimalSize().Height()));
+ m_xLbFilters->set_size_request(m_xLbFilters->get_approximate_digit_width() * 42,
+ m_xLbFilters->get_height_rows(15));
}
FilterDialog::~FilterDialog()
{
- disposeOnce();
-}
-
-void FilterDialog::dispose()
-{
- m_pFtURL.clear();
- m_pLbFilters.clear();
- ModalDialog::dispose();
}
/*-************************************************************************************************************
@@ -77,7 +67,7 @@ void FilterDialog::dispose()
void FilterDialog::SetURL( const OUString& sURL )
{
// convert it and use given pure string as fallback if conversion failed
- m_pFtURL->SetText( impl_buildUIFileName(sURL) );
+ m_xFtURL->set_label(impl_buildUIFileName(sURL));
}
/*-************************************************************************************************************
@@ -100,14 +90,14 @@ void FilterDialog::SetURL( const OUString& sURL )
void FilterDialog::ChangeFilters( const FilterNameList* pFilterNames )
{
m_pFilterNames = pFilterNames;
- m_pLbFilters->Clear();
+ m_xLbFilters->clear();
if( m_pFilterNames != nullptr )
{
for( FilterNameListPtr pItem = m_pFilterNames->begin();
pItem != m_pFilterNames->end() ;
++pItem )
{
- m_pLbFilters->InsertEntry( pItem->sUI );
+ m_xLbFilters->append_text(pItem->sUI);
}
}
}
@@ -136,12 +126,12 @@ bool FilterDialog::AskForFilter( FilterNameListPtr& pSelectedItem )
if( m_pFilterNames != nullptr )
{
- if( ModalDialog::Execute() == RET_OK )
+ if (m_xDialog->run() == RET_OK)
{
- OUString sEntry = m_pLbFilters->GetSelectedEntry();
+ OUString sEntry = m_xLbFilters->get_selected_text();
if( !sEntry.isEmpty() )
{
- int nPos = m_pLbFilters->GetSelectedEntryPos();
+ int nPos = m_xLbFilters->get_selected_index();
if( nPos < static_cast<int>(m_pFilterNames->size()) )
{
pSelectedItem = m_pFilterNames->begin();
@@ -167,18 +157,18 @@ bool FilterDialog::AskForFilter( FilterNameListPtr& pSelectedItem )
class StringCalculator : public ::cppu::WeakImplHelper< css::util::XStringWidth >
{
public:
- explicit StringCalculator( const OutputDevice* pDevice )
- : m_pDevice( const_cast< OutputDevice * >( pDevice ) )
+ explicit StringCalculator(weld::Widget* pDevice)
+ : m_pDevice(pDevice)
{
}
sal_Int32 SAL_CALL queryStringWidth( const OUString& sString ) override
{
- return static_cast<sal_Int32>(m_pDevice->GetTextWidth(sString));
+ return static_cast<sal_Int32>(m_pDevice->get_pixel_size(sString).Width());
}
private:
- VclPtr<OutputDevice> m_pDevice;
+ weld::Widget* m_pDevice;
};
/*-************************************************************************************************************
@@ -206,11 +196,11 @@ OUString FilterDialog::impl_buildUIFileName( const OUString& sName )
else
{
// otherwise its really a url ... build short name by using INetURLObject
- css::uno::Reference< css::util::XStringWidth > xStringCalculator( new StringCalculator(m_pFtURL) );
+ css::uno::Reference< css::util::XStringWidth > xStringCalculator(new StringCalculator(m_xFtURL.get()));
if( xStringCalculator.is() )
{
INetURLObject aBuilder ( sName );
- Size aSize = m_pFtURL->GetOutputSizePixel();
+ Size aSize = m_xLbFilters->get_preferred_size();
sShortName = aBuilder.getAbbreviated( xStringCalculator, aSize.Width(), INetURLObject::DecodeMechanism::Unambiguous );
}
}