<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="http://git.reviewboard.kde.org/r/112722/">http://git.reviewboard.kde.org/r/112722/</a>
     </td>
    </tr>
   </table>
   <br />



 <p>Ship it!</p>



 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Only some docu is missing: @since 5.0 in the new namespace (or its methods, rather), and porting instructions in KDE5PORTING.html</pre>
 <br />









<p>- David</p>


<br />
<p>On September 15th, 2013, 12:41 a.m. UTC, Eike Hein wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://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 KDE Frameworks and David Faure.</div>
<div>By Eike Hein.</div>


<p style="color: grey;"><i>Updated Sept. 15, 2013, 12:41 a.m.</i></p>






<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;">In KF5, KAuthorized was split into two: KCoreAuthorized, in KConfig, and KAuthorized, in KIO. Despite the name, KCoreAuthorized offers functions in the KAuthorized namespace, and KAuthorized extends it with additional functions that require KIO APIs.

This causes the following problems:

* The majority of users of the framework want to use the functions offered in KCoreAuthorized, but when they include "kcoreauthorized.h", they have to use the KAuthorized namespace to access them. This sort of non-mapping is bad for the brain :).

* While "kauthorized.h" remaining available via KIO succeds in preserving SC, it does so by muddled-up lib dependencies: Stuff that doesn't actually need KIO might end up linking to it just to avoid changing sources, or just because someone greps for "KAuthorized" and finds the copy in KIO (this is what happened to me in the Task Manager and made me investigate).

The proposed patch does the following to address this:

* KCoreAuthorized in KConfig is renamed to KAuthorized. This fixes the include-to-namespace mapping problem and continues to preserve SC for the majority of users.

* KAuthorized in KIO is renamed to KUrlAuthorized to hold the URL/KIO-specific functions in the eponymous namespace. This means the few users of those functions (e.g. KHTML) need to be ported to new API.

The bottom line is that this avoids users linking to the wrong API for no reason and continues to preserve SC for the majority of users while unfortunately causing porting effort for some users. Most existing users will be unaffected and gain the ability to stop linking KIO if they don't need it. New users won't be confused over why something as canonical-sounding as KAuthorized is in KIO.

The alternative would have been to keep the KCoreAuthorized and KAuthorized names and locations, and add forwarders with deprecation notices to KAuthorized for the functions offered in KCoreAuthorized. However, this would mean duplication and a lot of porting churn away from deprecated API, and in the meantime not address the linking issue.

This change was discussed with and tentatively agreed upon (pre-code) by dfaure.</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>includes/CMakeLists.txt <span style="color: grey">(bcd3789)</span></li>

 <li>kfile/kdirselectdialog.cpp <span style="color: grey">(ac4a194)</span></li>

 <li>kfile/kfilewidget.cpp <span style="color: grey">(4901fcd)</span></li>

 <li>khtml/java/kjavaappletviewer.cpp <span style="color: grey">(b10d993)</span></li>

 <li>khtml/khtml_part.cpp <span style="color: grey">(b0e31ce)</span></li>

 <li>khtml/misc/loader.cpp <span style="color: grey">(cf451be)</span></li>

 <li>khtml/xml/dom_docimpl.cpp <span style="color: grey">(2b6125d)</span></li>

 <li>kio/kfile/kpropertiesdialog.cpp <span style="color: grey">(359ffab)</span></li>

 <li>kio/misc/ktelnetservice.cpp <span style="color: grey">(1c0d517)</span></li>

 <li>kutils/kcmultidialog.cpp <span style="color: grey">(5286866)</span></li>

 <li>staging/kbookmarks/src/kbookmarkmenu.cc <span style="color: grey">(6c1569c)</span></li>

 <li>staging/kcompletion/src/klineedit.cpp <span style="color: grey">(76ef377)</span></li>

 <li>staging/kde4support/src/kdeui/kapplication.cpp <span style="color: grey">(12092e9)</span></li>

 <li>staging/kio/src/core/CMakeLists.txt <span style="color: grey">(4897d5f)</span></li>

 <li>staging/kio/src/core/job.cpp <span style="color: grey">(511d1cc)</span></li>

 <li>staging/kio/src/core/kauthorized.h <span style="color: grey">(473725d)</span></li>

 <li>staging/kio/src/core/kauthorized.cpp <span style="color: grey">(b930715)</span></li>

 <li>staging/kio/src/core/kurlauthorized.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>staging/kio/src/core/kurlauthorized.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>staging/kio/src/core/mkdirjob.cpp <span style="color: grey">(9ed00b0)</span></li>

 <li>staging/kio/src/widgets/accessmanagerreply_p.cpp <span style="color: grey">(ad9b4f7)</span></li>

 <li>staging/kio/src/widgets/kfileitemactions.cpp <span style="color: grey">(99d3209)</span></li>

 <li>staging/kio/src/widgets/kopenwithdialog.cpp <span style="color: grey">(b46e1ee)</span></li>

 <li>staging/kio/src/widgets/krun.cpp <span style="color: grey">(aba4d7a)</span></li>

 <li>staging/kio/src/widgets/kurlcompletion.cpp <span style="color: grey">(80a4023)</span></li>

 <li>staging/kservice/src/services/kservice.cpp <span style="color: grey">(dea8618)</span></li>

 <li>staging/xmlgui/src/kactioncollection.cpp <span style="color: grey">(5085f53)</span></li>

 <li>staging/xmlgui/src/khelpmenu.cpp <span style="color: grey">(cfc52a0)</span></li>

 <li>staging/xmlgui/src/ktoolbar.cpp <span style="color: grey">(6a59874)</span></li>

 <li>staging/xmlgui/src/ktoolbarhandler.cpp <span style="color: grey">(162de5a)</span></li>

 <li>staging/xmlgui/src/kxmlguibuilder.cpp <span style="color: grey">(6eb8a51)</span></li>

 <li>staging/xmlgui/src/kxmlguiclient.cpp <span style="color: grey">(809033f)</span></li>

 <li>tier1/kconfig/src/core/CMakeLists.txt <span style="color: grey">(51e21ff)</span></li>

 <li>tier1/kconfig/src/core/kauthorized.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>tier1/kconfig/src/core/kauthorized.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>tier1/kconfig/src/core/kcoreauthorized.h <span style="color: grey">(2a3d79e)</span></li>

 <li>tier1/kconfig/src/core/kcoreauthorized.cpp <span style="color: grey">(97cbc79)</span></li>

 <li>tier1/kconfig/src/core/kdesktopfile.cpp <span style="color: grey">(a0d5cb8)</span></li>

</ul>

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







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








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