summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-01-30 00:33:46 (UTC)
committer zautrix <zautrix>2005-01-30 00:33:46 (UTC)
commita8fae20ad7bcb59df9a603c88accf3a10401c2f9 (patch) (unidiff)
tree12deeef9bae6d470c244ce9a9916c59d6879f9b2
parentd94b52aa95cc52aa1bef7c9cd99f43c725ed8042 (diff)
downloadkdepimpi-a8fae20ad7bcb59df9a603c88accf3a10401c2f9.zip
kdepimpi-a8fae20ad7bcb59df9a603c88accf3a10401c2f9.tar.gz
kdepimpi-a8fae20ad7bcb59df9a603c88accf3a10401c2f9.tar.bz2
f
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/calendarview.cpp2
-rw-r--r--korganizer/koeditordetails.cpp13
-rw-r--r--korganizer/koeditordetails.h1
-rw-r--r--korganizer/koeventviewer.cpp6
-rw-r--r--libkcal/dndfactory.h9
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
@@ -1506,45 +1506,45 @@ void CalendarView::insertBirthdays(const QString& uid, const QStringList& birthd
1506 } 1506 }
1507 } 1507 }
1508 1508
1509 updateView(); 1509 updateView();
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
1518bool CalendarView::addAnniversary( QDate date, QString name, KCal::Attendee* a, bool birthday) 1518bool 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;
1547 1547
1548} 1548}
1549bool CalendarView::importQtopia( const QString &categories, 1549bool CalendarView::importQtopia( const QString &categories,
1550 const QString &datebook, 1550 const QString &datebook,
diff --git a/korganizer/koeditordetails.cpp b/korganizer/koeditordetails.cpp
index cf0a458..ef8025b 100644
--- a/korganizer/koeditordetails.cpp
+++ b/korganizer/koeditordetails.cpp
@@ -77,36 +77,40 @@ KOEditorDetails::KOEditorDetails (int spacing,QWidget* parent,const char* name)
77{ 77{
78 QGridLayout *topLayout = new QGridLayout(this); 78 QGridLayout *topLayout = new QGridLayout(this);
79 topLayout->setSpacing(spacing); 79 topLayout->setSpacing(spacing);
80 80
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:"));
109 mEmailEdit = new QLineEdit(this); 113 mEmailEdit = new QLineEdit(this);
110 connect(mEmailEdit,SIGNAL(textChanged(const QString &)), 114 connect(mEmailEdit,SIGNAL(textChanged(const QString &)),
111 SLOT(updateAttendeeItem())); 115 SLOT(updateAttendeeItem()));
112 116
@@ -408,32 +412,39 @@ void KOEditorDetails::fillAttendeeInput( AttendeeListItem *aItem )
408 mDisableItemUpdate = false; 412 mDisableItemUpdate = false;
409 413
410 setEnabledAttendeeInput( true ); 414 setEnabledAttendeeInput( true );
411} 415}
412 416
413void KOEditorDetails::setEnabledAttendeeInput( bool enabled ) 417void 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
428void KOEditorDetails::itemClicked(QListViewItem * item ,const QPoint & pnt, int c )
429{
430 if ( item && c == 4 ) {
431 mRsvpButton->setChecked( !mRsvpButton->isChecked() );
432 updateAttendeeItem();
433 }
434}
424void KOEditorDetails::updateAttendeeItem() 435void 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() );
436 a->setEmail( mEmailEdit->text() ); 447 a->setEmail( mEmailEdit->text() );
437 a->setRole( Attendee::Role( mRoleCombo->currentItem() ) ); 448 a->setRole( Attendee::Role( mRoleCombo->currentItem() ) );
438 a->setStatus( Attendee::PartStat( mStatusCombo->currentItem() ) ); 449 a->setStatus( Attendee::PartStat( mStatusCombo->currentItem() ) );
439 a->setRSVP( mRsvpButton->isChecked() ); 450 a->setRSVP( mRsvpButton->isChecked() );
diff --git a/korganizer/koeditordetails.h b/korganizer/koeditordetails.h
index 0cc807f..a33ee82 100644
--- a/korganizer/koeditordetails.h
+++ b/korganizer/koeditordetails.h
@@ -70,32 +70,33 @@ class KOEditorDetails : public QWidget
70 bool validateInput(); 70 bool validateInput();
71 71
72 public slots: 72 public slots:
73 void insertAttendee(Attendee *); 73 void insertAttendee(Attendee *);
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;
98 QComboBox* mStatusCombo; 99 QComboBox* mStatusCombo;
99 QLabel *mOrganizerLabel; 100 QLabel *mOrganizerLabel;
100 101
101 QPushButton* mAddButton; 102 QPushButton* mAddButton;
diff --git a/korganizer/koeventviewer.cpp b/korganizer/koeventviewer.cpp
index 5de667e..2f0fa9e 100644
--- a/korganizer/koeventviewer.cpp
+++ b/korganizer/koeventviewer.cpp
@@ -404,32 +404,33 @@ void KOEventViewer::formatCategories(Incidence *event)
404 if (!event->categoriesStr().isEmpty()) { 404 if (!event->categoriesStr().isEmpty()) {
405 if (event->categories().count() == 1) { 405 if (event->categories().count() == 1) {
406 addTag("h3",i18n("Category")); 406 addTag("h3",i18n("Category"));
407 } else { 407 } else {
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}
413void KOEventViewer::formatAttendees(Incidence *event) 413void 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();
432 mText += "</a>\n"; 433 mText += "</a>\n";
433 } else { 434 } else {
434 mText.append(event->organizer()); 435 mText.append(event->organizer());
435 } 436 }
@@ -480,33 +481,36 @@ void KOEventViewer::formatAttendees(Incidence *event)
480 if (!a->name().isEmpty()) mText += a->name(); 481 if (!a->name().isEmpty()) mText += a->name();
481 else mText += a->email(); 482 else mText += a->email();
482 mText += "</a>\n"; 483 mText += "</a>\n";
483#endif //DESKTOP_VERSION 484#endif //DESKTOP_VERSION
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}
509void KOEventViewer::appendJournal(Journal *jour, int mode ) 513void KOEventViewer::appendJournal(Journal *jour, int mode )
510{ 514{
511 bool shortDate = KOPrefs::instance()->mShortDateInViewer; 515 bool shortDate = KOPrefs::instance()->mShortDateInViewer;
512 if (mode == 0 ) { 516 if (mode == 0 ) {
diff --git a/libkcal/dndfactory.h b/libkcal/dndfactory.h
index 7e2ca04..2df5259 100644
--- a/libkcal/dndfactory.h
+++ b/libkcal/dndfactory.h
@@ -8,32 +8,34 @@
8 This library is free software; you can redistribute it and/or 8 This library is free software; you can redistribute it and/or
9 modify it under the terms of the GNU Library General Public 9 modify it under the terms of the GNU Library General Public
10 License as published by the Free Software Foundation; either 10 License as published by the Free Software Foundation; either
11 version 2 of the License, or (at your option) any later version. 11 version 2 of the License, or (at your option) any later version.
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
29namespace KCal { 31namespace KCal {
30 32
31class ICalDrag; 33class ICalDrag;
32class Event; 34class Event;
33class Todo; 35class Todo;
34class Calendar; 36class Calendar;
35#define LIBKCAL_EXPORT 37#define LIBKCAL_EXPORT
36 38
37/** 39/**
38 This class implements functions to create Drag and Drop objects used for 40 This class implements functions to create Drag and Drop objects used for
39 Drag-and-Drop and Copy-and-Paste. 41 Drag-and-Drop and Copy-and-Paste.
@@ -59,16 +61,23 @@ class LIBKCAL_EXPORT DndFactory
59 void cutIncidence( Incidence * ); 61 void cutIncidence( Incidence * );
60 /** copy the incidence to clipboard */ 62 /** copy the incidence to clipboard */
61 bool copyIncidence( Incidence * ); 63 bool copyIncidence( Incidence * );
62 /** pastes the event or todo and returns a pointer to the new incidence pasted. */ 64 /** pastes the event or todo and returns a pointer to the new incidence pasted. */
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