[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kwrite-devel
Subject:    Re: Review Request 113720: Python plugins refactored
From:       "Alex Turbov" <i.zaufi () gmail ! com>
Date:       2013-11-10 21:27:42
Message-ID: 20131110212742.9462.76086 () vidsolbach ! de
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


> On Nov. 10, 2013, 11:22 a.m., Dominik Haumann wrote:
> > addons/kate/pate/src/engine.cpp, line 185
> > <http://git.reviewboard.kde.org/r/113720/diff/1/?file=211993#file211993line185>
> > 
> > Now that the Pate::Engine() has no parent, who deletes finally? Maybe I'm missing a delete call in \
> > the destructor of the Pate plugin or somehwere else?

Going to make it as a data member of Plugin class instead of singleton.


> On Nov. 10, 2013, 11:22 a.m., Dominik Haumann wrote:
> > addons/kate/pate/src/engine.h, line 51
> > <http://git.reviewboard.kde.org/r/113720/diff/1/?file=211992#file211992line51>
> > 
> > Since this is a public struct, we usually omit the m_ prefix in this case. And:
> > - srv -> service
> > - module_file -> moduleFile
> > - error_reason -> errorReason

Going to make it as a class w/ accessors... Only Engine can make instances of it, everybody else can only \
read it...


- Alex


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/113720/#review43330
-----------------------------------------------------------


On Nov. 8, 2013, 6:09 a.m., Alex Turbov wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/113720/
> -----------------------------------------------------------
> 
> (Updated Nov. 8, 2013, 6:09 a.m.)
> 
> 
> Review request for Kate and Shaheed Haque.
> 
> 
> Repository: kate
> 
> 
> Description
> -------
> 
> Search installed Python plugins via trader. 
> Introduce `Kate/PythonPlugin` service type. 
> Make plugins management look-n-feel as C++ plugins.
> Enabled plugins now are per session (stored under "Enabled Plugins" key of the pate config group), so \
> it is possible to have different plugins in different sessions (just like C++ plugins). 
> Sample .desktop file:
> 
> [Desktop Entry]
> Type=Service
> ServiceTypes=Kate/PythonPlugin
> X-KDE-Library=cmake_utils/cmake_utils.py
> Name=CMake Utilities
> Comment=Code completer, cache and help browser
> X-Python-2-Compatible=false
> X-Python-3-Compatible=true
> 
> The patch contains .desktop files only for plugins I wrote (and use) myself. Other plugins still need \
> .desktop files (I don't know exactly which Python they are require) 
> 
> Diffs
> -----
> 
> addons/kate/pate/src/utilities.cpp 3ed19d6 
> addons/kate/pate/src/utilities.h d88af0f 
> addons/kate/pate/src/plugins/format.desktop PRE-CREATION 
> addons/kate/pate/src/plugins/expand.desktop PRE-CREATION 
> addons/kate/pate/src/plugins/commentar.desktop PRE-CREATION 
> addons/kate/pate/src/plugins/color_tools.desktop PRE-CREATION 
> addons/kate/pate/src/plugins/cmake_utils/cmake_utils.desktop PRE-CREATION 
> addons/kate/pate/src/plugins/block.desktop PRE-CREATION 
> addons/kate/pate/src/plugin.cpp 85c84a3 
> addons/kate/pate/src/plugin.h 77369c6 
> addons/kate/pate/src/manager.ui 82213ee 
> addons/kate/pate/src/katepythonplugin.desktop PRE-CREATION 
> addons/kate/pate/src/engine.cpp 5484473 
> addons/kate/pate/src/engine.h 6c70ab9 
> addons/kate/pate/src/CMakeLists.txt 78bbdc0 
> 
> Diff: http://git.reviewboard.kde.org/r/113720/diff/
> 
> 
> Testing
> -------
> 
> 
> File Attachments
> ----------------
> 
> Python Plugins Management
> http://git.reviewboard.kde.org/media/uploaded/files/2013/11/08/f711a85f-34f7-4b2c-99d2-f1c375fcf88f__python-plugins-redesigned.png
>  
> 
> Thanks,
> 
> Alex Turbov
> 
> 


[Attachment #5 (text/html)]

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










<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On November 10th, 2013, 11:22 a.m. UTC, <b>Dominik Haumann</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="http://git.reviewboard.kde.org/r/113720/diff/1/?file=211992#file211992line51" style="color: black; \
font-weight: bold; text-decoration: underline;">addons/kate/pate/src/engine.h</a>  <span \
style="font-weight: normal;">

     (Diff revision 1)

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



 
 

 <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">46</font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="n">KService</span><span \
class="o">::</span><span class="n">Ptr</span> <span class="n">m_srv</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;">Since this is a public struct, we usually omit the m_ prefix in this \
                case. And:
- srv -&gt; service
- module_file -&gt; moduleFile
- error_reason -&gt; errorReason</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;">Going to make it as a class w/ accessors... Only Engine \
can make instances of it, everybody else can only read it...</pre> <br />

<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On November 10th, 2013, 11:22 a.m. UTC, <b>Dominik Haumann</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="http://git.reviewboard.kde.org/r/113720/diff/1/?file=211993#file211993line185" style="color: black; \
font-weight: bold; text-decoration: underline;">addons/kate/pate/src/engine.cpp</a>  <span \
style="font-weight: normal;">

     (Diff revision 1)

    </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; ">PyMODINIT_FUNC \
PATE_INIT(void)</pre></td>

  </tr>
 </tbody>



 
 

 <tbody>

  <tr>
    <th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font \
size="2">181</font></th>  <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: \
140%; margin: 0; ">        <span class="n">s_self</span> <span class="o">=</span> <span \
class="k">new</span> <span class="n">Pate</span><span class="o">::</span><span \
class="n">Engine</span><span class="p">(</span><span class="n"><span class="hl">qApp</span></span><span \
class="p">);</span></pre></td>  <th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; \
border-right: 1px solid #C0C0C0;" align="right"><font size="2">110</font></th>  <td bgcolor="#fdfebc" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span \
class="n">s_self</span> <span class="o">=</span> <span class="k">new</span> <span \
class="n">Pate</span><span class="o">::</span><span class="n">Engine</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;">Now that the Pate::Engine() has no parent, who deletes finally? \
Maybe I&#39;m missing a delete call in the destructor of the Pate plugin or somehwere else?</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;">Going to make it as a data member of Plugin class \
instead of singleton.</pre> <br />




<p>- Alex</p>


<br />
<p>On November 8th, 2013, 6:09 a.m. UTC, Alex Turbov 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 Kate and Shaheed Haque.</div>
<div>By Alex Turbov.</div>


<p style="color: grey;"><i>Updated Nov. 8, 2013, 6:09 a.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kate
</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;">Search installed Python plugins via trader.  \
Introduce `Kate/PythonPlugin` service type.  Make plugins management look-n-feel as C++ plugins.
Enabled plugins now are per session (stored under &quot;Enabled Plugins&quot; key of the pate config \
group), so it is possible to have different plugins in different sessions (just like C++ plugins).

Sample .desktop file:

[Desktop Entry]
Type=Service
ServiceTypes=Kate/PythonPlugin
X-KDE-Library=cmake_utils/cmake_utils.py
Name=CMake Utilities
Comment=Code completer, cache and help browser
X-Python-2-Compatible=false
X-Python-3-Compatible=true

The patch contains .desktop files only for plugins I wrote (and use) myself. Other plugins still need \
.desktop files (I don&#39;t know exactly which Python they are require)</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>addons/kate/pate/src/utilities.cpp <span style="color: grey">(3ed19d6)</span></li>

 <li>addons/kate/pate/src/utilities.h <span style="color: grey">(d88af0f)</span></li>

 <li>addons/kate/pate/src/plugins/format.desktop <span style="color: grey">(PRE-CREATION)</span></li>

 <li>addons/kate/pate/src/plugins/expand.desktop <span style="color: grey">(PRE-CREATION)</span></li>

 <li>addons/kate/pate/src/plugins/commentar.desktop <span style="color: grey">(PRE-CREATION)</span></li>

 <li>addons/kate/pate/src/plugins/color_tools.desktop <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>addons/kate/pate/src/plugins/cmake_utils/cmake_utils.desktop <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>addons/kate/pate/src/plugins/block.desktop <span style="color: grey">(PRE-CREATION)</span></li>

 <li>addons/kate/pate/src/plugin.cpp <span style="color: grey">(85c84a3)</span></li>

 <li>addons/kate/pate/src/plugin.h <span style="color: grey">(77369c6)</span></li>

 <li>addons/kate/pate/src/manager.ui <span style="color: grey">(82213ee)</span></li>

 <li>addons/kate/pate/src/katepythonplugin.desktop <span style="color: grey">(PRE-CREATION)</span></li>

 <li>addons/kate/pate/src/engine.cpp <span style="color: grey">(5484473)</span></li>

 <li>addons/kate/pate/src/engine.h <span style="color: grey">(6c70ab9)</span></li>

 <li>addons/kate/pate/src/CMakeLists.txt <span style="color: grey">(78bbdc0)</span></li>

</ul>

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



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">File Attachments </h1>

<ul>

 <li><a href="http://git.reviewboard.kde.org/media/uploaded/files/2013/11/08/f711a85f-34f7-4b2c-99d2-f1c375fcf88f__python-plugins-redesigned.png">Python \
Plugins Management</a></li>

</ul>





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








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



_______________________________________________
KWrite-Devel mailing list
KWrite-Devel@kde.org
https://mail.kde.org/mailman/listinfo/kwrite-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic