<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://git.reviewboard.kde.org/r/117407/">https://git.reviewboard.kde.org/r/117407/</a>
     </td>
    </tr>
   </table>
   <br />










<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On April 6th, 2014, 11:55 p.m. UTC, <b>Aleix Pol Gonzalez</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  



<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="https://git.reviewboard.kde.org/r/117407/diff/2/?file=263225#file263225line195" style="color: black; font-weight: bold; text-decoration: underline;">plugins/appwizard/projectselectionpage.cpp</a>
    <span style="font-weight: normal;">

     (Diff revision 2)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">void ProjectSelectionPage::validateData()</pre></td>

  </tr>
 </tbody>



 
 

 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">195</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">QString</span> <span class="n">appname</span> <span class="o">=</span> <span class="n">appName</span><span class="p">();</span></pre></td>
  </tr>

 </tbody>

</table>

  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">How did you come up with this restriction?

Why people can't put accents to the project name? Or even dashes?

Definitely a no-go.</pre>
 </blockquote>



 <p>On April 7th, 2014, 5:58 a.m. UTC, <b>Simon Wächter</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;">The restriction was added to avoid a project generation with invalid class names (C++ and afaik Python). Create a new project from a template and use some strange project name, it will result in a *broken* project.

Maybe it's a better idea just to show a warning (--> Project name might lead to invalid class names) and let the user do the job ?</pre>
 </blockquote>





 <p>On April 7th, 2014, 7:40 a.m. UTC, <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;">@Aleix: Try creating a project with such a name right now. It will not work for almost all the templates. So either someone has to fix all the templates, or we should restrict the possible names to those which actually work. And until someone wants to do the former, the latter is certainly better than leaving all the people who type spaces into their project name with completely broken projects.</pre>
 </blockquote>





 <p>On April 7th, 2014, 7:45 a.m. UTC, <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;">Ah, re. warning: no, that's bad in my opinion. Programs shouldn't act like "hey, if you do this I will break in the following way", they should either disallow it or handle it properly.</pre>
 </blockquote>





 <p>On April 17th, 2014, 10:39 a.m. UTC, <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;">Hi Aleix, do you still stick with your opinion on this? I still think it's a good improvement until somebody wants to implement a better solution.</pre>
 </blockquote>





 <p>On April 17th, 2014, 11 a.m. UTC, <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;">If it's a limitation by the template, then maybe it could be the template offering the regular expression?</pre>
 </blockquote>





 <p>On April 17th, 2014, 11:09 a.m. UTC, <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;">Sounds good, but how would that work in practice? As far as I can see, not even all templates are provided by kdevelop ...?</pre>
 </blockquote>





 <p>On April 17th, 2014, 11:25 a.m. UTC, <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;">We introduce the regular expression on the ones in KDE, we assume it's ".+" otherwise.</pre>
 </blockquote>





 <p>On April 17th, 2014, 11:32 a.m. UTC, <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;">I guess we could do that, though I would assume this one instead of .+ otherwise -- if the template supports non-alphanumeric characters, it should advertise that, it should not be assumed (because that assumption turned out to be false in most cases, I think).

Simon, would you be interested in doing that?</pre>
 </blockquote>





 <p>On April 18th, 2014, 6:35 a.m. UTC, <b>Simon Wächter</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;">This solutions sounds much better & more future proof. I will ask Anne-Marie from the KAppTemplate project and if it's okay I'll add a project specific validation-regex to the kdevplatform/kapptemplate templates</pre>
 </blockquote>





 <p>On April 18th, 2014, 9 a.m. UTC, <b>Phil Schaf</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;">I don't like that solution either.

Sure, where project names are used as class names, it won't work in old languages (it will work fine in e.g. Python by the way)

But when used as  strings or in comments, everything goes.

So the most common case are templates where the use of the same variable is partly restricted and partly not.

Also, I hate the idea of defaulting to something less powerful. That way, nothing will ever go forward.

My idea: placeholders in templates which only accept simpler stuff should advertise that and use a normalized version of that variable.</pre>
 </blockquote>







</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">In Python you can't have class names with dashes or spaces either.

I'm happy with any solution which leads to a fix for this mess -- the first suggestion was the result of a "least effort" decision. If you want to do something better, sure ;)</pre>
<br />




<p>- Sven</p>


<br />
<p>On April 6th, 2014, 7:06 p.m. UTC, Simon Wächter wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for KDevelop and Sven Brauch.</div>
<div>By Simon Wächter.</div>


<p style="color: grey;"><i>Updated April 6, 2014, 7:06 p.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;">This patch adds a regex validation for the project name in the project creation dialog. The project name has to start with a/A-z/Z and can contain a/A-z/Z, 0-9 and the _ character.

The idea of this patch is to make an invalid class name in a new project impossible, for example "42fooclass" or "_barclass".</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;">Tested with several different project strings</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>plugins/appwizard/projectselectionpage.cpp <span style="color: grey">(6270869)</span></li>

</ul>

<p><a href="https://git.reviewboard.kde.org/r/117407/diff/" style="margin-left: 3em;">View Diff</a></p>







  </td>
 </tr>
</table>








  </div>
 </body>
</html>