[Libreoffice-commits] core.git: include/vcl sc/source sc/uiconfig solenv/sanitizers vcl/source vcl/unx
Caolán McNamara (via logerrit)
logerrit at kemper.freedesktop.org
Thu Apr 11 20:19:00 UTC 2019
include/vcl/weld.hxx | 3
sc/source/ui/dbgui/dbnamdlg.cxx | 408 ++++++++++------------
sc/source/ui/inc/dbnamdlg.hxx | 68 +--
sc/source/ui/inc/reffact.hxx | 2
sc/source/ui/view/reffact.cxx | 4
sc/source/ui/view/tabvwshc.cxx | 23 -
sc/uiconfig/scalc/ui/definedatabaserangedialog.ui | 199 ++++++----
solenv/sanitizers/ui/modules/scalc.suppr | 3
vcl/source/app/salvtables.cxx | 10
vcl/unx/gtk3/gtk3gtkinst.cxx | 10
10 files changed, 397 insertions(+), 333 deletions(-)
New commits:
commit 5dfc4fd2af11322dfbface30fd66c1ce553a0703
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Thu Apr 11 12:05:07 2019 +0100
Commit: Caolán McNamara <caolanm at redhat.com>
CommitDate: Thu Apr 11 22:18:01 2019 +0200
weld ScDbNameDlg
Change-Id: I676909cbb4067ce69d5327403dd25cc80c4cbc4b
Reviewed-on: https://gerrit.libreoffice.org/70593
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/include/vcl/weld.hxx b/include/vcl/weld.hxx
index 4074df14b8c7..77205ced1f69 100644
--- a/include/vcl/weld.hxx
+++ b/include/vcl/weld.hxx
@@ -285,11 +285,14 @@ public:
virtual int get_vscroll_width() const = 0;
};
+class Label;
+
class VCL_DLLPUBLIC Frame : virtual public Container
{
public:
virtual void set_label(const OUString& rText) = 0;
virtual OUString get_label() const = 0;
+ virtual std::unique_ptr<Label> weld_label_widget() const = 0;
};
class VCL_DLLPUBLIC Notebook : virtual public Container
diff --git a/sc/source/ui/dbgui/dbnamdlg.cxx b/sc/source/ui/dbgui/dbnamdlg.cxx
index 067666be2152..0299367a240f 100644
--- a/sc/source/ui/dbgui/dbnamdlg.cxx
+++ b/sc/source/ui/dbgui/dbnamdlg.cxx
@@ -56,8 +56,8 @@ namespace
class DBSaveData
{
public:
- DBSaveData( Edit& rEd, CheckBox& rHdr, CheckBox& rTot, CheckBox& rSize, CheckBox& rFmt,
- CheckBox& rStrip, ScRange& rArea )
+ DBSaveData( formula::WeldRefEdit& rEd, weld::CheckButton& rHdr, weld::CheckButton& rTot, weld::CheckButton& rSize, weld::CheckButton& rFmt,
+ weld::CheckButton& rStrip, ScRange& rArea )
: rEdAssign(rEd)
, rBtnHeader(rHdr)
, rBtnTotals(rTot)
@@ -77,12 +77,12 @@ public:
void Restore();
private:
- Edit& rEdAssign;
- CheckBox& rBtnHeader;
- CheckBox& rBtnTotals;
- CheckBox& rBtnSize;
- CheckBox& rBtnFormat;
- CheckBox& rBtnStrip;
+ formula::WeldRefEdit& rEdAssign;
+ weld::CheckButton& rBtnHeader;
+ weld::CheckButton& rBtnTotals;
+ weld::CheckButton& rBtnSize;
+ weld::CheckButton& rBtnFormat;
+ weld::CheckButton& rBtnStrip;
ScRange& rCurArea;
OUString aStr;
ScRange aArea;
@@ -98,11 +98,11 @@ void DBSaveData::Save()
{
aArea = rCurArea;
aStr = rEdAssign.GetText();
- bHeader = rBtnHeader.IsChecked();
- bTotals = rBtnTotals.IsChecked();
- bSize = rBtnSize.IsChecked();
- bFormat = rBtnFormat.IsChecked();
- bStrip = rBtnStrip.IsChecked();
+ bHeader = rBtnHeader.get_active();
+ bTotals = rBtnTotals.get_active();
+ bSize = rBtnSize.get_active();
+ bFormat = rBtnFormat.get_active();
+ bStrip = rBtnStrip.get_active();
bDirty = true;
}
@@ -112,103 +112,81 @@ void DBSaveData::Restore()
{
rCurArea = aArea;
rEdAssign.SetText( aStr );
- rBtnHeader.Check ( bHeader );
- rBtnTotals.Check ( bTotals );
- rBtnSize.Check ( bSize );
- rBtnFormat.Check ( bFormat );
- rBtnStrip.Check ( bStrip );
+ rBtnHeader.set_active ( bHeader );
+ rBtnTotals.set_active ( bTotals );
+ rBtnSize.set_active ( bSize );
+ rBtnFormat.set_active ( bFormat );
+ rBtnStrip.set_active ( bStrip );
bDirty = false;
}
}
// class ScDbNameDlg
-ScDbNameDlg::ScDbNameDlg(SfxBindings* pB, SfxChildWindow* pCW, vcl::Window* pParent,
+ScDbNameDlg::ScDbNameDlg(SfxBindings* pB, SfxChildWindow* pCW, weld::Window* pParent,
ScViewData* ptrViewData)
- : ScAnyRefDlg(pB, pCW, pParent,
- "DefineDatabaseRangeDialog",
- "modules/scalc/ui/definedatabaserangedialog.ui")
+ : ScAnyRefDlgController(pB, pCW, pParent,
+ "modules/scalc/ui/definedatabaserangedialog.ui", "DefineDatabaseRangeDialog")
, pViewData(ptrViewData)
, pDoc(ptrViewData->GetDocument())
, bRefInputMode(false)
, aAddrDetails(pDoc->GetAddressConvention(), 0, 0)
, aLocalDbCol(*(pDoc->GetDBCollection()))
+ , m_xEdName(m_xBuilder->weld_entry_tree_view("entrygrid", "entry", "entry-list"))
+ , m_xAssignFrame(m_xBuilder->weld_frame("RangeFrame"))
+ , m_xEdAssign(new formula::WeldRefEdit(m_xBuilder->weld_entry("assign")))
+ , m_xRbAssign(new formula::WeldRefButton(m_xBuilder->weld_button("assignrb")))
+ , m_xOptions(m_xBuilder->weld_widget("Options"))
+ , m_xBtnHeader(m_xBuilder->weld_check_button("ContainsColumnLabels"))
+ , m_xBtnTotals(m_xBuilder->weld_check_button("ContainsTotalsRow"))
+ , m_xBtnDoSize(m_xBuilder->weld_check_button("InsertOrDeleteCells"))
+ , m_xBtnKeepFmt(m_xBuilder->weld_check_button("KeepFormatting"))
+ , m_xBtnStripData(m_xBuilder->weld_check_button("DontSaveImportedData"))
+ , m_xFTSource(m_xBuilder->weld_label("Source"))
+ , m_xFTOperations(m_xBuilder->weld_label("Operations"))
+ , m_xBtnOk(m_xBuilder->weld_button("ok"))
+ , m_xBtnCancel(m_xBuilder->weld_button("cancel"))
+ , m_xBtnAdd(m_xBuilder->weld_button("add"))
+ , m_xBtnRemove(m_xBuilder->weld_button("delete"))
+ , m_xModifyPB(m_xBuilder->weld_button("modify"))
+ , m_xInvalidFT(m_xBuilder->weld_label("invalid"))
+ , m_xFrameLabel(m_xAssignFrame->weld_label_widget())
+ , m_xExpander(m_xBuilder->weld_expander("more"))
{
- get(m_pEdName, "entry");
- m_pEdName->set_height_request(m_pEdName->GetOptimalSize().Height() + m_pEdName->GetTextHeight() * 8);
- get(m_pEdAssign, "assign");
- get(m_pAssignFrame, "RangeFrame");
- m_pEdAssign->SetReferences(this, m_pAssignFrame->get_label_widget());
- get(m_pRbAssign, "assignrb");
- m_pRbAssign->SetReferences(this, m_pEdAssign);
- get(m_pOptions, "Options");
- get(m_pBtnHeader, "ContainsColumnLabels");
- get(m_pBtnTotals, "ContainsTotalsRow");
- get(m_pBtnDoSize, "InsertOrDeleteCells");
- get(m_pBtnKeepFmt, "KeepFormatting");
- get(m_pBtnStripData, "DontSaveImportedData");
- get(m_pFTSource, "Source");
- get(m_pFTOperations, "Operations");
- get(m_pBtnOk, "ok");
- get(m_pBtnCancel, "cancel");
- get(m_pBtnAdd, "add");
- aStrAdd = m_pBtnAdd->GetText();
- aStrModify = get<vcl::Window>("modify")->GetText();
- get(m_pBtnRemove, "delete");
- aStrInvalid = get<vcl::Window>("invalid")->GetText();
-
- m_pFTSource->SetStyle(m_pFTSource->GetStyle() | WB_NOLABEL);
- m_pFTOperations->SetStyle(m_pFTOperations->GetStyle() | WB_NOLABEL);
+ m_xEdName->set_height_request_by_rows(8);
+ m_xEdAssign->SetReferences(this, m_xFrameLabel.get());
+ m_xRbAssign->SetReferences(this, m_xEdAssign.get());
+ aStrAdd = m_xBtnAdd->get_label();
+ aStrModify = m_xModifyPB->get_label();
+ aStrInvalid = m_xInvalidFT->get_label();
// so that the strings in the resource can stay with fixed texts:
- aStrSource = m_pFTSource->GetText();
- aStrOperations = m_pFTOperations->GetText();
+ aStrSource = m_xFTSource->get_label();
+ aStrOperations = m_xFTOperations->get_label();
- pSaveObj = new DBSaveData( *m_pEdAssign, *m_pBtnHeader, *m_pBtnTotals,
- *m_pBtnDoSize, *m_pBtnKeepFmt, *m_pBtnStripData, theCurArea );
+ pSaveObj = new DBSaveData( *m_xEdAssign, *m_xBtnHeader, *m_xBtnTotals,
+ *m_xBtnDoSize, *m_xBtnKeepFmt, *m_xBtnStripData, theCurArea );
Init();
}
ScDbNameDlg::~ScDbNameDlg()
{
- disposeOnce();
-}
-
-void ScDbNameDlg::dispose()
-{
DELETEZ( pSaveObj );
- m_pEdName.clear();
- m_pAssignFrame.clear();
- m_pEdAssign.clear();
- m_pRbAssign.clear();
- m_pOptions.clear();
- m_pBtnHeader.clear();
- m_pBtnTotals.clear();
- m_pBtnDoSize.clear();
- m_pBtnKeepFmt.clear();
- m_pBtnStripData.clear();
- m_pFTSource.clear();
- m_pFTOperations.clear();
- m_pBtnOk.clear();
- m_pBtnCancel.clear();
- m_pBtnAdd.clear();
- m_pBtnRemove.clear();
- ScAnyRefDlg::dispose();
}
void ScDbNameDlg::Init()
{
- m_pBtnHeader->Check(); // Default: with column headers
- m_pBtnTotals->Check( false ); // Default: without totals row
- m_pBtnDoSize->Check();
- m_pBtnKeepFmt->Check();
-
- m_pBtnOk->SetClickHdl ( LINK( this, ScDbNameDlg, OkBtnHdl ) );
- m_pBtnCancel->SetClickHdl ( LINK( this, ScDbNameDlg, CancelBtnHdl ) );
- m_pBtnAdd->SetClickHdl ( LINK( this, ScDbNameDlg, AddBtnHdl ) );
- m_pBtnRemove->SetClickHdl ( LINK( this, ScDbNameDlg, RemoveBtnHdl ) );
- m_pEdName->SetModifyHdl ( LINK( this, ScDbNameDlg, NameModifyHdl ) );
- m_pEdAssign->SetModifyHdl ( LINK( this, ScDbNameDlg, AssModifyHdl ) );
+ m_xBtnHeader->set_active(true); // Default: with column headers
+ m_xBtnTotals->set_active( false ); // Default: without totals row
+ m_xBtnDoSize->set_active(true);
+ m_xBtnKeepFmt->set_active(true);
+
+ m_xBtnOk->connect_clicked ( LINK( this, ScDbNameDlg, OkBtnHdl ) );
+ m_xBtnCancel->connect_clicked ( LINK( this, ScDbNameDlg, CancelBtnHdl ) );
+ m_xBtnAdd->connect_clicked ( LINK( this, ScDbNameDlg, AddBtnHdl ) );
+ m_xBtnRemove->connect_clicked ( LINK( this, ScDbNameDlg, RemoveBtnHdl ) );
+ m_xEdName->connect_changed( LINK( this, ScDbNameDlg, NameModifyHdl ) );
+ m_xEdAssign->SetModifyHdl ( LINK( this, ScDbNameDlg, AssModifyHdl ) );
UpdateNames();
OUString theAreaStr;
@@ -254,24 +232,24 @@ void ScDbNameDlg::Init()
{
OUString aDBName = pDBData->GetName();
if ( aDBName != STR_DB_LOCAL_NONAME )
- m_pEdName->SetText(aDBName);
+ m_xEdName->set_entry_text(aDBName);
- m_pBtnHeader->Check( pDBData->HasHeader() );
- m_pBtnTotals->Check( pDBData->HasTotals() );
- m_pBtnDoSize->Check( pDBData->IsDoSize() );
- m_pBtnKeepFmt->Check( pDBData->IsKeepFmt() );
- m_pBtnStripData->Check( pDBData->IsStripData() );
+ m_xBtnHeader->set_active( pDBData->HasHeader() );
+ m_xBtnTotals->set_active( pDBData->HasTotals() );
+ m_xBtnDoSize->set_active( pDBData->IsDoSize() );
+ m_xBtnKeepFmt->set_active( pDBData->IsKeepFmt() );
+ m_xBtnStripData->set_active( pDBData->IsStripData() );
SetInfoStrings( pDBData );
}
}
}
}
- m_pEdAssign->SetText( theAreaStr );
- m_pEdName->GrabFocus();
+ m_xEdAssign->SetText( theAreaStr );
+ m_xEdName->grab_focus();
bSaved = true;
pSaveObj->Save();
- NameModifyHdl( *m_pEdName );
+ NameModifyHdl( *m_xEdName );
}
void ScDbNameDlg::SetInfoStrings( const ScDBData* pDBData )
@@ -283,7 +261,7 @@ void ScDbNameDlg::SetInfoStrings( const ScDBData* pDBData )
aBuf.append(' ');
aBuf.append(pDBData->GetSourceString());
}
- m_pFTSource->SetText(aBuf.makeStringAndClear());
+ m_xFTSource->set_label(aBuf.makeStringAndClear());
aBuf.append(aStrOperations);
if (pDBData)
@@ -291,7 +269,7 @@ void ScDbNameDlg::SetInfoStrings( const ScDBData* pDBData )
aBuf.append(' ');
aBuf.append(pDBData->GetOperations());
}
- m_pFTOperations->SetText(aBuf.makeStringAndClear());
+ m_xFTOperations->set_label(aBuf.makeStringAndClear());
}
// Transfer of a table area selected with the mouse, which is then displayed
@@ -299,30 +277,30 @@ void ScDbNameDlg::SetInfoStrings( const ScDBData* pDBData )
void ScDbNameDlg::SetReference( const ScRange& rRef, ScDocument* pDocP )
{
- if ( m_pEdAssign->IsEnabled() )
+ if (m_xEdAssign->GetWidget()->get_sensitive())
{
if ( rRef.aStart != rRef.aEnd )
- RefInputStart(m_pEdAssign);
+ RefInputStart(m_xEdAssign.get());
theCurArea = rRef;
OUString aRefStr(theCurArea.Format(ScRefFlags::RANGE_ABS_3D, pDocP, aAddrDetails));
- m_pEdAssign->SetRefString( aRefStr );
- m_pOptions->Enable();
- m_pBtnAdd->Enable();
+ m_xEdAssign->SetRefString( aRefStr );
+ m_xOptions->set_sensitive(true);
+ m_xBtnAdd->set_sensitive(true);
bSaved = true;
pSaveObj->Save();
}
}
-bool ScDbNameDlg::Close()
+void ScDbNameDlg::Close()
{
- return DoClose( ScDbNameDlgWrapper::GetChildWindowId() );
+ DoClose( ScDbNameDlgWrapper::GetChildWindowId() );
}
void ScDbNameDlg::SetActive()
{
- m_pEdAssign->GrabFocus();
+ m_xEdAssign->GrabFocus();
// No NameModifyHdl, because otherwise areas can not be changed
// (the old content would be displayed again after the reference selection is pulled)
@@ -337,25 +315,24 @@ void ScDbNameDlg::UpdateNames()
const DBsType& rDBs = aLocalDbCol.getNamedDBs();
- m_pEdName->SetUpdateMode( false );
+ m_xEdName->freeze();
- m_pEdName->Clear();
- m_pEdAssign->SetText( EMPTY_OUSTRING );
+ m_xEdName->clear();
+ m_xEdAssign->SetText( EMPTY_OUSTRING );
if (!rDBs.empty())
{
for (const auto& rxDB : rDBs)
- m_pEdName->InsertEntry(rxDB->GetName());
+ m_xEdName->append_text(rxDB->GetName());
}
else
{
- m_pBtnAdd->SetText( aStrAdd );
- m_pBtnAdd->Disable();
- m_pBtnRemove->Disable();
+ m_xBtnAdd->set_label( aStrAdd );
+ m_xBtnAdd->set_sensitive(false);
+ m_xBtnRemove->set_sensitive(false);
}
- m_pEdName->SetUpdateMode( true );
- m_pEdName->Invalidate();
+ m_xEdName->thaw();
}
void ScDbNameDlg::UpdateDBData( const OUString& rStrName )
@@ -375,20 +352,20 @@ void ScDbNameDlg::UpdateDBData( const OUString& rStrName )
theCurArea = ScRange( ScAddress( nColStart, nRowStart, nTab ),
ScAddress( nColEnd, nRowEnd, nTab ) );
OUString theArea(theCurArea.Format(ScRefFlags::RANGE_ABS_3D, pDoc, aAddrDetails));
- m_pEdAssign->SetText( theArea );
- m_pBtnAdd->SetText( aStrModify );
- m_pBtnHeader->Check( pData->HasHeader() );
- m_pBtnTotals->Check( pData->HasTotals() );
- m_pBtnDoSize->Check( pData->IsDoSize() );
- m_pBtnKeepFmt->Check( pData->IsKeepFmt() );
- m_pBtnStripData->Check( pData->IsStripData() );
+ m_xEdAssign->SetText( theArea );
+ m_xBtnAdd->set_label( aStrModify );
+ m_xBtnHeader->set_active( pData->HasHeader() );
+ m_xBtnTotals->set_active( pData->HasTotals() );
+ m_xBtnDoSize->set_active( pData->IsDoSize() );
+ m_xBtnKeepFmt->set_active( pData->IsKeepFmt() );
+ m_xBtnStripData->set_active( pData->IsStripData() );
SetInfoStrings( pData );
}
- m_pBtnAdd->SetText( aStrModify );
- m_pBtnAdd->Enable();
- m_pBtnRemove->Enable();
- m_pOptions->Enable();
+ m_xBtnAdd->set_label( aStrModify );
+ m_xBtnAdd->set_sensitive(true);
+ m_xBtnRemove->set_sensitive(true);
+ m_xOptions->set_sensitive(true);
}
bool ScDbNameDlg::IsRefInputMode() const
@@ -398,9 +375,9 @@ bool ScDbNameDlg::IsRefInputMode() const
// Handler:
-IMPL_LINK_NOARG(ScDbNameDlg, OkBtnHdl, Button*, void)
+IMPL_LINK_NOARG(ScDbNameDlg, OkBtnHdl, weld::Button&, void)
{
- AddBtnHdl( nullptr );
+ AddBtnHdl(*m_xBtnAdd);
// Pass the changes and the remove list to the view: both are
// transferred as a reference only, so that no dead memory can
@@ -411,18 +388,18 @@ IMPL_LINK_NOARG(ScDbNameDlg, OkBtnHdl, Button*, void)
aFunc.ModifyAllDBData(aLocalDbCol, aRemoveList);
}
- Close();
+ response(RET_OK);
}
-IMPL_LINK_NOARG(ScDbNameDlg, CancelBtnHdl, Button*, void)
+IMPL_LINK_NOARG(ScDbNameDlg, CancelBtnHdl, weld::Button&, void)
{
- Close();
+ response(RET_CANCEL);
}
-IMPL_LINK_NOARG(ScDbNameDlg, AddBtnHdl, Button*, void)
+IMPL_LINK_NOARG(ScDbNameDlg, AddBtnHdl, weld::Button&, void)
{
- OUString aNewName = comphelper::string::strip(m_pEdName->GetText(), ' ');
- OUString aNewArea = m_pEdAssign->GetText();
+ OUString aNewName = comphelper::string::strip(m_xEdName->get_active_text(), ' ');
+ OUString aNewArea = m_xEdAssign->GetText();
if ( !aNewName.isEmpty() && !aNewArea.isEmpty() )
{
@@ -430,7 +407,7 @@ IMPL_LINK_NOARG(ScDbNameDlg, AddBtnHdl, Button*, void)
{
// because editing can be done now, parsing is needed first
ScRange aTmpRange;
- OUString aText = m_pEdAssign->GetText();
+ OUString aText = m_xEdAssign->GetText();
if ( aTmpRange.ParseAny( aText, pDoc, aAddrDetails ) & ScRefFlags::VALID )
{
theCurArea = aTmpRange;
@@ -445,11 +422,11 @@ IMPL_LINK_NOARG(ScDbNameDlg, AddBtnHdl, Button*, void)
pOldEntry->MoveTo( aStart.Tab(), aStart.Col(), aStart.Row(),
aEnd.Col(), aEnd.Row() );
pOldEntry->SetByRow( true );
- pOldEntry->SetHeader( m_pBtnHeader->IsChecked() );
- pOldEntry->SetTotals( m_pBtnTotals->IsChecked() );
- pOldEntry->SetDoSize( m_pBtnDoSize->IsChecked() );
- pOldEntry->SetKeepFmt( m_pBtnKeepFmt->IsChecked() );
- pOldEntry->SetStripData( m_pBtnStripData->IsChecked() );
+ pOldEntry->SetHeader( m_xBtnHeader->get_active() );
+ pOldEntry->SetTotals( m_xBtnTotals->get_active() );
+ pOldEntry->SetDoSize( m_xBtnDoSize->get_active() );
+ pOldEntry->SetKeepFmt( m_xBtnKeepFmt->get_active() );
+ pOldEntry->SetStripData( m_xBtnStripData->get_active() );
}
else
{
@@ -458,11 +435,11 @@ IMPL_LINK_NOARG(ScDbNameDlg, AddBtnHdl, Button*, void)
std::unique_ptr<ScDBData> pNewEntry(new ScDBData( aNewName, aStart.Tab(),
aStart.Col(), aStart.Row(),
aEnd.Col(), aEnd.Row(),
- true, m_pBtnHeader->IsChecked(),
- m_pBtnTotals->IsChecked() ));
- pNewEntry->SetDoSize( m_pBtnDoSize->IsChecked() );
- pNewEntry->SetKeepFmt( m_pBtnKeepFmt->IsChecked() );
- pNewEntry->SetStripData( m_pBtnStripData->IsChecked() );
+ true, m_xBtnHeader->get_active(),
+ m_xBtnTotals->get_active() ));
+ pNewEntry->SetDoSize( m_xBtnDoSize->get_active() );
+ pNewEntry->SetKeepFmt( m_xBtnKeepFmt->get_active() );
+ pNewEntry->SetStripData( m_xBtnStripData->get_active() );
bool ins = aLocalDbCol.getNamedDBs().insert(std::move(pNewEntry));
assert(ins); (void)ins;
@@ -470,35 +447,35 @@ IMPL_LINK_NOARG(ScDbNameDlg, AddBtnHdl, Button*, void)
UpdateNames();
- m_pEdName->SetText( EMPTY_OUSTRING );
- m_pEdName->GrabFocus();
- m_pBtnAdd->SetText( aStrAdd );
- m_pBtnAdd->Disable();
- m_pBtnRemove->Disable();
- m_pEdAssign->SetText( EMPTY_OUSTRING );
- m_pBtnHeader->Check(); // Default: with column headers
- m_pBtnTotals->Check( false ); // Default: without totals row
- m_pBtnDoSize->Check( false );
- m_pBtnKeepFmt->Check( false );
- m_pBtnStripData->Check( false );
+ m_xEdName->set_entry_text( EMPTY_OUSTRING );
+ m_xEdName->grab_focus();
+ m_xBtnAdd->set_label( aStrAdd );
+ m_xBtnAdd->set_sensitive(false);
+ m_xBtnRemove->set_sensitive(false);
+ m_xEdAssign->SetText( EMPTY_OUSTRING );
+ m_xBtnHeader->set_active(true); // Default: with column headers
+ m_xBtnTotals->set_active( false ); // Default: without totals row
+ m_xBtnDoSize->set_active( false );
+ m_xBtnKeepFmt->set_active( false );
+ m_xBtnStripData->set_active( false );
SetInfoStrings( nullptr ); // empty
theCurArea = ScRange();
bSaved = true;
pSaveObj->Save();
- NameModifyHdl( *m_pEdName );
+ NameModifyHdl( *m_xEdName );
}
else
{
- ERRORBOX(GetFrameWeld(), aStrInvalid);
- m_pEdAssign->SetSelection( Selection( 0, SELECTION_MAX ) );
- m_pEdAssign->GrabFocus();
+ ERRORBOX(m_xDialog.get(), aStrInvalid);
+ m_xEdAssign->SelectAll();
+ m_xEdAssign->GrabFocus();
}
}
else
{
- ERRORBOX(GetFrameWeld(), ScResId(STR_INVALIDNAME));
- m_pEdName->SetSelection( Selection( 0, SELECTION_MAX ) );
- m_pEdName->GrabFocus();
+ ERRORBOX(m_xDialog.get(), ScResId(STR_INVALIDNAME));
+ m_xEdName->select_entry_region(0, -1);
+ m_xEdName->grab_focus();
}
}
}
@@ -518,9 +495,9 @@ public:
}
-IMPL_LINK_NOARG(ScDbNameDlg, RemoveBtnHdl, Button*, void)
+IMPL_LINK_NOARG(ScDbNameDlg, RemoveBtnHdl, weld::Button&, void)
{
- OUString aStrEntry = m_pEdName->GetText();
+ OUString aStrEntry = m_xEdName->get_active_text();
ScDBCollection::NamedDBs& rDBs = aLocalDbCol.getNamedDBs();
ScDBCollection::NamedDBs::iterator itr =
::std::find_if(rDBs.begin(), rDBs.end(), FindByName(aStrEntry));
@@ -529,7 +506,7 @@ IMPL_LINK_NOARG(ScDbNameDlg, RemoveBtnHdl, Button*, void)
{
OUString aStrDelMsg = ScResId( STR_QUERY_DELENTRY );
OUString sMsg{ aStrDelMsg.getToken(0, '#') + aStrEntry + aStrDelMsg.getToken(1, '#') };
- std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(GetFrameWeld(),
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(m_xDialog.get(),
VclMessageType::Question, VclButtonsType::YesNo,
sMsg));
xQueryBox->set_default_response(RET_YES);
@@ -546,40 +523,39 @@ IMPL_LINK_NOARG(ScDbNameDlg, RemoveBtnHdl, Button*, void)
UpdateNames();
- m_pEdName->SetText( EMPTY_OUSTRING );
- m_pEdName->GrabFocus();
- m_pBtnAdd->SetText( aStrAdd );
- m_pBtnAdd->Disable();
- m_pBtnRemove->Disable();
- m_pEdAssign->SetText( EMPTY_OUSTRING );
+ m_xEdName->set_entry_text( EMPTY_OUSTRING );
+ m_xEdName->grab_focus();
+ m_xBtnAdd->set_label( aStrAdd );
+ m_xBtnAdd->set_sensitive(false);
+ m_xBtnRemove->set_sensitive(false);
+ m_xEdAssign->SetText( EMPTY_OUSTRING );
theCurArea = ScRange();
- m_pBtnHeader->Check(); // Default: with column headers
- m_pBtnTotals->Check( false ); // Default: without totals row
- m_pBtnDoSize->Check( false );
- m_pBtnKeepFmt->Check( false );
- m_pBtnStripData->Check( false );
+ m_xBtnHeader->set_active(true); // Default: with column headers
+ m_xBtnTotals->set_active( false ); // Default: without totals row
+ m_xBtnDoSize->set_active( false );
+ m_xBtnKeepFmt->set_active( false );
+ m_xBtnStripData->set_active( false );
SetInfoStrings( nullptr ); // empty
bSaved=false;
pSaveObj->Restore();
- NameModifyHdl( *m_pEdName );
+ NameModifyHdl( *m_xEdName );
}
}
}
-IMPL_LINK_NOARG(ScDbNameDlg, NameModifyHdl, Edit&, void)
+IMPL_LINK_NOARG(ScDbNameDlg, NameModifyHdl, weld::ComboBox&, void)
{
- OUString theName = m_pEdName->GetText();
- bool bNameFound = (COMBOBOX_ENTRY_NOTFOUND
- != m_pEdName->GetEntryPos( theName ));
+ OUString theName = m_xEdName->get_active_text();
+ bool bNameFound = m_xEdName->find_text(theName) != -1;
if ( theName.isEmpty() )
{
- if (m_pBtnAdd->GetText() != aStrAdd)
- m_pBtnAdd->SetText( aStrAdd );
- m_pBtnAdd->Disable();
- m_pBtnRemove->Disable();
- m_pAssignFrame->Disable();
- m_pOptions->Disable();
+ if (m_xBtnAdd->get_label() != aStrAdd)
+ m_xBtnAdd->set_label( aStrAdd );
+ m_xBtnAdd->set_sensitive(false);
+ m_xBtnRemove->set_sensitive(false);
+ m_xAssignFrame->set_sensitive(false);
+ m_xOptions->set_sensitive(false);
//bSaved=sal_False;
//pSaveObj->Restore();
//@BugID 54702 enable/disable in the base class only
@@ -590,8 +566,8 @@ IMPL_LINK_NOARG(ScDbNameDlg, NameModifyHdl, Edit&, void)
{
if ( bNameFound )
{
- if (m_pBtnAdd->GetText() != aStrModify)
- m_pBtnAdd->SetText( aStrModify );
+ if (m_xBtnAdd->get_label() != aStrModify)
+ m_xBtnAdd->set_label( aStrModify );
if(!bSaved)
{
@@ -602,63 +578,63 @@ IMPL_LINK_NOARG(ScDbNameDlg, NameModifyHdl, Edit&, void)
}
else
{
- if (m_pBtnAdd->GetText() != aStrAdd)
- m_pBtnAdd->SetText( aStrAdd );
+ if (m_xBtnAdd->get_label() != aStrAdd)
+ m_xBtnAdd->set_label( aStrAdd );
bSaved=false;
pSaveObj->Restore();
- if ( !m_pEdAssign->GetText().isEmpty() )
+ if ( !m_xEdAssign->GetText().isEmpty() )
{
- m_pBtnAdd->Enable();
- m_pOptions->Enable();
+ m_xBtnAdd->set_sensitive(true);
+ m_xOptions->set_sensitive(true);
}
else
{
- m_pBtnAdd->Disable();
- m_pOptions->Disable();
+ m_xBtnAdd->set_sensitive(false);
+ m_xOptions->set_sensitive(false);
}
- m_pBtnRemove->Disable();
+ m_xBtnRemove->set_sensitive(false);
}
- m_pAssignFrame->Enable();
+ m_xAssignFrame->set_sensitive(true);
//@BugID 54702 enable/disable in the base class only
- //SFX_APPWINDOW->Enable();
+ //SFX_APPWINDOW->set_sensitive(true);
bRefInputMode = true;
}
}
-IMPL_LINK_NOARG(ScDbNameDlg, AssModifyHdl, Edit&, void)
+IMPL_LINK_NOARG(ScDbNameDlg, AssModifyHdl, formula::WeldRefEdit&, void)
{
// parse here for Save(), etc.
ScRange aTmpRange;
- OUString aText = m_pEdAssign->GetText();
+ OUString aText = m_xEdAssign->GetText();
if ( aTmpRange.ParseAny( aText, pDoc, aAddrDetails ) & ScRefFlags::VALID )
theCurArea = aTmpRange;
- if (!aText.isEmpty() && !m_pEdName->GetText().isEmpty())
+ if (!aText.isEmpty() && !m_xEdName->get_active_text().isEmpty())
{
- m_pBtnAdd->Enable();
- m_pBtnHeader->Enable();
- m_pBtnTotals->Enable();
- m_pBtnDoSize->Enable();
- m_pBtnKeepFmt->Enable();
- m_pBtnStripData->Enable();
- m_pFTSource->Enable();
- m_pFTOperations->Enable();
+ m_xBtnAdd->set_sensitive(true);
+ m_xBtnHeader->set_sensitive(true);
+ m_xBtnTotals->set_sensitive(true);
+ m_xBtnDoSize->set_sensitive(true);
+ m_xBtnKeepFmt->set_sensitive(true);
+ m_xBtnStripData->set_sensitive(true);
+ m_xFTSource->set_sensitive(true);
+ m_xFTOperations->set_sensitive(true);
}
else
{
- m_pBtnAdd->Disable();
- m_pBtnHeader->Disable();
- m_pBtnTotals->Disable();
- m_pBtnDoSize->Disable();
- m_pBtnKeepFmt->Disable();
- m_pBtnStripData->Disable();
- m_pFTSource->Disable();
- m_pFTOperations->Disable();
+ m_xBtnAdd->set_sensitive(false);
+ m_xBtnHeader->set_sensitive(false);
+ m_xBtnTotals->set_sensitive(false);
+ m_xBtnDoSize->set_sensitive(false);
+ m_xBtnKeepFmt->set_sensitive(false);
+ m_xBtnStripData->set_sensitive(false);
+ m_xFTSource->set_sensitive(false);
+ m_xFTOperations->set_sensitive(false);
}
}
diff --git a/sc/source/ui/inc/dbnamdlg.hxx b/sc/source/ui/inc/dbnamdlg.hxx
index 70b41eab3836..60e9511c0877 100644
--- a/sc/source/ui/inc/dbnamdlg.hxx
+++ b/sc/source/ui/inc/dbnamdlg.hxx
@@ -32,41 +32,20 @@
class ScViewData;
class ScDocument;
-class ScDbNameDlg : public ScAnyRefDlg
+class ScDbNameDlg : public ScAnyRefDlgController
{
public:
- ScDbNameDlg( SfxBindings* pB, SfxChildWindow* pCW, vcl::Window* pParent,
- ScViewData* ptrViewData );
- virtual ~ScDbNameDlg() override;
- virtual void dispose() override;
+ ScDbNameDlg(SfxBindings* pB, SfxChildWindow* pCW, weld::Window* pParent,
+ ScViewData* ptrViewData);
+ virtual ~ScDbNameDlg() override;
virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ) override;
virtual bool IsRefInputMode() const override;
virtual void SetActive() override;
- virtual bool Close() override;
+ virtual void Close() override;
private:
- VclPtr<ComboBox> m_pEdName;
-
- VclPtr<VclFrame> m_pAssignFrame;
- VclPtr<formula::RefEdit> m_pEdAssign;
- VclPtr<formula::RefButton> m_pRbAssign;
-
- VclPtr<VclContainer> m_pOptions;
- VclPtr<CheckBox> m_pBtnHeader;
- VclPtr<CheckBox> m_pBtnTotals;
- VclPtr<CheckBox> m_pBtnDoSize;
- VclPtr<CheckBox> m_pBtnKeepFmt;
- VclPtr<CheckBox> m_pBtnStripData;
- VclPtr<FixedText> m_pFTSource;
- VclPtr<FixedText> m_pFTOperations;
-
- VclPtr<OKButton> m_pBtnOk;
- VclPtr<CancelButton> m_pBtnCancel;
- VclPtr<PushButton> m_pBtnAdd;
- VclPtr<PushButton> m_pBtnRemove;
-
bool bSaved;
OUString aStrAdd;
@@ -85,18 +64,43 @@ private:
ScRange theCurArea;
std::vector<ScRange> aRemoveList;
+ std::unique_ptr<weld::EntryTreeView> m_xEdName;
+
+ std::unique_ptr<weld::Frame> m_xAssignFrame;
+ std::unique_ptr<formula::WeldRefEdit> m_xEdAssign;
+ std::unique_ptr<formula::WeldRefButton> m_xRbAssign;
+
+ std::unique_ptr<weld::Widget> m_xOptions;
+ std::unique_ptr<weld::CheckButton> m_xBtnHeader;
+ std::unique_ptr<weld::CheckButton> m_xBtnTotals;
+ std::unique_ptr<weld::CheckButton> m_xBtnDoSize;
+ std::unique_ptr<weld::CheckButton> m_xBtnKeepFmt;
+ std::unique_ptr<weld::CheckButton> m_xBtnStripData;
+ std::unique_ptr<weld::Label> m_xFTSource;
+ std::unique_ptr<weld::Label> m_xFTOperations;
+
+ std::unique_ptr<weld::Button> m_xBtnOk;
+ std::unique_ptr<weld::Button> m_xBtnCancel;
+ std::unique_ptr<weld::Button> m_xBtnAdd;
+ std::unique_ptr<weld::Button> m_xBtnRemove;
+
+ std::unique_ptr<weld::Button> m_xModifyPB;
+ std::unique_ptr<weld::Label> m_xInvalidFT;
+
+ std::unique_ptr<weld::Label> m_xFrameLabel;
+ std::unique_ptr<weld::Expander> m_xExpander;
private:
void Init();
void UpdateNames();
void UpdateDBData( const OUString& rStrName );
void SetInfoStrings( const ScDBData* pDBData );
- DECL_LINK( CancelBtnHdl, Button*, void );
- DECL_LINK( OkBtnHdl, Button*, void );
- DECL_LINK( AddBtnHdl, Button*, void );
- DECL_LINK( RemoveBtnHdl, Button*, void );
- DECL_LINK( NameModifyHdl, Edit&, void );
- DECL_LINK( AssModifyHdl, Edit&, void );
+ DECL_LINK( CancelBtnHdl, weld::Button&, void );
+ DECL_LINK( OkBtnHdl, weld::Button&, void );
+ DECL_LINK( AddBtnHdl, weld::Button&, void );
+ DECL_LINK( RemoveBtnHdl, weld::Button&, void );
+ DECL_LINK( NameModifyHdl, weld::ComboBox&, void );
+ DECL_LINK( AssModifyHdl, formula::WeldRefEdit&, void );
};
#endif // INCLUDED_SC_SOURCE_UI_INC_DBNAMDLG_HXX
diff --git a/sc/source/ui/inc/reffact.hxx b/sc/source/ui/inc/reffact.hxx
index e874cc9bbb57..79a873f31115 100644
--- a/sc/source/ui/inc/reffact.hxx
+++ b/sc/source/ui/inc/reffact.hxx
@@ -53,7 +53,7 @@ DECL_WRAPPER_WITHID(ScPivotLayoutWrapper)
DECL_WRAPPER_WITHID(ScTabOpDlgWrapper)
DECL_WRAPPER_WITHID(ScFilterDlgWrapper)
DECL_WRAPPER_WITHID(ScSpecialFilterDlgWrapper)
-DECL_WRAPPER_WITHID(ScDbNameDlgWrapper)
+DECL_WRAPPER_WITHID_CONTROLLER(ScDbNameDlgWrapper)
DECL_WRAPPER_WITHID(ScConsolidateDlgWrapper)
DECL_WRAPPER_WITHID(ScPrintAreasDlgWrapper)
DECL_WRAPPER_WITHID(ScColRowNameRangesDlgWrapper)
diff --git a/sc/source/ui/view/reffact.cxx b/sc/source/ui/view/reffact.cxx
index 4522ab15d6fd..7d23436d4885 100644
--- a/sc/source/ui/view/reffact.cxx
+++ b/sc/source/ui/view/reffact.cxx
@@ -41,7 +41,7 @@ SFX_IMPL_MODELESSDIALOG_WITHID(ScPivotLayoutWrapper, SID_OPENDLG_PIVOTTABLE )
SFX_IMPL_MODELESSDIALOG_WITHID(ScTabOpDlgWrapper, SID_OPENDLG_TABOP )
SFX_IMPL_MODELESSDIALOG_WITHID(ScFilterDlgWrapper, SID_FILTER )
SFX_IMPL_MODELESSDIALOG_WITHID(ScSpecialFilterDlgWrapper, SID_SPECIAL_FILTER )
-SFX_IMPL_MODELESSDIALOG_WITHID(ScDbNameDlgWrapper, SID_DEFINE_DBNAME )
+SFX_IMPL_CHILDWINDOW_WITHID(ScDbNameDlgWrapper, SID_DEFINE_DBNAME )
SFX_IMPL_MODELESSDIALOG_WITHID(ScConsolidateDlgWrapper, SID_OPENDLG_CONSOLIDATE )
SFX_IMPL_MODELESSDIALOG_WITHID(ScPrintAreasDlgWrapper, SID_OPENDLG_EDIT_PRINTAREA )
SFX_IMPL_MODELESSDIALOG_WITHID(ScColRowNameRangesDlgWrapper, SID_DEFINE_COLROWNAMERANGES )
@@ -139,7 +139,7 @@ IMPL_CHILD_CTOR( ScFilterDlgWrapper, SID_FILTER )
IMPL_CHILD_CTOR( ScSpecialFilterDlgWrapper, SID_SPECIAL_FILTER )
-IMPL_CHILD_CTOR( ScDbNameDlgWrapper, SID_DEFINE_DBNAME )
+IMPL_CONTROLLER_CHILD_CTOR( ScDbNameDlgWrapper, SID_DEFINE_DBNAME )
IMPL_CHILD_CTOR( ScColRowNameRangesDlgWrapper, SID_DEFINE_COLROWNAMERANGES )
diff --git a/sc/source/ui/view/tabvwshc.cxx b/sc/source/ui/view/tabvwshc.cxx
index 8b39b9c7580a..8fb5c9cdd546 100644
--- a/sc/source/ui/view/tabvwshc.cxx
+++ b/sc/source/ui/view/tabvwshc.cxx
@@ -188,18 +188,6 @@ VclPtr<SfxModelessDialog> ScTabViewShell::CreateRefDialog(
}
break;
- case SID_DEFINE_DBNAME:
- {
- // when called for an existing range, then mark
- GetDBData( true, SC_DB_OLD );
- const ScMarkData& rMark = GetViewData().GetMarkData();
- if ( !rMark.IsMarked() && !rMark.IsMultiMarked() )
- MarkDataArea( false );
-
- pResult = VclPtr<ScDbNameDlg>::Create( pB, pCW, pParent, &GetViewData() );
- }
- break;
-
case SID_SPECIAL_FILTER:
{
ScQueryParam aQueryParam;
@@ -496,6 +484,17 @@ std::unique_ptr<SfxModelessDialogController> ScTabViewShell::CreateRefDialogCont
case SID_RANDOM_NUMBER_GENERATOR_DIALOG:
xResult.reset(new ScRandomNumberGeneratorDialog(pB, pCW, pParent, &GetViewData()));
break;
+ case SID_DEFINE_DBNAME:
+ {
+ // when called for an existing range, then mark
+ GetDBData( true, SC_DB_OLD );
+ const ScMarkData& rMark = GetViewData().GetMarkData();
+ if ( !rMark.IsMarked() && !rMark.IsMultiMarked() )
+ MarkDataArea( false );
+
+ xResult.reset(new ScDbNameDlg(pB, pCW, pParent, &GetViewData()));
+ break;
+ }
}
if (xResult)
diff --git a/sc/uiconfig/scalc/ui/definedatabaserangedialog.ui b/sc/uiconfig/scalc/ui/definedatabaserangedialog.ui
index 175ac486bc2f..4cedef27471d 100644
--- a/sc/uiconfig/scalc/ui/definedatabaserangedialog.ui
+++ b/sc/uiconfig/scalc/ui/definedatabaserangedialog.ui
@@ -1,18 +1,88 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.18.3 -->
+<!-- Generated with glade 3.22.1 -->
<interface domain="sc">
<requires lib="gtk+" version="3.18"/>
- <requires lib="LibreOffice" version="1.0"/>
+ <object class="GtkTreeStore" id="liststore1">
+ <columns>
+ <!-- column-name text -->
+ <column type="gchararray"/>
+ <!-- column-name id -->
+ <column type="gchararray"/>
+ </columns>
+ </object>
<object class="GtkDialog" id="DefineDatabaseRangeDialog">
<property name="can_focus">False</property>
<property name="border_width">5</property>
<property name="title" translatable="yes" context="definedatabaserangedialog|DefineDatabaseRangeDialog">Define Database Range</property>
+ <property name="resizable">False</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="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">2</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">3</property>
+ <property name="secondary">True</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
@@ -38,17 +108,62 @@
<property name="top_padding">6</property>
<property name="left_padding">12</property>
<child>
- <object class="VclComboBoxText" id="entry">
+ <object class="GtkGrid" id="entrygrid">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="hexpand">True</property>
<property name="vexpand">True</property>
- <property name="has_entry">True</property>
- <property name="dropdown">False</property>
- <child internal-child="entry">
- <object class="GtkEntry" id="ComboBoxText-entry">
+ <property name="row_spacing">3</property>
+ <child>
+ <object class="GtkScrolledWindow">
+ <property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="vscrollbar_policy">always</property>
+ <property name="shadow_type">in</property>
+ <child>
+ <object class="GtkTreeView" id="entry-list">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="model">liststore1</property>
+ <property name="headers_visible">False</property>
+ <property name="headers_clickable">False</property>
+ <property name="search_column">0</property>
+ <property name="show_expanders">False</property>
+ <child internal-child="selection">
+ <object class="GtkTreeSelection" id="treeview-selection3"/>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn" id="treeviewcolumn3">
+ <child>
+ <object class="GtkCellRendererText" id="cellrenderertext3"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="activates_default">True</property>
</object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ </packing>
</child>
</object>
</child>
@@ -91,10 +206,11 @@
<property name="can_focus">False</property>
<property name="spacing">12</property>
<child>
- <object class="foruilo-RefEdit" id="assign">
+ <object class="GtkEntry" id="assign">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
+ <property name="activates_default">True</property>
</object>
<packing>
<property name="expand">False</property>
@@ -103,7 +219,7 @@
</packing>
</child>
<child>
- <object class="foruilo-RefButton" id="assignrb">
+ <object class="GtkButton" id="assignrb">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="receives_default">True</property>
@@ -292,8 +408,8 @@
<object class="GtkLabel" id="Source">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes" context="definedatabaserangedialog|Source">Source:</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
@@ -305,8 +421,8 @@
<object class="GtkLabel" id="Operations">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes" context="definedatabaserangedialog|Operations">Operations:</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
@@ -318,8 +434,8 @@
<object class="GtkLabel" id="invalid">
<property name="can_focus">False</property>
<property name="no_show_all">True</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes" context="definedatabaserangedialog|invalid">Invalid range</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
@@ -352,63 +468,6 @@
<property name="position">0</property>
</packing>
</child>
- <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">2</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">3</property>
- <property name="secondary">True</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="pack_type">end</property>
- <property name="position">1</property>
- </packing>
- </child>
</object>
</child>
<action-widgets>
diff --git a/solenv/sanitizers/ui/modules/scalc.suppr b/solenv/sanitizers/ui/modules/scalc.suppr
index fdf4d4ac0fed..76b986f6089a 100644
--- a/solenv/sanitizers/ui/modules/scalc.suppr
+++ b/solenv/sanitizers/ui/modules/scalc.suppr
@@ -70,6 +70,9 @@ sc/uiconfig/scalc/ui/definedatabaserangedialog.ui://foruilo-RefEdit[@id='assign'
sc/uiconfig/scalc/ui/definedatabaserangedialog.ui://GtkLabel[@id='Source'] orphan-label
sc/uiconfig/scalc/ui/definedatabaserangedialog.ui://GtkLabel[@id='Operations'] orphan-label
sc/uiconfig/scalc/ui/definedatabaserangedialog.ui://GtkLabel[@id='invalid'] orphan-label
+sc/uiconfig/scalc/ui/definedatabaserangedialog.ui://GtkButton[@id='assignrb'] button-no-label
+sc/uiconfig/scalc/ui/definedatabaserangedialog.ui://GtkEntry[@id='assign'] no-labelled-by
+sc/uiconfig/scalc/ui/definedatabaserangedialog.ui://GtkEntry[@id='entry'] no-labelled-by
sc/uiconfig/scalc/ui/definename.ui://GtkLabel[@id='label'] orphan-label
sc/uiconfig/scalc/ui/definename.ui://GtkButton[@id='refbutton'] button-no-label
sc/uiconfig/scalc/ui/deletecolumnentry.ui:GtkGrid[@id='grid']/GtkBox/GtkLabel orphan-label
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index 431aa0c1904e..310254b1cfeb 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -1236,6 +1236,8 @@ public:
{
return m_xFrame->get_label();
}
+
+ virtual std::unique_ptr<weld::Label> weld_label_widget() const override;
};
class SalInstanceScrolledWindow : public SalInstanceContainer, public virtual weld::ScrolledWindow
@@ -3774,6 +3776,14 @@ public:
}
};
+std::unique_ptr<weld::Label> SalInstanceFrame::weld_label_widget() const
+{
+ FixedText* pLabel = dynamic_cast<FixedText*>(m_xFrame->get_label_widget());
+ if (!pLabel)
+ return nullptr;
+ return std::make_unique<SalInstanceLabel>(pLabel, m_pBuilder, false);
+}
+
class SalInstanceTextView : public SalInstanceContainer, public virtual weld::TextView
{
private:
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index 1747184c3ac1..19a3ed29edc4 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -3128,6 +3128,8 @@ public:
const gchar* pStr = gtk_frame_get_label(m_pFrame);
return OUString(pStr, pStr ? strlen(pStr) : 0, RTL_TEXTENCODING_UTF8);
}
+
+ virtual std::unique_ptr<weld::Label> weld_label_widget() const override;
};
static GType crippled_viewport_get_type();
@@ -7540,6 +7542,14 @@ public:
}
};
+std::unique_ptr<weld::Label> GtkInstanceFrame::weld_label_widget() const
+{
+ GtkWidget* pLabel = gtk_frame_get_label_widget(m_pFrame);
+ if (!pLabel || !GTK_IS_LABEL(pLabel))
+ return nullptr;
+ return std::make_unique<GtkInstanceLabel>(GTK_LABEL(pLabel), m_pBuilder, false);
+}
+
class GtkInstanceTextView : public GtkInstanceContainer, public virtual weld::TextView
{
private:
More information about the Libreoffice-commits
mailing list