-rw-r--r-- | korganizer/koeditorgeneral.cpp | 51 | ||||
-rw-r--r-- | korganizer/koeditorgeneral.h | 7 | ||||
-rw-r--r-- | korganizer/koprefs.cpp | 16 | ||||
-rw-r--r-- | korganizer/kotodoview.cpp | 33 |
4 files changed, 76 insertions, 31 deletions
diff --git a/korganizer/koeditorgeneral.cpp b/korganizer/koeditorgeneral.cpp index 915c7ec..50a04ea 100644 --- a/korganizer/koeditorgeneral.cpp +++ b/korganizer/koeditorgeneral.cpp | |||
@@ -137,27 +137,66 @@ void KOEditorGeneral::editCategories() | |||
137 | KPIM::CategorySelectDialog* csd = new KPIM::CategorySelectDialog( KOPrefs::instance(), 0 ); | 137 | KPIM::CategorySelectDialog* csd = new KPIM::CategorySelectDialog( KOPrefs::instance(), 0 ); |
138 | connect(csd,SIGNAL(categoriesSelected(const QString &)), this ,SLOT(setCategories(const QString &))); | 138 | connect(csd,SIGNAL(categoriesSelected(const QString &)), this ,SLOT(setCategories(const QString &))); |
139 | //KOGlobals::fitDialogToScreen( csd ); | 139 | //KOGlobals::fitDialogToScreen( csd ); |
140 | csd->setColorEnabled(); | 140 | csd->setColorEnabled(); |
141 | csd->setSelected( QStringList::split (",", mCategoriesLabel->text()) ); | 141 | csd->setSelected( QStringList::split (",", mCategoriesLabel->text()) ); |
142 | csd->exec(); | 142 | csd->exec(); |
143 | delete csd; | 143 | delete csd; |
144 | } | 144 | } |
145 | |||
146 | void KOEditorGeneral::showCatPopup() | ||
147 | { | ||
148 | mCatPopup->clear(); | ||
149 | QStringList checkedCategories = QStringList::split (",", mCategoriesLabel->text()); | ||
150 | int index = 0; | ||
151 | for (QStringList::Iterator it = KOPrefs::instance()->mCustomCategories.begin (); | ||
152 | it != KOPrefs::instance()->mCustomCategories.end (); | ||
153 | ++it) { | ||
154 | mCatPopup->insertItem (*it, index ); | ||
155 | //mCategory[index] = *it; | ||
156 | if (checkedCategories.find (*it) != checkedCategories.end ()) mCatPopup->setItemChecked (index, true); | ||
157 | ++index; | ||
158 | } | ||
159 | } | ||
160 | void KOEditorGeneral::selectedCatPopup( int index ) | ||
161 | { | ||
162 | qDebug("i %d c %d ", index, KOPrefs::instance()->mCustomCategories.count()); | ||
163 | QStringList categories = QStringList::split (",", mCategoriesLabel->text()); | ||
164 | QString colcat = categories.first(); | ||
165 | if (categories.find (KOPrefs::instance()->mCustomCategories[index]) != categories.end ()) | ||
166 | categories.remove (KOPrefs::instance()->mCustomCategories[index]); | ||
167 | else | ||
168 | categories.insert (categories.end(), KOPrefs::instance()->mCustomCategories[index]); | ||
169 | categories.sort (); | ||
170 | if ( !colcat.isEmpty() ) { | ||
171 | if ( categories.find ( colcat ) != categories.end () ) { | ||
172 | categories.remove( colcat ); | ||
173 | categories.prepend( colcat ); | ||
174 | } | ||
175 | } | ||
176 | mCategoriesLabel->setText( categories.join(",") ); | ||
177 | } | ||
178 | |||
145 | void KOEditorGeneral::initCategories(QWidget *parent, QBoxLayout *topLayout) | 179 | void KOEditorGeneral::initCategories(QWidget *parent, QBoxLayout *topLayout) |
146 | { | 180 | { |
147 | QBoxLayout *categoriesLayout = new QHBoxLayout( topLayout ); | 181 | QBoxLayout *categoriesLayout = new QHBoxLayout( topLayout ); |
148 | 182 | mCatPopup = new QPopupMenu ( parent ); | |
183 | mCatPopup->setCheckable (true); | ||
184 | connect(mCatPopup,SIGNAL(aboutToShow () ), this ,SLOT(showCatPopup())); | ||
185 | connect(mCatPopup,SIGNAL( activated ( int ) ), this ,SLOT(selectedCatPopup( int ))); | ||
149 | mCategoriesButton = new QPushButton(parent); | 186 | mCategoriesButton = new QPushButton(parent); |
150 | mCategoriesButton->setText(i18n("Categories...")); | 187 | mCategoriesButton->setText(i18n("Categories")); |
151 | connect(mCategoriesButton,SIGNAL(clicked()),this, SLOT(editCategories() )); | 188 | //connect(mCategoriesButton,SIGNAL(clicked()),this, SLOT(editCategories() )); |
152 | categoriesLayout->addWidget(mCategoriesButton); | 189 | categoriesLayout->addWidget(mCategoriesButton); |
153 | 190 | mCategoriesButton->setPopup( mCatPopup ); | |
154 | mCategoriesLabel = new QLabel(parent); | 191 | mCategoriesLabel = new QPushButton(parent);//new QLabel(parent); |
155 | mCategoriesLabel->setFrameStyle(QFrame::Panel|QFrame::Sunken); | 192 | mCategoriesLabel->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::MinimumExpanding ,FALSE) ); |
193 | connect(mCategoriesLabel,SIGNAL(clicked()),this, SLOT(editCategories() )); | ||
194 | //mCategoriesLabel->setFrameStyle(QFrame::Panel|QFrame::Sunken); | ||
156 | categoriesLayout->addWidget(mCategoriesLabel,1); | 195 | categoriesLayout->addWidget(mCategoriesLabel,1); |
157 | } | 196 | } |
158 | 197 | ||
159 | void KOEditorGeneral::initSecrecy(QWidget *parent, QBoxLayout *topLayout) | 198 | void KOEditorGeneral::initSecrecy(QWidget *parent, QBoxLayout *topLayout) |
160 | { | 199 | { |
161 | QBoxLayout *secrecyLayout = new QHBoxLayout( topLayout ); | 200 | QBoxLayout *secrecyLayout = new QHBoxLayout( topLayout ); |
162 | 201 | ||
163 | QLabel *secrecyLabel = new QLabel(i18n("Access:"),parent); | 202 | QLabel *secrecyLabel = new QLabel(i18n("Access:"),parent); |
diff --git a/korganizer/koeditorgeneral.h b/korganizer/koeditorgeneral.h index a8f6443..c463403 100644 --- a/korganizer/koeditorgeneral.h +++ b/korganizer/koeditorgeneral.h | |||
@@ -22,16 +22,17 @@ | |||
22 | */ | 22 | */ |
23 | #ifndef KOEDITORGENERAL_H | 23 | #ifndef KOEDITORGENERAL_H |
24 | #define KOEDITORGENERAL_H | 24 | #define KOEDITORGENERAL_H |
25 | 25 | ||
26 | #include <qframe.h> | 26 | #include <qframe.h> |
27 | #include <qlabel.h> | 27 | #include <qlabel.h> |
28 | #include <qcheckbox.h> | 28 | #include <qcheckbox.h> |
29 | #include <qpushbutton.h> | 29 | #include <qpushbutton.h> |
30 | #include <qpopupmenu.h> | ||
30 | #include <qgroupbox.h> | 31 | #include <qgroupbox.h> |
31 | #include <qlineedit.h> | 32 | #include <qlineedit.h> |
32 | #include <qcombobox.h> | 33 | #include <qcombobox.h> |
33 | #include <qlistview.h> | 34 | #include <qlistview.h> |
34 | #include <qradiobutton.h> | 35 | #include <qradiobutton.h> |
35 | #include <qlayout.h> | 36 | #include <qlayout.h> |
36 | #include <qspinbox.h> | 37 | #include <qspinbox.h> |
37 | 38 | ||
@@ -77,16 +78,19 @@ class KOEditorGeneral : public QObject | |||
77 | 78 | ||
78 | protected slots: | 79 | protected slots: |
79 | void enableAlarmEdit( bool enable ); | 80 | void enableAlarmEdit( bool enable ); |
80 | void disableAlarmEdit( bool disable ); | 81 | void disableAlarmEdit( bool disable ); |
81 | void alarmDisable( bool disable ); | 82 | void alarmDisable( bool disable ); |
82 | void pickAlarmSound(); | 83 | void pickAlarmSound(); |
83 | void pickAlarmProgram(); | 84 | void pickAlarmProgram(); |
84 | void slotSetFocusOn(); | 85 | void slotSetFocusOn(); |
86 | void showCatPopup(); | ||
87 | void selectedCatPopup( int ); | ||
88 | |||
85 | signals: | 89 | signals: |
86 | void openCategoryDialog(); | 90 | void openCategoryDialog(); |
87 | void allAccepted(); | 91 | void allAccepted(); |
88 | void dateTimesChanged(QDateTime,QDateTime); | 92 | void dateTimesChanged(QDateTime,QDateTime); |
89 | 93 | ||
90 | protected: | 94 | protected: |
91 | int mNextFocus; | 95 | int mNextFocus; |
92 | //QLineEdit *mSummaryEdit; | 96 | //QLineEdit *mSummaryEdit; |
@@ -99,18 +103,19 @@ class KOEditorGeneral : public QObject | |||
99 | QPushButton *mAlarmSoundButton; | 103 | QPushButton *mAlarmSoundButton; |
100 | QPushButton *mAlarmProgramButton; | 104 | QPushButton *mAlarmProgramButton; |
101 | QComboBox *mAlarmIncrCombo; | 105 | QComboBox *mAlarmIncrCombo; |
102 | KTextEdit *mDescriptionEdit; | 106 | KTextEdit *mDescriptionEdit; |
103 | QLabel *mOwnerLabel; | 107 | QLabel *mOwnerLabel; |
104 | QComboBox *mSecrecyCombo; | 108 | QComboBox *mSecrecyCombo; |
105 | QCheckBox *mCancelBox; | 109 | QCheckBox *mCancelBox; |
106 | QPushButton *mCategoriesButton; | 110 | QPushButton *mCategoriesButton; |
107 | QLabel *mCategoriesLabel; | 111 | QPushButton *mCategoriesLabel; |
108 | 112 | ||
109 | private: | 113 | private: |
114 | QPopupMenu * mCatPopup; | ||
110 | QString getFittingPath( const QString ) ; | 115 | QString getFittingPath( const QString ) ; |
111 | QString mAlarmSound; | 116 | QString mAlarmSound; |
112 | QString mAlarmProgram; | 117 | QString mAlarmProgram; |
113 | QString mAlarmMessage; | 118 | QString mAlarmMessage; |
114 | }; | 119 | }; |
115 | 120 | ||
116 | #endif | 121 | #endif |
diff --git a/korganizer/koprefs.cpp b/korganizer/koprefs.cpp index 7ba7269..9db2040 100644 --- a/korganizer/koprefs.cpp +++ b/korganizer/koprefs.cpp | |||
@@ -386,29 +386,29 @@ QStringList KOPrefs::getLocationDefaultList() | |||
386 | // << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") | 386 | // << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") |
387 | 387 | ||
388 | retval.sort(); | 388 | retval.sort(); |
389 | return retval; | 389 | return retval; |
390 | } | 390 | } |
391 | QStringList KOPrefs::getDefaultList() | 391 | QStringList KOPrefs::getDefaultList() |
392 | { | 392 | { |
393 | QStringList retval ; | 393 | QStringList retval ; |
394 | retval << i18n("Anniversary") << i18n("Appointment") << i18n("Birthday") << i18n("Business") << i18n("Business Travel") << i18n("Cinema") << i18n("Customer") | 394 | retval << i18n("Anniversary") << i18n("Appointment") << i18n("Birthday") << i18n("Business") << i18n("Cinema") << i18n("Customer") |
395 | << i18n("Break")<< i18n("Breakfast")<< i18n("Competition")<< i18n("Dinner") | 395 | << i18n("Break") |
396 | << i18n("Education")<< i18n("Family") << i18n("Favorites") << i18n("Festival")<< i18n("Fishing")<< i18n("Flight") << i18n("Gifts") | 396 | << i18n("Family") << i18n("Favorites") << i18n("Fishing")<< i18n("Flight") << i18n("Gifts") |
397 | << i18n("Holiday") << i18n("Holiday Cards")<< i18n("Hot Contacts") << i18n("Hiking") << i18n("Hunting") << i18n("Key Customer") << i18n("Kids") | 397 | << i18n("Holiday") << i18n("Holiday Cards")<< i18n("Hot Contacts") << i18n("Key Customer") |
398 | << i18n("Lunch") << i18n("Meeting") << i18n("Miscellaneous") << i18n("Partner")<< i18n("Party") << i18n("Personal") << i18n("Personal Travel") | 398 | << i18n("Meeting") << i18n("Miscellaneous") << i18n("Partner") << i18n("Personal") |
399 | << i18n("PHB") << i18n("Phone Calls") << i18n("Projects") << i18n("Recurring") << i18n("School") << i18n("Shopping") | 399 | << i18n("PHB") << i18n("Phone Calls") << i18n("School") << i18n("Shopping") |
400 | << i18n("Speach") << i18n("Special Occasion") << i18n("Sports") << i18n("Talk") << i18n("Travel") << i18n("TV")<< i18n("University") | 400 | << i18n("Sports") << i18n("Talk") << i18n("Travel") << i18n("TV")<< i18n("University") |
401 | << i18n("Vacation") << i18n("VIP") << i18n("SyncEvent") ; | 401 | << i18n("Vacation") << i18n("VIP") << i18n("SyncEvent") ; |
402 | retval.sort(); | 402 | retval.sort(); |
403 | //qDebug("cat %s ", retval.join("-").latin1()); | 403 | //qDebug("cat %s ", retval.join("-").latin1()); |
404 | return retval; | 404 | return retval; |
405 | } | 405 | } |
406 | 406 | // << i18n("Business Travel") << i18n("Education") << i18n("Hiking") << i18n("Hunting") << i18n("Recurring") << i18n("Personal Travel") << i18n("Speach") << i18n("Festival") << i18n("Competition")<< i18n("Party")<< i18n("Projects")<< i18n("Kids") << i18n("Special Occasion")<< i18n("Breakfast")<< i18n("Dinner") << i18n("Lunch") | |
407 | void KOPrefs::usrReadConfig() | 407 | void KOPrefs::usrReadConfig() |
408 | { | 408 | { |
409 | config()->setGroup("General"); | 409 | config()->setGroup("General"); |
410 | 410 | ||
411 | //qDebug("KOPrefs::usrReadConfig() "); | 411 | //qDebug("KOPrefs::usrReadConfig() "); |
412 | mCustomCategories = config()->readListEntry("Custom Categories"); | 412 | mCustomCategories = config()->readListEntry("Custom Categories"); |
413 | mOldLoadedLanguage = mOldLanguage ; | 413 | mOldLoadedLanguage = mOldLanguage ; |
414 | mOldLanguage = KPimGlobalPrefs::instance()->mPreferredLanguage; | 414 | mOldLanguage = KPimGlobalPrefs::instance()->mPreferredLanguage; |
diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp index 1bfdef9..873a776 100644 --- a/korganizer/kotodoview.cpp +++ b/korganizer/kotodoview.cpp | |||
@@ -492,16 +492,17 @@ void KOQuickTodo::focusOutEvent(QFocusEvent *ev) | |||
492 | QLineEdit::focusOutEvent(ev); | 492 | QLineEdit::focusOutEvent(ev); |
493 | } | 493 | } |
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; |
506 | mQuickAdd = new KOQuickTodo(this); | 507 | mQuickAdd = new KOQuickTodo(this); |
507 | topLayout->addWidget(mQuickAdd); | 508 | topLayout->addWidget(mQuickAdd); |
@@ -1153,32 +1154,32 @@ void KOTodoView::setNewPercentage(int index) | |||
1153 | todoModified (mActiveItem->todo (), KOGlobals::COMPLETION_MODIFIED); | 1154 | todoModified (mActiveItem->todo (), KOGlobals::COMPLETION_MODIFIED); |
1154 | mActiveItem->todo()->setRevision( mActiveItem->todo()->revision()+1 ); | 1155 | mActiveItem->todo()->setRevision( mActiveItem->todo()->revision()+1 ); |
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(); |
1183 | if (categories.find (mCategory[index]) != categories.end ()) | 1184 | if (categories.find (mCategory[index]) != categories.end ()) |
1184 | categories.remove (mCategory[index]); | 1185 | categories.remove (mCategory[index]); |