fix regression introduced by last commit: keep the RecipientType information in the dialog up to date

Ellen: Now you can use it :)

CCMAIL:ellen@relevantive.de

svn path=/trunk/kdepim/; revision=382288
wilder-work
Daniel Molkentin 21 years ago
parent f8999fa3ef
commit fe1df93cf9
  1. 29
      recipientseditor.cpp
  2. 7
      recipientseditor.h
  3. 14
      recipientspicker.cpp
  4. 1
      recipientspicker.h

@ -560,6 +560,11 @@ SideWidget::~SideWidget()
{
}
RecipientsPicker* SideWidget::picker() const
{
return mRecipientPicker;
}
void SideWidget::setFocus()
{
mSelectButton->setFocus();
@ -617,23 +622,28 @@ RecipientsEditor::RecipientsEditor( QWidget *parent )
connect( mRecipientsView, SIGNAL( focusUp() ), SIGNAL( focusUp() ) );
connect( mRecipientsView, SIGNAL( focusDown() ), SIGNAL( focusDown() ) );
SideWidget *side = new SideWidget( mRecipientsView, this );
topLayout->addWidget( side );
connect( side, SIGNAL( pickedRecipient( const Recipient & ) ),
mSideWidget = new SideWidget( mRecipientsView, this );
topLayout->addWidget( mSideWidget );
connect( mSideWidget, SIGNAL( pickedRecipient( const Recipient & ) ),
SLOT( slotPickedRecipient( const Recipient & ) ) );
connect( side, SIGNAL( createDistributionList() ),
connect( mSideWidget, SIGNAL( createDistributionList() ),
SLOT( createDistributionList() ) );
connect( mRecipientsView, SIGNAL( totalChanged( int, int ) ),
side, SLOT( setTotal( int, int ) ) );
mSideWidget, SLOT( setTotal( int, int ) ) );
connect( mRecipientsView, SIGNAL( focusRight() ),
side, SLOT( setFocus() ) );
mSideWidget, SLOT( setFocus() ) );
}
RecipientsEditor::~RecipientsEditor()
{
}
RecipientsPicker* RecipientsEditor::picker() const
{
return mSideWidget->picker();
}
void RecipientsEditor::slotPickedRecipient( const Recipient &rec )
{
RecipientLine *line = mRecipientsView->activeLine();
@ -643,9 +653,12 @@ void RecipientsEditor::slotPickedRecipient( const Recipient &rec )
if ( r.type() == Recipient::Undefined ) {
r.setType( line->recipientType() );
}
line->setRecipient( r );
if ( picker() )
picker()->updateRecipient( r );
mRecipientsView->addLine()->activate();
}

@ -38,6 +38,7 @@ class KWindowPositioner;
class QComboBox;
class QLabel;
class QPushButton;
class SideWidget;
class Recipient
{
@ -160,7 +161,7 @@ class RecipientsView : public QScrollView
RecipientLine *activeLine();
RecipientLine *emptyLine();
Recipient::List recipients() const;
void activateLine( RecipientLine * );
@ -218,6 +219,8 @@ class SideWidget : public QWidget
SideWidget( RecipientsView *view, QWidget *parent );
~SideWidget();
RecipientsPicker* picker() const;
public slots:
void setTotal( int recipients, int lines );
void setFocus();
@ -251,6 +254,7 @@ class RecipientsEditor : public QWidget
void clear();
Recipient::List recipients() const;
RecipientsPicker* picker() const;
void setRecipientString( const QString &, Recipient::Type );
QString recipientString( Recipient::Type );
@ -272,6 +276,7 @@ class RecipientsEditor : public QWidget
private:
RecipientsView *mRecipientsView;
SideWidget* mSideWidget;
};
#endif

@ -356,6 +356,18 @@ void RecipientsPicker::insertCollection( RecipientsCollection *coll )
mCollectionMap.insert( index, coll );
}
void RecipientsPicker::updateRecipient( const Recipient &recipient )
{
RecipientItem::List allRecipients = mAllRecipients->items();
RecipientItem::List::ConstIterator itAll;
for( itAll = allRecipients.begin(); itAll != allRecipients.end(); ++itAll ) {
if ( (*itAll)->recipient() == recipient.email() ) {
(*itAll)->setRecipientType( recipient.typeLabel() );
}
}
updateList();
}
void RecipientsPicker::setRecipients( const Recipient::List &recipients )
{
RecipientItem::List allRecipients = mAllRecipients->items();
@ -415,7 +427,6 @@ void RecipientsPicker::slotPicked( QListViewItem *viewItem )
RecipientItem *i = item->recipientItem();
emit pickedRecipient( Recipient( i->recipient(), Recipient::Undefined ) );
}
mRecipientList->clearSelection();
}
void RecipientsPicker::pick( Recipient::Type type )
@ -433,7 +444,6 @@ void RecipientsPicker::pick( Recipient::Type type )
}
}
}
mRecipientList->clearSelection();
}
void RecipientsPicker::keyPressEvent( QKeyEvent *ev )

@ -119,6 +119,7 @@ class RecipientsPicker : public QWidget
~RecipientsPicker();
void setRecipients( const Recipient::List & );
void updateRecipient( const Recipient & );
signals:
void pickedRecipient( const Recipient & );

Loading…
Cancel
Save