[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: koffice/kexi
From: Jaroslaw Staniek <js () iidea ! pl>
Date: 2004-01-06 13:42:55
Message-ID: 20040106134255.4EC1E93A7 () office ! kde ! org
[Download RAW message or body]
CVS commit by staniek:
-rowEditStarted(int) signal is emitted when row editing is started
(for updating or inserting)
-rowEditTerminated(int) emmited when row editing is terminated
(no matter if accepted or not)
-proper availability updates for "edit_delete_row" (disabled when tv is
readonly) and "data_save_row" (enabled only on row editing)
M +18 -13 tableview/kexitableview.cpp 1.101
M +7 -0 tableview/kexitableview.h 1.47
M +18 -2 widget/kexidatatable.cpp 1.87
M +1 -0 widget/kexidatatable.h 1.41
--- koffice/kexi/tableview/kexitableview.cpp #1.100:1.101
@@ -1858,4 +1858,6 @@ void KexiTableView::createEditor(int row
d->pEditor->show();
d->pEditor->setFocus();
+
+ emit rowEditStarted(d->curRow);
}
@@ -2314,7 +2316,5 @@ void KexiTableView::acceptRowEdit()
updateRow(d->curRow);
- if (!success)
- return;
-
+ if (success) {
kdDebug() << "EDIT ROW ACCEPTED:" << endl;
/*debug*/itemAt(d->curRow);
@@ -2328,4 +2328,7 @@ void KexiTableView::acceptRowEdit()
emit rowUpdated(d->pCurrentItem);
}
+ }
+
+ emit rowEditTerminated(d->curRow);
}
@@ -2362,4 +2365,6 @@ void KexiTableView::cancelRowEdit()
//! \todo (js): cancel changes for this row!
kdDebug(44021) << "EDIT ROW CANCELLED." << endl;
+
+ emit rowEditTerminated(d->curRow);
}
--- koffice/kexi/tableview/kexitableview.h #1.46:1.47
@@ -334,4 +334,11 @@ signals:
void rowInserted(KexiTableItem*);
+ //! emmited when row editing is started (for updating or inserting)
+ void rowEditStarted(int row);
+
+ //! emmited when row editing is terminated (for updating or inserting)
+ //! no matter if accepted or not
+ void rowEditTerminated(int row);
+
protected slots:
void columnWidthChanged( int col, int os, int ns );
--- koffice/kexi/widget/kexidatatable.cpp #1.86:1.87
@@ -54,4 +54,9 @@ void KexiDataTable::init()
connect(this,SIGNAL(closing()),m_view,SLOT(acceptRowEdit()));
+ //! updating actions on start/stop editing
+ connect(m_view, SIGNAL(rowEditStarted(int)), this, \
SLOT(slotUpdateRowActions(int))); + connect(m_view, \
SIGNAL(rowEditTerminated(int)), this, SLOT(slotUpdateRowActions(int))); +
+
QVBoxLayout *box = new QVBoxLayout(this);
box->addWidget(m_view);
@@ -61,5 +66,5 @@ void KexiDataTable::init()
// setFocusProxy(m_view);
m_view->setFocus();
- setIcon(SmallIcon("table"));
+//not needed setIcon(SmallIcon("table"));
initActions();
@@ -90,4 +95,6 @@ KexiDataTable::initActions()
plugSharedAction("data_save_row",m_view, SLOT(acceptRowEdit()));
m_view->plugSharedAction(sharedAction("data_save_row")); //for proper \
shortcut +
+ slotCellSelected( m_view->currentColumn(), m_view->currentRow() );
}
@@ -119,7 +126,15 @@ QSize KexiDataTable::sizeHint() const
}
+// update actions --------------
+
void KexiDataTable::slotCellSelected(int col, int row)
{
- setAvailable("edit_delete_row", !(m_view->isInsertingEnabled() && \
row==m_view->rows()) ); + slotUpdateRowActions(row);
+}
+
+void KexiDataTable::slotUpdateRowActions(int row)
+{
+ setAvailable("edit_delete_row", !m_view->isReadOnly() && \
!(m_view->isInsertingEnabled() && row==m_view->rows()) ); + \
setAvailable("data_save_row", m_view->rowEditing()); }
--- koffice/kexi/widget/kexidatatable.h #1.40:1.41
@@ -62,4 +62,5 @@ class KEXIEXTWIDGETS_EXPORT KexiDataTabl
void filter();
void slotCellSelected(int col, int row);
+ void slotUpdateRowActions(int row);
private:
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic