summaryrefslogtreecommitdiff
path: root/sd
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-05-11 16:11:47 +0100
committerCaolán McNamara <caolanm@redhat.com>2018-05-13 18:44:32 +0200
commit1bbc741c078899a16cedd78def6d4107f3ed4c96 (patch)
treeb1766f4166eded2f670afb239d7036a30ee44f74 /sd
parentb8a51074ae8dd40549947b7239a80ee6b9731e2f (diff)
weld SdModifyFieldDlg
Change-Id: I7e84f09b854d30474d37dfb3ce47a8a739dd5543 Reviewed-on: https://gerrit.libreoffice.org/54148 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sd')
-rw-r--r--sd/inc/sdabstdlg.hxx2
-rw-r--r--sd/qa/unit/dialogs-test.cxx5
-rw-r--r--sd/source/ui/dlg/dlgfield.cxx190
-rw-r--r--sd/source/ui/dlg/sddlgfact.cxx14
-rw-r--r--sd/source/ui/dlg/sddlgfact.hxx11
-rw-r--r--sd/source/ui/inc/dlgfield.hxx25
-rw-r--r--sd/source/ui/view/drviews2.cxx3
-rw-r--r--sd/source/ui/view/outlnvs2.cxx3
-rw-r--r--sd/uiconfig/simpress/ui/dlgfield.ui23
9 files changed, 142 insertions, 134 deletions
diff --git a/sd/inc/sdabstdlg.hxx b/sd/inc/sdabstdlg.hxx
index 27fb17ddd9ed..076555758960 100644
--- a/sd/inc/sdabstdlg.hxx
+++ b/sd/inc/sdabstdlg.hxx
@@ -177,7 +177,7 @@ public:
virtual VclPtr<AbstractSdCustomShowDlg> CreateSdCustomShowDlg(weld::Window* pWindow, SdDrawDocument& rDrawDoc) = 0;
virtual VclPtr<SfxAbstractTabDialog> CreateSdTabCharDialog(vcl::Window* pWindow, const SfxItemSet* pAttr, SfxObjectShell* pDocShell) = 0;
virtual VclPtr<SfxAbstractTabDialog> CreateSdTabPageDialog(vcl::Window* pWindow, const SfxItemSet* pAttr, SfxObjectShell* pDocShell, bool bAreaPage) = 0;
- virtual VclPtr<AbstractSdModifyFieldDlg> CreateSdModifyFieldDlg(vcl::Window* pWindow, const SvxFieldData* pInField, const SfxItemSet& rSet) = 0;
+ virtual VclPtr<AbstractSdModifyFieldDlg> CreateSdModifyFieldDlg(weld::Window* pWindow, const SvxFieldData* pInField, const SfxItemSet& rSet) = 0;
virtual VclPtr<AbstractSdSnapLineDlg> CreateSdSnapLineDlg(weld::Window* pParent, const SfxItemSet& rInAttrs, ::sd::View* pView) = 0;
virtual VclPtr<AbstractSdInsertLayerDlg> CreateSdInsertLayerDlg(weld::Window* pParent, const SfxItemSet& rInAttrs, bool bDeletable, const OUString& rStr) = 0;
virtual VclPtr<AbstractSdInsertPagesObjsDlg> CreateSdInsertPagesObjsDlg(vcl::Window* pParent, const SdDrawDocument* pDoc, SfxMedium* pSfxMedium, const OUString& rFileName) = 0;
diff --git a/sd/qa/unit/dialogs-test.cxx b/sd/qa/unit/dialogs-test.cxx
index 8a2d6603ac55..d68ef7e4b5e1 100644
--- a/sd/qa/unit/dialogs-test.cxx
+++ b/sd/qa/unit/dialogs-test.cxx
@@ -338,9 +338,10 @@ VclPtr<VclAbstractDialog> SdDialogsTest::createDialogByID(sal_uInt32 nID)
}
case 6:
{
- // CreateSdModifyFieldDlg(vcl::Window* pWindow, const SvxFieldData* pInField, const SfxItemSet& rSet) override;
+ // CreateSdModifyFieldDlg(weld::Window* pWindow, const SvxFieldData* pInField, const SfxItemSet& rSet) override;
+ auto const parent = getViewShell()->GetActiveWindow();
pRetval = getSdAbstractDialogFactory()->CreateSdModifyFieldDlg(
- Application::GetDefDialogParent(),
+ parent == nullptr ? nullptr : parent->GetFrameWeld(),
nullptr,
getEmptySfxItemSet());
break;
diff --git a/sd/source/ui/dlg/dlgfield.cxx b/sd/source/ui/dlg/dlgfield.cxx
index b20291547764..0f185c25813f 100644
--- a/sd/source/ui/dlg/dlgfield.cxx
+++ b/sd/source/ui/dlg/dlgfield.cxx
@@ -38,36 +38,24 @@
/**
* dialog to edit field commands
*/
-SdModifyFieldDlg::SdModifyFieldDlg( vcl::Window* pWindow, const SvxFieldData* pInField, const SfxItemSet& rSet ) :
- ModalDialog ( pWindow, "EditFieldsDialog", "modules/simpress/ui/dlgfield.ui" ),
- maInputSet ( rSet ),
- pField ( pInField )
+SdModifyFieldDlg::SdModifyFieldDlg(weld::Window* pWindow, const SvxFieldData* pInField, const SfxItemSet& rSet)
+ : GenericDialogController(pWindow, "modules/simpress/ui/dlgfield.ui", "EditFieldsDialog")
+ , m_aInputSet(rSet)
+ , m_pField(pInField)
+ , m_xRbtFix(m_xBuilder->weld_radio_button("fixedRB"))
+ , m_xRbtVar(m_xBuilder->weld_radio_button("varRB"))
+ , m_xLbLanguage(new LanguageBox(m_xBuilder->weld_combo_box_text("languageLB")))
+ , m_xLbFormat(m_xBuilder->weld_combo_box_text("formatLB"))
{
- get(m_pRbtFix, "fixedRB");
- get(m_pRbtVar, "varRB");
- get(m_pLbLanguage, "languageLB");
- get(m_pLbFormat, "formatLB");
-
- m_pLbLanguage->SetLanguageList( SvxLanguageListFlags::ALL|SvxLanguageListFlags::ONLY_KNOWN, false );
- m_pLbLanguage->SetSelectHdl( LINK( this, SdModifyFieldDlg, LanguageChangeHdl ) );
+ m_xLbLanguage->SetLanguageList( SvxLanguageListFlags::ALL|SvxLanguageListFlags::ONLY_KNOWN, false );
+ m_xLbLanguage->connect_changed(LINK(this, SdModifyFieldDlg, LanguageChangeHdl));
FillControls();
}
SdModifyFieldDlg::~SdModifyFieldDlg()
{
- disposeOnce();
}
-void SdModifyFieldDlg::dispose()
-{
- m_pRbtFix.clear();
- m_pRbtVar.clear();
- m_pLbLanguage.clear();
- m_pLbFormat.clear();
- ModalDialog::dispose();
-}
-
-
/**
* Returns the new field, owned by caller.
* Returns NULL if nothing has changed.
@@ -76,56 +64,56 @@ SvxFieldData* SdModifyFieldDlg::GetField()
{
SvxFieldData* pNewField = nullptr;
- if( m_pRbtFix->IsValueChangedFromSaved() ||
- m_pRbtVar->IsValueChangedFromSaved() ||
- m_pLbFormat->IsValueChangedFromSaved() )
+ if( m_xRbtFix->get_state_changed_from_saved() ||
+ m_xRbtVar->get_state_changed_from_saved() ||
+ m_xLbFormat->get_value_changed_from_saved() )
{
- if( dynamic_cast< const SvxDateField *>( pField ) != nullptr )
+ if( dynamic_cast< const SvxDateField *>( m_pField ) != nullptr )
{
- const SvxDateField* pDateField = static_cast<const SvxDateField*>(pField);
+ const SvxDateField* pDateField = static_cast<const SvxDateField*>(m_pField);
SvxDateType eType;
SvxDateFormat eFormat;
- if( m_pRbtFix->IsChecked() )
+ if( m_xRbtFix->get_active() )
eType = SvxDateType::Fix;
else
eType = SvxDateType::Var;
- eFormat = static_cast<SvxDateFormat>( m_pLbFormat->GetSelectedEntryPos() + 2 );
+ eFormat = static_cast<SvxDateFormat>( m_xLbFormat->get_active() + 2 );
pNewField = new SvxDateField( *pDateField );
static_cast<SvxDateField*>( pNewField )->SetType( eType );
static_cast<SvxDateField*>( pNewField )->SetFormat( eFormat );
}
- else if( dynamic_cast< const SvxExtTimeField *>( pField ) != nullptr )
+ else if( dynamic_cast< const SvxExtTimeField *>( m_pField ) != nullptr )
{
- const SvxExtTimeField* pTimeField = static_cast<const SvxExtTimeField*>( pField );
+ const SvxExtTimeField* pTimeField = static_cast<const SvxExtTimeField*>( m_pField );
SvxTimeType eType;
SvxTimeFormat eFormat;
- if( m_pRbtFix->IsChecked() )
+ if( m_xRbtFix->get_active() )
eType = SvxTimeType::Fix;
else
eType = SvxTimeType::Var;
- eFormat = static_cast<SvxTimeFormat>( m_pLbFormat->GetSelectedEntryPos() + 2 );
+ eFormat = static_cast<SvxTimeFormat>( m_xLbFormat->get_active() + 2 );
pNewField = new SvxExtTimeField( *pTimeField );
static_cast<SvxExtTimeField*>( pNewField )->SetType( eType );
static_cast<SvxExtTimeField*>( pNewField )->SetFormat( eFormat );
}
- else if( dynamic_cast< const SvxExtFileField *>( pField ) != nullptr )
+ else if( dynamic_cast< const SvxExtFileField *>( m_pField ) != nullptr )
{
- const SvxExtFileField* pFileField = static_cast<const SvxExtFileField*>( pField );
+ const SvxExtFileField* pFileField = static_cast<const SvxExtFileField*>( m_pField );
SvxFileType eType;
SvxFileFormat eFormat;
- if( m_pRbtFix->IsChecked() )
+ if( m_xRbtFix->get_active() )
eType = SvxFileType::Fix;
else
eType = SvxFileType::Var;
- eFormat = static_cast<SvxFileFormat>( m_pLbFormat->GetSelectedEntryPos() );
+ eFormat = static_cast<SvxFileFormat>( m_xLbFormat->get_active() );
::sd::DrawDocShell* pDocSh = dynamic_cast< ::sd::DrawDocShell* >(SfxObjectShell::Current() );
@@ -143,17 +131,17 @@ SvxFieldData* SdModifyFieldDlg::GetField()
static_cast<SvxExtFileField*>( pNewField )->SetFormat( eFormat );
}
}
- else if( dynamic_cast< const SvxAuthorField *>( pField ) != nullptr )
+ else if( dynamic_cast< const SvxAuthorField *>( m_pField ) != nullptr )
{
SvxAuthorType eType;
SvxAuthorFormat eFormat;
- if( m_pRbtFix->IsChecked() )
+ if( m_xRbtFix->get_active() )
eType = SvxAuthorType::Fix;
else
eType = SvxAuthorType::Var;
- eFormat = static_cast<SvxAuthorFormat>( m_pLbFormat->GetSelectedEntryPos() );
+ eFormat = static_cast<SvxAuthorFormat>( m_xLbFormat->get_active() );
// Get current state of address, not the old one
SvtUserOptions aUserOptions;
@@ -168,88 +156,88 @@ SvxFieldData* SdModifyFieldDlg::GetField()
void SdModifyFieldDlg::FillFormatList()
{
- LanguageType eLangType = m_pLbLanguage->GetSelectedLanguage();
+ LanguageType eLangType = m_xLbLanguage->GetSelectedLanguage();
- m_pLbFormat->Clear();
+ m_xLbFormat->clear();
- if( dynamic_cast< const SvxDateField *>( pField ) != nullptr )
+ if( dynamic_cast< const SvxDateField *>( m_pField ) != nullptr )
{
- const SvxDateField* pDateField = static_cast<const SvxDateField*>( pField );
+ const SvxDateField* pDateField = static_cast<const SvxDateField*>( m_pField );
SvxDateField aDateField( *pDateField );
//SvxDateFormat::AppDefault, // not used
//SvxDateFormat::System, // not used
- m_pLbFormat->InsertEntry( SdResId( STR_STANDARD_SMALL ) );
- m_pLbFormat->InsertEntry( SdResId( STR_STANDARD_BIG ) );
+ m_xLbFormat->append_text( SdResId( STR_STANDARD_SMALL ) );
+ m_xLbFormat->append_text( SdResId( STR_STANDARD_BIG ) );
SvNumberFormatter* pNumberFormatter = SD_MOD()->GetNumberFormatter();
aDateField.SetFormat( SvxDateFormat::A ); // 13.02.96
- m_pLbFormat->InsertEntry( aDateField.GetFormatted( *pNumberFormatter, eLangType ) );
+ m_xLbFormat->append_text( aDateField.GetFormatted( *pNumberFormatter, eLangType ) );
aDateField.SetFormat( SvxDateFormat::B ); // 13.02.1996
- m_pLbFormat->InsertEntry( aDateField.GetFormatted( *pNumberFormatter, eLangType ) );
+ m_xLbFormat->append_text( aDateField.GetFormatted( *pNumberFormatter, eLangType ) );
aDateField.SetFormat( SvxDateFormat::C ); // 13.Feb 1996
- m_pLbFormat->InsertEntry( aDateField.GetFormatted( *pNumberFormatter, eLangType ) );
+ m_xLbFormat->append_text( aDateField.GetFormatted( *pNumberFormatter, eLangType ) );
aDateField.SetFormat( SvxDateFormat::D ); // 13.Februar 1996
- m_pLbFormat->InsertEntry( aDateField.GetFormatted( *pNumberFormatter, eLangType ) );
+ m_xLbFormat->append_text( aDateField.GetFormatted( *pNumberFormatter, eLangType ) );
aDateField.SetFormat( SvxDateFormat::E ); // Die, 13.Februar 1996
- m_pLbFormat->InsertEntry( aDateField.GetFormatted( *pNumberFormatter, eLangType ) );
+ m_xLbFormat->append_text( aDateField.GetFormatted( *pNumberFormatter, eLangType ) );
aDateField.SetFormat( SvxDateFormat::F ); // Dienstag, 13.Februar 1996
- m_pLbFormat->InsertEntry( aDateField.GetFormatted( *pNumberFormatter, eLangType ) );
+ m_xLbFormat->append_text( aDateField.GetFormatted( *pNumberFormatter, eLangType ) );
- m_pLbFormat->SelectEntryPos( static_cast<sal_uInt16>(pDateField->GetFormat()) - 2 );
+ m_xLbFormat->set_active( static_cast<sal_uInt16>(pDateField->GetFormat()) - 2 );
}
- else if( dynamic_cast< const SvxExtTimeField *>( pField ) != nullptr )
+ else if( dynamic_cast< const SvxExtTimeField *>( m_pField ) != nullptr )
{
- const SvxExtTimeField* pTimeField = static_cast<const SvxExtTimeField*>( pField );
+ const SvxExtTimeField* pTimeField = static_cast<const SvxExtTimeField*>( m_pField );
SvxExtTimeField aTimeField( *pTimeField );
//SvxTimeFormat::AppDefault, // not used
//SvxTimeFormat::System, // not used
- m_pLbFormat->InsertEntry( SdResId( STR_STANDARD_NORMAL ) );
+ m_xLbFormat->append_text( SdResId( STR_STANDARD_NORMAL ) );
SvNumberFormatter* pNumberFormatter = SD_MOD()->GetNumberFormatter();
aTimeField.SetFormat( SvxTimeFormat::HH24_MM ); // 13:49
- m_pLbFormat->InsertEntry( aTimeField.GetFormatted( *pNumberFormatter, eLangType ) );
+ m_xLbFormat->append_text( aTimeField.GetFormatted( *pNumberFormatter, eLangType ) );
aTimeField.SetFormat( SvxTimeFormat::HH24_MM_SS ); // 13:49:38
- m_pLbFormat->InsertEntry( aTimeField.GetFormatted( *pNumberFormatter, eLangType ) );
+ m_xLbFormat->append_text( aTimeField.GetFormatted( *pNumberFormatter, eLangType ) );
aTimeField.SetFormat( SvxTimeFormat::HH24_MM_SS_00 ); // 13:49:38.78
- m_pLbFormat->InsertEntry( aTimeField.GetFormatted( *pNumberFormatter, eLangType ) );
+ m_xLbFormat->append_text( aTimeField.GetFormatted( *pNumberFormatter, eLangType ) );
aTimeField.SetFormat( SvxTimeFormat::HH12_MM ); // 01:49
- m_pLbFormat->InsertEntry( aTimeField.GetFormatted( *pNumberFormatter, eLangType ) );
+ m_xLbFormat->append_text( aTimeField.GetFormatted( *pNumberFormatter, eLangType ) );
aTimeField.SetFormat( SvxTimeFormat::HH12_MM_SS ); // 01:49:38
- m_pLbFormat->InsertEntry( aTimeField.GetFormatted( *pNumberFormatter, eLangType ) );
+ m_xLbFormat->append_text( aTimeField.GetFormatted( *pNumberFormatter, eLangType ) );
aTimeField.SetFormat( SvxTimeFormat::HH12_MM_SS_00 ); // 01:49:38.78
- m_pLbFormat->InsertEntry( aTimeField.GetFormatted( *pNumberFormatter, eLangType ) );
+ m_xLbFormat->append_text( aTimeField.GetFormatted( *pNumberFormatter, eLangType ) );
//SvxTimeFormat::HH12_MM_AMPM, // 01:49 PM
//SvxTimeFormat::HH12_MM_SS_AMPM, // 01:49:38 PM
//SvxTimeFormat::HH12_MM_SS_00_AMPM // 01:49:38.78 PM
- m_pLbFormat->SelectEntryPos( static_cast<sal_uInt16>(pTimeField->GetFormat()) - 2 );
+ m_xLbFormat->set_active( static_cast<sal_uInt16>(pTimeField->GetFormat()) - 2 );
}
- else if( dynamic_cast< const SvxExtFileField *>( pField ) != nullptr )
+ else if( dynamic_cast< const SvxExtFileField *>( m_pField ) != nullptr )
{
- const SvxExtFileField* pFileField = static_cast<const SvxExtFileField*>( pField );
+ const SvxExtFileField* pFileField = static_cast<const SvxExtFileField*>( m_pField );
SvxExtFileField aFileField( *pFileField );
- m_pLbFormat->InsertEntry( SdResId( STR_FILEFORMAT_NAME_EXT ) );
- m_pLbFormat->InsertEntry( SdResId( STR_FILEFORMAT_FULLPATH ) );
- m_pLbFormat->InsertEntry( SdResId( STR_FILEFORMAT_PATH ) );
- m_pLbFormat->InsertEntry( SdResId( STR_FILEFORMAT_NAME ) );
+ m_xLbFormat->append_text( SdResId( STR_FILEFORMAT_NAME_EXT ) );
+ m_xLbFormat->append_text( SdResId( STR_FILEFORMAT_FULLPATH ) );
+ m_xLbFormat->append_text( SdResId( STR_FILEFORMAT_PATH ) );
+ m_xLbFormat->append_text( SdResId( STR_FILEFORMAT_NAME ) );
- m_pLbFormat->SelectEntryPos( static_cast<sal_uInt16>( pFileField->GetFormat() ) );
+ m_xLbFormat->set_active( static_cast<sal_uInt16>( pFileField->GetFormat() ) );
}
- else if( dynamic_cast< const SvxAuthorField *>( pField ) != nullptr )
+ else if( dynamic_cast< const SvxAuthorField *>( m_pField ) != nullptr )
{
- const SvxAuthorField* pAuthorField = static_cast<const SvxAuthorField*>( pField );
+ const SvxAuthorField* pAuthorField = static_cast<const SvxAuthorField*>( m_pField );
SvxAuthorField aAuthorField( *pAuthorField );
for( sal_uInt16 i = 0; i < 4; i++ )
{
aAuthorField.SetFormat( static_cast<SvxAuthorFormat>(i) );
- m_pLbFormat->InsertEntry( aAuthorField.GetFormatted() );
+ m_xLbFormat->append_text( aAuthorField.GetFormatted() );
}
- m_pLbFormat->SelectEntryPos( static_cast<sal_uInt16>( pAuthorField->GetFormat() ) );
+ m_xLbFormat->set_active( static_cast<sal_uInt16>( pAuthorField->GetFormat() ) );
}
@@ -257,73 +245,73 @@ void SdModifyFieldDlg::FillFormatList()
void SdModifyFieldDlg::FillControls()
{
- m_pLbFormat->Clear();
+ m_xLbFormat->clear();
- if( dynamic_cast< const SvxDateField *>( pField ) != nullptr )
+ if( dynamic_cast< const SvxDateField *>( m_pField ) != nullptr )
{
- const SvxDateField* pDateField = static_cast<const SvxDateField*>(pField);
+ const SvxDateField* pDateField = static_cast<const SvxDateField*>(m_pField);
SvxDateField aDateField( *pDateField );
if( pDateField->GetType() == SvxDateType::Fix )
- m_pRbtFix->Check();
+ m_xRbtFix->set_active(true);
else
- m_pRbtVar->Check();
+ m_xRbtVar->set_active(true);
}
- else if( dynamic_cast< const SvxExtTimeField *>( pField ) != nullptr )
+ else if( dynamic_cast< const SvxExtTimeField *>( m_pField ) != nullptr )
{
- const SvxExtTimeField* pTimeField = static_cast<const SvxExtTimeField*>(pField);
+ const SvxExtTimeField* pTimeField = static_cast<const SvxExtTimeField*>(m_pField);
SvxExtTimeField aTimeField( *pTimeField );
if( pTimeField->GetType() == SvxTimeType::Fix )
- m_pRbtFix->Check();
+ m_xRbtFix->set_active(true);
else
- m_pRbtVar->Check();
+ m_xRbtVar->set_active(true);
}
- else if( dynamic_cast< const SvxExtFileField *>( pField ) != nullptr )
+ else if( dynamic_cast< const SvxExtFileField *>( m_pField ) != nullptr )
{
- const SvxExtFileField* pFileField = static_cast<const SvxExtFileField*>(pField);
+ const SvxExtFileField* pFileField = static_cast<const SvxExtFileField*>(m_pField);
SvxExtFileField aFileField( *pFileField );
if( pFileField->GetType() == SvxFileType::Fix )
- m_pRbtFix->Check();
+ m_xRbtFix->set_active(true);
else
- m_pRbtVar->Check();
+ m_xRbtVar->set_active(true);
}
- else if( dynamic_cast< const SvxAuthorField *>( pField ) != nullptr )
+ else if( dynamic_cast< const SvxAuthorField *>( m_pField ) != nullptr )
{
- const SvxAuthorField* pAuthorField = static_cast<const SvxAuthorField*>(pField);
+ const SvxAuthorField* pAuthorField = static_cast<const SvxAuthorField*>(m_pField);
SvxAuthorField aAuthorField( *pAuthorField );
if( pAuthorField->GetType() == SvxAuthorType::Fix )
- m_pRbtFix->Check();
+ m_xRbtFix->set_active(true);
else
- m_pRbtVar->Check();
+ m_xRbtVar->set_active(true);
}
- m_pRbtFix->SaveValue();
- m_pRbtVar->SaveValue();
+ m_xRbtFix->save_state();
+ m_xRbtVar->save_state();
const SfxPoolItem* pItem;
- if( SfxItemState::SET == maInputSet.GetItemState(EE_CHAR_LANGUAGE, true, &pItem ) )
- m_pLbLanguage->SelectLanguage( static_cast<const SvxLanguageItem*>(pItem)->GetLanguage() );
+ if( SfxItemState::SET == m_aInputSet.GetItemState(EE_CHAR_LANGUAGE, true, &pItem ) )
+ m_xLbLanguage->SelectLanguage( static_cast<const SvxLanguageItem*>(pItem)->GetLanguage() );
- m_pLbLanguage->SaveValue();
+ m_xLbLanguage->save_value();
FillFormatList();
- m_pLbFormat->SaveValue();
+ m_xLbFormat->save_value();
}
-IMPL_LINK_NOARG(SdModifyFieldDlg, LanguageChangeHdl, ListBox&, void)
+IMPL_LINK_NOARG(SdModifyFieldDlg, LanguageChangeHdl, weld::ComboBoxText&, void)
{
FillFormatList();
}
SfxItemSet SdModifyFieldDlg::GetItemSet()
{
- SfxItemSet aOutput( *maInputSet.GetPool(), svl::Items<EE_CHAR_LANGUAGE, EE_CHAR_LANGUAGE_CTL>{} );
+ SfxItemSet aOutput( *m_aInputSet.GetPool(), svl::Items<EE_CHAR_LANGUAGE, EE_CHAR_LANGUAGE_CTL>{} );
- if( m_pLbLanguage->IsValueChangedFromSaved() )
+ if( m_xLbLanguage->get_value_changed_from_saved() )
{
- LanguageType eLangType = m_pLbLanguage->GetSelectedLanguage();
+ LanguageType eLangType = m_xLbLanguage->GetSelectedLanguage();
SvxLanguageItem aItem( eLangType, EE_CHAR_LANGUAGE );
aOutput.Put( aItem );
diff --git a/sd/source/ui/dlg/sddlgfact.cxx b/sd/source/ui/dlg/sddlgfact.cxx
index f609fca3a774..5481d7533e38 100644
--- a/sd/source/ui/dlg/sddlgfact.cxx
+++ b/sd/source/ui/dlg/sddlgfact.cxx
@@ -62,7 +62,11 @@ short AbstractSdCustomShowDlg_Impl::Execute()
IMPL_ABSTDLG_BASE(SdAbstractTabDialog_Impl);
IMPL_ABSTDLG_BASE(SdPresLayoutTemplateDlg_Impl);
-IMPL_ABSTDLG_BASE(AbstractSdModifyFieldDlg_Impl);
+
+short AbstractSdModifyFieldDlg_Impl::Execute()
+{
+ return m_xDlg->run();
+}
short AbstractSdSnapLineDlg_Impl::Execute()
{
@@ -211,12 +215,12 @@ void SdPresLayoutTemplateDlg_Impl::SetText( const OUString& rStr )
SvxFieldData* AbstractSdModifyFieldDlg_Impl::GetField()
{
- return pDlg->GetField();
+ return m_xDlg->GetField();
}
SfxItemSet AbstractSdModifyFieldDlg_Impl::GetItemSet()
{
- return pDlg->GetItemSet();
+ return m_xDlg->GetItemSet();
}
void AbstractSdSnapLineDlg_Impl::GetAttr(SfxItemSet& rOutAttrs)
@@ -353,9 +357,9 @@ VclPtr<SfxAbstractTabDialog> SdAbstractDialogFactory_Impl::CreateSdTabPageDialo
return VclPtr<SdAbstractTabDialog_Impl>::Create( VclPtr<SdPageDlg>::Create( pDocShell, pParent, pAttr, bAreaPage ) );
}
-VclPtr<AbstractSdModifyFieldDlg> SdAbstractDialogFactory_Impl::CreateSdModifyFieldDlg( vcl::Window* pParent, const SvxFieldData* pInField, const SfxItemSet& rSet )
+VclPtr<AbstractSdModifyFieldDlg> SdAbstractDialogFactory_Impl::CreateSdModifyFieldDlg(weld::Window* pParent, const SvxFieldData* pInField, const SfxItemSet& rSet)
{
- return VclPtr<AbstractSdModifyFieldDlg_Impl>::Create( VclPtr<SdModifyFieldDlg>::Create( pParent, pInField, rSet ) );
+ return VclPtr<AbstractSdModifyFieldDlg_Impl>::Create(new SdModifyFieldDlg(pParent, pInField, rSet));
}
VclPtr<AbstractSdSnapLineDlg> SdAbstractDialogFactory_Impl::CreateSdSnapLineDlg(weld::Window* pParent, const SfxItemSet& rInAttrs, ::sd::View* pView)
diff --git a/sd/source/ui/dlg/sddlgfact.hxx b/sd/source/ui/dlg/sddlgfact.hxx
index a6f5319dba38..5e2b2f11c2d8 100644
--- a/sd/source/ui/dlg/sddlgfact.hxx
+++ b/sd/source/ui/dlg/sddlgfact.hxx
@@ -153,7 +153,14 @@ class SdPresLayoutTemplateDlg_Impl : public SfxAbstractTabDialog
class SdModifyFieldDlg;
class AbstractSdModifyFieldDlg_Impl : public AbstractSdModifyFieldDlg
{
- DECL_ABSTDLG_BASE(AbstractSdModifyFieldDlg_Impl,SdModifyFieldDlg)
+private:
+ std::unique_ptr<SdModifyFieldDlg> m_xDlg;
+public:
+ AbstractSdModifyFieldDlg_Impl(SdModifyFieldDlg* pDlg)
+ : m_xDlg(pDlg)
+ {
+ }
+ virtual short Execute() override;
virtual SvxFieldData* GetField() override;
virtual SfxItemSet GetItemSet() override;
};
@@ -284,7 +291,7 @@ public:
virtual VclPtr<AbstractSdCustomShowDlg> CreateSdCustomShowDlg(weld::Window* pParent, SdDrawDocument& rDrawDoc) override;
virtual VclPtr<SfxAbstractTabDialog> CreateSdTabCharDialog(vcl::Window* pWindow, const SfxItemSet* pAttr, SfxObjectShell* pDocShell) override;
virtual VclPtr<SfxAbstractTabDialog> CreateSdTabPageDialog(vcl::Window* pWindow, const SfxItemSet* pAttr, SfxObjectShell* pDocShell, bool bAreaPage) override;
- virtual VclPtr<AbstractSdModifyFieldDlg> CreateSdModifyFieldDlg( vcl::Window* pWindow, const SvxFieldData* pInField, const SfxItemSet& rSet ) override;
+ virtual VclPtr<AbstractSdModifyFieldDlg> CreateSdModifyFieldDlg(weld::Window* pWindow, const SvxFieldData* pInField, const SfxItemSet& rSet) override;
virtual VclPtr<AbstractSdSnapLineDlg> CreateSdSnapLineDlg(weld::Window* pParent, const SfxItemSet& rInAttrs, ::sd::View* pView) override;
virtual VclPtr<AbstractSdInsertLayerDlg> CreateSdInsertLayerDlg(weld::Window* pParent, const SfxItemSet& rInAttrs, bool bDeletable, const OUString& aStr) override;
virtual VclPtr<AbstractSdInsertPagesObjsDlg> CreateSdInsertPagesObjsDlg(vcl::Window* pParent, const SdDrawDocument* pDoc, SfxMedium* pSfxMedium, const OUString& rFileName ) override;
diff --git a/sd/source/ui/inc/dlgfield.hxx b/sd/source/ui/inc/dlgfield.hxx
index 69e194f8ba55..4fa9e740e99e 100644
--- a/sd/source/ui/inc/dlgfield.hxx
+++ b/sd/source/ui/inc/dlgfield.hxx
@@ -20,37 +20,32 @@
#ifndef INCLUDED_SD_SOURCE_UI_INC_DLGFIELD_HXX
#define INCLUDED_SD_SOURCE_UI_INC_DLGFIELD_HXX
-#include <vcl/lstbox.hxx>
-#include <vcl/group.hxx>
-#include <vcl/fixed.hxx>
-#include <vcl/button.hxx>
-#include <vcl/dialog.hxx>
+#include <vcl/weld.hxx>
#include <svx/langbox.hxx>
class SvxFieldData;
/**
* dialog to adjust field-commands
*/
-class SdModifyFieldDlg : public ModalDialog
+class SdModifyFieldDlg : public weld::GenericDialogController
{
private:
- VclPtr<RadioButton> m_pRbtFix;
- VclPtr<RadioButton> m_pRbtVar;
- VclPtr<SvxLanguageBox> m_pLbLanguage;
- VclPtr<ListBox> m_pLbFormat;
- SfxItemSet maInputSet;
+ SfxItemSet m_aInputSet;
+ const SvxFieldData* m_pField;
- const SvxFieldData* pField;
+ std::unique_ptr<weld::RadioButton> m_xRbtFix;
+ std::unique_ptr<weld::RadioButton> m_xRbtVar;
+ std::unique_ptr<LanguageBox> m_xLbLanguage;
+ std::unique_ptr<weld::ComboBoxText> m_xLbFormat;
void FillFormatList();
void FillControls();
- DECL_LINK( LanguageChangeHdl, ListBox&, void );
+ DECL_LINK(LanguageChangeHdl, weld::ComboBoxText&, void);
public:
- SdModifyFieldDlg( vcl::Window* pWindow, const SvxFieldData* pInField, const SfxItemSet& rSet );
+ SdModifyFieldDlg(weld::Window* pWindow, const SvxFieldData* pInField, const SfxItemSet& rSet);
virtual ~SdModifyFieldDlg() override;
- virtual void dispose() override;
SvxFieldData* GetField();
SfxItemSet GetItemSet();
diff --git a/sd/source/ui/view/drviews2.cxx b/sd/source/ui/view/drviews2.cxx
index 5a9649b48eaf..e6b9b92604fa 100644
--- a/sd/source/ui/view/drviews2.cxx
+++ b/sd/source/ui/view/drviews2.cxx
@@ -2392,7 +2392,8 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
{
// Dialog...
SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
- ScopedVclPtr<AbstractSdModifyFieldDlg> pDlg(pFact ? pFact->CreateSdModifyFieldDlg(GetActiveWindow(), pFldItem->GetField(), pOLV->GetAttribs() ) : nullptr);
+ vcl::Window* pWin = GetActiveWindow();
+ ScopedVclPtr<AbstractSdModifyFieldDlg> pDlg(pFact ? pFact->CreateSdModifyFieldDlg(pWin ? pWin->GetFrameWeld() : nullptr, pFldItem->GetField(), pOLV->GetAttribs() ) : nullptr);
if( pDlg && pDlg->Execute() == RET_OK )
{
// To make a correct SetAttribs() call at the utlinerView
diff --git a/sd/source/ui/view/outlnvs2.cxx b/sd/source/ui/view/outlnvs2.cxx
index d5dddac528f1..c398f2148224 100644
--- a/sd/source/ui/view/outlnvs2.cxx
+++ b/sd/source/ui/view/outlnvs2.cxx
@@ -573,7 +573,8 @@ void OutlineViewShell::FuTemporaryModify(SfxRequest &rReq)
{
// Dialog...
SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
- ScopedVclPtr<AbstractSdModifyFieldDlg> pDlg(pFact ? pFact->CreateSdModifyFieldDlg(GetActiveWindow(), pFldItem->GetField(), pOutlinerView->GetAttribs() ) : nullptr);
+ vcl::Window* pWin = GetActiveWindow();
+ ScopedVclPtr<AbstractSdModifyFieldDlg> pDlg(pFact ? pFact->CreateSdModifyFieldDlg(pWin ? pWin->GetFrameWeld() : nullptr, pFldItem->GetField(), pOutlinerView->GetAttribs() ) : nullptr);
if( pDlg && (pDlg->Execute() == RET_OK) )
{
std::unique_ptr<SvxFieldData> pField(pDlg->GetField());
diff --git a/sd/uiconfig/simpress/ui/dlgfield.ui b/sd/uiconfig/simpress/ui/dlgfield.ui
index 68f42648f164..b6e81af1518b 100644
--- a/sd/uiconfig/simpress/ui/dlgfield.ui
+++ b/sd/uiconfig/simpress/ui/dlgfield.ui
@@ -1,22 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.18.3 -->
+<!-- Generated with glade 3.22.1 -->
<interface domain="sd">
<requires lib="gtk+" version="3.18"/>
- <requires lib="LibreOffice" version="1.0"/>
<object class="GtkDialog" id="EditFieldsDialog">
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="title" translatable="yes" context="dlgfield|EditFieldsDialog">Edit Field</property>
+ <property name="modal">True</property>
+ <property name="default_width">0</property>
+ <property name="default_height">0</property>
<property name="type_hint">dialog</property>
+ <child>
+ <placeholder/>
+ </child>
<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="orientation">vertical</property>
- <property name="layout_style">start</property>
+ <property name="layout_style">end</property>
<child>
<object class="GtkButton" id="ok">
<property name="label">gtk-ok</property>
@@ -59,6 +64,7 @@
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
+ <property name="secondary">True</property>
</packing>
</child>
</object>
@@ -105,7 +111,6 @@
<property name="xalign">0</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
- <property name="group">varRB</property>
</object>
<packing>
<property name="expand">False</property>
@@ -172,9 +177,15 @@
</packing>
</child>
<child>
- <object class="svxcorelo-SvxLanguageBox" id="languageLB">
+ <object class="GtkComboBoxText" id="languageLB">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="has_entry">True</property>
+ <child internal-child="entry">
+ <object class="GtkEntry">
+ <property name="can_focus">True</property>
+ </object>
+ </child>
</object>
<packing>
<property name="expand">False</property>