<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://git.reviewboard.kde.org/r/127827/">https://git.reviewboard.kde.org/r/127827/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On May 4th, 2016, 1:07 p.m. CEST, <b>Aleix Pol Gonzalez</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Maybe the solution is to just have files there? i.e. either CMakeLists.txt/*.pro or .kdev4 files</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">An extra step sounds a bit much, especially since often one doesn't remember if the .kdev4 file is there or not.</p></pre>
</blockquote>
<p>On May 4th, 2016, 1:54 p.m. CEST, <b>Milian Wolff</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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.</p></pre>
</blockquote>
<p>On May 4th, 2016, 8:12 p.m. CEST, <b>René J.V. Bertin</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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 <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">"here"</code>?). I suppose that'd be possible with the KDE dialog, less so if the native file dialog allows to add buttons.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">If all else fails there's always the possibility to add a "<em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">.</em>" selection, and then get the directory to open from the selected file.</p></pre>
</blockquote>
<p>On May 4th, 2016, 8:28 p.m. CEST, <b>Sven Brauch</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">You cannot add a button to the dialog.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Requiring to select any file to select the directory is a terribly unintuive workflow, nobody is going to figure that out.</p></pre>
</blockquote>
<p>On May 4th, 2016, 10:06 p.m. CEST, <b>René J.V. Bertin</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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).</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">However, since you mention intuitiveness: why not distinguish <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">open project</code> and <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">import project</code> in the UI? That should make it easier to provide separate actions for importing a specific kind of project (Makefile, CMake, QMake etc) or <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">import project directory</code>.</p></pre>
</blockquote>
<p>On May 4th, 2016, 10:50 p.m. CEST, <b>Sven Brauch</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The directory you want to import might not even <em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">have</em> 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.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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.</p></pre>
</blockquote>
</blockquote>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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.</p></pre>
<br />
<p>- René J.V.</p>
<br />
<p>On May 4th, 2016, 12:32 a.m. CEST, Sven Brauch wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
<tr>
<td>
<div>Review request for KDevelop and Kevin Funk.</div>
<div>By Sven Brauch.</div>
<p style="color: grey;"><i>Updated May 4, 2016, 12:32 a.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
kdevplatform
</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The native dialog has two significant restrictions: it cannot be embedded, and it cannot be told to accept both a directory <em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">or</em> 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.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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.</p></pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">can open from CMakeLists.txt, from foo.kdev5 or from a folder; also fetch works again (before simply random stuff happened)</p></pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>shell/CMakeLists.txt <span style="color: grey">(83d4db0)</span></li>
<li>shell/openprojectdialog.h <span style="color: grey">(d39ff8e)</span></li>
<li>shell/openprojectdialog.cpp <span style="color: grey">(9ccca43)</span></li>
<li>shell/openprojectdialog.ui <span style="color: grey">(PRE-CREATION)</span></li>
<li>shell/openprojectpage.h <span style="color: grey">(1e0ff60)</span></li>
<li>shell/openprojectpage.cpp <span style="color: grey">(42d836f)</span></li>
<li>shell/projectsourcepage.h <span style="color: grey">(a45ee19)</span></li>
<li>shell/projectsourcepage.cpp <span style="color: grey">(43ab6e9)</span></li>
<li>shell/projectsourcepage.ui <span style="color: grey">(79699aa)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/127827/diff/" style="margin-left: 3em;">View Diff</a></p>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">File Attachments </h1>
<li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2016/05/03/7b6cdfc2-c4d7-4394-9a39-2ccc923f28fa__Screenshot_20160504_001810.png">the added dialog</a></li>
</ul>
</td>
</tr>
</table>
</div>
</body>
</html>