diff options
Diffstat (limited to 'misc/ibus/panel.py')
-rw-r--r-- | misc/ibus/panel.py | 1308 |
1 files changed, 416 insertions, 892 deletions
diff --git a/misc/ibus/panel.py b/misc/ibus/panel.py index 52293d7e4ab2..de8a5a4e6238 100644 --- a/misc/ibus/panel.py +++ b/misc/ibus/panel.py @@ -1,893 +1,417 @@ - - - - -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" -"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<!-- ViewVC :: http://www.viewvc.org/ --> -<head> -<title>[KDE] Log of /tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py</title> -<style type="text/css"> -.cp-doNotDisplay { display: none; } -@media aural, braille, handheld, tty { .cp-doNotDisplay { display: inline; speak: normal; }} -.cp-edit { text-align: right; } -@media print, embossed { .cp-edit { display: none; }} -.vc_header_sort a:link { color: #ffffff; } -.vc_header_sort a:visited { color: #ffffff; } -.vc_header_sort a:active { color: #ffffff; } -.vc_header { -background-color: #73A5DE; -} -.vc_header_sort { -background-color: #0069BD; -border-bottom: 1px solid #000000; -color: #ffffff; -} -.vc_row_odd { -background-color:#BDCEEE; -} -</style> -<link rel="shortcut icon" href="/docroot/images/favicon.ico" type="image/x-icon" /> -<link rel="stylesheet" href="/docroot/styles.css" type="text/css" /> - -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta http-equiv="Content-Style-Type" content="text/css" /> -<link rel="meta" href="http://www.kde.org/labels.rdf" type="application/rdf+xml" title="ICRA labels" /> -<meta name="trademark" content="KDE e.V." /> -<meta name="description" content="KDE Source Cross Reference" /> -<meta name="MSSmartTagsPreventParsing" content="true" /> -<meta name="robots" content="all" /> -<meta name="no-email-collection" content="http://www.unspam.com/noemailcollection" /> -<link rel="shortcut icon" href="/docroot/images/favicon.ico" /> -<link rel="icon" href="/docroot/images/favicon.ico" /> -<link rel="stylesheet" media="screen" type="text/css" title="KDE Colors" href="/docroot/kde.css" /> -<link rel="stylesheet" media="print, embossed" type="text/css" href="/docroot/print.css" /> -<link rel="stylesheet" media="screen, aural, handheld, tty, braille" type="text/css" title="Flat" href="/docroot/flat.css" /> -</head> -<body id="cp-site-wwwkdeorg"> -<ul class="cp-doNotDisplay"> -<li><a href="#cp-content" accesskey="2">Skip to content</a></li> -<li><a href="#cp-menu" accesskey="5">Skip to link menu</a></li> -</ul> -<div id="container"> -<div id="header"> -<div id="header_top"><div><div> -<img alt ="" src="/docroot/top-kde.jpg"/> -The KDE Source Repository </div></div></div> -<div id="header_bottom"> -<div id="location"> -<ul> -<li><a href="http://www.kde.org" accesskey="1">KDE Homepage</a> / <a href="/" >KDE Source Repository Homepage</a></li> -</ul> -</div> -<div id="menu"> -<ul> -<li><a href="javascript:fullWidth()"><img src="/docroot/images/full.png" alt="-" />Full Width</a></li> -<li><a href="http://kde.org/family/">Sitemap</a></li> -<li><a href="http://kde.org/contact/">Contact Us</a></li> -</ul> </div> -</div> -</div> -<!-- End page header --> -<div id="body_wrapper"> -<div id="body"> -<!-- begin main content --> -<div class="content"> -<div id="main"> -<div class="clearer"> </div> -<a name="cp-content" /> -<div class="vc_navheader"> -<table><tr> -<td><strong><a href="/?view=roots"><span class="pathdiv">/</span></a><a href="/">[KDE]</a><span class="pathdiv">/</span><a href="/tags/">tags</a><span class="pathdiv">/</span><a href="/tags/KDE/">KDE</a><span class="pathdiv">/</span><a href="/tags/KDE/4.4.3/">4.4.3</a><span class="pathdiv">/</span><a href="/tags/KDE/4.4.3/kdeplasma-addons/">kdeplasma-addons</a><span class="pathdiv">/</span><a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/">applets</a><span class="pathdiv">/</span><a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/">kimpanel</a><span class="pathdiv">/</span><a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/">backend</a><span class="pathdiv">/</span><a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/">ibus</a><span class="pathdiv">/</span>panel.py</strong></td> -<td style="text-align: right;"></td> -</tr></table> -</div> -<h1>Log of /tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py</h1> - -<p style="margin:0;"> - -<a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/"><img src="/docroot/images/back_small.png" class="vc_icon" alt="Parent Directory" /> Parent Directory</a> - -| <a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?view=log"><img src="/docroot/images/log.png" class="vc_icon" alt="Revision Log" /> Revision Log</a> - - - - -</p> - -<hr /> -<table class="auto"> - - - -<tr> -<td>Links to HEAD:</td> -<td> -(<a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?view=markup">view</a>) -(<a href="/*checkout*/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py">download</a>) -(<a href="/*checkout*/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?content-type=text%2Fplain">as text</a>) -(<a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?view=annotate">annotate</a>) -</td> -</tr> - - - -<tr> -<td>Sticky Revision:</td> -<td><form method="get" action="/" style="display: inline"> -<div style="display: inline"> -<input type="hidden" name="orig_pathtype" value="FILE"/><input type="hidden" name="orig_view" value="log"/><input type="hidden" name="orig_path" value="tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py"/><input type="hidden" name="view" value="redirect_pathrev"/> - -<input type="text" name="pathrev" value="" size="6"/> - -<input type="submit" value="Set" /> -</div> -</form> - -</td> -</tr> -</table> - - - - - - - - -<div> -<hr /> - -<a name="rev1120722"></a> - - -Revision <a href="/?view=revision&revision=1120722"><strong>1120722</strong></a> - - - -(<a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?revision=1120722&view=markup">view</a>) - - -(<a href="/*checkout*/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?revision=1120722">download</a>) -(<a href="/*checkout*/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?revision=1120722&content-type=text%2Fplain">as text</a>) -(<a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?annotate=1120722">annotate</a>) - - - -- <a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?r1=1120722&view=log">[select for diffs]</a> - - - - -<br /> - -Modified - -<em>Thu Apr 29 19:55:36 2010 UTC</em> -(7 weeks, 2 days ago) -by <em>mueller</em> - - - - - - - - - -<br />File length: 13866 byte(s) - - - - - - - -<br />Diff to <a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?r1=1070858&r2=1120722">previous 1070858</a> - - - - - - - -<pre class="vc_log">KDE 4.4.3 -</pre> -</div> - - - -<div> -<hr /> - -<a name="rev1070858"></a> - - -Revision <a href="/?view=revision&revision=1070858"><strong>1070858</strong></a> - - - -(<a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?revision=1070858&view=markup">view</a>) - - -(<a href="/*checkout*/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?revision=1070858">download</a>) -(<a href="/*checkout*/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?revision=1070858&content-type=text%2Fplain">as text</a>) -(<a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?annotate=1070858">annotate</a>) - - - -- <a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?r1=1070858&view=log">[select for diffs]</a> - - - - -<br /> - -Modified - -<em>Wed Jan 6 22:46:33 2010 UTC</em> -(5 months, 1 week ago) -by <em>mueller</em> - -<br />Original Path: <a href="/branches/KDE/4.4/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?view=log&pathrev=1070858"><em>branches/KDE/4.4/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py</em></a> - - - - - - - - - -<br />File length: 13866 byte(s) - - - - - - - -<br />Diff to <a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?r1=1053797&r2=1070858">previous 1053797</a> - - - - - - - -<pre class="vc_log">creating KDE 4.4 branch based on KDE 4.4 RC1 tag -</pre> -</div> - - - -<div> -<hr /> - -<a name="rev1053797"></a> - - -Revision <a href="/?view=revision&revision=1053797"><strong>1053797</strong></a> - - - -(<a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?revision=1053797&view=markup">view</a>) - - -(<a href="/*checkout*/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?revision=1053797">download</a>) -(<a href="/*checkout*/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?revision=1053797&content-type=text%2Fplain">as text</a>) -(<a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?annotate=1053797">annotate</a>) - - - -- <a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?r1=1053797&view=log">[select for diffs]</a> - - - - -<br /> - -Modified - -<em>Tue Nov 24 20:23:56 2009 UTC</em> -(6 months, 3 weeks ago) -by <em>aseigo</em> - -<br />Original Path: <a href="/trunk/KDE/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?view=log&pathrev=1053797"><em>trunk/KDE/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py</em></a> - - - - - - - - - -<br />File length: 13866 byte(s) - - - - - - - -<br />Diff to <a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?r1=948185&r2=1053797">previous 948185</a> - - - - - - - -<pre class="vc_log">move to addons -</pre> -</div> - - - -<div> -<hr /> - -<a name="rev948185"></a> - - -Revision <a href="/?view=revision&revision=948185"><strong>948185</strong></a> - - - -(<a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?revision=948185&view=markup">view</a>) - - -(<a href="/*checkout*/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?revision=948185">download</a>) -(<a href="/*checkout*/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?revision=948185&content-type=text%2Fplain">as text</a>) -(<a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?annotate=948185">annotate</a>) - - - -- <a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?r1=948185&view=log">[select for diffs]</a> - - - - -<br /> - -Modified - -<em>Thu Apr 2 14:21:40 2009 UTC</em> -(14 months, 2 weeks ago) -by <em>wkai</em> - -<br />Original Path: <a href="/trunk/kdereview/plasma/applets/kimpanel/backend/ibus/panel.py?view=log&pathrev=948185"><em>trunk/kdereview/plasma/applets/kimpanel/backend/ibus/panel.py</em></a> - - - - - - - - - -<br />File length: 13866 byte(s) - - - - - - - -<br />Diff to <a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?r1=942652&r2=948185">previous 942652</a> - - - - - - - -<pre class="vc_log">disable page up/down button when can't go up/down, -slightly change dbus interface, -reserved parameters for UpdateLookupTable removed -</pre> -</div> - - - -<div> -<hr /> - -<a name="rev942652"></a> - - -Revision <a href="/?view=revision&revision=942652"><strong>942652</strong></a> - - - -(<a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?revision=942652&view=markup">view</a>) - - -(<a href="/*checkout*/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?revision=942652">download</a>) -(<a href="/*checkout*/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?revision=942652&content-type=text%2Fplain">as text</a>) -(<a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?annotate=942652">annotate</a>) - - - -- <a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?r1=942652&view=log">[select for diffs]</a> - - - - -<br /> - -Modified - -<em>Sun Mar 22 12:09:21 2009 UTC</em> -(14 months, 4 weeks ago) -by <em>wkai</em> - -<br />Original Path: <a href="/trunk/kdereview/plasma/applets/kimpanel/backend/ibus/panel.py?view=log&pathrev=942652"><em>trunk/kdereview/plasma/applets/kimpanel/backend/ibus/panel.py</em></a> - - - - - - - - - -<br />File length: 13799 byte(s) - - - - - - - -<br />Diff to <a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?r1=939029&r2=942652">previous 939029</a> - - - - - - - -<pre class="vc_log">move to kdereview - -</pre> -</div> - - - -<div> -<hr /> - -<a name="rev939029"></a> - - -Revision <a href="/?view=revision&revision=939029"><strong>939029</strong></a> - - - -(<a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?revision=939029&view=markup">view</a>) - - -(<a href="/*checkout*/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?revision=939029">download</a>) -(<a href="/*checkout*/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?revision=939029&content-type=text%2Fplain">as text</a>) -(<a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?annotate=939029">annotate</a>) - - - -- <a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?r1=939029&view=log">[select for diffs]</a> - - - - -<br /> - -Modified - -<em>Fri Mar 13 15:56:35 2009 UTC</em> -(15 months, 1 week ago) -by <em>wkai</em> - -<br />Original Path: <a href="/trunk/playground/base/plasma/applets/kimpanel/backend/ibus/panel.py?view=log&pathrev=939029"><em>trunk/playground/base/plasma/applets/kimpanel/backend/ibus/panel.py</em></a> - - - - - - - - - -<br />File length: 13799 byte(s) - - - - - - - -<br />Diff to <a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?r1=938831&r2=939029">previous 938831</a> - - - - - - - -<pre class="vc_log">rename kimpaneltye.h to kimagenttype.h -trivial margin fix -</pre> -</div> - - - -<div> -<hr /> - -<a name="rev938831"></a> - - -Revision <a href="/?view=revision&revision=938831"><strong>938831</strong></a> - - - -(<a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?revision=938831&view=markup">view</a>) - - -(<a href="/*checkout*/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?revision=938831">download</a>) -(<a href="/*checkout*/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?revision=938831&content-type=text%2Fplain">as text</a>) -(<a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?annotate=938831">annotate</a>) - - - -- <a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?r1=938831&view=log">[select for diffs]</a> - - - - -<br /> - -Modified - -<em>Fri Mar 13 08:55:44 2009 UTC</em> -(15 months, 1 week ago) -by <em>wkai</em> - -<br />Original Path: <a href="/trunk/playground/base/plasma/applets/kimpanel/backend/ibus/panel.py?view=log&pathrev=938831"><em>trunk/playground/base/plasma/applets/kimpanel/backend/ibus/panel.py</em></a> - - - - - - - - - -<br />File length: 13341 byte(s) - - -<br />Copied from: <a href="/trunk/playground/base/plasma/applets/kimpanel/ibus/panel.py?view=log&pathrev=937826"><em>trunk/playground/base/plasma/applets/kimpanel/ibus/panel.py</em></a> revision 937826 - - - - - - -<br />Diff to <a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?r1=937826&r2=938831">previous 937826</a> - - - - - - - -<pre class="vc_log">Rewrite statusbar and candiate window code to use QGraphicsView. -Support page up/down, select entry with mouse in candiate window. -Basic hover effect on candidate entry. -</pre> -</div> - - - -<div> -<hr /> - -<a name="rev937826"></a> - - -Revision <a href="/?view=revision&revision=937826"><strong>937826</strong></a> - - - -(<a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?revision=937826&view=markup">view</a>) - - -(<a href="/*checkout*/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?revision=937826">download</a>) -(<a href="/*checkout*/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?revision=937826&content-type=text%2Fplain">as text</a>) -(<a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?annotate=937826">annotate</a>) - - - -- <a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?r1=937826&view=log">[select for diffs]</a> - - - - -<br /> - -Modified - -<em>Tue Mar 10 13:44:42 2009 UTC</em> -(15 months, 1 week ago) -by <em>wkai</em> - -<br />Original Path: <a href="/trunk/playground/base/plasma/applets/kimpanel/ibus/panel.py?view=log&pathrev=937826"><em>trunk/playground/base/plasma/applets/kimpanel/ibus/panel.py</em></a> - - - - - - - - - -<br />File length: 13341 byte(s) - - - - - - - -<br />Diff to <a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?r1=937620&r2=937826">previous 937620</a> - - - - - - - -<pre class="vc_log">Handle input styles which client can't display preedit text. -Cursor move/edit support in preedit text. -</pre> -</div> - - - -<div> -<hr /> - -<a name="rev937620"></a> - - -Revision <a href="/?view=revision&revision=937620"><strong>937620</strong></a> - - - -(<a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?revision=937620&view=markup">view</a>) - - -(<a href="/*checkout*/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?revision=937620">download</a>) -(<a href="/*checkout*/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?revision=937620&content-type=text%2Fplain">as text</a>) -(<a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?annotate=937620">annotate</a>) - - - -- <a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?r1=937620&view=log">[select for diffs]</a> - - - - -<br /> - -Modified - -<em>Tue Mar 10 05:38:50 2009 UTC</em> -(15 months, 1 week ago) -by <em>wkai</em> - -<br />Original Path: <a href="/trunk/playground/base/plasma/applets/kimpanel/ibus/panel.py?view=log&pathrev=937620"><em>trunk/playground/base/plasma/applets/kimpanel/ibus/panel.py</em></a> - - - - - - - - - -<br />File length: 13034 byte(s) - - - - - - - -<br />Diff to <a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?r1=937601&r2=937620">previous 937601</a> - - - - - - - -<pre class="vc_log">Handle show/hide candidate window better. -Install instruction for ibus backend. -</pre> -</div> - - - -<div> -<hr /> - -<a name="rev937601"></a> - - -Revision <a href="/?view=revision&revision=937601"><strong>937601</strong></a> - - - -(<a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?revision=937601&view=markup">view</a>) - - -(<a href="/*checkout*/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?revision=937601">download</a>) -(<a href="/*checkout*/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?revision=937601&content-type=text%2Fplain">as text</a>) -(<a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?annotate=937601">annotate</a>) - - - -- <a href="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py?r1=937601&view=log">[select for diffs]</a> - - - - -<br /> - -Added - -<em>Tue Mar 10 01:14:51 2009 UTC</em> -(15 months, 1 week ago) -by <em>wkai</em> - -<br />Original Path: <a href="/trunk/playground/base/plasma/applets/kimpanel/ibus/panel.py?view=log&pathrev=937601"><em>trunk/playground/base/plasma/applets/kimpanel/ibus/panel.py</em></a> - - - - - - - -<br />File length: 12676 byte(s) - - - - - - - - - - - -<pre class="vc_log">Add an ibus backend with main features done: - statusbar,auxiliary text,candidate window,cursor follow etc.. -Don't show an empty lookup table. -</pre> -</div> - - - - - <hr /> -<p><a name="diff"></a> -This form allows you to request diffs between any two revisions of this file. -For each of the two "sides" of the diff, - -enter a numeric revision. - -</p> -<form method="get" action="/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py" id="diff_select"> -<table cellpadding="2" cellspacing="0" class="auto"> -<tr> -<td> </td> -<td> -<input type="hidden" name="view" value="diff"/> -Diffs between - -<input type="text" size="12" name="r1" -value="1120722" /> - -and - -<input type="text" size="12" name="r2" value="937601" /> - -</td> -</tr> -<tr> -<td> </td> -<td> -Type of Diff should be a -<select name="diff_format" onchange="submit()"> -<option value="h" selected="selected">Colored Diff</option> -<option value="l" >Long Colored Diff</option> -<option value="f" >Full Colored Diff</option> -<option value="u" >Unidiff</option> -<option value="c" >Context Diff</option> -<option value="s" >Side by Side</option> -</select> -<input type="submit" value=" Get Diffs " /> -</td> -</tr> -</table> -</form> - - - - - </div> -</div> -</div> -<div class="clearer"></div> -</div> -<div class="clearer"></div> -</div> -<div id="end_body"></div> -<div id="footer"><div id="footer_text"> -Maintained by the <a href="mailto:sysadmin@kde.org">KDE sysadmins</a><br /> -KDE<sup>®</sup> and <a href="http://kde.org/media/images/kde_gear_black.png">the K Desktop Environment<sup>®</sup> logo</a> are registered trademarks of <a href="http://ev.kde.org/" title="Homepage of the KDE non-profit Organization">KDE e.V.</a> | -<a href="http://www.kde.org/contact/impressum.php">Legal</a> -</div></div> -</div> -<script type="text/javascript"> -function $(id) -{ -return document.getElementById(id); -} -function setCookie(key, value, life){ -var today = new Date(), expires = ''; -if(life) -{ -expires = new Date(today.getTime() + (life * 24*60*60*1000)); -expires = "; expires=" + expires.toGMTString(); -} -var str = key + "=" + escape(value) + expires + "; path=/"; -document.cookie = str; -} -function deleteCookie(key) { -setCookie(key,"",-1); -} -function getCookie(key) -{ -var istart = document.cookie.indexOf(key + '=') + 1; -istart = document.cookie.indexOf("=", istart) + 1 -if (istart == -1) -{ -return false; -} -var iend = document.cookie.indexOf(";", istart); -if (iend == -1) -{ -iend = document.cookie.length; -} -return unescape(document.cookie.substring(istart, iend)); -} -var fullsize = false; -function fullWidth() -{ -if(fullsize) -{ -deleteCookie('fullWidth'); -fullsize = false; -} -else -{ -fullsize = true; -setCookie('fullWidth', 'true'); -} -$('body_wrapper').style.width = (fullsize) ? '95%' : '60em'; -$('body_wrapper').style.maxWidth = (fullsize) ? '95%' : '45em'; -$('body').style.width = (fullsize) ? '100%' : '60em'; -$('body').style.maxWidth = (fullsize) ? '100%' : '45em'; -} -if(getCookie('fullWidth') == 'true') -{ -fullWidth(); -} -</script> -</body> -</html> - +#! /usr/bin/env python +# vim:set et sts=4 sw=4: +# +# ibus-panel-dbus - Another panel for ibus +# +# Copyright (c) 2009 Wang Hoi <zealot.hoi@gmail.com> +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this program; if not, write to the +# Free Software Foundation, Inc., 59 Temple Place, Suite 330, +# Boston, MA 02111-1307 USA + +#IBUS_SERVICE_KIMPANEL = "org.freedesktop.IBus.Panel.KIM" +#IBUS_PATH_KIMPANEL = "/org/freedesktop/IBus/Panel/KIM" + +from ibus import * +from ibus.panel import * +from ibus.bus import Bus +from ibus.inputcontext import InputContext +from ibus import keysyms +#import ibus.interface +import gtk +import dbus + +IBUS_ICON_DIR = '/usr/share/ibus/icons/' + +from gettext import dgettext +_ = lambda a : dgettext("ibus", a) +N_ = lambda a : a + +def prop2string(prop): + __prop_key = '/IBus/'+prop.get_key() + __prop_label = prop.get_label().get_text() + __prop_icon = prop.get_icon() + __prop_tip = prop.get_tooltip().get_text() + + # workaround + if len(__prop_icon)==0: + # the setup icon + if (prop.get_key()=='setup'): + __prop_icon = 'configure' + + __prop = __prop_key + ':' + __prop_label + ':' + __prop_icon + ':' + __prop_tip + return __prop + +class KIMIbusClient(dbus.service.Object): + def __init__(self, object_path): + dbus.service.Object.__init__(self, dbus.SessionBus(), object_path) + + @dbus.service.signal(dbus_interface='org.ibus.panel', + signature='s') + def ExecDialog(self, prop): + pass + + @dbus.service.signal(dbus_interface='org.ibus.panel', + signature='as') + def ExecMenu(self, props): + pass + + @dbus.service.signal(dbus_interface='org.ibus.panel', + signature='as') + def RegisterProperties(self, props): + pass + + @dbus.service.signal(dbus_interface='org.ibus.panel', + signature='s') + def UpdateProperty(self, prop): + pass + + @dbus.service.signal(dbus_interface='org.ibus.panel', + signature='s') + def RemoveProperty(self, prop): + pass + + @dbus.service.signal(dbus_interface='org.ibus.panel', + signature='b') + def Enable(self, b): + pass + + @dbus.service.signal(dbus_interface='org.ibus.panel', + signature='b') + def ShowAux(self, b): + pass + + @dbus.service.signal(dbus_interface='org.ibus.panel', + signature='b') + def ShowPreedit(self, b): + pass + + @dbus.service.signal(dbus_interface='org.ibus.panel', + signature='b') + def ShowLookupTable(self, b): + pass + + @dbus.service.signal(dbus_interface='org.ibus.panel', + signature='asasasbb') + def UpdateLookupTable(self, labels,items,xs,bool1,bool2): + pass + + @dbus.service.signal(dbus_interface='org.ibus.panel', + signature='i') + def UpdatePreeditCaret(self, pos): + pass + + @dbus.service.signal(dbus_interface='org.ibus.panel', + signature='ss') + def UpdatePreeditText(self, test, attr): + pass + + @dbus.service.signal(dbus_interface='org.ibus.panel', + signature='ss') + def UpdateAux(self, test, attr): + pass + + @dbus.service.signal(dbus_interface='org.ibus.panel', + signature='ii') + def UpdateSpotLocation(self, x, y): + pass + + @dbus.service.signal(dbus_interface='org.ibus.panel', + signature='i') + def UpdateScreen(self, id): + pass + +class KIMPanel(PanelBase): + def __init__(self): + self.__bus = Bus() + self.__bus.connect("disconnected", gtk.main_quit) + super(KIMPanel, self).__init__(self.__bus) + self.__bus.request_name(IBUS_SERVICE_PANEL, 0) + self.__session_bus = dbus.SessionBus() + #self.__kimproxy = self.__session_bus.get_object('org.kde.impanel', + # '/org/kde/impanel') + #self.__kimifce = dbus.Interface(self.__kimproxy, + # 'org.kde.impanel') + self.__session_bus.add_signal_receiver(self.kim_trigger_property, + signal_name='TriggerProperty', + dbus_interface='org.kde.impanel') + self.__session_bus.add_signal_receiver(self.kim_panel_created, + signal_name='PanelCreated', + dbus_interface='org.kde.impanel') + self.__session_bus.add_signal_receiver(self.kim_reload_config, + signal_name='ReloadConfig', + dbus_interface='org.kde.impanel') + self.__session_bus.add_signal_receiver(gtk.main_quit, + signal_name='Exit', + dbus_interface='org.kde.impanel') + self.__session_bus.add_signal_receiver(self.page_up, + signal_name='LookupTablePageUp', + dbus_interface='org.kde.impanel') + self.__session_bus.add_signal_receiver(self.page_down, + signal_name='LookupTablePageDown', + dbus_interface='org.kde.impanel') + self.__session_bus.add_signal_receiver(self.kim_select_candidate, + signal_name='SelectCandidate', + dbus_interface='org.kde.impanel') + + self.__kimclient = KIMIbusClient('/org/ibus/panel') + + self.__focus_ic = None + + self.__logo_prop = Property(key='Logo', label='IBus', icon=IBUS_ICON_DIR + '/ibus.svg', tooltip='IBus input method') + self.__about_prop = Property(key='About', label=_('IBus intelligent input bus'), icon='help-about') + self.__about_prop.set_tooltip(_("IBus is an intelligent input bus for Linux/Unix.\n\nHuang Peng <shawn.p.huang@gmail.com>")) + self.__prop_map = {} + + self.__im_menu = [] + + def focus_in(self,ic): + self.__focus_ic = InputContext(self.__bus, ic) + enabled = self.__focus_ic.is_enabled() + + if not enabled: + self.__logo_prop.icon = IBUS_ICON_DIR + '/ibus.svg' + else: + engine = self.__focus_ic.get_engine() + if engine: + self.__logo_prop.icon = engine.icon + else: + self.__logo_prop.icon = IBUS_ICON_DIR + '/ibus.svg' + + self.__kimclient.UpdateProperty(prop2string(self.__logo_prop)) + + def state_changed(self): + print 'state_changed' + if not self.__focus_ic: + return + + enabled = self.__focus_ic.is_enabled() + + if enabled == False: + self.__reset() + self.__logo_prop.set_icon(IBUS_ICON_DIR + 'ibus.svg') + else: + engine = self.__focus_ic.get_engine() + if engine: + self.__logo_prop.set_icon(engine.icon) + else: + self.__logo_prop.set_icon(IBUS_ICON_DIR + 'ibus.svg') + self.__kimclient.UpdateProperty(prop2string(self.__logo_prop)) + + def focus_out(self,ic): + #self.__focus_ic = None + self.__logo_prop.icon = IBUS_ICON_DIR + '/ibus.svg' + self.__kimclient.UpdateProperty(prop2string(self.__logo_prop)) + + def set_cursor_location(self, x, y, w, h): + #print 'set_cursor_location',x,y,w,h + self.__kimclient.UpdateSpotLocation(x+w,y+h) + + def update_preedit_text(self, text, cursor_pos, visible): + print 'update_preedit_text',cursor_pos,visible + self.__kimclient.UpdatePreeditText(text.get_text(),'') + self.__kimclient.UpdatePreeditCaret(cursor_pos) + if visible: + self.show_preedit_text() + else: + self.hide_preedit_text() + + def show_preedit_text(self): + print 'show_preedit_text' + self.__kimclient.ShowPreedit(1) + + def hide_preedit_text(self): + print 'hide_preedit_text' + self.__kimclient.ShowPreedit(0) + + def update_auxiliary_text(self, text, visible): + #print 'update_auxiliary_text',visible + self.__kimclient.UpdateAux(text.get_text(),'') + if visible: + self.show_auxiliary_text() + else: + self.hide_auxiliary_text() + + def show_auxiliary_text(self): + print 'show_auxiliary_text' + self.__kimclient.ShowAux(1) + + def hide_auxiliary_text(self): + print 'hide_auxiliary_text' + self.__kimclient.ShowAux(0) + + def update_lookup_table(self, lookup_table, visible): + if lookup_table == None: + lookup_table = LookupTable() + + self.__lookup_table = lookup_table + + self.__labels = [] + self.__candis = [] + self.__attrs = [] + i = 0 + for text_obj in lookup_table.get_candidates_in_current_page(): + i=i+1 + if i==10: + i=0 + self.__labels.append(str(i)) + self.__candis.append(text_obj.get_text()) + self.__attrs.append('') + + self.__kimclient.UpdateLookupTable(self.__labels, + self.__candis,self.__attrs,dbus.Boolean(1),dbus.Boolean(lookup_table.get_current_page_size() <= lookup_table.get_page_size())) + + if visible: + self.show_lookup_table() + else: + self.hide_lookup_table() + + + def show_lookup_table(self): + print 'show_lookup_table' + self.__kimclient.ShowLookupTable(1) + + def hide_lookup_table(self): + print 'hide_lookup_table' + self.__kimclient.ShowLookupTable(0) + + def cursor_up_lookup_table(self): + print 'cursor_up_lookup_table' + + def cursor_down_lookup_table(self): + print 'cursor_down_lookup_table' + + def show_candidate_window(self): + print 'show_candidate_window' + + def hide_candidate_window(self): + print 'hide_candidate_window' + + def show_language_bar(self): + print 'show_language_bar' + + def hide_language_bar(self): + print 'hide_language_bar' + + def register_properties(self, props): + print 'register_properties' + __props = [] + __props.append(prop2string(self.__logo_prop)) + for prop in props.get_properties(): + __props.append(prop2string(prop)) + __prop_key = '/IBus/'+prop.get_key() + #self.__prop + __props.append(prop2string(self.__about_prop)) + + self.__kimclient.RegisterProperties(__props) + + def update_property(self, prop): + print 'update_property' + self.__kimclient.UpdateProperty(prop2string(prop)) + + def get_status_icon(self): + print 'get_status_icon' + +# begin of signal handler + + def kim_panel_created(self): + print 'KIM: panel created' + + def kim_reload_config(self): + print 'KIM: reload config' + + def kim_trigger_property(self,prop): + print 'KIM: trigger property' + if prop.startswith('/IBus/'): + __prop_key = prop[6:] + if __prop_key == 'Logo': + self.__im_menu = self.__create_im_menu() + self.__kimclient.ExecMenu(map(prop2string,self.__im_menu)) + elif __prop_key == 'About': + self.__kimclient.ExecDialog(prop2string(self.__about_prop)) + elif __prop_key.startswith('Engine/'): + self.__reset() + __prop_key = __prop_key[7:] + if __prop_key == 'None': + self.__focus_ic.disable() + else: + engines = self.__bus.list_active_engines() + for engine in engines: + print engine.name + if engine.name == __prop_key: + print 'matched engine' + self.__focus_ic.set_engine(engine) + else: + self.property_activate(__prop_key,PROP_STATE_CHECKED) + + def kim_select_candidate(self,index): + print 'select_candidate:Implement me!' + # dirty hack + #if self.__focus_ic: + # #engine = self.__focus_ic.get_engine() + # #if engine: + # # print 'select_candidate',index + # self.__focus_ic.process_key_event(keysyms._1,0) + pass + + def __reset(self): + self.hide_auxiliary_text() + self.hide_preedit_text() + self.hide_lookup_table() + + def __create_im_menu(self): + engines = self.__bus.list_active_engines() + + tmp = {} + for engine in engines: + lang = get_language_name(engine.language) + if lang not in tmp: + tmp[lang] = [] + tmp[lang].append(engine) + + langs = tmp.keys() + other = tmp.get(_("Other"), []) + if _("Other") in tmp: + langs.remove(_("Other")) + langs.append(_("Other")) + + im_menu = [] + + for lang in langs: + if len(tmp[lang]) == 1: + engine = tmp[lang][0] + item = Property(key='Engine/'+engine.name) + item.set_label("%s - %s" % (lang, engine.longname)) + if engine.icon: + item.set_icon(engine.icon) + else: + item.set_icon("engine-default") + print prop2string(item) + im_menu.append(item) + else: + pass + + item = Property(key='Engine/None',label=_('Disable'),icon=IBUS_ICON_DIR+'/ibus.svg') + im_menu.append(item) + + return im_menu + + +def launch_panel(): + panel = KIMPanel() + gtk.main() + +if __name__ == "__main__": + launch_panel() |