summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/pim/todo/mainwindow.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/core/pim/todo/mainwindow.cpp b/core/pim/todo/mainwindow.cpp
index b6ee16f..19a6675 100644
--- a/core/pim/todo/mainwindow.cpp
+++ b/core/pim/todo/mainwindow.cpp
@@ -276,46 +276,54 @@ void MainWindow::closeEvent( QCloseEvent* e ) {
config.writeEntry( "ShowComplete", showCompleted() );
config.writeEntry( "Category", currentCategory() );
config.writeEntry( "ShowDeadLine", showDeadline());
config.writeEntry( "ShowOverDue", showOverDue() );
config.writeEntry( "ShowQuickTask", showQuickTask() );
/* save templates */
templateManager()->save();
e->accept();
QTimer::singleShot(0, qApp, SLOT(closeAllWindows()) );
}
}
void MainWindow::slotItemNew() {
- NewTaskDlg dlg( templateManager()->templates(), this );
+ QStringList templateList = templateManager()->templates();
+ if(templateList.isEmpty()) {
+ // No templates, just create a blank task
+ create();
+ }
+ else {
+ // There are templates, so allow the user to select one
+ NewTaskDlg dlg( templateList, this );
if ( QPEApplication::execDialog( &dlg ) == QDialog::Accepted ) {
QString tempName = dlg.tempSelected();
if ( tempName.isNull() )
// Create new, blank task
create();
else {
// Create new task from the template selected
OPimTodo event = templateManager()->templateEvent( tempName );
event = currentEditor()->edit( this, event );
if ( currentEditor()->accepted() ) {
event.setUid( 1 );
handleAlarms( OPimTodo(), event );
m_todoMgr.add( event );
currentView()->addEvent( event );
reloadCategories();
}
raiseCurrentView();
}
}
}
+}
void MainWindow::slotItemEdit() {
slotEdit( currentView()->current() );
}
void MainWindow::slotItemDuplicate() {
if(m_syncing) {
QMessageBox::warning(this, QWidget::tr("Todo"),
QWidget::tr("Data can not be edited, currently syncing"));
return;
}
OPimTodo ev = m_todoMgr.event( currentView()->current() );
/* let's generate a new uid */
ev.setUid(1);