summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/korganizer/germantranslation.txt9
-rw-r--r--korganizer/kotodoeditor.cpp1
-rw-r--r--korganizer/kotodoview.cpp108
-rw-r--r--korganizer/kotodoview.h3
4 files changed, 94 insertions, 27 deletions
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt
index a5e2597..cb92677 100644
--- a/bin/kdepim/korganizer/germantranslation.txt
+++ b/bin/kdepim/korganizer/germantranslation.txt
@@ -1494,2 +1494,4 @@
{ "You can use and display <b>more than one</b> calendar file in KO/Pi. A calendar file is called a <b>resource</b>. To add a calendar or change calendar settings please use menu: <b>View -> Toggle Resource View</b>.","Sie können <b>mehr als eine</b> Kalenderdatei in KO/Pi darstellen und benutzen. Eine Kalenderdatei wird <b>Resource</b> genannt. Um einen Kalender hinzuzufügen oder die Kalendereinstellungen zu ändern benutzen Sie bitte das Menu: <b>Ansicht -> Resourcenansicht umschalten</b>." },
+{ "Hide Completed","Verstecke erledigte Todos" },
+{ "Show not Running","Zeige nicht Laufende" },
{ "","" },
@@ -1501,5 +1503,4 @@
{ "","" },
-{ "","" },
-{ "","" },
-{ "","" },
-{ "","" },
+
+
+
diff --git a/korganizer/kotodoeditor.cpp b/korganizer/kotodoeditor.cpp
index 555c1b1..100a81b 100644
--- a/korganizer/kotodoeditor.cpp
+++ b/korganizer/kotodoeditor.cpp
@@ -300,2 +300,3 @@ void KOTodoEditor::setDefaults(QDateTime due,Todo *relatedEvent,bool allDay)
if ( mRelatedTodo ) {
+ mGeneral->fillCalCombo(mRelatedTodo->calID() );
mGeneral->setCategories (mRelatedTodo->categoriesStr ());
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp
index a87e6fc..c23a8ee 100644
--- a/korganizer/kotodoview.cpp
+++ b/korganizer/kotodoview.cpp
@@ -506,6 +506,40 @@ KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) :
mBlockUpdate = false;
- mQuickAdd = new KOQuickTodo(this);
- topLayout->addWidget(mQuickAdd);
-
- if ( !KOPrefs::instance()->mEnableQuickTodo ) mQuickAdd->hide();
+ mQuickBar = new QWidget( this );
+ topLayout->addWidget(mQuickBar);
+
+ mQuickAdd = new KOQuickTodo(mQuickBar);
+ QBoxLayout *quickLayout = new QHBoxLayout(mQuickBar);
+ quickLayout->addWidget( mQuickAdd );
+ QPushButton * flat = new QPushButton( "F",mQuickBar );
+ int fixwid = flat->sizeHint().height();
+ if ( QApplication::desktop()->width() > 320 )
+ fixwid *= 2;
+ flat->setFixedWidth( fixwid );
+ connect ( flat, SIGNAL ( clicked()), SLOT ( setAllFlat()));
+ QPushButton * allopen = new QPushButton( "O",mQuickBar );
+ allopen->setFixedWidth( fixwid );
+ connect ( allopen, SIGNAL ( clicked()), SLOT ( setAllOpen()));
+ QPushButton * allclose = new QPushButton( "C",mQuickBar );
+ allclose->setFixedWidth( fixwid );
+ connect ( allclose, SIGNAL ( clicked()), SLOT ( setAllClose()));
+ QPushButton * s_done = new QPushButton( "D",mQuickBar );
+ s_done->setFixedWidth( fixwid );
+ connect ( s_done, SIGNAL ( clicked()), SLOT ( toggleCompleted()));
+ QPushButton * s_run = new QPushButton( "R",mQuickBar );
+ s_run->setFixedWidth( fixwid );
+ connect ( s_run, SIGNAL ( clicked()), SLOT ( toggleRunning()));
+
+ mNewSubBut = new QPushButton( "sub",mQuickBar );
+ mNewSubBut->setFixedWidth( fixwid*3/2 );
+ connect ( mNewSubBut, SIGNAL ( clicked()), SLOT ( newSubTodo()));
+ mNewSubBut->setEnabled( false );
+ quickLayout->addWidget( mNewSubBut );
+ quickLayout->addWidget( s_done );
+ quickLayout->addWidget( s_run );
+
+ quickLayout->addWidget( allopen );
+ quickLayout->addWidget( allclose );
+ quickLayout->addWidget( flat );
+
+ if ( !KOPrefs::instance()->mEnableQuickTodo ) mQuickBar->hide();
@@ -1084,4 +1118,8 @@ void KOTodoView::newSubTodo()
{
+ mActiveItem = (KOTodoViewItem*)mTodoListView->currentItem();
if (mActiveItem) {
- emit newSubTodoSignal(mActiveItem->todo());
+ if ( mQuickAdd->isVisible() && !mQuickAdd->text().isEmpty() && mQuickAdd->text() != i18n("Click to add a new Todo") ) {
+ addQuickTodoPar( mActiveItem->todo());
+ } else
+ emit newSubTodoSignal(mActiveItem->todo());
}
@@ -1393,4 +1431,6 @@ void KOTodoView::processSelectionChange()
emit incidenceSelected( 0 );
+ mNewSubBut->setEnabled( false );
} else {
emit incidenceSelected( item->todo() );
+ mNewSubBut->setEnabled( true );
}
@@ -1482,4 +1522,4 @@ void KOTodoView::toggleQuickTodo()
{
- if ( mQuickAdd->isVisible() ) {
- mQuickAdd->hide();
+ if ( mQuickBar->isVisible() ) {
+ mQuickBar->hide();
KOPrefs::instance()->mEnableQuickTodo = false;
@@ -1487,3 +1527,3 @@ void KOTodoView::toggleQuickTodo()
else {
- mQuickAdd->show();
+ mQuickBar->show();
KOPrefs::instance()->mEnableQuickTodo = true;
@@ -1500,2 +1540,6 @@ void KOTodoView::toggleRunning()
updateView();
+ if ( KOPrefs::instance()->mHideNonStartedTodos )
+ topLevelWidget()->setCaption(i18n("Hide not Running"));
+ else
+ topLevelWidget()->setCaption(i18n("Show not Running"));
}
@@ -1508,2 +1552,6 @@ void KOTodoView::toggleCompleted()
updateView();
+ if ( KOPrefs::instance()->mShowCompletedTodo )
+ topLevelWidget()->setCaption(i18n("Show Completed"));
+ else
+ topLevelWidget()->setCaption(i18n("Hide Completed"));
}
@@ -1512,19 +1560,33 @@ void KOTodoView::addQuickTodo()
{
- Todo *todo = new Todo();
- todo->setSummary(mQuickAdd->text());
- todo->setOrganizer(KOPrefs::instance()->email());
- CalFilter * cf = mCalendar->filter();
- if ( cf ) {
- if ( cf->isEnabled()&& cf->showCategories()) {
- todo->setCategories(cf->categoryList());
- }
- if ( cf->isEnabled() )
- todo->setSecrecy( cf->getSecrecy());
- }
- mCalendar->addTodo(todo);
- mQuickAdd->setText("");
- todoModified (todo, KOGlobals::EVENTADDED );
- updateView();
+ addQuickTodoPar( 0 );
}
+void KOTodoView::addQuickTodoPar( Todo * parentTodo)
+{
+ Todo *todo = new Todo();
+ todo->setSummary(mQuickAdd->text());
+ todo->setOrganizer(KOPrefs::instance()->email());
+ if ( parentTodo ) {
+ todo->setRelatedTo(parentTodo);
+
+ todo->setCategories (parentTodo->categoriesStr ());
+ todo->setSecrecy (parentTodo->secrecy ());
+ if ( parentTodo->priority() < 3 )
+ todo->setPriority( parentTodo->priority() );
+ todo->setCalID( parentTodo->calID() );
+ } else {
+ CalFilter * cf = mCalendar->filter();
+ if ( cf ) {
+ if ( cf->isEnabled()&& cf->showCategories()) {
+ todo->setCategories(cf->categoryList());
+ }
+ if ( cf->isEnabled() )
+ todo->setSecrecy( cf->getSecrecy());
+ }
+ }
+ mCalendar->addTodo(todo);
+ mQuickAdd->setText("");
+ todoModified (todo, KOGlobals::EVENTADDED );
+ updateView();
+}
void KOTodoView::keyPressEvent ( QKeyEvent * e )
diff --git a/korganizer/kotodoview.h b/korganizer/kotodoview.h
index 79cc756..a8e90e2 100644
--- a/korganizer/kotodoview.h
+++ b/korganizer/kotodoview.h
@@ -256,2 +256,3 @@ class KOTodoView : public KOrg::BaseView
private:
+ void addQuickTodoPar( Todo * parentTodo);
/*
@@ -291,2 +292,3 @@ class KOTodoView : public KOrg::BaseView
QString mName;
+ QWidget* mQuickBar;
@@ -302,2 +304,3 @@ class KOTodoView : public KOrg::BaseView
Incidence * mCurItem, *mCurItemRootParent, *mCurItemParent,*mCurItemAbove;
+ QPushButton * mNewSubBut;
};