krasa / FrameSwitcher

IntelliJ plugin - https://plugins.jetbrains.com/plugin/7138?pr=idea
Apache License 2.0
40 stars 5 forks source link

Added recent projects to the list #2

Closed eumus closed 10 years ago

eumus commented 10 years ago
  1. Added recent projects to the popup for quick access. It allows to switch to a project that you worked on before even if it isn't opened in IDE.
  2. Turned on alphanumeric mnemonics for popup items for quicker keyboard access.
  3. Current frame isn't disabled on the list to avoid a glitch of having the old current frame item disabled after you switched to another frame with cmd+` while FrameSwitcher popup is visible. Also, it's not obvious enough that selected item is also disabled, so it's confusing a bit when you hit Enter and nothing's happen.

PS I've put all of the changes into a single commit because they are tiny ones. Sorry if I did anything wrong, this is my first pull request on GitHub.

krasa commented 10 years ago

I like that. There is just a small problem, the popup is too big when I have 50 recent projects. So I will add limit to it. Also, I like speed search more than mnemonics, so I will add setings gui for both of it.

I am thinking that it would be nice to be able to filter recent projects by a folder, because I usually need to reopen projects which are in one particular folder, and other projects are usually just one timers or rarely used.

eumus commented 10 years ago

Thank you very much! What do you think about putting recent projects to a submenu like this? 2014-02-03_17-37-46 I was going to make it this way initially, but haven't found a quick way to do so. This might make opening recent one keystroke more, of course. Another possible option is to make it 2-columns like this: 2014-02-03_17-46-27

If you wish I might work on it, I just need a hint on which API might be used, or where to search for examples of such popup implementation because I'm absolute novice to the Intellij platform.

krasa commented 10 years ago

I think that the current way is good.

Submenus are easy, but speedsearch seems to not work with it properly

                    group.addAction(new ActionGroup("group", true) {
                        @NotNull
                        @Override
                        public AnAction[] getChildren(@Nullable AnActionEvent anActionEvent) {
                            return recentProjectsActions;
                        }
                    });

I have not tried the 2 column popup.

eumus commented 10 years ago

Btw, as far as I understand speedsearch works in popups with mnemonics as well. Could you make it sure please? If so, probably you don't need a setting for switching mnemonics/speedsearch.

krasa commented 10 years ago

That's right, it works with NUMBERING, but still, settings will be the best way.

krasa commented 10 years ago

I just pushed that settings.

eumus commented 10 years ago

Looks great, thanks!

krasa commented 10 years ago

Thank you, it is truly awesome with those recent projects.