Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > by-pkgid > 98d6b53e11e983e268c3e19f14e091a0 > files > 876

kdepim-devel-doc-3.5.9-9mdv2008.1.x86_64.rpm

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en_US" xml:lang="en_US">

<head>
  <title>kaddressbook: incsearchwidget.cpp Source File (kaddressbook)</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

  <meta http-equiv="Content-Style-Type" content="text/css" />

  <meta http-equiv="pics-label" content='(pics-1.1 "http://www.icra.org/ratingsv02.html" comment "ICRAonline DE v2.0" l gen true for "http://www.kde.org"  r (nz 1 vz 1 lz 1 oz 1 cb 1) "http://www.rsac.org/ratingsv01.html" l gen true for "http://www.kde.org"  r (n 0 s 0 v 0 l 0))' />

  <meta name="trademark" content="KDE e.V." />
  <meta name="description" content="K Desktop Environment Homepage, KDE.org" />
  <meta name="MSSmartTagsPreventParsing" content="true" />
  <meta name="robots" content="all" />

  <link rel="shortcut icon" href="../../favicon.ico" />

<link rel="stylesheet" media="screen" type="text/css" title="APIDOX" href="doxygen.css" />



<style type="text/css">
<!--
hr { display: none; }
#content h2 { margin-left: 0px; }
table.mdTable { background-color: #f8f8f8; border: .2em solid #d7d7d7; }
td.mdRow { padding: 8px 20px; }
td.md { font-weight: bold; }
td.mdname1 { font-weight: bold; color: #602020; }
td.mdname { font-weight: bold; color: #602020;  }

-->
</style>

</head>

<body>

<div id="nav_header_top" align="right">
  <a href="#content" class="doNotDisplay" accesskey="2">Skip to main content ::</a>

  <a href="../.."><img id="nav_header_logo" alt="Home" align="left" src="../../kde_gear_64.png" border="0" /></a>
  <span class="doNotDisplay">::</span>
  <img id="nav_header_logo_right" alt="" align="right" src="../../pimlogo.png" border="0" />

  <div id="nav_header_title" align="left">KDE PIM API Reference</div>


</div>

<div id="nav_header_bottom" align="right">
  <span class="doNotDisplay">:: <a href="#navigation" accesskey="5">Skip to Link Menu</a><br/></span>
  <div id="nav_header_bottom_left" style="text-align: left;">
/ <a href="../../">API Reference</a>
 / <a href=".">kaddressbook</a>
  </div>
</div>


<table id="main" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
      <td valign="top" class="menuheader" height="0"></td>

  <td id="contentcolumn" valign="top" rowspan="2" >
    <div id="content" style="padding-top: 0px;"><div style="width:100%; margin: 0px; padding: 0px;">
    <h2><a name="content"></a>kaddressbook</h2>


<!-- Generated by Doxygen 1.5.5 -->
<h1>incsearchwidget.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">    This file is part of KAddressBook.</span>
<a name="l00003"></a>00003 <span class="comment">    Copyright (c) 2002 Tobias Koenig &lt;tokoe@kde.org&gt;</span>
<a name="l00004"></a>00004 <span class="comment"></span>
<a name="l00005"></a>00005 <span class="comment">    This program is free software; you can redistribute it and/or modify</span>
<a name="l00006"></a>00006 <span class="comment">    it under the terms of the GNU General Public License as published by</span>
<a name="l00007"></a>00007 <span class="comment">    the Free Software Foundation; either version 2 of the License, or</span>
<a name="l00008"></a>00008 <span class="comment">    (at your option) any later version.</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00010"></a>00010 <span class="comment">    This program is distributed in the hope that it will be useful,</span>
<a name="l00011"></a>00011 <span class="comment">    but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="l00012"></a>00012 <span class="comment">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
<a name="l00013"></a>00013 <span class="comment">    GNU General Public License for more details.</span>
<a name="l00014"></a>00014 <span class="comment"></span>
<a name="l00015"></a>00015 <span class="comment">    You should have received a copy of the GNU General Public License</span>
<a name="l00016"></a>00016 <span class="comment">    along with this program; if not, write to the Free Software</span>
<a name="l00017"></a>00017 <span class="comment">    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</span>
<a name="l00018"></a>00018 <span class="comment"></span>
<a name="l00019"></a>00019 <span class="comment">    As a special exception, permission is given to link this program</span>
<a name="l00020"></a>00020 <span class="comment">    with any edition of Qt, and distribute the resulting executable,</span>
<a name="l00021"></a>00021 <span class="comment">    without including the source code for Qt in the source distribution.</span>
<a name="l00022"></a>00022 <span class="comment">*/</span>
<a name="l00023"></a>00023 
<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;qapplication.h&gt;</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;qcombobox.h&gt;</span>
<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;qlabel.h&gt;</span>
<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;qlayout.h&gt;</span>
<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;qtimer.h&gt;</span>
<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;qtoolbutton.h&gt;</span>
<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;qtooltip.h&gt;</span>
<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;qwhatsthis.h&gt;</span>
<a name="l00032"></a>00032 
<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;kdialog.h&gt;</span>
<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;kiconloader.h&gt;</span>
<a name="l00035"></a>00035 <span class="preprocessor">#include &lt;klineedit.h&gt;</span>
<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;klocale.h&gt;</span>
<a name="l00037"></a>00037 
<a name="l00038"></a>00038 <span class="preprocessor">#include "incsearchwidget.h"</span>
<a name="l00039"></a>00039 
<a name="l00040"></a>00040 IncSearchWidget::IncSearchWidget( QWidget *parent, <span class="keyword">const</span> <span class="keywordtype">char</span> *name )
<a name="l00041"></a>00041     : QWidget( parent, name )
<a name="l00042"></a>00042 {
<a name="l00043"></a>00043   QHBoxLayout *layout = <span class="keyword">new</span> QHBoxLayout( <span class="keyword">this</span>, 2, KDialog::spacingHint() );
<a name="l00044"></a>00044 
<a name="l00045"></a>00045   QToolButton *button = <span class="keyword">new</span> QToolButton( <span class="keyword">this</span> );
<a name="l00046"></a>00046   button-&gt;setSizePolicy( QSizePolicy::Minimum, QSizePolicy::Minimum );
<a name="l00047"></a>00047   button-&gt;setPixmap( SmallIcon( QApplication::reverseLayout() ? <span class="stringliteral">"clear_left"</span> : <span class="stringliteral">"locationbar_erase"</span> ) );
<a name="l00048"></a>00048   button-&gt;setAccel( QKeySequence( CTRL+ALT+Key_S ) );
<a name="l00049"></a>00049   button-&gt;setAutoRaise( <span class="keyword">true</span> );
<a name="l00050"></a>00050   QToolTip::add( button, i18n( <span class="stringliteral">"Reset"</span> ) );
<a name="l00051"></a>00051   layout-&gt;addWidget( button );
<a name="l00052"></a>00052 
<a name="l00053"></a>00053   QLabel *label = <span class="keyword">new</span> QLabel( i18n( <span class="stringliteral">"Search:"</span> ), <span class="keyword">this</span>, <span class="stringliteral">"kde toolbar widget"</span> );
<a name="l00054"></a>00054   label-&gt;setAlignment( QLabel::AlignVCenter | QLabel::AlignRight );
<a name="l00055"></a>00055   layout-&gt;addWidget( label );
<a name="l00056"></a>00056 
<a name="l00057"></a>00057   mSearchText = <span class="keyword">new</span> KLineEdit( <span class="keyword">this</span> );
<a name="l00058"></a>00058   mSearchText-&gt;setSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::Preferred );
<a name="l00059"></a>00059   QWhatsThis::add( mSearchText, i18n( <span class="stringliteral">"The incremental search&lt;p&gt;Enter some text here will start the search for the contact, which matches the search pattern best. The part of the contact, which will be used for matching, depends on the field selection."</span> ) );
<a name="l00060"></a>00060   label-&gt;setBuddy( mSearchText );
<a name="l00061"></a>00061   layout-&gt;addWidget( mSearchText );
<a name="l00062"></a>00062 
<a name="l00063"></a>00063   label = <span class="keyword">new</span> QLabel( i18n( <span class="stringliteral">"as in 'Search in:'"</span>, <span class="stringliteral">"&amp;in:"</span> ), <span class="keyword">this</span>, <span class="stringliteral">"kde toolbar widget"</span> );
<a name="l00064"></a>00064   label-&gt;setAlignment( QLabel::AlignVCenter | QLabel::AlignRight );
<a name="l00065"></a>00065   layout-&gt;addWidget( label );
<a name="l00066"></a>00066 
<a name="l00067"></a>00067   mFieldCombo = <span class="keyword">new</span> QComboBox( <span class="keyword">false</span>, <span class="keyword">this</span> );
<a name="l00068"></a>00068   layout-&gt;addWidget( mFieldCombo );
<a name="l00069"></a>00069   label-&gt;setBuddy(mFieldCombo);
<a name="l00070"></a>00070 
<a name="l00071"></a>00071   QToolTip::add( mFieldCombo, i18n( <span class="stringliteral">"Select incremental search field"</span> ) );
<a name="l00072"></a>00072   QWhatsThis::add( mFieldCombo, i18n( <span class="stringliteral">"Here you can choose the field, which shall be used for incremental search."</span> ) );
<a name="l00073"></a>00073 
<a name="l00074"></a>00074   mInputTimer = <span class="keyword">new</span> QTimer( <span class="keyword">this</span> );
<a name="l00075"></a>00075 
<a name="l00076"></a>00076   connect( mInputTimer, SIGNAL( timeout() ),
<a name="l00077"></a>00077            SLOT( timeout() ) );
<a name="l00078"></a>00078   connect( mSearchText, SIGNAL( textChanged( <span class="keyword">const</span> QString&amp; ) ),
<a name="l00079"></a>00079            SLOT( announceDoSearch() ) );
<a name="l00080"></a>00080   connect( mSearchText, SIGNAL( returnPressed() ),
<a name="l00081"></a>00081            SLOT( announceDoSearch() ) );
<a name="l00082"></a>00082   connect( mFieldCombo, SIGNAL( activated( <span class="keyword">const</span> QString&amp; ) ),
<a name="l00083"></a>00083            SLOT( announceDoSearch() ) );
<a name="l00084"></a>00084   connect( button, SIGNAL( clicked() ),
<a name="l00085"></a>00085            mSearchText, SLOT( clear() ) );
<a name="l00086"></a>00086   connect( button, SIGNAL( clicked() ),
<a name="l00087"></a>00087            SLOT( announceDoSearch() ) );
<a name="l00088"></a>00088 
<a name="l00089"></a>00089   initFields();
<a name="l00090"></a>00090 
<a name="l00091"></a>00091   mSearchText-&gt;installEventFilter( <span class="keyword">this</span> );
<a name="l00092"></a>00092 
<a name="l00093"></a>00093   setFocusProxy( mSearchText );
<a name="l00094"></a>00094 }
<a name="l00095"></a>00095 
<a name="l00096"></a>00096 IncSearchWidget::~IncSearchWidget()
<a name="l00097"></a>00097 {
<a name="l00098"></a>00098 }
<a name="l00099"></a>00099 
<a name="l00100"></a>00100 <span class="keywordtype">void</span> IncSearchWidget::announceDoSearch()
<a name="l00101"></a>00101 {
<a name="l00102"></a>00102   <span class="keywordflow">if</span> ( mInputTimer-&gt;isActive() )
<a name="l00103"></a>00103     mInputTimer-&gt;stop();
<a name="l00104"></a>00104 
<a name="l00105"></a>00105   mInputTimer-&gt;start( 0, <span class="keyword">true</span> );
<a name="l00106"></a>00106 }
<a name="l00107"></a>00107 
<a name="l00108"></a>00108 <span class="keywordtype">void</span> IncSearchWidget::timeout()
<a name="l00109"></a>00109 {
<a name="l00110"></a>00110   emit doSearch( mSearchText-&gt;text() );
<a name="l00111"></a>00111 }
<a name="l00112"></a>00112 
<a name="l00113"></a>00113 <span class="keywordtype">void</span> IncSearchWidget::initFields()
<a name="l00114"></a>00114 {
<a name="l00115"></a>00115   mFieldList = KABC::Field::allFields();
<a name="l00116"></a>00116 
<a name="l00117"></a>00117   mFieldCombo-&gt;clear();
<a name="l00118"></a>00118   mFieldCombo-&gt;insertItem( i18n( <span class="stringliteral">"Visible Fields"</span> ) );
<a name="l00119"></a>00119   mFieldCombo-&gt;insertItem( i18n( <span class="stringliteral">"All Fields"</span> ) );
<a name="l00120"></a>00120 
<a name="l00121"></a>00121   KABC::Field::List::ConstIterator it;
<a name="l00122"></a>00122   <span class="keywordflow">for</span> ( it = mFieldList.begin(); it != mFieldList.end(); ++it )
<a name="l00123"></a>00123     mFieldCombo-&gt;insertItem( (*it)-&gt;label() );
<a name="l00124"></a>00124 
<a name="l00125"></a>00125   announceDoSearch();
<a name="l00126"></a>00126 }
<a name="l00127"></a>00127 
<a name="l00128"></a>00128 KABC::Field::List IncSearchWidget::currentFields()<span class="keyword"> const</span>
<a name="l00129"></a>00129 <span class="keyword"></span>{
<a name="l00130"></a>00130   KABC::Field::List fieldList;
<a name="l00131"></a>00131 
<a name="l00132"></a>00132   <span class="keywordflow">if</span> ( mFieldCombo-&gt;currentItem() == 0 )
<a name="l00133"></a>00133     fieldList = mViewFields;
<a name="l00134"></a>00134   <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( mFieldCombo-&gt;currentItem() &gt; 1 )
<a name="l00135"></a>00135     fieldList.append( mFieldList[ mFieldCombo-&gt;currentItem() - 2 ] );
<a name="l00136"></a>00136 
<a name="l00137"></a>00137   <span class="keywordflow">return</span> fieldList;
<a name="l00138"></a>00138 }
<a name="l00139"></a>00139 
<a name="l00140"></a>00140 <span class="keywordtype">void</span> IncSearchWidget::setCurrentItem( <span class="keywordtype">int</span> pos )
<a name="l00141"></a>00141 {
<a name="l00142"></a>00142   mFieldCombo-&gt;setCurrentItem( pos );
<a name="l00143"></a>00143 }
<a name="l00144"></a>00144 
<a name="l00145"></a>00145 <span class="keywordtype">int</span> IncSearchWidget::currentItem()<span class="keyword"> const</span>
<a name="l00146"></a>00146 <span class="keyword"></span>{
<a name="l00147"></a>00147   <span class="keywordflow">return</span> mFieldCombo-&gt;currentItem();
<a name="l00148"></a>00148 }
<a name="l00149"></a>00149 
<a name="l00150"></a>00150 <span class="keywordtype">void</span> IncSearchWidget::setViewFields( <span class="keyword">const</span> KABC::Field::List &amp;fields )
<a name="l00151"></a>00151 {
<a name="l00152"></a>00152   mViewFields = fields;
<a name="l00153"></a>00153 }
<a name="l00154"></a>00154 
<a name="l00155"></a>00155 <span class="keywordtype">void</span> IncSearchWidget::clear()
<a name="l00156"></a>00156 {
<a name="l00157"></a>00157   mSearchText-&gt;clear();
<a name="l00158"></a>00158 }
<a name="l00159"></a>00159 
<a name="l00160"></a>00160 <span class="keywordtype">void</span> IncSearchWidget::keyPressEvent( QKeyEvent *event )
<a name="l00161"></a>00161 {
<a name="l00162"></a>00162   <span class="keywordflow">if</span> ( event-&gt;key() == Qt::Key_Up ) {
<a name="l00163"></a>00163     <span class="keyword">event</span>-&gt;accept();
<a name="l00164"></a>00164     emit scrollUp();
<a name="l00165"></a>00165   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( event-&gt;key() == Qt::Key_Down ) {
<a name="l00166"></a>00166     <span class="keyword">event</span>-&gt;accept();
<a name="l00167"></a>00167     emit scrollDown();
<a name="l00168"></a>00168   }
<a name="l00169"></a>00169 }
<a name="l00170"></a>00170 
<a name="l00171"></a>00171 <span class="preprocessor">#include "incsearchwidget.moc"</span>
</pre></div></div>
    </div></div>


      </td>
  </tr>
  <tr>
    <td valign="top" id="leftmenu" width="25%">
      <a name="navigation"></a>
      <div class="menu_box"><h2>kaddressbook</h2>
<div class="nav_list">
<ul><li><a href="index.html">Main Page</a></li><li><a href="hierarchy.html">Class Hierarchy</a></li><li><a href="classes.html">Alphabetical List</a></li><li><a href="annotated.html">Class List</a></li><li><a href="files.html">File List</a></li><li><a href="functions.html">Class Members</a></li><li><a href="pages.html">Related Pages</a></li></ul>
<!--
<h2>Class Picker</h2>
<div style="text-align: center;">
<form name="guideform">
<select name="guidelinks" style="width:100%;" onChange="window.location=document.guideform.guidelinks.options[document.guideform.guidelinks.selectedIndex].value">
<option value="annotated.html">-- Choose --</option>
  <option value="classAddressEditDialog.html">addresseditdialog</option>,  <option value="classAddressEditWidget.html">addresseditwidget</option>,  <option value="classAddresseeUtil.html">addresseeutil</option>,  <option value="classAddressTypeDialog.html">addresstypedialog</option>,  <option value="classAddViewDialog.html">addviewdialog</option>,  <option value="classCardView.html">cardview</option>,  <option value="classCardViewItem.html">cardviewitem</option>,  <option value="classCardViewLookNFeelPage.html">cardviewlooknfeelpage</option>,  <option value="classConfigureCardViewWidget.html">configurecardviewwidget</option>,  <option value="classConfigureTableViewWidget.html">configuretableviewwidget</option>,  <option value="classDateParser.html">dateparser</option>,  <option value="classDistributionListView.html">distributionlistview</option>,  <option value="classDynamicTip.html">dynamictip</option>,  <option value="classEmailEditWidget.html">emaileditwidget</option>,  <option value="classEmailSelector.html">emailselector</option>,  <option value="classFilter.html">filter</option>,  <option value="classFilterSelectionWidget.html">filterselectionwidget</option>,  <option value="classIMAddressLVI.html">imaddresslvi</option>,  <option value="classIMAddressWidget.html">imaddresswidget</option>,  <option value="classImageButton.html">imagebutton</option>,  <option value="classImageLoader.html">imageloader</option>,  <option value="classIMEditorWidget.html">imeditorwidget</option>,  <option value="classIMEditWidget.html">imeditwidget</option>,  <option value="classJumpButtonBar.html">jumpbuttonbar</option>,  <option value="classKABPrinting_1_1PrintingWizard.html">kabprinting::printingwizard</option>,  <option value="classKABPrinting_1_1PrintProgress.html">kabprinting::printprogress</option>,  <option value="classKABPrinting_1_1PrintStyle.html">kabprinting::printstyle</option>,  <option value="classKABPrinting_1_1PrintStyleFactory.html">kabprinting::printstylefactory</option>,  <option value="classKAddressBookCardView.html">kaddressbookcardview</option>,  <option value="classKAddressBookIconView.html">kaddressbookiconview</option>,  <option value="classKAddressBookMain.html">kaddressbookmain</option>,  <option value="classKAddressBookTableView.html">kaddressbooktableview</option>,  <option value="classKAddressBookView.html">kaddressbookview</option>,  <option value="classLookAndFeelPage.html">lookandfeelpage</option>,  <option value="classNameEditDialog.html">nameeditdialog</option>,  <option value="classPhoneEditWidget.html">phoneeditwidget</option>,  <option value="classPhoneTypeDialog.html">phonetypedialog</option>,  <option value="classTypeCombo.html">typecombo</option>,  <option value="classViewConfigureWidget.html">viewconfigurewidget</option>,  <option value="classViewManager.html">viewmanager</option>,
</select>
</form>
</div>
-->
</div></div>
<div class="menu_box"><h2>API Dox</h2>
<div class="nav_list">
<ul>
<li><a href="../../akregator/html/index.html">akregator</a></li><li>&nbsp;&nbsp;<a href="../../akregator/src/html/index.html">src</a></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<a href="../../akregator/src/librss/html/index.html">librss</a></li><li><a href="../../certmanager/html/index.html">certmanager</a></li><li>&nbsp;&nbsp;<a href="../../certmanager/lib/html/index.html">lib</a></li><li><a href="../../kaddressbook/html/index.html">kaddressbook</a></li><li><a href="../../kalarm/html/index.html">kalarm</a></li><li>&nbsp;&nbsp;<a href="../../kalarm/lib/html/index.html">lib</a></li><li><a href="../../kandy/html/index.html">kandy</a></li><li><a href="../../karm/html/index.html">karm</a></li><li><a href="../../kdgantt/html/index.html">kdgantt</a></li><li><a href="../../kgantt/html/index.html">kgantt</a></li><li><a href="../../kioslaves/html/index.html">kioslaves</a></li><li>&nbsp;&nbsp;<a href="../../kioslaves/imap4/html/index.html">imap4</a></li><li>&nbsp;&nbsp;<a href="../../kioslaves/mbox/html/index.html">mbox</a></li><li><a href="../../kitchensync/html/index.html">kitchensync</a></li><li><a href="../../kmail/html/index.html">kmail</a></li><li><a href="../../knotes/html/index.html">knotes</a></li><li><a href="../../konsolekalendar/html/index.html">konsolekalendar</a></li><li><a href="../../kontact/html/index.html">kontact</a></li><li><a href="../../korganizer/html/index.html">korganizer</a></li><li><a href="../../kpilot/html/index.html">kpilot</a></li><li>&nbsp;&nbsp;<a href="../../kpilot/kpilot/html/index.html">kpilot</a></li><li>&nbsp;&nbsp;<a href="../../kpilot/lib/html/index.html">lib</a></li><li><a href="../../libemailfunctions/html/index.html">libemailfunctions</a></li><li><a href="../../libkcal/html/index.html">libkcal</a></li><li><a href="../../libkdepim/html/index.html">libkdepim</a></li><li><a href="../../libkholidays/html/index.html">libkholidays</a></li><li><a href="../../libkmime/html/index.html">libkmime</a></li><li><a href="../../libkpgp/html/index.html">libkpgp</a></li><li><a href="../../libkpimidentities/html/index.html">libkpimidentities</a></li>
</ul></div></div>


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

<span class="doNotDisplay">
  <a href="http://www.kde.org/" accesskey="8">KDE Home</a> |
  <a href="http://accessibility.kde.org/" accesskey="9">KDE Accessibility Home</a> |
  <a href="http://www.kde.org/media/accesskeys.php" accesskey="0">Description of Access Keys</a>
</span>


<div style="height: 8px"></div>

<div id="footer">
  <div id="footer_left">
    Maintained by <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;groo&#116;&#64;kde&#46;or&#x67;">Adriaan de Groot</a>
and
<a href="&#109;a&#105;&#108;&#116;&#111;&#58;w&#105;nter&#64;kde&#46;or&#x67">Allen Winter</a>.
<br/>
    KDE and K Desktop Environment are trademarks of <a href="http://www.kde.org/areas/kde-ev/" 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 id="footer_right"><img src="/media/images/footer_right.png" style="margin: 0px" alt="" /></div>
</div>

<!--
WARNING: DO NOT SEND MAIL TO THE FOLLOWING EMAIL ADDRESS! YOU WILL
BE BLOCKED INSTANTLY AND PERMANENTLY!
<a href="mailto:aaaatrap-425acc3b5374943f@kde.org">Block me</a>
WARNING END
-->

</body>
</html>