Bug 99428 - no longer possible to select the folder for "move to" via keyboard
Summary: no longer possible to select the folder for "move to" via keyboard
Status: RESOLVED NOT A BUG
Alias: None
Product: kdelibs
Classification: Frameworks and Libraries
Component: qt (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
: 101896 104697 106258 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-02-15 08:50 UTC by Martin Koller
Modified: 2007-09-14 12:17 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Koller 2005-02-15 08:50:45 UTC
Version:           1.7.92 (using KDE 3.3.92 (beta2), compiled sources)
Compiler:          gcc version 3.2.3
OS:                Linux (i686) release 2.4.22

When I want to move a mail into another folder, I press "M" to get the "Move message to folder" dialog.
In this folder it was very convenient to select the destination folder by quickly typing the first 2 or 3 characters of the target folders name.

This possibility has vanished.

Now, either no folder is selected, or only the first time I type the first character a folder is selected. The behavior is indeterministic.

E.g. I select a mail in inbox, type "M".
In the dialog "outbox" is selected.
I type "d" to select drafts -> nothing happens.
I type "s" -> "sent-mail" folder is selected.
I type "o" (back to outbox) -> nothing happens.
Between the keys, I wait for some seconds.
Comment 1 Thiago Macieira 2005-02-15 11:02:48 UTC
Agreed and confirmed.
Comment 2 Carsten Burghardt 2005-02-16 22:31:22 UTC
The selection works fine here but only downwards. It finds the next folder 
that starts with the typed key. Can you confirm this?

Comment 3 Martin Koller 2005-02-16 22:42:58 UTC
It works (sometimes) only downwards and only between sister elements.
It does e.g. not work if I have
1a
aa
bb
cc

1a is selected, I press c -> nothing happens

For me it is complete random what works and what does not.
Try it. Press a key, click with the mouse onto another elemen, press a key ... 
random

Comment 4 Fabio Coatti 2005-02-18 00:24:13 UTC
Confirmed here. 
more details: 
- it happens not only with "M"move key, but also with "C"opy. 
- the selection works only if the next folder downwards starts with the typed key.
example:
Awhatever
Awhatever2
Awhatever3
Bwhatever

Starting from the first menu, Typing "A" the cursor goes down, typing "B" no, unless the cursor is already on "Awhatever3" entry (the one preceeding "B" folder). It doesn't matter if the next folder is child, on the same level or at upper level of the one pointed by the cursor, only starting letter matters.


Can someone confirm?

Comment 5 alex nelson 2005-03-14 23:02:22 UTC
I just built and installed 3.4.0 to get fixes for other kmail bugs.  I was very pleased with the new KDE until I ran into this problem.  I can confirm that the bug exists in the 3.4.0 version of KDE (which uses kmail version 1.8)
Comment 6 Oded Arbel 2005-03-15 11:17:24 UTC
I have the same problem with the current 3.3 KDE packages from Mandrake (they update it to the branch every now and then or something, and sometimes backport from HEAD).
Comment 7 Thiago Macieira 2005-03-19 17:17:37 UTC
*** Bug 101896 has been marked as a duplicate of this bug. ***
Comment 8 Mauro A. Cremonini 2005-03-20 22:22:47 UTC
I can confirm this behavior. First time I noticed it was when I upgraded from kde 3.3.0 to 3.3.2 with suse 9.2. Problem still there after upgrading to 3.4.0. 
Comment 9 Randall O'Reilly 2005-03-23 17:25:40 UTC
I have isolated the problem to qt-3.3.4, at least in my setup (using the fc3 rpms for kde 3.4 from the kde website).  When I found this bug, I reverted to kde 3.3.2 (again using rpms on kde website) but they didn't include qt rpms, so it still had the qt-3.3.4 rpms, and this bug was still present.  So, you get it with kmail 1.7.2 and qt-3.3.4 -- maybe qt changed its keyboard completion behavior?  Probably this accounts for the variability in above reports.

I don't know if you can run kde 3.4 under qt 3.3.3 -- I might try that..
Comment 10 Randall O'Reilly 2005-03-23 17:58:58 UTC
Looking at the qt changes-3.3.4 file, this looks like a possible source of the problem:

QListView
Fixed bad parameter to QListViewItem::text() on key press with
        an unsorted list view.
Comment 11 Thiago Macieira 2005-04-28 13:58:37 UTC
*** Bug 104697 has been marked as a duplicate of this bug. ***
Comment 12 Andreas Gungl 2005-05-25 11:47:09 UTC
*** Bug 106258 has been marked as a duplicate of this bug. ***
Comment 13 Ingo Klöcker 2005-06-02 01:50:35 UTC
This is indeed a bug which was introduced in Qt 3.3.4. I've informed Trolltech. The following patch for qlistview.cpp fixes the problem:
--- qlistview.cpp.orig  2005-01-21 18:16:23.000000000 +0100
+++ qlistview.cpp       2005-06-02 01:26:53.000000000 +0200
@@ -5026,6 +5026,7 @@ void QListView::keyPressEvent( QKeyEvent
                QString keyItemKey;
                QString prefix;
                while( keyItem ) {
+                   keyItemKey = QString::null;
                    // Look first in the sort column, then left to right
                    if (d->sortcolumn != Unsorted)
                        keyItemKey = keyItem->text(d->sortcolumn);
Comment 14 Ingo Klöcker 2005-06-02 01:51:55 UTC
Closing as invalid because it's no bug in KMail/KDE.
Comment 15 Carsten Burghardt 2005-06-14 20:17:13 UTC
SVN commit 425432 by burghard:

Use the kfoldertree as parent class for the folder selection dialog.
Therefore we get a correctly sorted column and this works around the qlistview limitation.
I set the folders to be opened according to the foldertree as I think this is more convenient
than opening all folders, especially if you have lots of folders.
CCMAIL:99428@bugs.kde.org


 M  +21 -35    kmfolderseldlg.cpp  
 M  +2 -2      kmfolderseldlg.h  
Comment 16 Oded Arbel 2005-06-27 10:40:01 UTC
Is it possible to receive some kind of clarification as to the new behavior ? The reason is that I'm afraid that the described behavior is a regression for my particular usage: 
The reason I use the "move to" dialog is that I don't want to keep my list of folders open (which is quite big and composes a complicated tree) - I usually have either only the inbox visible or only the inbox and the top level folders, and I use "move to" to folders I don't see. Otherwise I'd just drag the email to a visible folder (which I do if the folder is listed in the tree even if I have to scroll a little).

If the "move to" dialog will always show the folder tree as it is shown now in the mail folder view, then its completely useless to me, and it will only be slightly better if I could keyboard-navigate to a folder which is not currently visible in the dialog because its parent folder is closed - something no tree view I'm familiar with can do.

Evolution behaves very similar in respect that whenever a mail box is being opened (which happens after the client starts but also if the mailbox disconnects for some reason) the "move to" dialog starts exactly as the folder view is collapsed (which for me means completely closed) and I have to open everything down to where I want to store the email, something which entails many mouse clicks and is driving me nuts. On the plus side, until the mailbox disconnects, Evolution remembers the open state of the folder tree in the "move to" dialog regardless of the state of folder view, so once I open up all the paths I regularly use, I don't have to do it again, and its keyboard navigation is pretty solid (although predictably does not allow you to navigate to non-visible folders).

The behavior I would expect from the "move to" dialog in kmail, is that it will remember the open state of the folder tree disjointed from the open state of the folder view, and across sessions (so it will no revert back after I close the dialog or after I close kmail) - kind of like kmail's folder view works right now. I would also prefer that the default state would be for "all open", but I understand its probably much less useful to other people and I can live w/o it.
Comment 17 Michal Konečný 2005-06-27 11:14:11 UTC
I back up the previous comment - I use the move-to dialogue
with keyboard search to quickly locate folders in my lush tree
without having to navigate through 4-8 layers.  If not all folders
are open, the dialogue will be of little use to me and the single
big reason I prefer kmail over other mail clients will disappear.
If I am not alone in this, I would advocate having a setup option to
keep the open-all behaviour for people like myself.
Comment 18 Randall O'Reilly 2005-06-27 18:02:48 UTC
I'll add another impassioned vote for keeping the old behavior of flat list, or at least a fully open tree view.  This is also one of the main reasons that I use kmail over other clients.  Any update on when a patched version of Qt will be available to restore the old behavior?
Comment 19 ian 2005-06-27 19:22:06 UTC
I like having the list mirror the folder list, so at least make this an option. The dialog is far to small to click around in trying to find my folders, and I just end up typing the folder names anyhow. It's much faster. My hiearchy is very large and looking through it in the little dialog is nearly impossible with a mouse.
Comment 20 Carsten Burghardt 2005-06-27 22:39:33 UTC
SVN commit 429480 by burghard:

Upon user request: restore the old behaviour to open all folders.
CCMAIL:99428@bugs.kde.org


 M  +2 -1      kmfolderseldlg.cpp  


--- trunk/KDE/kdepim/kmail/kmfolderseldlg.cpp #429479:429480
@@ -106,6 +106,7 @@
       if ( depth > lastDepth ) {
         // next lower level - parent node will get opened
         item = new FolderItem( lastItem );
+        lastItem->setOpen(true);
       }
       else {
         if ( depth == lastDepth ) {
@@ -135,7 +136,7 @@
     item->setText( mFolderColumn, fti->text( 0 ) );
     item->setProtocol( fti->protocol() );
     item->setType( fti->type() );
-    item->setOpen( fti->isOpen() );
+    item->setOpen( true );
     // Make items without folders and readonly items unselectable
     // if we're told so
     if ( mustBeReadWrite && ( !fti->folder() || fti->folder()->isReadOnly() ) ) {