[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: koffice/kexi/tableview
From: Jaroslaw Staniek <js () iidea ! pl>
Date: 2004-08-25 19:48:46
Message-ID: 20040825194846.AABFB24E7 () office ! kde ! org
[Download RAW message or body]
CVS commit by staniek:
TableView
- cell-cursor's is position not reset after initDataContents() on show()
if it was set before KexiTableView widget showing.
M +26 -21 kexitableview.cpp 1.166
M +1 -0 kexitableview_p.cpp 1.22
M +5 -0 kexitableview_p.h 1.26
--- koffice/kexi/tableview/kexitableview.cpp #1.165:1.166
@@ -554,9 +554,11 @@ void KexiTableView::setData( KexiTableVi
void KexiTableView::initDataContents()
{
+ QSize s(tableSize());
+ resizeContents(s.width(),s.height());
+
+ if (!d->cursorPositionSetExplicityBeforeShow) {
//set current row:
d->pCurrentItem = 0;
int curRow = -1, curCol = -1;
-// d->curRow = -1;
-// d->curCol = -1;
if (m_data->columnsCount()>0) {
if (rows()>0) {
@@ -574,13 +576,12 @@ void KexiTableView::initDataContents()
}
- QSize s(tableSize());
- resizeContents(s.width(),s.height());
-
- updateRowCountInfo();
-
setCursor(curRow, curCol);
- ensureVisible(0,0);
+ }
+ ensureVisible(d->curRow,d->curCol);
+ updateRowCountInfo();
updateContents();
+ d->cursorPositionSetExplicityBeforeShow = false;
+
emit dataRefreshed();
}
@@ -2873,4 +2874,8 @@ void KexiTableView::setCursor(int row, i
emit cellSelected(d->curCol, d->curRow);
}
+
+ if(d->initDataContentsOnShow) {
+ d->cursorPositionSetExplicityBeforeShow = true;
+ }
}
--- koffice/kexi/tableview/kexitableview_p.cpp #1.21:1.22
@@ -126,4 +126,5 @@ KexiTableViewPrivate::KexiTableViewPriva
dropsAtRowEnabled = false;
initDataContentsOnShow = false;
+ cursorPositionSetExplicityBeforeShow = false;
pVerticalHeaderAlreadyAdded = false;
ensureCellVisibleOnShow = QPoint(-1,-1);
--- koffice/kexi/tableview/kexitableview_p.h #1.25:1.26
@@ -171,4 +171,9 @@ class KexiTableViewPrivate
bool initDataContentsOnShow : 1;
+ /*! Set to true in setCursor() to indicate that cursor position was set
+ before show() and it shouldn't be changed on show().
+ Only used if initDataContentsOnShow is true. */
+ bool cursorPositionSetExplicityBeforeShow : 1;
+
/*! true, if certical header shouldn't be increased in
KexiTableView::slotRowInserted() because it was already done
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic