[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-core-devel
Subject: Re: Review Request 120627: Remove kdelibs4support.
From: "Kevin Kofler" <kevin.kofler () chello ! at>
Date: 2014-10-18 0:37:50
Message-ID: 20141018003750.21224.6812 () probe ! kde ! org
[Download RAW message or body]
--===============0991492335274351897==
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
> On Okt. 17, 2014, 10:12 nachm., Kevin Kofler wrote:
> > main.cpp, line 132
> > <https://git.reviewboard.kde.org/r/120627/diff/1/?file=320275#file320275line132>
> >
> > I think this now needs something like:
> > QDir::isAbsolutePath(args.at(0)) ? QUrl::fromLocalFile(args.at(0)) : \
> > QUrl(args.at(0))
> > QUrl really needs a static method for that, neither the constructor, nor \
> > fromLocalFile, nor fromUserInput do the right thing in this context. I'm going to \
> > ask on kde-core-devel if I'm missing something.
> > This shows up so often in this function that it might be worth putting it into a \
> > helper function.
>
> Kevin Kofler wrote:
> So, we should definitely put whatever we use in a wrapper function, because:
> 1. That way, it's easy to fix whatever we wrote if we run into some corner case \
> where it doesn't work. 2. From Qt 5.4 onwards, one can write:
> QUrl::fromUserInput(arg, QDir::currentPath(), QUrl::AssumeLocalFile)
> (see http://doc-snapshot.qt-project.org/qt5-5.4/qurl.html#fromUserInput-2)
> which should do exactly what we want. (Unfortunately, that overload is new in 5.4. \
> Thanks to Lukáš Tinkl for pointing me to it.)
> The exact code Qt 5.4 uses is:
> https://qt.gitorious.org/qt/qtbase/commit/31ce6f50c679e61dc53f09ee1b1637918da38a82
> If we're writing a function anyway, we may as well use that logic, as in:
> ```c++
> QUrl urlFromArg(const QString& arg)
> {
> #if QT_VERSION >= 0x050400
> return QUrl::fromUserInput(arg, QDir::currentPath(), QUrl::AssumeLocalFile);
> #else
> // Logic from QUrl::fromUserInput(QString, QString, UserInputResolutionOptions)
> QUrl testUrl = QUrl(arg, QUrl::TolerantMode);
> if (testUrl.isRelative() && !QDir::isAbsolutePath(arg)) {
> QFileInfo fileInfo(QDir::current(), arg);
> return QUrl::fromLocalFile(fileInfo.absoluteFilePath());
> }
> return QUrl::fromUserInput(arg);
> #endif
> }
> ```
> (Okular is doing something similar, as pointed out by Lukáš.)
>
> Please note that I definitely want AssumeLocalFile, even where we don't need to \
> accept files that don't exist, because I don't want Kompare to do a hostname lookup \
> if it's passed a nonexisting file, I think it doesn't make any sense to assume a \
> URL if no http:// is given.
Actually, we don't need the QFileInfo in this case. (Qt 5.4's QUrl uses it because it \
also checks existence.) So the function simplifies to: ```c++
QUrl urlFromArg(const QString& arg)
{
#if QT_VERSION >= 0x050400
return QUrl::fromUserInput(arg, QDir::currentPath(), QUrl::AssumeLocalFile);
#else
// Logic from QUrl::fromUserInput(QString, QString, UserInputResolutionOptions)
return (QUrl(arg, QUrl::TolerantMode).isRelative() && !QDir::isAbsolutePath(arg))
? QUrl::fromLocalFile(QDir::current().absoluteFilePath(arg))
: QUrl::fromUserInput(arg);
#endif
}
```
- Kevin
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/120627/#review68628
-----------------------------------------------------------
On Okt. 17, 2014, 9:38 nachm., Jeremy Whiting wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/120627/
> -----------------------------------------------------------
>
> (Updated Okt. 17, 2014, 9:38 nachm.)
>
>
> Review request for kdelibs and Kevin Kofler.
>
>
> Repository: kompare
>
>
> Description
> -------
>
> Change KUrl to QUrl.
> Use QLayout/QFrame instead of KVBox (seems broken though somehow)
> Use QFileDialog instead of KFileDialog.
>
>
> Diffs
> -----
>
> libdialogpages/viewpage.cpp 07bdba5e1edf55a6dcd02e5deef58d30c07660c2
> libdialogpages/viewsettings.h dbf6afe0d0c70e548e32dfc09391d67ef595cdba
> libdialogpages/viewsettings.cpp 5a69d0bd9a49f7a3881940c4ea8ad407be56adc1
> main.cpp 4132c8442f8546ee7d365051dda0e32196249217
> libdialogpages/diffpage.h 37490b1ebb245e9648530429da63a9240010dddd
> libdialogpages/diffpage.cpp 7800b486e023cffe41e1fa3e9e60781250ea4199
> libdialogpages/filespage.h 42afafcd0fc8bc0a01e32b79d414742937d791fb
> libdialogpages/filespage.cpp 6a87fe36abd57bdaa09b516de38969db6c6f2298
> libdialogpages/filessettings.h dc3306e34fe1b4eb7cb6a9d2b598f91932bedda0
> libdialogpages/filessettings.cpp 0e19dc00f22a2f6e9588bf2d110dbde682888472
> libdialogpages/pagebase.h 0cef46feaa2cc81deff12c2c5f739e6be6df1b49
> libdialogpages/pagebase.cpp ba1574aed7124ede49e1c5908a8fe693cf7bc5d3
> libdialogpages/viewpage.h b5b770d1441650564106e1cc7ef7e587f6ee142d
> komparepart/komparesplitter.cpp 8d496bf279caa7cb9a305c2d15131f591c48818d
> kompareurldialog.h dc50c588e70835ad9292da1baf5222f58f512f67
> kompareurldialog.cpp 7de050bc44770a79f8f7d789cabd95d6707a40f1
> libdialogpages/CMakeLists.txt 769a1154c56e8eb8aa42f1bc6d84e0f9a4154fd0
> libdialogpages/dialogpagesexport.h b2de57f6616739d353d4889ef4965ab07f1191aa
> komparenavtreepart/komparenavtreepart.cpp 3faceff78fbbd2f083cd0a7837c74f50fe543474
> komparepart/CMakeLists.txt 09b61e6ca0cdce391fc759be49a672a050cc16cd
> komparepart/kompare_part.h 24475f1b0ccf7fbeda56860a9a69955cd0b82808
> komparepart/kompare_part.cpp 4d40be0dedcfb91b77ee239de11188b328f8bc13
> komparepart/komparelistview.cpp 35bbab849d8b7938cba518e97a00ed50cae35612
> komparepart/kompareprefdlg.cpp 118485663390e9563a77741b490a9cdf8bf6d464
> komparepart/komparesaveoptionswidget.cpp 4c9acba6a7f9c6dda04130946faac37138422875
> CMakeLists.txt 38167c2099d0ea1600bd5a6893982e809902fa3a
> doc/index.docbook 578d12a41d9a6afed441ffd38c39bff16c096ab2
> interfaces/kompareinterface.h 53b19d944b2a4a65c14ea41b8f1c0997581933db
> kompare_shell.h 8549fcdc4d1536c58734f2bc3a78b9ebc42c6c5f
> kompare_shell.cpp dcc45513f3f9f5f94869046989b6b4f5b1c0995e
> komparenavtreepart/CMakeLists.txt 53e8e670e70629afac9197fc108d844733ec5c07
>
> Diff: https://git.reviewboard.kde.org/r/120627/diff/
>
>
> Testing
> -------
>
> It builds and runs. The compare dialog ui looks squished though and doesn't resize \
> like it used to, must be something I did wrong when porting away from KVBox
>
> Thanks,
>
> Jeremy Whiting
>
>
--===============0991492335274351897==
MIME-Version: 1.0
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: 8bit
<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/120627/">https://git.reviewboard.kde.org/r/120627/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;"> <p style="margin-top: 0;">On Oktober 17th, 2014, 10:12 nachm. UTC, <b>Kevin \
Kofler</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/120627/diff/1/?file=320275#file320275line132" \
style="color: black; font-weight: bold; text-decoration: underline;">main.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; ">static \
const char version[] = "4.1.3";</pre></td>
</tr>
</tbody>
<tbody>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2">126</font></th> <td bgcolor="#fdfebc" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb"> </span><span \
class="tb"> </span><span class="tb"> </span><span class="tb"> </span><span \
class="tb"> </span><span class="n">ks</span><span class="o">-></span><span \
class="n">openDiff</span><span class="p">(</span> <span class="n">args</span><span \
class="o"><span class="hl">-></span></span><span class="n"><span \
class="hl">url</span></span><span class="p">(</span> <span class="mi">0</span> <span \
class="p">)</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">130</font></th> <td bgcolor="#fdfebc" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb"> </span><span \
class="tb"> </span><span class="tb"> </span><span class="tb"> </span><span \
class="tb"> </span><span class="n">ks</span><span class="o">-></span><span \
class="n">openDiff</span><span class="p">(</span> <span class="n">args</span><span \
class="p"><span class="hl">.</span></span><span class="n"><span \
class="hl">at</span></span><span class="p">(</span> <span class="mi">0</span> <span \
class="p">)</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;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I \
think this now needs something like: QDir::isAbsolutePath(args.at(0)) ? \
QUrl::fromLocalFile(args.at(0)) : QUrl(args.at(0))</p> <p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">QUrl \
really needs a static method for that, neither the constructor, nor fromLocalFile, \
nor fromUserInput do the right thing in this context. I'm going to ask on \
kde-core-devel if I'm missing something.</p> <p style="padding: 0;text-rendering: \
inherit;margin: 0;line-height: inherit;white-space: inherit;">This shows up so often \
in this function that it might be worth putting it into a helper function.</p></pre> \
</blockquote>
<p>On Oktober 18th, 2014, 12:24 vorm. UTC, <b>Kevin Kofler</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;">So, \
we should definitely put whatever we use in a wrapper function, because: 1. That way, \
it's easy to fix whatever we wrote if we run into some corner case where it doesn't \
work. 2. From Qt 5.4 onwards, one can write:
QUrl::fromUserInput(arg, QDir::currentPath(), QUrl::AssumeLocalFile)
(see http://doc-snapshot.qt-project.org/qt5-5.4/qurl.html#fromUserInput-2)
which should do exactly what we want. (Unfortunately, that overload is new in 5.4. \
Thanks to Lukáš Tinkl for pointing me to it.)</p> <p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The \
exact code Qt 5.4 uses is: \
https://qt.gitorious.org/qt/qtbase/commit/31ce6f50c679e61dc53f09ee1b1637918da38a82 If \
we're writing a function anyway, we may as well use that logic, as in:</p> <p \
style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
inherit;"><div class="codehilite" style="background: #f8f8f8"><pre \
style="line-height: 125%">QUrl <span style="color: #0000FF">urlFromArg</span>(<span \
style="color: #008000; font-weight: bold">const</span> QString<span style="color: \
#666666">&</span> arg) {
<span style="color: #BC7A00">#if QT_VERSION >= 0x050400</span>
<span style="color: #008000; font-weight: bold">return</span> QUrl<span \
style="color: #666666">::</span>fromUserInput(arg, QDir<span style="color: \
#666666">::</span>currentPath(), QUrl<span style="color: \
#666666">::</span>AssumeLocalFile); <span style="color: #BC7A00">#else</span>
<span style="color: #408080; font-style: italic">// Logic from \
QUrl::fromUserInput(QString, QString, UserInputResolutionOptions)</span> QUrl \
testUrl <span style="color: #666666">=</span> QUrl(arg, QUrl<span style="color: \
#666666">::</span>TolerantMode); <span style="color: #008000; font-weight: \
bold">if</span> (testUrl.isRelative() <span style="color: #666666">&&</span> \
<span style="color: #666666">!</span>QDir<span style="color: \
#666666">::</span>isAbsolutePath(arg)) {
QFileInfo fileInfo(QDir<span style="color: #666666">::</span>current(), arg);
<span style="color: #008000; font-weight: bold">return</span> QUrl<span \
style="color: #666666">::</span>fromLocalFile(fileInfo.absoluteFilePath()); }
<span style="color: #008000; font-weight: bold">return</span> QUrl<span \
style="color: #666666">::</span>fromUserInput(arg); <span style="color: \
#BC7A00">#endif</span> }
</pre></div>
</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">(Okular is doing something similar, as pointed out by \
Lukáš.)</p> <p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">Please note that I definitely want AssumeLocalFile, \
even where we don't need to accept files that don't exist, because I don't want \
Kompare to do a hostname lookup if it's passed a nonexisting file, I think it doesn't \
make any sense to assume a URL if no http:// is given.</p></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;"><p \
style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
inherit;">Actually, we don't need the QFileInfo in this case. (Qt 5.4's QUrl uses it \
because it also checks existence.) So the function simplifies to:</p> <p \
style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
inherit;"><div class="codehilite" style="background: #f8f8f8"><pre \
style="line-height: 125%">QUrl <span style="color: #0000FF">urlFromArg</span>(<span \
style="color: #008000; font-weight: bold">const</span> QString<span style="color: \
#666666">&</span> arg) {
<span style="color: #BC7A00">#if QT_VERSION >= 0x050400</span>
<span style="color: #008000; font-weight: bold">return</span> QUrl<span \
style="color: #666666">::</span>fromUserInput(arg, QDir<span style="color: \
#666666">::</span>currentPath(), QUrl<span style="color: \
#666666">::</span>AssumeLocalFile); <span style="color: #BC7A00">#else</span>
<span style="color: #408080; font-style: italic">// Logic from \
QUrl::fromUserInput(QString, QString, UserInputResolutionOptions)</span> <span \
style="color: #008000; font-weight: bold">return</span> (QUrl(arg, QUrl<span \
style="color: #666666">::</span>TolerantMode).isRelative() <span style="color: \
#666666">&&</span> <span style="color: #666666">!</span>QDir<span \
style="color: #666666">::</span>isAbsolutePath(arg)) <span style="color: \
#666666">?</span> QUrl<span style="color: #666666">::</span>fromLocalFile(QDir<span \
style="color: #666666">::</span>current().absoluteFilePath(arg))
<span style="color: #666666">:</span> QUrl<span style="color: \
#666666">::</span>fromUserInput(arg); <span style="color: #BC7A00">#endif</span>
}
</pre></div>
</p></pre>
<br />
<p>- Kevin</p>
<br />
<p>On Oktober 17th, 2014, 9:38 nachm. UTC, Jeremy Whiting 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 kdelibs and Kevin Kofler.</div>
<div>By Jeremy Whiting.</div>
<p style="color: grey;"><i>Updated Okt. 17, 2014, 9:38 nachm.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
kompare
</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;">Change KUrl to QUrl. Use QLayout/QFrame instead of \
KVBox (seems broken though somehow) Use QFileDialog instead of KFileDialog.</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;">It builds and runs. The compare dialog ui looks \
squished though and doesn't resize like it used to, must be something I did wrong \
when porting away from KVBox</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>libdialogpages/viewpage.cpp <span style="color: \
grey">(07bdba5e1edf55a6dcd02e5deef58d30c07660c2)</span></li>
<li>libdialogpages/viewsettings.h <span style="color: \
grey">(dbf6afe0d0c70e548e32dfc09391d67ef595cdba)</span></li>
<li>libdialogpages/viewsettings.cpp <span style="color: \
grey">(5a69d0bd9a49f7a3881940c4ea8ad407be56adc1)</span></li>
<li>main.cpp <span style="color: \
grey">(4132c8442f8546ee7d365051dda0e32196249217)</span></li>
<li>libdialogpages/diffpage.h <span style="color: \
grey">(37490b1ebb245e9648530429da63a9240010dddd)</span></li>
<li>libdialogpages/diffpage.cpp <span style="color: \
grey">(7800b486e023cffe41e1fa3e9e60781250ea4199)</span></li>
<li>libdialogpages/filespage.h <span style="color: \
grey">(42afafcd0fc8bc0a01e32b79d414742937d791fb)</span></li>
<li>libdialogpages/filespage.cpp <span style="color: \
grey">(6a87fe36abd57bdaa09b516de38969db6c6f2298)</span></li>
<li>libdialogpages/filessettings.h <span style="color: \
grey">(dc3306e34fe1b4eb7cb6a9d2b598f91932bedda0)</span></li>
<li>libdialogpages/filessettings.cpp <span style="color: \
grey">(0e19dc00f22a2f6e9588bf2d110dbde682888472)</span></li>
<li>libdialogpages/pagebase.h <span style="color: \
grey">(0cef46feaa2cc81deff12c2c5f739e6be6df1b49)</span></li>
<li>libdialogpages/pagebase.cpp <span style="color: \
grey">(ba1574aed7124ede49e1c5908a8fe693cf7bc5d3)</span></li>
<li>libdialogpages/viewpage.h <span style="color: \
grey">(b5b770d1441650564106e1cc7ef7e587f6ee142d)</span></li>
<li>komparepart/komparesplitter.cpp <span style="color: \
grey">(8d496bf279caa7cb9a305c2d15131f591c48818d)</span></li>
<li>kompareurldialog.h <span style="color: \
grey">(dc50c588e70835ad9292da1baf5222f58f512f67)</span></li>
<li>kompareurldialog.cpp <span style="color: \
grey">(7de050bc44770a79f8f7d789cabd95d6707a40f1)</span></li>
<li>libdialogpages/CMakeLists.txt <span style="color: \
grey">(769a1154c56e8eb8aa42f1bc6d84e0f9a4154fd0)</span></li>
<li>libdialogpages/dialogpagesexport.h <span style="color: \
grey">(b2de57f6616739d353d4889ef4965ab07f1191aa)</span></li>
<li>komparenavtreepart/komparenavtreepart.cpp <span style="color: \
grey">(3faceff78fbbd2f083cd0a7837c74f50fe543474)</span></li>
<li>komparepart/CMakeLists.txt <span style="color: \
grey">(09b61e6ca0cdce391fc759be49a672a050cc16cd)</span></li>
<li>komparepart/kompare_part.h <span style="color: \
grey">(24475f1b0ccf7fbeda56860a9a69955cd0b82808)</span></li>
<li>komparepart/kompare_part.cpp <span style="color: \
grey">(4d40be0dedcfb91b77ee239de11188b328f8bc13)</span></li>
<li>komparepart/komparelistview.cpp <span style="color: \
grey">(35bbab849d8b7938cba518e97a00ed50cae35612)</span></li>
<li>komparepart/kompareprefdlg.cpp <span style="color: \
grey">(118485663390e9563a77741b490a9cdf8bf6d464)</span></li>
<li>komparepart/komparesaveoptionswidget.cpp <span style="color: \
grey">(4c9acba6a7f9c6dda04130946faac37138422875)</span></li>
<li>CMakeLists.txt <span style="color: \
grey">(38167c2099d0ea1600bd5a6893982e809902fa3a)</span></li>
<li>doc/index.docbook <span style="color: \
grey">(578d12a41d9a6afed441ffd38c39bff16c096ab2)</span></li>
<li>interfaces/kompareinterface.h <span style="color: \
grey">(53b19d944b2a4a65c14ea41b8f1c0997581933db)</span></li>
<li>kompare_shell.h <span style="color: \
grey">(8549fcdc4d1536c58734f2bc3a78b9ebc42c6c5f)</span></li>
<li>kompare_shell.cpp <span style="color: \
grey">(dcc45513f3f9f5f94869046989b6b4f5b1c0995e)</span></li>
<li>komparenavtreepart/CMakeLists.txt <span style="color: \
grey">(53e8e670e70629afac9197fc108d844733ec5c07)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/120627/diff/" style="margin-left: \
3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>
--===============0991492335274351897==--
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic