summaryrefslogtreecommitdiff
path: root/core/pim
authorzecke <zecke>2003-03-14 08:20:59 (UTC)
committer zecke <zecke>2003-03-14 08:20:59 (UTC)
commit7e04934c4b7b9f8ad0d74d2da1c7c1273d9fe1d4 (patch) (side-by-side diff)
tree9d8cb73a1b6013ab409b496cf2b99503f239c0c9 /core/pim
parent08094624777d78bcd09f6ba6e2157599960ef7f3 (diff)
downloadopie-7e04934c4b7b9f8ad0d74d2da1c7c1273d9fe1d4.zip
opie-7e04934c4b7b9f8ad0d74d2da1c7c1273d9fe1d4.tar.gz
opie-7e04934c4b7b9f8ad0d74d2da1c7c1273d9fe1d4.tar.bz2
Do not crash when trying to edit and there is no data
Diffstat (limited to 'core/pim') (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/todo/mainwindow.cpp3
-rw-r--r--core/pim/todo/tableview.cpp1
2 files changed, 3 insertions, 1 deletions
diff --git a/core/pim/todo/mainwindow.cpp b/core/pim/todo/mainwindow.cpp
index 7810285..58981ca 100644
--- a/core/pim/todo/mainwindow.cpp
+++ b/core/pim/todo/mainwindow.cpp
@@ -621,24 +621,25 @@ void MainWindow::raiseCurrentView() {
}
void MainWindow::slotShowDue(bool ov) {
m_overdue = ov;
currentView()->showOverDue( ov );
raiseCurrentView();
}
void MainWindow::slotShow( int uid ) {
qWarning("slotShow");
currentShow()->slotShow( event( uid ) );
m_stack->raiseWidget( currentShow()->widget() );
}
void MainWindow::slotEdit( int uid ) {
+ if (uid == 1 ) return;
if(m_syncing) {
QMessageBox::warning(this, QWidget::tr("Todo"),
QWidget::tr("Can not edit data, currently syncing"));
return;
}
OTodo todo = m_todoMgr.event( uid );
todo = currentEditor()->edit(this, todo );
/* if completed */
if ( currentEditor()->accepted() ) {
@@ -782,25 +783,25 @@ bool MainWindow::remove( int uid ) {
}
void MainWindow::beam( int uid) {
::unlink( beamfile );
OTodo todo = event( uid );
OTodoAccessVCal* cal = new OTodoAccessVCal(QString::fromLatin1(beamfile) );
OTodoAccess acc( cal );
acc.load();
acc.add( todo );
acc.save();
Ir* ir = new Ir(this );
connect(ir, SIGNAL(done(Ir*) ),
this, SLOT(beamDone(Ir*) ) );
- ir->send( beamfile, todo.summary(), "text/x-vCalendar" );
+ ir->send(beamfile, todo.summary(), "text/x-vCalendar" );
}
void MainWindow::show( int uid ) {
slotShow( uid );
}
void MainWindow::edit( int uid ) {
slotEdit( uid );
}
void MainWindow::add( const OPimRecord& rec) {
if ( rec.rtti() != OTodo::rtti() ) return;
const OTodo& todo = static_cast<const OTodo&>(rec);
diff --git a/core/pim/todo/tableview.cpp b/core/pim/todo/tableview.cpp
index ae27fab..d9cda09 100644
--- a/core/pim/todo/tableview.cpp
+++ b/core/pim/todo/tableview.cpp
@@ -134,24 +134,25 @@ TableView::~TableView() {
for (int i = 0; i < numCols(); i++ )
config.writeEntry("Width"+QString::number(i), columnWidth(i) );
}
void TableView::slotShowMenu() {
QPopupMenu *menu = todoWindow()->contextMenu( current(), sorted()[currentRow()].recurrence().doesRecur() );
menu->exec(QCursor::pos() );
delete menu;
}
QString TableView::type() const {
return QString::fromLatin1( tr("Table View") );
}
int TableView::current() {
+ if (numRows() == 0 ) return 1;
int uid = sorted().uidAt(currentRow() );
return uid;
}
QString TableView::currentRepresentation() {
OTodo to = sorted()[currentRow()];
return to.summary().isEmpty() ? to.description().left(20) : to.summary() ;
}
/* show overdue */
void TableView::showOverDue( bool ) {
clear();
updateView();