[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 -> service
- module_file -> moduleFile
- error_reason -> 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'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 "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)</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