summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/korganizer/germantranslation.txt6
-rw-r--r--korganizer/calendarview.cpp20
-rw-r--r--korganizer/koeditordetails.cpp2
-rw-r--r--korganizer/koeditorgeneral.cpp9
-rw-r--r--korganizer/koeditorgeneralevent.cpp5
-rw-r--r--korganizer/koeditorgeneraltodo.cpp2
-rw-r--r--korganizer/koeventeditor.cpp6
-rw-r--r--korganizer/koincidenceeditor.cpp2
-rw-r--r--korganizer/kotodoeditor.cpp4
9 files changed, 43 insertions, 13 deletions
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt
index 11a0413..44e6bdf 100644
--- a/bin/kdepim/korganizer/germantranslation.txt
+++ b/bin/kdepim/korganizer/germantranslation.txt
@@ -1442,40 +1442,40 @@
1442{ "Manager","Manager" }, 1442{ "Manager","Manager" },
1443{ "Secrecy","Sichtbar" }, 1443{ "Secrecy","Sichtbar" },
1444{ "male","männlich" }, 1444{ "male","männlich" },
1445{ "female","weiblich" }, 1445{ "female","weiblich" },
1446{ "Hide!","Verbergen!" }, 1446{ "Hide!","Verbergen!" },
1447{ "Show!","Anzeigen!" }, 1447{ "Show!","Anzeigen!" },
1448{ "Details","Details" }, 1448{ "Details","Details" },
1449{ "Profession","Beruf" }, 1449{ "Profession","Beruf" },
1450{ "Children","Kinder" }, 1450{ "Children","Kinder" },
1451{ "Department","Abteilung" }, 1451{ "Department","Abteilung" },
1452{ "Backup cancelled","Backup abgebrochen" }, 1452{ "Backup cancelled","Backup abgebrochen" },
1453{ "Backup globally disabled","Backup global abgeschaltet" }, 1453{ "Backup globally disabled","Backup global abgeschaltet" },
1454{ "Backup succesfully finished","Backup erfolgreich beendet" }, 1454{ "Backup succesfully finished","Backup erfolgreich beendet" },
1455{ "(Hint: You can enable automatic backup in the global settings!)","(Hinweis: Sie können ein automatisches Backup in den globalen Einstellungen konfigurieren!)" }, 1455{ "(Hint: You can enable automatic backup in the global settings!)","(Hinweis: Sie können ein automatisches Backup in den globalen Einstellungen konfigurieren!)" },
1456{ "This will <b>backup all calendar files</b> to the directory %1 %2","Das schreibt ein <b>Backup aller Kalenderdateien</b> in das Verzeichnis %1 %2" }, 1456{ "This will <b>backup all calendar files</b> to the directory %1 %2","Das schreibt ein <b>Backup aller Kalenderdateien</b> in das Verzeichnis %1 %2" },
1457{ "Birthdays","Geburtstage" }, 1457{ "Birthdays","Geburtstage" },
1458{ "KO/Pi import information!","KO/Pi Import Information!" }, 1458{ "KO/Pi import information!","KO/Pi Import Information!" },
1459{ "Start this todo\nand stop all running","Starte dieses Todo\nund stoppe alle Laufenden" }, 1459{ "Start this todo\nand stop all running","Starte dieses Todo\nund stoppe alle Laufenden" },
1460{ "Cancel - do not start"," Abbrechen - Todo nicht starten" }, 1460{ "Cancel - do not start"," Abbrechen - Todo nicht starten" },
1461{ "The timezone has changed!\nShould the calendar be reloaded\nto shift the time of the events?\nPlease read Menu: Help->FAQ:\n"How do I change the timezone?"\nas well!","Die Zeitzone wurde geändert!\nSollen die Kalender neu geladen\nwerden num die Zeiten\nder Termine zu ändern?\nBitte lesen Sie auch\nMenu: Help->FAQ:\n"How do I change the timezone?"" }, 1461{ "The timezone has changed!\nShould the calendar be reloaded\nto shift the time of the events?\nPlease read Menu: Help->FAQ:\n"How do I change the timezone?"\nas well!","Die Zeitzone wurde geändert!\nSollen die Kalender neu geladen\nwerden num die Zeiten\nder Termine zu ändern?\nBitte lesen Sie auch\nMenu: Help->FAQ:\n"How do I change the timezone?"" },
1462{ "Reload","Neu laden" }, 1462{ "Reload","Neu laden" },
1463{ "Timezone settings","Zeitzoneneinstellung" }, 1463{ "Timezone settings","Zeitzoneneinstellung" },
1464{ "Title: ","Titel: " }, 1464{ "Title: ","Titel: " },
1465{ "Journal from: ","Journal vom: " }, 1465{ "Journal from: ","Journal vom: " },
1466{ "Journal: %1 from ","Journal: %1 vom " }, 1466{ "Journal: %1 from ","Journal: %1 vom " },
1467{ "<b>Click here to edit categories: </b>","<b>Klicke hier um Kategorien zu ändern: </b>" }, 1467{ "<b>Click here to edit categories: </b>","<b>Klicke hier um Kategorien zu ändern: </b>" },
1468{ "Selected Item","Ausgewähltes Item" }, 1468{ "Selected Item","Ausgewähltes Item" },
1469{ "Select Date...","Wähle Datum..." }, 1469{ "Select Date...","Wähle Datum..." },
1470{ "After importing/loading/syncing there may be new categories in events or todos which are not added automatically to the category list. Please choose what to do <b>now</b>:","Nach dem Importieren/Laden/Syncen kann es neue Kategorien in den Terminen oder Todos geben, die nicht automatisch der Kategorieliste hinzugefügt werden. Bitte wählen Sie, was <b>jetzt</b> passieren soll:" }, 1470{ "After importing/loading/syncing there may be new categories in events or todos which are not added automatically to the category list. Please choose what to do <b>now</b>:","Nach dem Importieren/Laden/Syncen kann es neue Kategorien in den Terminen oder Todos geben, die nicht automatisch der Kategorieliste hinzugefügt werden. Bitte wählen Sie, was <b>jetzt</b> passieren soll:" },
1471{ "Change category list now!","Ändere Kategorieliste jetzt!" }, 1471{ "Change category list now!","Ändere Kategorieliste jetzt!" },
1472{ "Edit category list...","Ändere Kategorieliste..." }, 1472{ "Edit category list...","Ändere Kategorieliste..." },
1473{ "Toolbar changes needs a restart!","Neustart benötigt für Toolbaränderungen!" }, 1473{ "Toolbar changes needs a restart!","Neustart benötigt für Toolbaränderungen!" },
1474{ "","" }, 1474{ "Filepath: ","Dateipfad: " },
1475{ "","" }, 1475{ "The loading of one or more calendar failed:","Das Laden eines oder mehrerer Kalender schlug fehl:" },
1476{ "","" }, 1476{ "You can try to reload the calendar in the Resource View!","In der Resourcenansicht können Sie erneut versuchen den Kalender zu laden!" },
1477{ "","" }, 1477{ "","" },
1478{ "","" }, 1478{ "","" },
1479{ "","" }, 1479{ "","" },
1480{ "","" }, 1480{ "","" },
1481{ "","" }, \ No newline at end of file 1481{ "","" }, \ No newline at end of file
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index c0f3be7..fd026fa 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -655,64 +655,78 @@ CalendarView::~CalendarView()
655} 655}
656void CalendarView::setScrollBarStep(int val ) 656void CalendarView::setScrollBarStep(int val )
657{ 657{
658#ifdef DESKTOP_VERSION 658#ifdef DESKTOP_VERSION
659 mDateScrollBar->setLineStep ( val ); 659 mDateScrollBar->setLineStep ( val );
660#endif 660#endif
661} 661}
662void CalendarView::scrollBarValue(int val ) 662void CalendarView::scrollBarValue(int val )
663{ 663{
664#ifdef DESKTOP_VERSION 664#ifdef DESKTOP_VERSION
665 if ( QApplication::desktop()->width() < 800 ) return; 665 if ( QApplication::desktop()->width() < 800 ) return;
666 static bool block = false; 666 static bool block = false;
667 if ( block ) return; 667 if ( block ) return;
668 block = true; 668 block = true;
669 val = val/mDateScrollBar->lineStep ()*mDateScrollBar->lineStep(); 669 val = val/mDateScrollBar->lineStep ()*mDateScrollBar->lineStep();
670 //qDebug("VAL %d ",val ); 670 //qDebug("VAL %d ",val );
671 int count = mNavigator->selectedDates().count(); 671 int count = mNavigator->selectedDates().count();
672 int year = mNavigator->selectedDates().first().year(); 672 int year = mNavigator->selectedDates().first().year();
673 int day = mNavigator->selectedDates().first().dayOfYear(); 673 int day = mNavigator->selectedDates().first().dayOfYear();
674 if ( val == day -1 ) { 674 if ( val == day -1 ) {
675 block = false; 675 block = false;
676 return; 676 return;
677 } 677 }
678 QDate d ( year,1,1 ); 678 QDate d ( year,1,1 );
679 mNavigator->selectDates( d.addDays( val ), count ); 679 mNavigator->selectDates( d.addDays( val ), count );
680 block = false; 680 block = false;
681#endif 681#endif
682 682
683} 683}
684 684
685void CalendarView::checkAlarms() 685void CalendarView::checkAlarms()
686{ 686{
687
688 QString message;
689 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars;
690 KopiCalendarFile * cal = calendars.first();
691 while ( cal ) {
692 if ( cal->mErrorOnLoad ) {
693 message += cal->mName +"\n"+KGlobal::formatMessage ( "(" +i18n( "Filepath: ")+ cal->mFileName+")" ,0 )+"\n";
694 }
695 cal = calendars.next();
696 }
697 if ( !message.isEmpty() ) {
698 message = KGlobal::formatMessage( i18n("The loading of one or more calendar failed:"),0 )+"\n" + message +KGlobal::formatMessage(i18n("You can try to reload the calendar in the Resource View!"),0);
699 KMessageBox::error(this,message);
700 }
687 KConfig *config = KOGlobals::config(); 701 KConfig *config = KOGlobals::config();
688 config->setGroup( "AppRun" ); 702 config->setGroup( "AppRun" );
689 QDateTime dt ( QDate (2005,1,1), QTime( 0,0,0 ) ); 703 QDateTime dt ( QDate (2005,1,1), QTime( 0,0,0 ) );
690 int daysto = dt.daysTo( QDate::currentDate() ); 704 int daysto = dt.daysTo( QDate::currentDate() );
691 int days = config->readNumEntry( "LatestProgramStopDays" , daysto); 705 int days = config->readNumEntry( "LatestProgramStopDays" , daysto);
692 dt = dt.addDays( days ); 706 dt = dt.addDays( days );
693 int secto = dt.secsTo( QDateTime::currentDateTime() ); 707 int secto = dt.secsTo( QDateTime::currentDateTime() );
694 int secs = config->readNumEntry( "LatestProgramStopSecs" , secto) - 30; 708 int secs = config->readNumEntry( "LatestProgramStopSecs" , secto) - 30;
695 //qDebug("KO: Reading program stop %d ", secs); 709 //qDebug("KO: Reading program stop %d ", secs);
696 //secs -= ( 3600 * 24*3 ); // debug only 710 //secs -= ( 3600 * 24*3 ); // debug only
697 QDateTime latest = dt.addSecs ( secs ); 711 QDateTime latest = dt.addSecs ( secs );
698 qDebug("KO: Last termination on %s ", latest.toString().latin1()); 712 qDebug("KO: Last termination on %s ", latest.toString().latin1());
699 //qDebug("KO: Current Time %s ",QDateTime::currentDateTime().toString().latin1() ); 713 //qDebug("KO: Current Time %s ",QDateTime::currentDateTime().toString().latin1() );
700 QPtrList<Incidence> el = mCalendar->rawIncidences(); 714 QPtrList<Incidence> el = mCalendar->rawIncidences();
701 QPtrList<Incidence> al; 715 QPtrList<Incidence> al;
702 Incidence* inL = el.first(); 716 Incidence* inL = el.first();
703 QDateTime cur = QDateTime::currentDateTime().addSecs(-59); 717 QDateTime cur = QDateTime::currentDateTime().addSecs(-59);
704 qDebug("KO: Checking alarm until %s ", cur.toString().latin1()); 718 qDebug("KO: Checking alarm until %s ", cur.toString().latin1());
705 while ( inL ) { 719 while ( inL ) {
706 bool ok = false; 720 bool ok = false;
707 int offset = 0; 721 int offset = 0;
708 QDateTime next = inL->getNextAlarmDateTime(& ok, &offset, latest ) ; 722 QDateTime next = inL->getNextAlarmDateTime(& ok, &offset, latest ) ;
709 if ( ok ) { 723 if ( ok ) {
710 //qDebug("OK %s",next.toString().latin1()); 724 //qDebug("OK %s",next.toString().latin1());
711 if ( next < cur ) { 725 if ( next < cur ) {
712 al.append( inL ); 726 al.append( inL );
713 //qDebug("found missed alarm: %s ", inL->summary().latin1() ); 727 //qDebug("found missed alarm: %s ", inL->summary().latin1() );
714 } 728 }
715 } 729 }
716 inL = el.next(); 730 inL = el.next();
717 } 731 }
718 if ( al.count() ) { 732 if ( al.count() ) {
@@ -1894,75 +1908,75 @@ bool CalendarView::loadCalendars()
1894 KopiCalendarFile * cal = calendars.first(); 1908 KopiCalendarFile * cal = calendars.first();
1895 mCalendar->setDefaultCalendar( 1 ); 1909 mCalendar->setDefaultCalendar( 1 );
1896 openCalendar( MainWindow::defaultFileName(), false ); 1910 openCalendar( MainWindow::defaultFileName(), false );
1897 cal = calendars.next(); 1911 cal = calendars.next();
1898 while ( cal ) { 1912 while ( cal ) {
1899 addCalendar( cal ); 1913 addCalendar( cal );
1900 cal = calendars.next(); 1914 cal = calendars.next();
1901 } 1915 }
1902 restoreCalendarSettings(); 1916 restoreCalendarSettings();
1903 return true; 1917 return true;
1904} 1918}
1905bool CalendarView::restoreCalendarSettings() 1919bool CalendarView::restoreCalendarSettings()
1906{ 1920{
1907 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars; 1921 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars;
1908 KopiCalendarFile * cal = calendars.first(); 1922 KopiCalendarFile * cal = calendars.first();
1909 while ( cal ) { 1923 while ( cal ) {
1910 mCalendar->setCalendarEnabled( cal->mCalNumber,cal->isEnabled ); 1924 mCalendar->setCalendarEnabled( cal->mCalNumber,cal->isEnabled );
1911 mCalendar->setAlarmEnabled( cal->mCalNumber, cal->isAlarmEnabled ); 1925 mCalendar->setAlarmEnabled( cal->mCalNumber, cal->isAlarmEnabled );
1912 mCalendar->setReadOnly( cal->mCalNumber, cal->isReadOnly ); 1926 mCalendar->setReadOnly( cal->mCalNumber, cal->isReadOnly );
1913 if ( cal->isStandard ) 1927 if ( cal->isStandard )
1914 mCalendar->setDefaultCalendar( cal->mCalNumber ); 1928 mCalendar->setDefaultCalendar( cal->mCalNumber );
1915 cal = calendars.next(); 1929 cal = calendars.next();
1916 } 1930 }
1917 setSyncEventsReadOnly(); 1931 setSyncEventsReadOnly();
1918 mCalendar->reInitAlarmSettings(); 1932 mCalendar->reInitAlarmSettings();
1919 updateUnmanagedViews(); 1933 updateUnmanagedViews();
1920 updateView(); 1934 updateView();
1921 return true; 1935 return true;
1922} 1936}
1923void CalendarView::addCalendarId( int id ) 1937void CalendarView::addCalendarId( int id )
1924{ 1938{
1925 KopiCalendarFile * cal = KOPrefs::instance()->getCalendar( id ); 1939 KopiCalendarFile * cal = KOPrefs::instance()->getCalendar( id );
1926 addCalendar( cal ); 1940 if ( cal )
1941 addCalendar( cal );
1927} 1942}
1928bool CalendarView::addCalendar( KopiCalendarFile * cal ) 1943bool CalendarView::addCalendar( KopiCalendarFile * cal )
1929{ 1944{
1930 cal->mErrorOnLoad = false; 1945 cal->mErrorOnLoad = false;
1931 if ( mCalendar->addCalendarFile( cal->mFileName, cal->mCalNumber )) { 1946 if ( mCalendar->addCalendarFile( cal->mFileName, cal->mCalNumber )) {
1932 cal->mLoadDt = QDateTime::currentDateTime(); 1947 cal->mLoadDt = QDateTime::currentDateTime();
1933 return true; 1948 return true;
1934 } 1949 }
1935 qDebug("KO: Error adding calendar file %1 ",cal->mFileName.latin1() ); 1950 qDebug("KO: Error adding calendar file %s ",cal->mFileName.latin1() );
1936 KMessageBox::error(this,i18n("Error loading calendar file\n%1.").arg(cal->mFileName));
1937 cal->mErrorOnLoad = true; 1951 cal->mErrorOnLoad = true;
1938 return false; 1952 return false;
1939} 1953}
1940bool CalendarView::openCalendar(QString filename, bool merge) 1954bool CalendarView::openCalendar(QString filename, bool merge)
1941{ 1955{
1942 1956
1943 if (filename.isEmpty()) { 1957 if (filename.isEmpty()) {
1944 return false; 1958 return false;
1945 } 1959 }
1946 1960
1947 if (!QFile::exists(filename)) { 1961 if (!QFile::exists(filename)) {
1948 KMessageBox::error(this,i18n("File does not exist:\n '%1'.").arg(filename)); 1962 KMessageBox::error(this,i18n("File does not exist:\n '%1'.").arg(filename));
1949 return false; 1963 return false;
1950 } 1964 }
1951 1965
1952 globalFlagBlockAgenda = 1; 1966 globalFlagBlockAgenda = 1;
1953 clearAllViews(); 1967 clearAllViews();
1954 if (!merge) { 1968 if (!merge) {
1955 mViewManager->setDocumentId( filename ); 1969 mViewManager->setDocumentId( filename );
1956 mCalendar->close(); 1970 mCalendar->close();
1957 } 1971 }
1958 mStorage->setFileName( filename ); 1972 mStorage->setFileName( filename );
1959 1973
1960 if ( mStorage->load() ) { 1974 if ( mStorage->load() ) {
1961 if ( merge ) ;//setModified( true ); 1975 if ( merge ) ;//setModified( true );
1962 else { 1976 else {
1963 //setModified( true ); 1977 //setModified( true );
1964 mViewManager->setDocumentId( filename ); 1978 mViewManager->setDocumentId( filename );
1965 mDialogManager->setDocumentId( filename ); 1979 mDialogManager->setDocumentId( filename );
1966 mTodoList->setDocumentId( filename ); 1980 mTodoList->setDocumentId( filename );
1967 } 1981 }
1968 globalFlagBlockAgenda = 2; 1982 globalFlagBlockAgenda = 2;
diff --git a/korganizer/koeditordetails.cpp b/korganizer/koeditordetails.cpp
index 7354940..479bd8b 100644
--- a/korganizer/koeditordetails.cpp
+++ b/korganizer/koeditordetails.cpp
@@ -4,112 +4,114 @@
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in thse hope that it will be useful, 10 This program is distributed in thse hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
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 23
24#include <qtooltip.h> 24#include <qtooltip.h>
25#include <qfiledialog.h> 25#include <qfiledialog.h>
26#include <qlayout.h> 26#include <qlayout.h>
27#include <qvbox.h> 27#include <qvbox.h>
28#include <qbuttongroup.h> 28#include <qbuttongroup.h>
29#include <qvgroupbox.h> 29#include <qvgroupbox.h>
30#include <qwidgetstack.h> 30#include <qwidgetstack.h>
31#include <qdatetime.h> 31#include <qdatetime.h>
32#include <qapp.h> 32#include <qapp.h>
33 33
34#include <klocale.h> 34#include <klocale.h>
35#include <kglobal.h> 35#include <kglobal.h>
36#include <kdialog.h>
36#include <kiconloader.h> 37#include <kiconloader.h>
37#include <kstandarddirs.h> 38#include <kstandarddirs.h>
38#include <kmessagebox.h> 39#include <kmessagebox.h>
39#ifndef KORG_NOKABC 40#ifndef KORG_NOKABC
40 41
41#ifdef DESKTOP_VERSION 42#ifdef DESKTOP_VERSION
42#include <kabc/addresseedialog.h> 43#include <kabc/addresseedialog.h>
43#else //DESKTOP_VERSION 44#else //DESKTOP_VERSION
44#include <externalapphandler.h> 45#include <externalapphandler.h>
45#endif //DESKTOP_VERSION 46#endif //DESKTOP_VERSION
46 47
47#endif 48#endif
48 49
49#include <libkcal/incidence.h> 50#include <libkcal/incidence.h>
50 51
51#include "koprefs.h" 52#include "koprefs.h"
52 53
53#include "koeditordetails.h" 54#include "koeditordetails.h"
54 55
55template <> 56template <>
56CustomListViewItem<class Attendee *>::~CustomListViewItem() 57CustomListViewItem<class Attendee *>::~CustomListViewItem()
57{ 58{
58 delete mData; 59 delete mData;
59} 60}
60 61
61template <> 62template <>
62void CustomListViewItem<class Attendee *>::updateItem() 63void CustomListViewItem<class Attendee *>::updateItem()
63{ 64{
64 setText(0,mData->name()); 65 setText(0,mData->name());
65 setText(1,mData->email()); 66 setText(1,mData->email());
66 setText(2,mData->roleStr()); 67 setText(2,mData->roleStr());
67 setText(3,mData->statusStr()); 68 setText(3,mData->statusStr());
68 if (mData->RSVP() && !mData->email().isEmpty()) { 69 if (mData->RSVP() && !mData->email().isEmpty()) {
69 setPixmap(4,SmallIcon("mailappt")); 70 setPixmap(4,SmallIcon("mailappt"));
70 setSortKey(4,"j"); 71 setSortKey(4,"j");
71 } 72 }
72 else { 73 else {
73 setPixmap(4,SmallIcon("nomailappt")); 74 setPixmap(4,SmallIcon("nomailappt"));
74 setSortKey(4,"n"); 75 setSortKey(4,"n");
75 } 76 }
76} 77}
77 78
78 79
79KOEditorDetails::KOEditorDetails (int spacing,QWidget* parent,const char* name) 80KOEditorDetails::KOEditorDetails (int spacing,QWidget* parent,const char* name)
80 : QWidget( parent, name), mDisableItemUpdate( false ) 81 : QWidget( parent, name), mDisableItemUpdate( false )
81{ 82{
82 QGridLayout *topLayout = new QGridLayout(this); 83 QGridLayout *topLayout = new QGridLayout(this);
83 topLayout->setSpacing(spacing); 84 topLayout->setSpacing(spacing);
85 topLayout->setMargin(KDialog::marginHint()-2);
84 86
85 QString organizer = KOPrefs::instance()->email(); 87 QString organizer = KOPrefs::instance()->email();
86 mOrganizerLabel = new QLabel(i18n("Organizer: %1").arg(organizer),this); 88 mOrganizerLabel = new QLabel(i18n("Organizer: %1").arg(organizer),this);
87 89
88 mListView = new KListView(this,"mListView"); 90 mListView = new KListView(this,"mListView");
89 mListView->addColumn(i18n("Name"),180); 91 mListView->addColumn(i18n("Name"),180);
90 mListView->addColumn(i18n("Email"),180); 92 mListView->addColumn(i18n("Email"),180);
91 mListView->addColumn(i18n("Role"),60); 93 mListView->addColumn(i18n("Role"),60);
92 mListView->addColumn(i18n("Status"),100); 94 mListView->addColumn(i18n("Status"),100);
93 mListView->addColumn(i18n("RSVP"),35); 95 mListView->addColumn(i18n("RSVP"),35);
94 if ( QApplication::desktop()->width() <= 320 || QApplication::desktop()->height() <= 240) { 96 if ( QApplication::desktop()->width() <= 320 || QApplication::desktop()->height() <= 240) {
95 int hei = 80; 97 int hei = 80;
96 if ( QApplication::desktop()->height() <= 240 ) 98 if ( QApplication::desktop()->height() <= 240 )
97 hei = 60; 99 hei = 60;
98 mListView->setFixedHeight(hei); 100 mListView->setFixedHeight(hei);
99 } 101 }
100 mListView->setAllColumnsShowFocus (true ); 102 mListView->setAllColumnsShowFocus (true );
101 //mListView->setSingleClick( true ); 103 //mListView->setSingleClick( true );
102 connect(mListView,SIGNAL(selectionChanged(QListViewItem *)), 104 connect(mListView,SIGNAL(selectionChanged(QListViewItem *)),
103 SLOT(updateAttendeeInput())); 105 SLOT(updateAttendeeInput()));
104 106
105 connect(mListView,SIGNAL(executed(QListViewItem * ,const QPoint&, int )), 107 connect(mListView,SIGNAL(executed(QListViewItem * ,const QPoint&, int )),
106 SLOT(itemClicked(QListViewItem * ,const QPoint& , int ))); 108 SLOT(itemClicked(QListViewItem * ,const QPoint& , int )));
107 109
108 mRsvpButton = new QCheckBox(this); 110 mRsvpButton = new QCheckBox(this);
109 mRsvpButton->setText(i18n("Request response")); 111 mRsvpButton->setText(i18n("Request response"));
110 mAddressBookButton = new QPushButton(i18n("Address &Book..."),this); 112 mAddressBookButton = new QPushButton(i18n("Address &Book..."),this);
111 QLabel *attendeeLabel = new QLabel(this); 113 QLabel *attendeeLabel = new QLabel(this);
112 attendeeLabel->setText(i18n("Name:")); 114 attendeeLabel->setText(i18n("Name:"));
113 attendeeLabel->setFixedSize( attendeeLabel->sizeHint() ); 115 attendeeLabel->setFixedSize( attendeeLabel->sizeHint() );
114 mNameEdit = new QLineEdit(this); 116 mNameEdit = new QLineEdit(this);
115 connect(mNameEdit,SIGNAL(textChanged(const QString &)), 117 connect(mNameEdit,SIGNAL(textChanged(const QString &)),
diff --git a/korganizer/koeditorgeneral.cpp b/korganizer/koeditorgeneral.cpp
index e07bc53..29e68b3 100644
--- a/korganizer/koeditorgeneral.cpp
+++ b/korganizer/koeditorgeneral.cpp
@@ -6,130 +6,133 @@
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
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 23
24#include <qwidget.h> 24#include <qwidget.h>
25#include <qtooltip.h> 25#include <qtooltip.h>
26#include <qlayout.h> 26#include <qlayout.h>
27#include <qvbox.h> 27#include <qvbox.h>
28#include <qbuttongroup.h> 28#include <qbuttongroup.h>
29#include <qvgroupbox.h> 29#include <qvgroupbox.h>
30#include <qwidgetstack.h> 30#include <qwidgetstack.h>
31#include <qdatetime.h> 31#include <qdatetime.h>
32#include <qtimer.h> 32#include <qtimer.h>
33#include <qfile.h> 33#include <qfile.h>
34#include <qregexp.h> 34#include <qregexp.h>
35 35
36 36
37#include <kglobal.h> 37#include <kglobal.h>
38#include <kdialog.h>
38#include <kdebug.h> 39#include <kdebug.h>
39#include <klocale.h> 40#include <klocale.h>
40#include <kiconloader.h> 41#include <kiconloader.h>
41#include <kmessagebox.h> 42#include <kmessagebox.h>
42#include <kfiledialog.h> 43#include <kfiledialog.h>
43#include <kstandarddirs.h> 44#include <kstandarddirs.h>
44 45
45#include <libkcal/todo.h> 46#include <libkcal/todo.h>
46#include <libkcal/event.h> 47#include <libkcal/event.h>
47#include <libkdepim/categoryselectdialog.h> 48#include <libkdepim/categoryselectdialog.h>
48#include <libkdepim/kdateedit.h> 49#include <libkdepim/kdateedit.h>
49 50
50#include "koprefs.h" 51#include "koprefs.h"
51#include "koglobals.h" 52#include "koglobals.h"
52 53
53#include "koeditorgeneral.h" 54#include "koeditorgeneral.h"
54#include "kolocationbox.h" 55#include "kolocationbox.h"
55#ifndef DESKTOP_VERSION 56#ifndef DESKTOP_VERSION
56#include <qpe/qpeapplication.h> 57#include <qpe/qpeapplication.h>
57#else 58#else
58#include <qapplication.h> 59#include <qapplication.h>
59#endif 60#endif
60 61
61KOEditorGeneral::KOEditorGeneral(QObject* parent, const char* name) : 62KOEditorGeneral::KOEditorGeneral(QObject* parent, const char* name) :
62 QObject( parent, name) 63 QObject( parent, name)
63{ 64{
64 mNextFocus = 0; 65 mNextFocus = 0;
65} 66}
66 67
67KOEditorGeneral::~KOEditorGeneral() 68KOEditorGeneral::~KOEditorGeneral()
68{ 69{
69} 70}
70 71
71void KOEditorGeneral::initHeader(QWidget *parent,QBoxLayout *topLayout) 72void KOEditorGeneral::initHeader(QWidget *parent,QBoxLayout *topLayout)
72{ 73{
73 QGridLayout *headerLayout = new QGridLayout(topLayout); 74 QGridLayout *headerLayout = new QGridLayout(topLayout);
74 75
75#if 0 76#if 0
76 mOwnerLabel = new QLabel(i18n("Owner:"),parent); 77 mOwnerLabel = new QLabel(i18n("Owner:"),parent);
77 headerLayout->addMultiCellWidget(mOwnerLabel,0,0,0,1); 78 headerLayout->addMultiCellWidget(mOwnerLabel,0,0,0,1);
78#endif 79#endif
79 80 // 1 on pda
81 // 11 on desktop
82 headerLayout->setSpacing( (KDialog::spacingHint()-3)*2+1 );
80 QLabel *summaryLabel = new QLabel(i18n("Summary:"),parent); 83 QLabel *summaryLabel = new QLabel(i18n("Summary:"),parent);
81 headerLayout->addWidget(summaryLabel,1,0); 84 headerLayout->addWidget(summaryLabel,1,0);
82 85
83 mSummaryEdit = new KOLocationBox(TRUE,parent, 10); 86 mSummaryEdit = new KOLocationBox(TRUE,parent, 10);
84 mSummaryEdit->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::MinimumExpanding ,FALSE) ); 87 mSummaryEdit->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::MinimumExpanding ,FALSE) );
85 //mSummaryEdit->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5 ,(QSizePolicy::SizeType)3 ,FALSE) ); 88 //mSummaryEdit->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5 ,(QSizePolicy::SizeType)3 ,FALSE) );
86 //qDebug("h %d %d ", summaryLabel->sizeHint().height(),mSummaryEdit->sizeHint().height() ); 89 //qDebug("h %d %d ", summaryLabel->sizeHint().height(),mSummaryEdit->sizeHint().height() );
87 int hei = (summaryLabel->sizeHint().height() + mSummaryEdit->sizeHint().height())/2; 90 int hei = (summaryLabel->sizeHint().height() + mSummaryEdit->sizeHint().height())/2;
88 if ( QApplication::desktop()->width() > 320 ) 91 if ( QApplication::desktop()->width() > 320 )
89 mSummaryEdit->setMaximumHeight( hei +6 ); 92 mSummaryEdit->setMaximumHeight( hei +6 );
90 //qDebug("%d %d %d %d %d %d ", QSizePolicy::Fixed , QSizePolicy::Minimum , QSizePolicy:: Maximum , QSizePolicy:: Preferred , QSizePolicy:: MinimumExpanding , QSizePolicy::Expanding ); 93 //qDebug("%d %d %d %d %d %d ", QSizePolicy::Fixed , QSizePolicy::Minimum , QSizePolicy:: Maximum , QSizePolicy:: Preferred , QSizePolicy:: MinimumExpanding , QSizePolicy::Expanding );
91 // SizeType { Fixed = 0, Minimum = MayGrow, Maximum = MayShrink, Preferred = MayGrow|MayShrink, MinimumExpanding = Minimum|ExpMask, Expanding = MinimumExpanding|MayShrink } 94 // SizeType { Fixed = 0, Minimum = MayGrow, Maximum = MayShrink, Preferred = MayGrow|MayShrink, MinimumExpanding = Minimum|ExpMask, Expanding = MinimumExpanding|MayShrink }
92 // mSummaryEdit = new QLineEdit(parent); 95 // mSummaryEdit = new QLineEdit(parent);
93 headerLayout->addWidget(mSummaryEdit,1,1); 96 headerLayout->addWidget(mSummaryEdit,1,1);
94 connect ( mSummaryEdit->lineEdit(), SIGNAL ( returnPressed() ), this, SIGNAL (allAccepted () ) ); 97 connect ( mSummaryEdit->lineEdit(), SIGNAL ( returnPressed() ), this, SIGNAL (allAccepted () ) );
95 98
96 QLabel *locationLabel = new QLabel(i18n("Location:"),parent); 99 QLabel *locationLabel = new QLabel(i18n("Location:"),parent);
97 if ( QApplication::desktop()->height() < 320 ) 100 if ( QApplication::desktop()->height() < 320 )
98 headerLayout->addWidget(locationLabel,1,2); 101 headerLayout->addWidget(locationLabel,1,2);
99 else 102 else
100 headerLayout->addWidget(locationLabel,2,0); 103 headerLayout->addWidget(locationLabel,2,0);
101 104
102 mLocationEdit = new KOLocationBox(TRUE,parent,10); 105 mLocationEdit = new KOLocationBox(TRUE,parent,10);
103 mLocationEdit->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::MinimumExpanding ,FALSE) ); 106 mLocationEdit->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::MinimumExpanding ,FALSE) );
104 if ( QApplication::desktop()->width() > 320 && QApplication::desktop()->height() > 240 ) 107 if ( QApplication::desktop()->width() > 320 && QApplication::desktop()->height() > 240 )
105 mLocationEdit->setMaximumHeight( hei + 6); 108 mLocationEdit->setMaximumHeight( hei + 6);
106 109
107 // mLocationEdit = new QLineEdit(parent); 110 // mLocationEdit = new QLineEdit(parent);
108 connect ( mLocationEdit->lineEdit(), SIGNAL ( returnPressed() ), this, SIGNAL (allAccepted () ) ); 111 connect ( mLocationEdit->lineEdit(), SIGNAL ( returnPressed() ), this, SIGNAL (allAccepted () ) );
109 if ( QApplication::desktop()->height() < 320 ) { 112 if ( QApplication::desktop()->height() < 320 ) {
110 headerLayout->addWidget(mLocationEdit,1,3); 113 headerLayout->addWidget(mLocationEdit,1,3);
111 headerLayout->setColStretch( 1, 10); 114 headerLayout->setColStretch( 1, 10);
112 headerLayout->setColStretch( 3, 10); 115 headerLayout->setColStretch( 3, 10);
113 } 116 }
114 else { 117 else {
115 headerLayout->addWidget(mLocationEdit,2,1); 118 headerLayout->addWidget(mLocationEdit,2,1);
116 headerLayout->setColStretch( 1, 10); 119 headerLayout->setColStretch( 1, 10);
117 } 120 }
118} 121}
119void KOEditorGeneral::setFocusOn( int i ) 122void KOEditorGeneral::setFocusOn( int i )
120{ 123{
121 mNextFocus = i; 124 mNextFocus = i;
122 QTimer::singleShot( 0, this, SLOT ( slotSetFocusOn() )); 125 QTimer::singleShot( 0, this, SLOT ( slotSetFocusOn() ));
123} 126}
124void KOEditorGeneral::slotSetFocusOn() 127void KOEditorGeneral::slotSetFocusOn()
125{ 128{
126 mNextFocus; 129 mNextFocus;
127 if ( mNextFocus == 1 ) { 130 if ( mNextFocus == 1 ) {
128 mDescriptionEdit->setFocus(); 131 mDescriptionEdit->setFocus();
129 mDescriptionEdit->setCursorPosition( mDescriptionEdit->numLines (), 333); 132 mDescriptionEdit->setCursorPosition( mDescriptionEdit->numLines (), 333);
130 } 133 }
131 if ( mNextFocus == 2 ) { 134 if ( mNextFocus == 2 ) {
132 mSummaryEdit->setFocus(); 135 mSummaryEdit->setFocus();
133 } 136 }
134} 137}
135void KOEditorGeneral::editCategories() 138void KOEditorGeneral::editCategories()
@@ -160,65 +163,65 @@ void KOEditorGeneral::showCatPopup()
160} 163}
161void KOEditorGeneral::selectedCatPopup( int index ) 164void KOEditorGeneral::selectedCatPopup( int index )
162{ 165{
163 QStringList categories = QStringList::split (",", mCategoriesLabel->text()); 166 QStringList categories = QStringList::split (",", mCategoriesLabel->text());
164 QString colcat = categories.first(); 167 QString colcat = categories.first();
165 if (categories.find (KOPrefs::instance()->mCustomCategories[index]) != categories.end ()) 168 if (categories.find (KOPrefs::instance()->mCustomCategories[index]) != categories.end ())
166 categories.remove (KOPrefs::instance()->mCustomCategories[index]); 169 categories.remove (KOPrefs::instance()->mCustomCategories[index]);
167 else 170 else
168 categories.insert (categories.end(), KOPrefs::instance()->mCustomCategories[index]); 171 categories.insert (categories.end(), KOPrefs::instance()->mCustomCategories[index]);
169 categories.sort (); 172 categories.sort ();
170 if ( !colcat.isEmpty() ) { 173 if ( !colcat.isEmpty() ) {
171 if ( categories.find ( colcat ) != categories.end () ) { 174 if ( categories.find ( colcat ) != categories.end () ) {
172 categories.remove( colcat ); 175 categories.remove( colcat );
173 categories.prepend( colcat ); 176 categories.prepend( colcat );
174 } 177 }
175 } 178 }
176 setCategories( categories.join(",") ); 179 setCategories( categories.join(",") );
177} 180}
178 181
179void KOEditorGeneral::initCategories(QWidget *parent, QBoxLayout *topLayout) 182void KOEditorGeneral::initCategories(QWidget *parent, QBoxLayout *topLayout)
180{ 183{
181 QBoxLayout *categoriesLayout = new QHBoxLayout( topLayout ); 184 QBoxLayout *categoriesLayout = new QHBoxLayout( topLayout );
182 mCatPopup = new QPopupMenu ( parent ); 185 mCatPopup = new QPopupMenu ( parent );
183 mCatPopup->setCheckable (true); 186 mCatPopup->setCheckable (true);
184 connect(mCatPopup,SIGNAL(aboutToShow () ), this ,SLOT(showCatPopup())); 187 connect(mCatPopup,SIGNAL(aboutToShow () ), this ,SLOT(showCatPopup()));
185 connect(mCatPopup,SIGNAL( activated ( int ) ), this ,SLOT(selectedCatPopup( int ))); 188 connect(mCatPopup,SIGNAL( activated ( int ) ), this ,SLOT(selectedCatPopup( int )));
186 mCategoriesButton = new QPushButton(parent); 189 mCategoriesButton = new QPushButton(parent);
187 mCategoriesButton->setText(i18n("Categories...")); 190 mCategoriesButton->setText(i18n("Categories..."));
188 connect(mCategoriesButton,SIGNAL(clicked()),this, SLOT(editCategories() )); 191 connect(mCategoriesButton,SIGNAL(clicked()),this, SLOT(editCategories() ));
189 //connect(mCategoriesButton,SIGNAL(clicked()),this, SLOT(editCategories() )); 192 //connect(mCategoriesButton,SIGNAL(clicked()),this, SLOT(editCategories() ));
190 categoriesLayout->addWidget(mCategoriesButton); 193 categoriesLayout->addWidget(mCategoriesButton);
191 mCategoriesLabel = new QPushButton(parent);//new QLabel(parent); 194 mCategoriesLabel = new QPushButton(parent);//new QLabel(parent);
192 mCategoriesLabel->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::MinimumExpanding ,FALSE) ); 195 mCategoriesLabel->setSizePolicy( QSizePolicy( QSizePolicy::Preferred ,QSizePolicy::Fixed ,FALSE) );
193 mCategoriesLabel->setPopup( mCatPopup ); 196 mCategoriesLabel->setPopup( mCatPopup );
194 //mCategoriesLabel->setFrameStyle(QFrame::Panel|QFrame::Sunken); 197 //mCategoriesLabel->setFrameStyle(QFrame::Panel|QFrame::Sunken);
195 categoriesLayout->addWidget(mCategoriesLabel,1); 198 categoriesLayout->addWidget(mCategoriesLabel,1);
196} 199}
197 200
198void KOEditorGeneral::initSecrecy(QWidget *parent, QBoxLayout *topLayout) 201void KOEditorGeneral::initSecrecy(QWidget *parent, QBoxLayout *topLayout)
199{ 202{
200 QBoxLayout *secrecyLayout = new QHBoxLayout( topLayout ); 203 QBoxLayout *secrecyLayout = new QHBoxLayout( topLayout );
201 204
202 QLabel *secrecyLabel = new QLabel(i18n("Access:"),parent); 205 QLabel *secrecyLabel = new QLabel(i18n("Access:"),parent);
203 mCancelBox = new QCheckBox ( i18n("Cancelled"), parent); 206 mCancelBox = new QCheckBox ( i18n("Cancelled"), parent);
204 secrecyLayout->addWidget(mCancelBox); 207 secrecyLayout->addWidget(mCancelBox);
205 secrecyLayout->addWidget(secrecyLabel); 208 secrecyLayout->addWidget(secrecyLabel);
206 209
207 mSecrecyCombo = new QComboBox(parent); 210 mSecrecyCombo = new QComboBox(parent);
208 mSecrecyCombo->insertStringList(Incidence::secrecyList()); 211 mSecrecyCombo->insertStringList(Incidence::secrecyList());
209 secrecyLayout->addWidget(mSecrecyCombo); 212 secrecyLayout->addWidget(mSecrecyCombo);
210} 213}
211 214
212void KOEditorGeneral::initDescription(QWidget *parent,QBoxLayout *topLayout) 215void KOEditorGeneral::initDescription(QWidget *parent,QBoxLayout *topLayout)
213{ 216{
214 mDescriptionEdit = new KTextEdit(parent); 217 mDescriptionEdit = new KTextEdit(parent);
215 mDescriptionEdit->setFont(KOPrefs::instance()->mEditBoxFont ); 218 mDescriptionEdit->setFont(KOPrefs::instance()->mEditBoxFont );
216 mDescriptionEdit->append(""); 219 mDescriptionEdit->append("");
217 mDescriptionEdit->setReadOnly(false); 220 mDescriptionEdit->setReadOnly(false);
218 mDescriptionEdit->setOverwriteMode(false); 221 mDescriptionEdit->setOverwriteMode(false);
219 mDescriptionEdit->setWordWrap( KTextEdit::WidgetWidth ); 222 mDescriptionEdit->setWordWrap( KTextEdit::WidgetWidth );
220 topLayout->addWidget(mDescriptionEdit); 223 topLayout->addWidget(mDescriptionEdit);
221#ifndef DESKTOP_VERSION 224#ifndef DESKTOP_VERSION
222 QPEApplication::setStylusOperation( mDescriptionEdit, QPEApplication::RightOnHold ); 225 QPEApplication::setStylusOperation( mDescriptionEdit, QPEApplication::RightOnHold );
223#endif 226#endif
224 227
diff --git a/korganizer/koeditorgeneralevent.cpp b/korganizer/koeditorgeneralevent.cpp
index 3dd7f5c..2c6ed9f 100644
--- a/korganizer/koeditorgeneralevent.cpp
+++ b/korganizer/koeditorgeneralevent.cpp
@@ -2,126 +2,127 @@
2 This file is part of KOrganizer. 2 This file is part of KOrganizer.
3 Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org> 3 Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
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 23
24#include <qtooltip.h> 24#include <qtooltip.h>
25#include <qlayout.h> 25#include <qlayout.h>
26#include <qvbox.h> 26#include <qvbox.h>
27#include <qbuttongroup.h> 27#include <qbuttongroup.h>
28#include <qvgroupbox.h> 28#include <qvgroupbox.h>
29#include <qwidgetstack.h> 29#include <qwidgetstack.h>
30#include <qdatetime.h> 30#include <qdatetime.h>
31 31
32#include <kdebug.h> 32#include <kdebug.h>
33#include <kglobal.h> 33#include <kglobal.h>
34#include <kdialog.h>
34#include <klocale.h> 35#include <klocale.h>
35#include <kiconloader.h> 36#include <kiconloader.h>
36#include <kmessagebox.h> 37#include <kmessagebox.h>
37#include <kfiledialog.h> 38#include <kfiledialog.h>
38#include <kstandarddirs.h> 39#include <kstandarddirs.h>
39 40
40#include <libkcal/event.h> 41#include <libkcal/event.h>
41 42
42#include <libkdepim/kdateedit.h> 43#include <libkdepim/kdateedit.h>
43 44
44#include "koprefs.h" 45#include "koprefs.h"
45 46
46#include "koeditorgeneralevent.h" 47#include "koeditorgeneralevent.h"
47#include "kolocationbox.h" 48#include "kolocationbox.h"
48 49
49KOEditorGeneralEvent::KOEditorGeneralEvent(QObject* parent, 50KOEditorGeneralEvent::KOEditorGeneralEvent(QObject* parent,
50 const char* name) : 51 const char* name) :
51 KOEditorGeneral( parent, name) 52 KOEditorGeneral( parent, name)
52{ 53{
53 mTemplate = false; 54 mTemplate = false;
54 connect(this,SIGNAL(dateTimesChanged(QDateTime,QDateTime)), 55 connect(this,SIGNAL(dateTimesChanged(QDateTime,QDateTime)),
55 SLOT(setDuration())); 56 SLOT(setDuration()));
56 connect(this,SIGNAL(dateTimesChanged(QDateTime,QDateTime)), 57 connect(this,SIGNAL(dateTimesChanged(QDateTime,QDateTime)),
57 SLOT(emitDateTimeStr())); 58 SLOT(emitDateTimeStr()));
58} 59}
59 60
60KOEditorGeneralEvent::~KOEditorGeneralEvent() 61KOEditorGeneralEvent::~KOEditorGeneralEvent()
61{ 62{
62} 63}
63 64
64void KOEditorGeneralEvent::finishSetup() 65void KOEditorGeneralEvent::finishSetup()
65{ 66{
66 67
67 //disabled 68 //disabled
68// QWidget::setTabOrder( mSummaryEdit, mLocationEdit ); 69// QWidget::setTabOrder( mSummaryEdit, mLocationEdit );
69// QWidget::setTabOrder( mLocationEdit, mStartDateEdit ); 70// QWidget::setTabOrder( mLocationEdit, mStartDateEdit );
70// QWidget::setTabOrder( mStartDateEdit, mStartTimeEdit ); 71// QWidget::setTabOrder( mStartDateEdit, mStartTimeEdit );
71// QWidget::setTabOrder( mStartTimeEdit, mEndDateEdit ); 72// QWidget::setTabOrder( mStartTimeEdit, mEndDateEdit );
72// QWidget::setTabOrder( mEndDateEdit, mEndTimeEdit ); 73// QWidget::setTabOrder( mEndDateEdit, mEndTimeEdit );
73// QWidget::setTabOrder( mEndTimeEdit, mNoTimeButton ); 74// QWidget::setTabOrder( mEndTimeEdit, mNoTimeButton );
74// QWidget::setTabOrder( mNoTimeButton, mAlarmButton ); 75// QWidget::setTabOrder( mNoTimeButton, mAlarmButton );
75// QWidget::setTabOrder( mAlarmButton, mAlarmTimeEdit ); 76// QWidget::setTabOrder( mAlarmButton, mAlarmTimeEdit );
76// QWidget::setTabOrder( mFreeTimeCombo, mCategoriesButton ); 77// QWidget::setTabOrder( mFreeTimeCombo, mCategoriesButton );
77// QWidget::setTabOrder( mCategoriesButton, mSecrecyCombo ); 78// QWidget::setTabOrder( mCategoriesButton, mSecrecyCombo );
78// QWidget::setTabOrder( mSecrecyCombo, mDescriptionEdit ); 79// QWidget::setTabOrder( mSecrecyCombo, mDescriptionEdit );
79 80
80 81
81 82
82 mSummaryEdit->load(KOLocationBox::SUMMARYEVENT); 83 mSummaryEdit->load(KOLocationBox::SUMMARYEVENT);
83 mSummaryEdit->setFocus(); 84 mSummaryEdit->setFocus();
84} 85}
85 86
86void KOEditorGeneralEvent::initTime(QWidget *parent,QBoxLayout *topLayout) 87void KOEditorGeneralEvent::initTime(QWidget *parent,QBoxLayout *topLayout)
87{ 88{
88 QBoxLayout *timeLayout = new QVBoxLayout(topLayout); 89 QBoxLayout *timeLayout = new QVBoxLayout(topLayout);
89 90
90 QGroupBox *timeGroupBox = new QGroupBox(1,QGroupBox::Horizontal, 91 QGroupBox *timeGroupBox = new QGroupBox(1,QGroupBox::Horizontal,
91 i18n("Date && Time"),parent); 92 i18n("Date && Time"),parent);
92 timeLayout->addWidget(timeGroupBox); 93 timeLayout->addWidget(timeGroupBox);
93 94
94 timeGroupBox->layout()->setSpacing( 0 ); 95 timeGroupBox->layout()->setSpacing( KDialog::spacingHintSmall() );
95 timeGroupBox->layout()->setMargin( 5 ); 96 timeGroupBox->layout()->setMargin( KDialog::marginHint() );
96 QFrame *timeBoxFrame = new QFrame(timeGroupBox); 97 QFrame *timeBoxFrame = new QFrame(timeGroupBox);
97 98
98 QGridLayout *layoutTimeBox = new QGridLayout(timeBoxFrame,2,3); 99 QGridLayout *layoutTimeBox = new QGridLayout(timeBoxFrame,2,3);
99 layoutTimeBox->setSpacing(topLayout->spacing()); 100 layoutTimeBox->setSpacing(topLayout->spacing());
100 101
101 mStartDateLabel = new QLabel(i18n("Start:"),timeBoxFrame); 102 mStartDateLabel = new QLabel(i18n("Start:"),timeBoxFrame);
102 layoutTimeBox->addWidget(mStartDateLabel,0,0); 103 layoutTimeBox->addWidget(mStartDateLabel,0,0);
103 104
104 mStartDateEdit = new KDateEdit(timeBoxFrame); 105 mStartDateEdit = new KDateEdit(timeBoxFrame);
105 layoutTimeBox->addWidget(mStartDateEdit,0,1); 106 layoutTimeBox->addWidget(mStartDateEdit,0,1);
106 107
107 mStartTimeEdit = new KOTimeEdit(timeBoxFrame); 108 mStartTimeEdit = new KOTimeEdit(timeBoxFrame);
108 layoutTimeBox->addWidget(mStartTimeEdit,0,2); 109 layoutTimeBox->addWidget(mStartTimeEdit,0,2);
109 110
110 111
111 mEndDateLabel = new QLabel(i18n("End:"),timeBoxFrame); 112 mEndDateLabel = new QLabel(i18n("End:"),timeBoxFrame);
112 layoutTimeBox->addWidget(mEndDateLabel,1,0); 113 layoutTimeBox->addWidget(mEndDateLabel,1,0);
113 114
114 mEndDateEdit = new KDateEdit(timeBoxFrame); 115 mEndDateEdit = new KDateEdit(timeBoxFrame);
115 layoutTimeBox->addWidget(mEndDateEdit,1,1); 116 layoutTimeBox->addWidget(mEndDateEdit,1,1);
116 117
117 mEndTimeEdit = new KOTimeEdit(timeBoxFrame); 118 mEndTimeEdit = new KOTimeEdit(timeBoxFrame);
118 layoutTimeBox->addWidget(mEndTimeEdit,1,2); 119 layoutTimeBox->addWidget(mEndTimeEdit,1,2);
119 QWidget* duration = new QWidget( timeBoxFrame ); 120 QWidget* duration = new QWidget( timeBoxFrame );
120 QHBoxLayout *flagsBox = new QHBoxLayout( duration ); 121 QHBoxLayout *flagsBox = new QHBoxLayout( duration );
121 mNoTimeButton = new QCheckBox(i18n("All day event"),duration); 122 mNoTimeButton = new QCheckBox(i18n("All day event"),duration);
122 flagsBox->addWidget(mNoTimeButton); 123 flagsBox->addWidget(mNoTimeButton);
123 connect(mNoTimeButton, SIGNAL(toggled(bool)),SLOT(dontAssociateTime(bool))); 124 connect(mNoTimeButton, SIGNAL(toggled(bool)),SLOT(dontAssociateTime(bool)));
124 mDurationLabel = new QLabel( duration ); 125 mDurationLabel = new QLabel( duration );
125 // if ( KOPrefs::instance()->mCompactDialogs ) { 126 // if ( KOPrefs::instance()->mCompactDialogs ) {
126 //layoutTimeBox->addMultiCellWidget( mDurationLabel, 3, 3, 0, 3 ); 127 //layoutTimeBox->addMultiCellWidget( mDurationLabel, 3, 3, 0, 3 );
127 //} else { 128 //} else {
diff --git a/korganizer/koeditorgeneraltodo.cpp b/korganizer/koeditorgeneraltodo.cpp
index 0a734ee..965cf47 100644
--- a/korganizer/koeditorgeneraltodo.cpp
+++ b/korganizer/koeditorgeneraltodo.cpp
@@ -60,65 +60,65 @@ KOEditorGeneralTodo::KOEditorGeneralTodo(QObject* parent,
60KOEditorGeneralTodo::~KOEditorGeneralTodo() 60KOEditorGeneralTodo::~KOEditorGeneralTodo()
61{ 61{
62} 62}
63 63
64void KOEditorGeneralTodo::finishSetup() 64void KOEditorGeneralTodo::finishSetup()
65{ 65{
66 66
67// QWidget::setTabOrder(mSummaryEdit, mLocationEdit); 67// QWidget::setTabOrder(mSummaryEdit, mLocationEdit);
68// QWidget::setTabOrder(mLocationEdit, mDueCheck); 68// QWidget::setTabOrder(mLocationEdit, mDueCheck);
69// QWidget::setTabOrder(mDueCheck, mDueDateEdit); 69// QWidget::setTabOrder(mDueCheck, mDueDateEdit);
70// QWidget::setTabOrder(mDueDateEdit, mDueTimeEdit); 70// QWidget::setTabOrder(mDueDateEdit, mDueTimeEdit);
71// QWidget::setTabOrder(mDueTimeEdit, mStartCheck); 71// QWidget::setTabOrder(mDueTimeEdit, mStartCheck);
72// QWidget::setTabOrder(mStartCheck, mStartDateEdit); 72// QWidget::setTabOrder(mStartCheck, mStartDateEdit);
73// QWidget::setTabOrder(mStartDateEdit, mStartTimeEdit); 73// QWidget::setTabOrder(mStartDateEdit, mStartTimeEdit);
74// QWidget::setTabOrder(mStartTimeEdit, mTimeButton); 74// QWidget::setTabOrder(mStartTimeEdit, mTimeButton);
75// QWidget::setTabOrder(mTimeButton, mCompletedCombo); 75// QWidget::setTabOrder(mTimeButton, mCompletedCombo);
76// QWidget::setTabOrder(mCompletedCombo, mPriorityCombo); 76// QWidget::setTabOrder(mCompletedCombo, mPriorityCombo);
77// QWidget::setTabOrder(mPriorityCombo, mAlarmButton); 77// QWidget::setTabOrder(mPriorityCombo, mAlarmButton);
78// QWidget::setTabOrder(mAlarmButton, mCategoriesButton); 78// QWidget::setTabOrder(mAlarmButton, mCategoriesButton);
79// QWidget::setTabOrder(mCategoriesButton, mSecrecyCombo); 79// QWidget::setTabOrder(mCategoriesButton, mSecrecyCombo);
80// QWidget::setTabOrder(mSecrecyCombo, mDescriptionEdit); 80// QWidget::setTabOrder(mSecrecyCombo, mDescriptionEdit);
81 mSummaryEdit->load(KOLocationBox::SUMMARYTODO); 81 mSummaryEdit->load(KOLocationBox::SUMMARYTODO);
82 mSummaryEdit->setFocus(); 82 mSummaryEdit->setFocus();
83} 83}
84 84
85void KOEditorGeneralTodo::initTime(QWidget *parent,QBoxLayout *topLayout) 85void KOEditorGeneralTodo::initTime(QWidget *parent,QBoxLayout *topLayout)
86{ 86{
87 QBoxLayout *timeLayout = new QVBoxLayout(topLayout); 87 QBoxLayout *timeLayout = new QVBoxLayout(topLayout);
88 88
89 QGroupBox *timeGroupBox = new QGroupBox(1,QGroupBox::Horizontal, 89 QGroupBox *timeGroupBox = new QGroupBox(1,QGroupBox::Horizontal,
90 i18n("Date && Time"),parent); 90 i18n("Date && Time"),parent);
91 timeLayout->addWidget(timeGroupBox); 91 timeLayout->addWidget(timeGroupBox);
92 timeGroupBox->layout()->setSpacing( KDialog::spacingHintSmall() ); 92 timeGroupBox->layout()->setSpacing( KDialog::spacingHint()-2 );
93 timeGroupBox->layout()->setMargin( KDialog::marginHint() ); 93 timeGroupBox->layout()->setMargin( KDialog::marginHint() );
94 QFrame *timeBoxFrame = new QFrame(timeGroupBox); 94 QFrame *timeBoxFrame = new QFrame(timeGroupBox);
95 95
96 QGridLayout *layoutTimeBox = new QGridLayout(timeBoxFrame,3,3); 96 QGridLayout *layoutTimeBox = new QGridLayout(timeBoxFrame,3,3);
97 layoutTimeBox->setSpacing(KDialog::spacingHintSmall()); 97 layoutTimeBox->setSpacing(KDialog::spacingHintSmall());
98 layoutTimeBox->setColStretch( 1, 1 ); 98 layoutTimeBox->setColStretch( 1, 1 );
99 99
100 mDueCheck = new QCheckBox(i18n("Due:"),timeBoxFrame); 100 mDueCheck = new QCheckBox(i18n("Due:"),timeBoxFrame);
101 layoutTimeBox->addWidget(mDueCheck,1,0); 101 layoutTimeBox->addWidget(mDueCheck,1,0);
102 connect(mDueCheck,SIGNAL(toggled(bool)),SLOT(enableDueEdit(bool))); 102 connect(mDueCheck,SIGNAL(toggled(bool)),SLOT(enableDueEdit(bool)));
103 connect(mDueCheck,SIGNAL(toggled(bool)),SLOT(showAlarm())); 103 connect(mDueCheck,SIGNAL(toggled(bool)),SLOT(showAlarm()));
104 104
105 105
106 mDueDateEdit = new KDateEdit(timeBoxFrame); 106 mDueDateEdit = new KDateEdit(timeBoxFrame);
107 layoutTimeBox->addWidget(mDueDateEdit,1,1); 107 layoutTimeBox->addWidget(mDueDateEdit,1,1);
108 108
109 mDueTimeEdit = new KOTimeEdit(timeBoxFrame); 109 mDueTimeEdit = new KOTimeEdit(timeBoxFrame);
110 layoutTimeBox->addWidget(mDueTimeEdit,1,2); 110 layoutTimeBox->addWidget(mDueTimeEdit,1,2);
111 111
112 112
113 mStartCheck = new QCheckBox(i18n("Start:"),timeBoxFrame); 113 mStartCheck = new QCheckBox(i18n("Start:"),timeBoxFrame);
114 layoutTimeBox->addWidget(mStartCheck,0,0); 114 layoutTimeBox->addWidget(mStartCheck,0,0);
115 connect(mStartCheck,SIGNAL(toggled(bool)),SLOT(enableStartEdit(bool))); 115 connect(mStartCheck,SIGNAL(toggled(bool)),SLOT(enableStartEdit(bool)));
116 116
117 mStartDateEdit = new KDateEdit(timeBoxFrame); 117 mStartDateEdit = new KDateEdit(timeBoxFrame);
118 layoutTimeBox->addWidget(mStartDateEdit,0,1); 118 layoutTimeBox->addWidget(mStartDateEdit,0,1);
119 119
120 mStartTimeEdit = new KOTimeEdit(timeBoxFrame); 120 mStartTimeEdit = new KOTimeEdit(timeBoxFrame);
121 layoutTimeBox->addWidget(mStartTimeEdit,0,2); 121 layoutTimeBox->addWidget(mStartTimeEdit,0,2);
122 122
123 123
124 mTimeButton = new QCheckBox(i18n("Time associated"),timeBoxFrame); 124 mTimeButton = new QCheckBox(i18n("Time associated"),timeBoxFrame);
diff --git a/korganizer/koeventeditor.cpp b/korganizer/koeventeditor.cpp
index 75dae34..9ede543 100644
--- a/korganizer/koeventeditor.cpp
+++ b/korganizer/koeventeditor.cpp
@@ -79,100 +79,106 @@ void KOEventEditor::init()
79 // Category dialog 79 // Category dialog
80 // connect(mGeneral,SIGNAL(openCategoryDialog()),mCategoryDialog,SLOT(show())); 80 // connect(mGeneral,SIGNAL(openCategoryDialog()),mCategoryDialog,SLOT(show()));
81 //connect(mCategoryDialog,SIGNAL(categoriesSelected(const QString &)), 81 //connect(mCategoryDialog,SIGNAL(categoriesSelected(const QString &)),
82 // mGeneral,SLOT(setCategories(const QString &))); 82 // mGeneral,SLOT(setCategories(const QString &)));
83 83
84 84
85} 85}
86 86
87void KOEventEditor::reload() 87void KOEventEditor::reload()
88{ 88{
89 if ( mEvent ) readEvent( mEvent ); 89 if ( mEvent ) readEvent( mEvent );
90} 90}
91 91
92void KOEventEditor::setSecrecy( int sec ) 92void KOEventEditor::setSecrecy( int sec )
93{ 93{
94 mGeneral->setSecrecy( sec ); 94 mGeneral->setSecrecy( sec );
95} 95}
96void KOEventEditor::setCategories( QString s ) 96void KOEventEditor::setCategories( QString s )
97{ 97{
98 mGeneral->setCategories(s); 98 mGeneral->setCategories(s);
99 99
100} 100}
101void KOEventEditor::setupGeneral() 101void KOEventEditor::setupGeneral()
102{ 102{
103 mGeneral = new KOEditorGeneralEvent( this, "KOEditorGeneralEvent" ); 103 mGeneral = new KOEditorGeneralEvent( this, "KOEditorGeneralEvent" );
104 connect ( mGeneral, SIGNAL ( allAccepted() ), this, SLOT ( slotOk () ) ); 104 connect ( mGeneral, SIGNAL ( allAccepted() ), this, SLOT ( slotOk () ) );
105 105
106 if( KOPrefs::instance()->mCompactDialogs ) { 106 if( KOPrefs::instance()->mCompactDialogs ) {
107 QFrame *topFrame = addPage(i18n("General")); 107 QFrame *topFrame = addPage(i18n("General"));
108 QBoxLayout *topLayout = new QVBoxLayout(topFrame); 108 QBoxLayout *topLayout = new QVBoxLayout(topFrame);
109 topLayout->setSpacing(spacingHint()-1); 109 topLayout->setSpacing(spacingHint()-1);
110 topLayout->setMargin(marginHint()-1); 110 topLayout->setMargin(marginHint()-1);
111 topLayout->addStretch ( 1 );
111 mGeneral->initHeader(topFrame,topLayout); 112 mGeneral->initHeader(topFrame,topLayout);
113 topLayout->addStretch ( 1 );
112 mGeneral->initTime(topFrame,topLayout); 114 mGeneral->initTime(topFrame,topLayout);
115 topLayout->addStretch ( 1 );
113// QBoxLayout *alarmLineLayout = new QHBoxLayout(topLayout); 116// QBoxLayout *alarmLineLayout = new QHBoxLayout(topLayout);
114 mGeneral->initAlarm(topFrame,topLayout); 117 mGeneral->initAlarm(topFrame,topLayout);
118 topLayout->addStretch ( 1 );
115 mGeneral->enableAlarm( false ); 119 mGeneral->enableAlarm( false );
116 120
117 QBoxLayout *buttonLayout; 121 QBoxLayout *buttonLayout;
118 if ( QApplication::desktop()->width() < 500 && QApplication::desktop()->height() > 240 ) 122 if ( QApplication::desktop()->width() < 500 && QApplication::desktop()->height() > 240 )
119 buttonLayout = new QVBoxLayout( topLayout ); 123 buttonLayout = new QVBoxLayout( topLayout );
120 else 124 else
121 buttonLayout = new QHBoxLayout( topLayout ); 125 buttonLayout = new QHBoxLayout( topLayout );
122 QHBox* buttonWidget = new QHBox (topFrame); 126 QHBox* buttonWidget = new QHBox (topFrame);
123 QIconSet icon; 127 QIconSet icon;
124 if ( QApplication::desktop()->width() < 321 ) 128 if ( QApplication::desktop()->width() < 321 )
125 icon = SmallIcon("fileexport16"); 129 icon = SmallIcon("fileexport16");
126 else 130 else
127 icon = SmallIcon("fileexport"); 131 icon = SmallIcon("fileexport");
128 QPushButton * loadTemplate = new QPushButton( buttonWidget); 132 QPushButton * loadTemplate = new QPushButton( buttonWidget);
129 QPushButton * saveTemplate = new QPushButton( buttonWidget); 133 QPushButton * saveTemplate = new QPushButton( buttonWidget);
130 saveTemplate->setIconSet (icon ) ; 134 saveTemplate->setIconSet (icon ) ;
131 int size = saveTemplate->sizeHint().height(); 135 int size = saveTemplate->sizeHint().height();
132 saveTemplate->setFixedSize( size, size ); 136 saveTemplate->setFixedSize( size, size );
133 if ( QApplication::desktop()->width() < 321 ) 137 if ( QApplication::desktop()->width() < 321 )
134 icon = SmallIcon("fileimport16"); 138 icon = SmallIcon("fileimport16");
135 else 139 else
136 icon = SmallIcon("fileimport"); 140 icon = SmallIcon("fileimport");
137 loadTemplate->setIconSet (icon ) ; 141 loadTemplate->setIconSet (icon ) ;
138 loadTemplate->setFixedSize( size, size ); 142 loadTemplate->setFixedSize( size, size );
139 buttonLayout->addWidget( buttonWidget ); 143 buttonLayout->addWidget( buttonWidget );
140 mGeneral->initCategories( topFrame, buttonLayout ); 144 mGeneral->initCategories( topFrame, buttonLayout );
141 145
142 topLayout->addStretch( 1 ); 146 topLayout->addStretch( 1 );
143 147
144 QFrame *topFrame2 = addPage(i18n("Details")); 148 QFrame *topFrame2 = addPage(i18n("Details"));
145 149
146 QBoxLayout *topLayout2 = new QVBoxLayout(topFrame2); 150 QBoxLayout *topLayout2 = new QVBoxLayout(topFrame2);
151 topLayout2->setSpacing(spacingHint()-1);
152 topLayout2->setMargin(marginHint()-1);
147 topLayout2->setSpacing(spacingHint()); 153 topLayout2->setSpacing(spacingHint());
148 154
149 mGeneral->initClass(topFrame2,topLayout2); 155 mGeneral->initClass(topFrame2,topLayout2);
150 mGeneral->initSecrecy( topFrame2, topLayout2 ); 156 mGeneral->initSecrecy( topFrame2, topLayout2 );
151 mGeneral->initDescription(topFrame2,topLayout2); 157 mGeneral->initDescription(topFrame2,topLayout2);
152 158
153 connect( saveTemplate, SIGNAL( clicked() ), this , SLOT( slotSaveTemplate() ) ); 159 connect( saveTemplate, SIGNAL( clicked() ), this , SLOT( slotSaveTemplate() ) );
154 connect( loadTemplate, SIGNAL( clicked() ), this , SLOT( slotLoadTemplate() ) ); 160 connect( loadTemplate, SIGNAL( clicked() ), this , SLOT( slotLoadTemplate() ) );
155 } else { 161 } else {
156 QFrame *topFrame = addPage(i18n("General")); 162 QFrame *topFrame = addPage(i18n("General"));
157 163
158 QBoxLayout *topLayout = new QVBoxLayout(topFrame); 164 QBoxLayout *topLayout = new QVBoxLayout(topFrame);
159 topLayout->setSpacing(spacingHint()); 165 topLayout->setSpacing(spacingHint());
160 166
161 mGeneral->initHeader(topFrame,topLayout); 167 mGeneral->initHeader(topFrame,topLayout);
162 mGeneral->initTime(topFrame,topLayout); 168 mGeneral->initTime(topFrame,topLayout);
163 QBoxLayout *alarmLineLayout = new QHBoxLayout(topLayout); 169 QBoxLayout *alarmLineLayout = new QHBoxLayout(topLayout);
164 mGeneral->initAlarm(topFrame,alarmLineLayout); 170 mGeneral->initAlarm(topFrame,alarmLineLayout);
165 mGeneral->initClass(topFrame,alarmLineLayout); 171 mGeneral->initClass(topFrame,alarmLineLayout);
166 mGeneral->initDescription(topFrame,topLayout); 172 mGeneral->initDescription(topFrame,topLayout);
167 QBoxLayout *detailsLayout = new QHBoxLayout(topLayout); 173 QBoxLayout *detailsLayout = new QHBoxLayout(topLayout);
168 mGeneral->initCategories( topFrame, detailsLayout ); 174 mGeneral->initCategories( topFrame, detailsLayout );
169 mGeneral->initSecrecy( topFrame, detailsLayout ); 175 mGeneral->initSecrecy( topFrame, detailsLayout );
170 } 176 }
171 177
172 mGeneral->finishSetup(); 178 mGeneral->finishSetup();
173 179
174} 180}
175 181
176void KOEventEditor::setupRecurrence() 182void KOEventEditor::setupRecurrence()
177{ 183{
178 QFrame *topFrame = addPage( i18n("Recurrence") ); 184 QFrame *topFrame = addPage( i18n("Recurrence") );
diff --git a/korganizer/koincidenceeditor.cpp b/korganizer/koincidenceeditor.cpp
index 9813a80..9bc0302 100644
--- a/korganizer/koincidenceeditor.cpp
+++ b/korganizer/koincidenceeditor.cpp
@@ -57,65 +57,65 @@ KOIncidenceEditor::KOIncidenceEditor( const QString &caption,
57 57
58 QString saveTemplateText; 58 QString saveTemplateText;
59 // if ( KOPrefs::instance()->mCompactDialogs ) { 59 // if ( KOPrefs::instance()->mCompactDialogs ) {
60// showButton( User1, false ); 60// showButton( User1, false );
61// showButton( Apply, false ); 61// showButton( Apply, false );
62// } else { 62// } else {
63 showButton( Apply, false ); 63 showButton( Apply, false );
64 saveTemplateText = i18n("Ok+Agenda"); 64 saveTemplateText = i18n("Ok+Agenda");
65 // } 65 // }
66 setButtonText( User1, saveTemplateText ); 66 setButtonText( User1, saveTemplateText );
67 67
68 //mCategoryDialog = new KPIM::CategorySelectDialog( KOPrefs::instance(), this ); 68 //mCategoryDialog = new KPIM::CategorySelectDialog( KOPrefs::instance(), this );
69 // KOGlobals::fitDialogToScreen( mCategoryDialog ); 69 // KOGlobals::fitDialogToScreen( mCategoryDialog );
70 70
71 //connect(mCategoryDialog,SIGNAL(editCategories()),SIGNAL(editCategories())); 71 //connect(mCategoryDialog,SIGNAL(editCategories()),SIGNAL(editCategories()));
72 72
73 //connect( this, SIGNAL( defaultClicked() ), SLOT( slotLoadTemplate() ) ); 73 //connect( this, SIGNAL( defaultClicked() ), SLOT( slotLoadTemplate() ) );
74 // connect( this, SIGNAL( user1Clicked() ), SLOT( slotSaveTemplate() ) ); 74 // connect( this, SIGNAL( user1Clicked() ), SLOT( slotSaveTemplate() ) );
75 connect( this, SIGNAL( user1Clicked() ), SLOT( slotShowIncidence() ) ); 75 connect( this, SIGNAL( user1Clicked() ), SLOT( slotShowIncidence() ) );
76} 76}
77 77
78KOIncidenceEditor::~KOIncidenceEditor() 78KOIncidenceEditor::~KOIncidenceEditor()
79{ 79{
80 //delete mCategoryDialog; 80 //delete mCategoryDialog;
81} 81}
82 82
83void KOIncidenceEditor::setupAttendeesTab() 83void KOIncidenceEditor::setupAttendeesTab()
84{ 84{
85 QFrame *topFrame = addPage(i18n("Attendees")); 85 QFrame *topFrame = addPage(i18n("Attendees"));
86 86
87 QBoxLayout *topLayout = new QVBoxLayout(topFrame); 87 QBoxLayout *topLayout = new QVBoxLayout(topFrame);
88 88
89 mDetails = new KOEditorDetails(spacingHint(),topFrame); 89 mDetails = new KOEditorDetails(spacingHint()-2,topFrame);
90 topLayout->addWidget(mDetails); 90 topLayout->addWidget(mDetails);
91} 91}
92 92
93 93
94void KOIncidenceEditor::slotApply() 94void KOIncidenceEditor::slotApply()
95{ 95{
96 processInput( false ); 96 processInput( false );
97} 97}
98void KOIncidenceEditor::accept() 98void KOIncidenceEditor::accept()
99{ 99{
100 slotOk(); 100 slotOk();
101} 101}
102void KOIncidenceEditor::slotOk() 102void KOIncidenceEditor::slotOk()
103{ 103{
104 if ( processInput( false ) ) QDialog::accept(); 104 if ( processInput( false ) ) QDialog::accept();
105} 105}
106 106
107void KOIncidenceEditor::updateCategoryConfig() 107void KOIncidenceEditor::updateCategoryConfig()
108{ 108{
109 qDebug("KOIncidenceEditor::updateCategoryConfig() is dead! "); 109 qDebug("KOIncidenceEditor::updateCategoryConfig() is dead! ");
110 //mCategoryDialog->updateCategoryConfig(); 110 //mCategoryDialog->updateCategoryConfig();
111} 111}
112 112
113void KOIncidenceEditor::slotCancel() 113void KOIncidenceEditor::slotCancel()
114{ 114{
115 reject(); 115 reject();
116} 116}
117 117
118void KOIncidenceEditor::slotLoadTemplate() 118void KOIncidenceEditor::slotLoadTemplate()
119{ 119{
120 kdDebug() << "KOIncidenceEditor::loadTemplate()" << endl; 120 kdDebug() << "KOIncidenceEditor::loadTemplate()" << endl;
121} 121}
diff --git a/korganizer/kotodoeditor.cpp b/korganizer/kotodoeditor.cpp
index 8b90ae5..555c1b1 100644
--- a/korganizer/kotodoeditor.cpp
+++ b/korganizer/kotodoeditor.cpp
@@ -91,67 +91,71 @@ void KOTodoEditor::setCategories( QString s )
91{ 91{
92 mGeneral->setCategories(s); 92 mGeneral->setCategories(s);
93} 93}
94void KOTodoEditor::setSecrecy( int sec ) 94void KOTodoEditor::setSecrecy( int sec )
95{ 95{
96 mGeneral->setSecrecy( sec ); 96 mGeneral->setSecrecy( sec );
97} 97}
98void KOTodoEditor::reload() 98void KOTodoEditor::reload()
99{ 99{
100 if ( mTodo ) readTodo( mTodo ); 100 if ( mTodo ) readTodo( mTodo );
101} 101}
102 102
103void KOTodoEditor::setupGeneral() 103void KOTodoEditor::setupGeneral()
104{ 104{
105 mGeneral = new KOEditorGeneralTodo(this); 105 mGeneral = new KOEditorGeneralTodo(this);
106 connect ( mGeneral, SIGNAL ( allAccepted() ), this, SLOT ( slotOk () ) ); 106 connect ( mGeneral, SIGNAL ( allAccepted() ), this, SLOT ( slotOk () ) );
107 107
108 // connect(mGeneral,SIGNAL(openCategoryDialog()),mCategoryDialog,SLOT(show())); 108 // connect(mGeneral,SIGNAL(openCategoryDialog()),mCategoryDialog,SLOT(show()));
109 //connect(mCategoryDialog, SIGNAL(categoriesSelected(const QString &)), 109 //connect(mCategoryDialog, SIGNAL(categoriesSelected(const QString &)),
110 // mGeneral,SLOT(setCategories(const QString &))); 110 // mGeneral,SLOT(setCategories(const QString &)));
111 111
112 if (KOPrefs::instance()->mCompactDialogs) { 112 if (KOPrefs::instance()->mCompactDialogs) {
113 QFrame *topFrame = addPage(i18n("General")); 113 QFrame *topFrame = addPage(i18n("General"));
114 114
115 QBoxLayout *topLayout = new QVBoxLayout(topFrame); 115 QBoxLayout *topLayout = new QVBoxLayout(topFrame);
116 if ( QApplication::desktop()->width() < 480 ) { 116 if ( QApplication::desktop()->width() < 480 ) {
117 topLayout->setMargin(marginHintSmall()); 117 topLayout->setMargin(marginHintSmall());
118 topLayout->setSpacing(spacingHintSmall()); 118 topLayout->setSpacing(spacingHintSmall());
119 } else { 119 } else {
120 topLayout->setMargin(marginHint()); 120 topLayout->setMargin(marginHint());
121 topLayout->setSpacing(spacingHint()); 121 topLayout->setSpacing(spacingHint());
122 } 122 }
123 topLayout->addStretch( 1 );
123 mGeneral->initHeader(topFrame,topLayout); 124 mGeneral->initHeader(topFrame,topLayout);
125 topLayout->addStretch( 1 );
124 mGeneral->initTime(topFrame,topLayout); 126 mGeneral->initTime(topFrame,topLayout);
127 topLayout->addStretch( 1 );
125 mGeneral->initAlarm(topFrame,topLayout); 128 mGeneral->initAlarm(topFrame,topLayout);
129 topLayout->addStretch( 1 );
126 mGeneral->enableAlarm( false ); 130 mGeneral->enableAlarm( false );
127 131
128 132
129 QBoxLayout *priorityLayout; 133 QBoxLayout *priorityLayout;
130 if ( QApplication::desktop()->width() < 500 ) 134 if ( QApplication::desktop()->width() < 500 )
131 priorityLayout = new QVBoxLayout( topLayout ); 135 priorityLayout = new QVBoxLayout( topLayout );
132 else 136 else
133 priorityLayout = new QHBoxLayout( topLayout ); 137 priorityLayout = new QHBoxLayout( topLayout );
134 QWidget* prioWidget = new QWidget (topFrame); 138 QWidget* prioWidget = new QWidget (topFrame);
135 priorityLayout->addWidget( prioWidget ); 139 priorityLayout->addWidget( prioWidget );
136 QHBoxLayout* priorityLayout2 = new QHBoxLayout( prioWidget); 140 QHBoxLayout* priorityLayout2 = new QHBoxLayout( prioWidget);
137 141
138 142
139 QIconSet icon; 143 QIconSet icon;
140 if ( QApplication::desktop()->width() < 321 ) 144 if ( QApplication::desktop()->width() < 321 )
141 icon = SmallIcon("fileimport16"); 145 icon = SmallIcon("fileimport16");
142 else 146 else
143 icon = SmallIcon("fileimport"); 147 icon = SmallIcon("fileimport");
144 QPushButton * loadTemplate = new QPushButton( prioWidget); 148 QPushButton * loadTemplate = new QPushButton( prioWidget);
145 loadTemplate->setIconSet (icon ) ; 149 loadTemplate->setIconSet (icon ) ;
146 int size = loadTemplate->sizeHint().height(); 150 int size = loadTemplate->sizeHint().height();
147 loadTemplate->setFixedSize( size, size ); 151 loadTemplate->setFixedSize( size, size );
148 if ( QApplication::desktop()->width() < 321 ) 152 if ( QApplication::desktop()->width() < 321 )
149 icon = SmallIcon("fileexport16"); 153 icon = SmallIcon("fileexport16");
150 else 154 else
151 icon = SmallIcon("fileexport"); 155 icon = SmallIcon("fileexport");
152 QPushButton * saveTemplate = new QPushButton( prioWidget); 156 QPushButton * saveTemplate = new QPushButton( prioWidget);
153 saveTemplate->setIconSet (icon ) ; 157 saveTemplate->setIconSet (icon ) ;
154 saveTemplate->setFixedSize( size, size ); 158 saveTemplate->setFixedSize( size, size );
155 159
156 priorityLayout2->addWidget(loadTemplate); 160 priorityLayout2->addWidget(loadTemplate);
157 priorityLayout2->addWidget(saveTemplate); 161 priorityLayout2->addWidget(saveTemplate);