summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-11-26 12:38:58 (UTC)
committer zautrix <zautrix>2005-11-26 12:38:58 (UTC)
commit854d4a0c686962cd73ac7418b5fbf4b2d73adab7 (patch) (unidiff)
tree864a872db7d3787bac151da8257ae132b04ec5e3
parent85bd9f05564e566b296c949ce6e214ebdbf573ac (diff)
downloadkdepimpi-854d4a0c686962cd73ac7418b5fbf4b2d73adab7.zip
kdepimpi-854d4a0c686962cd73ac7418b5fbf4b2d73adab7.tar.gz
kdepimpi-854d4a0c686962cd73ac7418b5fbf4b2d73adab7.tar.bz2
sync
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/calendarview.cpp29
-rw-r--r--libkcal/dndfactory_dummy.h5
-rw-r--r--libkdepim/categoryeditdialog.h4
-rw-r--r--libkdepim/categoryselectdialog.cpp1
-rw-r--r--libkdepim/ksyncmanager.cpp9
-rw-r--r--libkdepim/ksyncmanager.h2
6 files changed, 32 insertions, 18 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index 9571f16..8d024c1 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -1,31 +1,31 @@
1/* 1/*
2 This file is part of KOrganizer. 2 This file is part of KOrganizer.
3 3
4 Requires the Qt and KDE widget libraries, available at no cost at 4 Requires the Qt and KDE widget libraries, available at no cost at
5 http://www.troll.no and http://www.kde.org respectively 5 http://www.troll.no and http://www.kde.org respectively
6 6
7 Copyright (c) 1997, 1998, 1999 7 Copyright (c) savecale1997, 1998, 1999
8 Preston Brown (preton.brown@yale.edu) 8 Preston Brown (preton.brown@yale.edu)
9 Fester Zigterman (F.J.F.ZigtermanRustenburg@student.utwente.nl) 9 Fester Zigterman (F.J.F.ZigtermanRustenburg@student.utwente.nl)
10 Ian Dawes (iadawes@globalserve.net) 10 Ian Dawes (iadawes@globalserve.net)
11 Laszlo Boloni (boloni@cs.purdue.edu) 11 Laszlo Boloni (boloni@cs.purdue.edu)
12 12
13 Copyright (c) 2000, 2001, 2002 13 Copyright (c) 2000, 2001, 2002
14 Cornelius Schumacher <schumacher@kde.org> 14 Cornelius Schumacher <schumacher@kde.org>
15 15
16 This program is free software; you can redistribute it and/or modify 16 This program is free software; you can redistribute it and/or modify
17 it under the terms of the GNU General Public License as published by 17 it under the terms of the GNU General Public License as published by
18 the Free Software Foundation; either version 2 of the License, or 18 the Free Software Foundation; either version 2 of the License, or
19 (at your option) any later version. 19 (at your option) any later version.
20 20
21 This program is distributed in the hope that it will be useful, 21 This program is distributed in the hope that it will be useful,
22 but WITHOUT ANY WARRANTY; without even the implied warranty of 22 but WITHOUT ANY WARRANTY; without even the implied warranty of
23 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the 23 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
24 GNU General Public License for more details. 24 GNU General Public License for more details.
25 25
26 You should have received a copy of the GNU General Public License 26 You should have received a copy of the GNU General Public License
27 along with this program; if not, write to the Free Software 27 along with this program; if not, write to the Free Software
28 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 28 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
29*/ 29*/
30 30
31#include <stdlib.h> 31#include <stdlib.h>
@@ -758,74 +758,78 @@ void CalendarView::nextConflict( bool all, bool allday )
758void CalendarView::conflictAll() 758void CalendarView::conflictAll()
759{ 759{
760 nextConflict ( true, true ); 760 nextConflict ( true, true );
761} 761}
762void CalendarView::conflictAllday() 762void CalendarView::conflictAllday()
763{ 763{
764 nextConflict ( false, true ); 764 nextConflict ( false, true );
765} 765}
766void CalendarView::conflictNotAll() 766void CalendarView::conflictNotAll()
767{ 767{
768 nextConflict ( false, false ); 768 nextConflict ( false, false );
769} 769}
770 770
771void CalendarView::setCalReadOnly( int id, bool readO ) 771void CalendarView::setCalReadOnly( int id, bool readO )
772{ 772{
773 if ( readO ) { 773 if ( readO ) {
774 emit save(); 774 emit save();
775 } 775 }
776 mCalendar->setReadOnly( id, readO ); 776 mCalendar->setReadOnly( id, readO );
777} 777}
778void CalendarView::setScrollBarStep(int val ) 778void CalendarView::setScrollBarStep(int val )
779{ 779{
780#ifdef DESKTOP_VERSION 780#ifdef DESKTOP_VERSION
781 mDateScrollBar->setLineStep ( val ); 781 mDateScrollBar->setLineStep ( val );
782#else
783 Q_UNUSED( val );
782#endif 784#endif
783} 785}
784void CalendarView::scrollBarValue(int val ) 786void CalendarView::scrollBarValue(int val )
785{ 787{
786#ifdef DESKTOP_VERSION 788#ifdef DESKTOP_VERSION
787 if ( QApplication::desktop()->width() < 800 ) return; 789 if ( QApplication::desktop()->width() < 800 ) return;
788 if ( flag_blockScrollBar ) return; 790 if ( flag_blockScrollBar ) return;
789 flag_blockScrollBar = true; 791 flag_blockScrollBar = true;
790 int count = mNavigator->selectedDates().count(); 792 int count = mNavigator->selectedDates().count();
791 int day = mNavigator->selectedDates().first().dayOfYear(); 793 int day = mNavigator->selectedDates().first().dayOfYear();
792 int stepdays = val; 794 int stepdays = val;
793 if ( mDateScrollBar->lineStep () <= count ) { 795 if ( mDateScrollBar->lineStep () <= count ) {
794 //val = val/mDateScrollBar->lineStep ()*mDateScrollBar->lineStep(); 796 //val = val/mDateScrollBar->lineStep ()*mDateScrollBar->lineStep();
795 //qDebug("VAL %d ",val ); 797 //qDebug("VAL %d ",val );
796 stepdays = (val-day)/mDateScrollBar->lineStep ()*mDateScrollBar->lineStep(); 798 stepdays = (val-day)/mDateScrollBar->lineStep ()*mDateScrollBar->lineStep();
797 stepdays = day+stepdays; 799 stepdays = day+stepdays;
798 if ( stepdays < 0 ) stepdays = 0; 800 if ( stepdays < 0 ) stepdays = 0;
799 } 801 }
800 if ( stepdays == day ) { 802 if ( stepdays == day ) {
801 flag_blockScrollBar = false; 803 flag_blockScrollBar = false;
802 return; 804 return;
803 } 805 }
804 int year = mNavigator->selectedDates().first().year(); 806 int year = mNavigator->selectedDates().first().year();
805 QDate d ( year,1,1 ); 807 QDate d ( year,1,1 );
806 mNavigator->selectDates( d.addDays( stepdays-1) , count ); 808 mNavigator->selectDates( d.addDays( stepdays-1) , count );
807 flag_blockScrollBar = false; 809 flag_blockScrollBar = false;
810#else
811 Q_UNUSED( val );
808#endif 812#endif
809 813
810} 814}
811void CalendarView::updateView(const QDate &start, const QDate &end) 815void CalendarView::updateView(const QDate &start, const QDate &end)
812{ 816{
813#ifdef DESKTOP_VERSION 817#ifdef DESKTOP_VERSION
814 if ( ! mDateScrollBar->draggingSlider () ) { 818 if ( ! mDateScrollBar->draggingSlider () ) {
815 int dof = start.dayOfYear(); 819 int dof = start.dayOfYear();
816 //qDebug("dof %d day %d val %d ", dof, start.dayOfYear(),mDateScrollBar->value() ); 820 //qDebug("dof %d day %d val %d ", dof, start.dayOfYear(),mDateScrollBar->value() );
817 if ( dof != mDateScrollBar->value() ) { 821 if ( dof != mDateScrollBar->value() ) {
818 mDateScrollBar->blockSignals( true ); 822 mDateScrollBar->blockSignals( true );
819 mDateScrollBar->setValue( start.dayOfYear()); 823 mDateScrollBar->setValue( start.dayOfYear());
820 mDateScrollBar->blockSignals( false ); 824 mDateScrollBar->blockSignals( false );
821 } 825 }
822 } 826 }
823#endif 827#endif
824 mTodoList->updateView(); 828 mTodoList->updateView();
825 mViewManager->updateView(start, end); 829 mViewManager->updateView(start, end);
826 //mDateNavigator->updateView(); 830 //mDateNavigator->updateView();
827} 831}
828 832
829 833
830 834
831void CalendarView::checkFiles() 835void CalendarView::checkFiles()
@@ -1581,48 +1585,49 @@ void CalendarView::checkExternSyncEvent( QPtrList<Event> lastSync , Incidence* t
1581 QString id = toDelete->getID( eve->uid().mid( 15 ) ); // this is the sync profile name 1585 QString id = toDelete->getID( eve->uid().mid( 15 ) ); // this is the sync profile name
1582 if ( !id.isEmpty() ) { 1586 if ( !id.isEmpty() ) {
1583 QString des = eve->description(); 1587 QString des = eve->description();
1584 QString pref = "e"; 1588 QString pref = "e";
1585 if ( toDelete->typeID() == todoID ) 1589 if ( toDelete->typeID() == todoID )
1586 pref = "t"; 1590 pref = "t";
1587 des += pref+ id + ","; 1591 des += pref+ id + ",";
1588 eve->setReadOnly( false ); 1592 eve->setReadOnly( false );
1589 eve->setDescription( des ); 1593 eve->setDescription( des );
1590 //qDebug("setdes %s ", des.latin1()); 1594 //qDebug("setdes %s ", des.latin1());
1591 eve->setReadOnly( true ); 1595 eve->setReadOnly( true );
1592 } 1596 }
1593 eve = lastSync.next(); 1597 eve = lastSync.next();
1594 } 1598 }
1595 1599
1596} 1600}
1597void CalendarView::checkExternalId( Incidence * inc ) 1601void CalendarView::checkExternalId( Incidence * inc )
1598{ 1602{
1599 QPtrList<Event> lastSync = mCalendar->getExternLastSyncEvents() ; 1603 QPtrList<Event> lastSync = mCalendar->getExternLastSyncEvents() ;
1600 checkExternSyncEvent( lastSync, inc ); 1604 checkExternSyncEvent( lastSync, inc );
1601 1605
1602} 1606}
1603bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int mode ) 1607bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int mode )
1604{ 1608{
1609
1605 bool syncOK = true; 1610 bool syncOK = true;
1606 int addedEvent = 0; 1611 int addedEvent = 0;
1607 int addedEventR = 0; 1612 int addedEventR = 0;
1608 int deletedEventR = 0; 1613 int deletedEventR = 0;
1609 int deletedEventL = 0; 1614 int deletedEventL = 0;
1610 int changedLocal = 0; 1615 int changedLocal = 0;
1611 int changedRemote = 0; 1616 int changedRemote = 0;
1612 int filteredIN = 0; 1617 int filteredIN = 0;
1613 int filteredOUT = 0; 1618 int filteredOUT = 0;
1614 //QPtrList<Event> el = local->rawEvents(); 1619 //QPtrList<Event> el = local->rawEvents();
1615 Event* eventR; 1620 Event* eventR;
1616 QString uid; 1621 QString uid;
1617 int take; 1622 int take;
1618 Event* eventRSync; 1623 Event* eventRSync;
1619 Event* eventLSync; 1624 Event* eventLSync;
1620 clearAllViews(); 1625 clearAllViews();
1621 QPtrList<Event> eventRSyncSharp = remote->getExternLastSyncEvents(); 1626 QPtrList<Event> eventRSyncSharp = remote->getExternLastSyncEvents();
1622 QPtrList<Event> eventLSyncSharp = local->getExternLastSyncEvents(); 1627 QPtrList<Event> eventLSyncSharp = local->getExternLastSyncEvents();
1623 bool fullDateRange = false; 1628 bool fullDateRange = false;
1624 local->resetTempSyncStat(); 1629 local->resetTempSyncStat();
1625 mLastCalendarSync = QDateTime::currentDateTime(); 1630 mLastCalendarSync = QDateTime::currentDateTime();
1626 if ( mSyncManager->syncWithDesktop() ) { 1631 if ( mSyncManager->syncWithDesktop() ) {
1627 remote->resetPilotStat(1); 1632 remote->resetPilotStat(1);
1628 if ( KSyncManager::mRequestedSyncEvent.isValid() ) { 1633 if ( KSyncManager::mRequestedSyncEvent.isValid() ) {
@@ -1711,105 +1716,105 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
1711 if ( incCounter % modulo == 0 ) 1716 if ( incCounter % modulo == 0 )
1712 bar.setProgress( incCounter ); 1717 bar.setProgress( incCounter );
1713 ++incCounter; 1718 ++incCounter;
1714 uid = inR->uid(); 1719 uid = inR->uid();
1715 bool skipIncidence = false; 1720 bool skipIncidence = false;
1716 if ( uid.left(15) == QString("last-syncEvent-") ) 1721 if ( uid.left(15) == QString("last-syncEvent-") )
1717 skipIncidence = true; 1722 skipIncidence = true;
1718 QString idS; 1723 QString idS;
1719 qApp->processEvents(); 1724 qApp->processEvents();
1720 if ( !skipIncidence ) { 1725 if ( !skipIncidence ) {
1721 inL = local->incidenceForUid( uid , false , true ); 1726 inL = local->incidenceForUid( uid , false , true );
1722 if ( inL ) { // maybe conflict - same uid in both calendars 1727 if ( inL ) { // maybe conflict - same uid in both calendars
1723 if ( (take = takeEvent( inL, inR, mode, fullDateRange )) > 0 ) { 1728 if ( (take = takeEvent( inL, inR, mode, fullDateRange )) > 0 ) {
1724 //qDebug("take %d %s ", take, inL->summary().latin1()); 1729 //qDebug("take %d %s ", take, inL->summary().latin1());
1725 if ( take == 3 ) 1730 if ( take == 3 )
1726 return false; 1731 return false;
1727 if ( take == 1 ) {// take local ********************** 1732 if ( take == 1 ) {// take local **********************
1728 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) 1733 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL )
1729 inL->setCsum( mCurrentSyncDevice, inR->getCsum(mCurrentSyncDevice) ); 1734 inL->setCsum( mCurrentSyncDevice, inR->getCsum(mCurrentSyncDevice) );
1730 else 1735 else
1731 idS = inR->IDStr(); 1736 idS = inR->IDStr();
1732 int calID = inR->calID(); 1737 int calID = inR->calID();
1733 remote->deleteIncidence( inR ); 1738 remote->deleteIncidence( inR );
1734 inR = inL->clone(); 1739 inR = inL->clone();
1735 inR->setCalID( calID ); 1740 inR->setCalID_block( calID );
1736 inR->setTempSyncStat( SYNC_TEMPSTATE_INITIAL ); 1741 inR->setTempSyncStat( SYNC_TEMPSTATE_INITIAL );
1737 if ( mGlobalSyncMode != SYNC_MODE_EXTERNAL ) 1742 if ( mGlobalSyncMode != SYNC_MODE_EXTERNAL )
1738 inR->setIDStr( idS ); 1743 inR->setIDStr( idS );
1739 remote->addIncidence( inR ); 1744 remote->addIncidence( inR );
1740 if ( mSyncManager->syncWithDesktop() ) 1745 if ( mSyncManager->syncWithDesktop() )
1741 inR->setPilotId( 2 ); 1746 inR->setPilotId( 2 );
1742 ++changedRemote; 1747 ++changedRemote;
1743 } else {// take remote ********************** 1748 } else {// take remote **********************
1744 if ( !inL->isReadOnly() ) { 1749 if ( !inL->isReadOnly() ) {
1745 idS = inL->IDStr(); 1750 idS = inL->IDStr();
1746 int pid = inL->pilotId(); 1751 int pid = inL->pilotId();
1747 int calID = inL->calID(); 1752 int calID = inL->calID();
1748 local->deleteIncidence( inL ); 1753 local->deleteIncidence( inL );
1749 inL = inR->clone(); 1754 inL = inR->clone();
1750 inL->setCalID( calID ); 1755 inL->setCalID_block( calID );
1751 if ( mSyncManager->syncWithDesktop() ) 1756 if ( mSyncManager->syncWithDesktop() )
1752 inL->setPilotId( pid ); 1757 inL->setPilotId( pid );
1753 inL->setIDStr( idS ); 1758 inL->setIDStr( idS );
1754 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { 1759 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
1755 inL->setCsum( mCurrentSyncDevice, inR->getCsum(mCurrentSyncDevice) ); 1760 inL->setCsum( mCurrentSyncDevice, inR->getCsum(mCurrentSyncDevice) );
1756 inL->setID( mCurrentSyncDevice, inR->getID(mCurrentSyncDevice) ); 1761 inL->setID( mCurrentSyncDevice, inR->getID(mCurrentSyncDevice) );
1757 } 1762 }
1758 local->addIncidence( inL ); 1763 local->addIncidence( inL );
1759 ++changedLocal; 1764 ++changedLocal;
1760 } 1765 }
1761 } 1766 }
1762 } 1767 }
1763 } else { // no conflict ********** add or delete remote 1768 } else { // no conflict ********** add or delete remote
1764 if ( !filterIN || filterIN->filterCalendarItem( inR ) ){ 1769 if ( !filterIN || filterIN->filterCalendarItem( inR ) ){
1765 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { 1770 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
1766 QString des = eventLSync->description(); 1771 QString des = eventLSync->description();
1767 QString pref = "e"; 1772 QString pref = "e";
1768 if ( inR->typeID() == todoID ) 1773 if ( inR->typeID() == todoID )
1769 pref = "t"; 1774 pref = "t";
1770 if ( des.find(pref+ inR->getID(mCurrentSyncDevice) +"," ) >= 0 && mode != 5) { // delete it 1775 if ( des.find(pref+ inR->getID(mCurrentSyncDevice) +"," ) >= 0 && mode != 5) { // delete it
1771 inR->setTempSyncStat( SYNC_TEMPSTATE_DELETE ); 1776 inR->setTempSyncStat( SYNC_TEMPSTATE_DELETE );
1772 //remote->deleteIncidence( inR ); 1777 //remote->deleteIncidence( inR );
1773 ++deletedEventR; 1778 ++deletedEventR;
1774 } else { 1779 } else {
1775 inR->setLastModified( modifiedCalendar ); 1780 inR->setLastModified( modifiedCalendar );
1776 inL = inR->clone(); 1781 inL = inR->clone();
1777 inL->setIDStr( ":" ); 1782 inL->setIDStr( ":" );
1778 inL->setCsum( mCurrentSyncDevice, inR->getCsum(mCurrentSyncDevice) ); 1783 inL->setCsum( mCurrentSyncDevice, inR->getCsum(mCurrentSyncDevice) );
1779 inL->setID( mCurrentSyncDevice, inR->getID(mCurrentSyncDevice) ); 1784 inL->setID( mCurrentSyncDevice, inR->getID(mCurrentSyncDevice) );
1780 1785
1781 inL->setCalID( 0 );// add to default cal 1786 inL->setCalID_block( 0 );// add to default cal
1782 local->addIncidence( inL ); 1787 local->addIncidence( inL );
1783 ++addedEvent; 1788 ++addedEvent;
1784 1789
1785 } 1790 }
1786 } else { 1791 } else {
1787 if ( inR->lastModified() > mLastCalendarSync || mode == 5 ) { 1792 if ( inR->lastModified() > mLastCalendarSync || mode == 5 ) {
1788 inR->setLastModified( modifiedCalendar ); 1793 inR->setLastModified( modifiedCalendar );
1789 inL = inR->clone(); 1794 inL = inR->clone();
1790 inL->setIDStr( ":" ); 1795 inL->setIDStr( ":" );
1791 inL->setCalID( 0 );// add to default cal 1796 inL->setCalID_block( 0 );// add to default cal
1792 local->addIncidence( inL ); 1797 local->addIncidence( inL );
1793 ++addedEvent; 1798 ++addedEvent;
1794 1799
1795 } else { 1800 } else {
1796 checkExternSyncEvent(eventRSyncSharp, inR); 1801 checkExternSyncEvent(eventRSyncSharp, inR);
1797 remote->deleteIncidence( inR ); 1802 remote->deleteIncidence( inR );
1798 ++deletedEventR; 1803 ++deletedEventR;
1799 } 1804 }
1800 } 1805 }
1801 } else { 1806 } else {
1802 ++filteredIN; 1807 ++filteredIN;
1803 } 1808 }
1804 } 1809 }
1805 } 1810 }
1806 inR = er.next(); 1811 inR = er.next();
1807 } 1812 }
1808 QPtrList<Incidence> el = local->rawIncidences(); 1813 QPtrList<Incidence> el = local->rawIncidences();
1809 inL = el.first(); 1814 inL = el.first();
1810 modulo = (el.count()/10)+1; 1815 modulo = (el.count()/10)+1;
1811 bar.setCaption (i18n("Add / remove events") ); 1816 bar.setCaption (i18n("Add / remove events") );
1812 bar.setTotalSteps ( el.count() ) ; 1817 bar.setTotalSteps ( el.count() ) ;
1813 bar.show(); 1818 bar.show();
1814 incCounter = 0; 1819 incCounter = 0;
1815 1820
@@ -1825,64 +1830,64 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
1825 bool skipIncidence = false; 1830 bool skipIncidence = false;
1826 if ( uid.left(15) == QString("last-syncEvent-") ) 1831 if ( uid.left(15) == QString("last-syncEvent-") )
1827 skipIncidence = true; 1832 skipIncidence = true;
1828 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL && inL->typeID() == journalID ) 1833 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL && inL->typeID() == journalID )
1829 skipIncidence = true; 1834 skipIncidence = true;
1830 if ( !skipIncidence ) { 1835 if ( !skipIncidence ) {
1831 inR = remote->incidenceForUid( uid , true, true ); 1836 inR = remote->incidenceForUid( uid , true, true );
1832 if ( ! inR ) { 1837 if ( ! inR ) {
1833 if ( !filterOUT || filterOUT->filterCalendarItem( inL ) ){ 1838 if ( !filterOUT || filterOUT->filterCalendarItem( inL ) ){
1834 // no conflict ********** add or delete local 1839 // no conflict ********** add or delete local
1835 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { 1840 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
1836 if ( !inL->getID(mCurrentSyncDevice).isEmpty() && mode != 4 ) { 1841 if ( !inL->getID(mCurrentSyncDevice).isEmpty() && mode != 4 ) {
1837 checkExternSyncEvent(eventLSyncSharp, inL); 1842 checkExternSyncEvent(eventLSyncSharp, inL);
1838 local->deleteIncidence( inL ); 1843 local->deleteIncidence( inL );
1839 ++deletedEventL; 1844 ++deletedEventL;
1840 } else { 1845 } else {
1841 if ( ! mSyncManager->mWriteBackExistingOnly ) { 1846 if ( ! mSyncManager->mWriteBackExistingOnly ) {
1842 inL->removeID(mCurrentSyncDevice ); 1847 inL->removeID(mCurrentSyncDevice );
1843 ++addedEventR; 1848 ++addedEventR;
1844 //qDebug("remote added Incidence %s ", inL->summary().latin1()); 1849 //qDebug("remote added Incidence %s ", inL->summary().latin1());
1845 inL->setLastModified( modifiedCalendar ); 1850 inL->setLastModified( modifiedCalendar );
1846 inR = inL->clone(); 1851 inR = inL->clone();
1847 inR->setIDStr( ":" ); 1852 inR->setIDStr( ":" );
1848 inR->setTempSyncStat( SYNC_TEMPSTATE_INITIAL ); 1853 inR->setTempSyncStat( SYNC_TEMPSTATE_INITIAL );
1849 inR->setCalID( 0 );// add to default cal 1854 inR->setCalID_block( 0 );// add to default cal
1850 remote->addIncidence( inR ); 1855 remote->addIncidence( inR );
1851 } 1856 }
1852 } 1857 }
1853 } else { 1858 } else {
1854 if ( inL->lastModified() < mLastCalendarSync && mode != 4 ) { 1859 if ( inL->lastModified() < mLastCalendarSync && mode != 4 ) {
1855 checkExternSyncEvent(eventLSyncSharp, inL); 1860 checkExternSyncEvent(eventLSyncSharp, inL);
1856 local->deleteIncidence( inL ); 1861 local->deleteIncidence( inL );
1857 ++deletedEventL; 1862 ++deletedEventL;
1858 } else { 1863 } else {
1859 if ( ! mSyncManager->mWriteBackExistingOnly ) { 1864 if ( ! mSyncManager->mWriteBackExistingOnly ) {
1860 ++addedEventR; 1865 ++addedEventR;
1861 inL->setLastModified( modifiedCalendar ); 1866 inL->setLastModified( modifiedCalendar );
1862 inR = inL->clone(); 1867 inR = inL->clone();
1863 inR->setIDStr( ":" ); 1868 inR->setIDStr( ":" );
1864 inR->setCalID( 0 );// add to default cal 1869 inR->setCalID_block( 0 );// add to default cal
1865 remote->addIncidence( inR ); 1870 remote->addIncidence( inR );
1866 } 1871 }
1867 } 1872 }
1868 } 1873 }
1869 } else { 1874 } else {
1870 ++filteredOUT; 1875 ++filteredOUT;
1871 } 1876 }
1872 } 1877 }
1873 } 1878 }
1874 inL = el.next(); 1879 inL = el.next();
1875 } 1880 }
1876 int delFut = 0; 1881 int delFut = 0;
1877 int remRem = 0; 1882 int remRem = 0;
1878 if ( mSyncManager->mWriteBackInFuture ) { 1883 if ( mSyncManager->mWriteBackInFuture ) {
1879 er = remote->rawIncidences(); 1884 er = remote->rawIncidences();
1880 remRem = er.count(); 1885 remRem = er.count();
1881 inR = er.first(); 1886 inR = er.first();
1882 QDateTime dt; 1887 QDateTime dt;
1883 QDateTime cur = QDateTime::currentDateTime().addDays( -(mSyncManager->mWriteBackInPast * 7) ); 1888 QDateTime cur = QDateTime::currentDateTime().addDays( -(mSyncManager->mWriteBackInPast * 7) );
1884 QDateTime end = QDateTime::currentDateTime().addDays( (mSyncManager->mWriteBackInFuture ) *7 ); 1889 QDateTime end = QDateTime::currentDateTime().addDays( (mSyncManager->mWriteBackInFuture ) *7 );
1885 while ( inR ) { 1890 while ( inR ) {
1886 if ( inR->typeID() == todoID ) { 1891 if ( inR->typeID() == todoID ) {
1887 Todo * t = (Todo*)inR; 1892 Todo * t = (Todo*)inR;
1888 if ( t->hasDueDate() ) 1893 if ( t->hasDueDate() )
@@ -2428,49 +2433,51 @@ bool CalendarView::openCalendar(QString filename, bool merge)
2428 //KMessageBox::error(this,i18n("Couldn't load calendar\n '%1'.").arg(filename)); 2433 //KMessageBox::error(this,i18n("Couldn't load calendar\n '%1'.").arg(filename));
2429 2434
2430 QTimer::singleShot ( 1, this, SLOT ( showOpenError() ) ); 2435 QTimer::singleShot ( 1, this, SLOT ( showOpenError() ) );
2431 globalFlagBlockAgenda = 2; 2436 globalFlagBlockAgenda = 2;
2432 mCalendar->reInitAlarmSettings(); 2437 mCalendar->reInitAlarmSettings();
2433 setSyncEventsReadOnly(); 2438 setSyncEventsReadOnly();
2434 updateUnmanagedViews(); 2439 updateUnmanagedViews();
2435 updateView(); 2440 updateView();
2436 } 2441 }
2437 return false; 2442 return false;
2438} 2443}
2439void CalendarView::mergeFile( QString fn ) 2444void CalendarView::mergeFile( QString fn )
2440{ 2445{
2441 clearAllViews(); 2446 clearAllViews();
2442 mCalendar->mergeCalendarFile( fn ); 2447 mCalendar->mergeCalendarFile( fn );
2443 mCalendar->reInitAlarmSettings(); 2448 mCalendar->reInitAlarmSettings();
2444 setSyncEventsReadOnly(); 2449 setSyncEventsReadOnly();
2445 updateUnmanagedViews(); 2450 updateUnmanagedViews();
2446 updateView(); 2451 updateView();
2447} 2452}
2448void CalendarView::mergeFileResource( QString fn ,QString resource ) 2453void CalendarView::mergeFileResource( QString fn ,QString resource )
2449{ 2454{
2450 2455
2451 if ( resource == "ALL" ) { 2456 if ( resource == "ALL" ) {
2457 mCalendar->setAllCalendarEnabled( true );
2452 mergeFile( fn ); 2458 mergeFile( fn );
2459 restoreCalendarSettings();
2453 return; 2460 return;
2454 } 2461 }
2455 2462
2456 int exclusiveResource = KOPrefs::instance()->getFuzzyCalendarID( resource ); 2463 int exclusiveResource = KOPrefs::instance()->getFuzzyCalendarID( resource );
2457 if ( !exclusiveResource ) { 2464 if ( !exclusiveResource ) {
2458 qDebug("KO: CalendarView::mergeFileResource: resource not found %s", resource.latin1() ); 2465 qDebug("KO: CalendarView::mergeFileResource: resource not found %s", resource.latin1() );
2459 return; 2466 return;
2460 } 2467 }
2461 clearAllViews(); 2468 clearAllViews();
2462 mCalendar->setCalendarRemove( exclusiveResource ); 2469 mCalendar->setCalendarRemove( exclusiveResource );
2463 int def = mCalendar->defaultCalendar(); 2470 int def = mCalendar->defaultCalendar();
2464 mCalendar->setDefaultCalendar(exclusiveResource); 2471 mCalendar->setDefaultCalendar(exclusiveResource);
2465 if ( !mCalendar->addCalendarFile( fn, exclusiveResource )) { 2472 if ( !mCalendar->addCalendarFile( fn, exclusiveResource )) {
2466 qDebug("KO: CalendarView::mergeFileResource: error adding file %s", fn.latin1() ); 2473 qDebug("KO: CalendarView::mergeFileResource: error adding file %s", fn.latin1() );
2467 } 2474 }
2468 mCalendar->setDefaultCalendar( def ); 2475 mCalendar->setDefaultCalendar( def );
2469 mCalendar->reInitAlarmSettings(); 2476 mCalendar->reInitAlarmSettings();
2470 setSyncEventsReadOnly(); 2477 setSyncEventsReadOnly();
2471 updateUnmanagedViews(); 2478 updateUnmanagedViews();
2472 updateView(); 2479 updateView();
2473} 2480}
2474void CalendarView::showOpenError() 2481void CalendarView::showOpenError()
2475{ 2482{
2476 KMessageBox::error(this,i18n("Couldn't load calendar\n.")); 2483 KMessageBox::error(this,i18n("Couldn't load calendar\n."));
@@ -2576,50 +2583,54 @@ bool CalendarView::saveCalendars()
2576 saveError = cal->mName +"\n"; 2583 saveError = cal->mName +"\n";
2577 cal = calendars.next(); 2584 cal = calendars.next();
2578 while ( cal ) { 2585 while ( cal ) {
2579 if ( !cal->isReadOnly && !cal->mErrorOnLoad ) { 2586 if ( !cal->isReadOnly && !cal->mErrorOnLoad ) {
2580 mCalendar->setDefaultCalendar( cal->mCalNumber ); 2587 mCalendar->setDefaultCalendar( cal->mCalNumber );
2581 mCalendar->setDefaultCalendarEnabledOnly(); 2588 mCalendar->setDefaultCalendarEnabledOnly();
2582 if ( saveCalendar( cal->mFileName ) ) 2589 if ( saveCalendar( cal->mFileName ) )
2583 cal->mLoadDt = QDateTime::currentDateTime(); 2590 cal->mLoadDt = QDateTime::currentDateTime();
2584 else 2591 else
2585 saveError += cal->mName + "\n"; 2592 saveError += cal->mName + "\n";
2586 } 2593 }
2587 cal = calendars.next(); 2594 cal = calendars.next();
2588 } 2595 }
2589 restoreCalendarSettings(); 2596 restoreCalendarSettings();
2590 //saveError = "test error"; 2597 //saveError = "test error";
2591 if ( !saveError.isEmpty() ) { 2598 if ( !saveError.isEmpty() ) {
2592 saveError = KGlobal::formatMessage( i18n("Calendar(s) not saved:"),0 )+"\n" + saveError; 2599 saveError = KGlobal::formatMessage( i18n("Calendar(s) not saved:"),0 )+"\n" + saveError;
2593 KMessageBox::error(this, saveError, i18n("Error saving data")); 2600 KMessageBox::error(this, saveError, i18n("Error saving data"));
2594 return false; 2601 return false;
2595 } 2602 }
2596 return true; 2603 return true;
2597} 2604}
2598bool CalendarView::saveCalendarResource(QString filename, QString resource) 2605bool CalendarView::saveCalendarResource(QString filename, QString resource)
2599{ 2606{
2600 if ( resource == "ALL" ) 2607 if ( resource == "ALL" ) {
2601 return saveCalendar( filename ); 2608 mCalendar->setAllCalendarEnabled( true );
2609 bool retval = saveCalendar( filename );
2610 restoreCalendarSettings();
2611 return retval;
2612 }
2602 int exclusiveResource = KOPrefs::instance()->getFuzzyCalendarID( resource ); 2613 int exclusiveResource = KOPrefs::instance()->getFuzzyCalendarID( resource );
2603 if ( !exclusiveResource ) { 2614 if ( !exclusiveResource ) {
2604 qDebug("KO: CalendarView::saveCalendarResource: resource not found %s", resource.latin1() ); 2615 qDebug("KO: CalendarView::saveCalendarResource: resource not found %s", resource.latin1() );
2605 return false; 2616 return false;
2606 } 2617 }
2607 mCalendar->setDefaultCalendar( exclusiveResource ); 2618 mCalendar->setDefaultCalendar( exclusiveResource );
2608 mCalendar->setDefaultCalendarEnabledOnly(); 2619 mCalendar->setDefaultCalendarEnabledOnly();
2609 mCalendar->setSyncEventsEnabled(); 2620 mCalendar->setSyncEventsEnabled();
2610 bool res = saveCalendar( filename ); 2621 bool res = saveCalendar( filename );
2611 restoreCalendarSettings(); 2622 restoreCalendarSettings();
2612 return res; 2623 return res;
2613 2624
2614} 2625}
2615bool CalendarView::saveCalendar( QString filename ) 2626bool CalendarView::saveCalendar( QString filename )
2616{ 2627{
2617 2628
2618 // Store back all unsaved data into calendar object 2629 // Store back all unsaved data into calendar object
2619 // qDebug("file %s %d ", filename.latin1() , mViewManager->currentView() ); 2630 // qDebug("file %s %d ", filename.latin1() , mViewManager->currentView() );
2620 if ( mViewManager->currentView() ) 2631 if ( mViewManager->currentView() )
2621 mViewManager->currentView()->flushView(); 2632 mViewManager->currentView()->flushView();
2622 2633
2623 2634
2624 QDateTime lfv = QDateTime::currentDateTime().addSecs( -2); 2635 QDateTime lfv = QDateTime::currentDateTime().addSecs( -2);
2625 mStorage->setSaveFormat( new ICalFormat() ); 2636 mStorage->setSaveFormat( new ICalFormat() );
diff --git a/libkcal/dndfactory_dummy.h b/libkcal/dndfactory_dummy.h
index 6b73f34..44cc114 100644
--- a/libkcal/dndfactory_dummy.h
+++ b/libkcal/dndfactory_dummy.h
@@ -33,30 +33,33 @@ namespace KCal {
33/** 33/**
34 This class implements functions to create Drag and Drop objects used for 34 This class implements functions to create Drag and Drop objects used for
35 Drag-and-Drop and Copy-and-Paste. 35 Drag-and-Drop and Copy-and-Paste.
36 36
37 @short vCalendar Drag-and-Drop object factory. 37 @short vCalendar Drag-and-Drop object factory.
38*/ 38*/
39class DndFactory { 39class DndFactory {
40 public: 40 public:
41 DndFactory( Calendar * ) {} 41 DndFactory( Calendar * ) {}
42 42
43 /** create an object to be used with the Xdnd Drag And Drop protocol. */ 43 /** create an object to be used with the Xdnd Drag And Drop protocol. */
44 ICalDrag *createDrag(Event *, QWidget *) { return 0; } 44 ICalDrag *createDrag(Event *, QWidget *) { return 0; }
45 /** create an object to be used with the Xdnd Drag And Drop protocol. */ 45 /** create an object to be used with the Xdnd Drag And Drop protocol. */
46 ICalDrag *createDragTodo(Todo *, QWidget *) { return 0; } 46 ICalDrag *createDragTodo(Todo *, QWidget *) { return 0; }
47 /** Create Todo object from drop event */ 47 /** Create Todo object from drop event */
48 Todo *createDropTodo(QDropEvent *) { return 0; } 48 Todo *createDropTodo(QDropEvent *) { return 0; }
49 /** Create Event object from drop event */ 49 /** Create Event object from drop event */
50 Event *createDrop(QDropEvent *) { return 0; } 50 Event *createDrop(QDropEvent *) { return 0; }
51 51
52 /** cut event to clipboard */ 52 /** cut event to clipboard */
53 void cutEvent(Event *) {} 53 void cutEvent(Event *) {}
54 /** cut, copy, and paste operations follow. */ 54 /** cut, copy, and paste operations follow. */
55 bool copyEvent(Event *) { return false; } 55 bool copyEvent(Event *) { return false; }
56 /** pastes the event and returns a pointer to the new event pasted. */ 56 /** pastes the event and returns a pointer to the new event pasted. */
57 Event *pasteEvent(const QDate &, const QTime *newTime = 0) { return 0; } 57 Event *pasteEvent(const QDate &, const QTime *newTime = 0) {
58 Q_UNUSED( newTime );
59 return 0;
60 }
58}; 61};
59 62
60} 63}
61 64
62#endif 65#endif
diff --git a/libkdepim/categoryeditdialog.h b/libkdepim/categoryeditdialog.h
index 3e8ab45..9bb3201 100644
--- a/libkdepim/categoryeditdialog.h
+++ b/libkdepim/categoryeditdialog.h
@@ -15,50 +15,50 @@
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
23#ifndef KPIM_CATEGORYEDITDIALOG_H 23#ifndef KPIM_CATEGORYEDITDIALOG_H
24#define KPIM_CATEGORYEDITDIALOG_H 24#define KPIM_CATEGORYEDITDIALOG_H
25 25
26#include <categoryeditdialog_base.h> 26#include <categoryeditdialog_base.h>
27#include <qlistview.h> 27#include <qlistview.h>
28 28
29class KPimPrefs; 29class KPimPrefs;
30 30
31namespace KPIM { 31namespace KPIM {
32 32
33 class CategorySelectItem :public QObject, public QCheckListItem 33 class CategorySelectItem :public QObject, public QCheckListItem
34{ 34{
35 35
36 Q_OBJECT 36 Q_OBJECT
37 public: 37 public:
38 38
39 CategorySelectItem(QListView * parent, const QString & text, Type tt) : 39 CategorySelectItem(QListView * parent, const QString & text, Type tt) : QObject( parent ),
40 QCheckListItem (parent, text, tt ) , QObject( parent ) 40 QCheckListItem (parent, text, tt )
41 {;} 41 {;}
42 42
43 signals: 43 signals:
44 void stateChanged( QListViewItem*); 44 void stateChanged( QListViewItem*);
45 45
46 protected: 46 protected:
47 47
48 virtual void stateChange(bool b) 48 virtual void stateChange(bool b)
49 { 49 {
50 QCheckListItem::stateChange(b); 50 QCheckListItem::stateChange(b);
51 emit stateChanged( this ); 51 emit stateChanged( this );
52 } 52 }
53}; 53};
54 54
55 55
56class CategoryEditDialog : public CategoryEditDialog_base 56class CategoryEditDialog : public CategoryEditDialog_base
57{ 57{
58 Q_OBJECT 58 Q_OBJECT
59 public: 59 public:
60 CategoryEditDialog( KPimPrefs *prefs, QWidget* parent = 0, 60 CategoryEditDialog( KPimPrefs *prefs, QWidget* parent = 0,
61 const char* name = 0, 61 const char* name = 0,
62 bool modal = FALSE, WFlags fl = 0 ); 62 bool modal = FALSE, WFlags fl = 0 );
63 ~CategoryEditDialog(); 63 ~CategoryEditDialog();
64 64
diff --git a/libkdepim/categoryselectdialog.cpp b/libkdepim/categoryselectdialog.cpp
index a4e0024..2a9b43e 100644
--- a/libkdepim/categoryselectdialog.cpp
+++ b/libkdepim/categoryselectdialog.cpp
@@ -21,48 +21,49 @@
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
23 23
24#include <qlistview.h> 24#include <qlistview.h>
25#include <qpushbutton.h> 25#include <qpushbutton.h>
26#include <qheader.h> 26#include <qheader.h>
27#include <qapp.h> 27#include <qapp.h>
28#include <qmessagebox.h> 28#include <qmessagebox.h>
29#include <kmessagebox.h> 29#include <kmessagebox.h>
30 30
31 31
32#include "categoryeditdialog.h" 32#include "categoryeditdialog.h"
33#include "categoryselectdialog.h" 33#include "categoryselectdialog.h"
34 34
35#include "kpimprefs.h" 35#include "kpimprefs.h"
36 36
37using namespace KPIM; 37using namespace KPIM;
38 38
39CategorySelectDialog::CategorySelectDialog( KPimPrefs *prefs, QWidget* parent, 39CategorySelectDialog::CategorySelectDialog( KPimPrefs *prefs, QWidget* parent,
40 const char* name, 40 const char* name,
41 bool modal, WFlags fl ) 41 bool modal, WFlags fl )
42 : CategorySelectDialog_base( parent, name, true, fl ), 42 : CategorySelectDialog_base( parent, name, true, fl ),
43 mPrefs( prefs ) 43 mPrefs( prefs )
44{ 44{
45 Q_UNUSED( modal );
45 mColorItem = 0; 46 mColorItem = 0;
46 mColorEnabled = false; 47 mColorEnabled = false;
47 mCategories->header()->hide(); 48 mCategories->header()->hide();
48 49
49 setCategories(); 50 setCategories();
50 51
51 connect(mButtonEdit,SIGNAL(clicked()),this, SLOT(editCategoriesDialog())); 52 connect(mButtonEdit,SIGNAL(clicked()),this, SLOT(editCategoriesDialog()));
52 if ( QApplication::desktop()->width() > 460 ) 53 if ( QApplication::desktop()->width() > 460 )
53 resize( 300, 360 ); 54 resize( 300, 360 );
54 else 55 else
55 showMaximized(); 56 showMaximized();
56 connect( mSetColorCat, SIGNAL( clicked() ), this, SLOT( setColorCat() ) ); 57 connect( mSetColorCat, SIGNAL( clicked() ), this, SLOT( setColorCat() ) );
57 // connect( mCategories, SIGNAL( clicked(QListViewItem *) ), this, SLOT( clicked(QListViewItem *) ) ); 58 // connect( mCategories, SIGNAL( clicked(QListViewItem *) ), this, SLOT( clicked(QListViewItem *) ) );
58#ifndef DESKTOP_VERSION 59#ifndef DESKTOP_VERSION
59 mButtonOk->hide(); 60 mButtonOk->hide();
60 mButtonCancel->hide(); 61 mButtonCancel->hide();
61#endif 62#endif
62} 63}
63void CategorySelectDialog::editCategoriesDialog() 64void CategorySelectDialog::editCategoriesDialog()
64{ 65{
65 KPIM::CategoryEditDialog* ced = new KPIM::CategoryEditDialog(mPrefs,this ); 66 KPIM::CategoryEditDialog* ced = new KPIM::CategoryEditDialog(mPrefs,this );
66 67
67 ced->exec(); 68 ced->exec();
68 delete ced; 69 delete ced;
diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp
index 0109c02..28c48fe 100644
--- a/libkdepim/ksyncmanager.cpp
+++ b/libkdepim/ksyncmanager.cpp
@@ -732,49 +732,48 @@ void KSyncManager::syncRemote( KSyncProfile* prof, bool ask)
732 postCommand = prof->getPostSyncCommand(); 732 postCommand = prof->getPostSyncCommand();
733 localTempFile = prof->getLocalTempFile(); 733 localTempFile = prof->getLocalTempFile();
734 break; 734 break;
735 case (PWMPI): 735 case (PWMPI):
736 preCommand = prof->getPreSyncCommandPWM(); 736 preCommand = prof->getPreSyncCommandPWM();
737 postCommand = prof->getPostSyncCommandPWM(); 737 postCommand = prof->getPostSyncCommandPWM();
738 localTempFile = prof->getLocalTempFilePWM(); 738 localTempFile = prof->getLocalTempFilePWM();
739 break; 739 break;
740 default: 740 default:
741 qDebug("KSM::syncRemote: invalid apptype selected"); 741 qDebug("KSM::syncRemote: invalid apptype selected");
742 break; 742 break;
743 } 743 }
744 744
745 745
746 int fi; 746 int fi;
747 if ( (fi = preCommand.find("$PWD$")) > 0 ) { 747 if ( (fi = preCommand.find("$PWD$")) > 0 ) {
748 QString pwd = getPassword(); 748 QString pwd = getPassword();
749 preCommand = preCommand.left( fi )+ pwd + preCommand.mid( fi+5 ); 749 preCommand = preCommand.left( fi )+ pwd + preCommand.mid( fi+5 );
750 750
751 } 751 }
752 int maxlen = 30; 752 int maxlen = 30;
753 if ( QApplication::desktop()->width() > 320 ) 753 if ( QApplication::desktop()->width() > 320 )
754 maxlen += 25; 754 maxlen += 25;
755 mParent->topLevelWidget()->setCaption ( i18n( "Copy remote file to local machine..." ) ); 755 mParent->topLevelWidget()->setCaption ( i18n( "Copy remote file to local machine..." ) );
756 int fileSize = 0;
757 int result = system ( preCommand ); 756 int result = system ( preCommand );
758 // 0 : okay 757 // 0 : okay
759 // 256: no such file or dir 758 // 256: no such file or dir
760 // 759 //
761 qDebug("KSM::Sync: Remote copy result(0 = okay): %d ",result ); 760 qDebug("KSM::Sync: Remote copy result(0 = okay): %d ",result );
762 if ( result != 0 ) { 761 if ( result != 0 ) {
763 unsigned int len = maxlen; 762 unsigned int len = maxlen;
764 while ( len < preCommand.length() ) { 763 while ( len < preCommand.length() ) {
765 preCommand.insert( len , "\n" ); 764 preCommand.insert( len , "\n" );
766 len += maxlen +2; 765 len += maxlen +2;
767 } 766 }
768 question = i18n("Sorry, the copy command failed!\nCommand was:\n%1\n \nTry command on console to get more\ndetailed info about the reason.\n").arg (preCommand) ; 767 question = i18n("Sorry, the copy command failed!\nCommand was:\n%1\n \nTry command on console to get more\ndetailed info about the reason.\n").arg (preCommand) ;
769 QMessageBox::information( mParent, i18n("Sync - ERROR"), 768 QMessageBox::information( mParent, i18n("Sync - ERROR"),
770 question, 769 question,
771 i18n("Okay!")) ; 770 i18n("Okay!")) ;
772 mParent->topLevelWidget()->setCaption ("KDE-Pim"); 771 mParent->topLevelWidget()->setCaption ("KDE-Pim");
773 return; 772 return;
774 } 773 }
775 mParent->topLevelWidget()->setCaption ( i18n( "Copying succeed." ) ); 774 mParent->topLevelWidget()->setCaption ( i18n( "Copying succeed." ) );
776 //qDebug(" file **%s** ",prof->getLocalTempFile().latin1() ); 775 //qDebug(" file **%s** ",prof->getLocalTempFile().latin1() );
777 776
778 if ( syncWithFile( localTempFile, true ) ) { 777 if ( syncWithFile( localTempFile, true ) ) {
779 778
780 if ( mWriteBackFile ) { 779 if ( mWriteBackFile ) {
@@ -903,49 +902,49 @@ QString KSyncManager::getPassword( )
903 retfile = lab.text(); 902 retfile = lab.text();
904 dia.hide(); 903 dia.hide();
905 qApp->processEvents(); 904 qApp->processEvents();
906 return retfile; 905 return retfile;
907 906
908} 907}
909 908
910 909
911void KSyncManager::confSync() 910void KSyncManager::confSync()
912{ 911{
913 static KSyncPrefsDialog* sp = 0; 912 static KSyncPrefsDialog* sp = 0;
914 if ( ! sp ) { 913 if ( ! sp ) {
915 sp = new KSyncPrefsDialog( mParent, "syncprefs", true ); 914 sp = new KSyncPrefsDialog( mParent, "syncprefs", true );
916 } 915 }
917 sp->usrReadConfig(); 916 sp->usrReadConfig();
918#ifndef DESKTOP_VERSION 917#ifndef DESKTOP_VERSION
919 sp->showMaximized(); 918 sp->showMaximized();
920#else 919#else
921 sp->show(); 920 sp->show();
922#endif 921#endif
923 sp->exec(); 922 sp->exec();
924 QStringList oldSyncProfileNames = mSyncProfileNames; 923 QStringList oldSyncProfileNames = mSyncProfileNames;
925 mSyncProfileNames = sp->getSyncProfileNames(); 924 mSyncProfileNames = sp->getSyncProfileNames();
926 mLocalMachineName = sp->getLocalMachineName (); 925 mLocalMachineName = sp->getLocalMachineName ();
927 int ii; 926 uint ii;
928 for ( ii = 0; ii < oldSyncProfileNames.count(); ++ii ) { 927 for ( ii = 0; ii < oldSyncProfileNames.count(); ++ii ) {
929 if ( ! mSyncProfileNames.contains( oldSyncProfileNames[ii] ) ) 928 if ( ! mSyncProfileNames.contains( oldSyncProfileNames[ii] ) )
930 mImplementation->removeSyncInfo( oldSyncProfileNames[ii] ); 929 mImplementation->removeSyncInfo( oldSyncProfileNames[ii] );
931 } 930 }
932 QTimer::singleShot ( 1, this, SLOT ( fillSyncMenu() ) ); 931 QTimer::singleShot ( 1, this, SLOT ( fillSyncMenu() ) );
933} 932}
934void KSyncManager::syncKDE() 933void KSyncManager::syncKDE()
935{ 934{
936 mSyncWithDesktop = true; 935 mSyncWithDesktop = true;
937 emit save(); 936 emit save();
938 switch(mTargetApp) 937 switch(mTargetApp)
939 { 938 {
940 case (KAPI): 939 case (KAPI):
941 { 940 {
942#ifdef DESKTOP_VERSION 941#ifdef DESKTOP_VERSION
943 QString command = "kdeabdump33"; 942 QString command = "kdeabdump33";
944 QString commandfile = "kdeabdump33"; 943 QString commandfile = "kdeabdump33";
945 QString commandpath = qApp->applicationDirPath () + "/"; 944 QString commandpath = qApp->applicationDirPath () + "/";
946#else 945#else
947 QString command = "kdeabdump33"; 946 QString command = "kdeabdump33";
948 QString commandfile = "kdeabdump33"; 947 QString commandfile = "kdeabdump33";
949 QString commandpath = QDir::homeDirPath ()+"/"; 948 QString commandpath = QDir::homeDirPath ()+"/";
950#endif 949#endif
951 if ( ! QFile::exists ( commandpath+commandfile ) ) 950 if ( ! QFile::exists ( commandpath+commandfile ) )
@@ -1120,57 +1119,57 @@ QString KSyncManager::syncFileName()
1120#endif 1119#endif
1121} 1120}
1122 1121
1123void KSyncManager::syncPi() 1122void KSyncManager::syncPi()
1124{ 1123{
1125 mIsKapiFile = true; 1124 mIsKapiFile = true;
1126 mPisyncFinished = false; 1125 mPisyncFinished = false;
1127 qApp->processEvents(); 1126 qApp->processEvents();
1128 if ( mAskForPreferences ) 1127 if ( mAskForPreferences )
1129 if ( !edit_pisync_options()) { 1128 if ( !edit_pisync_options()) {
1130 mParent->topLevelWidget()->setCaption( i18n("Syncing aborted. Nothing synced.") ); 1129 mParent->topLevelWidget()->setCaption( i18n("Syncing aborted. Nothing synced.") );
1131 mPisyncFinished = true; 1130 mPisyncFinished = true;
1132 return; 1131 return;
1133 } 1132 }
1134 bool ok; 1133 bool ok;
1135 Q_UINT16 port = mActiveSyncPort.toUInt(&ok); 1134 Q_UINT16 port = mActiveSyncPort.toUInt(&ok);
1136 if ( ! ok ) { 1135 if ( ! ok ) {
1137 mParent->topLevelWidget()->setCaption( i18n("Sorry, no valid port.Syncing cancelled.") ); 1136 mParent->topLevelWidget()->setCaption( i18n("Sorry, no valid port.Syncing cancelled.") );
1138 mPisyncFinished = true; 1137 mPisyncFinished = true;
1139 return; 1138 return;
1140 } 1139 }
1141 mCurrentResourceLocal = ""; 1140 mCurrentResourceLocal = "";
1142 mCurrentResourceRemote = ""; 1141 mCurrentResourceRemote = "";
1143 if ( mSpecificResources.count() ) { 1142 if ( mSpecificResources.count() ) {
1144 int lastSyncRes = mSpecificResources.count()/2; 1143 uint lastSyncRes = mSpecificResources.count()/2;
1145 int ccc = mSpecificResources.count()-1; 1144 int ccc = mSpecificResources.count()-1;
1146 while ( lastSyncRes > 0 && ccc > 0 && mSpecificResources[ ccc ].isEmpty() ) { 1145 while ( lastSyncRes > 0 && ccc > 0 && mSpecificResources[ ccc ].isEmpty() ) {
1147 --ccc; 1146 --ccc;
1148 --lastSyncRes; 1147 --lastSyncRes;
1149 //qDebug ( "KSM: sync pi %d",ccc ); 1148 //qDebug ( "KSM: sync pi %d",ccc );
1150 } 1149 }
1151 int startLocal = 0; 1150 uint startLocal = 0;
1152 int startRemote = mSpecificResources.count()/2; 1151 uint startRemote = mSpecificResources.count()/2;
1153 emit multiResourceSyncStart( true ); 1152 emit multiResourceSyncStart( true );
1154 while ( startLocal < mSpecificResources.count()/2 ) { 1153 while ( startLocal < mSpecificResources.count()/2 ) {
1155 if ( startLocal+1 >= lastSyncRes ) 1154 if ( startLocal+1 >= lastSyncRes )
1156 emit multiResourceSyncStart( false ); 1155 emit multiResourceSyncStart( false );
1157 mPisyncFinished = false; 1156 mPisyncFinished = false;
1158 mCurrentResourceLocal = mSpecificResources[ startLocal ]; 1157 mCurrentResourceLocal = mSpecificResources[ startLocal ];
1159 mCurrentResourceRemote = mSpecificResources[ startRemote ]; 1158 mCurrentResourceRemote = mSpecificResources[ startRemote ];
1160 //qDebug ( "KSM: AAASyncing resources: Local: %s --- Remote: %s ",mCurrentResourceLocal.latin1(), mCurrentResourceRemote.latin1() ); 1159 //qDebug ( "KSM: AAASyncing resources: Local: %s --- Remote: %s ",mCurrentResourceLocal.latin1(), mCurrentResourceRemote.latin1() );
1161 if ( !mCurrentResourceRemote.isEmpty() ) { 1160 if ( !mCurrentResourceRemote.isEmpty() ) {
1162 qDebug ( "KSM: Syncing resources: Local: %s --- Remote: %s ",mCurrentResourceLocal.latin1(), mCurrentResourceRemote.latin1() ); 1161 qDebug ( "KSM: Syncing resources: Local: %s --- Remote: %s ",mCurrentResourceLocal.latin1(), mCurrentResourceRemote.latin1() );
1163 1162
1164 KCommandSocket* commandSocket = new KCommandSocket( mCurrentResourceRemote, mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() ); 1163 KCommandSocket* commandSocket = new KCommandSocket( mCurrentResourceRemote, mPassWordPiSync, port, mActiveSyncIP, this, mParent->topLevelWidget() );
1165 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) ); 1164 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) );
1166 commandSocket->readFile( syncFileName() ); 1165 commandSocket->readFile( syncFileName() );
1167 mParent->topLevelWidget()->setCaption( i18n("Syncing %1 <-> %2").arg( mCurrentResourceLocal ).arg( mCurrentResourceRemote ) ); 1166 mParent->topLevelWidget()->setCaption( i18n("Syncing %1 <-> %2").arg( mCurrentResourceLocal ).arg( mCurrentResourceRemote ) );
1168 while ( !mPisyncFinished ) { 1167 while ( !mPisyncFinished ) {
1169 //qDebug("waiting "); 1168 //qDebug("waiting ");
1170 qApp->processEvents(); 1169 qApp->processEvents();
1171 } 1170 }
1172 if ( startLocal+1 < mSpecificResources.count()/2 ) { 1171 if ( startLocal+1 < mSpecificResources.count()/2 ) {
1173 mParent->topLevelWidget()->setCaption( i18n("Waiting 2 secs before syncing next resource...") ); 1172 mParent->topLevelWidget()->setCaption( i18n("Waiting 2 secs before syncing next resource...") );
1174 QTime timer; 1173 QTime timer;
1175 timer.start(); 1174 timer.start();
1176 while ( timer.elapsed () < 2000 ) { 1175 while ( timer.elapsed () < 2000 ) {
diff --git a/libkdepim/ksyncmanager.h b/libkdepim/ksyncmanager.h
index 604adb8..04cdade 100644
--- a/libkdepim/ksyncmanager.h
+++ b/libkdepim/ksyncmanager.h
@@ -214,36 +214,36 @@ class KSyncManager : public QObject
214 QStringList mSpecificResources; 214 QStringList mSpecificResources;
215 QString mCurrentResourceLocal; 215 QString mCurrentResourceLocal;
216 QString mCurrentResourceRemote; 216 QString mCurrentResourceRemote;
217 bool mBlockSaveFlag; 217 bool mBlockSaveFlag;
218 QWidget* mParent; 218 QWidget* mParent;
219 KSyncInterface* mImplementation; 219 KSyncInterface* mImplementation;
220 TargetApp mTargetApp; 220 TargetApp mTargetApp;
221 QPopupMenu* mSyncMenu; 221 QPopupMenu* mSyncMenu;
222 QProgressBar* bar; 222 QProgressBar* bar;
223 bool mSyncWithDesktop; 223 bool mSyncWithDesktop;
224 224
225private slots: 225private slots:
226 void displayErrorPort(); 226 void displayErrorPort();
227 void confSync(); 227 void confSync();
228 228
229 229
230}; 230};
231 231
232 232
233class KSyncInterface 233class KSyncInterface
234{ 234{
235 public : 235 public :
236 virtual void removeSyncInfo( QString syncProfile) = 0; 236 virtual void removeSyncInfo( QString syncProfile) = 0;
237 virtual bool sync(KSyncManager* manager, QString filename, int mode, QString resource) = 0; 237 virtual bool sync(KSyncManager* manager, QString filename, int mode, QString resource) = 0;
238 virtual bool syncExternal(KSyncManager* manager, QString resource) 238 virtual bool syncExternal(KSyncManager* /*manager*/, QString /*resource*/)
239 { 239 {
240 // empty implementation, because some syncable applications do not 240 // empty implementation, because some syncable applications do not
241 // have an external(sharpdtm) syncmode, like pwmanager. 241 // have an external(sharpdtm) syncmode, like pwmanager.
242 return false; 242 return false;
243 } 243 }
244 244
245 245
246}; 246};
247 247
248 248
249#endif 249#endif