-rw-r--r-- | korganizer/kotodoview.cpp | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp index 1bfdef9..873a776 100644 --- a/korganizer/kotodoview.cpp +++ b/korganizer/kotodoview.cpp | |||
@@ -494,12 +494,13 @@ void KOQuickTodo::focusOutEvent(QFocusEvent *ev) | |||
494 | 494 | ||
495 | ///////////////////////////////////////////////////////////////////////////// | 495 | ///////////////////////////////////////////////////////////////////////////// |
496 | 496 | ||
497 | KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) : | 497 | KOTodoView::KOTodoView(Calendar *calendar,QWidget* parent,const char* name) : |
498 | KOrg::BaseView(calendar,parent,name) | 498 | KOrg::BaseView(calendar,parent,name) |
499 | { | 499 | { |
500 | mCategoryPopupMenu = 0; | ||
500 | mPendingUpdateBeforeRepaint = false; | 501 | mPendingUpdateBeforeRepaint = false; |
501 | isFlatDisplay = false; | 502 | isFlatDisplay = false; |
502 | mNavigator = 0; | 503 | mNavigator = 0; |
503 | QBoxLayout *topLayout = new QVBoxLayout(this); | 504 | QBoxLayout *topLayout = new QVBoxLayout(this); |
504 | mName = QString ( name ); | 505 | mName = QString ( name ); |
505 | mBlockUpdate = false; | 506 | mBlockUpdate = false; |
@@ -1155,28 +1156,28 @@ void KOTodoView::setNewPercentage(int index) | |||
1155 | } | 1156 | } |
1156 | } | 1157 | } |
1157 | 1158 | ||
1158 | 1159 | ||
1159 | QPopupMenu * KOTodoView::getCategoryPopupMenu (KOTodoViewItem *todoItem) | 1160 | QPopupMenu * KOTodoView::getCategoryPopupMenu (KOTodoViewItem *todoItem) |
1160 | { | 1161 | { |
1161 | QPopupMenu* tempMenu = new QPopupMenu (this); | 1162 | if ( !mCategoryPopupMenu ) { |
1162 | QStringList checkedCategories = todoItem->todo()->categories (); | 1163 | mCategoryPopupMenu = new QPopupMenu (this); |
1163 | 1164 | mCategoryPopupMenu->setCheckable (true); | |
1164 | tempMenu->setCheckable (true); | 1165 | connect (mCategoryPopupMenu, SIGNAL (activated (int)), SLOT (changedCategories (int))); |
1165 | for (QStringList::Iterator it = KOPrefs::instance()->mCustomCategories.begin (); | 1166 | } |
1166 | it != KOPrefs::instance()->mCustomCategories.end (); | 1167 | mCategoryPopupMenu->clear(); |
1167 | ++it) { | 1168 | QStringList checkedCategories = todoItem->todo()->categories (); |
1168 | int index = tempMenu->insertItem (*it); | 1169 | |
1169 | mCategory[index] = *it; | 1170 | for (QStringList::Iterator it = KOPrefs::instance()->mCustomCategories.begin (); |
1170 | if (checkedCategories.find (*it) != checkedCategories.end ()) tempMenu->setItemChecked (index, true); | 1171 | it != KOPrefs::instance()->mCustomCategories.end (); |
1171 | } | 1172 | ++it) { |
1172 | 1173 | int index = mCategoryPopupMenu->insertItem (*it); | |
1173 | connect (tempMenu, SIGNAL (activated (int)), SLOT (changedCategories (int))); | 1174 | mCategory[index] = *it; |
1174 | return tempMenu; | 1175 | if (checkedCategories.find (*it) != checkedCategories.end ()) mCategoryPopupMenu->setItemChecked (index, true); |
1175 | 1176 | } | |
1176 | 1177 | return mCategoryPopupMenu; | |
1177 | } | 1178 | } |
1178 | void KOTodoView::changedCategories(int index) | 1179 | void KOTodoView::changedCategories(int index) |
1179 | { | 1180 | { |
1180 | if (mActiveItem && !mActiveItem->todo()->isReadOnly ()) { | 1181 | if (mActiveItem && !mActiveItem->todo()->isReadOnly ()) { |
1181 | QStringList categories = mActiveItem->todo()->categories (); | 1182 | QStringList categories = mActiveItem->todo()->categories (); |
1182 | QString colcat = categories.first(); | 1183 | QString colcat = categories.first(); |