Review Request 127827: open/fetch project: restore broken workflows after native file dialog port

René J.V. Bertin rjvbertin at gmail.com
Wed May 11 09:45:29 UTC 2016



> On May 4, 2016, 1:07 p.m., Aleix Pol Gonzalez wrote:
> > Maybe the solution is to just have files there? i.e. either CMakeLists.txt/*.pro or .kdev4 files
> > 
> > An extra step sounds a bit much, especially since often one doesn't remember if the .kdev4 file is there or not.
> 
> Milian Wolff wrote:
>     We must be able to open folders that don't contain any project file (e.g. for custom make file or generic projects). This won't work then.
> 
> René J.V. Bertin wrote:
>     I don't think I ever realised that one could open a project through its directory, though I guess I knew because I do have a few that are just that, directories without Makefile or anything of the sort.
>     
>     I agree with Aleix that imposing an additional step isn't something I'd be too happy with.
>     One solution would be to add an additional button to the dialog, "open current directory" (or simply `"here"`?). I suppose that'd be possible with the KDE dialog, less so if the native file dialog allows to add buttons.
>     
>     If all else fails there's always the possibility to add a "*.*" selection, and then get the directory to open from the selected file.
> 
> Sven Brauch wrote:
>     You cannot add a button to the dialog.
>     
>     Requiring to select any file to select the directory is a terribly unintuive workflow, nobody is going to figure that out.
> 
> René J.V. Bertin wrote:
>     I'm not saying it's very intuitive, but it's exactly what I'd try if I wanted to create a project from a directory that doesn't hold anything that would define the project, and opening the directory itself isn't possible. I might try first to select all files, though (because that would be the intuitive thing to do).
>     
>     However, since you mention intuitiveness: why not distinguish `open project` and `import project` in the UI? That should make it easier to provide separate actions for importing a specific kind of project (Makefile, CMake, QMake etc) or `import project directory`.
> 
> Sven Brauch wrote:
>     The directory you want to import might not even _have_ any files to select. It might be just subdirectories, or the directory might even be empty. Not that uncommon, I would say. I'm against this solution, it will feel like a hack even to the user.
>     
>     We could distinguish the actions, I also thought about that. How do you deal with Fetch though? There you still have this problem. I also think the current suggestion is more beginner-friendly than having two actions; here at least it's fully clear to the user what the options are in my opinion.

I missed this reply. You're right, directories without file entries are an issue with my proposal. So forget about that admittedly somewhat contrived idea, but not about the suggestion to provide separate actions (menu commands), pretty please. Anything that doesn't require an additional click in an additional dialog.

They shouldn't be with Fetch though. With Fetch, the user already provides a directory where the working copy should be stored. Ultimately you could thus check that directory for the presence of a recognised project file or one with a supported format.

I'd say that the problem is a bit different, also, which means the UI can (should?) be different. When you open or import a project, you typically know where on your disk the data is located, and a priori you also know what to expect there. Your proposed interface acknowledges that by giving an a-priori choice between importing a directory or opening a file.
By contrast, one can argue that this is not true when you fetch a project, because you'll be downloading new data. Also, there's a dialog already where you enter the fetch URI and the location for the working copy. That dialog could IMHO be redesigned a bit according to the following (rather rough) sketches. After using the "Get" button, the Finish button could be used immediately to import the directory "as is" (possibly renamed to reflect that), and the "Next" button could be labelled so that it's clearer that it will open the working copy for exploration. Once you're in that view, the "New" button can labelled "Import" or "Open", and the "Finish" button could (again) be used to import the directory. BTW, it seems that if you do not select any entry in this view, the "Next" button will trigger some kind of auto-detection at least of CMake files.
Either way, the Fetch function doesn't need an additional dialog, there's plenty of opportunity to let the user chose between importing something from the working copy, or import the working copy as a directory instead.


- René J.V.


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/127827/#review95157
-----------------------------------------------------------


On May 4, 2016, 12:32 a.m., Sven Brauch wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/127827/
> -----------------------------------------------------------
> 
> (Updated May 4, 2016, 12:32 a.m.)
> 
> 
> Review request for KDevelop and Kevin Funk.
> 
> 
> Repository: kdevplatform
> 
> 
> Description
> -------
> 
> The native dialog has two significant restrictions: it cannot be embedded, and it cannot be told to accept both a directory _or_ a file at once. The previous change to the open project dialog broke the (important) option to open a directory as a project. This fixes that through introduction of an extra step: you select the method you want to open your project with first. This has the advantage of making it more clear to the user what the options are; many users are still not aware you can simply tell KDevelop to open a folder as a project.
> 
> I'm well aware this is far from an optimal solution, but right now it's just broken and this is certainly an improvement over the current situation. Better ideas welcome.
> 
> 
> Diffs
> -----
> 
>   shell/CMakeLists.txt 83d4db0 
>   shell/openprojectdialog.h d39ff8e 
>   shell/openprojectdialog.cpp 9ccca43 
>   shell/openprojectdialog.ui PRE-CREATION 
>   shell/openprojectpage.h 1e0ff60 
>   shell/openprojectpage.cpp 42d836f 
>   shell/projectsourcepage.h a45ee19 
>   shell/projectsourcepage.cpp 43ab6e9 
>   shell/projectsourcepage.ui 79699aa 
> 
> Diff: https://git.reviewboard.kde.org/r/127827/diff/
> 
> 
> Testing
> -------
> 
> can open from CMakeLists.txt, from foo.kdev5 or from a folder; also fetch works again (before simply random stuff happened)
> 
> 
> File Attachments
> ----------------
> 
> the added dialog
>   https://git.reviewboard.kde.org/media/uploaded/files/2016/05/03/7b6cdfc2-c4d7-4394-9a39-2ccc923f28fa__Screenshot_20160504_001810.png
> 
> 
> Thanks,
> 
> Sven Brauch
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20160511/07fc6e60/attachment-0001.html>


More information about the KDevelop-devel mailing list