summaryrefslogtreecommitdiff
path: root/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx')
-rw-r--r--dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx42
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();