summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/calendarview.cpp11
-rw-r--r--korganizer/filteredit_base.cpp73
-rw-r--r--korganizer/filteredit_base.h18
-rw-r--r--korganizer/filteredit_base.ui123
-rw-r--r--korganizer/korganizer.pro4
-rw-r--r--libkcal/calfilter.h2
-rw-r--r--libkdepim/ksyncmanager.cpp10
-rw-r--r--libkdepim/ksyncmanager.h4
8 files changed, 170 insertions, 75 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index 378c7d4..8258c74 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -951,96 +951,107 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
951 if ( eventR ) { 951 if ( eventR ) {
952 eventRSync = (Event*) eventR->clone(); 952 eventRSync = (Event*) eventR->clone();
953 remote->deleteEvent(eventR ); 953 remote->deleteEvent(eventR );
954 954
955 } else { 955 } else {
956 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL || mSyncManager->syncWithDesktop()) { 956 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL || mSyncManager->syncWithDesktop()) {
957 eventRSync = (Event*)eventLSync->clone(); 957 eventRSync = (Event*)eventLSync->clone();
958 } else { 958 } else {
959 fullDateRange = true; 959 fullDateRange = true;
960 eventRSync = new Event(); 960 eventRSync = new Event();
961 eventRSync->setSummary(mCurrentSyncName + i18n(" - sync event")); 961 eventRSync->setSummary(mCurrentSyncName + i18n(" - sync event"));
962 eventRSync->setUid("last-syncEvent-"+mCurrentSyncName ); 962 eventRSync->setUid("last-syncEvent-"+mCurrentSyncName );
963 eventRSync->setDtStart( mLastCalendarSync ); 963 eventRSync->setDtStart( mLastCalendarSync );
964 eventRSync->setDtEnd( mLastCalendarSync.addSecs( 7200 ) ); 964 eventRSync->setDtEnd( mLastCalendarSync.addSecs( 7200 ) );
965 eventRSync->setCategories( i18n("SyncEvent") ); 965 eventRSync->setCategories( i18n("SyncEvent") );
966 } 966 }
967 } 967 }
968 if ( eventLSync->dtStart() == mLastCalendarSync ) 968 if ( eventLSync->dtStart() == mLastCalendarSync )
969 fullDateRange = true; 969 fullDateRange = true;
970 970
971 if ( ! fullDateRange ) { 971 if ( ! fullDateRange ) {
972 if ( eventLSync->dtStart() != eventRSync->dtStart() ) { 972 if ( eventLSync->dtStart() != eventRSync->dtStart() ) {
973 973
974 // qDebug("set fulldate to true %s %s" ,eventLSync->dtStart().toString().latin1(), eventRSync->dtStart().toString().latin1() ); 974 // qDebug("set fulldate to true %s %s" ,eventLSync->dtStart().toString().latin1(), eventRSync->dtStart().toString().latin1() );
975 //qDebug("%d %d %d %d ", eventLSync->dtStart().time().second(), eventLSync->dtStart().time().msec() , eventRSync->dtStart().time().second(), eventRSync->dtStart().time().msec()); 975 //qDebug("%d %d %d %d ", eventLSync->dtStart().time().second(), eventLSync->dtStart().time().msec() , eventRSync->dtStart().time().second(), eventRSync->dtStart().time().msec());
976 fullDateRange = true; 976 fullDateRange = true;
977 } 977 }
978 } 978 }
979 if ( mSyncManager->syncWithDesktop() ) { 979 if ( mSyncManager->syncWithDesktop() ) {
980 fullDateRange = ( eventLSync->dtStart() <= mLastCalendarSync && eventLSync->dtStart().addSecs(1) >= mLastCalendarSync ); 980 fullDateRange = ( eventLSync->dtStart() <= mLastCalendarSync && eventLSync->dtStart().addSecs(1) >= mLastCalendarSync );
981 } 981 }
982 if ( fullDateRange ) 982 if ( fullDateRange )
983 mLastCalendarSync = QDateTime::currentDateTime().addDays( -100*365); 983 mLastCalendarSync = QDateTime::currentDateTime().addDays( -100*365);
984 else 984 else
985 mLastCalendarSync = eventLSync->dtStart(); 985 mLastCalendarSync = eventLSync->dtStart();
986 // for resyncing if own file has changed 986 // for resyncing if own file has changed
987 if ( mCurrentSyncDevice == "deleteaftersync" ) { 987 if ( mCurrentSyncDevice == "deleteaftersync" ) {
988 mLastCalendarSync = loadedFileVersion; 988 mLastCalendarSync = loadedFileVersion;
989 //qDebug("setting mLastCalendarSync "); 989 //qDebug("setting mLastCalendarSync ");
990 } 990 }
991 //qDebug("*************************** "); 991 //qDebug("*************************** ");
992 qDebug("mLastCalendarSync %s full: %d",mLastCalendarSync.toString().latin1(), fullDateRange); 992 qDebug("mLastCalendarSync %s full: %d",mLastCalendarSync.toString().latin1(), fullDateRange);
993 QPtrList<Incidence> er = remote->rawIncidences(); 993 QPtrList<Incidence> er = remote->rawIncidences();
994 Incidence* inR = er.first(); 994 Incidence* inR = er.first();
995 Incidence* inL; 995 Incidence* inL;
996 QProgressBar bar( er.count(),0 ); 996 QProgressBar bar( er.count(),0 );
997 bar.setCaption (i18n("Syncing - close to abort!") ); 997 bar.setCaption (i18n("Syncing - close to abort!") );
998 998
999 // ************** setting up filter *************
1000 CalFilter *filterIN = 0;
1001 CalFilter *filterOUT = 0;
1002 CalFilter *filter = mFilters.first();
1003 while(filter) {
1004 if ( filter->name() == mSyncManager->mFilterInCal )
1005 filterIN = filter;
1006 if ( filter->name() == mSyncManager->mFilterOutCal )
1007 filterOUT = filter;
1008 filter = mFilters.next();
1009 }
999 int w = 300; 1010 int w = 300;
1000 if ( QApplication::desktop()->width() < 320 ) 1011 if ( QApplication::desktop()->width() < 320 )
1001 w = 220; 1012 w = 220;
1002 int h = bar.sizeHint().height() ; 1013 int h = bar.sizeHint().height() ;
1003 int dw = QApplication::desktop()->width(); 1014 int dw = QApplication::desktop()->width();
1004 int dh = QApplication::desktop()->height(); 1015 int dh = QApplication::desktop()->height();
1005 bar.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); 1016 bar.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
1006 bar.show(); 1017 bar.show();
1007 int modulo = (er.count()/10)+1; 1018 int modulo = (er.count()/10)+1;
1008 int incCounter = 0; 1019 int incCounter = 0;
1009 while ( inR ) { 1020 while ( inR ) {
1010 if ( ! bar.isVisible() ) 1021 if ( ! bar.isVisible() )
1011 return false; 1022 return false;
1012 if ( incCounter % modulo == 0 ) 1023 if ( incCounter % modulo == 0 )
1013 bar.setProgress( incCounter ); 1024 bar.setProgress( incCounter );
1014 ++incCounter; 1025 ++incCounter;
1015 uid = inR->uid(); 1026 uid = inR->uid();
1016 bool skipIncidence = false; 1027 bool skipIncidence = false;
1017 if ( uid.left(15) == QString("last-syncEvent-") ) 1028 if ( uid.left(15) == QString("last-syncEvent-") )
1018 skipIncidence = true; 1029 skipIncidence = true;
1019 QString idS; 1030 QString idS;
1020 qApp->processEvents(); 1031 qApp->processEvents();
1021 if ( !skipIncidence ) { 1032 if ( !skipIncidence ) {
1022 inL = local->incidence( uid ); 1033 inL = local->incidence( uid );
1023 if ( inL ) { // maybe conflict - same uid in both calendars 1034 if ( inL ) { // maybe conflict - same uid in both calendars
1024 if ( (take = takeEvent( inL, inR, mode, fullDateRange )) > 0 ) { 1035 if ( (take = takeEvent( inL, inR, mode, fullDateRange )) > 0 ) {
1025 //qDebug("take %d %s ", take, inL->summary().latin1()); 1036 //qDebug("take %d %s ", take, inL->summary().latin1());
1026 if ( take == 3 ) 1037 if ( take == 3 )
1027 return false; 1038 return false;
1028 if ( take == 1 ) {// take local ********************** 1039 if ( take == 1 ) {// take local **********************
1029 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) 1040 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL )
1030 inL->setCsum( mCurrentSyncDevice, inR->getCsum(mCurrentSyncDevice) ); 1041 inL->setCsum( mCurrentSyncDevice, inR->getCsum(mCurrentSyncDevice) );
1031 else 1042 else
1032 idS = inR->IDStr(); 1043 idS = inR->IDStr();
1033 remote->deleteIncidence( inR ); 1044 remote->deleteIncidence( inR );
1034 inR = inL->clone(); 1045 inR = inL->clone();
1035 inR->setTempSyncStat( SYNC_TEMPSTATE_INITIAL ); 1046 inR->setTempSyncStat( SYNC_TEMPSTATE_INITIAL );
1036 if ( mGlobalSyncMode != SYNC_MODE_EXTERNAL ) 1047 if ( mGlobalSyncMode != SYNC_MODE_EXTERNAL )
1037 inR->setIDStr( idS ); 1048 inR->setIDStr( idS );
1038 remote->addIncidence( inR ); 1049 remote->addIncidence( inR );
1039 if ( mSyncManager->syncWithDesktop() ) 1050 if ( mSyncManager->syncWithDesktop() )
1040 inR->setPilotId( 2 ); 1051 inR->setPilotId( 2 );
1041 ++changedRemote; 1052 ++changedRemote;
1042 } else {// take remote ********************** 1053 } else {// take remote **********************
1043 idS = inL->IDStr(); 1054 idS = inL->IDStr();
1044 int pid = inL->pilotId(); 1055 int pid = inL->pilotId();
1045 local->deleteIncidence( inL ); 1056 local->deleteIncidence( inL );
1046 inL = inR->clone(); 1057 inL = inR->clone();
diff --git a/korganizer/filteredit_base.cpp b/korganizer/filteredit_base.cpp
index 21a0954..e724da4 100644
--- a/korganizer/filteredit_base.cpp
+++ b/korganizer/filteredit_base.cpp
@@ -1,128 +1,145 @@
1/**************************************************************************** 1/****************************************************************************
2** Form implementation generated from reading ui file 'filteredit_base.ui' 2** Form implementation generated from reading ui file 'filteredit_base.ui'
3** 3**
4** Created: Di Mai 4 15:30:31 2004 4** Created: So Jan 16 11:23:21 2005
5** by: The User Interface Compiler ($Id$) 5** by: The User Interface Compiler ($Id$)
6** 6**
7** WARNING! All changes made in this file will be lost! 7** WARNING! All changes made in this file will be lost!
8****************************************************************************/ 8****************************************************************************/
9 9
10#include "filteredit_base.h" 10#include "filteredit_base.h"
11 11
12#include <qvariant.h> 12#include <qvariant.h>
13#include <qpushbutton.h> 13#include <qpushbutton.h>
14#include <qframe.h> 14#include <qframe.h>
15#include <qbuttongroup.h> 15#include <qbuttongroup.h>
16#include <qradiobutton.h> 16#include <qradiobutton.h>
17#include <qlistbox.h> 17#include <qlistbox.h>
18#include <qlabel.h> 18#include <qlabel.h>
19#include <qcheckbox.h> 19#include <qcheckbox.h>
20#include <qlayout.h> 20#include <qlayout.h>
21#include <qtooltip.h> 21#include <qtooltip.h>
22#include <qwhatsthis.h> 22#include <qwhatsthis.h>
23#include "filteredit_base.ui.h"
23 24
24/* 25/*
25 * Constructs a FilterEdit_base as a child of 'parent', with the 26 * Constructs a FilterEdit_base as a child of 'parent', with the
26 * name 'name' and widget flags set to 'f'. 27 * name 'name' and widget flags set to 'f'.
27 */ 28 */
28FilterEdit_base::FilterEdit_base( QWidget* parent, const char* name, WFlags fl ) 29FilterEdit_base::FilterEdit_base( QWidget* parent, const char* name, WFlags fl )
29 : QWidget( parent, name, fl ) 30 : QWidget( parent, name, fl )
30{ 31{
31 if ( !name ) 32 if ( !name )
32 setName( "FilterEdit_base" ); 33 setName( "FilterEdit_base" );
33 FilterEdit_baseLayout = new QVBoxLayout( this, 0, 0, "FilterEdit_baseLayout"); 34 FilterEdit_baseLayout = new QVBoxLayout( this, 0, 0, "FilterEdit_baseLayout");
34 35
35 mCriteriaFrame = new QFrame( this, "mCriteriaFrame" ); 36 mCriteriaFrame = new QFrame( this, "mCriteriaFrame" );
36 mCriteriaFrame->setFrameShape( QFrame::StyledPanel ); 37 mCriteriaFrame->setFrameShape( QFrame::StyledPanel );
37 mCriteriaFrame->setFrameShadow( QFrame::Raised ); 38 mCriteriaFrame->setFrameShadow( QFrame::Raised );
38 mCriteriaFrameLayout = new QGridLayout( mCriteriaFrame, 1, 1, 3, 2, "mCriteriaFrameLayout"); 39 mCriteriaFrameLayout = new QVBoxLayout( mCriteriaFrame, 3, 2, "mCriteriaFrameLayout");
39 40
40 ButtonGroup1 = new QButtonGroup( mCriteriaFrame, "ButtonGroup1" ); 41 ButtonGroup1 = new QButtonGroup( mCriteriaFrame, "ButtonGroup1" );
41 ButtonGroup1->setColumnLayout(0, Qt::Vertical ); 42 ButtonGroup1->setColumnLayout(0, Qt::Vertical );
42 ButtonGroup1->layout()->setSpacing( 6 ); 43 ButtonGroup1->layout()->setSpacing( 6 );
43 ButtonGroup1->layout()->setMargin( 11 ); 44 ButtonGroup1->layout()->setMargin( 6 );
44 ButtonGroup1Layout = new QVBoxLayout( ButtonGroup1->layout() ); 45 ButtonGroup1Layout = new QGridLayout( ButtonGroup1->layout() );
45 ButtonGroup1Layout->setAlignment( Qt::AlignTop ); 46 ButtonGroup1Layout->setAlignment( Qt::AlignTop );
46 47
48 layout4 = new QHBoxLayout( 0, 0, 6, "layout4");
49
47 mCatShowCheck = new QRadioButton( ButtonGroup1, "mCatShowCheck" ); 50 mCatShowCheck = new QRadioButton( ButtonGroup1, "mCatShowCheck" );
48 ButtonGroup1Layout->addWidget( mCatShowCheck ); 51 layout4->addWidget( mCatShowCheck );
49 52
50 mCatHideCheck = new QRadioButton( ButtonGroup1, "mCatHideCheck" ); 53 mCatHideCheck = new QRadioButton( ButtonGroup1, "mCatHideCheck" );
51 ButtonGroup1Layout->addWidget( mCatHideCheck ); 54 layout4->addWidget( mCatHideCheck );
52
53 mCatList = new QListBox( ButtonGroup1, "mCatList" );
54 ButtonGroup1Layout->addWidget( mCatList );
55 55
56 mCatEditButton = new QPushButton( ButtonGroup1, "mCatEditButton" ); 56 mCatEditButton = new QPushButton( ButtonGroup1, "mCatEditButton" );
57 ButtonGroup1Layout->addWidget( mCatEditButton ); 57 layout4->addWidget( mCatEditButton );
58 58
59 mCriteriaFrameLayout->addWidget( ButtonGroup1, 0, 0 ); 59 ButtonGroup1Layout->addLayout( layout4, 0, 0 );
60 60
61 layout1 = new QHBoxLayout( 0, 0, 0, "layout1"); 61 mCatList = new QListBox( ButtonGroup1, "mCatList" );
62
63 ButtonGroup1Layout->addWidget( mCatList, 1, 0 );
64 mCriteriaFrameLayout->addWidget( ButtonGroup1 );
65
66 layout7 = new QHBoxLayout( 0, 0, 6, "layout7");
62 67
63 textLabel1 = new QLabel( mCriteriaFrame, "textLabel1" ); 68 textLabel1 = new QLabel( mCriteriaFrame, "textLabel1" );
64 layout1->addWidget( textLabel1 ); 69 layout7->addWidget( textLabel1 );
65 70
66 mRecurringCheck = new QCheckBox( mCriteriaFrame, "mRecurringCheck" ); 71 mRecurringCheck = new QCheckBox( mCriteriaFrame, "mRecurringCheck" );
67 layout1->addWidget( mRecurringCheck ); 72 layout7->addWidget( mRecurringCheck );
68 73
69 mCompletedCheck = new QCheckBox( mCriteriaFrame, "mCompletedCheck" ); 74 mCompletedCheck = new QCheckBox( mCriteriaFrame, "mCompletedCheck" );
70 layout1->addWidget( mCompletedCheck ); 75 layout7->addWidget( mCompletedCheck );
76 mCriteriaFrameLayout->addLayout( layout7 );
77
78 layout9 = new QHBoxLayout( 0, 0, 6, "layout9");
71 79
72 mCriteriaFrameLayout->addLayout( layout1, 1, 0 ); 80 textLabel1_2 = new QLabel( mCriteriaFrame, "textLabel1_2" );
81 layout9->addWidget( textLabel1_2 );
82
83 mEventCheck = new QCheckBox( mCriteriaFrame, "mEventCheck" );
84 layout9->addWidget( mEventCheck );
85
86 mTodoCheck = new QCheckBox( mCriteriaFrame, "mTodoCheck" );
87 layout9->addWidget( mTodoCheck );
88
89 mJournalCheck = new QCheckBox( mCriteriaFrame, "mJournalCheck" );
90 layout9->addWidget( mJournalCheck );
91 mCriteriaFrameLayout->addLayout( layout9 );
73 92
74 layout2 = new QHBoxLayout( 0, 0, 0, "layout2"); 93 layout2 = new QHBoxLayout( 0, 0, 0, "layout2");
75 94
76 textLabel2 = new QLabel( mCriteriaFrame, "textLabel2" ); 95 textLabel2 = new QLabel( mCriteriaFrame, "textLabel2" );
77 layout2->addWidget( textLabel2 ); 96 layout2->addWidget( textLabel2 );
78 97
79 mPublicCheck = new QCheckBox( mCriteriaFrame, "mPublicCheck" ); 98 mPublicCheck = new QCheckBox( mCriteriaFrame, "mPublicCheck" );
80 layout2->addWidget( mPublicCheck ); 99 layout2->addWidget( mPublicCheck );
81 100
82 mPrivateCheck = new QCheckBox( mCriteriaFrame, "mPrivateCheck" ); 101 mPrivateCheck = new QCheckBox( mCriteriaFrame, "mPrivateCheck" );
83 layout2->addWidget( mPrivateCheck ); 102 layout2->addWidget( mPrivateCheck );
84 103
85 mConfidentialCheck = new QCheckBox( mCriteriaFrame, "mConfidentialCheck" ); 104 mConfidentialCheck = new QCheckBox( mCriteriaFrame, "mConfidentialCheck" );
86 mConfidentialCheck->setChecked( FALSE ); 105 mConfidentialCheck->setChecked( FALSE );
87 layout2->addWidget( mConfidentialCheck ); 106 layout2->addWidget( mConfidentialCheck );
88 107 mCriteriaFrameLayout->addLayout( layout2 );
89 mCriteriaFrameLayout->addLayout( layout2, 2, 0 );
90 FilterEdit_baseLayout->addWidget( mCriteriaFrame ); 108 FilterEdit_baseLayout->addWidget( mCriteriaFrame );
91 languageChange(); 109 languageChange();
92 resize( QSize(284, 241).expandedTo(minimumSizeHint()) ); 110 resize( QSize(351, 275).expandedTo(minimumSizeHint()) );
93 clearWState( WState_Polished ); 111 clearWState( WState_Polished );
94} 112}
95 113
96/* 114/*
97 * Destroys the object and frees any allocated resources 115 * Destroys the object and frees any allocated resources
98 */ 116 */
99FilterEdit_base::~FilterEdit_base() 117FilterEdit_base::~FilterEdit_base()
100{ 118{
101 // no need to delete child widgets, Qt does it all for us 119 // no need to delete child widgets, Qt does it all for us
102} 120}
103 121
104/* 122/*
105 * Sets the strings of the subwidgets using the current 123 * Sets the strings of the subwidgets using the current
106 * language. 124 * language.
107 */ 125 */
108void FilterEdit_base::languageChange() 126void FilterEdit_base::languageChange()
109{ 127{
110 setCaption( tr( "FilterEditor" ) ); 128 setCaption( tr( "FilterEditor" ) );
111 ButtonGroup1->setTitle( tr( "Categories" ) ); 129 ButtonGroup1->setTitle( tr( "Categories" ) );
112 mCatShowCheck->setText( tr( "Show only selected" ) ); 130 mCatShowCheck->setText( tr( "Include" ) );
113 mCatHideCheck->setText( tr( "Show all but selected" ) ); 131 mCatHideCheck->setText( tr( "Exclude" ) );
114 mCatEditButton->setText( tr( "Edit Selection..." ) ); 132 mCatEditButton->setText( tr( "Edit Selection..." ) );
115 textLabel1->setText( tr( "Hide" ) ); 133 textLabel1->setText( tr( "Exclude" ) );
116 mRecurringCheck->setText( tr( "recurring events" ) ); 134 mRecurringCheck->setText( tr( "recurring events" ) );
117 mCompletedCheck->setText( tr( "completed to-dos" ) ); 135 mCompletedCheck->setText( tr( "completed to-dos" ) );
118 textLabel2->setText( tr( "Show" ) ); 136 textLabel1_2->setText( tr( "Exclude" ) );
137 mEventCheck->setText( tr( "events" ) );
138 mTodoCheck->setText( tr( "todos" ) );
139 mJournalCheck->setText( tr( "journals" ) );
140 textLabel2->setText( tr( "Include" ) );
119 mPublicCheck->setText( tr( "public" ) ); 141 mPublicCheck->setText( tr( "public" ) );
120 mPrivateCheck->setText( tr( "private" ) ); 142 mPrivateCheck->setText( tr( "private" ) );
121 mConfidentialCheck->setText( tr( "confidential" ) ); 143 mConfidentialCheck->setText( tr( "confidential" ) );
122} 144}
123 145
124void FilterEdit_base::updateFilter()
125{
126 qWarning( "FilterEdit_base::updateFilter(): Not implemented yet" );
127}
128
diff --git a/korganizer/filteredit_base.h b/korganizer/filteredit_base.h
index 664598a..0c2988a 100644
--- a/korganizer/filteredit_base.h
+++ b/korganizer/filteredit_base.h
@@ -1,66 +1,72 @@
1/**************************************************************************** 1/****************************************************************************
2** Form interface generated from reading ui file 'filteredit_base.ui' 2** Form interface generated from reading ui file 'filteredit_base.ui'
3** 3**
4** Created: Di Mai 4 15:24:50 2004 4** Created: So Jan 16 11:23:21 2005
5** by: The User Interface Compiler ($Id$) 5** by: The User Interface Compiler ($Id$)
6** 6**
7** WARNING! All changes made in this file will be lost! 7** WARNING! All changes made in this file will be lost!
8****************************************************************************/ 8****************************************************************************/
9 9
10#ifndef FILTEREDIT_BASE_H 10#ifndef FILTEREDIT_BASE_H
11#define FILTEREDIT_BASE_H 11#define FILTEREDIT_BASE_H
12 12
13#include <qvariant.h> 13#include <qvariant.h>
14#include <qwidget.h> 14#include <qwidget.h>
15 15
16class QVBoxLayout; 16class QVBoxLayout;
17class QHBoxLayout; 17class QHBoxLayout;
18class QGridLayout; 18class QGridLayout;
19class QSpacerItem; 19class QSpacerItem;
20class QFrame; 20class QFrame;
21class QButtonGroup; 21class QButtonGroup;
22class QRadioButton; 22class QRadioButton;
23class QPushButton;
23class QListBox; 24class QListBox;
24class QListBoxItem; 25class QListBoxItem;
25class QPushButton;
26class QLabel; 26class QLabel;
27class QCheckBox; 27class QCheckBox;
28 28
29class FilterEdit_base : public QWidget 29class FilterEdit_base : public QWidget
30{ 30{
31 Q_OBJECT 31 Q_OBJECT
32 32
33public: 33public:
34 FilterEdit_base( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); 34 FilterEdit_base( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
35 ~FilterEdit_base(); 35 ~FilterEdit_base();
36 36
37 QFrame* mCriteriaFrame; 37 QFrame* mCriteriaFrame;
38 QButtonGroup* ButtonGroup1; 38 QButtonGroup* ButtonGroup1;
39 QRadioButton* mCatShowCheck; 39 QRadioButton* mCatShowCheck;
40 QRadioButton* mCatHideCheck; 40 QRadioButton* mCatHideCheck;
41 QListBox* mCatList;
42 QPushButton* mCatEditButton; 41 QPushButton* mCatEditButton;
42 QListBox* mCatList;
43 QLabel* textLabel1; 43 QLabel* textLabel1;
44 QCheckBox* mRecurringCheck; 44 QCheckBox* mRecurringCheck;
45 QCheckBox* mCompletedCheck; 45 QCheckBox* mCompletedCheck;
46 QLabel* textLabel1_2;
47 QCheckBox* mEventCheck;
48 QCheckBox* mTodoCheck;
49 QCheckBox* mJournalCheck;
46 QLabel* textLabel2; 50 QLabel* textLabel2;
47 QCheckBox* mPublicCheck; 51 QCheckBox* mPublicCheck;
48 QCheckBox* mPrivateCheck; 52 QCheckBox* mPrivateCheck;
49 QCheckBox* mConfidentialCheck; 53 QCheckBox* mConfidentialCheck;
50 54
51public slots: 55public slots:
52 virtual void updateFilter(); 56 virtual void updateFilter();
53 57
54protected: 58protected:
55 QVBoxLayout* FilterEdit_baseLayout; 59 QVBoxLayout* FilterEdit_baseLayout;
56 QGridLayout* mCriteriaFrameLayout; 60 QVBoxLayout* mCriteriaFrameLayout;
57 QVBoxLayout* ButtonGroup1Layout; 61 QGridLayout* ButtonGroup1Layout;
58 QHBoxLayout* layout1; 62 QHBoxLayout* layout4;
63 QHBoxLayout* layout7;
64 QHBoxLayout* layout9;
59 QHBoxLayout* layout2; 65 QHBoxLayout* layout2;
60 66
61protected slots: 67protected slots:
62 virtual void languageChange(); 68 virtual void languageChange();
63 69
64}; 70};
65 71
66#endif // FILTEREDIT_BASE_H 72#endif // FILTEREDIT_BASE_H
diff --git a/korganizer/filteredit_base.ui b/korganizer/filteredit_base.ui
index b7cbb59..2436f57 100644
--- a/korganizer/filteredit_base.ui
+++ b/korganizer/filteredit_base.ui
@@ -1,201 +1,250 @@
1<!DOCTYPE UI><UI version="3.3" stdsetdef="1"> 1<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
2<class>FilterEdit_base</class> 2<class>FilterEdit_base</class>
3<widget class="QWidget"> 3<widget class="QWidget">
4 <property name="name"> 4 <property name="name">
5 <cstring>FilterEdit_base</cstring> 5 <cstring>FilterEdit_base</cstring>
6 </property> 6 </property>
7 <property name="geometry"> 7 <property name="geometry">
8 <rect> 8 <rect>
9 <x>0</x> 9 <x>0</x>
10 <y>0</y> 10 <y>0</y>
11 <width>284</width> 11 <width>351</width>
12 <height>241</height> 12 <height>275</height>
13 </rect> 13 </rect>
14 </property> 14 </property>
15 <property name="caption"> 15 <property name="caption">
16 <string>FilterEditor</string> 16 <string>FilterEditor</string>
17 </property> 17 </property>
18 <property name="layoutMargin" stdset="0"> 18 <property name="layoutMargin" stdset="0">
19 </property> 19 </property>
20 <property name="layoutSpacing" stdset="0"> 20 <property name="layoutSpacing" stdset="0">
21 </property> 21 </property>
22 <vbox> 22 <vbox>
23 <property name="name"> 23 <property name="name">
24 <cstring>unnamed</cstring> 24 <cstring>unnamed</cstring>
25 </property> 25 </property>
26 <property name="margin"> 26 <property name="margin">
27 <number>0</number> 27 <number>0</number>
28 </property> 28 </property>
29 <property name="spacing"> 29 <property name="spacing">
30 <number>0</number> 30 <number>0</number>
31 </property> 31 </property>
32 <widget class="QFrame"> 32 <widget class="QFrame">
33 <property name="name"> 33 <property name="name">
34 <cstring>mCriteriaFrame</cstring> 34 <cstring>mCriteriaFrame</cstring>
35 </property> 35 </property>
36 <property name="frameShape"> 36 <property name="frameShape">
37 <enum>StyledPanel</enum> 37 <enum>StyledPanel</enum>
38 </property> 38 </property>
39 <property name="frameShadow"> 39 <property name="frameShadow">
40 <enum>Raised</enum> 40 <enum>Raised</enum>
41 </property> 41 </property>
42 <property name="layoutMargin" stdset="0"> 42 <property name="layoutMargin" stdset="0">
43 </property> 43 </property>
44 <grid> 44 <vbox>
45 <property name="name"> 45 <property name="name">
46 <cstring>unnamed</cstring> 46 <cstring>unnamed</cstring>
47 </property> 47 </property>
48 <property name="margin"> 48 <property name="margin">
49 <number>3</number> 49 <number>3</number>
50 </property> 50 </property>
51 <property name="spacing"> 51 <property name="spacing">
52 <number>2</number> 52 <number>2</number>
53 </property> 53 </property>
54 <widget class="QButtonGroup" row="0" column="0"> 54 <widget class="QButtonGroup">
55 <property name="name"> 55 <property name="name">
56 <cstring>ButtonGroup1</cstring> 56 <cstring>ButtonGroup1</cstring>
57 </property> 57 </property>
58 <property name="title"> 58 <property name="title">
59 <string>Categories</string> 59 <string>Categories</string>
60 </property> 60 </property>
61 <vbox> 61 <grid>
62 <property name="name"> 62 <property name="name">
63 <cstring>unnamed</cstring> 63 <cstring>unnamed</cstring>
64 </property> 64 </property>
65 <property name="margin"> 65 <property name="margin">
66 <number>11</number> 66 <number>6</number>
67 </property> 67 </property>
68 <property name="spacing"> 68 <property name="spacing">
69 <number>6</number> 69 <number>6</number>
70 </property> 70 </property>
71 <widget class="QRadioButton"> 71 <widget class="QLayoutWidget" row="0" column="0">
72 <property name="name"> 72 <property name="name">
73 <cstring>mCatShowCheck</cstring> 73 <cstring>layout4</cstring>
74 </property> 74 </property>
75 <property name="text"> 75 <hbox>
76 <string>Show only selected</string> 76 <property name="name">
77 <cstring>unnamed</cstring>
78 </property>
79 <widget class="QRadioButton">
80 <property name="name">
81 <cstring>mCatShowCheck</cstring>
82 </property>
83 <property name="text">
84 <string>Include</string>
85 </property>
86 </widget>
87 <widget class="QRadioButton">
88 <property name="name">
89 <cstring>mCatHideCheck</cstring>
90 </property>
91 <property name="text">
92 <string>Exclude</string>
93 </property>
94 </widget>
95 <widget class="QPushButton">
96 <property name="name">
97 <cstring>mCatEditButton</cstring>
98 </property>
99 <property name="text">
100 <string>Edit Selection...</string>
101 </property>
102 </widget>
103 </hbox>
104 </widget>
105 <widget class="QListBox" row="1" column="0">
106 <property name="name">
107 <cstring>mCatList</cstring>
77 </property> 108 </property>
78 </widget> 109 </widget>
79 <widget class="QRadioButton"> 110 </grid>
111 </widget>
112 <widget class="QLayoutWidget">
113 <property name="name">
114 <cstring>layout7</cstring>
115 </property>
116 <hbox>
117 <property name="name">
118 <cstring>unnamed</cstring>
119 </property>
120 <widget class="QLabel">
80 <property name="name"> 121 <property name="name">
81 <cstring>mCatHideCheck</cstring> 122 <cstring>textLabel1</cstring>
82 </property> 123 </property>
83 <property name="text"> 124 <property name="text">
84 <string>Show all but selected</string> 125 <string>Exclude</string>
85 </property> 126 </property>
86 </widget> 127 </widget>
87 <widget class="QListBox"> 128 <widget class="QCheckBox">
88 <property name="name"> 129 <property name="name">
89 <cstring>mCatList</cstring> 130 <cstring>mRecurringCheck</cstring>
131 </property>
132 <property name="text">
133 <string>recurring events</string>
90 </property> 134 </property>
91 </widget> 135 </widget>
92 <widget class="QPushButton"> 136 <widget class="QCheckBox">
93 <property name="name"> 137 <property name="name">
94 <cstring>mCatEditButton</cstring> 138 <cstring>mCompletedCheck</cstring>
95 </property> 139 </property>
96 <property name="text"> 140 <property name="text">
97 <string>Edit Selection...</string> 141 <string>completed to-dos</string>
98 </property> 142 </property>
99 </widget> 143 </widget>
100 </vbox> 144 </hbox>
101 </widget> 145 </widget>
102 <widget class="QLayoutWidget" row="1" column="0"> 146 <widget class="QLayoutWidget">
103 <property name="name"> 147 <property name="name">
104 <cstring>layout1</cstring> 148 <cstring>layout9</cstring>
105 </property> 149 </property>
106 <hbox> 150 <hbox>
107 <property name="name"> 151 <property name="name">
108 <cstring>unnamed</cstring> 152 <cstring>unnamed</cstring>
109 </property> 153 </property>
110 <property name="margin">
111 <number>0</number>
112 </property>
113 <property name="spacing">
114 <number>0</number>
115 </property>
116 <widget class="QLabel"> 154 <widget class="QLabel">
117 <property name="name"> 155 <property name="name">
118 <cstring>textLabel1</cstring> 156 <cstring>textLabel1_2</cstring>
119 </property> 157 </property>
120 <property name="text"> 158 <property name="text">
121 <string>Hide</string> 159 <string>Exclude</string>
122 </property> 160 </property>
123 </widget> 161 </widget>
124 <widget class="QCheckBox"> 162 <widget class="QCheckBox">
125 <property name="name"> 163 <property name="name">
126 <cstring>mRecurringCheck</cstring> 164 <cstring>mEventCheck</cstring>
127 </property> 165 </property>
128 <property name="text"> 166 <property name="text">
129 <string>recurring events</string> 167 <string>events</string>
130 </property> 168 </property>
131 </widget> 169 </widget>
132 <widget class="QCheckBox"> 170 <widget class="QCheckBox">
133 <property name="name"> 171 <property name="name">
134 <cstring>mCompletedCheck</cstring> 172 <cstring>mTodoCheck</cstring>
135 </property> 173 </property>
136 <property name="text"> 174 <property name="text">
137 <string>completed to-dos</string> 175 <string>todos</string>
176 </property>
177 </widget>
178 <widget class="QCheckBox">
179 <property name="name">
180 <cstring>mJournalCheck</cstring>
181 </property>
182 <property name="text">
183 <string>journals</string>
138 </property> 184 </property>
139 </widget> 185 </widget>
140 </hbox> 186 </hbox>
141 </widget> 187 </widget>
142 <widget class="QLayoutWidget" row="2" column="0"> 188 <widget class="QLayoutWidget">
143 <property name="name"> 189 <property name="name">
144 <cstring>layout2</cstring> 190 <cstring>layout2</cstring>
145 </property> 191 </property>
146 <hbox> 192 <hbox>
147 <property name="name"> 193 <property name="name">
148 <cstring>unnamed</cstring> 194 <cstring>unnamed</cstring>
149 </property> 195 </property>
150 <property name="margin"> 196 <property name="margin">
151 <number>0</number> 197 <number>0</number>
152 </property> 198 </property>
153 <property name="spacing"> 199 <property name="spacing">
154 <number>0</number> 200 <number>0</number>
155 </property> 201 </property>
156 <widget class="QLabel"> 202 <widget class="QLabel">
157 <property name="name"> 203 <property name="name">
158 <cstring>textLabel2</cstring> 204 <cstring>textLabel2</cstring>
159 </property> 205 </property>
160 <property name="text"> 206 <property name="text">
161 <string>Show</string> 207 <string>Include</string>
162 </property> 208 </property>
163 </widget> 209 </widget>
164 <widget class="QCheckBox"> 210 <widget class="QCheckBox">
165 <property name="name"> 211 <property name="name">
166 <cstring>mPublicCheck</cstring> 212 <cstring>mPublicCheck</cstring>
167 </property> 213 </property>
168 <property name="text"> 214 <property name="text">
169 <string>public</string> 215 <string>public</string>
170 </property> 216 </property>
171 </widget> 217 </widget>
172 <widget class="QCheckBox"> 218 <widget class="QCheckBox">
173 <property name="name"> 219 <property name="name">
174 <cstring>mPrivateCheck</cstring> 220 <cstring>mPrivateCheck</cstring>
175 </property> 221 </property>
176 <property name="text"> 222 <property name="text">
177 <string>private</string> 223 <string>private</string>
178 </property> 224 </property>
179 </widget> 225 </widget>
180 <widget class="QCheckBox"> 226 <widget class="QCheckBox">
181 <property name="name"> 227 <property name="name">
182 <cstring>mConfidentialCheck</cstring> 228 <cstring>mConfidentialCheck</cstring>
183 </property> 229 </property>
184 <property name="text"> 230 <property name="text">
185 <string>confidential</string> 231 <string>confidential</string>
186 </property> 232 </property>
187 <property name="checked"> 233 <property name="checked">
188 <bool>false</bool> 234 <bool>false</bool>
189 </property> 235 </property>
190 </widget> 236 </widget>
191 </hbox> 237 </hbox>
192 </widget> 238 </widget>
193 </grid> 239 </vbox>
194 </widget> 240 </widget>
195 </vbox> 241 </vbox>
196</widget> 242</widget>
243<includes>
244 <include location="local" impldecl="in implementation">filteredit_base.ui.h</include>
245</includes>
197<slots> 246<slots>
198 <slot>updateFilter()</slot> 247 <slot>updateFilter()</slot>
199</slots> 248</slots>
200<layoutdefaults spacing="6" margin="11"/> 249<layoutdefaults spacing="6" margin="11"/>
201</UI> 250</UI>
diff --git a/korganizer/korganizer.pro b/korganizer/korganizer.pro
index 2816c6e..628d84e 100644
--- a/korganizer/korganizer.pro
+++ b/korganizer/korganizer.pro
@@ -1,97 +1,97 @@
1 TEMPLATE= app 1 TEMPLATE= app
2 CONFIG = qt warn_on 2 CONFIG = qt warn_on
3 TARGET = kopi 3 TARGET = kopi
4OBJECTS_DIR = _obj/ 4OBJECTS_DIR = _obj/
5MOC_DIR = _moc 5MOC_DIR = _moc
6DESTDIR= ../bin 6DESTDIR= ../bin
7 7
8include( ../variables.pri ) 8include( ../variables.pri )
9 9
10INCLUDEPATH += ../microkde ../ interfaces ../microkde/kdecore ../microkde/kdeui ../microkde/kio/kfile ../microkde/kio/kio ../libkdepim 10INCLUDEPATH += ../microkde ../ interfaces ../microkde/kdecore ../microkde/kdeui ../microkde/kio/kfile ../microkde/kio/kio ../libkdepim
11#../qtcompat 11#../qtcompat
12DEFINES += KORG_NODND KORG_NOPLUGINS KORG_NOARCHIVE KORG_NOMAIL 12DEFINES += KORG_NODND KORG_NOPLUGINS KORG_NOARCHIVE KORG_NOMAIL
13DEFINES += KORG_NODCOP KORG_NOKALARMD KORG_NORESOURCEVIEW KORG_NOSPLITTER 13DEFINES += KORG_NODCOP KORG_NOKALARMD KORG_NORESOURCEVIEW KORG_NOSPLITTER
14#KORG_NOPRINTER KORG_NOKABC 14#KORG_NOPRINTER KORG_NOKABC
15DEFINES += KORG_NOLVALTERNATION 15DEFINES += KORG_NOLVALTERNATION
16DEFINES += DESKTOP_VERSION 16DEFINES += DESKTOP_VERSION
17unix : { 17unix : {
18LIBS += ../bin/libmicrokdepim.so 18LIBS += ../bin/libmicrokdepim.so
19LIBS += ../bin/libmicrokcal.so 19LIBS += ../bin/libmicrokcal.so
20LIBS += ../bin/libmicrokde.so 20LIBS += ../bin/libmicrokde.so
21LIBS += ../bin/libmicrokabc.so 21LIBS += ../bin/libmicrokabc.so
22#LIBS += -lbluetooth 22#LIBS += -lbluetooth
23#LIBS += -lsdp 23#LIBS += -lsdp
24 24
25#LIBS += -lldap 25#LIBS += -lldap
26OBJECTS_DIR = obj/unix 26OBJECTS_DIR = obj/unix
27MOC_DIR = moc/unix 27MOC_DIR = moc/unix
28} 28}
29win32: { 29win32: {
30RC_FILE = winicons.rc 30RC_FILE = winicons.rc
31DEFINES += _WIN32_ 31DEFINES += _WIN32_
32LIBS += ../bin/microkdepim.lib 32LIBS += ../bin/microkdepim.lib
33LIBS += ../bin/microkcal.lib 33LIBS += ../bin/microkcal.lib
34LIBS += ../bin/microkde.lib 34LIBS += ../bin/microkde.lib
35LIBS += ../bin/microkabc.lib 35LIBS += ../bin/microkabc.lib
36LIBS += ../libical/lib/ical.lib 36LIBS += ../libical/lib/ical.lib
37LIBS += ../libical/lib/icalss.lib 37LIBS += ../libical/lib/icalss.lib
38#LIBS += atls.lib 38#LIBS += atls.lib
39LIBS += mfc71u.lib 39LIBS += mfc71u.lib
40QMAKE_LINK += /NODEFAULTLIB:LIBC 40QMAKE_LINK += /NODEFAULTLIB:LIBC
41#QMAKE_LINK += /NODEFAULTLIB:MSVCRT 41#QMAKE_LINK += /NODEFAULTLIB:MSVCRT
42#QMAKE_LINK += /NODEFAULTLIB:uafxcw.lib 42#QMAKE_LINK += /NODEFAULTLIB:uafxcw.lib
43OBJECTS_DIR = obj/win 43OBJECTS_DIR = obj/win
44MOC_DIR = moc/win 44MOC_DIR = moc/win
45} 45}
46 46
47 47
48INTERFACES = kofilterview_base.ui 48INTERFACES = kofilterview_base.ui
49# filteredit_base.ui 49# filteredit_base.ui
50 50
51# kdateedit.h \ 51# kdateedit.h \
52 52
53HEADERS = \ 53HEADERS = \
54 filteredit_base.h \ 54 filteredit_base.h \
55 alarmclient.h \ 55 alarmclient.h \
56 calendarview.h \ 56 calendarview.h \
57 customlistviewitem.h \ 57 customlistviewitem.h \
58 datenavigator.h \ 58 datenavigator.h \
59 docprefs.h \ 59 docprefs.h \
60 filtereditdialog.h \ 60 filtereditdialog.h \
61 incomingdialog.h \ 61 incomingdialog.h \
62 incomingdialog_base.h \ 62 incomingdialog_base.h \
63 interfaces/korganizer/baseview.h \ 63 interfaces/korganizer/baseview.h \
64 interfaces/korganizer/calendarviewbase.h \ 64 interfaces/korganizer/calendarviewbase.h \
65 journalentry.h \ 65 journalentry.h \
66 kdatenavigator.h \ 66 kdatenavigator.h \
67 koagenda.h \ 67 koagenda.h \
68 koagendaitem.h \ 68 koagendaitem.h \
69 koagendaview.h \ 69 koagendaview.h \
70 kocounterdialog.h \ 70 kocounterdialog.h \
71 kodaymatrix.h \ 71 kodaymatrix.h \
72 kodialogmanager.h \ 72 kodialogmanager.h \
73 koeditordetails.h \ 73 koeditordetails.h \
74 koeditorgeneral.h \ 74 koeditorgeneral.h \
75 koeditorgeneralevent.h \ 75 koeditorgeneralevent.h \
76 koeditorgeneraltodo.h \ 76 koeditorgeneraltodo.h \
77 koeditorrecurrence.h \ 77 koeditorrecurrence.h \
78 koeventeditor.h \ 78 koeventeditor.h \
79 koeventpopupmenu.h \ 79 koeventpopupmenu.h \
80 koeventview.h \ 80 koeventview.h \
81 koeventviewer.h \ 81 koeventviewer.h \
82 koeventviewerdialog.h \ 82 koeventviewerdialog.h \
83 kofilterview.h \ 83 kofilterview.h \
84 koglobals.h \ 84 koglobals.h \
85 koincidenceeditor.h \ 85 koincidenceeditor.h \
86 kojournalview.h \ 86 kojournalview.h \
87 kolistview.h \ 87 kolistview.h \
88 kolocationbox.h \ 88 kolocationbox.h \
89 komonthview.h \ 89 komonthview.h \
90 koprefs.h \ 90 koprefs.h \
91 koprefsdialog.h \ 91 koprefsdialog.h \
92 kotimespanview.h \ 92 kotimespanview.h \
93 kotodoeditor.h \ 93 kotodoeditor.h \
94 kotodoview.h \ 94 kotodoview.h \
95 kotodoviewitem.h \ 95 kotodoviewitem.h \
96 koviewmanager.h \ 96 koviewmanager.h \
97 kowhatsnextview.h \ 97 kowhatsnextview.h \
diff --git a/libkcal/calfilter.h b/libkcal/calfilter.h
index d6d4717..5ad0064 100644
--- a/libkcal/calfilter.h
+++ b/libkcal/calfilter.h
@@ -57,72 +57,72 @@ class CalFilter {
57 void apply(QPtrList<Event> *eventlist); 57 void apply(QPtrList<Event> *eventlist);
58 58
59 /** 59 /**
60 Apply filter to todolist, all todos not matching filter criterias are 60 Apply filter to todolist, all todos not matching filter criterias are
61 removed from the list. 61 removed from the list.
62 */ 62 */
63 void apply(QPtrList<Todo> *todolist); 63 void apply(QPtrList<Todo> *todolist);
64 64
65 /** 65 /**
66 Apply filter criteria on the specified event. Return true, if event passes 66 Apply filter criteria on the specified event. Return true, if event passes
67 criteria, otherwise return false. 67 criteria, otherwise return false.
68 */ 68 */
69 bool filterEvent(Event *); 69 bool filterEvent(Event *);
70 70
71 /** 71 /**
72 Apply filter criteria on the specified todo. Return true, if event passes 72 Apply filter criteria on the specified todo. Return true, if event passes
73 criteria, otherwise return false. 73 criteria, otherwise return false.
74 */ 74 */
75 bool filterTodo(Todo *); 75 bool filterTodo(Todo *);
76 76
77 /** 77 /**
78 Apply filter criteria on the specified incidence. Return true, if event passes 78 Apply filter criteria on the specified incidence. Return true, if event passes
79 criteria, otherwise return false. 79 criteria, otherwise return false.
80 */ 80 */
81 bool filterIncidence(Incidence *); 81 bool filterIncidence(Incidence *);
82 82
83 /** 83 /**
84 Enable or disable filter. 84 Enable or disable filter.
85 */ 85 */
86 void setEnabled(bool); 86 void setEnabled(bool);
87 /** 87 /**
88 Return wheter the filter is enabled or not. 88 Return wheter the filter is enabled or not.
89 */ 89 */
90 bool isEnabled(); 90 bool isEnabled();
91 bool showCategories(); 91 bool showCategories();
92 int getSecrecy(); 92 int getSecrecy();
93 /** 93 /**
94 Set list of categories, which is used for showing/hiding categories of 94 Set list of categories, which is used for showing/hiding categories of
95 events. 95 events.
96 See related functions. 96 See related functions.
97 */ 97 */
98 void setCategoryList(const QStringList &); 98 void setCategoryList(const QStringList &);
99 /** 99 /**
100 Return category list, used for showing/hiding categories of events. 100 Return category list, used for showing/hiding categories of events.
101 See related functions. 101 See related functions.
102 */ 102 */
103 QStringList categoryList(); 103 QStringList categoryList();
104 104
105 enum { HideRecurring = 1, HideCompleted = 2, ShowCategories = 4 ,ShowPublic = 8, ShowPrivate = 16, ShowConfidential = 32 }; 105 enum { HideRecurring = 1, HideCompleted = 2, ShowCategories = 4 ,ShowPublic = 8, ShowPrivate = 16, ShowConfidential = 32, HideEvents = 64, HideTodos = 128, HideJournals = 256 };
106 106
107 /** 107 /**
108 Set criteria, which have to be fulfilled by events passing the filter. 108 Set criteria, which have to be fulfilled by events passing the filter.
109 */ 109 */
110 void setCriteria(int); 110 void setCriteria(int);
111 /** 111 /**
112 Get inclusive filter criteria. 112 Get inclusive filter criteria.
113 */ 113 */
114 int criteria(); 114 int criteria();
115 115
116 private: 116 private:
117 QString mName; 117 QString mName;
118 118
119 int mCriteria; 119 int mCriteria;
120 120
121 bool mEnabled; 121 bool mEnabled;
122 122
123 QStringList mCategoryList; 123 QStringList mCategoryList;
124}; 124};
125 125
126} 126}
127 127
128#endif /* _CALFILTER_H */ 128#endif /* _CALFILTER_H */
diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp
index 33b4a65..6c1f444 100644
--- a/libkdepim/ksyncmanager.cpp
+++ b/libkdepim/ksyncmanager.cpp
@@ -207,97 +207,101 @@ void KSyncManager::slotSyncMenu( int action )
207 enableQuick(); 207 enableQuick();
208 QTimer::singleShot ( 1, this, SLOT ( fillSyncMenu() ) ); 208 QTimer::singleShot ( 1, this, SLOT ( fillSyncMenu() ) );
209 return; 209 return;
210 } 210 }
211 if ( action == 3 ) { 211 if ( action == 3 ) {
212 delete mServerSocket; 212 delete mServerSocket;
213 mServerSocket = 0; 213 mServerSocket = 0;
214 QTimer::singleShot ( 1, this, SLOT ( fillSyncMenu() ) ); 214 QTimer::singleShot ( 1, this, SLOT ( fillSyncMenu() ) );
215 return; 215 return;
216 } 216 }
217 217
218 if (blockSave()) 218 if (blockSave())
219 return; 219 return;
220 220
221 setBlockSave(true); 221 setBlockSave(true);
222 bool silent = false; 222 bool silent = false;
223 if ( action == 999 ) { 223 if ( action == 999 ) {
224 //special mode for silent syncing 224 //special mode for silent syncing
225 action = 1000; 225 action = 1000;
226 silent = true; 226 silent = true;
227 } 227 }
228 228
229 mCurrentSyncProfile = action - 1000 ; 229 mCurrentSyncProfile = action - 1000 ;
230 mCurrentSyncDevice = mSyncProfileNames[mCurrentSyncProfile] ; 230 mCurrentSyncDevice = mSyncProfileNames[mCurrentSyncProfile] ;
231 mCurrentSyncName = mLocalMachineName ; 231 mCurrentSyncName = mLocalMachineName ;
232 KConfig config ( locateLocal( "config","ksyncprofilesrc" ) ); 232 KConfig config ( locateLocal( "config","ksyncprofilesrc" ) );
233 KSyncProfile* temp = new KSyncProfile (); 233 KSyncProfile* temp = new KSyncProfile ();
234 temp->setName(mSyncProfileNames[mCurrentSyncProfile]); 234 temp->setName(mSyncProfileNames[mCurrentSyncProfile]);
235 temp->readConfig(&config); 235 temp->readConfig(&config);
236 if (silent) { 236 if (silent) {
237 mAskForPreferences = false; 237 mAskForPreferences = false;
238 mShowSyncSummary = false; 238 mShowSyncSummary = false;
239 mWriteBackFile = true; 239 mWriteBackFile = true;
240 mSyncAlgoPrefs = 2;// take newest 240 mSyncAlgoPrefs = 2;// take newest
241 } 241 }
242 else { 242 else {
243 mAskForPreferences = temp->getAskForPreferences(); 243 mAskForPreferences = temp->getAskForPreferences();
244 mShowSyncSummary = temp->getShowSummaryAfterSync(); 244 mShowSyncSummary = temp->getShowSummaryAfterSync();
245 mWriteBackFile = temp->getWriteBackFile(); 245 mWriteBackFile = temp->getWriteBackFile();
246 mSyncAlgoPrefs = temp->getSyncPrefs(); 246 mSyncAlgoPrefs = temp->getSyncPrefs();
247 } 247 }
248 mWriteBackExistingOnly = temp->getWriteBackExisting(); 248 mWriteBackExistingOnly = temp->getWriteBackExisting();
249 mIsKapiFile = temp->getIsKapiFile(); 249 mIsKapiFile = temp->getIsKapiFile();
250 mWriteBackInFuture = 0; 250 mWriteBackInFuture = 0;
251 if ( temp->getWriteBackFuture() ) { 251 if ( temp->getWriteBackFuture() ) {
252 mWriteBackInFuture = temp->getWriteBackFutureWeeks( ); 252 mWriteBackInFuture = temp->getWriteBackFutureWeeks( );
253 mWriteBackInPast = temp->getWriteBackPastWeeks( ); 253 mWriteBackInPast = temp->getWriteBackPastWeeks( );
254 } 254 }
255 255 mFilterInCal = temp->getFilterInCal();
256 mFilterOutCal = temp->getFilterOutCal();
257 mFilterInAB = temp->getFilterInAB();
258 mFilterOutAB = temp->getFilterOutAB();
259
256 if ( action == 1000 ) { 260 if ( action == 1000 ) {
257 mIsKapiFile = false; 261 mIsKapiFile = false;
258#ifdef DESKTOP_VERSION 262#ifdef DESKTOP_VERSION
259 syncKDE(); 263 syncKDE();
260#else 264#else
261 syncSharp(); 265 syncSharp();
262#endif 266#endif
263 267
264 } else if ( action == 1001 ) { 268 } else if ( action == 1001 ) {
265 syncLocalFile(); 269 syncLocalFile();
266 270
267 } else if ( action == 1002 ) { 271 } else if ( action == 1002 ) {
268 mWriteBackFile = false; 272 mWriteBackFile = false;
269 mAskForPreferences = false; 273 mAskForPreferences = false;
270 mShowSyncSummary = false; 274 mShowSyncSummary = false;
271 mSyncAlgoPrefs = 3; 275 mSyncAlgoPrefs = 3;
272 quickSyncLocalFile(); 276 quickSyncLocalFile();
273 277
274 } else if ( action >= 1003 ) { 278 } else if ( action >= 1003 ) {
275 if ( temp->getIsLocalFileSync() ) { 279 if ( temp->getIsLocalFileSync() ) {
276 switch(mTargetApp) 280 switch(mTargetApp)
277 { 281 {
278 case (KAPI): 282 case (KAPI):
279 if ( syncWithFile( temp->getRemoteFileNameAB( ), false ) ) 283 if ( syncWithFile( temp->getRemoteFileNameAB( ), false ) )
280 mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNameAB(); 284 mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNameAB();
281 break; 285 break;
282 case (KOPI): 286 case (KOPI):
283 if ( syncWithFile( temp->getRemoteFileName( ), false ) ) 287 if ( syncWithFile( temp->getRemoteFileName( ), false ) )
284 mPrefs->mLastSyncedLocalFile = temp->getRemoteFileName(); 288 mPrefs->mLastSyncedLocalFile = temp->getRemoteFileName();
285 break; 289 break;
286 case (PWMPI): 290 case (PWMPI):
287 if ( syncWithFile( temp->getRemoteFileNamePWM( ), false ) ) 291 if ( syncWithFile( temp->getRemoteFileNamePWM( ), false ) )
288 mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNamePWM(); 292 mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNamePWM();
289 break; 293 break;
290 default: 294 default:
291 qDebug("KSyncManager::slotSyncMenu: invalid apptype selected"); 295 qDebug("KSyncManager::slotSyncMenu: invalid apptype selected");
292 break; 296 break;
293 297
294 } 298 }
295 } else { 299 } else {
296 if ( temp->getIsPhoneSync() ) { 300 if ( temp->getIsPhoneSync() ) {
297 mPhoneDevice = temp->getPhoneDevice( ) ; 301 mPhoneDevice = temp->getPhoneDevice( ) ;
298 mPhoneConnection = temp->getPhoneConnection( ); 302 mPhoneConnection = temp->getPhoneConnection( );
299 mPhoneModel = temp->getPhoneModel( ); 303 mPhoneModel = temp->getPhoneModel( );
300 syncPhone(); 304 syncPhone();
301 } else if ( temp->getIsPiSync() ) { 305 } else if ( temp->getIsPiSync() ) {
302 if ( mTargetApp == KAPI ) { 306 if ( mTargetApp == KAPI ) {
303 mPassWordPiSync = temp->getRemotePwAB(); 307 mPassWordPiSync = temp->getRemotePwAB();
@@ -539,96 +543,100 @@ void KSyncManager::multiSync( bool askforPrefs )
539 543
540int KSyncManager::ringSync() 544int KSyncManager::ringSync()
541{ 545{
542 546
543 int syncedProfiles = 0; 547 int syncedProfiles = 0;
544 unsigned int i; 548 unsigned int i;
545 QTime timer; 549 QTime timer;
546 KConfig config ( locateLocal( "config","ksyncprofilesrc" ) ); 550 KConfig config ( locateLocal( "config","ksyncprofilesrc" ) );
547 QStringList syncProfileNames = mSyncProfileNames; 551 QStringList syncProfileNames = mSyncProfileNames;
548 KSyncProfile* temp = new KSyncProfile (); 552 KSyncProfile* temp = new KSyncProfile ();
549 mAskForPreferences = false; 553 mAskForPreferences = false;
550 for ( i = 0; i < syncProfileNames.count(); ++i ) { 554 for ( i = 0; i < syncProfileNames.count(); ++i ) {
551 mCurrentSyncProfile = i; 555 mCurrentSyncProfile = i;
552 temp->setName(syncProfileNames[mCurrentSyncProfile]); 556 temp->setName(syncProfileNames[mCurrentSyncProfile]);
553 temp->readConfig(&config); 557 temp->readConfig(&config);
554 558
555 bool includeInRingSync; 559 bool includeInRingSync;
556 switch(mTargetApp) 560 switch(mTargetApp)
557 { 561 {
558 case (KAPI): 562 case (KAPI):
559 includeInRingSync = temp->getIncludeInRingSyncAB(); 563 includeInRingSync = temp->getIncludeInRingSyncAB();
560 break; 564 break;
561 case (KOPI): 565 case (KOPI):
562 includeInRingSync = temp->getIncludeInRingSync(); 566 includeInRingSync = temp->getIncludeInRingSync();
563 break; 567 break;
564 case (PWMPI): 568 case (PWMPI):
565 includeInRingSync = temp->getIncludeInRingSyncPWM(); 569 includeInRingSync = temp->getIncludeInRingSyncPWM();
566 break; 570 break;
567 default: 571 default:
568 qDebug("KSyncManager::ringSync: invalid apptype selected"); 572 qDebug("KSyncManager::ringSync: invalid apptype selected");
569 break; 573 break;
570 574
571 } 575 }
572 576
573 577
574 if ( includeInRingSync && ( i < 1 || i > 2 )) { 578 if ( includeInRingSync && ( i < 1 || i > 2 )) {
575 mParent->topLevelWidget()->setCaption(i18n("Profile ")+syncProfileNames[mCurrentSyncProfile]+ i18n(" is synced ... ")); 579 mParent->topLevelWidget()->setCaption(i18n("Profile ")+syncProfileNames[mCurrentSyncProfile]+ i18n(" is synced ... "));
576 ++syncedProfiles; 580 ++syncedProfiles;
577 mSyncWithDesktop = false; 581 mSyncWithDesktop = false;
578 // mAskForPreferences = temp->getAskForPreferences(); 582 // mAskForPreferences = temp->getAskForPreferences();
579 mWriteBackFile = temp->getWriteBackFile(); 583 mWriteBackFile = temp->getWriteBackFile();
580 mWriteBackExistingOnly = temp->getWriteBackExisting(); 584 mWriteBackExistingOnly = temp->getWriteBackExisting();
581 mIsKapiFile = temp->getIsKapiFile(); 585 mIsKapiFile = temp->getIsKapiFile();
582 mWriteBackInFuture = 0; 586 mWriteBackInFuture = 0;
583 if ( temp->getWriteBackFuture() ) { 587 if ( temp->getWriteBackFuture() ) {
584 mWriteBackInFuture = temp->getWriteBackFutureWeeks( ); 588 mWriteBackInFuture = temp->getWriteBackFutureWeeks( );
585 mWriteBackInPast = temp->getWriteBackPastWeeks( ); 589 mWriteBackInPast = temp->getWriteBackPastWeeks( );
586 } 590 }
591 mFilterInCal = temp->getFilterInCal();
592 mFilterOutCal = temp->getFilterOutCal();
593 mFilterInAB = temp->getFilterInAB();
594 mFilterOutAB = temp->getFilterOutAB();
587 mShowSyncSummary = false; 595 mShowSyncSummary = false;
588 mCurrentSyncDevice = syncProfileNames[i] ; 596 mCurrentSyncDevice = syncProfileNames[i] ;
589 mCurrentSyncName = mLocalMachineName; 597 mCurrentSyncName = mLocalMachineName;
590 if ( i == 0 ) { 598 if ( i == 0 ) {
591 mIsKapiFile = false; 599 mIsKapiFile = false;
592#ifdef DESKTOP_VERSION 600#ifdef DESKTOP_VERSION
593 syncKDE(); 601 syncKDE();
594#else 602#else
595 syncSharp(); 603 syncSharp();
596#endif 604#endif
597 } else { 605 } else {
598 if ( temp->getIsLocalFileSync() ) { 606 if ( temp->getIsLocalFileSync() ) {
599 switch(mTargetApp) 607 switch(mTargetApp)
600 { 608 {
601 case (KAPI): 609 case (KAPI):
602 if ( syncWithFile( temp->getRemoteFileNameAB( ), false ) ) 610 if ( syncWithFile( temp->getRemoteFileNameAB( ), false ) )
603 mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNameAB(); 611 mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNameAB();
604 break; 612 break;
605 case (KOPI): 613 case (KOPI):
606 if ( syncWithFile( temp->getRemoteFileName( ), false ) ) 614 if ( syncWithFile( temp->getRemoteFileName( ), false ) )
607 mPrefs->mLastSyncedLocalFile = temp->getRemoteFileName(); 615 mPrefs->mLastSyncedLocalFile = temp->getRemoteFileName();
608 break; 616 break;
609 case (PWMPI): 617 case (PWMPI):
610 if ( syncWithFile( temp->getRemoteFileNamePWM( ), false ) ) 618 if ( syncWithFile( temp->getRemoteFileNamePWM( ), false ) )
611 mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNamePWM(); 619 mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNamePWM();
612 break; 620 break;
613 default: 621 default:
614 qDebug("KSyncManager::slotSyncMenu: invalid apptype selected"); 622 qDebug("KSyncManager::slotSyncMenu: invalid apptype selected");
615 break; 623 break;
616 } 624 }
617 } else { 625 } else {
618 if ( temp->getIsPhoneSync() ) { 626 if ( temp->getIsPhoneSync() ) {
619 mPhoneDevice = temp->getPhoneDevice( ) ; 627 mPhoneDevice = temp->getPhoneDevice( ) ;
620 mPhoneConnection = temp->getPhoneConnection( ); 628 mPhoneConnection = temp->getPhoneConnection( );
621 mPhoneModel = temp->getPhoneModel( ); 629 mPhoneModel = temp->getPhoneModel( );
622 syncPhone(); 630 syncPhone();
623 } else if ( temp->getIsPiSync() ) { 631 } else if ( temp->getIsPiSync() ) {
624 if ( mTargetApp == KAPI ) { 632 if ( mTargetApp == KAPI ) {
625 mPassWordPiSync = temp->getRemotePwAB(); 633 mPassWordPiSync = temp->getRemotePwAB();
626 mActiveSyncPort = temp->getRemotePortAB(); 634 mActiveSyncPort = temp->getRemotePortAB();
627 mActiveSyncIP = temp->getRemoteIPAB(); 635 mActiveSyncIP = temp->getRemoteIPAB();
628 } else if ( mTargetApp == KOPI ) { 636 } else if ( mTargetApp == KOPI ) {
629 mPassWordPiSync = temp->getRemotePw(); 637 mPassWordPiSync = temp->getRemotePw();
630 mActiveSyncPort = temp->getRemotePort(); 638 mActiveSyncPort = temp->getRemotePort();
631 mActiveSyncIP = temp->getRemoteIP(); 639 mActiveSyncIP = temp->getRemoteIP();
632 } else { 640 } else {
633 mPassWordPiSync = temp->getRemotePwPWM(); 641 mPassWordPiSync = temp->getRemotePwPWM();
634 mActiveSyncPort = temp->getRemotePortPWM(); 642 mActiveSyncPort = temp->getRemotePortPWM();
diff --git a/libkdepim/ksyncmanager.h b/libkdepim/ksyncmanager.h
index 2d0a4ab..6d89950 100644
--- a/libkdepim/ksyncmanager.h
+++ b/libkdepim/ksyncmanager.h
@@ -103,96 +103,100 @@ class KCommandSocket : public QObject
103 103
104class KSyncManager : public QObject 104class KSyncManager : public QObject
105{ 105{
106 Q_OBJECT 106 Q_OBJECT
107 107
108 public: 108 public:
109 enum TargetApp { 109 enum TargetApp {
110 KOPI = 0, 110 KOPI = 0,
111 KAPI = 1, 111 KAPI = 1,
112 PWMPI = 2 }; 112 PWMPI = 2 };
113 113
114 KSyncManager(QWidget* parent, KSyncInterface* implementation, TargetApp ta, KPimPrefs* prefs, QPopupMenu* syncmenu); 114 KSyncManager(QWidget* parent, KSyncInterface* implementation, TargetApp ta, KPimPrefs* prefs, QPopupMenu* syncmenu);
115 ~KSyncManager() ; 115 ~KSyncManager() ;
116 116
117 void multiSync( bool askforPrefs ); 117 void multiSync( bool askforPrefs );
118 bool blockSave() { return mBlockSaveFlag; } 118 bool blockSave() { return mBlockSaveFlag; }
119 void setBlockSave(bool sa) { mBlockSaveFlag = sa; } 119 void setBlockSave(bool sa) { mBlockSaveFlag = sa; }
120 void setDefaultFileName( QString s) { mDefFileName = s ;} 120 void setDefaultFileName( QString s) { mDefFileName = s ;}
121 QString defaultFileName() { return mDefFileName ;} 121 QString defaultFileName() { return mDefFileName ;}
122 QString syncFileName(); 122 QString syncFileName();
123 void enableQuick( bool ask = true); 123 void enableQuick( bool ask = true);
124 124
125 bool syncWithDesktop () { return mSyncWithDesktop;} 125 bool syncWithDesktop () { return mSyncWithDesktop;}
126 QString getCurrentSyncDevice() { return mCurrentSyncDevice; } 126 QString getCurrentSyncDevice() { return mCurrentSyncDevice; }
127 QString getCurrentSyncName() { return mCurrentSyncName; } 127 QString getCurrentSyncName() { return mCurrentSyncName; }
128 128
129 void showProgressBar(int percentage, QString caption = QString::null, int total=100); 129 void showProgressBar(int percentage, QString caption = QString::null, int total=100);
130 void hideProgressBar(); 130 void hideProgressBar();
131 bool isProgressBarCanceled(); 131 bool isProgressBarCanceled();
132 132
133 // sync stuff 133 // sync stuff
134 QString mLocalMachineName; 134 QString mLocalMachineName;
135 QStringList mExternSyncProfiles; 135 QStringList mExternSyncProfiles;
136 QStringList mSyncProfileNames; 136 QStringList mSyncProfileNames;
137 bool mAskForPreferences; 137 bool mAskForPreferences;
138 bool mShowSyncSummary; 138 bool mShowSyncSummary;
139 bool mIsKapiFile; 139 bool mIsKapiFile;
140 bool mWriteBackExistingOnly; 140 bool mWriteBackExistingOnly;
141 int mSyncAlgoPrefs; 141 int mSyncAlgoPrefs;
142 bool mWriteBackFile; 142 bool mWriteBackFile;
143 int mWriteBackInFuture; 143 int mWriteBackInFuture;
144 int mWriteBackInPast; 144 int mWriteBackInPast;
145 QString mPhoneDevice; 145 QString mPhoneDevice;
146 QString mPhoneConnection; 146 QString mPhoneConnection;
147 QString mPhoneModel; 147 QString mPhoneModel;
148 QString mPassWordPiSync; 148 QString mPassWordPiSync;
149 QString mActiveSyncPort; 149 QString mActiveSyncPort;
150 QString mActiveSyncIP ; 150 QString mActiveSyncIP ;
151 QString mFilterInCal;
152 QString mFilterOutCal;
153 QString mFilterInAB;
154 QString mFilterOutAB;
151 static QDateTime mRequestedSyncEvent; 155 static QDateTime mRequestedSyncEvent;
152 156
153 signals: 157 signals:
154 void save(); 158 void save();
155 void request_file(); 159 void request_file();
156 void getFile( bool ); 160 void getFile( bool );
157 161
158 public slots: 162 public slots:
159 void slotSyncMenu( int ); 163 void slotSyncMenu( int );
160 void slotClearMenu( int action ); 164 void slotClearMenu( int action );
161 void deleteCommandSocket(KCommandSocket*s, int state); 165 void deleteCommandSocket(KCommandSocket*s, int state);
162 void readFileFromSocket(); 166 void readFileFromSocket();
163 void fillSyncMenu(); 167 void fillSyncMenu();
164 168
165 private: 169 private:
166 void syncPi(); 170 void syncPi();
167 KServerSocket * mServerSocket; 171 KServerSocket * mServerSocket;
168 KPimPrefs* mPrefs; 172 KPimPrefs* mPrefs;
169 QString mDefFileName; 173 QString mDefFileName;
170 QString mCurrentSyncDevice; 174 QString mCurrentSyncDevice;
171 QString mCurrentSyncName; 175 QString mCurrentSyncName;
172 void quickSyncLocalFile(); 176 void quickSyncLocalFile();
173 bool syncWithFile( QString fn , bool quick ); 177 bool syncWithFile( QString fn , bool quick );
174 void syncLocalFile(); 178 void syncLocalFile();
175 void syncPhone(); 179 void syncPhone();
176 void syncSharp(); 180 void syncSharp();
177 void syncKDE(); 181 void syncKDE();
178 bool syncExternalApplication(QString); 182 bool syncExternalApplication(QString);
179 int mCurrentSyncProfile ; 183 int mCurrentSyncProfile ;
180 void syncRemote( KSyncProfile* prof, bool ask = true); 184 void syncRemote( KSyncProfile* prof, bool ask = true);
181 bool edit_sync_options(); 185 bool edit_sync_options();
182 bool edit_pisync_options(); 186 bool edit_pisync_options();
183 int ringSync(); 187 int ringSync();
184 QString getPassword( ); 188 QString getPassword( );
185 bool mPisyncFinished; 189 bool mPisyncFinished;
186 bool mBlockSaveFlag; 190 bool mBlockSaveFlag;
187 QWidget* mParent; 191 QWidget* mParent;
188 KSyncInterface* mImplementation; 192 KSyncInterface* mImplementation;
189 TargetApp mTargetApp; 193 TargetApp mTargetApp;
190 QPopupMenu* mSyncMenu; 194 QPopupMenu* mSyncMenu;
191 QProgressBar* bar; 195 QProgressBar* bar;
192 bool mSyncWithDesktop; 196 bool mSyncWithDesktop;
193 197
194private slots: 198private slots:
195 void confSync(); 199 void confSync();
196 200
197 201
198}; 202};