[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    [Bug 82924] severe focus problems when "show extension bar->contact
From:       Reinhold Kainhofer <reinhold () kainhofer ! com>
Date:       2004-07-28 19:14:59
Message-ID: 20040728191459.2112.qmail () ktown ! kde ! org
[Download RAW message or body]

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
      
http://bugs.kde.org/show_bug.cgi?id=82924      




------- Additional Comments From reinhold kainhofer com  2004-07-28 21:14 -------
CVS commit by kainhofe: 

Fix some focus issues in the kaddressbook. In particular, after entering one \
character, the focus is lost, and it was impossible to enter more text than this one \
character.

The second problem (no key navigation possible in the list view) is still present. \
The focus is always set to the end of the name input field. The same problem also \
happens if you enter some characters in the filter line. After the first character, \
the focus will be set to the end of the name edit, and you cannot enter more \
characters in the filter line.

CCMAIL: 82924 bugs kde org


  M +7 -4      addresseeeditorwidget.cpp   1.86
  M +4 -5      views/kaddressbooktableview.cpp   1.21


--- kdepim/kaddressbook/addresseeeditorwidget.cpp  #1.85:1.86
 @ -90,4 +90,7  @ AddresseeEditorWidget::~AddresseeEditorW
 void AddresseeEditorWidget::setAddressee( const KABC::Addressee &addr )
 {
+  if ( mAddressee.uid() == addr.uid() ) 
+          return;
+
   mAddressee = addr;
 
 @ -763,12 +766,12  @ void AddresseeEditorWidget::emitModified
   mDirty = true;
 
+  if ( !mBlockSignals ) {
   KABC::Addressee::List list;
 
-  if ( isExtension() && !mBlockSignals ) {
     save();
     list.append( mAddressee );
-  }
 
   emit modified( list );
+  }
 }
 

--- kdepim/kaddressbook/views/kaddressbooktableview.cpp  #1.20:1.21
 @ -256,14 +256,13  @ void KAddressBookTableView::refresh(QStr
     // Only need to update on entry. Iterate through and try to find it
     ContactListViewItem *ceItem;
-    QListViewItemIterator it( mListView );
-    while ( it.current() ) {
-      ceItem = dynamic_cast<ContactListViewItem*>( it.current() );
+    QPtrList<QListViewItem> selectedItems( mListView->selectedItems() );
+    QListViewItem *it;
+    for ( it = selectedItems.first(); it; it = selectedItems.next() ) {
+      ceItem = dynamic_cast<ContactListViewItem*>( it );
       if ( ceItem && ceItem->addressee().uid() == uid ) {
         ceItem->refresh();
         return;
       }
-      ++it;
     }
-
     refresh( QString::null );
   }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic