summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--bin/kdepim/WhatsNew.txt6
-rw-r--r--kabc/addresseedialog.cpp9
2 files changed, 8 insertions, 7 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt
index e0bd3f3..eaf4b56 100644
--- a/bin/kdepim/WhatsNew.txt
+++ b/bin/kdepim/WhatsNew.txt
@@ -1,53 +1,59 @@
Info about the changes in new versions of KDE-Pim/Pi
********** VERSION 2.1.8 ************
+KO/Pi:
+Added info about the completion sate of a todo in the ListView/Searchdialog.
+If in TodoView is selected "do not show compledted todos" then completed todos are not shown in the ListView as well.
+
+KA/Pi:
+In the addressee selection dialog now the formatted name is shown, if not empty.
********** VERSION 2.1.7 ************
KO/Pi:
Fixed several problems in the new Resource handling.
Added more options to the search dialog.
Fixed a problem in the Month view.
Added more options to the dialog when setting a todo to stopped.
Fixed two small problems in KO/PiAlarm applet.
********** VERSION 2.1.6 ************
This release is for testing only.
KO/Pi:
Added to the list view (the list view is used in search dialog as well) the possibility to print it.
Added to the list view the possibility to hide entries, if you do not want to print all entries of the list view.
Added to the list view the possibility to add all subtodos of selected todos to an export/beam.
Added to the search dialog the possibility to make an additive search such that you can get a better list for export/printout.
Added to the search dialog the possibility to hide the checkboxes such that there is more space for the list view on the Zaurus.
Fixed a problem in the AlarmTimer Applet: Now utf8 messages are displayed properly.
Added support for multiple calendar files in KO/Pi. Only local ical (*.ics) files are supported as calendars.
In the sync profile config it is still missing to specify a particular calendar to sync with this profile. That setting will be added later.
Now on every sync the set of calendars is synced which are enabled in the resource view.
A calendar is enabled in the resource view if the "eye" column is checked.
You can set a calendar to be the default for new items( "+" column ).
You can tell KO/Pi to ignore all alarm of a calendar ( "bell" column ) and you can set it readonly.
To find out how to add a new calendar and how to remove a calendar is left as an exercise to the reader ...
********** VERSION 2.1.5 ************
This is the new stable version.
Bugfix:
Fixed a problem with agenda popup on the desktop in KO/Pi.
Fixed a crash when reloading file, e.g. after a passive pi-sync synchronization.
Added config option to not display completed todos in agenda view.
Addressee view is now using the formatted name, if defined.
That makes it possible to display "lastname, firstname" in that view now.
To set the formatted name for all contacts, please use menu:
Edit->Change->Set formatted name.
Fixed the bug in KA/Pi that is was not possible to add images to a contact on Windows.
********** VERSION 2.1.4 ************
diff --git a/kabc/addresseedialog.cpp b/kabc/addresseedialog.cpp
index 19b52bb..e89584d 100644
--- a/kabc/addresseedialog.cpp
+++ b/kabc/addresseedialog.cpp
@@ -1,96 +1,93 @@
/*
This file is part of libkabc.
Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <qlayout.h>
#include <qpushbutton.h>
#include <qgroupbox.h>
#include <qapplication.h>
#include <qregexp.h>
#include <qvbox.h>
#include <qlabel.h>
#include <klocale.h>
#include <kdebug.h>
#include <kglobalsettings.h>
#include "stdaddressbook.h"
#include "addresseedialog.h"
#include "KDGanttMinimizeSplitter.h"
//#include "addresseedialog.moc"
using namespace KABC;
AddresseeItem::AddresseeItem( QListView *parent, const Addressee &addressee ) :
QListViewItem( parent ),
mAddressee( addressee )
{
- QString name = addressee.familyName()+", "+ addressee.givenName();
- if ( name.length() == 2 )
- name = addressee.organization();
- setText( Name,name);
+ setText( Name,addressee.realName());
setText( Email, addressee.preferredEmail() );
}
QString AddresseeItem::key( int column, bool ) const
{
if (column == Email) {
QString value = text(Email);
int val = value.findRev("@");
return value.mid( val) + value.left( val );
}
return text(column).lower();
}
AddresseeDialog::AddresseeDialog( QWidget *parent, bool multiple ) :
KDialogBase( KDialogBase::Plain, i18n("Select Addressee"),
Ok|Cancel, No, parent ), mMultiple( multiple )
{
qDebug("NEW AddresseeDialog ");
QWidget *topWidget = plainPage();
QBoxLayout *topLayout = new QHBoxLayout( topWidget );
KDGanttMinimizeSplitter* mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, topWidget);
mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right );
topLayout->addWidget(mMiniSplitter );
QWidget *listWidget = new QWidget( mMiniSplitter );
QBoxLayout *listLayout = new QVBoxLayout (listWidget) ;
//topLayout->addLayout( listLayout );
mAddresseeList = new KListView( listWidget );
mAddresseeList->addColumn( i18n("Name") );
mAddresseeList->addColumn( i18n("Email") );
mAddresseeList->setAllColumnsShowFocus( true );
mAddresseeList->setFullWidth( true );
listLayout->addWidget( mAddresseeList );
connect( mAddresseeList, SIGNAL( doubleClicked( QListViewItem * ) ),
SLOT( slotOk() ) );
mAddresseeEdit = new QLineEdit( listWidget );
connect( mAddresseeEdit, SIGNAL( returnPressed() ),
SLOT( loadAddressBook() ) );
mAddresseeEdit->setFocus();
@@ -120,99 +117,97 @@ AddresseeDialog::AddresseeDialog( QWidget *parent, bool multiple ) :
SLOT( addSelected( QListViewItem * ) ) );
connect( mAddresseeList, SIGNAL( returnPressed( QListViewItem * ) ),
SLOT( selectNextItem( QListViewItem * ) ) );
}
mAddressBook = StdAddressBook::self( true );
connect( mAddressBook, SIGNAL( addressBookChanged( AddressBook* ) ),
SLOT( addressBookChanged() ) );
#if 0
connect( mAddressBook, SIGNAL( loadingFinished( Resource* ) ),
SLOT( addressBookChanged() ) );
#endif
loadAddressBook();
QValueList<int> splitterSize;
splitterSize.append( ( width() / 5 ) * 3 );
splitterSize.append( ( width() / 5 ) *2 );
mMiniSplitter->setSizes( splitterSize );
}
AddresseeDialog::~AddresseeDialog()
{
qDebug("DELETE AddresseeDialog ");
}
void AddresseeDialog::loadAddressBook()
{
mAddresseeList->clear();
mItemDict.clear();
if ( mAddresseeEdit->text().isEmpty() ) {
AddressBook::Iterator it;
for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
if ( (*it).uid().left(2) == "la" && (*it).uid().left(19) == QString("last-syncAddressee-") )
continue;
new AddresseeItem( mAddresseeList, (*it) );
}
return;
}
//mAddresseeEdit->completionObject()->clear();
QRegExp re;
re.setWildcard(true); // most people understand these better.
re.setCaseSensitive(false);
re.setPattern( "*"+ mAddresseeEdit->text() + "*");
AddressBook::Iterator it;
for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
if ( (*it).uid().left(2) == "la" && (*it).uid().left(19) == QString("last-syncAddressee-") )
continue;
- QString name = (*it).familyName()+", "+ (*it).givenName();
- if ( name.length() == 2 )
- name = (*it).realName();
+ QString name = (*it).realName();
name += (*it).preferredEmail();
#if QT_VERSION >= 0x030000
if (re.search(name) != -1)
#else
if (re.match(name) != -1)
#endif
AddresseeItem *item = new AddresseeItem( mAddresseeList, (*it) );
}
}
void AddresseeDialog::addCompletionItem( const QString &str, QListViewItem *item )
{
if ( str.isEmpty() ) return;
mItemDict.insert( str, item );
//mAddresseeEdit->completionObject()->addItem( str );
}
void AddresseeDialog::selectItem( const QString &str )
{
if ( str.isEmpty() ) return;
QListViewItem *item = mItemDict.find( str );
if ( item ) {
mAddresseeList->blockSignals( true );
mAddresseeList->setSelected( item, true );
mAddresseeList->ensureItemVisible( item );
mAddresseeList->blockSignals( false );
}
}
void AddresseeDialog::updateEdit( QListViewItem *item )
{
mAddresseeEdit->setText( item->text( 0 ) );
mAddresseeEdit->setSelection( 0, item->text( 0 ).length() );
}
void AddresseeDialog::selectNextItem( QListViewItem *item )
{
addSelected( item );
QListViewItem *next = item->nextSibling();
if ( next ) {
next->setSelected( true );
item->setSelected( false );
mAddresseeList->setCurrentItem( next );
}
}
void AddresseeDialog::addSelected( QListViewItem *item )