-rw-r--r-- | bin/kdepim/SyncHowto.txt | 2 | ||||
-rw-r--r-- | bin/kdepim/WhatsNew.txt | 10 | ||||
-rw-r--r-- | kalarmd/simplealarmdaemonapplet.cpp | 9 | ||||
-rw-r--r-- | korganizer/kotodoview.cpp | 6 | ||||
-rw-r--r-- | korganizer/mainwindow.cpp | 43 | ||||
-rw-r--r-- | korganizer/mainwindow.h | 1 | ||||
-rw-r--r-- | microkde/kapplication.cpp | 4 |
7 files changed, 33 insertions, 42 deletions
diff --git a/bin/kdepim/SyncHowto.txt b/bin/kdepim/SyncHowto.txt index 5874fc3..6c1da16 100644 --- a/bin/kdepim/SyncHowto.txt +++ b/bin/kdepim/SyncHowto.txt @@ -1,14 +1,14 @@ WARNING: -YOU MAY GET UNEXSPECTED (I.E. WRONG) SYNCHRONIZATION RESULTS, +YOU MAY GET UNEXPECTED (I.E. WRONG) SYNCHRONIZATION RESULTS, IF YOU CHANGE AN EVENT ON THE FIRST DEVICE AND SYNC IMMEDIATELY FROM THE OTHER DEVICE WITH THIS DEVICE, IF THE CLOCKS OF THE TWO DEVICES HAVE TOO MUCH DIFFERENCE. In other words: Please make sure, that the clocks of the devices you want to sync have only a difference of some seconds! CONTENT: 0) How syncing works 1) Qick overview of settings diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt index 1a8b885..df0b2eb 100644 --- a/bin/kdepim/WhatsNew.txt +++ b/bin/kdepim/WhatsNew.txt @@ -1,42 +1,50 @@ Info about the changes in new versions of KDE-Pim/Pi ********** VERSION 1.9.16 ************ KO/Pi: Fixed search dialog size on Z 6000 (480x640 display). Added setting to hide/show time in agenda items. Added setting to hide not running todos in todo view. Added columns for start date/time in todo view. Replaced the solid half-hour lines in agenda view by dot lines. +Fixed some minor problems. (Like word wrap in help text windows). + +Fixed a strange problem in KO/Pi alarm applet. +Did not find the actual problem, +such that now Qtopia reboots if deinstalling the alarm applet. +But the alarm applet should work again. + ********** VERSION 1.9.15 ************ Usebilty enhancements in KO/Pi: When clicking on the date in a month view cell, the day view is shown. Old behaviour was, that the "new event" dialog popped up. Added a one step "undo delete" in KO/Pi (Accessable in the "Action" menu). That means, you can restore the latest event/todo/journal you have deleted. A journal is deleted, if you clear all the text of the journal. Fixed the bug of the editor dialogs in KO/Pi of version 1.9.14. KA/Pi starting in 480x640 resolution: Hide the filter action in toolbar and added icons for undo/delete/redo in toolbar. Change in OM/Pi ViewMail dialog: -When clicking on the "delete" icon the mail is deleted after confirmation as usual. But the edit dialog is not closed as before, now the next mail in the folder is shown automatically (if there is any). +When clicking on the "delete" icon the mail is deleted after confirmation as usual. +But the edit dialog is not closed as before, now the next mail in the folder is shown automatically (if there is any). Fixed a crash when deleting mail-accounts in OM/Pi. ********** VERSION 1.9.14 ************ Fixed some problems with the dialog sizes when switching portrait/landscape mode on 640x480 PDA display. Fixed some other small bugs in KA/Pi KO/Pi and OM/Pi and PwM/Pi. Fixed an ugly bug in KOpieMail: diff --git a/kalarmd/simplealarmdaemonapplet.cpp b/kalarmd/simplealarmdaemonapplet.cpp index 38a744f..3277036 100644 --- a/kalarmd/simplealarmdaemonapplet.cpp +++ b/kalarmd/simplealarmdaemonapplet.cpp @@ -5,25 +5,25 @@ #include <qcopchannel_qws.h> #include <qlabel.h> #include <qapp.h> #include <qpe/resource.h> SimpleAlarmDaemonApplet::SimpleAlarmDaemonApplet() : mApplet( 0 ), ref( 0 ) { } SimpleAlarmDaemonApplet::~SimpleAlarmDaemonApplet() { - delete mApplet; + //delete mApplet; mApplet = 0; } QWidget *SimpleAlarmDaemonApplet::applet( QWidget *parent ) { if ( !mApplet ) { mApplet = new SimpleAlarmDaemonImpl( parent ); if ( QApplication::desktop()->width() < 480 ) mApplet->setPixmap( Resource::loadPixmap( "ko16" ) ); else mApplet->setPixmap( Resource::loadPixmap( "ko24" ) ); @@ -32,28 +32,29 @@ QWidget *SimpleAlarmDaemonApplet::applet( QWidget *parent ) mApplet->show(); } return mApplet; } int SimpleAlarmDaemonApplet::position() const { return 7; } QRESULT SimpleAlarmDaemonApplet::queryInterface( const QUuid &uuid, QUnknownInterface **iface ) { + // qDebug(" SimpleAlarmDaemonApplet::queryInterface "); *iface = 0; if ( uuid == IID_QUnknown ) *iface = this; else if ( uuid == IID_TaskbarApplet ) *iface = this; + if ( *iface ) { - //(*iface)->addRef(); + (*iface)->addRef(); return QS_OK; } - return QE_NOCOMPONENT; + return QE_NOINTERFACE; } - Q_EXPORT_INTERFACE() { Q_CREATE_INSTANCE( SimpleAlarmDaemonApplet ) } diff --git a/korganizer/kotodoview.cpp b/korganizer/kotodoview.cpp index 5d7b066..97b4a03 100644 --- a/korganizer/kotodoview.cpp +++ b/korganizer/kotodoview.cpp @@ -1069,25 +1069,29 @@ void KOTodoView::keyPressEvent ( QKeyEvent * e ) case Qt::Key_Q: toggleQuickTodo(); break; case Qt::Key_U: if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) { mActiveItem = (KOTodoViewItem*)mTodoListView->currentItem(); unparentTodo(); e->accept(); } else e->ignore(); break; case Qt::Key_S: - if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) { + if ( e->state() == Qt::ControlButton ) { + e->ignore(); + break; + } + if ( e->state() == Qt::ShiftButton ) { mActiveItem = (KOTodoViewItem*)mTodoListView->currentItem(); reparentTodo(); e->accept(); } else e->ignore(); break; case Qt::Key_P: if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) { mActiveItem = (KOTodoViewItem*)mTodoListView->currentItem(); if ( pendingSubtodo ) itemClicked(mActiveItem); e->accept(); diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp index a652c05..6bc5b3a 100644 --- a/korganizer/mainwindow.cpp +++ b/korganizer/mainwindow.cpp @@ -549,26 +549,24 @@ void MainWindow::initActions() QAction *action; QIconSet icon; // QPopupMenu *configureMenu= new QPopupMenu( menuBar ); configureToolBarMenu->setCheckable( true ); QString pathString = ""; if ( !p->mToolBarMiniIcons ) { if ( QApplication::desktop()->width() < 480 ) pathString += "icons16/"; } else pathString += "iconsmini/"; configureAgendaMenu->setCheckable( true ); - configureAgendaMenu->insertItem(i18n("Toggle Allday"), 1 ); - configureAgendaMenu->insertSeparator(); configureAgendaMenu->insertItem(i18n("Tiny"), 4 ); configureAgendaMenu->insertItem(i18n("Small"), 6 ); configureAgendaMenu->insertItem(i18n("Medium"), 8 ); configureAgendaMenu->insertItem(i18n("Normal"), 10 ); configureAgendaMenu->insertItem(i18n("Large"), 12 ); configureAgendaMenu->insertItem(i18n("Big"), 14 ); configureAgendaMenu->insertItem(i18n("Bigger"), 16 ); configureAgendaMenu->insertItem(i18n("Biggest"), 18 ); //configureMenu->insertItem( "AgendaSize",configureAgendaMenu ); icon = loadPixmap( pathString + "configure" ); action = new QAction( i18n("Configure"),icon, i18n("Configure..."), 0, this ); @@ -598,25 +596,28 @@ void MainWindow::initActions() connect( nt_action, SIGNAL( activated() ), mView, SLOT( newTodo() ) ); icon = loadPixmap( pathString + "navi" ); action = new QAction( i18n("Toggle DateNavigator"), icon, i18n("Toggle DateNavigator"), 0, this ); action->addTo( viewMenu ); connect( action, SIGNAL( activated() ), mView, SLOT( toggleDateNavigatorWidget() ) ); icon = loadPixmap( pathString + "filter" ); action = new QAction( i18n("Toggle FilterView"), icon, i18n("Toggle FilterView"), 0, this ); action->addTo( viewMenu ); connect( action, SIGNAL( activated() ), mView, SLOT( toggleFilter() ) ); - + action = new QAction( i18n("Toggle Allday"), i18n("Toggle Allday"), 0, this ); + action->addTo( viewMenu ); + connect( action, SIGNAL( activated() ), + mView, SLOT( toggleAllDaySize() ) ); viewMenu->insertSeparator(); icon = loadPixmap( pathString + "picker" ); action = new QAction( i18n("Date Picker"), icon, i18n("Date Picker"), 0, this ); action->addTo( viewMenu ); connect( action, SIGNAL( activated() ), mView, SLOT( showDatePicker() ) ); action->addTo( iconToolBar ); viewMenu->insertSeparator(); icon = loadPixmap( pathString + "list" ); configureToolBarMenu->insertItem(icon, i18n("List View"), 30 ); QAction* showlist_action = new QAction( i18n("List View"), icon, i18n("List View"), 0, this ); @@ -1129,65 +1130,52 @@ void MainWindow::displayText( QString text ,QString cap ) lay->setSpacing( 3 ); lay->setMargin( 3 ); QTextBrowser tb ( &dia ); lay->addWidget( &tb ); tb.setText( text ); #ifdef DESKTOP_VERSION dia.resize( 640, 480); #else dia.showMaximized(); #endif dia.exec(); } -void MainWindow::displayFile( QString fn, QString cap ) -{ - QString fileName = resourcePath() + fn; - QString text; - QFile file( fileName ); - if (!file.open( IO_ReadOnly ) ) { - return ; - } - QTextStream ts( &file ); - text = ts.read(); - file.close(); - displayText( text, cap); -} void MainWindow::features() { - displayFile( "featuresKOPI.txt",i18n("KO/Pi Features and hints") ); + KApplication::showFile( i18n("KO/Pi Features and hints"), "kdepim/korganizer/featuresKOPI.txt" ); } void MainWindow::usertrans() { - displayFile( "usertranslationHOWTO.txt",i18n("KO/Pi User translation HowTo") ); + KApplication::showFile( i18n("KO/Pi User translation HowTo"), "kdepim/korganizer/usertranslationHOWTO.txt" ); } void MainWindow::kdesynchowto() { KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/Zaurus-KDE_syncHowTo.txt" ); } void MainWindow::multisynchowto() { KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/MultiSyncHowTo.txt" ); } void MainWindow::synchowto() { KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/SyncHowto.txt" ); } void MainWindow::faq() { - displayFile( "kopiFAQ.txt",i18n("KO/Pi FAQ") ); + KApplication::showFile( i18n("KO/Pi FAQ"), "kdepim/korganizer/kopiFAQ.txt" ); } void MainWindow::whatsNew() { KApplication::showFile( "KDE-Pim/Pi Version Info", "kdepim/WhatsNew.txt" ); } void MainWindow::licence() { KApplication::showLicence(); } @@ -1199,25 +1187,25 @@ void MainWindow::about() i18n("KOrganizer/Platform-independent\n") + "(KO/Pi) " + version + " - " + #ifdef DESKTOP_VERSION i18n("Desktop Edition\n") + #else i18n("PDA-Edition\nfor: Zaurus 5x00 / 7x0 / 8x0\n") + #endif i18n("(c) 2004 Lutz Rogowski\nEmail:lutz@pi-sync.net\nKO/Pi is based on KOrganizer\n(c) 2002,2003 Cornelius Schumacher\nEmail: schumacher@kde.org\nKOrganizer/Pi is licensed\nunder the GPL.\nKO/Pi can be compiled for\nLinux, Zaurus-PDA and Windows\nwww.korganizer.org\nwww.pi-sync.net\n") ); } void MainWindow::keyBindings() { - QString cap = i18n("Key bindings KOrganizer/Pi"); + QString cap = i18n("KO/Pi Keys + Colors"); QString text = i18n("<p><h2>KO/Pi key shortcuts:</h2></p>\n") + i18n("<p><b>H</b>: This help dialog | <b>S</b>: Search dialog</p>\n")+ i18n("<p><b>I</b>: Show info for selected event/todo</p>\n") + i18n("<p><b>Space</b>: Toggle fullscreen | <b>P</b>: Date picker</p>\n")+ i18n("<p><b>F</b>: Toggle filterview |<b>F+ctrl</b>: Edit filter </p>\n")+ i18n("<p><b>O</b>: Filter On/Off | <b>J</b>: Journal view</p>\n")+ i18n("<p><b>1-0</b> (+<b>ctrl</b>): Select filter 1-10 (11-20)</p>\n")+ i18n("<p><b>N</b>: Next days view| <b>W</b>: What's next view\n ")+ i18n("<p><b>V</b>: Todo view | <b>L</b>: Event list view</p>\n")+ i18n("<p><b>Z,Y</b>: Work week view | <b>U</b>: Week view</p>\n")+ i18n("<p><b>D</b>: One day view | <b>M</b>: Month view</p>\n")+ i18n("<p><b>E</b>: Edit selected item |<b> E+ctrl</b>: New Event</p>\n")+ @@ -1252,37 +1240,30 @@ void MainWindow::keyBindings() i18n("<p><b>A</b>: Show agenda view.</p>\n")+ i18n("<p><b>E</b>: Edit item</p>\n") + i18n("<p><h2>KO/Pi icon colors:</h2></p>\n") + i18n("<p><b>(for square icons in agenda and month view)</b></p>\n") + i18n("<p><b>Cross</b>: Item cancelled.([c] in Whats'Next view)</p>\n")+ i18n("<p><b>Red</b>: Alarm set.([a] in Whats'Next view)</p>\n")+ i18n("<p><b>Blue</b>: Recurrent event.([r] in Whats'Next view)</p>\n")+ i18n("<p><b>Dark green</b>: Information(description) available.([i] in WN view)</p>\n")+ i18n("<p><b>Black</b>: Event/todo with attendees. You are the organizer!</p>\n")+ i18n("<p><b>Dark yellow</b>: Event/todo with attendees.</p>\n") + i18n("<p><b>White</b>: Item readonly</p>\n"); displayText( text, cap); - } void MainWindow::aboutAutoSaving() { - QMessageBox* msg; - msg = new QMessageBox( i18n("Auto Saving in KOrganizer/Pi"), - i18n("After changing something, the data is\nautomatically saved to the file\n~/kdepim/apps/korganizer/mycalendar.ics\nafter (configureable) three minutes.\nFor safety reasons there is one autosaving\nafter 10 minutes (of idle time) again. The \ndata is saved automatically when closing KO/Pi\nYou can create a backup file \nwith: File - Save Calendar Backup\n"), QMessageBox::NoIcon, - QMessageBox::Ok, - QMessageBox::NoButton, - QMessageBox::NoButton); - msg->exec(); - delete msg; + QString text = i18n("After changing something, the data is\nautomatically saved to the file\n~/kdepim/apps/korganizer/mycalendar.ics\nafter (configureable) three minutes.\nFor safety reasons there is one autosaving\nafter 10 minutes (of idle time) again. The \ndata is saved automatically when closing KO/Pi\nYou can create a backup file \nwith: File - Save Calendar Backup\n"); + KApplication::showText( i18n("Auto Saving in KOrganizer/Pi"), text); } void MainWindow::aboutKnownBugs() { QMessageBox* msg; msg = new QMessageBox( i18n("Known Problems in KOrganizer/Pi"), i18n("1) Importing *.vcs or *.ics files from\nother applications may not work properly,\nif there are events with properties\nKO/Pi does not support.\n")+ i18n("2) Audio alarm daemon\nfor Zaurus is available!\nas an additional small application\n")+ i18n("\nPlease report unexpected behaviour to\nlutz@pi-sync.net\n") + i18n("\nor report them in the bugtracker on\n") + i18n("\nhttp://sourceforge.net/projects/kdepimpi\n"), QMessageBox::NoIcon, @@ -1717,28 +1698,24 @@ void MainWindow::setCaptionToDates() if (mView->startDate() < mView->endDate() ) selDates += " - " + KGlobal::locale()->formatDate(mView->endDate(), true); setCaption( i18n("Dates: ") + selDates ); } // parameter item == 0: reinit void MainWindow::configureAgenda( int item ) { KOPrefs *p = KOPrefs::instance(); int i; - if ( item == 1 ) { - mView->toggleAllDaySize(); - return; - } // do not allow 4 for widgets higher than 480 // if ( QApplication::desktop()->height() > 480 ) { // if ( item == 4 ) // item = 6; // } for ( i = 4; i <= 18; i= i+2 ) configureAgendaMenu->setItemChecked( i, false ); configureAgendaMenu->setItemChecked( item, true ); if ( p->mHourSize == item ) return; p->mHourSize=item; mView->viewManager()->agendaView()->updateConfig(); diff --git a/korganizer/mainwindow.h b/korganizer/mainwindow.h index ed65d36..96e627e 100644 --- a/korganizer/mainwindow.h +++ b/korganizer/mainwindow.h @@ -78,25 +78,24 @@ class MainWindow : public QMainWindow void saveCalendar(); void loadCalendar(); void exportVCalendar(); void fillFilterMenu(); void selectFilter( int ); void exportToPhone( int ); void toggleBeamReceive(); void disableBR(bool); protected: void displayText( QString, QString); - void displayFile( QString, QString); void enableIncidenceActions( bool ); private slots: QSocket* piSocket; QString piFileString; QTime piTime; void getFile( bool ); void syncFileRequest(); private: bool mBRdisabled; #ifndef DESKTOP_VERSION diff --git a/microkde/kapplication.cpp b/microkde/kapplication.cpp index d6f556d..21aa0a4 100644 --- a/microkde/kapplication.cpp +++ b/microkde/kapplication.cpp @@ -1,16 +1,17 @@ #include <stdlib.h> #include <stdio.h> #include "kapplication.h" +#include "ktextedit.h" #include <qapplication.h> #include <qstring.h> #include <qfile.h> #include <qtextstream.h> #include <qdialog.h> #include <qlayout.h> #include <qtextbrowser.h> int KApplication::random() { return rand(); } @@ -86,23 +87,24 @@ bool KApplication::convert2latin1(QString fileName) tsIn << text.latin1(); file.close(); } void KApplication::showText(QString caption, QString text) { QDialog dia( 0, "name", true ); ; dia.setCaption( caption ); QVBoxLayout* lay = new QVBoxLayout( &dia ); lay->setSpacing( 3 ); lay->setMargin( 3 ); - QTextBrowser tb ( &dia ); + KTextEdit tb ( &dia ); + tb.setWordWrap( QMultiLineEdit::WidgetWidth ); lay->addWidget( &tb ); tb.setText( text ); #ifdef DESKTOP_VERSION dia.resize( 640, 480); #else dia.showMaximized(); #endif dia.exec(); } |