[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