Closed muttsnutts closed 12 years ago
Looking into this...
How annoying, I am sorry.
I think this is because I have the NSOpenDialog set to allow the user to select directories, when a directory is added it recursively goes though the directory looking for Mp4's.
I think a good fix would be to remove recursive directory adding to only be done when directory is dragged /dropped onto the POPMp4TagFileTable table view and not allow addions of directories though the NSOpenDialog. Thoughts, concerns about this?
I'm gonna nag you into just using drag&drop and no NSOpenDialog. Nag, nag, nag ;)
But if we must...
One of the most beautiful apps I've ever used is [http://www.kaleidoscopeapp.com/](). It functions mainly with drag&drop, while the NSOpenDialog is hidden in the File Menu, but it also has the same doubleclick bug. Maybe this can't be fixed, or Apple is trying to break me of the doubleclick habit (like how they told me I was holding the iphone incorrectly, ergo blocking reception, hahaha).
Here is an explaination of how this is not a bug, but rather a "by design" for OSX.
NSOpenPanel is the object used with the AppKit framework to create those "open dialogs" we are all familiar with. They provide you with options to set up the dialog. One option is NSOpenDialog.setCanChooseDirectories, if this overridden function returns true, if the user selects this directory (i.e. double clicks on this directory) it will return this directory as the chosen file, just like if you double click on a file. With my application and with kaleidoscope, we recursively go though directories, in my case looking for .mp4 files. THIS IS NOT A BUG BUT A BY DESIGN.
The power of delegates and subclassing is yes I have the ablity to override this "by design" feature. The problem becomes that, they also provide another way of opening these panels, were I don't have to subclass the panel. I can use a block to handle the call-backs on the panels, and I did cause it is less code :-) As always we sacrifice customiblity for simplicity. Here is the way I handle these NSOpenPanels:
So as you can probably guess, my options are:
1) Subclass and handle the "double click" event and not allow double clicking of directories, lots of code.
2) Simply change [oDlg setCanChooseDirectories:YES]; to [oDlg setCanChooseDirectories:NO];. This will make it so you can not add directories though the NSOpenPanel, but of course you can still add them with dragging.
3) Remove the NSOpenPanel completely. The only reason I would object to this is why remove the entire feature, when we can add half the feature and give our "old school" users the feature they are used to. Most older computer savoy users understand Open Dialogs, much better then drag and drop and tend to always look for the open dialog (this discribes me, although I am getting more comfortable with dragging and dropping it is just not my first guess).
I hope this better explains it, and I have got to say I would vote for option 2.
Your thoughts?
Kevin.
I agree that option 2 is probably the best coarse.
Now for a little rant. I'm the biggest apple fan boy, but I hate how they claim things are "by design" when they are flaws. i.e. iphone 4 antenna issues and now iphone 5 camera purple flare. sigh I still stand by the fact that it's counterintuitive to the average user that double clicking in list/thumbnail mode opens a folder for view while in column/coverflow it selects the folder for processing. //rant off
So option 2 it is :) Feel free to close this issue once the code is implemented.
Under "Add a file to the queue" dialogue:
Double clicking a folder under column and coverflow views, starts a recursive search of MP4's in that folder. This resulted in inadvertent scanning of my hard drive twice (I'm a slow learner).
While double clicking a folder under thumbnail and list views opens the folder contents for further viewing. This is more intuitive.
Not a huge issue but a bit of a annoyance =/
Selection of a file or folder for searching should require explicit pressing of the "OPEN" Button.
Another option is to remove this feature and rely on drag-and-drop only. A number of popular programs use this type of input.