summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--bin/kdepim/WhatsNew.txt3
-rw-r--r--bin/kdepim/korganizer/germantranslation.txt4
-rw-r--r--korganizer/calendarview.cpp15
-rw-r--r--korganizer/kofilterview.cpp24
-rw-r--r--korganizer/kofilterview.h3
-rw-r--r--korganizer/koprefs.cpp4
-rw-r--r--korganizer/main.cpp1
-rw-r--r--korganizer/mainwindow.cpp9
8 files changed, 55 insertions, 8 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt
index dfc9553..2e120df 100644
--- a/bin/kdepim/WhatsNew.txt
+++ b/bin/kdepim/WhatsNew.txt
@@ -2,6 +2,9 @@ Info about the changes in new versions of KDE-Pim/Pi
********** VERSION 2.1.10 ************
+KO/Pi:
+Importing Birthdays will now create another file resource "Birthdays" and import the birthday data from KA/Pi into that file.
+
********** VERSION 2.1.9 ************
KO/Pi:
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt
index 2ade5bd..01c707e 100644
--- a/bin/kdepim/korganizer/germantranslation.txt
+++ b/bin/kdepim/korganizer/germantranslation.txt
@@ -1455,8 +1455,8 @@
{ "Backup succesfully finished","Backup erfolgreich beendet" },
{ "(Hint: You can enable automatic backup in the global settings!)","(Hinweis: Sie können ein automatisches Backup in den globalen Einstellungen konfigurieren!)" },
{ "This will <b>backup all calendar files</b> to the directory %1 %2","Das schreibt ein <b>Backup aller Kalenderdateien</b> in das Verzeichnis %1 %2" },
-{ "","" },
-{ "","" },
+{ "Birthdays","Geburtstage" },
+{ "KO/Pi import information!","KO/Pi Import Information!" },
{ "","" },
{ "","" },
{ "","" },
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index 08909ed..f179c58 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -1607,6 +1607,11 @@ bool CalendarView::importBday()
#ifndef KORG_NOKABC
#ifdef DESKTOP_VERSION
+ int curCal = mCalendar->defaultCalendar();
+ int bd = mCalEditView->getBirtdayID();
+ if ( bd == 0 )
+ return;
+ mCalendar->setDefaultCalendar( bd );
KABC::StdAddressBook* AddressBook = KABC::StdAddressBook::self( true );
KABC::AddressBook::Iterator it;
int count = 0;
@@ -1645,6 +1650,7 @@ bool CalendarView::importBday()
++addCount;
}
}
+ mCalendar->setDefaultCalendar( curCal );
updateView();
topLevelWidget()->setCaption(QString::number( addCount )+ i18n(" birthdays/anniversaries added!"));
#else //DESKTOP_VERSION
@@ -1666,9 +1672,17 @@ void CalendarView::insertBirthdays(const QString& uid, const QStringList& birthd
const QStringList& emailList, const QStringList& assembledNameList,
const QStringList& uidList)
{
+
//qDebug("KO::CalendarView::insertBirthdays");
if (uid == this->name())
{
+ int curCal = mCalendar->defaultCalendar();
+ int bd = mCalEditView->getBirtdayID();
+ if ( bd == 0 )
+ return;
+ mCalendar->setDefaultCalendar( bd );
+
+
int count = birthdayList.count();
int addCount = 0;
KCal::Attendee* a = 0;
@@ -1731,6 +1745,7 @@ void CalendarView::insertBirthdays(const QString& uid, const QStringList& birthd
}
}
+ mCalendar->setDefaultCalendar( curCal );
updateView();
topLevelWidget()->setCaption(QString::number( addCount )+ i18n(" birthdays/anniversaries added!"));
diff --git a/korganizer/kofilterview.cpp b/korganizer/kofilterview.cpp
index a8a3052..3cde103 100644
--- a/korganizer/kofilterview.cpp
+++ b/korganizer/kofilterview.cpp
@@ -378,14 +378,20 @@ void KOCalEditView::addCal()
kkf = KOPrefs::instance()->mCalendars.next();
}
}
+ addCalendar ( name, file );
+}
+int KOCalEditView::addCalendar( QString name, QString file, bool ask )
+{
+
QFileInfo fi ( file );
if (!fi.exists() ) {
+ if ( ask )
if ( KMessageBox::questionYesNo(this, i18n("The file\n%1\ndoes not exist!\nShall I create it for you?").arg( file ) )== KMessageBox::No )
- return;
+ return 0;
QFile fileIn( file );
if (!fileIn.open( IO_WriteOnly ) ) {
KMessageBox::sorry( this, i18n("Sorry, cannot create the file\n%1!\nNo calendar added!").arg( file ) );
- return;
+ return 0;
}
QTextStream tsIn( &fileIn );
tsIn.setCodec( QTextCodec::codecForName("utf8") );
@@ -396,9 +402,23 @@ void KOCalEditView::addCal()
kkf->mName = name;
kkf->mFileName = file;
emit calendarAdded( kkf->mCalNumber );
+ if ( ask )
emit needsUpdate();
QTimer::singleShot( 0, this, SLOT ( readConfig() ) );
+ return kkf->mCalNumber;
+}
+int KOCalEditView::getBirtdayID()
+{
+ KopiCalendarFile * kkf = KOPrefs::instance()->mCalendars.first();
+ while ( kkf ) {
+ if ( kkf->mName == i18n("Birthdays") )
+ return kkf->mCalNumber;
+ kkf = KOPrefs::instance()->mCalendars.next();
+ }
+ QString file = locateLocal( "data", "korganizer/birthdays.ics" );
+ return addCalendar( i18n("Birthdays"), file, false );
}
+
void KOCalEditView::enableAll()
{
toggleList( mEnabledB );
diff --git a/korganizer/kofilterview.h b/korganizer/kofilterview.h
index b57a6e9..54fe2c5 100644
--- a/korganizer/kofilterview.h
+++ b/korganizer/kofilterview.h
@@ -208,7 +208,8 @@ class KOCalEditView : public QScrollView
public:
KOCalEditView( QWidget* parent=0,const char* name=0);
~KOCalEditView();
-
+ int addCalendar( QString calName, QString fileName, bool ask = true );
+ int getBirtdayID();
public slots:
void addCal();
void enableAll();
diff --git a/korganizer/koprefs.cpp b/korganizer/koprefs.cpp
index a4ea3d3..7ba7269 100644
--- a/korganizer/koprefs.cpp
+++ b/korganizer/koprefs.cpp
@@ -460,6 +460,10 @@ void KOPrefs::usrReadConfig()
if ( kkf->mCalNumber == 1 ) {
kkf->mFileName = locateLocal( "data", "korganizer/mycalendar.ics" );
}
+ //qDebug("NAME %s %s", kkf->mName.latin1(), i18n("Birthdays").latin1() );
+ if ( kkf->mName == i18n("Birthdays") ) {
+ kkf->mFileName = locateLocal( "data", "korganizer/birthdays.ics" );
+ }
}
KPimPrefs::usrReadConfig();
diff --git a/korganizer/main.cpp b/korganizer/main.cpp
index 2bf46b9..c9d1345 100644
--- a/korganizer/main.cpp
+++ b/korganizer/main.cpp
@@ -85,6 +85,7 @@ int main( int argc, char **argv )
KStandardDirs::setAppDir( QDir::convertSeparators(locateLocal("data", "korganizer")));
QApplication::setFont( KPimGlobalPrefs::instance()->mApplicationFont );
+ KPimGlobalPrefs::instance()->setGlobalConfig();
MainWindow m;
#ifndef DESKTOP_VERSION
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index b9d8742..68233e8 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -173,7 +173,7 @@ MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) :
mFlagKeyPressed = false;
setCaption("KO/Pi");
KOPrefs *p = KOPrefs::instance();
- KPimGlobalPrefs::instance()->setGlobalConfig();
+ //KPimGlobalPrefs::instance()->setGlobalConfig();
p->mCurrentDisplayedView = 0;
if ( p->mHourSize > 22 )
p->mHourSize = 22;
@@ -1723,7 +1723,7 @@ void MainWindow::importOL()
}
void MainWindow::importBday()
{
- int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),
+ int result = QMessageBox::warning( this, i18n("KO/Pi import information!"),
i18n("When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n"),
i18n("Import!"), i18n("Cancel"), 0,
0, 1 );
@@ -2310,7 +2310,6 @@ void MainWindow::configureAgenda( int item )
void MainWindow::saveCalendar()
{
-
QString bupDir = KPimGlobalPrefs::instance()->mBackupDatadir;
if ( KPimGlobalPrefs::instance()->mBackupUseDefaultDir)
bupDir = KGlobalSettings::backupDataDir();
@@ -2319,6 +2318,10 @@ void MainWindow::saveCalendar()
if ( !KPimGlobalPrefs::instance()->mBackupEnabled )
bupHint = i18n("(Hint: You can enable automatic backup in the global settings!)");
if ( KMessageBox::warningContinueCancel( this, i18n("This will <b>backup all calendar files</b> to the directory %1 %2").arg(bupDir).arg(bupHint),i18n("Information") ) != KMessageBox::Continue ) return;
+ bool enabled = KPimGlobalPrefs::instance()->mBackupEnabled;
+ KPimGlobalPrefs::instance()->mBackupEnabled = false;
+ save();
+ KPimGlobalPrefs::instance()->mBackupEnabled = enabled;
backupAllFiles();
}
void MainWindow::loadCalendar()