diff options
Diffstat (limited to 'dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx')
-rw-r--r-- | dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx | 42 |
1 files changed, 28 insertions, 14 deletions
diff --git a/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx b/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx index f0e221fe109d..ecdd09bd4fb4 100644 --- a/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx +++ b/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx @@ -119,7 +119,7 @@ OSelectionBrowseBox::OSelectionBrowseBox( vcl::Window* pParent ) | BrowserMode::HLINES | BrowserMode::VLINES | BrowserMode::HEADERBAR_NEW ; - m_pTextCell = VclPtr<Edit>::Create(&GetDataWindow(), 0); + m_pTextCell = VclPtr<EditControl>::Create(&GetDataWindow()); m_pVisibleCell = VclPtr<CheckBoxControl>::Create(&GetDataWindow()); m_pTableCell = VclPtr<ListBoxControl>::Create(&GetDataWindow()); m_pFieldCell = VclPtr<ComboBoxControl>::Create(&GetDataWindow()); @@ -554,7 +554,7 @@ void OSelectionBrowseBox::InitController(CellControllerRef& /*rController*/, lon setTextCellContext(pEntry,pEntry->GetCriteria( nIdx ),HID_QRYDGN_ROW_CRIT); } } - Controller()->ClearModified(); + Controller()->SaveValue(); } void OSelectionBrowseBox::notifyTableFieldChanged(const OUString& _sOldAlias, const OUString& _sAlias, bool& _bListAction, sal_uInt16 _nColumnId) @@ -904,7 +904,7 @@ bool OSelectionBrowseBox::SaveModified() bool bError = false; bool bListAction = false; - if (pEntry.is() && Controller().is() && Controller()->IsModified()) + if (pEntry.is() && Controller().is() && Controller()->IsValueChangedFromSaved()) { // for the Undo-action OUString strOldCellContents,sNewValue; @@ -1038,7 +1038,7 @@ bool OSelectionBrowseBox::SaveModified() case BROW_COLUMNALIAS_ROW: strOldCellContents = pEntry->GetFieldAlias(); - pEntry->SetFieldAlias(m_pTextCell->GetText()); + pEntry->SetFieldAlias(m_pTextCell->get_widget().get_text()); sNewValue = pEntry->GetFieldAlias(); break; case BROW_FUNCTION_ROW: @@ -1090,7 +1090,7 @@ bool OSelectionBrowseBox::SaveModified() break; sal_uInt16 nIdx = sal_uInt16(nRow - BROW_CRIT1_ROW); - OUString aText = comphelper::string::stripStart(m_pTextCell->GetText(), ' '); + OUString aText = comphelper::string::stripStart(m_pTextCell->get_widget().get_text(), ' '); OUString aCrit; if(!aText.isEmpty()) @@ -1176,7 +1176,7 @@ bool OSelectionBrowseBox::SaveModified() } } if( !bError && Controller().is() ) - Controller()->ClearModified(); + Controller()->SaveValue(); RowModified(GetCurRow(), GetCurColumnId()); @@ -2367,8 +2367,12 @@ bool OSelectionBrowseBox::isCutAllowed() const break; } default: - bCutAllowed = !m_pTextCell->GetSelected().isEmpty(); + { + weld::Entry& rEntry = m_pTextCell->get_widget(); + int nStartPos, nEndPos; + bCutAllowed = rEntry.get_selection_bounds(nStartPos, nEndPos); break; + } } return bCutAllowed; } @@ -2385,8 +2389,10 @@ void OSelectionBrowseBox::cut() break; } default: - m_pTextCell->Cut(); - m_pTextCell->SetModifyFlag(); + { + weld::Entry& rEntry = m_pTextCell->get_widget(); + rEntry.cut_clipboard(); + } } SaveModified(); RowModified(GetBrowseRow(nRow), GetCurColumnId()); @@ -2406,8 +2412,11 @@ void OSelectionBrowseBox::paste() break; } default: - m_pTextCell->Paste(); - m_pTextCell->SetModifyFlag(); + { + weld::Entry& rEntry = m_pTextCell->get_widget(); + rEntry.paste_clipboard(); + break; + } } RowModified(GetBrowseRow(nRow), GetCurColumnId()); invalidateUndoRedo(); @@ -2446,7 +2455,11 @@ void OSelectionBrowseBox::copy() break; } default: - m_pTextCell->Copy(); + { + weld::Entry& rEntry = m_pTextCell->get_widget(); + rEntry.copy_clipboard(); + break; + } } } @@ -2514,8 +2527,9 @@ void OSelectionBrowseBox::enableControl(const OTableFieldDescRef& _rEntry,Window void OSelectionBrowseBox::setTextCellContext(const OTableFieldDescRef& _rEntry,const OUString& _sText,const OString& _sHelpId) { - m_pTextCell->SetText(_sText); - m_pTextCell->ClearModifyFlag(); + weld::Entry& rEntry = m_pTextCell->get_widget(); + rEntry.set_text(_sText); + rEntry.save_value(); if (!m_pTextCell->HasFocus()) m_pTextCell->GrabFocus(); |