-rw-r--r-- | core/pim/addressbook/addressbook.cpp | 2 | ||||
-rw-r--r-- | core/pim/addressbook/contacteditor.cpp | 12 | ||||
-rw-r--r-- | core/pim/todo/todotable.h | 11 |
3 files changed, 14 insertions, 11 deletions
diff --git a/core/pim/addressbook/addressbook.cpp b/core/pim/addressbook/addressbook.cpp index e11cf4c..3255269 100644 --- a/core/pim/addressbook/addressbook.cpp +++ b/core/pim/addressbook/addressbook.cpp @@ -500,65 +500,65 @@ static void parseName( const QString& name, QString *first, QString *middle, rest = name.left( space ); } int space = rest.find( ' ' ); if ( space <= 0 ) { *first = rest; } else { *first = rest.left( space ); *middle = rest.mid( space+1 ); } } void AddressbookWindow::appMessage(const QCString &msg, const QByteArray &data) { if (msg == "editPersonal()") { editPersonal(); } else if (msg == "editPersonalAndClose()") { editPersonal(); close(); } else if ( msg == "addContact(QString,QString)" ) { QDataStream stream(data,IO_ReadOnly); QString name, email; stream >> name >> email; Contact cnt; QString fn, mn, ln; parseName( name, &fn, &mn, &ln ); // qDebug( " %s - %s - %s", fn.latin1(), mn.latin1(), ln.latin1() ); cnt.setFirstName( fn ); cnt.setMiddleName( mn ); cnt.setLastName( ln ); - cnt.setEmails( email ); + cnt.insertEmails( email ); cnt.setDefaultEmail( email ); cnt.setFileAs(); if ( bAbEditFirstTime ) { abEditor = new ContactEditor( cnt, &orderedFields, &slOrderedFields, this, "editor" ); bAbEditFirstTime = FALSE; } else { abEditor->setEntry( cnt ); } abView()->init( cnt ); editEntry( NewEntry ); } #if 0 else if (msg == "pickAddresses(QCString,QCString,QStringList,...)" ) { QDataStream stream(data,IO_ReadOnly); QCString ch,m; QStringList types; stream >> ch >> m >> types; AddressPicker picker(abList,this,0,TRUE); picker.showMaximized(); picker.setChoiceNames(types); int i=0; for (QStringList::ConstIterator it = types.begin(); it!=types.end(); ++it) { QStringList sel; stream >> sel; picker.setSelection(i++,sel); } picker.showMaximized(); diff --git a/core/pim/addressbook/contacteditor.cpp b/core/pim/addressbook/contacteditor.cpp index 39bd63c..ae86ed0 100644 --- a/core/pim/addressbook/contacteditor.cpp +++ b/core/pim/addressbook/contacteditor.cpp @@ -82,65 +82,65 @@ void ContactEditor::init() { slDynamicEntries = new QStringList; */ //*slDynamicEntries = *slOrdered; for (i = 0; i <= 6; i++) { slHomeAddress.append( "" ); slBusinessAddress.append( "" ); } { hasGender = FALSE; hasTitle = FALSE; hasCompany = FALSE; hasNotes = FALSE; hasStreet = FALSE; hasStreet2 = FALSE; hasPOBox = FALSE; hasCity = FALSE; hasState = FALSE; hasZip = FALSE; hasCountry = FALSE; QStringList::ConstIterator it = slOrdered.begin(); for ( i = 0; it != slOrdered.end(); i++, ++it ) { if ( (*it) == tr( "Business Fax" ) ) { slChooserNames.append( *it ); slChooserValues.append("" ); //slDynamicEntries->remove( it ); continue; } - + if ( (*it) == tr( "Home Fax" ) ) { slChooserNames.append( *it ); slChooserValues.append("" ); //slDynamicEntries->remove( it ); continue; } if ( (*it) == tr( "Business Phone" ) ) { slChooserNames.append( *it ); slChooserValues.append( "" ); //slDynamicEntries->remove( it ); continue; } if ( (*it) == tr( "Home Phone" ) ) { slChooserNames.append( *it ); slChooserValues.append( "" ); //slDynamicEntries->remove( it ); continue; } /* if ( (*it).right( 2 ) == tr( "IM" ) ) { slChooserNames.append( *it ); slChooserValues.append( "" ); //slDynamicEntries->remove( it ); continue; } */ if ( (*it) == tr( "Business Mobile" ) ) { slChooserNames.append( *it ); @@ -162,65 +162,65 @@ void ContactEditor::init() { slChooserValues.append( "" ); //slDynamicEntries->remove( it ); continue; } if ( (*it) == tr( "Home Web Page" ) ) { slChooserNames.append( *it ); slChooserValues.append( "" ); //slDynamicEntries->remove( it ); continue; } if ( (*it) == tr( "Business Pager" ) ) { slChooserNames.append( *it ); slChooserValues.append( "" ); //slDynamicEntries->remove( it ); continue; } if ( *it == tr( "Default Email" ) ) { slChooserNames.append( *it ); slChooserValues.append( "" ); //slDynamicEntries->remove( it ); continue; } if ( *it == tr( "Emails" ) ) { slChooserNames.append( *it ); slChooserValues.append( "" ); //slDynamicEntries->remove( it ); continue; } - + if ( *it == "Name Title" || *it == "First Name" || *it == "Middle Name" || *it == "Last Name" || *it == "File As" || *it == "Default Email" || *it == "Emails" || *it == "Groups" ) continue; if ( *it == tr( "Name Title" ) ) { //slDynamicEntries->remove( it ); continue; } if ( *it == tr( "First Name" ) ) { // slDynamicEntries->remove( it ); continue; } if ( *it == tr( "Middle Name" ) ) { // slDynamicEntries->remove( it ); continue; } if ( *it == tr( "Last Name" ) ) { // slDynamicEntries->remove( it ); continue; } if ( *it == tr( "Suffix" ) ) { // slDynamicEntries->remove( it ); continue; } if ( *it == tr( "File As" ) ) { // slDynamicEntries->remove( it ); continue; } @@ -241,65 +241,65 @@ void ContactEditor::init() { hasCompany = TRUE; // slDynamicEntries->remove( it ); continue; } if ( *it == tr( "Notes" ) ) { hasNotes = TRUE; // slDynamicEntries->remove( it ); continue; } if ( *it == tr( "Groups" ) ) { // slDynamicEntries->remove( it ); continue; } if ( (*it) == tr( "Business Street" ) ) { hasStreet = TRUE; // slDynamicEntries->remove( it ); continue; } if ( (*it) == tr( "Home Street" ) ) { hasStreet = TRUE; // slDynamicEntries->remove( it ); continue; } /* if ( (*it).right( 8 ) == tr( "Street 2" ) ) { hasStreet2 = TRUE; // slDynamicEntries->remove( it ); continue; - } + } if ( (*it).right( 8 ) == tr( "P.O. Box" ) ) { hasPOBox = TRUE; // slDynamicEntries->remove( it ); continue; } */ if ( (*it) == tr( "Business City" ) ) { hasCity = TRUE; // slDynamicEntries->remove( it ); continue; } if ( (*it) == tr( "Business State" ) ) { hasState = TRUE; // slDynamicEntries->remove( it ); continue; } if ( (*it) == tr( "Business Zip" ) ) { hasZip = TRUE; // slDynamicEntries->remove( it ); continue; } if ( (*it) == tr( "Business Country" ) ) { hasCountry = TRUE; // slDynamicEntries->remove( it ); continue; } if ( (*it) == tr( "Home City" ) ) { @@ -1005,65 +1005,65 @@ void ContactEditor::loadFields() { void ContactEditor::accept() { if ( isEmpty() ) { cleanupFields(); reject(); } else { saveEntry(); cleanupFields(); QDialog::accept(); } } void ContactEditor::slotNote() { dlgNote->showMaximized(); if ( !dlgNote->exec() ) { txtNote->setText( ent.notes() ); } } void ContactEditor::slotName() { QString tmpName; if (useFullName == TRUE) { txtFirstName->setText( parseName(txtFullName->text(), NAME_F) ); txtMiddleName->setText( parseName(txtFullName->text(), NAME_M) ); txtLastName->setText( parseName(txtFullName->text(), NAME_L) ); txtSuffix->setText( parseName(txtFullName->text(), NAME_S) ); } dlgName->showMaximized(); if ( dlgName->exec() ) { - + tmpName = txtFirstName->text() + " " + txtMiddleName->text() + " " + txtLastName->text() + " " + txtSuffix->text(); txtFullName->setText( tmpName.simplifyWhiteSpace() ); slotFullNameChange( txtFullName->text() ); useFullName = FALSE; } } void ContactEditor::setNameFocus() { txtFullName->setFocus(); } bool ContactEditor::isEmpty() { // Test and see if the record should be saved. // More strict than the original qtopia, needs name or fileas to save QString t = txtFullName->text(); if ( !t.isEmpty() && containsAlphaNum( t ) ) return false; t = cmbFileAs->currentText(); if ( !t.isEmpty() && containsAlphaNum( t ) ) return false; return true; } QString ContactEditor::parseName( const QString fullName, int type ) { @@ -1388,65 +1388,65 @@ void ContactEditor::setEntry( const Contact &entry ) { (*itLE)->setText( ent.anniversary() ); if ( *it == tr("Nickname" )) (*itLE)->setText( ent.nickname() ); if ( *it == tr("Children" )) (*itLE)->setText( ent.children() ); } QStringList::Iterator itV; for ( it = slChooserNames.begin(), itV = slChooserValues.begin(); it != slChooserNames.end(); ++it, ++itV ) { if ( *it == tr("Business Phone") || *it == tr("Work Phone" )) *itV = ent.businessPhone(); /* if ( *it == "Business 2 Phone" ) *itV = ent.business2Phone(); */ if ( *it == tr("Business Fax") || *it == tr("Work Fax" )) *itV = ent.businessFax(); if ( *it == tr("Business Mobile") || *it == tr("work Mobile" )) *itV = ent.businessMobile(); /* if ( *it == "Company Phone" ) *itV = ent.companyPhone(); */ if ( *it == tr("Default Email" )) *itV = ent.defaultEmail(); if ( *it == tr("Emails" )) - *itV = ent.emails(); + *itV = ent.emailList().join(";"); if ( *it == tr("Home Phone" )) *itV = ent.homePhone(); /* if ( *it == "Home 2 Phone" ) *itV = ent.home2Phone(); */ if ( *it == tr("Home Fax" )) *itV = ent.homeFax(); if ( *it == tr("Home Mobile" )) *itV = ent.homeMobile(); /* if ( *it == "Car Phone" ) *itV = ent.carPhone(); if ( *it == "ISDN Phone" ) *itV = ent.ISDNPhone(); if ( *it == "Other Phone" ) *itV = ent.otherPhone(); */ if ( *it == tr("Business Pager") || *it == tr("Work Pager" )) *itV = ent.businessPager(); /* if ( *it == "Home Pager") *itV = ent.homePager(); if ( *it == "AIM IM" ) *itV = ent.AIMIM(); if ( *it == "ICQ IM" ) @@ -1589,65 +1589,65 @@ void ContactEditor::saveEntry() { if ( *it == tr("Children" )) ent.setChildren( (*itLE)->text() ); } QStringList::ConstIterator itV; for ( it = slChooserNames.begin(), itV = slChooserValues.begin(); it != slChooserNames.end(); ++it, ++itV ) { if ( *it == tr("Business Phone") || *it == tr("Work Phone" )) ent.setBusinessPhone( *itV ); /* if ( *it == tr("Business 2 Phone" ) ent.setBusiness2Phone( *itV ); */ if ( *it == tr("Business Fax") || *it == tr("Work Fax" )) ent.setBusinessFax( *itV ); if ( *it == tr("Business Mobile") || *it == tr("Work Mobile" )) ent.setBusinessMobile( *itV ); /* if ( *it == "Company Phone" ) ent.setCompanyPhone( *itV ); */ //if ( *it == "Default Email" ) //ent.setDefaultEmail( *itV ); if ( *it == tr("Emails" )) { QString allemail; QString defaultmail; parseEmailFrom( *itV, defaultmail, allemail ); ent.setDefaultEmail( defaultmail ); - ent.setEmails( *itV ); + ent.insertEmails( *itV ); } if ( *it == tr("Home Phone" )) ent.setHomePhone( *itV ); /* if ( *it == "Home 2 Phone" ) ent.setHome2Phone( *itV ); */ if ( *it == tr("Home Fax" )) ent.setHomeFax( *itV ); if ( *it == tr("Home Mobile" )) ent.setHomeMobile( *itV ); /* if ( *it == "Car Phone" ) ent.setCarPhone( *itV ); if ( *it == "ISDN Phone" ) ent.setISDNPhone( *itV ); if ( *it == "Other Phone" ) ent.setOtherPhone( *itV ); */ if ( *it == tr("Business Pager") || *it == tr("Work Pager") ) ent.setBusinessPager( *itV ); /* if ( *it == "Home Pager" ) ent.setHomePager( *itV ); if ( *it == "AIM IM" ) ent.setAIMIM( *itV ); diff --git a/core/pim/todo/todotable.h b/core/pim/todo/todotable.h index 39e00d1..7539df1 100644 --- a/core/pim/todo/todotable.h +++ b/core/pim/todo/todotable.h @@ -42,65 +42,65 @@ public: void setChecked( bool b ); void toggle(); bool isChecked() const; void setKey( const QString &key ) { sortKey = key; } QString key() const; void paint( QPainter *p, const QColorGroup &cg, const QRect &cr, bool selected ); private: bool checked; QString sortKey; }; class ComboItem : public QTableItem { public: ComboItem( QTable *t, EditType et ); QWidget *createEditor() const; void setContentFromEditor( QWidget *w ); void setText( const QString &s ); int alignment() const { return Qt::AlignCenter; } QString text() const; private: QGuardedPtr<QComboBox> cb; }; class TodoTextItem : public QTableItem { public: - TodoTextItem( QTable *t, const QString & str ) + TodoTextItem( QTable *t, const QString & str ) :QTableItem( t, QTableItem::Never, str ) {} QString key () const { return Qtopia::buildSortKey( text() ); } }; class DueTextItem : public QTableItem { public: DueTextItem( QTable *t, ToDoEvent *ev ); QString key() const; void setToDoEvent( const ToDoEvent *ev ); void paint( QPainter *p, const QColorGroup &cg, const QRect &cr, bool selected ); private: int m_off; bool m_hasDate:1; bool m_completed:1; }; enum journal_action { ACTION_ADD=0, ACTION_REMOVE, ACTION_REPLACE }; namespace Opie { class XMLElement; }; class TodoTable : public QTable { Q_OBJECT public: @@ -163,78 +163,81 @@ private: void loadFile( const QString &strFile); private slots: void slotClicked( int row, int col, int button, const QPoint &pos ); void slotPressed( int row, int col, int button, const QPoint &pos ); void slotCheckPriority(int row, int col ); void slotCurrentChanged(int row, int col ); void slotDoFind( const QString &findString, bool caseSensetive, bool backwards, int category ); void slotShowMenu(); void rowHeightChanged( int row ); void slotCheckDay(); // check the day private: friend class TodoWindow; QMap<CheckItem*, ToDoEvent *> todoList; QStringList categoryList; bool showComp; QString showCat; QTimer *menuTimer; QDate mDay; QTimer *mDayTimer; // see if the day changed bool enablePainting; Categories mCat; int currFindRow; bool showDeadl:1; }; inline void TodoTable::insertIntoTable( ToDoEvent *todo, int row ) { - QString sortKey = (char) ((todo->isCompleted() ? 'a' : 'A') - + todo->priority() ) + int rows = numRows(); + ++rows; + setNumRows( rows ); + QString sortKey = (char) ((todo->isCompleted() ? 'a' : 'A') + + todo->priority() ) + Qtopia::buildSortKey( todo->description() ); CheckItem *chk = new CheckItem( this, sortKey ); chk->setChecked( todo->isCompleted() ); ComboItem *cmb = new ComboItem( this, QTableItem::WhenCurrent ); cmb->setText( QString::number( todo->priority() ) ); QString sum = todo->summary(); QTableItem *ti = new TodoTextItem( this, sum.isEmpty() ? todo->description().left(40).simplifyWhiteSpace() : sum ); ti->setReplaceable( false ); DueTextItem *due = new DueTextItem(this, todo ); setItem( row, 3, due); - + setItem( row, 0, chk ); setItem( row, 1, cmb ); setItem( row, 2, ti ); todoList.insert( chk, todo ); } inline void TodoTable::realignTable( int row ) { QTableItem *ti1, *ti2, *ti3, *ti4; int totalRows = numRows(); for ( int curr = row; curr < totalRows - 1; curr++ ) { // this is bad, we must take the item out and then // set it. In the end, it behaves no worse (time wise) // then the old way of saving the entries to file, clearing // the table re-reading in the file and resetting the table ti1 = item( curr + 1, 0 ); ti2 = item( curr + 1, 1 ); ti3 = item( curr + 1, 2 ); ti4 = item( curr + 1, 3 ); takeItem( ti1 ); takeItem( ti2 ); takeItem( ti3 ); takeItem( ti4 ); setItem( curr, 0, ti1 ); setItem( curr, 1, ti2 ); setItem( curr, 2, ti3 ); setItem( curr, 3, ti4 ); |