summaryrefslogtreecommitdiff
authorzecke <zecke>2002-10-23 21:07:13 (UTC)
committer zecke <zecke>2002-10-23 21:07:13 (UTC)
commit71f52c08e595cb3bfa3697baa97b4279325fa9ac (patch) (side-by-side diff)
treec33c935ea2da643c5c08ef564898a76a66ebd951
parent60bd9ae80a48f1e2bbd1e1d75a53de0039e979d0 (diff)
downloadopie-71f52c08e595cb3bfa3697baa97b4279325fa9ac.zip
opie-71f52c08e595cb3bfa3697baa97b4279325fa9ac.tar.gz
opie-71f52c08e595cb3bfa3697baa97b4279325fa9ac.tar.bz2
Fix not beeing resizable.. now the Deadline is too wide...
Fix a crash when being somewhere else but releasing the mouse over the table bug Fix one more thing I don't remember Add InlineEditing of summaries. It would actually work on double click but we use the single click for viewing.. Ok these things need to be configurable
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/pim/todo/tableview.cpp30
1 files changed, 26 insertions, 4 deletions
diff --git a/core/pim/todo/tableview.cpp b/core/pim/todo/tableview.cpp
index c4165db..6299113 100644
--- a/core/pim/todo/tableview.cpp
+++ b/core/pim/todo/tableview.cpp
@@ -26,8 +26,9 @@
*/
#include <stdlib.h>
+#include <qlineedit.h>
#include <qtimer.h>
#include <qpoint.h>
#include <qpopupmenu.h>
@@ -52,21 +53,23 @@ TableView::TableView( MainWindow* window, QWidget* wid )
setNumCols(4);
setSorting( TRUE );
setSelectionMode( NoSelection );
- setColumnStretchable( 2, TRUE );
+// setColumnStretchable( 2, TRUE );
+ setColumnStretchable( 3, FALSE );
setColumnWidth(0, 20 );
setColumnWidth(1, 35 );
+ setColumnWidth(3, 18 );
setLeftMargin( 0 );
verticalHeader()->hide();
horizontalHeader()->setLabel(0, tr("C.") );
horizontalHeader()->setLabel(1, tr("Prior.") );
horizontalHeader()->setLabel(2, tr("Description" ) );
- setColumnStretchable(3, FALSE );
- setColumnWidth(3, 20 );
+// setColumnStretchable(3, FALSE );
+
horizontalHeader()->setLabel(3, tr("Deadline") );
if ( todoWindow()->showDeadline() )
showColumn( 3);
@@ -398,8 +401,14 @@ QWidget* TableView::createEditor(int row, int col, bool )const {
combo->insertItem( "5" );
combo->setCurrentItem( sorted()[row].priority()-1 );
return combo;
}
+ /* summary */
+ case 2:{
+ QLineEdit* edit = new QLineEdit( viewport() );
+ edit->setText( sorted()[row].summary() );
+ return edit;
+ }
case 0:
default:
return 0l;
}
@@ -415,8 +424,19 @@ void TableView::setCellContentFromEditor(int row, int col ) {
TodoView::update( todo.uid(), todo );
updateView();
}
}
+ }else if ( col == 2) {
+ QWidget* wid = cellWidget(row, 2);
+ if ( wid->inherits("QLineEdit") ) {
+ QString text = ((QLineEdit*)wid)->text();
+ OTodo todo = sorted()[row];
+ if ( todo.summary() != text ) {
+ todo.setSummary( text );
+ TodoView::update( todo.uid(), todo );
+ updateView();
+ }
+ }
}
}
void TableView::slotPriority() {
setCellContentFromEditor( currentRow(), currentColumn() );
@@ -428,8 +448,9 @@ void TableView::slotPriority() {
* up and down. On odd or even we will currentRow()+-4 or +-9
*
*/
void TableView::timerEvent( QTimerEvent* ev ) {
+ qWarning("sorted %d", sorted().count() );
if (sorted().count() == 0 )
return;
int row = currentRow();
@@ -465,10 +486,11 @@ void TableView::timerEvent( QTimerEvent* ev ) {
* 8 we mark the underlying todo as completed and do a repaint
*/
void TableView::contentsMouseReleaseEvent( QMouseEvent* e) {
int row = rowAt(m_prevP.y());
- if ( row == rowAt( e->y() ) ) {
+ if ( row == rowAt( e->y() ) && row != -1 ) {
if ( abs( m_prevP.x() - e->x() ) >= 8 ) {
+ qWarning("current row %d", row );
OTodo todo = sorted()[row];
todo.setCompleted( !todo.isCompleted() );
TodoView::update( todo.uid(), todo );
updateView();