Bugzilla@Mozdev – Bug 26602
quickMove - autofill with last executed quickJump / quickMove
Last modified: 2018-12-01 09:02:39
You need to log in before you can comment on or make changes to this bug.
I've got three suggestions: 1. In the "Folder name" box attached to the quickMove button, show the last folder used so that the user can move a message (and any others sitting in the quickMove button) to that folder by hitting Shift+M and then Enter. If the user starts typing instead of hitting Enter, then the current folder name box functionality applies (i.e. QuickFolders starts searching for folders with that string in the name). 2. Add a hotkey that moves messages to the Reading List. 3. Add a hotkey that moves messages to a default folder (this was an extremely useful feature of the add-on Quicker Filer, which doesn't seem to be under development any more and it's broken by Thunderbird 60). Thanks for considering these suggestions. Hugh Gunz
Thanks for the suggestions - let's not have 3 different features in one bug, because it makes it hard to track and implement / push it into the release train. let's keep this one for suggestion 1 - please open separate feature requests for 2 and 3. This will increase the chance of implementation and uploading prerelease versions for testing. (In reply to comment #0) > 1. In the "Folder name" box attached to the quickMove button, show the last > folder used so that the user can move a message (and any others sitting in the > quickMove button) to that folder by hitting Shift+M and then Enter. If the user > starts typing instead of hitting Enter, then the current folder name box > functionality applies (i.e. QuickFolders starts searching for folders with that > string in the name). > You are probably aware of the "Recent Folders" function which I am sure have tried out. but rolling in some of that "recent" related stuff into quickmove / quickjump may be an idea anyway. By default, when entering a foldername (or the start / part of it) then the dropdown shows possible matches. With the "unique match" feature this could potentially prefill the textbox with the last folder name and dropdown the (unique) suggestion - so that hitting "Enter" would exeecute the operation on the last folder. I would also have to auto-select the text so that typing would automatically overwrite this suggestion. Is that roughly the way you imagined this?
(In reply to comment #1) > > You are probably aware of the "Recent Folders" function which I am sure have > tried out. but rolling in some of that "recent" related stuff into quickmove / > quickjump may be an idea anyway. > > By default, when entering a foldername (or the start / part of it) then the > dropdown shows possible matches. With the "unique match" feature this could > potentially prefill the textbox with the last folder name and dropdown the > (unique) suggestion - so that hitting "Enter" would exeecute the operation on > the last folder. > > I would also have to auto-select the text so that typing would automatically > overwrite this suggestion. Is that roughly the way you imagined this? > An alternative way (which would be even less configuration work, because I would make the first suggestion configurable to not confuse users) would be a shortcut: hitting Cursor Down on the empty textbox could bring up the recent folder(s) and _then_ hitting Enter could move to the most recent one (top entry). It would be one keystroke more but also more flexible (empty textbox = show recent folders)
(In reply to comment #2) > (In reply to comment #1) > > > > You are probably aware of the "Recent Folders" function which I am sure have > > tried out. but rolling in some of that "recent" related stuff into quickmove / > > quickjump may be an idea anyway. > > > > By default, when entering a foldername (or the start / part of it) then the > > dropdown shows possible matches. With the "unique match" feature this could > > potentially prefill the textbox with the last folder name and dropdown the > > (unique) suggestion - so that hitting "Enter" would exeecute the operation on > > the last folder. > > > > I would also have to auto-select the text so that typing would automatically > > overwrite this suggestion. Is that roughly the way you imagined this? > > Yes, that's what I had in mind. So it would be a two-key operation: (1) Shift+M to put the message in the quickMove button, and (2) Enter to select the last folder used. If the user starts typing at step 2, the typing would automatically overwrite the suggestion. > An alternative way (which would be even less configuration work, because I > would make the first suggestion configurable to not confuse users) would be a > shortcut: hitting Cursor Down on the empty textbox could bring up the recent > folder(s) and _then_ hitting Enter could move to the most recent one (top > entry). It would be one keystroke more but also more flexible (empty textbox = > show recent folders) Isn't that the way it works right now? Right now, if I select a message and hit Shift+M and then cursor down, the dropdown list appears and the most recently-used folder is selected. I guess my suggestion is simply to eliminate one step from this process (and I agree that it would be wise to have the feature as an option).
Would the following be easier to implement? 1. When the user selects a message and hits Shift+M, both the text box and the drop-down list of recent folders appear, and the last-used folder is selected. 2a. If the user hits Enter, the message is moved to the last-used folder. 2b. If the user cursors down, another folder on the drop-down list is selected. 2c. If the user starts typing, the box behaves as it does now by searching for a match. Because this doesn't really change the current functionality, it may not be necessary to make it optional (although there's no harm in having it optional, apart from the work of coding it).
(In reply to comment #3) > (In reply to comment #2) > > show recent folders) > > Isn't that the way it works right now? Right now, if I select a message and hit > Shift+M and then cursor down, the dropdown list appears and the most > recently-used folder is selected. no. nothing shows unless you type at least one letter. the letters are not sorted by date (most recent) but by relevance. > I guess my suggestion is simply to eliminate > one step from this process (and I agree that it would be wise to have the > feature as an option). not quite - as you are not entering letters there is nothing to go from. (It's not possible to sort by relevance without input) - as I said the list is currently _not_ sorted by date. And a list displaying all folders wouldn't be all that useful. In fact, if you only enter 2 letters I only show folders with words that start with these 2 letters (I do not "in-string" matching) in order to avoid too many irrelevant results. again there is a separate function (recent folders tab) which is based on per folder timestamps. Things like moving email (even from filters) can affect date these timestamps. IIRC going to a folder also sets it.
(In reply to comment #4) > Would the following be easier to implement? > > 1. When the user selects a message and hits Shift+M, both the text box and the > drop-down list of recent folders appear, and the last-used folder is selected. "and the last-used folder is selected." how? You do not "select" a folder but you click on the menuitem representing it; there is no "selected state" and no UI feedback for such a mechanism. This happens immediately. therefore the sentence "a folder is selected" doesn't make any sense. It's not possible. OTTOH "selection" of a folder (to do quickMove) simply means a user action: the input focus is on the menu so you can hit enter: you cannot type then and would have to hit "Cursor Up" to get back into the text box. To "select" an item at the moment you hit "Cursor Down" (and then you cannot type anymore). So this would be bad because it would slow you down - you couldn't just keep typing anymore. That's why I said (without wanting to rewrite the whole very hard to program and test input logic I created) I would just copy the folder name into the textbox and select thee text in the textbox (so that typing would replace it) > 2a. If the user hits Enter, the message is moved to the last-used folder. Again - I want visual feedback - since there is no "selected state" possible as of your suggestion above, the user will not know that the first item (of many recent folders) is the target right now. > > 2b. If the user cursors down, another folder on the drop-down list is selected. If you want multiple recent folders then that would be possible with my first suggestion (hit down on an empty textbox) but you would have to delete the default text (last folder) first. Then cursor down (without having entered anything) could bring up all recent folders in a dropdown. So that would be 2 things a) prefill with ONE recent folder b) user hits [DEL] to empty the box, then [DOWN] to bring up all recent folders. I know this is clunky, maybe I can think of a way to do this in a single keystroke (not ESCAPE, as that's used to cancel quickjump) > > 2c. If the user starts typing, the box behaves as it does now by searching for > a match. on this one - 100% agreed :) I don't want to change or complicate current behavior as it is important to get to any folder very quickly. > Because this doesn't really change the current functionality, it may not be > necessary to make it optional (although there's no harm in having it optional, > apart from the work of coding it). Again, it all falls down on your (impossible) suggestion of "selecting" the default folder from a dropdown which has no keyboard focus. You can't type once the focus is on a menu - you will just get error sounds from the system - the menu captures all input and reacts only to certain keystrokes.
(In reply to comment #6) I think I'm confusing things by using misleading words, because I don't understand well enough the terminology that you've developed as part of developing QuickFolders. I'll try to avoid using words like "select" and "focus". > (In reply to comment #4) > > Would the following be easier to implement? > > > > 1. When the user selects a message and hits Shift+M, both the text box and the > > drop-down list of recent folders appear, and the last-used folder is selected. > > "and the last-used folder is selected." > how? You do not "select" a folder but you click on the menuitem representing > it; there is no "selected state" and no UI feedback for such a mechanism. This > happens immediately. therefore the sentence "a folder is selected" doesn't make > any sense. It's not possible. > > OTTOH "selection" of a folder (to do quickMove) simply means a user action: the > input focus is on the menu so you can hit enter: you cannot type then and would > have to hit "Cursor Up" to get back into the text box. > > To "select" an item at the moment you hit "Cursor Down" (and then you cannot > type anymore). So this would be bad because it would slow you down - you > couldn't just keep typing anymore. > > That's why I said (without wanting to rewrite the whole very hard to program > and test input logic I created) I would just copy the folder name into the > textbox and select thee text in the textbox (so that typing would replace it) > I'm sure I was using misleading language here. Let me try again. Right now, when I select a message, hit Shift+M, and then hit the cursor down key, a red "Folder name" box appears, and below it appears a list of folders, with the most recently-used one at the top. That folder appears to have the focus such that if I now hit Enter, the message is moved to that folder. What I'm suggesting here is that the first step in the new process combines what happens now when the user hits Shift+M and cursor down. Does that make any more sense? > > 2a. If the user hits Enter, the message is moved to the last-used folder. > > Again - I want visual feedback - since there is no "selected state" possible as > of your suggestion above, the user will not know that the first item (of many > recent folders) is the target right now. I quite agree that visual feedback is important. But I actually get it when the drop-down list appears -- the most recent folder at the top is very clearly selected. > > > > > 2b. If the user cursors down, another folder on the drop-down list is selected. > If you want multiple recent folders then that would be possible with my first > suggestion (hit down on an empty textbox) but you would have to delete the > default text (last folder) first. Then cursor down (without having entered > anything) could bring up all recent folders in a dropdown. > > So that would be 2 things > a) prefill with ONE recent folder > b) user hits [DEL] to empty the box, then [DOWN] to bring up all recent > folders. I know this is clunky, maybe I can think of a way to do this in a > single keystroke (not ESCAPE, as that's used to cancel quickjump) I wasn't clear. What I meant by 2b was that, once the drop-down list of recent folders is visible under the red text box, the user can cursor down the list to pick another folder. That's all. > > > > 2c. If the user starts typing, the box behaves as it does now by searching for > > a match. > > on this one - 100% agreed :) I don't want to change or complicate current > behavior as it is important to get to any folder very quickly. Yep :) > > Because this doesn't really change the current functionality, it may not be > > necessary to make it optional (although there's no harm in having it optional, > > apart from the work of coding it). > > Again, it all falls down on your (impossible) suggestion of "selecting" the > default folder from a dropdown which has no keyboard focus. You can't type once > the focus is on a menu - you will just get error sounds from the system - the > menu captures all input and reacts only to certain keystrokes. > I hope my explanation above clarifies what I meant by "selecting" from the drop-down list.
(In reply to comment #7) > (In reply to comment #6) > > I'm sure I was using misleading language here. Let me try again. Right now, > when I select a message, hit Shift+M, and then hit the cursor down key, a red > "Folder name" box appears, and below it appears a list of folders, with the > most recently-used one at the top. No, that doesn't happen for me. SHIFT+M and then cursor down brings up nothing. I need to type some letters first. I think you are not describing what you are doing :) It is very important not to leave out a single step otherwise you are describing assumption but not reality. At the moment you always have at least three key strokes. # SHIFT+M # [one] letter # CURSOR DOWN If you only have ONE folder that starts with the letter, then you are lucky and it will only find one result and you can hit ENTER straight away. Usually you will have 2 or more folders and hence keep typing or use CURSOR DOWN to select the correct one. Note: once you hit CURSOR DOWN you cannot type anymore. > That folder appears to have the focus when you are on the MENU then it has focus. Yes, that's what you called "selection". Bear in mind that this "highlighted state" goes away as soon as you click into the text box again, so it's not a "Selected Status" as such. > The menu shows folders containing the letters you typed. it does NOT display recent folders. > such that if I now hit Enter, the message is moved to that folder. What I'm > suggesting here is that the first step in the new process combines what happens > now when the user hits Shift+M and cursor down. Does that make any more sense? no, because then you cannot type anymore. it would completely break quickMove / quickJump :) we need to be able to hit quickMove and just type as much as we like / need. Also you can select chidl folders using the slash key: FR/A suggest all subfolders of parents that start with fr where the child folders start with a. e.g. friends/alex, freunde/adam etc. selection through typing is superfast and powerful. but you have to keep in mind it has *nothing* to do with recent folders. If you are seeing recent folders that's just because you use these folders a lot. quickMove is currently 100% reliant on *what* you enter. it ignores any "time" history :) > > > > 2a. If the user hits Enter, the message is moved to the last-used folder. > > > > Again - I want visual feedback - since there is no "selected state" possible as > > of your suggestion above, the user will not know that the first item (of many > > recent folders) is the target right now. > > I quite agree that visual feedback is important. But I actually get it when the > drop-down list appears -- the most recent folder at the top is very clearly > selected. no - the "top folder" is selected, (after hitting cursor down) and it is based on your entry of some letter(s). unless your system works completely different from mine :) > > > > > > 2b. If the user cursors down, another folder on the drop-down list is selected. > > If you want multiple recent folders then that would be possible with my first > > suggestion (hit down on an empty textbox) but you would have to delete the > > default text (last folder) first. Then cursor down (without having entered > > anything) could bring up all recent folders in a dropdown. > > > > So that would be 2 things > > a) prefill with ONE recent folder > > b) user hits [DEL] to empty the box, then [DOWN] to bring up all recent > > folders. I know this is clunky, maybe I can think of a way to do this in a > > single keystroke (not ESCAPE, as that's used to cancel quickjump) > > I wasn't clear. What I meant by 2b was that, once the drop-down list of recent > folders is visible under the red text box, the user can cursor down the list to > pick another folder. That's all. it just means that the complete recent folder dropdown is shown - but you would still need the cursor down key for selecting the top item. At the moment the recent folders are only shown if you use a different button / tab (the recent folders tab). As regards showing the whole recent list automatically: Personally I wouldn't like that as it would feel like "visual clutter" in most cases (when I want to start typing a folder I do not use often). So the only thing that would feel right to bring up automatically is a single folder (the most recent one). But that is included in my suggestion already (which auto-fills the textbox with the name and then will do exactly that). Also hitting [Enter] will jump or move as long as there is only a single item in the dropdown, so that part is also already coded. This would save me a lot of work.
Changed bug title for clarity: the folder is only remember when the quickJump / quickMove is actually carried out. This makes sure users can still check other folders for existence (or whether they have unread mail) using the tool while still remembering where they actually jumped / moved mails to.
Created an attachment (id=8555) [details] 4.11.2 prerelease 21 Works for me :) # It saves the full folder name (rather than what was entered) to make "one jump" more likely. # The name is persisted between sessions (remembered when Thunderbird restarts) ? Should the text be erasable (e.g. by clicking ESC) ?
(In reply to comment #11) > Created an attachment (id=8555) [details] [details] > 4.11.2 prerelease 21 > > Works for me :) > # It saves the full folder name (rather than what was entered) to make "one > jump" more likely. > # The name is persisted between sessions (remembered when Thunderbird restarts) > > ? Should the text be erasable (e.g. by clicking ESC) ? > Works for me, too :) The full folder name is a good idea -- it removes any possibility of ambiguity. And I really like the way the name persists between sessions. Thanks! The text does seem erasable with ESC at the moment, and I think that's a good idea. I'd keep it. We're all habituated now to using ESC to cancel things, so I'm sure users will find themselves automatically using it here if they want to cancel the name (which they can also do by starting to type in the box). So far, this seems great to me. Thanks again!
Created an attachment (id=8556) [details] 4.11.2 prerelease 24 Ok - I made this a premium feature. Also added an option (on the QF Pro tab) to disable the autofill. ESC doesn't actually delete the (stored) entry it only hides the box, which was already built in behavior. The question is if there should be a key to reset / delete the folder name for good.
(In reply to comment #13) > Created an attachment (id=8556) [details] [details] > 4.11.2 prerelease 24 > > Ok - I made this a premium feature. Also added an option (on the QF Pro tab) to > disable the autofill. Good move > ESC doesn't actually delete the (stored) entry it only hides the box, which was > already built in behavior. The question is if there should be a key to reset / > delete the folder name for good. Oh -- sorry, I misunderstood. I guess there might be occasions on which a user might want to do this, so what about using the backspace and delete keys? That feels to me like a "natural" thing to do if I wanted to reset/delete the folder name for good, as opposed to hitting ESC.
(In reply to comment #14) > (In reply to comment #13) > > The question is if there should be a key to reset / > > delete the folder name for good. > > Oh -- sorry, I misunderstood. I guess there might be occasions on which a user > might want to do this, so what about using the backspace and delete keys? That > feels to me like a "natural" thing to do if I wanted to reset/delete the folder > name for good, as opposed to hitting ESC. > I thought about that but then you couldn't "look up" other folders while still having the name stored for the "real jump" later (as I described). I don't think it's a huge problem anyway.
(In reply to comment #15) > > > I thought about that but then you couldn't "look up" other folders while still > having the name stored for the "real jump" later (as I described). I don't > think it's a huge problem anyway. > I see what you mean. Yes, I agree, it isn't a huge problem. I certainly wouldn't change the action of the ESC key -- that works very well as it is now. And another key or key combination might be a bit difficult to remember given that the user isn't likely to want to reset/delete the folder very often. So far, the change is proving very useful.
I think this feature is working pretty well -- I haven't encountered any problems, and I've been using it a lot.
Created an attachment (id=8557) [details] edge case? here is an example where it doesn't work so well: If I use the entry qu/support to move mails to the "Quickfolders\support" folder, the repeat action will only remember the folder name (support) and not the parent. I wonder if we should remember the full parent name in this case (it would make the result unique and guarantee less work in scrolling through lots of results if we have a common folder name used in a lot of instances). Note: I could try and only have this behavior when the search format parentFolder/childFolder was used.
Created an attachment (id=8558) [details] 4.12 prerelease 35 Added the behavior of memorizing the parent folder name if it was used as part of the entered search. if you enter qu/test and the subsequently jump to Quickfolders/Test, then the string Quickfolders/Test is stored. This will better honor the previous effort to distinguish a subfolder name that may not be unique. Example - you might have a folder structure like this: customer1/orders customer1/payments customer1/invoices customer2/orders customer2/payments customer2/invoices customer3/orders customer3/payments customer3/invoices just storing the string "invoices" after entering "customer1/inv" to get to a unique folder would bring up 3 results. The use of the "/" character (as 2nd or higher-numbered letter) will also remember the full parent name. This will ensure much simpler re-use during autofill (ideally again just 1 result and [ENTER] for going there; no selection from a submenu necessary)
(In reply to comment #19) > Created an attachment (id=8558) [details] [details] > 4.12 prerelease 35 > > Added the behavior of memorizing the parent folder name if it was used as part > of the entered search. > > if you enter qu/test and the subsequently jump to Quickfolders/Test, then the > string Quickfolders/Test is stored. This will better honor the previous effort > to distinguish a subfolder name that may not be unique. > > Example - you might have a folder structure like this: > > customer1/orders > customer1/payments > customer1/invoices > customer2/orders > customer2/payments > customer2/invoices > customer3/orders > customer3/payments > customer3/invoices > > just storing the string "invoices" after entering "customer1/inv" to get to a > unique folder would bring up 3 results. The use of the "/" character (as 2nd or > higher-numbered letter) will also remember the full parent name. This will > ensure much simpler re-use during autofill (ideally again just 1 result and > [ENTER] for going there; no selection from a submenu necessary) > I think I get it, and yes, that makes good sense to me.
Created an attachment (id=8560) [details] 4.12 prerelease 37 I noticed if I use "Drag-and-drop" for moving emails the autofill doesn't focus on the textbox like it does when using the keyboard shortcut (SHIFT+M). This version fixes the problem so that we can also use the [Enter] key in this case.
(In reply to comment #21) > Created an attachment (id=8560) [details] [details] > 4.12 prerelease 37 > > I noticed if I use "Drag-and-drop" for moving emails the autofill doesn't focus > on the textbox like it does when using the keyboard shortcut (SHIFT+M). > > This version fixes the problem so that we can also use the [Enter] key in this > case. > Hadn't noticed that, because I don't do much dragging and dropping. The new version seems fine.
Feature landed in QuickFolders 4.12 Release on 23/11/2018