Sophie

Sophie

distrib > Mandriva > 2006.0 > x86_64 > by-pkgid > d0c58635c3fcc548e9b6ce88c8980028 > files > 661

lib64kdebase4-devel-3.4.2-55.5.20060mdk.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
  <title>kate Library: katefileselector.cpp Source File (kate Library)</title>
  <link href="../../common/doxygen.css" rel="stylesheet" type="text/css">
</head>
<div class="header">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td rowspan="2" width="92">
<a href="../../index.html" title="The API documentation main page"><img src="../../common/docheadergears.png" style="border:0px;" alt=""></a>
</td>
<td width="95%">
<h1>kate Library API Documentation</h1>
</td>
</tr>
<tr>
<td valign="bottom">
<table class="links" border=0 cellspacing=0>
<tr>
<td><a href="index.html">Overview</a></td>
<td><a href="hierarchy.html" title="Inheritance list, sorted roughly  alphabetically">Class&nbsp;Hierarchy</a></td>
<td><a href="classes.html" title="Alphabetical list of classes">Classes</a></td>
<td><a href="annotated.html" title="Classes, structs, unions and interfaces with brief descriptions">Classes&nbsp;(annotated)</a></td>
<td><a href="functions.html" title="Documented class members with links to the classes they belong to">Members</a></td>
<td><a href="namespaces.html" title="All documented namespaces with brief descriptions">Namespaces</a></td>
<td><a href="files.html" title="A list of all documented files with brief descriptions">Source&nbsp;Files</a></td>
</tr>
</table>
</td></tr></table>
</div>
<div id="hgrad"></div>
<div class="text">
<!-- Generated by Doxygen 1.4.4 -->
<div class="nav">
<a class="el" href="dir_000002.html">app</a></div>
<h1>katefileselector.cpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* This file is part of the KDE project</span>
<a name="l00002"></a>00002 <span class="comment">   Copyright (C) 2001 Christoph Cullmann &lt;cullmann@kde.org&gt;</span>
<a name="l00003"></a>00003 <span class="comment">   Copyright (C) 2001 Joseph Wenninger &lt;jowenn@kde.org&gt;</span>
<a name="l00004"></a>00004 <span class="comment">   Copyright (C) 2001 Anders Lund &lt;anders.lund@lund.tdcadsl.dk&gt;</span>
<a name="l00005"></a>00005 <span class="comment"></span>
<a name="l00006"></a>00006 <span class="comment">   This library is free software; you can redistribute it and/or</span>
<a name="l00007"></a>00007 <span class="comment">   modify it under the terms of the GNU Library General Public</span>
<a name="l00008"></a>00008 <span class="comment">   License version 2 as published by the Free Software Foundation.</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00010"></a>00010 <span class="comment">   This library 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 GNU</span>
<a name="l00013"></a>00013 <span class="comment">   Library 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 Library General Public License</span>
<a name="l00016"></a>00016 <span class="comment">   along with this library; see the file COPYING.LIB.  If not, write to</span>
<a name="l00017"></a>00017 <span class="comment">   the Free Software Foundation, Inc., 59 Temple Place - Suite 330,</span>
<a name="l00018"></a>00018 <span class="comment">   Boston, MA 02111-1307, USA.</span>
<a name="l00019"></a>00019 <span class="comment">*/</span>
<a name="l00020"></a>00020 
<a name="l00021"></a>00021 <span class="comment">//BEGIN Includes</span>
<a name="l00022"></a>00022 <span class="preprocessor">#include "katefileselector.h"</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include "katefileselector.moc"</span>
<a name="l00024"></a>00024 
<a name="l00025"></a>00025 <span class="preprocessor">#include "katemainwindow.h"</span>
<a name="l00026"></a>00026 <span class="preprocessor">#include "kateviewmanager.h"</span>
<a name="l00027"></a>00027 <span class="preprocessor">#include "kbookmarkhandler.h"</span>
<a name="l00028"></a>00028 
<a name="l00029"></a>00029 <span class="preprocessor">#include "kactionselector.h"</span>
<a name="l00030"></a>00030 
<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;qlayout.h&gt;</span>
<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;qtoolbutton.h&gt;</span>
<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;qhbox.h&gt;</span>
<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;qvbox.h&gt;</span>
<a name="l00035"></a>00035 <span class="preprocessor">#include &lt;qlabel.h&gt;</span>
<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;qstrlist.h&gt;</span>
<a name="l00037"></a>00037 <span class="preprocessor">#include &lt;qtooltip.h&gt;</span>
<a name="l00038"></a>00038 <span class="preprocessor">#include &lt;qwhatsthis.h&gt;</span>
<a name="l00039"></a>00039 <span class="preprocessor">#include &lt;qapplication.h&gt;</span>
<a name="l00040"></a>00040 <span class="preprocessor">#include &lt;qlistbox.h&gt;</span>
<a name="l00041"></a>00041 <span class="preprocessor">#include &lt;qscrollbar.h&gt;</span>
<a name="l00042"></a>00042 <span class="preprocessor">#include &lt;qspinbox.h&gt;</span>
<a name="l00043"></a>00043 <span class="preprocessor">#include &lt;qgroupbox.h&gt;</span>
<a name="l00044"></a>00044 <span class="preprocessor">#include &lt;qcheckbox.h&gt;</span>
<a name="l00045"></a>00045 <span class="preprocessor">#include &lt;qregexp.h&gt;</span>
<a name="l00046"></a>00046 <span class="preprocessor">#include &lt;qdockarea.h&gt;</span>
<a name="l00047"></a>00047 <span class="preprocessor">#include &lt;qtimer.h&gt;</span>
<a name="l00048"></a>00048 <span class="preprocessor">#include &lt;qdir.h&gt;</span>
<a name="l00049"></a>00049 
<a name="l00050"></a>00050 <span class="preprocessor">#include &lt;kapplication.h&gt;</span>
<a name="l00051"></a>00051 <span class="preprocessor">#include &lt;kiconloader.h&gt;</span>
<a name="l00052"></a>00052 <span class="preprocessor">#include &lt;kurlcombobox.h&gt;</span>
<a name="l00053"></a>00053 <span class="preprocessor">#include &lt;kurlcompletion.h&gt;</span>
<a name="l00054"></a>00054 <span class="preprocessor">#include &lt;kprotocolinfo.h&gt;</span>
<a name="l00055"></a>00055 <span class="preprocessor">#include &lt;kdiroperator.h&gt;</span>
<a name="l00056"></a>00056 <span class="preprocessor">#include &lt;kconfig.h&gt;</span>
<a name="l00057"></a>00057 <span class="preprocessor">#include &lt;klocale.h&gt;</span>
<a name="l00058"></a>00058 <span class="preprocessor">#include &lt;kcombobox.h&gt;</span>
<a name="l00059"></a>00059 <span class="preprocessor">#include &lt;kaction.h&gt;</span>
<a name="l00060"></a>00060 <span class="preprocessor">#include &lt;kmessagebox.h&gt;</span>
<a name="l00061"></a>00061 <span class="preprocessor">#include &lt;ktoolbarbutton.h&gt;</span>
<a name="l00062"></a>00062 <span class="preprocessor">#include &lt;qtoolbar.h&gt;</span>
<a name="l00063"></a>00063 <span class="preprocessor">#include &lt;kpopupmenu.h&gt;</span>
<a name="l00064"></a>00064 <span class="preprocessor">#include &lt;kdialog.h&gt;</span>
<a name="l00065"></a>00065 <span class="preprocessor">#include &lt;kdebug.h&gt;</span>
<a name="l00066"></a>00066 <span class="comment">//END Includes</span>
<a name="l00067"></a>00067 
<a name="l00068"></a>00068 <span class="comment">//BEGIN Toolbar</span>
<a name="l00069"></a>00069  <span class="comment">// from kfiledialog.cpp - avoid qt warning in STDERR (~/.xsessionerrors)</span>
<a name="l00070"></a>00070 <span class="keyword">static</span> <span class="keywordtype">void</span> silenceQToolBar(QtMsgType, <span class="keyword">const</span> <span class="keywordtype">char</span> *){}
<a name="l00071"></a>00071 
<a name="l00072"></a>00072 <span class="comment">// helper classes to be able to have a toolbar without move handle</span>
<a name="l00073"></a><a class="code" href="classKateFileSelectorToolBar.html#a0">00073</a> <a class="code" href="classKateFileSelectorToolBar.html#a0">KateFileSelectorToolBar::KateFileSelectorToolBar</a>(QWidget *parent)
<a name="l00074"></a>00074   : KToolBar( parent, <span class="stringliteral">"Kate FileSelector Toolbar"</span>, true )
<a name="l00075"></a>00075 {
<a name="l00076"></a>00076     setMinimumWidth(10);
<a name="l00077"></a>00077 }
<a name="l00078"></a>00078 
<a name="l00079"></a><a class="code" href="classKateFileSelectorToolBar.html#a1">00079</a> <a class="code" href="classKateFileSelectorToolBar.html#a1">KateFileSelectorToolBar::~KateFileSelectorToolBar</a>(){}
<a name="l00080"></a>00080 
<a name="l00081"></a><a class="code" href="classKateFileSelectorToolBar.html#a2">00081</a> <span class="keywordtype">void</span> <a class="code" href="classKateFileSelectorToolBar.html#a2">KateFileSelectorToolBar::setMovingEnabled</a>( <span class="keywordtype">bool</span>)
<a name="l00082"></a>00082 {
<a name="l00083"></a>00083     KToolBar::setMovingEnabled(<span class="keyword">false</span>);
<a name="l00084"></a>00084 }
<a name="l00085"></a>00085 
<a name="l00086"></a>00086 
<a name="l00087"></a><a class="code" href="classKateFileSelectorToolBarParent.html#a0">00087</a> <a class="code" href="classKateFileSelectorToolBarParent.html#a0">KateFileSelectorToolBarParent::KateFileSelectorToolBarParent</a>(QWidget *parent)
<a name="l00088"></a>00088     :QFrame(parent),m_tb(0){}
<a name="l00089"></a><a class="code" href="classKateFileSelectorToolBarParent.html#a1">00089</a> <a class="code" href="classKateFileSelectorToolBarParent.html#a1">KateFileSelectorToolBarParent::~KateFileSelectorToolBarParent</a>(){}
<a name="l00090"></a><a class="code" href="classKateFileSelectorToolBarParent.html#a2">00090</a> <span class="keywordtype">void</span> <a class="code" href="classKateFileSelectorToolBarParent.html#a2">KateFileSelectorToolBarParent::setToolBar</a>(<a class="code" href="classKateFileSelectorToolBar.html">KateFileSelectorToolBar</a> *tb)
<a name="l00091"></a>00091 {
<a name="l00092"></a>00092     m_tb=tb;
<a name="l00093"></a>00093 }
<a name="l00094"></a>00094 
<a name="l00095"></a><a class="code" href="classKateFileSelectorToolBarParent.html#b0">00095</a> <span class="keywordtype">void</span> <a class="code" href="classKateFileSelectorToolBarParent.html#b0">KateFileSelectorToolBarParent::resizeEvent</a> ( QResizeEvent * )
<a name="l00096"></a>00096 {
<a name="l00097"></a>00097     <span class="keywordflow">if</span> (m_tb)
<a name="l00098"></a>00098     {
<a name="l00099"></a>00099         setMinimumHeight(m_tb-&gt;sizeHint().height());
<a name="l00100"></a>00100         m_tb-&gt;resize(width(),height());
<a name="l00101"></a>00101     }
<a name="l00102"></a>00102 }
<a name="l00103"></a>00103 <span class="comment">//END</span>
<a name="l00104"></a>00104 
<a name="l00105"></a>00105 <span class="comment">//BEGIN Constructor/destructor</span>
<a name="l00106"></a>00106 
<a name="l00107"></a><a class="code" href="classKateFileSelector.html#a0">00107</a> <a class="code" href="classKateFileSelector.html#a0">KateFileSelector::KateFileSelector</a>( <a class="code" href="classKateMainWindow.html">KateMainWindow</a> *mainWindow,
<a name="l00108"></a>00108                                     <a class="code" href="classKateViewManager.html">KateViewManager</a> *viewManager,
<a name="l00109"></a>00109                                     QWidget * parent, <span class="keyword">const</span> <span class="keywordtype">char</span> * name )
<a name="l00110"></a>00110     : QWidget(parent, name),
<a name="l00111"></a>00111       mainwin(mainWindow),
<a name="l00112"></a>00112       viewmanager(viewManager)
<a name="l00113"></a>00113 {
<a name="l00114"></a>00114   mActionCollection = <span class="keyword">new</span> KActionCollection( <span class="keyword">this</span> );
<a name="l00115"></a>00115 
<a name="l00116"></a>00116   QVBoxLayout* lo = <span class="keyword">new</span> QVBoxLayout(<span class="keyword">this</span>);
<a name="l00117"></a>00117 
<a name="l00118"></a>00118   QtMsgHandler oldHandler = qInstallMsgHandler( silenceQToolBar );
<a name="l00119"></a>00119 
<a name="l00120"></a>00120   <a class="code" href="classKateFileSelectorToolBarParent.html">KateFileSelectorToolBarParent</a> *tbp=<span class="keyword">new</span> <a class="code" href="classKateFileSelectorToolBarParent.html">KateFileSelectorToolBarParent</a>(<span class="keyword">this</span>);
<a name="l00121"></a>00121   toolbar = <span class="keyword">new</span> <a class="code" href="classKateFileSelectorToolBar.html">KateFileSelectorToolBar</a>(tbp);
<a name="l00122"></a>00122   tbp-&gt;<a class="code" href="classKateFileSelectorToolBarParent.html#a2">setToolBar</a>(toolbar);
<a name="l00123"></a>00123   lo-&gt;addWidget(tbp);
<a name="l00124"></a>00124   toolbar-&gt;<a class="code" href="classKateFileSelectorToolBar.html#a2">setMovingEnabled</a>(<span class="keyword">false</span>);
<a name="l00125"></a>00125   toolbar-&gt;setFlat(<span class="keyword">true</span>);
<a name="l00126"></a>00126   qInstallMsgHandler( oldHandler );
<a name="l00127"></a>00127 
<a name="l00128"></a>00128   cmbPath = <span class="keyword">new</span> KURLComboBox( KURLComboBox::Directories, <span class="keyword">true</span>, <span class="keyword">this</span>, <span class="stringliteral">"path combo"</span> );
<a name="l00129"></a>00129   cmbPath-&gt;setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ));
<a name="l00130"></a>00130   KURLCompletion* cmpl = <span class="keyword">new</span> KURLCompletion(KURLCompletion::DirCompletion);
<a name="l00131"></a>00131   cmbPath-&gt;setCompletionObject( cmpl );
<a name="l00132"></a>00132   cmbPath-&gt;setAutoDeleteCompletionObject( <span class="keyword">true</span> );
<a name="l00133"></a>00133   lo-&gt;addWidget(cmbPath);
<a name="l00134"></a>00134   cmbPath-&gt;listBox()-&gt;installEventFilter( <span class="keyword">this</span> );
<a name="l00135"></a>00135 
<a name="l00136"></a>00136   dir = <span class="keyword">new</span> KDirOperator(KURL(), <span class="keyword">this</span>, <span class="stringliteral">"operator"</span>);
<a name="l00137"></a>00137   dir-&gt;setView(KFile::<span class="comment">/* Simple */</span>Detail);
<a name="l00138"></a>00138   dir-&gt;view()-&gt;setSelectionMode(KFile::Multi);
<a name="l00139"></a>00139 
<a name="l00140"></a>00140   KActionCollection *coll = dir-&gt;actionCollection();
<a name="l00141"></a>00141   <span class="comment">// some shortcuts of diroperator that clashes with Kate</span>
<a name="l00142"></a>00142   coll-&gt;action( <span class="stringliteral">"delete"</span> )-&gt;setShortcut( KShortcut( ALT + Key_Delete ) );
<a name="l00143"></a>00143   coll-&gt;action( <span class="stringliteral">"reload"</span> )-&gt;setShortcut( KShortcut( ALT + Key_F5 ) );
<a name="l00144"></a>00144   coll-&gt;action( <span class="stringliteral">"back"</span> )-&gt;setShortcut( KShortcut( ALT + SHIFT + Key_Left ) );
<a name="l00145"></a>00145   coll-&gt;action( <span class="stringliteral">"forward"</span> )-&gt;setShortcut( KShortcut( ALT + SHIFT + Key_Right ) );
<a name="l00146"></a>00146   <span class="comment">// some consistency - reset up for dir too</span>
<a name="l00147"></a>00147   coll-&gt;action( <span class="stringliteral">"up"</span> )-&gt;setShortcut( KShortcut( ALT + SHIFT + Key_Up ) );
<a name="l00148"></a>00148   coll-&gt;action( <span class="stringliteral">"home"</span> )-&gt;setShortcut( KShortcut( CTRL + ALT + Key_Home ) );
<a name="l00149"></a>00149 
<a name="l00150"></a>00150   lo-&gt;addWidget(dir);
<a name="l00151"></a>00151   lo-&gt;setStretchFactor(dir, 2);
<a name="l00152"></a>00152 
<a name="l00153"></a>00153   <span class="comment">// bookmarks action!</span>
<a name="l00154"></a>00154   KActionMenu *acmBookmarks = <span class="keyword">new</span> KActionMenu( i18n(<span class="stringliteral">"Bookmarks"</span>), <span class="stringliteral">"bookmark"</span>,
<a name="l00155"></a>00155         mActionCollection, <span class="stringliteral">"bookmarks"</span> );
<a name="l00156"></a>00156   acmBookmarks-&gt;setDelayed( <span class="keyword">false</span> );
<a name="l00157"></a>00157   bookmarkHandler = <span class="keyword">new</span> <a class="code" href="classKBookmarkHandler.html">KBookmarkHandler</a>( <span class="keyword">this</span>, acmBookmarks-&gt;popupMenu() );
<a name="l00158"></a>00158   QHBox* filterBox = <span class="keyword">new</span> QHBox(<span class="keyword">this</span>);
<a name="l00159"></a>00159 
<a name="l00160"></a>00160   btnFilter = <span class="keyword">new</span> QToolButton( filterBox );
<a name="l00161"></a>00161   btnFilter-&gt;setIconSet( SmallIconSet(<span class="stringliteral">"filter"</span> ) );
<a name="l00162"></a>00162   btnFilter-&gt;setToggleButton( <span class="keyword">true</span> );
<a name="l00163"></a>00163   filter = <span class="keyword">new</span> KHistoryCombo( <span class="keyword">true</span>, filterBox, <span class="stringliteral">"filter"</span>);
<a name="l00164"></a>00164   filter-&gt;setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ));
<a name="l00165"></a>00165   filterBox-&gt;setStretchFactor(filter, 2);
<a name="l00166"></a>00166   connect( btnFilter, SIGNAL( clicked() ), <span class="keyword">this</span>, SLOT( btnFilterClick() ) );
<a name="l00167"></a>00167   lo-&gt;addWidget(filterBox);
<a name="l00168"></a>00168 
<a name="l00169"></a>00169   connect( filter, SIGNAL( activated(<span class="keyword">const</span> QString&amp;) ),
<a name="l00170"></a>00170                    SLOT( <a class="code" href="classKateFileSelector.html#i0">slotFilterChange</a>(<span class="keyword">const</span> QString&amp;) ) );
<a name="l00171"></a>00171   connect( filter, SIGNAL( returnPressed(<span class="keyword">const</span> QString&amp;) ),
<a name="l00172"></a>00172            filter, SLOT( addToHistory(<span class="keyword">const</span> QString&amp;) ) );
<a name="l00173"></a>00173 
<a name="l00174"></a>00174   <span class="comment">// kaction for the dir sync method</span>
<a name="l00175"></a>00175   acSyncDir = <span class="keyword">new</span> KAction( i18n(<span class="stringliteral">"Current Document Folder"</span>), <span class="stringliteral">"curfiledir"</span>, 0,
<a name="l00176"></a>00176         <span class="keyword">this</span>, SLOT( setActiveDocumentDir() ), mActionCollection, <span class="stringliteral">"sync_dir"</span> );
<a name="l00177"></a>00177   toolbar-&gt;setIconText( KToolBar::IconOnly );
<a name="l00178"></a>00178   toolbar-&gt;setIconSize( 16 );
<a name="l00179"></a>00179   toolbar-&gt;setEnableContextMenu( <span class="keyword">false</span> );
<a name="l00180"></a>00180 
<a name="l00181"></a>00181   connect( cmbPath, SIGNAL( urlActivated( <span class="keyword">const</span> KURL&amp;  )),
<a name="l00182"></a>00182              <span class="keyword">this</span>,  SLOT( cmbPathActivated( <span class="keyword">const</span> KURL&amp; ) ));
<a name="l00183"></a>00183   connect( cmbPath, SIGNAL( returnPressed( <span class="keyword">const</span> QString&amp;  )),
<a name="l00184"></a>00184              <span class="keyword">this</span>,  SLOT( cmbPathReturnPressed( <span class="keyword">const</span> QString&amp; ) ));
<a name="l00185"></a>00185   connect(dir, SIGNAL(urlEntered(<span class="keyword">const</span> KURL&amp;)),
<a name="l00186"></a>00186              <span class="keyword">this</span>, SLOT(dirUrlEntered(<span class="keyword">const</span> KURL&amp;)) );
<a name="l00187"></a>00187 
<a name="l00188"></a>00188   connect(dir, SIGNAL(finishedLoading()),
<a name="l00189"></a>00189              <span class="keyword">this</span>, SLOT(dirFinishedLoading()) );
<a name="l00190"></a>00190 
<a name="l00191"></a>00191   <span class="comment">// enable dir sync button if current doc has a valid URL</span>
<a name="l00192"></a>00192   connect ( viewmanager, SIGNAL( viewChanged() ),
<a name="l00193"></a>00193               <span class="keyword">this</span>, SLOT( <a class="code" href="classKateFileSelector.html#i3">kateViewChanged</a>() ) );
<a name="l00194"></a>00194 
<a name="l00195"></a>00195   <span class="comment">// Connect the bookmark handler</span>
<a name="l00196"></a>00196   connect( bookmarkHandler, SIGNAL( openURL( <span class="keyword">const</span> QString&amp; )),
<a name="l00197"></a>00197            <span class="keyword">this</span>, SLOT( <a class="code" href="classKateFileSelector.html#i1">setDir</a>( <span class="keyword">const</span> QString&amp; ) ) );
<a name="l00198"></a>00198 
<a name="l00199"></a>00199   waitingUrl = QString::null;
<a name="l00200"></a>00200 
<a name="l00201"></a>00201   <span class="comment">// whatsthis help</span>
<a name="l00202"></a>00202   QWhatsThis::add( cmbPath,
<a name="l00203"></a>00203        i18n(<span class="stringliteral">"&lt;p&gt;Here you can enter a path for a folder to display."</span>
<a name="l00204"></a>00204             <span class="stringliteral">"&lt;p&gt;To go to a folder previously entered, press the arrow on "</span>
<a name="l00205"></a>00205             <span class="stringliteral">"the right and choose one. &lt;p&gt;The entry has folder "</span>
<a name="l00206"></a>00206             <span class="stringliteral">"completion. Right-click to choose how completion should behave."</span>) );
<a name="l00207"></a>00207   QWhatsThis::add( filter,
<a name="l00208"></a>00208         i18n(<span class="stringliteral">"&lt;p&gt;Here you can enter a name filter to limit which files are displayed."</span>
<a name="l00209"></a>00209              <span class="stringliteral">"&lt;p&gt;To clear the filter, toggle off the filter button to the left."</span>
<a name="l00210"></a>00210              <span class="stringliteral">"&lt;p&gt;To reapply the last filter used, toggle on the filter button."</span> ) );
<a name="l00211"></a>00211   QWhatsThis::add( btnFilter,
<a name="l00212"></a>00212         i18n(<span class="stringliteral">"&lt;p&gt;This button clears the name filter when toggled off, or "</span>
<a name="l00213"></a>00213              <span class="stringliteral">"reapplies the last filter used when toggled on."</span>) );
<a name="l00214"></a>00214 
<a name="l00215"></a>00215 }
<a name="l00216"></a>00216 
<a name="l00217"></a><a class="code" href="classKateFileSelector.html#a1">00217</a> <a class="code" href="classKateFileSelector.html#a1">KateFileSelector::~KateFileSelector</a>()
<a name="l00218"></a>00218 {
<a name="l00219"></a>00219 }
<a name="l00220"></a>00220 <span class="comment">//END Constroctor/Destrctor</span>
<a name="l00221"></a>00221 
<a name="l00222"></a>00222 <span class="comment">//BEGIN Public Methods</span>
<a name="l00223"></a>00223 
<a name="l00224"></a><a class="code" href="classKateFileSelector.html#a2">00224</a> <span class="keywordtype">void</span> <a class="code" href="classKateFileSelector.html#a2">KateFileSelector::readConfig</a>(KConfig *config, <span class="keyword">const</span> QString &amp; name)
<a name="l00225"></a>00225 {
<a name="l00226"></a>00226   dir-&gt;setViewConfig( config, name + <span class="stringliteral">":view"</span> );
<a name="l00227"></a>00227   dir-&gt;readConfig(config, name + <span class="stringliteral">":dir"</span>);
<a name="l00228"></a>00228   dir-&gt;setView( KFile::Default );
<a name="l00229"></a>00229   dir-&gt;view()-&gt;setSelectionMode(KFile::Multi);
<a name="l00230"></a>00230   config-&gt;setGroup( name );
<a name="l00231"></a>00231 
<a name="l00232"></a>00232   <span class="comment">// set up the toolbar</span>
<a name="l00233"></a>00233   <a class="code" href="classKateFileSelector.html#a4">setupToolbar</a>( config );
<a name="l00234"></a>00234 
<a name="l00235"></a>00235   cmbPath-&gt;setMaxItems( config-&gt;readNumEntry( <span class="stringliteral">"pathcombo history len"</span>, 9 ) );
<a name="l00236"></a>00236   cmbPath-&gt;setURLs( config-&gt;readPathListEntry( <span class="stringliteral">"dir history"</span> ) );
<a name="l00237"></a>00237   <span class="comment">// if we restore history</span>
<a name="l00238"></a>00238   <span class="keywordflow">if</span> ( config-&gt;readBoolEntry( <span class="stringliteral">"restore location"</span>, <span class="keyword">true</span> ) || kapp-&gt;isRestored() ) {
<a name="l00239"></a>00239     QString loc( config-&gt;readPathEntry( <span class="stringliteral">"location"</span> ) );
<a name="l00240"></a>00240     <span class="keywordflow">if</span> ( ! loc.isEmpty() ) {
<a name="l00241"></a>00241 <span class="comment">//       waitingDir = loc;</span>
<a name="l00242"></a>00242 <span class="comment">//       QTimer::singleShot(0, this, SLOT(initialDirChangeHack()));</span>
<a name="l00243"></a>00243       <a class="code" href="classKateFileSelector.html#i1">setDir</a>( loc );
<a name="l00244"></a>00244     }
<a name="l00245"></a>00245   }
<a name="l00246"></a>00246 
<a name="l00247"></a>00247   <span class="comment">// else is automatic, as cmpPath-&gt;setURL is called when a location is entered.</span>
<a name="l00248"></a>00248 
<a name="l00249"></a>00249   filter-&gt;setMaxCount( config-&gt;readNumEntry( <span class="stringliteral">"filter history len"</span>, 9 ) );
<a name="l00250"></a>00250   filter-&gt;setHistoryItems( config-&gt;readListEntry(<span class="stringliteral">"filter history"</span>), true );
<a name="l00251"></a>00251   lastFilter = config-&gt;readEntry( <span class="stringliteral">"last filter"</span> );
<a name="l00252"></a>00252   QString flt(<span class="stringliteral">""</span>);
<a name="l00253"></a>00253   <span class="keywordflow">if</span> ( config-&gt;readBoolEntry( <span class="stringliteral">"restore last filter"</span>, <span class="keyword">true</span> ) || kapp-&gt;isRestored() )
<a name="l00254"></a>00254     flt = config-&gt;readEntry(<span class="stringliteral">"current filter"</span>);
<a name="l00255"></a>00255   filter-&gt;lineEdit()-&gt;setText( flt );
<a name="l00256"></a>00256   <a class="code" href="classKateFileSelector.html#i0">slotFilterChange</a>( flt );
<a name="l00257"></a>00257 
<a name="l00258"></a>00258   autoSyncEvents = config-&gt;readNumEntry( <span class="stringliteral">"AutoSyncEvents"</span>, 0 );
<a name="l00259"></a>00259 }
<a name="l00260"></a>00260 
<a name="l00261"></a><a class="code" href="classKateFileSelector.html#b3">00261</a> <span class="keywordtype">void</span> <a class="code" href="classKateFileSelector.html#b3">KateFileSelector::initialDirChangeHack</a>()
<a name="l00262"></a>00262 {
<a name="l00263"></a>00263   <a class="code" href="classKateFileSelector.html#i1">setDir</a>( waitingDir );
<a name="l00264"></a>00264 }
<a name="l00265"></a>00265 
<a name="l00266"></a><a class="code" href="classKateFileSelector.html#a4">00266</a> <span class="keywordtype">void</span> <a class="code" href="classKateFileSelector.html#a4">KateFileSelector::setupToolbar</a>( KConfig *config )
<a name="l00267"></a>00267 {
<a name="l00268"></a>00268   toolbar-&gt;clear();
<a name="l00269"></a>00269   QStringList tbactions = config-&gt;readListEntry( <span class="stringliteral">"toolbar actions"</span>, <span class="charliteral">','</span> );
<a name="l00270"></a>00270   <span class="keywordflow">if</span> ( tbactions.isEmpty() ) {
<a name="l00271"></a>00271     <span class="comment">// reasonable collection for default toolbar</span>
<a name="l00272"></a>00272     tbactions &lt;&lt; <span class="stringliteral">"up"</span> &lt;&lt; <span class="stringliteral">"back"</span> &lt;&lt; <span class="stringliteral">"forward"</span> &lt;&lt; <span class="stringliteral">"home"</span> &lt;&lt;
<a name="l00273"></a>00273                 <span class="stringliteral">"short view"</span> &lt;&lt; <span class="stringliteral">"detailed view"</span> &lt;&lt;
<a name="l00274"></a>00274                 <span class="stringliteral">"bookmarks"</span> &lt;&lt; <span class="stringliteral">"sync_dir"</span>;
<a name="l00275"></a>00275   }
<a name="l00276"></a>00276   KAction *ac;
<a name="l00277"></a>00277   <span class="keywordflow">for</span> ( QStringList::Iterator it=tbactions.begin(); it != tbactions.end(); ++it ) {
<a name="l00278"></a>00278     <span class="keywordflow">if</span> ( *it == <span class="stringliteral">"bookmarks"</span> || *it == <span class="stringliteral">"sync_dir"</span> )
<a name="l00279"></a>00279       ac = mActionCollection-&gt;action( (*it).latin1() );
<a name="l00280"></a>00280     <span class="keywordflow">else</span>
<a name="l00281"></a>00281       ac = dir-&gt;actionCollection()-&gt;action( (*it).latin1() );
<a name="l00282"></a>00282     <span class="keywordflow">if</span> ( ac )
<a name="l00283"></a>00283       ac-&gt;plug( toolbar );
<a name="l00284"></a>00284   }
<a name="l00285"></a>00285 }
<a name="l00286"></a>00286 
<a name="l00287"></a><a class="code" href="classKateFileSelector.html#a3">00287</a> <span class="keywordtype">void</span> <a class="code" href="classKateFileSelector.html#a3">KateFileSelector::writeConfig</a>(KConfig *config, <span class="keyword">const</span> QString &amp; name)
<a name="l00288"></a>00288 {
<a name="l00289"></a>00289   dir-&gt;writeConfig(config,name + <span class="stringliteral">":dir"</span>);
<a name="l00290"></a>00290 
<a name="l00291"></a>00291   config-&gt;setGroup( name );
<a name="l00292"></a>00292   config-&gt;writeEntry( <span class="stringliteral">"pathcombo history len"</span>, cmbPath-&gt;maxItems() );
<a name="l00293"></a>00293   QStringList l;
<a name="l00294"></a>00294   <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; cmbPath-&gt;count(); i++) {
<a name="l00295"></a>00295     l.append( cmbPath-&gt;text( i ) );
<a name="l00296"></a>00296   }
<a name="l00297"></a>00297   config-&gt;writePathEntry( <span class="stringliteral">"dir history"</span>, l );
<a name="l00298"></a>00298   config-&gt;writePathEntry( <span class="stringliteral">"location"</span>, cmbPath-&gt;currentText() );
<a name="l00299"></a>00299 
<a name="l00300"></a>00300   config-&gt;writeEntry( <span class="stringliteral">"filter history len"</span>, filter-&gt;maxCount() );
<a name="l00301"></a>00301   config-&gt;writeEntry( <span class="stringliteral">"filter history"</span>, filter-&gt;historyItems() );
<a name="l00302"></a>00302   config-&gt;writeEntry( <span class="stringliteral">"current filter"</span>, filter-&gt;currentText() );
<a name="l00303"></a>00303   config-&gt;writeEntry( <span class="stringliteral">"last filter"</span>, lastFilter );
<a name="l00304"></a>00304   config-&gt;writeEntry( <span class="stringliteral">"AutoSyncEvents"</span>, autoSyncEvents );
<a name="l00305"></a>00305 }
<a name="l00306"></a>00306 
<a name="l00307"></a><a class="code" href="classKateFileSelector.html#a5">00307</a> <span class="keywordtype">void</span> <a class="code" href="classKateFileSelector.html#a5">KateFileSelector::setView</a>(KFile::FileView view)
<a name="l00308"></a>00308 {
<a name="l00309"></a>00309   dir-&gt;setView(view);
<a name="l00310"></a>00310   dir-&gt;view()-&gt;setSelectionMode(KFile::Multi);
<a name="l00311"></a>00311 }
<a name="l00312"></a>00312 
<a name="l00313"></a>00313 <span class="comment">//END Public Methods</span>
<a name="l00314"></a>00314 
<a name="l00315"></a>00315 <span class="comment">//BEGIN Public Slots</span>
<a name="l00316"></a>00316 
<a name="l00317"></a><a class="code" href="classKateFileSelector.html#i0">00317</a> <span class="keywordtype">void</span> <a class="code" href="classKateFileSelector.html#i0">KateFileSelector::slotFilterChange</a>( <span class="keyword">const</span> QString &amp; nf )
<a name="l00318"></a>00318 {
<a name="l00319"></a>00319   QString f = nf.stripWhiteSpace();
<a name="l00320"></a>00320   <span class="keywordtype">bool</span> empty = f.isEmpty() || f == <span class="stringliteral">"*"</span>;
<a name="l00321"></a>00321   QToolTip::remove( btnFilter );
<a name="l00322"></a>00322   <span class="keywordflow">if</span> ( empty ) {
<a name="l00323"></a>00323     dir-&gt;clearFilter();
<a name="l00324"></a>00324     filter-&gt;lineEdit()-&gt;setText( QString::null );
<a name="l00325"></a>00325     QToolTip::add( btnFilter,
<a name="l00326"></a>00326         QString( i18n(<span class="stringliteral">"Apply last filter (\"%1\")"</span>) ).arg( lastFilter ) );
<a name="l00327"></a>00327   }
<a name="l00328"></a>00328   <span class="keywordflow">else</span> {
<a name="l00329"></a>00329     dir-&gt;setNameFilter( f );
<a name="l00330"></a>00330     lastFilter = f;
<a name="l00331"></a>00331     QToolTip::add( btnFilter, i18n(<span class="stringliteral">"Clear filter"</span>) );
<a name="l00332"></a>00332   }
<a name="l00333"></a>00333   btnFilter-&gt;setOn( !empty );
<a name="l00334"></a>00334   dir-&gt;updateDir();
<a name="l00335"></a>00335   <span class="comment">// this will be never true after the filter has been used;)</span>
<a name="l00336"></a>00336   btnFilter-&gt;setEnabled( !( empty &amp;&amp; lastFilter.isEmpty() ) );
<a name="l00337"></a>00337 
<a name="l00338"></a>00338 }
<a name="l00339"></a>00339 
<a name="l00340"></a>00340 <span class="keywordtype">bool</span> kateFileSelectorIsReadable ( <span class="keyword">const</span> KURL&amp; url )
<a name="l00341"></a>00341 {
<a name="l00342"></a>00342   <span class="keywordflow">if</span> ( !url.isLocalFile() )
<a name="l00343"></a>00343     <span class="keywordflow">return</span> <span class="keyword">true</span>; <span class="comment">// what else can we say?</span>
<a name="l00344"></a>00344 
<a name="l00345"></a>00345   QDir dir (url.path());
<a name="l00346"></a>00346   <span class="keywordflow">return</span> dir.exists ();
<a name="l00347"></a>00347 }
<a name="l00348"></a>00348 
<a name="l00349"></a><a class="code" href="classKateFileSelector.html#i1">00349</a> <span class="keywordtype">void</span> <a class="code" href="classKateFileSelector.html#i1">KateFileSelector::setDir</a>( KURL u )
<a name="l00350"></a>00350 {
<a name="l00351"></a>00351   KURL newurl;
<a name="l00352"></a>00352 
<a name="l00353"></a>00353   <span class="keywordflow">if</span> ( !u.isValid() )
<a name="l00354"></a>00354     newurl.setPath( QDir::homeDirPath() );
<a name="l00355"></a>00355   <span class="keywordflow">else</span>
<a name="l00356"></a>00356     newurl = u;
<a name="l00357"></a>00357 
<a name="l00358"></a>00358   QString pathstr = newurl.path(+1);
<a name="l00359"></a>00359   newurl.setPath(pathstr);
<a name="l00360"></a>00360 
<a name="l00361"></a>00361   <span class="keywordflow">if</span> ( !kateFileSelectorIsReadable ( newurl ) )
<a name="l00362"></a>00362     newurl.cd(QString::fromLatin1(<span class="stringliteral">".."</span>));
<a name="l00363"></a>00363 
<a name="l00364"></a>00364   <span class="keywordflow">if</span> ( !kateFileSelectorIsReadable (newurl) )
<a name="l00365"></a>00365      newurl.setPath( QDir::homeDirPath() );
<a name="l00366"></a>00366 
<a name="l00367"></a>00367   dir-&gt;setURL(newurl, <span class="keyword">true</span>);
<a name="l00368"></a>00368 }
<a name="l00369"></a>00369 
<a name="l00370"></a>00370 <span class="comment">//END Public Slots</span>
<a name="l00371"></a>00371 
<a name="l00372"></a>00372 <span class="comment">//BEGIN Private Slots</span>
<a name="l00373"></a>00373 
<a name="l00374"></a>00374 <span class="keywordtype">void</span> KateFileSelector::cmbPathActivated( <span class="keyword">const</span> KURL&amp; u )
<a name="l00375"></a>00375 {
<a name="l00376"></a>00376    cmbPathReturnPressed( u.url() );
<a name="l00377"></a>00377 }
<a name="l00378"></a>00378 
<a name="l00379"></a>00379 <span class="keywordtype">void</span> KateFileSelector::cmbPathReturnPressed( <span class="keyword">const</span> QString&amp; u )
<a name="l00380"></a>00380 {
<a name="l00381"></a>00381   KURL typedURL( u );
<a name="l00382"></a>00382   <span class="keywordflow">if</span> ( typedURL.hasPass() )
<a name="l00383"></a>00383     typedURL.setPass( QString::null );
<a name="l00384"></a>00384 
<a name="l00385"></a>00385   QStringList urls = cmbPath-&gt;urls();
<a name="l00386"></a>00386   urls.remove( typedURL.url() );
<a name="l00387"></a>00387   urls.prepend( typedURL.url() );
<a name="l00388"></a>00388   cmbPath-&gt;setURLs( urls, KURLComboBox::RemoveBottom );
<a name="l00389"></a>00389   dir-&gt;setFocus();
<a name="l00390"></a>00390   dir-&gt;setURL( KURL(u), <span class="keyword">true</span> );
<a name="l00391"></a>00391 }
<a name="l00392"></a>00392 
<a name="l00393"></a>00393 <span class="keywordtype">void</span> KateFileSelector::dirUrlEntered( <span class="keyword">const</span> KURL&amp; u )
<a name="l00394"></a>00394 {
<a name="l00395"></a>00395   cmbPath-&gt;setURL( u );
<a name="l00396"></a>00396 }
<a name="l00397"></a>00397 
<a name="l00398"></a>00398 <span class="keywordtype">void</span> KateFileSelector::dirFinishedLoading()
<a name="l00399"></a>00399 {
<a name="l00400"></a>00400 }
<a name="l00401"></a>00401 
<a name="l00402"></a>00402 
<a name="l00403"></a>00403 <span class="comment">/*</span>
<a name="l00404"></a>00404 <span class="comment">   When the button in the filter box toggles:</span>
<a name="l00405"></a>00405 <span class="comment">   If off:</span>
<a name="l00406"></a>00406 <span class="comment">   If the name filer is anything but "" or "*", reset it.</span>
<a name="l00407"></a>00407 <span class="comment">   If on:</span>
<a name="l00408"></a>00408 <span class="comment">   Set last filter.</span>
<a name="l00409"></a>00409 <span class="comment">*/</span>
<a name="l00410"></a>00410 <span class="keywordtype">void</span> KateFileSelector::btnFilterClick()
<a name="l00411"></a>00411 {
<a name="l00412"></a>00412   <span class="keywordflow">if</span> ( !btnFilter-&gt;isOn() ) {
<a name="l00413"></a>00413     <a class="code" href="classKateFileSelector.html#i0">slotFilterChange</a>( QString::null );
<a name="l00414"></a>00414   }
<a name="l00415"></a>00415   <span class="keywordflow">else</span> {
<a name="l00416"></a>00416     filter-&gt;lineEdit()-&gt;setText( lastFilter );
<a name="l00417"></a>00417     <a class="code" href="classKateFileSelector.html#i0">slotFilterChange</a>( lastFilter );
<a name="l00418"></a>00418   }
<a name="l00419"></a>00419 }
<a name="l00420"></a>00420 
<a name="l00421"></a>00421 <span class="comment">//FIXME crash on shutdown</span>
<a name="l00422"></a>00422 <span class="keywordtype">void</span> KateFileSelector::setActiveDocumentDir()
<a name="l00423"></a>00423 {
<a name="l00424"></a>00424 <span class="comment">//   kdDebug(13001)&lt;&lt;"KateFileSelector::setActiveDocumentDir()"&lt;&lt;endl;</span>
<a name="l00425"></a>00425   KURL u = mainwin-&gt;<a class="code" href="classKateMainWindow.html#a18">activeDocumentUrl</a>();
<a name="l00426"></a>00426 <span class="comment">//   kdDebug(13001)&lt;&lt;"URL: "&lt;&lt;u.prettyURL()&lt;&lt;endl;</span>
<a name="l00427"></a>00427   <span class="keywordflow">if</span> (!u.isEmpty())
<a name="l00428"></a>00428     <a class="code" href="classKateFileSelector.html#i1">setDir</a>( u.upURL() );
<a name="l00429"></a>00429 <span class="comment">//   kdDebug(13001)&lt;&lt;"... setActiveDocumentDir() DONE!"&lt;&lt;endl;</span>
<a name="l00430"></a>00430 }
<a name="l00431"></a>00431 
<a name="l00432"></a><a class="code" href="classKateFileSelector.html#i3">00432</a> <span class="keywordtype">void</span> <a class="code" href="classKateFileSelector.html#i3">KateFileSelector::kateViewChanged</a>()
<a name="l00433"></a>00433 {
<a name="l00434"></a>00434   <span class="keywordflow">if</span> ( autoSyncEvents &amp; DocumentChanged )
<a name="l00435"></a>00435   {
<a name="l00436"></a>00436 <span class="comment">//     kdDebug(13001)&lt;&lt;"KateFileSelector::do a sync ()"&lt;&lt;endl;</span>
<a name="l00437"></a>00437     <span class="comment">// if visible, sync</span>
<a name="l00438"></a>00438     <span class="keywordflow">if</span> ( isVisible() ) {
<a name="l00439"></a>00439       setActiveDocumentDir();
<a name="l00440"></a>00440       waitingUrl = QString::null;
<a name="l00441"></a>00441     }
<a name="l00442"></a>00442     <span class="comment">// else set waiting url</span>
<a name="l00443"></a>00443     <span class="keywordflow">else</span> {
<a name="l00444"></a>00444       KURL u = mainwin-&gt;<a class="code" href="classKateMainWindow.html#a18">activeDocumentUrl</a>();
<a name="l00445"></a>00445       <span class="keywordflow">if</span> (!u.isEmpty())
<a name="l00446"></a>00446         waitingUrl = u.directory();
<a name="l00447"></a>00447     }
<a name="l00448"></a>00448   }
<a name="l00449"></a>00449 
<a name="l00450"></a>00450   <span class="comment">// TODO: make sure the button is disabled if the directory is unreadable, eg</span>
<a name="l00451"></a>00451   <span class="comment">//       the document URL has protocol http</span>
<a name="l00452"></a>00452   acSyncDir-&gt;setEnabled( ! mainwin-&gt;<a class="code" href="classKateMainWindow.html#a18">activeDocumentUrl</a>().directory().isEmpty() );
<a name="l00453"></a>00453 }
<a name="l00454"></a>00454 
<a name="l00455"></a>00455 <span class="comment">//END Private Slots</span>
<a name="l00456"></a>00456 
<a name="l00457"></a>00457 <span class="comment">//BEGIN Protected</span>
<a name="l00458"></a>00458 
<a name="l00459"></a><a class="code" href="classKateFileSelector.html#b0">00459</a> <span class="keywordtype">void</span> <a class="code" href="classKateFileSelector.html#b0">KateFileSelector::focusInEvent</a>( QFocusEvent * )
<a name="l00460"></a>00460 {
<a name="l00461"></a>00461    dir-&gt;setFocus();
<a name="l00462"></a>00462 }
<a name="l00463"></a>00463 
<a name="l00464"></a><a class="code" href="classKateFileSelector.html#b1">00464</a> <span class="keywordtype">void</span> <a class="code" href="classKateFileSelector.html#b1">KateFileSelector::showEvent</a>( QShowEvent * )
<a name="l00465"></a>00465 {
<a name="l00466"></a>00466     <span class="comment">// sync if we should</span>
<a name="l00467"></a>00467     <span class="keywordflow">if</span> ( autoSyncEvents &amp; GotVisible ) {
<a name="l00468"></a>00468 <span class="comment">//     kdDebug(13001)&lt;&lt;"syncing fs on show"&lt;&lt;endl;</span>
<a name="l00469"></a>00469       setActiveDocumentDir();
<a name="l00470"></a>00470       waitingUrl = QString::null;
<a name="l00471"></a>00471     }
<a name="l00472"></a>00472     <span class="comment">// else, if we have a waiting URL set it</span>
<a name="l00473"></a>00473     <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( ! waitingUrl.isEmpty() ) {
<a name="l00474"></a>00474       <a class="code" href="classKateFileSelector.html#i1">setDir</a>( waitingUrl );
<a name="l00475"></a>00475       waitingUrl = QString::null;
<a name="l00476"></a>00476    }
<a name="l00477"></a>00477 }
<a name="l00478"></a>00478 
<a name="l00479"></a><a class="code" href="classKateFileSelector.html#b2">00479</a> <span class="keywordtype">bool</span> <a class="code" href="classKateFileSelector.html#b2">KateFileSelector::eventFilter</a>( QObject* o, QEvent *e )
<a name="l00480"></a>00480 {
<a name="l00481"></a>00481   <span class="comment">/*</span>
<a name="l00482"></a>00482 <span class="comment">      This is rather unfortunate, but:</span>
<a name="l00483"></a>00483 <span class="comment">      QComboBox does not support setting the size of the listbox to something</span>
<a name="l00484"></a>00484 <span class="comment">      reasonable. Even using listbox-&gt;setVariableWidth() does not yield a</span>
<a name="l00485"></a>00485 <span class="comment">      satisfying result, something is wrong with the handling of the sizehint.</span>
<a name="l00486"></a>00486 <span class="comment">      And the popup is rather useless, if the paths are only partly visible.</span>
<a name="l00487"></a>00487 <span class="comment">  */</span>
<a name="l00488"></a>00488   QListBox *lb = cmbPath-&gt;listBox();
<a name="l00489"></a>00489   <span class="keywordflow">if</span> ( o == lb &amp;&amp; e-&gt;type() == QEvent::Show ) {
<a name="l00490"></a>00490     <span class="keywordtype">int</span> add = lb-&gt;height() &lt; lb-&gt;contentsHeight() ? lb-&gt;verticalScrollBar()-&gt;width() : 0;
<a name="l00491"></a>00491     <span class="keywordtype">int</span> w = QMIN( mainwin-&gt;width(), lb-&gt;contentsWidth() + add );
<a name="l00492"></a>00492     lb-&gt;resize( w, lb-&gt;height() );
<a name="l00493"></a>00493     <span class="comment">// TODO - move the listbox to a suitable place if nessecary</span>
<a name="l00494"></a>00494     <span class="comment">// TODO - decide if it is worth caching the size while untill the contents</span>
<a name="l00495"></a>00495     <span class="comment">//        are changed.</span>
<a name="l00496"></a>00496   }
<a name="l00497"></a>00497   <span class="comment">// TODO - same thing for the completion popup?</span>
<a name="l00498"></a>00498   <span class="keywordflow">return</span> QWidget::eventFilter( o, e );
<a name="l00499"></a>00499 }
<a name="l00500"></a>00500 
<a name="l00501"></a>00501 <span class="comment">//END Protected</span>
<a name="l00502"></a>00502 
<a name="l00503"></a>00503 <span class="comment">//BEGIN ACtionLBItem</span>
<a name="l00504"></a>00504 <span class="comment">/*</span>
<a name="l00505"></a>00505 <span class="comment">   QListboxItem that can store and return a string,</span>
<a name="l00506"></a>00506 <span class="comment">   used for the toolbar action selector.</span>
<a name="l00507"></a>00507 <span class="comment">*/</span>
<a name="l00508"></a>00508 <span class="keyword">class </span>ActionLBItem : <span class="keyword">public</span> QListBoxPixmap {
<a name="l00509"></a>00509   <span class="keyword">public</span>:
<a name="l00510"></a>00510   ActionLBItem( QListBox *lb=0,
<a name="l00511"></a>00511                 <span class="keyword">const</span> QPixmap &amp;pm = QPixmap(),
<a name="l00512"></a>00512                 <span class="keyword">const</span> QString &amp;text=QString::null,
<a name="l00513"></a>00513                 <span class="keyword">const</span> QString &amp;str=QString::null ) :
<a name="l00514"></a>00514     QListBoxPixmap( lb, pm, text ),
<a name="l00515"></a>00515     _str(str) {};
<a name="l00516"></a>00516   QString idstring() { <span class="keywordflow">return</span> _str; };
<a name="l00517"></a>00517   <span class="keyword">private</span>:
<a name="l00518"></a>00518     QString _str;
<a name="l00519"></a>00519 };
<a name="l00520"></a>00520 <span class="comment">//END ActionLBItem</span>
<a name="l00521"></a>00521 
<a name="l00522"></a>00522 <span class="comment">//BEGIN KFSConfigPage</span>
<a name="l00524"></a>00524 <span class="comment"></span><span class="comment">// KFSConfigPage implementation</span>
<a name="l00526"></a><a class="code" href="classKFSConfigPage.html#a0">00526</a> <span class="comment"></span><a class="code" href="classKFSConfigPage.html#a0">KFSConfigPage::KFSConfigPage</a>( QWidget *parent, <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <a class="code" href="classKateFileSelector.html">KateFileSelector</a> *kfs )
<a name="l00527"></a>00527   : Kate::ConfigPage( parent, name ),
<a name="l00528"></a>00528     fileSelector( kfs ),
<a name="l00529"></a>00529     m_changed( false )
<a name="l00530"></a>00530 {
<a name="l00531"></a>00531   QVBoxLayout *lo = <span class="keyword">new</span> QVBoxLayout( <span class="keyword">this</span> );
<a name="l00532"></a>00532   <span class="keywordtype">int</span> spacing = KDialog::spacingHint();
<a name="l00533"></a>00533   lo-&gt;setSpacing( spacing );
<a name="l00534"></a>00534 
<a name="l00535"></a>00535   <span class="comment">// Toolbar - a lot for a little...</span>
<a name="l00536"></a>00536   QGroupBox *gbToolbar = <span class="keyword">new</span> QGroupBox( 1, Qt::Vertical, i18n(<span class="stringliteral">"Toolbar"</span>), <span class="keyword">this</span> );
<a name="l00537"></a>00537   acSel = <span class="keyword">new</span> KActionSelector( gbToolbar );
<a name="l00538"></a>00538   acSel-&gt;setAvailableLabel( i18n(<span class="stringliteral">"A&amp;vailable actions:"</span>) );
<a name="l00539"></a>00539   acSel-&gt;setSelectedLabel( i18n(<span class="stringliteral">"S&amp;elected actions:"</span>) );
<a name="l00540"></a>00540   lo-&gt;addWidget( gbToolbar );
<a name="l00541"></a>00541   connect( acSel, SIGNAL( added( QListBoxItem * ) ), <span class="keyword">this</span>, SLOT( slotMyChanged() ) );
<a name="l00542"></a>00542   connect( acSel, SIGNAL( removed( QListBoxItem * ) ), <span class="keyword">this</span>, SLOT( slotMyChanged() ) );
<a name="l00543"></a>00543   connect( acSel, SIGNAL( movedUp( QListBoxItem * ) ), <span class="keyword">this</span>, SLOT( slotMyChanged() ) );
<a name="l00544"></a>00544   connect( acSel, SIGNAL( movedDown( QListBoxItem * ) ), <span class="keyword">this</span>, SLOT( slotMyChanged() ) );
<a name="l00545"></a>00545 
<a name="l00546"></a>00546   <span class="comment">// Sync</span>
<a name="l00547"></a>00547   QGroupBox *gbSync = <span class="keyword">new</span> QGroupBox( 1, Qt::Horizontal, i18n(<span class="stringliteral">"Auto Synchronization"</span>), <span class="keyword">this</span> );
<a name="l00548"></a>00548   cbSyncActive = <span class="keyword">new</span> QCheckBox( i18n(<span class="stringliteral">"When a docu&amp;ment becomes active"</span>), gbSync );
<a name="l00549"></a>00549   cbSyncShow = <span class="keyword">new</span> QCheckBox( i18n(<span class="stringliteral">"When the file selector becomes visible"</span>), gbSync );
<a name="l00550"></a>00550   lo-&gt;addWidget( gbSync );
<a name="l00551"></a>00551   connect( cbSyncActive, SIGNAL( toggled( <span class="keywordtype">bool</span> ) ), <span class="keyword">this</span>, SLOT( slotMyChanged() ) );
<a name="l00552"></a>00552   connect( cbSyncShow, SIGNAL( toggled( <span class="keywordtype">bool</span> ) ), <span class="keyword">this</span>, SLOT( slotMyChanged() ) );
<a name="l00553"></a>00553 
<a name="l00554"></a>00554   <span class="comment">// Histories</span>
<a name="l00555"></a>00555   QHBox *hbPathHist = <span class="keyword">new</span> QHBox ( <span class="keyword">this</span> );
<a name="l00556"></a>00556   QLabel *lbPathHist = <span class="keyword">new</span> QLabel( i18n(<span class="stringliteral">"Remember &amp;locations:"</span>), hbPathHist );
<a name="l00557"></a>00557   sbPathHistLength = <span class="keyword">new</span> QSpinBox( hbPathHist );
<a name="l00558"></a>00558   lbPathHist-&gt;setBuddy( sbPathHistLength );
<a name="l00559"></a>00559   lo-&gt;addWidget( hbPathHist );
<a name="l00560"></a>00560   connect( sbPathHistLength, SIGNAL( valueChanged ( <span class="keywordtype">int</span> ) ), <span class="keyword">this</span>, SLOT( slotMyChanged() ) );
<a name="l00561"></a>00561 
<a name="l00562"></a>00562   QHBox *hbFilterHist = <span class="keyword">new</span> QHBox ( <span class="keyword">this</span> );
<a name="l00563"></a>00563   QLabel *lbFilterHist = <span class="keyword">new</span> QLabel( i18n(<span class="stringliteral">"Remember &amp;filters:"</span>), hbFilterHist );
<a name="l00564"></a>00564   sbFilterHistLength = <span class="keyword">new</span> QSpinBox( hbFilterHist );
<a name="l00565"></a>00565   lbFilterHist-&gt;setBuddy( sbFilterHistLength );
<a name="l00566"></a>00566   lo-&gt;addWidget( hbFilterHist );
<a name="l00567"></a>00567   connect( sbFilterHistLength, SIGNAL( valueChanged ( <span class="keywordtype">int</span> ) ), <span class="keyword">this</span>, SLOT( slotMyChanged() ) );
<a name="l00568"></a>00568 
<a name="l00569"></a>00569   <span class="comment">// Session</span>
<a name="l00570"></a>00570   QGroupBox *gbSession = <span class="keyword">new</span> QGroupBox( 1, Qt::Horizontal, i18n(<span class="stringliteral">"Session"</span>), <span class="keyword">this</span> );
<a name="l00571"></a>00571   cbSesLocation = <span class="keyword">new</span> QCheckBox( i18n(<span class="stringliteral">"Restore loca&amp;tion"</span>), gbSession );
<a name="l00572"></a>00572   cbSesFilter = <span class="keyword">new</span> QCheckBox( i18n(<span class="stringliteral">"Restore last f&amp;ilter"</span>), gbSession );
<a name="l00573"></a>00573   lo-&gt;addWidget( gbSession );
<a name="l00574"></a>00574   connect( cbSesLocation, SIGNAL( toggled( <span class="keywordtype">bool</span> ) ), <span class="keyword">this</span>, SLOT( slotMyChanged() ) );
<a name="l00575"></a>00575   connect( cbSesFilter, SIGNAL( toggled( <span class="keywordtype">bool</span> ) ), <span class="keyword">this</span>, SLOT( slotMyChanged() ) );
<a name="l00576"></a>00576 
<a name="l00577"></a>00577   <span class="comment">// make it look nice</span>
<a name="l00578"></a>00578   lo-&gt;addStretch( 1 );
<a name="l00579"></a>00579 
<a name="l00580"></a>00580   <span class="comment">// be helpfull</span>
<a name="l00581"></a>00581   <span class="comment">/*</span>
<a name="l00582"></a>00582 <span class="comment">  QWhatsThis::add( lbAvailableActions, i18n(</span>
<a name="l00583"></a>00583 <span class="comment">        "&lt;p&gt;Available actions for the toolbar. To add an action, select it here "</span>
<a name="l00584"></a>00584 <span class="comment">        "and press the add (&lt;strong&gt;-&amp;gt;&lt;/strong&gt;) button" ) );</span>
<a name="l00585"></a>00585 <span class="comment">  QWhatsThis::add( lbUsedActions, i18n(</span>
<a name="l00586"></a>00586 <span class="comment">        "&lt;p&gt;Actions used in the toolbar. To remove an action, select it and "</span>
<a name="l00587"></a>00587 <span class="comment">        "press the remove (&lt;strong&gt;&amp;lt;-&lt;/strong&gt;) button."</span>
<a name="l00588"></a>00588 <span class="comment">        "&lt;p&gt;To change the order of the actions, use the Up and Down buttons to "</span>
<a name="l00589"></a>00589 <span class="comment">        "move the selected action.") );</span>
<a name="l00590"></a>00590 <span class="comment">  */</span>
<a name="l00591"></a>00591   QString lhwt( i18n(
<a name="l00592"></a>00592         <span class="stringliteral">"&lt;p&gt;Decides how many locations to keep in the history of the location "</span>
<a name="l00593"></a>00593         <span class="stringliteral">"combo box."</span>) );
<a name="l00594"></a>00594   QWhatsThis::add( lbPathHist, lhwt );
<a name="l00595"></a>00595   QWhatsThis::add( sbPathHistLength, lhwt );
<a name="l00596"></a>00596   QString fhwt( i18n(
<a name="l00597"></a>00597         <span class="stringliteral">"&lt;p&gt;Decides how many filters to keep in the history of the filter "</span>
<a name="l00598"></a>00598         <span class="stringliteral">"combo box."</span>) );
<a name="l00599"></a>00599   QWhatsThis::add( lbFilterHist, fhwt );
<a name="l00600"></a>00600   QWhatsThis::add( sbFilterHistLength, fhwt );
<a name="l00601"></a>00601   QString synwt( i18n(
<a name="l00602"></a>00602         <span class="stringliteral">"&lt;p&gt;These options allow you to have the File Selector automatically "</span>
<a name="l00603"></a>00603         <span class="stringliteral">"change location to the folder of the active document on certain "</span>
<a name="l00604"></a>00604         <span class="stringliteral">"events."</span>
<a name="l00605"></a>00605         <span class="stringliteral">"&lt;p&gt;Auto synchronization is &lt;em&gt;lazy&lt;/em&gt;, meaning it will not take "</span>
<a name="l00606"></a>00606         <span class="stringliteral">"effect until the file selector is visible."</span>
<a name="l00607"></a>00607         <span class="stringliteral">"&lt;p&gt;None of these are enabled by default, but you can always sync the "</span>
<a name="l00608"></a>00608         <span class="stringliteral">"location by pressing the sync button in the toolbar."</span>) );
<a name="l00609"></a>00609   QWhatsThis::add( gbSync, synwt );
<a name="l00610"></a>00610   QWhatsThis::add( cbSesLocation, i18n(
<a name="l00611"></a>00611         <span class="stringliteral">"&lt;p&gt;If this option is enabled (default), the location will be restored "</span>
<a name="l00612"></a>00612         <span class="stringliteral">"when you start Kate.&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt; that if the session is "</span>
<a name="l00613"></a>00613         <span class="stringliteral">"handled by the KDE session manager, the location is always restored."</span>) );
<a name="l00614"></a>00614   QWhatsThis::add( cbSesFilter, i18n(
<a name="l00615"></a>00615         <span class="stringliteral">"&lt;p&gt;If this option is enabled (default), the current filter will be "</span>
<a name="l00616"></a>00616         <span class="stringliteral">"restored when you start Kate.&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt; that if the "</span>
<a name="l00617"></a>00617         <span class="stringliteral">"session is handled by the KDE session manager, the filter is always "</span>
<a name="l00618"></a>00618         <span class="stringliteral">"restored."</span>
<a name="l00619"></a>00619         <span class="stringliteral">"&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt; that some of the autosync settings may "</span>
<a name="l00620"></a>00620         <span class="stringliteral">"override the restored location if on."</span>) );
<a name="l00621"></a>00621 
<a name="l00622"></a>00622   init();
<a name="l00623"></a>00623 
<a name="l00624"></a>00624 }
<a name="l00625"></a>00625 
<a name="l00626"></a><a class="code" href="classKFSConfigPage.html#a2">00626</a> <span class="keywordtype">void</span> <a class="code" href="classKFSConfigPage.html#a2">KFSConfigPage::apply</a>()
<a name="l00627"></a>00627 {
<a name="l00628"></a>00628   <span class="keywordflow">if</span> ( ! m_changed )
<a name="l00629"></a>00629     <span class="keywordflow">return</span>;
<a name="l00630"></a>00630 
<a name="l00631"></a>00631   m_changed = <span class="keyword">false</span>;
<a name="l00632"></a>00632 
<a name="l00633"></a>00633   KConfig *config = kapp-&gt;config();
<a name="l00634"></a>00634   config-&gt;setGroup( <span class="stringliteral">"fileselector"</span> );
<a name="l00635"></a>00635   <span class="comment">// toolbar</span>
<a name="l00636"></a>00636   QStringList l;
<a name="l00637"></a>00637   QListBoxItem *item = acSel-&gt;selectedListBox()-&gt;firstItem();
<a name="l00638"></a>00638   ActionLBItem *aItem;
<a name="l00639"></a>00639   <span class="keywordflow">while</span> ( item )
<a name="l00640"></a>00640   {
<a name="l00641"></a>00641     aItem = (ActionLBItem*)item;
<a name="l00642"></a>00642     <span class="keywordflow">if</span> ( aItem )
<a name="l00643"></a>00643     {
<a name="l00644"></a>00644       l &lt;&lt; aItem-&gt;idstring();
<a name="l00645"></a>00645     }
<a name="l00646"></a>00646     item = item-&gt;next();
<a name="l00647"></a>00647   }
<a name="l00648"></a>00648   config-&gt;writeEntry( <span class="stringliteral">"toolbar actions"</span>, l );
<a name="l00649"></a>00649   fileSelector-&gt;<a class="code" href="classKateFileSelector.html#a4">setupToolbar</a>( config );
<a name="l00650"></a>00650   <span class="comment">// sync</span>
<a name="l00651"></a>00651   <span class="keywordtype">int</span> s = 0;
<a name="l00652"></a>00652   <span class="keywordflow">if</span> ( cbSyncActive-&gt;isChecked() )
<a name="l00653"></a>00653     s |= KateFileSelector::DocumentChanged;
<a name="l00654"></a>00654   <span class="keywordflow">if</span> ( cbSyncShow-&gt;isChecked() )
<a name="l00655"></a>00655     s |= KateFileSelector::GotVisible;
<a name="l00656"></a>00656   fileSelector-&gt;<a class="code" href="classKateFileSelector.html#r11">autoSyncEvents</a> = s;
<a name="l00657"></a>00657 
<a name="l00658"></a>00658   <span class="comment">// histories</span>
<a name="l00659"></a>00659   fileSelector-&gt;<a class="code" href="classKateFileSelector.html#r3">cmbPath</a>-&gt;setMaxItems( sbPathHistLength-&gt;value() );
<a name="l00660"></a>00660   fileSelector-&gt;<a class="code" href="classKateFileSelector.html#r6">filter</a>-&gt;setMaxCount( sbFilterHistLength-&gt;value() );
<a name="l00661"></a>00661   <span class="comment">// session - theese are read/written directly to the app config,</span>
<a name="l00662"></a>00662   <span class="comment">//           as they are not needed during operation.</span>
<a name="l00663"></a>00663   config-&gt;writeEntry( <span class="stringliteral">"restore location"</span>, cbSesLocation-&gt;isChecked() );
<a name="l00664"></a>00664   config-&gt;writeEntry( <span class="stringliteral">"restore last filter"</span>, cbSesFilter-&gt;isChecked() );
<a name="l00665"></a>00665 }
<a name="l00666"></a>00666 
<a name="l00667"></a><a class="code" href="classKFSConfigPage.html#a3">00667</a> <span class="keywordtype">void</span> <a class="code" href="classKFSConfigPage.html#a3">KFSConfigPage::reload</a>()
<a name="l00668"></a>00668 {
<a name="l00669"></a>00669   <span class="comment">// hmm, what is this supposed to do, actually??</span>
<a name="l00670"></a>00670   init();
<a name="l00671"></a>00671   m_changed = <span class="keyword">false</span>;
<a name="l00672"></a>00672 }
<a name="l00673"></a>00673 <span class="keywordtype">void</span> KFSConfigPage::init()
<a name="l00674"></a>00674 {
<a name="l00675"></a>00675   KConfig *config = kapp-&gt;config();
<a name="l00676"></a>00676   config-&gt;setGroup( <span class="stringliteral">"fileselector"</span> );
<a name="l00677"></a>00677   <span class="comment">// toolbar</span>
<a name="l00678"></a>00678   QStringList l = config-&gt;readListEntry( <span class="stringliteral">"toolbar actions"</span>, <span class="charliteral">','</span> );
<a name="l00679"></a>00679   <span class="keywordflow">if</span> ( l.isEmpty() ) <span class="comment">// default toolbar</span>
<a name="l00680"></a>00680     l &lt;&lt; <span class="stringliteral">"up"</span> &lt;&lt; <span class="stringliteral">"back"</span> &lt;&lt; <span class="stringliteral">"forward"</span> &lt;&lt; <span class="stringliteral">"home"</span> &lt;&lt;
<a name="l00681"></a>00681                 <span class="stringliteral">"short view"</span> &lt;&lt; <span class="stringliteral">"detailed view"</span> &lt;&lt;
<a name="l00682"></a>00682                 <span class="stringliteral">"bookmarks"</span> &lt;&lt; <span class="stringliteral">"sync_dir"</span>;
<a name="l00683"></a>00683 
<a name="l00684"></a>00684   <span class="comment">// actions from diroperator + two of our own</span>
<a name="l00685"></a>00685   QStringList allActions;
<a name="l00686"></a>00686   allActions &lt;&lt; <span class="stringliteral">"up"</span> &lt;&lt; <span class="stringliteral">"back"</span> &lt;&lt; <span class="stringliteral">"forward"</span> &lt;&lt; <span class="stringliteral">"home"</span> &lt;&lt;
<a name="l00687"></a>00687                 <span class="stringliteral">"reload"</span> &lt;&lt; <span class="stringliteral">"mkdir"</span> &lt;&lt; <span class="stringliteral">"delete"</span> &lt;&lt;
<a name="l00688"></a>00688                 <span class="stringliteral">"short view"</span> &lt;&lt; <span class="stringliteral">"detailed view"</span> <span class="comment">/*&lt;&lt; "view menu" &lt;&lt;</span>
<a name="l00689"></a>00689 <span class="comment">                "show hidden" &lt;&lt; "properties"*/</span> &lt;&lt;
<a name="l00690"></a>00690                 <span class="stringliteral">"bookmarks"</span> &lt;&lt; <span class="stringliteral">"sync_dir"</span>;
<a name="l00691"></a>00691   QRegExp re(<span class="stringliteral">"&amp;(?=[^&amp;])"</span>);
<a name="l00692"></a>00692   KAction *ac;
<a name="l00693"></a>00693   QListBox *lb;
<a name="l00694"></a>00694   <span class="keywordflow">for</span> ( QStringList::Iterator it=allActions.begin(); it != allActions.end(); ++it ) {
<a name="l00695"></a>00695     lb = l.contains( *it ) ? acSel-&gt;selectedListBox() : acSel-&gt;availableListBox();
<a name="l00696"></a>00696     <span class="keywordflow">if</span> ( *it == <span class="stringliteral">"bookmarks"</span> || *it == <span class="stringliteral">"sync_dir"</span> )
<a name="l00697"></a>00697       ac = fileSelector-&gt;<a class="code" href="classKateFileSelector.html#a7">actionCollection</a>()-&gt;action( (*it).latin1() );
<a name="l00698"></a>00698     <span class="keywordflow">else</span>
<a name="l00699"></a>00699       ac = fileSelector-&gt;<a class="code" href="classKateFileSelector.html#a6">dirOperator</a>()-&gt;actionCollection()-&gt;action( (*it).latin1() );
<a name="l00700"></a>00700     <span class="keywordflow">if</span> ( ac )
<a name="l00701"></a>00701       <span class="keyword">new</span> ActionLBItem( lb, SmallIcon( ac-&gt;icon() ), ac-&gt;text().replace( re, <span class="stringliteral">""</span> ), *it );
<a name="l00702"></a>00702   }
<a name="l00703"></a>00703 
<a name="l00704"></a>00704   <span class="comment">// sync</span>
<a name="l00705"></a>00705   <span class="keywordtype">int</span> s = fileSelector-&gt;<a class="code" href="classKateFileSelector.html#r11">autoSyncEvents</a>;
<a name="l00706"></a>00706   cbSyncActive-&gt;setChecked( s &amp; KateFileSelector::DocumentChanged );
<a name="l00707"></a>00707   cbSyncShow-&gt;setChecked( s &amp; KateFileSelector::GotVisible );
<a name="l00708"></a>00708   <span class="comment">// histories</span>
<a name="l00709"></a>00709   sbPathHistLength-&gt;setValue( fileSelector-&gt;<a class="code" href="classKateFileSelector.html#r3">cmbPath</a>-&gt;maxItems() );
<a name="l00710"></a>00710   sbFilterHistLength-&gt;setValue( fileSelector-&gt;<a class="code" href="classKateFileSelector.html#r6">filter</a>-&gt;maxCount() );
<a name="l00711"></a>00711   <span class="comment">// session</span>
<a name="l00712"></a>00712   cbSesLocation-&gt;setChecked( config-&gt;readBoolEntry( <span class="stringliteral">"restore location"</span>, <span class="keyword">true</span> ) );
<a name="l00713"></a>00713   cbSesFilter-&gt;setChecked( config-&gt;readBoolEntry( <span class="stringliteral">"restore last filter"</span>, <span class="keyword">true</span> ) );
<a name="l00714"></a>00714 }
<a name="l00715"></a>00715 
<a name="l00716"></a>00716 <span class="keywordtype">void</span> KFSConfigPage::slotMyChanged()
<a name="l00717"></a>00717 {
<a name="l00718"></a>00718   m_changed = <span class="keyword">true</span>;
<a name="l00719"></a>00719   slotChanged();
<a name="l00720"></a>00720 }
<a name="l00721"></a>00721 <span class="comment">//END KFSConfigPage</span>
<a name="l00722"></a>00722 <span class="comment">// kate: space-indent on; indent-width 2; replace-tabs on;</span>
</pre></div></div>
<div id="bottom-nav">
<img src="../../common/bottom2.png" align="right" height="59" width="227" alt="KDE Logo">
</div>
<div class="bottom">
This file is part of the documentation for kate Library Version 3.4.2.
</div>
<div class="bottom" style="color:#cccccc">
Documentation copyright &copy; 1996-2004 the KDE developers.<br>
Generated on Wed Jun 14 19:05:33 2006 by
<a href="http://www.doxygen.org/index.html">doxygen</a> 1.4.4 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>, &copy;&nbsp;1997-2003
</div>
</body>
</html>