-rw-r--r-- | korganizer/calendarview.cpp | 2 | ||||
-rw-r--r-- | korganizer/koeditordetails.cpp | 13 | ||||
-rw-r--r-- | korganizer/koeditordetails.h | 1 | ||||
-rw-r--r-- | korganizer/koeventviewer.cpp | 6 | ||||
-rw-r--r-- | libkcal/dndfactory.h | 9 |
5 files changed, 28 insertions, 3 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index 74aefb7..96fb5ca 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp | |||
@@ -1510,37 +1510,37 @@ void CalendarView::insertBirthdays(const QString& uid, const QStringList& birthd | |||
1510 | topLevelWidget()->setCaption(QString::number( addCount )+ i18n(" birthdays/anniversaries added!")); | 1510 | topLevelWidget()->setCaption(QString::number( addCount )+ i18n(" birthdays/anniversaries added!")); |
1511 | 1511 | ||
1512 | } | 1512 | } |
1513 | 1513 | ||
1514 | } | 1514 | } |
1515 | 1515 | ||
1516 | 1516 | ||
1517 | 1517 | ||
1518 | bool CalendarView::addAnniversary( QDate date, QString name, KCal::Attendee* a, bool birthday) | 1518 | bool CalendarView::addAnniversary( QDate date, QString name, KCal::Attendee* a, bool birthday) |
1519 | { | 1519 | { |
1520 | //qDebug("addAnni "); | 1520 | //qDebug("addAnni "); |
1521 | Event * ev = new Event(); | 1521 | Event * ev = new Event(); |
1522 | ev->setOrganizer(KOPrefs::instance()->email()); | ||
1522 | if ( a ) { | 1523 | if ( a ) { |
1523 | ev->addAttendee( a ); | 1524 | ev->addAttendee( a ); |
1524 | } | 1525 | } |
1525 | QString kind; | 1526 | QString kind; |
1526 | if ( birthday ) { | 1527 | if ( birthday ) { |
1527 | kind = i18n( "Birthday" ); | 1528 | kind = i18n( "Birthday" ); |
1528 | ev->setSummary( name + " (" + QString::number(date.year()) +")"); | 1529 | ev->setSummary( name + " (" + QString::number(date.year()) +")"); |
1529 | } | 1530 | } |
1530 | else { | 1531 | else { |
1531 | kind = i18n( "Anniversary" ); | 1532 | kind = i18n( "Anniversary" ); |
1532 | ev->setSummary( name + " (" + QString::number(date.year()) +") " + kind ); | 1533 | ev->setSummary( name + " (" + QString::number(date.year()) +") " + kind ); |
1533 | } | 1534 | } |
1534 | //ev->setOrganizer(a->email()); | ||
1535 | ev->setCategories( kind ); | 1535 | ev->setCategories( kind ); |
1536 | ev->setDtStart( QDateTime(date) ); | 1536 | ev->setDtStart( QDateTime(date) ); |
1537 | ev->setDtEnd( QDateTime(date) ); | 1537 | ev->setDtEnd( QDateTime(date) ); |
1538 | ev->setFloats( true ); | 1538 | ev->setFloats( true ); |
1539 | Recurrence * rec = ev->recurrence(); | 1539 | Recurrence * rec = ev->recurrence(); |
1540 | rec->setYearly(Recurrence::rYearlyMonth,1,-1); | 1540 | rec->setYearly(Recurrence::rYearlyMonth,1,-1); |
1541 | rec->addYearlyNum( date.month() ); | 1541 | rec->addYearlyNum( date.month() ); |
1542 | if ( !mCalendar->addAnniversaryNoDup( ev ) ) { | 1542 | if ( !mCalendar->addAnniversaryNoDup( ev ) ) { |
1543 | delete ev; | 1543 | delete ev; |
1544 | return false; | 1544 | return false; |
1545 | } | 1545 | } |
1546 | return true; | 1546 | return true; |
diff --git a/korganizer/koeditordetails.cpp b/korganizer/koeditordetails.cpp index cf0a458..ef8025b 100644 --- a/korganizer/koeditordetails.cpp +++ b/korganizer/koeditordetails.cpp | |||
@@ -81,28 +81,32 @@ KOEditorDetails::KOEditorDetails (int spacing,QWidget* parent,const char* name) | |||
81 | QString organizer = KOPrefs::instance()->email(); | 81 | QString organizer = KOPrefs::instance()->email(); |
82 | mOrganizerLabel = new QLabel(i18n("Organizer: %1").arg(organizer),this); | 82 | mOrganizerLabel = new QLabel(i18n("Organizer: %1").arg(organizer),this); |
83 | 83 | ||
84 | mListView = new KListView(this,"mListView"); | 84 | mListView = new KListView(this,"mListView"); |
85 | mListView->addColumn(i18n("Name"),180); | 85 | mListView->addColumn(i18n("Name"),180); |
86 | mListView->addColumn(i18n("Email"),180); | 86 | mListView->addColumn(i18n("Email"),180); |
87 | mListView->addColumn(i18n("Role"),60); | 87 | mListView->addColumn(i18n("Role"),60); |
88 | mListView->addColumn(i18n("Status"),100); | 88 | mListView->addColumn(i18n("Status"),100); |
89 | mListView->addColumn(i18n("RSVP"),35); | 89 | mListView->addColumn(i18n("RSVP"),35); |
90 | if ( KOPrefs::instance()->mCompactDialogs ) { | 90 | if ( KOPrefs::instance()->mCompactDialogs ) { |
91 | //mListView->setFixedHeight(78); | 91 | //mListView->setFixedHeight(78); |
92 | } | 92 | } |
93 | 93 | mListView->setAllColumnsShowFocus (true ); | |
94 | //mListView->setSingleClick( true ); | ||
94 | connect(mListView,SIGNAL(selectionChanged(QListViewItem *)), | 95 | connect(mListView,SIGNAL(selectionChanged(QListViewItem *)), |
95 | SLOT(updateAttendeeInput())); | 96 | SLOT(updateAttendeeInput())); |
96 | 97 | ||
98 | connect(mListView,SIGNAL(executed(QListViewItem * ,const QPoint&, int )), | ||
99 | SLOT(itemClicked(QListViewItem * ,const QPoint& , int ))); | ||
100 | |||
97 | QLabel *attendeeLabel = new QLabel(this); | 101 | QLabel *attendeeLabel = new QLabel(this); |
98 | attendeeLabel->setText(i18n("Name:")); | 102 | attendeeLabel->setText(i18n("Name:")); |
99 | attendeeLabel->setFixedSize( attendeeLabel->sizeHint() ); | 103 | attendeeLabel->setFixedSize( attendeeLabel->sizeHint() ); |
100 | mNameEdit = new QLineEdit(this); | 104 | mNameEdit = new QLineEdit(this); |
101 | connect(mNameEdit,SIGNAL(textChanged(const QString &)), | 105 | connect(mNameEdit,SIGNAL(textChanged(const QString &)), |
102 | SLOT(updateAttendeeItem())); | 106 | SLOT(updateAttendeeItem())); |
103 | 107 | ||
104 | mUidEdit = new QLineEdit(0); | 108 | mUidEdit = new QLineEdit(0); |
105 | mUidEdit->setText(""); | 109 | mUidEdit->setText(""); |
106 | 110 | ||
107 | QLabel *emailLabel = new QLabel(this); | 111 | QLabel *emailLabel = new QLabel(this); |
108 | emailLabel->setText(i18n("Email:")); | 112 | emailLabel->setText(i18n("Email:")); |
@@ -412,24 +416,31 @@ void KOEditorDetails::fillAttendeeInput( AttendeeListItem *aItem ) | |||
412 | 416 | ||
413 | void KOEditorDetails::setEnabledAttendeeInput( bool enabled ) | 417 | void KOEditorDetails::setEnabledAttendeeInput( bool enabled ) |
414 | { | 418 | { |
415 | mNameEdit->setEnabled( enabled ); | 419 | mNameEdit->setEnabled( enabled ); |
416 | mEmailEdit->setEnabled( enabled ); | 420 | mEmailEdit->setEnabled( enabled ); |
417 | mRoleCombo->setEnabled( enabled ); | 421 | mRoleCombo->setEnabled( enabled ); |
418 | mStatusCombo->setEnabled( enabled ); | 422 | mStatusCombo->setEnabled( enabled ); |
419 | mRsvpButton->setEnabled( enabled ); | 423 | mRsvpButton->setEnabled( enabled ); |
420 | 424 | ||
421 | mRemoveButton->setEnabled( enabled ); | 425 | mRemoveButton->setEnabled( enabled ); |
422 | } | 426 | } |
423 | 427 | ||
428 | void KOEditorDetails::itemClicked(QListViewItem * item ,const QPoint & pnt, int c ) | ||
429 | { | ||
430 | if ( item && c == 4 ) { | ||
431 | mRsvpButton->setChecked( !mRsvpButton->isChecked() ); | ||
432 | updateAttendeeItem(); | ||
433 | } | ||
434 | } | ||
424 | void KOEditorDetails::updateAttendeeItem() | 435 | void KOEditorDetails::updateAttendeeItem() |
425 | { | 436 | { |
426 | if (mDisableItemUpdate) return; | 437 | if (mDisableItemUpdate) return; |
427 | 438 | ||
428 | QListViewItem *item = mListView->selectedItem(); | 439 | QListViewItem *item = mListView->selectedItem(); |
429 | AttendeeListItem *aItem = static_cast<AttendeeListItem *>( item ); | 440 | AttendeeListItem *aItem = static_cast<AttendeeListItem *>( item ); |
430 | if ( !aItem ) return; | 441 | if ( !aItem ) return; |
431 | 442 | ||
432 | Attendee *a = aItem->data(); | 443 | Attendee *a = aItem->data(); |
433 | 444 | ||
434 | a->setName( mNameEdit->text() ); | 445 | a->setName( mNameEdit->text() ); |
435 | a->setUid( mUidEdit->text() ); | 446 | a->setUid( mUidEdit->text() ); |
diff --git a/korganizer/koeditordetails.h b/korganizer/koeditordetails.h index 0cc807f..a33ee82 100644 --- a/korganizer/koeditordetails.h +++ b/korganizer/koeditordetails.h | |||
@@ -74,24 +74,25 @@ class KOEditorDetails : public QWidget | |||
74 | // called when the app recieves a list of name/email/uid (=addresses) from another app. Usually Ka/Pi | 74 | // called when the app recieves a list of name/email/uid (=addresses) from another app. Usually Ka/Pi |
75 | // The first parameter is a uniqueid. It can be used to identify if event | 75 | // The first parameter is a uniqueid. It can be used to identify if event |
76 | void insertAttendees(const QString&, const QStringList& namelist, const QStringList& emaillist, const QStringList& uidlist); | 76 | void insertAttendees(const QString&, const QStringList& namelist, const QStringList& emaillist, const QStringList& uidlist); |
77 | 77 | ||
78 | 78 | ||
79 | protected slots: | 79 | protected slots: |
80 | void addNewAttendee(); | 80 | void addNewAttendee(); |
81 | void removeAttendee(); | 81 | void removeAttendee(); |
82 | void openAddressBook(); | 82 | void openAddressBook(); |
83 | void updateAttendeeInput(); | 83 | void updateAttendeeInput(); |
84 | void clearAttendeeInput(); | 84 | void clearAttendeeInput(); |
85 | void fillAttendeeInput(AttendeeListItem *); | 85 | void fillAttendeeInput(AttendeeListItem *); |
86 | void itemClicked(QListViewItem *,const QPoint & pnt, int c); | ||
86 | void updateAttendeeItem(); | 87 | void updateAttendeeItem(); |
87 | void setEnabledAttendeeInput(bool); | 88 | void setEnabledAttendeeInput(bool); |
88 | 89 | ||
89 | private: | 90 | private: |
90 | bool mDisableItemUpdate; | 91 | bool mDisableItemUpdate; |
91 | 92 | ||
92 | QLineEdit *mNameEdit; | 93 | QLineEdit *mNameEdit; |
93 | QLineEdit *mUidEdit; | 94 | QLineEdit *mUidEdit; |
94 | QLineEdit *mEmailEdit; | 95 | QLineEdit *mEmailEdit; |
95 | KListView *mListView; | 96 | KListView *mListView; |
96 | QComboBox* mRoleCombo; | 97 | QComboBox* mRoleCombo; |
97 | QCheckBox* mRsvpButton; | 98 | QCheckBox* mRsvpButton; |
diff --git a/korganizer/koeventviewer.cpp b/korganizer/koeventviewer.cpp index 5de667e..2f0fa9e 100644 --- a/korganizer/koeventviewer.cpp +++ b/korganizer/koeventviewer.cpp | |||
@@ -408,24 +408,25 @@ void KOEventViewer::formatCategories(Incidence *event) | |||
408 | addTag("h3",i18n("Categories")); | 408 | addTag("h3",i18n("Categories")); |
409 | } | 409 | } |
410 | addTag("p",event->categoriesStr()); | 410 | addTag("p",event->categoriesStr()); |
411 | } | 411 | } |
412 | } | 412 | } |
413 | void KOEventViewer::formatAttendees(Incidence *event) | 413 | void KOEventViewer::formatAttendees(Incidence *event) |
414 | { | 414 | { |
415 | QPtrList<Attendee> attendees = event->attendees(); | 415 | QPtrList<Attendee> attendees = event->attendees(); |
416 | if (attendees.count()) { | 416 | if (attendees.count()) { |
417 | 417 | ||
418 | 418 | ||
419 | QString iconPath = KGlobal::iconLoader()->iconPath("mailappt",KIcon::Small); | 419 | QString iconPath = KGlobal::iconLoader()->iconPath("mailappt",KIcon::Small); |
420 | QString NOiconPath = KGlobal::iconLoader()->iconPath("nomailappt",KIcon::Small); | ||
420 | addTag("h3",i18n("Organizer")); | 421 | addTag("h3",i18n("Organizer")); |
421 | mText.append("<ul><li>"); | 422 | mText.append("<ul><li>"); |
422 | #ifndef KORG_NOKABC | 423 | #ifndef KORG_NOKABC |
423 | 424 | ||
424 | #ifdef DESKTOP_VERSION | 425 | #ifdef DESKTOP_VERSION |
425 | KABC::AddressBook *add_book = KABC::StdAddressBook::self(); | 426 | KABC::AddressBook *add_book = KABC::StdAddressBook::self(); |
426 | KABC::Addressee::List addressList; | 427 | KABC::Addressee::List addressList; |
427 | addressList = add_book->findByEmail(event->organizer()); | 428 | addressList = add_book->findByEmail(event->organizer()); |
428 | KABC::Addressee o = addressList.first(); | 429 | KABC::Addressee o = addressList.first(); |
429 | if (!o.isEmpty() && addressList.size()<2) { | 430 | if (!o.isEmpty() && addressList.size()<2) { |
430 | mText += "<a href=\"uid:" + o.uid() + "\">"; | 431 | mText += "<a href=\"uid:" + o.uid() + "\">"; |
431 | mText += o.formattedName(); | 432 | mText += o.formattedName(); |
@@ -484,25 +485,28 @@ void KOEventViewer::formatAttendees(Incidence *event) | |||
484 | #else | 485 | #else |
485 | //qDebug("nokabc "); | 486 | //qDebug("nokabc "); |
486 | mText += "<li><a href=\"uid:" + a->uid() + "\">"; | 487 | mText += "<li><a href=\"uid:" + a->uid() + "\">"; |
487 | if (!a->name().isEmpty()) mText += a->name(); | 488 | if (!a->name().isEmpty()) mText += a->name(); |
488 | else mText += a->email(); | 489 | else mText += a->email(); |
489 | mText += "</a>\n"; | 490 | mText += "</a>\n"; |
490 | #endif | 491 | #endif |
491 | 492 | ||
492 | 493 | ||
493 | if (!a->email().isEmpty()) { | 494 | if (!a->email().isEmpty()) { |
494 | if (iconPath) { | 495 | if (iconPath) { |
495 | mText += "<a href=\"mailto:" + a->name() +" <" + a->email() + ">:" + mMailSubject + "\">"; | 496 | mText += "<a href=\"mailto:" + a->name() +" <" + a->email() + ">:" + mMailSubject + "\">"; |
496 | mText += "<IMG src=\"" + iconPath + "\">"; | 497 | if ( a->RSVP() ) |
498 | mText += "<IMG src=\"" + iconPath + "\">"; | ||
499 | else | ||
500 | mText += "<IMG src=\"" + NOiconPath + "\">"; | ||
497 | mText += "</a>\n"; | 501 | mText += "</a>\n"; |
498 | } | 502 | } |
499 | } | 503 | } |
500 | if (a->status() != Attendee::NeedsAction ) | 504 | if (a->status() != Attendee::NeedsAction ) |
501 | mText +="[" + a->statusStr() + "] "; | 505 | mText +="[" + a->statusStr() + "] "; |
502 | if (a->role() == Attendee::Chair ) | 506 | if (a->role() == Attendee::Chair ) |
503 | mText +="(" + a->roleStr().left(1) + ".)"; | 507 | mText +="(" + a->roleStr().left(1) + ".)"; |
504 | } | 508 | } |
505 | mText.append("</li></ul>"); | 509 | mText.append("</li></ul>"); |
506 | } | 510 | } |
507 | 511 | ||
508 | } | 512 | } |
diff --git a/libkcal/dndfactory.h b/libkcal/dndfactory.h index 7e2ca04..2df5259 100644 --- a/libkcal/dndfactory.h +++ b/libkcal/dndfactory.h | |||
@@ -12,24 +12,26 @@ | |||
12 | 12 | ||
13 | This library is distributed in the hope that it will be useful, | 13 | This library is distributed in the hope that it will be useful, |
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
16 | Library General Public License for more details. | 16 | Library General Public License for more details. |
17 | 17 | ||
18 | You should have received a copy of the GNU Library General Public License | 18 | You should have received a copy of the GNU Library General Public License |
19 | along with this library; see the file COPYING.LIB. If not, write to | 19 | along with this library; see the file COPYING.LIB. If not, write to |
20 | the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | 20 | the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
21 | Boston, MA 02111-1307, USA. | 21 | Boston, MA 02111-1307, USA. |
22 | */ | 22 | */ |
23 | 23 | ||
24 | #ifdef DESKTOP_VERSION | ||
25 | |||
24 | #ifndef KCAL_DNDFACTORY_H | 26 | #ifndef KCAL_DNDFACTORY_H |
25 | #define KCAL_DNDFACTORY_H | 27 | #define KCAL_DNDFACTORY_H |
26 | 28 | ||
27 | //#include "libkcal_export.h" | 29 | //#include "libkcal_export.h" |
28 | 30 | ||
29 | namespace KCal { | 31 | namespace KCal { |
30 | 32 | ||
31 | class ICalDrag; | 33 | class ICalDrag; |
32 | class Event; | 34 | class Event; |
33 | class Todo; | 35 | class Todo; |
34 | class Calendar; | 36 | class Calendar; |
35 | #define LIBKCAL_EXPORT | 37 | #define LIBKCAL_EXPORT |
@@ -63,12 +65,19 @@ class LIBKCAL_EXPORT DndFactory | |||
63 | Incidence *pasteIncidence( const QDate &, const QTime *newTime = 0 ); | 65 | Incidence *pasteIncidence( const QDate &, const QTime *newTime = 0 ); |
64 | 66 | ||
65 | private: | 67 | private: |
66 | Calendar *mCalendar; | 68 | Calendar *mCalendar; |
67 | 69 | ||
68 | class Private; | 70 | class Private; |
69 | Private *d; | 71 | Private *d; |
70 | }; | 72 | }; |
71 | 73 | ||
72 | } | 74 | } |
73 | 75 | ||
74 | #endif | 76 | #endif |
77 | |||
78 | #else // dummy implementation for embedded | ||
79 | #include "dndfactory_dummy.h" | ||
80 | #define cutIncidence cutEvent | ||
81 | #define pasteIncidence pasteEvent | ||
82 | #define copyIncidence copyEvent | ||
83 | #endif | ||