Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 1f9eb832ba1e4b88d9a5c2b384813bb4 > files > 5075

kdelibs3-apidocs-3.5.10-31.fc15.noarch.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>kio/kfile: kurlbar.cpp Source File (kio/kfile)</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" />



</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>

  <div id="nav_header_title" align="left">KDE 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_right" style="text-align: left;">
/ <a href="../../..">API Reference</a>
 / <a href="../../html/index.html">kio</a> / <a href=".">kfile</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;">
    <a name="content"></a>


<!-- Generated by Doxygen 1.7.4 -->
<div class="header">
  <div class="headertitle">
<div class="title">kurlbar.cpp</div>  </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* This file is part of the KDE libraries</span>
<a name="l00002"></a>00002 <span class="comment">    Copyright (C) 2001,2002,2003 Carsten Pfeiffer &lt;pfeiffer@kde.org&gt;</span>
<a name="l00003"></a>00003 <span class="comment"></span>
<a name="l00004"></a>00004 <span class="comment">    library is free software; you can redistribute it and/or</span>
<a name="l00005"></a>00005 <span class="comment">    modify it under the terms of the GNU Library General Public</span>
<a name="l00006"></a>00006 <span class="comment">    License as published by the Free Software Foundation, version 2.</span>
<a name="l00007"></a>00007 <span class="comment"></span>
<a name="l00008"></a>00008 <span class="comment">    This library is distributed in the hope that it will be useful,</span>
<a name="l00009"></a>00009 <span class="comment">    but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="l00010"></a>00010 <span class="comment">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</span>
<a name="l00011"></a>00011 <span class="comment">    Library General Public License for more details.</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="comment">    You should have received a copy of the GNU Library General Public License</span>
<a name="l00014"></a>00014 <span class="comment">    along with this library; see the file COPYING.LIB.  If not, write to</span>
<a name="l00015"></a>00015 <span class="comment">    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,</span>
<a name="l00016"></a>00016 <span class="comment">    Boston, MA 02110-1301, USA.</span>
<a name="l00017"></a>00017 <span class="comment">*/</span>
<a name="l00018"></a>00018 
<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;unistd.h&gt;</span>
<a name="l00020"></a>00020 
<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;qapplication.h&gt;</span>
<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;qcheckbox.h&gt;</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;qdrawutil.h&gt;</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;qfontmetrics.h&gt;</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;qlabel.h&gt;</span>
<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;qgrid.h&gt;</span>
<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;qpainter.h&gt;</span>
<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;qpopupmenu.h&gt;</span>
<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;qstyle.h&gt;</span>
<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;qvbox.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;kaboutdata.h&gt;</span>
<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;kconfig.h&gt;</span>
<a name="l00035"></a>00035 <span class="preprocessor">#include &lt;kdebug.h&gt;</span>
<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;kglobal.h&gt;</span>
<a name="l00037"></a>00037 <span class="preprocessor">#include &lt;kicondialog.h&gt;</span>
<a name="l00038"></a>00038 <span class="preprocessor">#include &lt;kiconloader.h&gt;</span>
<a name="l00039"></a>00039 <span class="preprocessor">#include &lt;kinstance.h&gt;</span>
<a name="l00040"></a>00040 <span class="preprocessor">#include &lt;klineedit.h&gt;</span>
<a name="l00041"></a>00041 <span class="preprocessor">#include &lt;klocale.h&gt;</span>
<a name="l00042"></a>00042 <span class="preprocessor">#include &lt;kmimetype.h&gt;</span>
<a name="l00043"></a>00043 <span class="preprocessor">#include &lt;kprotocolinfo.h&gt;</span>
<a name="l00044"></a>00044 <span class="preprocessor">#include &lt;kstringhandler.h&gt;</span>
<a name="l00045"></a>00045 <span class="preprocessor">#include &lt;kurldrag.h&gt;</span>
<a name="l00046"></a>00046 <span class="preprocessor">#include &lt;kurlrequester.h&gt;</span>
<a name="l00047"></a>00047 
<a name="l00048"></a>00048 <span class="preprocessor">#include &quot;kurlbar.h&quot;</span>
<a name="l00049"></a>00049 
<a name="l00054"></a>00054 <span class="keyword">class </span>KURLBarToolTip : <span class="keyword">public</span> <a class="codeRef" href="qtooltip.html">QToolTip</a>
<a name="l00055"></a>00055 {
<a name="l00056"></a>00056 <span class="keyword">public</span>:
<a name="l00057"></a>00057     KURLBarToolTip( <a class="codeRef" href="qlistbox.html">QListBox</a> *view ) : <a class="codeRef" href="qtooltip.html">QToolTip</a>( view ), m_view( view ) {}
<a name="l00058"></a>00058 
<a name="l00059"></a>00059 <span class="keyword">protected</span>:
<a name="l00060"></a>00060     <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="codeRef" href="qtooltip.html#maybeTip">maybeTip</a>( <span class="keyword">const</span> <a class="codeRef" href="qpoint.html">QPoint</a>&amp; point ) {
<a name="l00061"></a>00061         <a class="codeRef" href="qlistboxitem.html">QListBoxItem</a> *item = m_view-&gt;itemAt( point );
<a name="l00062"></a>00062         <span class="keywordflow">if</span> ( item ) {
<a name="l00063"></a>00063             <a class="codeRef" href="qstring.html">QString</a> text = <span class="keyword">static_cast&lt;</span><a class="code" href="classKURLBarItem.html" title="An item to be used in KURLBar / KURLBarListBox.">KURLBarItem</a>*<span class="keyword">&gt;</span>( item )-&gt;toolTip();
<a name="l00064"></a>00064             <span class="keywordflow">if</span> ( !text.<a class="codeRef" href="qstring.html#isEmpty">isEmpty</a>() )
<a name="l00065"></a>00065                 <a class="codeRef" href="qtooltip.html#tip">tip</a>( m_view-&gt;itemRect( item ), text );
<a name="l00066"></a>00066         }
<a name="l00067"></a>00067     }
<a name="l00068"></a>00068 
<a name="l00069"></a>00069 <span class="keyword">private</span>:
<a name="l00070"></a>00070     <a class="codeRef" href="qlistbox.html">QListBox</a> *m_view;
<a name="l00071"></a>00071 };
<a name="l00072"></a>00072 
<a name="l00073"></a>00073 
<a name="l00076"></a>00076 
<a name="l00077"></a>00077 <span class="keyword">class </span>KURLBarItem::KURLBarItemPrivate
<a name="l00078"></a>00078 {
<a name="l00079"></a>00079 <span class="keyword">public</span>:
<a name="l00080"></a>00080     KURLBarItemPrivate()
<a name="l00081"></a>00081     {
<a name="l00082"></a>00082         <a class="code" href="classKURLBarItem.html#a334965751daa3da9fa6a38e59a9bc19a" title="returns whether this item is persistent (via KURLBar::writeConfig() and KURLBar::readConfig()) or not...">isPersistent</a> = <span class="keyword">true</span>;
<a name="l00083"></a>00083     }
<a name="l00084"></a>00084 
<a name="l00085"></a>00085     <span class="keywordtype">bool</span> <a class="code" href="classKURLBarItem.html#a334965751daa3da9fa6a38e59a9bc19a" title="returns whether this item is persistent (via KURLBar::writeConfig() and KURLBar::readConfig()) or not...">isPersistent</a>;
<a name="l00086"></a>00086 };
<a name="l00087"></a>00087 
<a name="l00088"></a><a class="code" href="classKURLBarItem.html#accf76431fc8e0ad9b495b1b4105d3390">00088</a> <a class="code" href="classKURLBarItem.html#accf76431fc8e0ad9b495b1b4105d3390" title="Creates a KURLBarItem to be used in the parent KURLBar.">KURLBarItem::KURLBarItem</a>( <a class="code" href="classKURLBar.html" title="KURLBar is a widget that displays icons together with a description.">KURLBar</a> *parent,
<a name="l00089"></a>00089                           <span class="keyword">const</span> KURL&amp; url, <span class="keywordtype">bool</span> persistent, <span class="keyword">const</span> <a class="codeRef" href="qstring.html">QString</a>&amp; description,
<a name="l00090"></a>00090                           <span class="keyword">const</span> <a class="codeRef" href="qstring.html">QString</a>&amp; icon, KIcon::Group group )
<a name="l00091"></a>00091     : <a class="codeRef" href="qlistboxpixmap.html">QListBoxPixmap</a>( KIconLoader::unknown() <span class="comment">/*, parent-&gt;listBox()*/</span> ),
<a name="l00092"></a>00092       m_url( url ),
<a name="l00093"></a>00093       m_pixmap( 0L ),
<a name="l00094"></a>00094       m_parent( parent ),
<a name="l00095"></a>00095       m_appLocal( true )
<a name="l00096"></a>00096 {
<a name="l00097"></a>00097     init( icon, group, description, persistent );
<a name="l00098"></a>00098 }
<a name="l00099"></a>00099 
<a name="l00100"></a><a class="code" href="classKURLBarItem.html#a26ed6ef6bb62762bfae468ec274819c2">00100</a> <a class="code" href="classKURLBarItem.html#accf76431fc8e0ad9b495b1b4105d3390" title="Creates a KURLBarItem to be used in the parent KURLBar.">KURLBarItem::KURLBarItem</a>( <a class="code" href="classKURLBar.html" title="KURLBar is a widget that displays icons together with a description.">KURLBar</a> *parent,
<a name="l00101"></a>00101                           <span class="keyword">const</span> KURL&amp; url, <span class="keyword">const</span> <a class="codeRef" href="qstring.html">QString</a>&amp; description,
<a name="l00102"></a>00102                           <span class="keyword">const</span> <a class="codeRef" href="qstring.html">QString</a>&amp; icon, KIcon::Group group )
<a name="l00103"></a>00103     : <a class="codeRef" href="qlistboxpixmap.html">QListBoxPixmap</a>( KIconLoader::unknown() <span class="comment">/*, parent-&gt;listBox()*/</span> ),
<a name="l00104"></a>00104       m_url( url ),
<a name="l00105"></a>00105       m_pixmap( 0L ),
<a name="l00106"></a>00106       m_parent( parent ),
<a name="l00107"></a>00107       m_appLocal( true )
<a name="l00108"></a>00108 {
<a name="l00109"></a>00109     init( icon, group, description, <span class="keyword">true</span> <span class="comment">/*persistent*/</span> );
<a name="l00110"></a>00110 }
<a name="l00111"></a>00111 
<a name="l00112"></a>00112 <span class="keywordtype">void</span> KURLBarItem::init( <span class="keyword">const</span> <a class="codeRef" href="qstring.html">QString</a>&amp; icon, KIcon::Group group,
<a name="l00113"></a>00113                         <span class="keyword">const</span> <a class="codeRef" href="qstring.html">QString</a>&amp; description, <span class="keywordtype">bool</span> persistent )
<a name="l00114"></a>00114 {
<a name="l00115"></a>00115     d = <span class="keyword">new</span> KURLBarItemPrivate;
<a name="l00116"></a>00116     d-&gt;isPersistent = persistent;
<a name="l00117"></a>00117 
<a name="l00118"></a>00118     setCustomHighlighting( <span class="keyword">true</span> );
<a name="l00119"></a>00119     <a class="code" href="classKURLBarItem.html#a0d795f5808b96884df591dba85911fec" title="sets the icon for this item.">setIcon</a>( icon, group );
<a name="l00120"></a>00120     <a class="code" href="classKURLBarItem.html#af30d99433b3e0469850d53308b4b1433" title="Sets the description of this item that will be shown as item-text.">setDescription</a>( description );
<a name="l00121"></a>00121 }
<a name="l00122"></a>00122 
<a name="l00123"></a><a class="code" href="classKURLBarItem.html#acef91afb5f5ae539d6aaabb4e7776012">00123</a> <a class="code" href="classKURLBarItem.html#acef91afb5f5ae539d6aaabb4e7776012" title="Destroys the item.">KURLBarItem::~KURLBarItem</a>()
<a name="l00124"></a>00124 {
<a name="l00125"></a>00125     <span class="keyword">delete</span> d;
<a name="l00126"></a>00126 }
<a name="l00127"></a>00127 
<a name="l00128"></a><a class="code" href="classKURLBarItem.html#a59333f2351923b5f621b1388a71ab90c">00128</a> <span class="keywordtype">void</span> <a class="code" href="classKURLBarItem.html#a59333f2351923b5f621b1388a71ab90c" title="Sets url for this item.">KURLBarItem::setURL</a>( <span class="keyword">const</span> KURL&amp; url )
<a name="l00129"></a>00129 {
<a name="l00130"></a>00130     m_url = <a class="code" href="classKURLBarItem.html#a2efa9aac9246658f46283a66e7e2643d" title="returns the url of this item.">url</a>;
<a name="l00131"></a>00131     <span class="keywordflow">if</span> ( m_description.<a class="codeRef" href="qstring.html#isEmpty">isEmpty</a>() )
<a name="l00132"></a>00132         setText( url.fileName() );
<a name="l00133"></a>00133 }
<a name="l00134"></a>00134 
<a name="l00135"></a><a class="code" href="classKURLBarItem.html#a0d795f5808b96884df591dba85911fec">00135</a> <span class="keywordtype">void</span> <a class="code" href="classKURLBarItem.html#a0d795f5808b96884df591dba85911fec" title="sets the icon for this item.">KURLBarItem::setIcon</a>( <span class="keyword">const</span> <a class="codeRef" href="qstring.html">QString</a>&amp; icon, KIcon::Group group )
<a name="l00136"></a>00136 {
<a name="l00137"></a>00137     m_icon  = <a class="code" href="classKURLBarItem.html#a44dc1087dd20917fd08a11b65578f098" title="returns the icon of this item.">icon</a>;
<a name="l00138"></a>00138     m_group = group;
<a name="l00139"></a>00139 
<a name="l00140"></a>00140     <span class="keywordflow">if</span> ( icon.<a class="codeRef" href="qstring.html#isEmpty">isEmpty</a>() )
<a name="l00141"></a>00141         m_pixmap = KMimeType::pixmapForURL( m_url, 0, group, iconSize() );
<a name="l00142"></a>00142     <span class="keywordflow">else</span>
<a name="l00143"></a>00143         m_pixmap = KGlobal::iconLoader()-&gt;loadIcon( icon, group, iconSize(),
<a name="l00144"></a>00144                                                     KIcon::DefaultState );
<a name="l00145"></a>00145 }
<a name="l00146"></a>00146 
<a name="l00147"></a><a class="code" href="classKURLBarItem.html#af30d99433b3e0469850d53308b4b1433">00147</a> <span class="keywordtype">void</span> <a class="code" href="classKURLBarItem.html#af30d99433b3e0469850d53308b4b1433" title="Sets the description of this item that will be shown as item-text.">KURLBarItem::setDescription</a>( <span class="keyword">const</span> <a class="codeRef" href="qstring.html">QString</a>&amp; desc )
<a name="l00148"></a>00148 {
<a name="l00149"></a>00149     m_description = desc;
<a name="l00150"></a>00150     setText( desc.<a class="codeRef" href="qstring.html#isEmpty">isEmpty</a>() ? m_url.fileName() : desc );
<a name="l00151"></a>00151 }
<a name="l00152"></a>00152 
<a name="l00153"></a><a class="code" href="classKURLBarItem.html#a41ba20ae4002ca597c9659350c5216c4">00153</a> <span class="keywordtype">void</span> <a class="code" href="classKURLBarItem.html#a41ba20ae4002ca597c9659350c5216c4" title="Makes this item a local or global one.">KURLBarItem::setApplicationLocal</a>( <span class="keywordtype">bool</span> local )
<a name="l00154"></a>00154 {
<a name="l00155"></a>00155     <span class="keywordflow">if</span> ( !local &amp;&amp; !<a class="code" href="classKURLBarItem.html#a334965751daa3da9fa6a38e59a9bc19a" title="returns whether this item is persistent (via KURLBar::writeConfig() and KURLBar::readConfig()) or not...">isPersistent</a>() )
<a name="l00156"></a>00156     {
<a name="l00157"></a>00157         kdWarning() &lt;&lt; <span class="stringliteral">&quot;KURLBar: dynamic (non-persistent) items can not be global.&quot;</span> &lt;&lt; endl;
<a name="l00158"></a>00158         <span class="keywordflow">return</span>;
<a name="l00159"></a>00159     }
<a name="l00160"></a>00160 
<a name="l00161"></a>00161     m_appLocal = local;
<a name="l00162"></a>00162 }
<a name="l00163"></a>00163 
<a name="l00164"></a><a class="code" href="classKURLBarItem.html#ae17cd982377a578b9067fa3c49961b7e">00164</a> <span class="keywordtype">void</span> <a class="code" href="classKURLBarItem.html#ae17cd982377a578b9067fa3c49961b7e" title="Sets a tooltip to be used for this item.">KURLBarItem::setToolTip</a>( <span class="keyword">const</span> <a class="codeRef" href="qstring.html">QString</a>&amp; tip )
<a name="l00165"></a>00165 {
<a name="l00166"></a>00166     m_toolTip = tip;
<a name="l00167"></a>00167 }
<a name="l00168"></a>00168 
<a name="l00169"></a><a class="code" href="classKURLBarItem.html#abd5e59c86daeae7df6e833dfdebe1f02">00169</a> <a class="codeRef" href="qstring.html">QString</a> <a class="code" href="classKURLBarItem.html#abd5e59c86daeae7df6e833dfdebe1f02" title="returns the tooltip of this item.">KURLBarItem::toolTip</a>()<span class="keyword"> const</span>
<a name="l00170"></a>00170 <span class="keyword"></span>{
<a name="l00171"></a>00171     <span class="keywordflow">return</span> m_toolTip.<a class="codeRef" href="qstring.html#isEmpty">isEmpty</a>() ? m_url.prettyURL() : m_toolTip;
<a name="l00172"></a>00172 }
<a name="l00173"></a>00173 
<a name="l00174"></a>00174 <span class="keywordtype">int</span> KURLBarItem::iconSize()<span class="keyword"> const</span>
<a name="l00175"></a>00175 <span class="keyword"></span>{
<a name="l00176"></a>00176     <span class="keywordflow">return</span> m_parent-&gt;<a class="code" href="classKURLBar.html#a11014f870a05bb8479647859ddebb71e">iconSize</a>();
<a name="l00177"></a>00177 }
<a name="l00178"></a>00178 
<a name="l00179"></a>00179 <span class="keywordtype">void</span> KURLBarItem::paint( <a class="codeRef" href="qpainter.html">QPainter</a> *p )
<a name="l00180"></a>00180 {
<a name="l00181"></a>00181     <a class="codeRef" href="qlistbox.html">QListBox</a> *box = listBox();
<a name="l00182"></a>00182     <span class="keywordtype">int</span> w = <a class="code" href="classKURLBarItem.html#af50780a21c7c15aa6105ae07cecefdb5" title="returns the width of this item.">width</a>( box );
<a name="l00183"></a>00183     <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> margin = KDialog::spacingHint();
<a name="l00184"></a>00184 
<a name="l00185"></a>00185     <span class="comment">// draw sunken selection</span>
<a name="l00186"></a>00186     <span class="keywordflow">if</span> ( isCurrent() || isSelected() ) {
<a name="l00187"></a>00187         <span class="keywordtype">int</span> h = <a class="code" href="classKURLBarItem.html#aff33ffd4c764b31b30bc16df922670d5" title="returns the height of this item.">height</a>( box );
<a name="l00188"></a>00188 
<a name="l00189"></a>00189         <a class="codeRef" href="qbrush.html">QBrush</a> brush = box-&gt;colorGroup().brush( QColorGroup::Highlight );
<a name="l00190"></a>00190         p-&gt;<a class="codeRef" href="qpainter.html#fillRect">fillRect</a>( 0, 0, w, h, brush );
<a name="l00191"></a>00191         <a class="codeRef" href="qpen.html">QPen</a> pen = p-&gt;<a class="codeRef" href="qpainter.html#pen">pen</a>();
<a name="l00192"></a>00192         <a class="codeRef" href="qpen.html">QPen</a> oldPen = pen;
<a name="l00193"></a>00193         pen.<a class="codeRef" href="qpen.html#setColor">setColor</a>( box-&gt;colorGroup().mid() );
<a name="l00194"></a>00194         p-&gt;<a class="codeRef" href="qpainter.html#setPen">setPen</a>( pen );
<a name="l00195"></a>00195 
<a name="l00196"></a>00196         p-&gt;<a class="codeRef" href="qpainter.html#drawPoint">drawPoint</a>( 0, 0 );
<a name="l00197"></a>00197         p-&gt;<a class="codeRef" href="qpainter.html#drawPoint">drawPoint</a>( 0, h - 1 );
<a name="l00198"></a>00198         p-&gt;<a class="codeRef" href="qpainter.html#drawPoint">drawPoint</a>( w - 1, 0 );
<a name="l00199"></a>00199         p-&gt;<a class="codeRef" href="qpainter.html#drawPoint">drawPoint</a>( w - 1, h - 1 );
<a name="l00200"></a>00200 
<a name="l00201"></a>00201         p-&gt;<a class="codeRef" href="qpainter.html#setPen">setPen</a>( oldPen );
<a name="l00202"></a>00202     }
<a name="l00203"></a>00203 
<a name="l00204"></a>00204     <span class="keywordflow">if</span> ( m_parent-&gt;<a class="code" href="classKURLBar.html#a11014f870a05bb8479647859ddebb71e">iconSize</a>() &lt; KIcon::SizeMedium ) {
<a name="l00205"></a>00205         <span class="comment">// small icon -&gt; draw icon next to text</span>
<a name="l00206"></a>00206 
<a name="l00207"></a>00207         <span class="comment">// ### mostly cut &amp; paste of QListBoxPixmap::paint() until Qt 3.1</span>
<a name="l00208"></a>00208         <span class="comment">// (where it will properly use pixmap() instead of the internal pixmap)</span>
<a name="l00209"></a>00209         <span class="keyword">const</span> <a class="codeRef" href="qpixmap.html">QPixmap</a> *pm = <a class="code" href="classKURLBarItem.html#adea318190fd8588dc65807c166e90f8f" title="returns the pixmap of this item.">pixmap</a>();
<a name="l00210"></a>00210         <span class="keywordtype">int</span> yPos = QMAX( 0, (<a class="code" href="classKURLBarItem.html#aff33ffd4c764b31b30bc16df922670d5" title="returns the height of this item.">height</a>(box) - pm-&gt;<a class="codeRef" href="qpixmap.html#height">height</a>())/2 );
<a name="l00211"></a>00211 
<a name="l00212"></a>00212         p-&gt;<a class="codeRef" href="qpainter.html#drawPixmap">drawPixmap</a>( margin, yPos, *pm );
<a name="l00213"></a>00213         <span class="keywordflow">if</span> ( !text().isEmpty() ) {
<a name="l00214"></a>00214             <a class="codeRef" href="qfontmetrics.html">QFontMetrics</a> fm = p-&gt;<a class="codeRef" href="qpainter.html#fontMetrics">fontMetrics</a>();
<a name="l00215"></a>00215             <span class="keywordflow">if</span> ( pm-&gt;<a class="codeRef" href="qpixmap.html#height">height</a>() &lt; fm.<a class="codeRef" href="qfontmetrics.html#height">height</a>() )
<a name="l00216"></a>00216                 yPos = fm.<a class="codeRef" href="qfontmetrics.html#ascent">ascent</a>() + fm.<a class="codeRef" href="qfontmetrics.html#leading">leading</a>()/2;
<a name="l00217"></a>00217             <span class="keywordflow">else</span>
<a name="l00218"></a>00218                 yPos = pm-&gt;<a class="codeRef" href="qpixmap.html#height">height</a>()/2 - fm.<a class="codeRef" href="qfontmetrics.html#height">height</a>()/2 + fm.<a class="codeRef" href="qfontmetrics.html#ascent">ascent</a>();
<a name="l00219"></a>00219 
<a name="l00220"></a>00220             yPos += margin;
<a name="l00221"></a>00221             <span class="keywordtype">int</span> stringWidth = box-&gt;width() - pm-&gt;<a class="codeRef" href="qpixmap.html#width">width</a>() - 2 - (margin * 2);
<a name="l00222"></a>00222             <a class="codeRef" href="qstring.html">QString</a> visibleText = KStringHandler::rPixelSqueeze( text(), fm, stringWidth );
<a name="l00223"></a>00223             <span class="keywordtype">int</span> xPos = pm-&gt;<a class="codeRef" href="qpixmap.html#width">width</a>() + margin + 2;
<a name="l00224"></a>00224 
<a name="l00225"></a>00225             <span class="keywordflow">if</span> ( isCurrent() || isSelected() ) {
<a name="l00226"></a>00226                 p-&gt;<a class="codeRef" href="qpainter.html#setPen">setPen</a>( box-&gt;colorGroup().highlight().dark(115) );
<a name="l00227"></a>00227                 p-&gt;<a class="codeRef" href="qpainter.html#drawText">drawText</a>( xPos + ( <a class="codeRef" href="qapplication.html#reverseLayout">QApplication::reverseLayout</a>() ? -1 : 1),
<a name="l00228"></a>00228                              yPos + 1, visibleText );
<a name="l00229"></a>00229                 p-&gt;<a class="codeRef" href="qpainter.html#setPen">setPen</a>( box-&gt;colorGroup().highlightedText() );
<a name="l00230"></a>00230             }
<a name="l00231"></a>00231 
<a name="l00232"></a>00232             p-&gt;<a class="codeRef" href="qpainter.html#drawText">drawText</a>( xPos, yPos, visibleText );
<a name="l00233"></a>00233         }
<a name="l00234"></a>00234         <span class="comment">// end cut &amp; paste (modulo pixmap centering)</span>
<a name="l00235"></a>00235     }
<a name="l00236"></a>00236 
<a name="l00237"></a>00237     <span class="keywordflow">else</span> {
<a name="l00238"></a>00238         <span class="comment">// big icons -&gt; draw text below icon</span>
<a name="l00239"></a>00239         <span class="keywordtype">int</span> y = margin;
<a name="l00240"></a>00240         <span class="keyword">const</span> <a class="codeRef" href="qpixmap.html">QPixmap</a> *pm = <a class="code" href="classKURLBarItem.html#adea318190fd8588dc65807c166e90f8f" title="returns the pixmap of this item.">pixmap</a>();
<a name="l00241"></a>00241 
<a name="l00242"></a>00242         <span class="keywordflow">if</span> ( !pm-&gt;<a class="codeRef" href="qpixmap.html#isNull">isNull</a>() ) {
<a name="l00243"></a>00243             <span class="keywordtype">int</span> x = (w - pm-&gt;<a class="codeRef" href="qpixmap.html#width">width</a>()) / 2;
<a name="l00244"></a>00244             x = QMAX( x, margin );
<a name="l00245"></a>00245             p-&gt;<a class="codeRef" href="qpainter.html#drawPixmap">drawPixmap</a>( x, y, *pm );
<a name="l00246"></a>00246         }
<a name="l00247"></a>00247 
<a name="l00248"></a>00248         <span class="keywordflow">if</span> ( !text().isEmpty() ) {
<a name="l00249"></a>00249             <a class="codeRef" href="qfontmetrics.html">QFontMetrics</a> fm = p-&gt;<a class="codeRef" href="qpainter.html#fontMetrics">fontMetrics</a>();
<a name="l00250"></a>00250             y += pm-&gt;<a class="codeRef" href="qpixmap.html#height">height</a>() + fm.<a class="codeRef" href="qfontmetrics.html#height">height</a>() - fm.<a class="codeRef" href="qfontmetrics.html#descent">descent</a>();
<a name="l00251"></a>00251 
<a name="l00252"></a>00252             <span class="keywordtype">int</span> stringWidth = box-&gt;width() - (margin * 2);
<a name="l00253"></a>00253             <a class="codeRef" href="qstring.html">QString</a> visibleText = KStringHandler::rPixelSqueeze( text(), fm, stringWidth );
<a name="l00254"></a>00254             <span class="keywordtype">int</span> x = (w - fm.<a class="codeRef" href="qfontmetrics.html#width">width</a>( visibleText )) / 2;
<a name="l00255"></a>00255             x = QMAX( x, margin );
<a name="l00256"></a>00256 
<a name="l00257"></a>00257             <span class="keywordflow">if</span> ( isCurrent() || isSelected() ) {
<a name="l00258"></a>00258                 p-&gt;<a class="codeRef" href="qpainter.html#setPen">setPen</a>( box-&gt;colorGroup().highlight().dark(115) );
<a name="l00259"></a>00259                 p-&gt;<a class="codeRef" href="qpainter.html#drawText">drawText</a>( x + ( <a class="codeRef" href="qapplication.html#reverseLayout">QApplication::reverseLayout</a>() ? -1 : 1),
<a name="l00260"></a>00260                              y + 1, visibleText );
<a name="l00261"></a>00261                 p-&gt;<a class="codeRef" href="qpainter.html#setPen">setPen</a>( box-&gt;colorGroup().highlightedText() );
<a name="l00262"></a>00262             }
<a name="l00263"></a>00263 
<a name="l00264"></a>00264             p-&gt;<a class="codeRef" href="qpainter.html#drawText">drawText</a>( x, y, visibleText );
<a name="l00265"></a>00265         }
<a name="l00266"></a>00266     }
<a name="l00267"></a>00267 }
<a name="l00268"></a>00268 
<a name="l00269"></a><a class="code" href="classKURLBarItem.html#aaaf23c6032d99be8cc5d249399675e61">00269</a> <a class="codeRef" href="qsize.html">QSize</a> <a class="code" href="classKURLBarItem.html#aaaf23c6032d99be8cc5d249399675e61" title="returns the preferred size of this item">KURLBarItem::sizeHint</a>()<span class="keyword"> const</span>
<a name="l00270"></a>00270 <span class="keyword"></span>{
<a name="l00271"></a>00271     <span class="keywordtype">int</span> wmin = 0;
<a name="l00272"></a>00272     <span class="keywordtype">int</span> hmin = 0;
<a name="l00273"></a>00273     <span class="keyword">const</span> <a class="code" href="classKURLBarListBox.html" title="This is the listbox used in KURLBar.">KURLBarListBox</a> *lb =<span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="classKURLBarListBox.html" title="This is the listbox used in KURLBar.">KURLBarListBox</a>*<span class="keyword">&gt;</span>(listBox());
<a name="l00274"></a>00274 
<a name="l00275"></a>00275     <span class="keywordflow">if</span> ( m_parent-&gt;<a class="code" href="classKURLBar.html#a11014f870a05bb8479647859ddebb71e">iconSize</a>() &lt; KIcon::SizeMedium ) {
<a name="l00276"></a>00276         wmin = <a class="code" href="classKURLBarItem.html#af50780a21c7c15aa6105ae07cecefdb5" title="returns the width of this item.">QListBoxPixmap::width</a>( lb ) + KDialog::spacingHint() * 2;
<a name="l00277"></a>00277         hmin = <a class="code" href="classKURLBarItem.html#aff33ffd4c764b31b30bc16df922670d5" title="returns the height of this item.">QListBoxPixmap::height</a>( lb ) + KDialog::spacingHint() * 2;
<a name="l00278"></a>00278     }
<a name="l00279"></a>00279     <span class="keywordflow">else</span> {
<a name="l00280"></a>00280         wmin = QMAX(lb-&gt;fontMetrics().width(text()), <a class="code" href="classKURLBarItem.html#adea318190fd8588dc65807c166e90f8f" title="returns the pixmap of this item.">pixmap</a>()-&gt;<a class="codeRef" href="qpixmap.html#width">width</a>()) + KDialog::spacingHint() * 2;
<a name="l00281"></a>00281         hmin = lb-&gt;fontMetrics().lineSpacing() + <a class="code" href="classKURLBarItem.html#adea318190fd8588dc65807c166e90f8f" title="returns the pixmap of this item.">pixmap</a>()-&gt;<a class="codeRef" href="qpixmap.html#height">height</a>() + KDialog::spacingHint() * 2;
<a name="l00282"></a>00282     }
<a name="l00283"></a>00283 
<a name="l00284"></a>00284     <span class="keywordflow">if</span> ( lb-&gt;isVertical() )
<a name="l00285"></a>00285         wmin = QMIN( wmin, lb-&gt;viewport()-&gt;sizeHint().width() );
<a name="l00286"></a>00286     <span class="keywordflow">else</span>
<a name="l00287"></a>00287         hmin = QMIN( hmin, lb-&gt;viewport()-&gt;sizeHint().height() );
<a name="l00288"></a>00288 
<a name="l00289"></a>00289     <span class="keywordflow">return</span> <a class="codeRef" href="qsize.html">QSize</a>( wmin, hmin );
<a name="l00290"></a>00290 }
<a name="l00291"></a>00291 
<a name="l00292"></a><a class="code" href="classKURLBarItem.html#af50780a21c7c15aa6105ae07cecefdb5">00292</a> <span class="keywordtype">int</span> <a class="code" href="classKURLBarItem.html#af50780a21c7c15aa6105ae07cecefdb5" title="returns the width of this item.">KURLBarItem::width</a>( <span class="keyword">const</span> <a class="codeRef" href="qlistbox.html">QListBox</a> *lb )<span class="keyword"> const</span>
<a name="l00293"></a>00293 <span class="keyword"></span>{
<a name="l00294"></a>00294     <span class="keywordflow">if</span> ( static_cast&lt;const KURLBarListBox *&gt;( lb )-&gt;isVertical() )
<a name="l00295"></a>00295         <span class="keywordflow">return</span> QMAX( <a class="code" href="classKURLBarItem.html#aaaf23c6032d99be8cc5d249399675e61" title="returns the preferred size of this item">sizeHint</a>().<a class="code" href="classKURLBarItem.html#af50780a21c7c15aa6105ae07cecefdb5" title="returns the width of this item.">width</a>(), lb-&gt;viewport()-&gt;width() );
<a name="l00296"></a>00296     <span class="keywordflow">else</span>
<a name="l00297"></a>00297         <span class="keywordflow">return</span> <a class="code" href="classKURLBarItem.html#aaaf23c6032d99be8cc5d249399675e61" title="returns the preferred size of this item">sizeHint</a>().<a class="codeRef" href="qsize.html#width">width</a>();
<a name="l00298"></a>00298 }
<a name="l00299"></a>00299 
<a name="l00300"></a><a class="code" href="classKURLBarItem.html#aff33ffd4c764b31b30bc16df922670d5">00300</a> <span class="keywordtype">int</span> <a class="code" href="classKURLBarItem.html#aff33ffd4c764b31b30bc16df922670d5" title="returns the height of this item.">KURLBarItem::height</a>( <span class="keyword">const</span> <a class="codeRef" href="qlistbox.html">QListBox</a> *lb )<span class="keyword"> const</span>
<a name="l00301"></a>00301 <span class="keyword"></span>{
<a name="l00302"></a>00302     <span class="keywordflow">if</span> ( static_cast&lt;const KURLBarListBox *&gt;( lb )-&gt;isVertical() )
<a name="l00303"></a>00303         <span class="keywordflow">return</span> <a class="code" href="classKURLBarItem.html#aaaf23c6032d99be8cc5d249399675e61" title="returns the preferred size of this item">sizeHint</a>().<a class="codeRef" href="qsize.html#height">height</a>();
<a name="l00304"></a>00304     <span class="keywordflow">else</span>
<a name="l00305"></a>00305         <span class="keywordflow">return</span> QMAX( <a class="code" href="classKURLBarItem.html#aaaf23c6032d99be8cc5d249399675e61" title="returns the preferred size of this item">sizeHint</a>().<a class="code" href="classKURLBarItem.html#aff33ffd4c764b31b30bc16df922670d5" title="returns the height of this item.">height</a>(), lb-&gt;viewport()-&gt;height() );
<a name="l00306"></a>00306 }
<a name="l00307"></a>00307 
<a name="l00308"></a><a class="code" href="classKURLBarItem.html#a334965751daa3da9fa6a38e59a9bc19a">00308</a> <span class="keywordtype">bool</span> <a class="code" href="classKURLBarItem.html#a334965751daa3da9fa6a38e59a9bc19a" title="returns whether this item is persistent (via KURLBar::writeConfig() and KURLBar::readConfig()) or not...">KURLBarItem::isPersistent</a>()<span class="keyword"> const</span>
<a name="l00309"></a>00309 <span class="keyword"></span>{
<a name="l00310"></a>00310     <span class="keywordflow">return</span> d-&gt;isPersistent;
<a name="l00311"></a>00311 }
<a name="l00312"></a>00312 
<a name="l00315"></a>00315 
<a name="l00316"></a>00316 <span class="keyword">class </span>KURLBar::KURLBarPrivate
<a name="l00317"></a>00317 {
<a name="l00318"></a>00318 <span class="keyword">public</span>:
<a name="l00319"></a>00319     KURLBarPrivate()
<a name="l00320"></a>00320     {
<a name="l00321"></a>00321         <a class="code" href="classKURLBar.html#a3f4059382d3ab227dd083bfa6074434c">currentURL</a>.setPath( <a class="codeRef" href="qdir.html#homeDirPath">QDir::homeDirPath</a>() );
<a name="l00322"></a>00322         defaultIconSize = 0;
<a name="l00323"></a>00323     }
<a name="l00324"></a>00324 
<a name="l00325"></a>00325     <span class="keywordtype">int</span> defaultIconSize;
<a name="l00326"></a>00326     KURL <a class="code" href="classKURLBar.html#a3f4059382d3ab227dd083bfa6074434c">currentURL</a>;
<a name="l00327"></a>00327 };
<a name="l00328"></a>00328 
<a name="l00329"></a>00329 
<a name="l00330"></a><a class="code" href="classKURLBar.html#af1f3c1a9609c65e8017b9af80bb01e86">00330</a> <a class="code" href="classKURLBar.html#af1f3c1a9609c65e8017b9af80bb01e86" title="Constructs a KURLBar.">KURLBar::KURLBar</a>( <span class="keywordtype">bool</span> useGlobalItems, <a class="codeRef" href="qwidget.html">QWidget</a> *parent, <span class="keyword">const</span> <span class="keywordtype">char</span> *name, WFlags f )
<a name="l00331"></a>00331     : <a class="codeRef" href="qframe.html">QFrame</a>( parent, name, f ),
<a name="l00332"></a>00332       m_activeItem( 0L ),
<a name="l00333"></a>00333       m_useGlobal( useGlobalItems ),
<a name="l00334"></a>00334       m_isModified( false ),
<a name="l00335"></a>00335       m_isImmutable( false ),
<a name="l00336"></a>00336       m_listBox( 0L ),
<a name="l00337"></a>00337       m_iconSize( KIcon::SizeMedium )
<a name="l00338"></a>00338 {
<a name="l00339"></a>00339     d = <span class="keyword">new</span> KURLBarPrivate();
<a name="l00340"></a>00340 
<a name="l00341"></a>00341     <a class="code" href="classKURLBar.html#a2f3817b1572295abb5ad38dc4550f7e4" title="Allows to set a custom KURLBarListBox.">setListBox</a>( 0L );
<a name="l00342"></a>00342     setSizePolicy( <a class="codeRef" href="qsizepolicy.html">QSizePolicy</a>( <a class="code" href="classKURLBar.html#aab8676dd761f1fa76e95781bfac441ae">isVertical</a>() ?
<a name="l00343"></a>00343                                 QSizePolicy::Maximum :
<a name="l00344"></a>00344                                 QSizePolicy::Preferred,
<a name="l00345"></a>00345                                 <a class="code" href="classKURLBar.html#aab8676dd761f1fa76e95781bfac441ae">isVertical</a>() ?
<a name="l00346"></a>00346                                 QSizePolicy::Preferred :
<a name="l00347"></a>00347                                 QSizePolicy::Maximum ));
<a name="l00348"></a>00348     <a class="codeRef" href="qwhatsthis.html#add">QWhatsThis::add</a>(<span class="keyword">this</span>, i18n(<span class="stringliteral">&quot;&lt;qt&gt;The &lt;b&gt;Quick Access&lt;/b&gt; panel provides easy access to commonly used file locations.&lt;p&gt;&quot;</span>
<a name="l00349"></a>00349                                <span class="stringliteral">&quot;Clicking on one of the shortcut entries will take you to that location.&lt;p&gt;&quot;</span>
<a name="l00350"></a>00350                                <span class="stringliteral">&quot;By right clicking on an entry you can add, edit and remove shortcuts.&lt;/qt&gt;&quot;</span>));
<a name="l00351"></a>00351 }
<a name="l00352"></a>00352 
<a name="l00353"></a><a class="code" href="classKURLBar.html#ab3a4118d54cea6db2f72a1909af749d6">00353</a> <a class="code" href="classKURLBar.html#ab3a4118d54cea6db2f72a1909af749d6" title="Destroys the KURLBar.">KURLBar::~KURLBar</a>()
<a name="l00354"></a>00354 {
<a name="l00355"></a>00355     <span class="keyword">delete</span> d;
<a name="l00356"></a>00356 }
<a name="l00357"></a>00357 
<a name="l00358"></a><a class="code" href="classKURLBar.html#a687216fb34cb0668c27ea2eaf6734275">00358</a> <a class="code" href="classKURLBarItem.html" title="An item to be used in KURLBar / KURLBarListBox.">KURLBarItem</a> * <a class="code" href="classKURLBar.html#a687216fb34cb0668c27ea2eaf6734275" title="Inserts a new item into the KURLBar and returns the created KURLBarItem.">KURLBar::insertItem</a>(<span class="keyword">const</span> KURL&amp; url, <span class="keyword">const</span> <a class="codeRef" href="qstring.html">QString</a>&amp; description,
<a name="l00359"></a>00359                                   <span class="keywordtype">bool</span> applicationLocal,
<a name="l00360"></a>00360                                   <span class="keyword">const</span> <a class="codeRef" href="qstring.html">QString</a>&amp; icon, KIcon::Group group )
<a name="l00361"></a>00361 {
<a name="l00362"></a>00362     <a class="code" href="classKURLBarItem.html" title="An item to be used in KURLBar / KURLBarListBox.">KURLBarItem</a> *item = <span class="keyword">new</span> <a class="code" href="classKURLBarItem.html" title="An item to be used in KURLBar / KURLBarListBox.">KURLBarItem</a>(<span class="keyword">this</span>, url, description, icon, group);
<a name="l00363"></a>00363     item-&gt;<a class="code" href="classKURLBarItem.html#a41ba20ae4002ca597c9659350c5216c4" title="Makes this item a local or global one.">setApplicationLocal</a>( applicationLocal );
<a name="l00364"></a>00364     m_listBox-&gt;insertItem( item );
<a name="l00365"></a>00365     <span class="keywordflow">return</span> item;
<a name="l00366"></a>00366 }
<a name="l00367"></a>00367 
<a name="l00368"></a><a class="code" href="classKURLBar.html#a5211d6150f741c78e0485e865cfd1018">00368</a> <a class="code" href="classKURLBarItem.html" title="An item to be used in KURLBar / KURLBarListBox.">KURLBarItem</a> * <a class="code" href="classKURLBar.html#a5211d6150f741c78e0485e865cfd1018" title="Inserts a new dynamic item into the KURLBar and returns the created KURLBarItem.">KURLBar::insertDynamicItem</a>(<span class="keyword">const</span> KURL&amp; url, <span class="keyword">const</span> <a class="codeRef" href="qstring.html">QString</a>&amp; description,
<a name="l00369"></a>00369                                          <span class="keyword">const</span> <a class="codeRef" href="qstring.html">QString</a>&amp; icon, KIcon::Group group )
<a name="l00370"></a>00370 {
<a name="l00371"></a>00371     <a class="code" href="classKURLBarItem.html" title="An item to be used in KURLBar / KURLBarListBox.">KURLBarItem</a> *item = <span class="keyword">new</span> <a class="code" href="classKURLBarItem.html" title="An item to be used in KURLBar / KURLBarListBox.">KURLBarItem</a>(<span class="keyword">this</span>, url, <span class="keyword">false</span>, description, icon, group);
<a name="l00372"></a>00372     m_listBox-&gt;insertItem( item );
<a name="l00373"></a>00373     <span class="keywordflow">return</span> item;
<a name="l00374"></a>00374 }
<a name="l00375"></a>00375 
<a name="l00376"></a><a class="code" href="classKURLBar.html#a9e0547363fc1d8cda743724f72aba9a4">00376</a> <span class="keywordtype">void</span> <a class="code" href="classKURLBar.html#a9e0547363fc1d8cda743724f72aba9a4" title="The items can be arranged either vertically in one column or horizontally in one row.">KURLBar::setOrientation</a>( Qt::Orientation orient )
<a name="l00377"></a>00377 {
<a name="l00378"></a>00378     m_listBox-&gt;<a class="code" href="classKURLBarListBox.html#a1dfe7675f1a581796cff2839dd1f9262" title="Sets the orientation of the widget.">setOrientation</a>( orient );
<a name="l00379"></a>00379     setSizePolicy( <a class="codeRef" href="qsizepolicy.html">QSizePolicy</a>( <a class="code" href="classKURLBar.html#aab8676dd761f1fa76e95781bfac441ae">isVertical</a>() ?
<a name="l00380"></a>00380                                 QSizePolicy::Maximum :
<a name="l00381"></a>00381                                 QSizePolicy::Preferred,
<a name="l00382"></a>00382                                 <a class="code" href="classKURLBar.html#aab8676dd761f1fa76e95781bfac441ae">isVertical</a>() ?
<a name="l00383"></a>00383                                 QSizePolicy::Preferred :
<a name="l00384"></a>00384                                 QSizePolicy::Maximum ));
<a name="l00385"></a>00385 }
<a name="l00386"></a>00386 
<a name="l00387"></a><a class="code" href="classKURLBar.html#a4b1d41421f11ac813a34af8658ff6039">00387</a> Qt::Orientation <a class="code" href="classKURLBar.html#a4b1d41421f11ac813a34af8658ff6039">KURLBar::orientation</a>()<span class="keyword"> const</span>
<a name="l00388"></a>00388 <span class="keyword"></span>{
<a name="l00389"></a>00389     <span class="keywordflow">return</span> m_listBox-&gt;<a class="code" href="classKURLBarListBox.html#a65ee62b7ff766ca1d91e3db949d98fce">orientation</a>();
<a name="l00390"></a>00390 }
<a name="l00391"></a>00391 
<a name="l00392"></a><a class="code" href="classKURLBar.html#a2f3817b1572295abb5ad38dc4550f7e4">00392</a> <span class="keywordtype">void</span> <a class="code" href="classKURLBar.html#a2f3817b1572295abb5ad38dc4550f7e4" title="Allows to set a custom KURLBarListBox.">KURLBar::setListBox</a>( <a class="code" href="classKURLBarListBox.html" title="This is the listbox used in KURLBar.">KURLBarListBox</a> *view )
<a name="l00393"></a>00393 {
<a name="l00394"></a>00394     <span class="keyword">delete</span> m_listBox;
<a name="l00395"></a>00395 
<a name="l00396"></a>00396     <span class="keywordflow">if</span> ( !view ) {
<a name="l00397"></a>00397         m_listBox = <span class="keyword">new</span> <a class="code" href="classKURLBarListBox.html" title="This is the listbox used in KURLBar.">KURLBarListBox</a>( <span class="keyword">this</span>, <span class="stringliteral">&quot;urlbar listbox&quot;</span> );
<a name="l00398"></a>00398         <a class="code" href="classKURLBar.html#a9e0547363fc1d8cda743724f72aba9a4" title="The items can be arranged either vertically in one column or horizontally in one row.">setOrientation</a>( Vertical );
<a name="l00399"></a>00399     }
<a name="l00400"></a>00400     <span class="keywordflow">else</span> {
<a name="l00401"></a>00401         m_listBox = view;
<a name="l00402"></a>00402         <span class="keywordflow">if</span> ( m_listBox-&gt;parentWidget() != this )
<a name="l00403"></a>00403             m_listBox-&gt;reparent( <span class="keyword">this</span>, <a class="codeRef" href="qpoint.html">QPoint</a>(0,0) );
<a name="l00404"></a>00404         m_listBox-&gt;resize( width(), height() );
<a name="l00405"></a>00405     }
<a name="l00406"></a>00406 
<a name="l00407"></a>00407     m_listBox-&gt;setSelectionMode( KListBox::Single );
<a name="l00408"></a>00408     paletteChange( palette() );
<a name="l00409"></a>00409     m_listBox-&gt;setFocusPolicy( TabFocus );
<a name="l00410"></a>00410 
<a name="l00411"></a>00411     connect( m_listBox, SIGNAL( mouseButtonClicked( <span class="keywordtype">int</span>, <a class="codeRef" href="qlistboxitem.html">QListBoxItem</a> *, <span class="keyword">const</span> <a class="codeRef" href="qpoint.html">QPoint</a> &amp; ) ),
<a name="l00412"></a>00412              SLOT( <a class="code" href="classKURLBar.html#a58493285d6cdedc0690a5756a0a33581" title="Called when an item has been selected.">slotSelected</a>( <span class="keywordtype">int</span>, <a class="codeRef" href="qlistboxitem.html">QListBoxItem</a> * )));
<a name="l00413"></a>00413     connect( m_listBox, SIGNAL( dropped( <a class="codeRef" href="qdropevent.html">QDropEvent</a> * )),
<a name="l00414"></a>00414              <span class="keyword">this</span>, SLOT( <a class="code" href="classKURLBar.html#a09fbcf0a2f6192b6f9a7c5fc284847d8" title="Called when a url was dropped onto the bar to show a KURLBarItemDialog.">slotDropped</a>( <a class="codeRef" href="qdropevent.html">QDropEvent</a> * )));
<a name="l00415"></a>00415     connect( m_listBox, SIGNAL( contextMenuRequested( <a class="codeRef" href="qlistboxitem.html">QListBoxItem</a> *,
<a name="l00416"></a>00416                                                       <span class="keyword">const</span> <a class="codeRef" href="qpoint.html">QPoint</a>&amp; )),
<a name="l00417"></a>00417              SLOT( <a class="code" href="classKURLBar.html#a8811305d47d754b3ce9e80a85fba6695" title="Reimplemented to show a contextmenu, allowing the user to add, edit or remove items, or change the iconsize.">slotContextMenuRequested</a>( <a class="codeRef" href="qlistboxitem.html">QListBoxItem</a> *, <span class="keyword">const</span> <a class="codeRef" href="qpoint.html">QPoint</a>&amp; )));
<a name="l00418"></a>00418     connect( m_listBox, SIGNAL( returnPressed( <a class="codeRef" href="qlistboxitem.html">QListBoxItem</a> * ) ),
<a name="l00419"></a>00419              SLOT( <a class="code" href="classKURLBar.html#a58493285d6cdedc0690a5756a0a33581" title="Called when an item has been selected.">slotSelected</a>( <a class="codeRef" href="qlistboxitem.html">QListBoxItem</a> * ) ));
<a name="l00420"></a>00420 }
<a name="l00421"></a>00421 
<a name="l00422"></a><a class="code" href="classKURLBar.html#a96624e02bd7fbc4851ed9e863f633c86">00422</a> <span class="keywordtype">void</span> <a class="code" href="classKURLBar.html#a96624e02bd7fbc4851ed9e863f633c86" title="Sets the default iconsize to be used for items inserted with insertItem.">KURLBar::setIconSize</a>( <span class="keywordtype">int</span> size )
<a name="l00423"></a>00423 {
<a name="l00424"></a>00424     <span class="keywordflow">if</span> ( size == m_iconSize )
<a name="l00425"></a>00425         <span class="keywordflow">return</span>;
<a name="l00426"></a>00426 
<a name="l00427"></a>00427     m_iconSize = size;
<a name="l00428"></a>00428 
<a name="l00429"></a>00429     <span class="comment">// reload the icons with the new size</span>
<a name="l00430"></a>00430     <a class="code" href="classKURLBarItem.html" title="An item to be used in KURLBar / KURLBarListBox.">KURLBarItem</a> *item = <span class="keyword">static_cast&lt;</span><a class="code" href="classKURLBarItem.html" title="An item to be used in KURLBar / KURLBarListBox.">KURLBarItem</a>*<span class="keyword">&gt;</span>( m_listBox-&gt;firstItem() );
<a name="l00431"></a>00431     <span class="keywordflow">while</span> ( item ) {
<a name="l00432"></a>00432         item-&gt;<a class="code" href="classKURLBarItem.html#a0d795f5808b96884df591dba85911fec" title="sets the icon for this item.">setIcon</a>( item-&gt;<a class="code" href="classKURLBarItem.html#a44dc1087dd20917fd08a11b65578f098" title="returns the icon of this item.">icon</a>(), item-&gt;<a class="code" href="classKURLBarItem.html#af156d69e2c59e7d60243246a8a1b0c2c" title="returns the icon-group of this item (determines icon-effects).">iconGroup</a>() );
<a name="l00433"></a>00433         item = <span class="keyword">static_cast&lt;</span><a class="code" href="classKURLBarItem.html" title="An item to be used in KURLBar / KURLBarListBox.">KURLBarItem</a>*<span class="keyword">&gt;</span>( item-&gt;next() );
<a name="l00434"></a>00434     }
<a name="l00435"></a>00435 
<a name="l00436"></a>00436     resize( <a class="code" href="classKURLBar.html#a24b6ef18d5e9c519bc4e07d6358b4bd0">sizeHint</a>() );
<a name="l00437"></a>00437     updateGeometry();
<a name="l00438"></a>00438 }
<a name="l00439"></a>00439 
<a name="l00440"></a><a class="code" href="classKURLBar.html#a25b12b45ad81599365e711d862414d3d">00440</a> <span class="keywordtype">void</span> <a class="code" href="classKURLBar.html#a25b12b45ad81599365e711d862414d3d" title="Clears the view, removes all items.">KURLBar::clear</a>()
<a name="l00441"></a>00441 {
<a name="l00442"></a>00442     m_listBox-&gt;clear();
<a name="l00443"></a>00443 }
<a name="l00444"></a>00444 
<a name="l00445"></a>00445 <span class="keywordtype">void</span> KURLBar::resizeEvent( <a class="codeRef" href="qresizeevent.html">QResizeEvent</a> *e )
<a name="l00446"></a>00446 {
<a name="l00447"></a>00447     <a class="codeRef" href="qframe.html#resizeEvent">QFrame::resizeEvent</a>( e );
<a name="l00448"></a>00448     m_listBox-&gt;resize( width(), height() );
<a name="l00449"></a>00449 }
<a name="l00450"></a>00450 
<a name="l00451"></a>00451 <span class="keywordtype">void</span> KURLBar::paletteChange( <span class="keyword">const</span> <a class="codeRef" href="qpalette.html">QPalette</a> &amp; )
<a name="l00452"></a>00452 {
<a name="l00453"></a>00453     <a class="codeRef" href="qpalette.html">QPalette</a> pal = palette();
<a name="l00454"></a>00454     <a class="codeRef" href="qcolor.html">QColor</a> gray = pal.<a class="codeRef" href="qpalette.html#color">color</a>( QPalette::Normal, QColorGroup::Background );
<a name="l00455"></a>00455     <a class="codeRef" href="qcolor.html">QColor</a> selectedTextColor = pal.<a class="codeRef" href="qpalette.html#color">color</a>( QPalette::Normal, QColorGroup::BrightText );
<a name="l00456"></a>00456     <a class="codeRef" href="qcolor.html">QColor</a> foreground = pal.<a class="codeRef" href="qpalette.html#color">color</a>( QPalette::Normal, QColorGroup::Foreground );
<a name="l00457"></a>00457     pal.<a class="codeRef" href="qpalette.html#setColor">setColor</a>( QPalette::Normal,   QColorGroup::Base, gray );
<a name="l00458"></a>00458     pal.<a class="codeRef" href="qpalette.html#setColor">setColor</a>( QPalette::Normal,   QColorGroup::HighlightedText, selectedTextColor );
<a name="l00459"></a>00459     pal.<a class="codeRef" href="qpalette.html#setColor">setColor</a>( QPalette::Normal,   QColorGroup::Text, foreground );
<a name="l00460"></a>00460     pal.<a class="codeRef" href="qpalette.html#setColor">setColor</a>( QPalette::Inactive, QColorGroup::Base, gray );
<a name="l00461"></a>00461     pal.<a class="codeRef" href="qpalette.html#setColor">setColor</a>( QPalette::Inactive, QColorGroup::HighlightedText, selectedTextColor );
<a name="l00462"></a>00462     pal.<a class="codeRef" href="qpalette.html#setColor">setColor</a>( QPalette::Inactive, QColorGroup::Text, foreground );
<a name="l00463"></a>00463 
<a name="l00464"></a>00464     setPalette( pal );
<a name="l00465"></a>00465 }
<a name="l00466"></a>00466 
<a name="l00467"></a><a class="code" href="classKURLBar.html#a24b6ef18d5e9c519bc4e07d6358b4bd0">00467</a> <a class="codeRef" href="qsize.html">QSize</a> <a class="code" href="classKURLBar.html#a24b6ef18d5e9c519bc4e07d6358b4bd0">KURLBar::sizeHint</a>()<span class="keyword"> const</span>
<a name="l00468"></a>00468 <span class="keyword"></span>{
<a name="l00469"></a>00469     <span class="keywordflow">return</span> m_listBox-&gt;sizeHint();
<a name="l00470"></a>00470 
<a name="l00471"></a>00471 <span class="preprocessor">#if 0</span>
<a name="l00472"></a>00472 <span class="preprocessor"></span>    <span class="comment">// this code causes vertical and or horizontal scrollbars appearing</span>
<a name="l00473"></a>00473     <span class="comment">// depending on the text, font, moonphase and earth rotation. Just using</span>
<a name="l00474"></a>00474     <span class="comment">// m_listBox-&gt;sizeHint() fixes this (although the widget can then be</span>
<a name="l00475"></a>00475     <span class="comment">// resized to a smaller size so that scrollbars appear).</span>
<a name="l00476"></a>00476     <span class="keywordtype">int</span> w = 0;
<a name="l00477"></a>00477     <span class="keywordtype">int</span> h = 0;
<a name="l00478"></a>00478     <a class="code" href="classKURLBarItem.html" title="An item to be used in KURLBar / KURLBarListBox.">KURLBarItem</a> *item;
<a name="l00479"></a>00479     <span class="keywordtype">bool</span> vertical = <a class="code" href="classKURLBar.html#aab8676dd761f1fa76e95781bfac441ae">isVertical</a>();
<a name="l00480"></a>00480 
<a name="l00481"></a>00481     <span class="keywordflow">for</span> ( item = static_cast&lt;KURLBarItem*&gt;( m_listBox-&gt;firstItem() );
<a name="l00482"></a>00482           item;
<a name="l00483"></a>00483           item = <span class="keyword">static_cast&lt;</span><a class="code" href="classKURLBarItem.html" title="An item to be used in KURLBar / KURLBarListBox.">KURLBarItem</a>*<span class="keyword">&gt;</span>( item-&gt;next() ) ) {
<a name="l00484"></a>00484 
<a name="l00485"></a>00485         <a class="codeRef" href="qsize.html">QSize</a> sh = item-&gt;<a class="code" href="classKURLBarItem.html#aaaf23c6032d99be8cc5d249399675e61" title="returns the preferred size of this item">sizeHint</a>();
<a name="l00486"></a>00486 
<a name="l00487"></a>00487         <span class="keywordflow">if</span> ( vertical ) {
<a name="l00488"></a>00488             w = QMAX( w, sh.<a class="codeRef" href="qsize.html#width">width</a>() );
<a name="l00489"></a>00489             h += sh.<a class="codeRef" href="qsize.html#height">height</a>();
<a name="l00490"></a>00490         }
<a name="l00491"></a>00491         <span class="keywordflow">else</span> {
<a name="l00492"></a>00492             w += sh.<a class="codeRef" href="qsize.html#width">width</a>();
<a name="l00493"></a>00493             h = QMAX( h, sh.<a class="codeRef" href="qsize.html#height">height</a>() );
<a name="l00494"></a>00494         }
<a name="l00495"></a>00495     }
<a name="l00496"></a>00496 
<a name="l00497"></a>00497 <span class="comment">//     if ( vertical &amp;&amp; m_listBox-&gt;verticalScrollBar()-&gt;isVisible() )</span>
<a name="l00498"></a>00498 <span class="comment">//         w += m_listBox-&gt;verticalScrollBar()-&gt;width();</span>
<a name="l00499"></a>00499 <span class="comment">//     else if ( !vertical &amp;&amp; m_listBox-&gt;horizontalScrollBar()-&gt;isVisible() )</span>
<a name="l00500"></a>00500 <span class="comment">//         h += m_listBox-&gt;horizontalScrollBar()-&gt;height();</span>
<a name="l00501"></a>00501 
<a name="l00502"></a>00502     <span class="keywordflow">if</span> ( w == 0 &amp;&amp; h == 0 )
<a name="l00503"></a>00503         <span class="keywordflow">return</span> <a class="codeRef" href="qsize.html">QSize</a>( 100, 200 );
<a name="l00504"></a>00504     <span class="keywordflow">else</span>
<a name="l00505"></a>00505         <span class="keywordflow">return</span> <a class="codeRef" href="qsize.html">QSize</a>( 6 + w, h );
<a name="l00506"></a>00506 <span class="preprocessor">#endif</span>
<a name="l00507"></a>00507 <span class="preprocessor"></span>}
<a name="l00508"></a>00508 
<a name="l00509"></a><a class="code" href="classKURLBar.html#ab3cf5a8f2d1be015cbd525a53ad672c4">00509</a> <a class="codeRef" href="qsize.html">QSize</a> <a class="code" href="classKURLBar.html#ab3cf5a8f2d1be015cbd525a53ad672c4">KURLBar::minimumSizeHint</a>()<span class="keyword"> const</span>
<a name="l00510"></a>00510 <span class="keyword"></span>{
<a name="l00511"></a>00511     <a class="codeRef" href="qsize.html">QSize</a> s = <a class="code" href="classKURLBar.html#a24b6ef18d5e9c519bc4e07d6358b4bd0">sizeHint</a>(); <span class="comment">// ###</span>
<a name="l00512"></a>00512     <span class="keywordtype">int</span> w = s.<a class="codeRef" href="qsize.html#width">width</a>()  + m_listBox-&gt;verticalScrollBar()-&gt;width();
<a name="l00513"></a>00513     <span class="keywordtype">int</span> h = s.<a class="codeRef" href="qsize.html#height">height</a>() + m_listBox-&gt;horizontalScrollBar()-&gt;height();
<a name="l00514"></a>00514     <span class="keywordflow">return</span> <a class="codeRef" href="qsize.html">QSize</a>( w, h );
<a name="l00515"></a>00515 }
<a name="l00516"></a>00516 
<a name="l00517"></a>00517 <span class="keywordtype">void</span> <a class="code" href="classKURLBar.html#a58493285d6cdedc0690a5756a0a33581" title="Called when an item has been selected.">KURLBar::slotSelected</a>( <span class="keywordtype">int</span> button, <a class="codeRef" href="qlistboxitem.html">QListBoxItem</a> *item )
<a name="l00518"></a>00518 {
<a name="l00519"></a>00519     <span class="keywordflow">if</span> ( button != Qt::LeftButton )
<a name="l00520"></a>00520         <span class="keywordflow">return</span>;
<a name="l00521"></a>00521 
<a name="l00522"></a>00522     <a class="code" href="classKURLBar.html#a58493285d6cdedc0690a5756a0a33581" title="Called when an item has been selected.">slotSelected</a>( item );
<a name="l00523"></a>00523 }
<a name="l00524"></a>00524 
<a name="l00525"></a><a class="code" href="classKURLBar.html#a58493285d6cdedc0690a5756a0a33581">00525</a> <span class="keywordtype">void</span> <a class="code" href="classKURLBar.html#a58493285d6cdedc0690a5756a0a33581" title="Called when an item has been selected.">KURLBar::slotSelected</a>( <a class="codeRef" href="qlistboxitem.html">QListBoxItem</a> *item )
<a name="l00526"></a>00526 {
<a name="l00527"></a>00527     <span class="keywordflow">if</span> ( item &amp;&amp; item != <a class="code" href="classKURLBar.html#ab2df96501ca45235f52c45a66e60f936" title="The currently active item.">m_activeItem</a> )
<a name="l00528"></a>00528         <a class="code" href="classKURLBar.html#ab2df96501ca45235f52c45a66e60f936" title="The currently active item.">m_activeItem</a> = <span class="keyword">static_cast&lt;</span><a class="code" href="classKURLBarItem.html" title="An item to be used in KURLBar / KURLBarListBox.">KURLBarItem</a>*<span class="keyword">&gt;</span>( item );
<a name="l00529"></a>00529 
<a name="l00530"></a>00530     <span class="keywordflow">if</span> ( <a class="code" href="classKURLBar.html#ab2df96501ca45235f52c45a66e60f936" title="The currently active item.">m_activeItem</a> ) {
<a name="l00531"></a>00531         m_listBox-&gt;setCurrentItem( <a class="code" href="classKURLBar.html#ab2df96501ca45235f52c45a66e60f936" title="The currently active item.">m_activeItem</a> );
<a name="l00532"></a>00532         emit <a class="code" href="classKURLBar.html#a01acb314a16126c1bcc40674e1780117" title="This signal is emitted when the user activated an item, e.g., by clicking on it.">activated</a>( <a class="code" href="classKURLBar.html#ab2df96501ca45235f52c45a66e60f936" title="The currently active item.">m_activeItem</a>-&gt;<a class="code" href="classKURLBarItem.html#a2efa9aac9246658f46283a66e7e2643d" title="returns the url of this item.">url</a>() );
<a name="l00533"></a>00533     }
<a name="l00534"></a>00534 }
<a name="l00535"></a>00535 
<a name="l00536"></a><a class="code" href="classKURLBar.html#a462b8117c69a93b36539571f9e906af2">00536</a> <span class="keywordtype">void</span> <a class="code" href="classKURLBar.html#a462b8117c69a93b36539571f9e906af2" title="Makes the item with the url url the current item.">KURLBar::setCurrentItem</a>( <span class="keyword">const</span> KURL&amp; url )
<a name="l00537"></a>00537 {
<a name="l00538"></a>00538     d-&gt;currentURL = url;
<a name="l00539"></a>00539 
<a name="l00540"></a>00540     <a class="codeRef" href="qstring.html">QString</a> u = url.url(-1);
<a name="l00541"></a>00541 
<a name="l00542"></a>00542     <span class="keywordflow">if</span> ( <a class="code" href="classKURLBar.html#ab2df96501ca45235f52c45a66e60f936" title="The currently active item.">m_activeItem</a> &amp;&amp; <a class="code" href="classKURLBar.html#ab2df96501ca45235f52c45a66e60f936" title="The currently active item.">m_activeItem</a>-&gt;<a class="code" href="classKURLBarItem.html#a2efa9aac9246658f46283a66e7e2643d" title="returns the url of this item.">url</a>().url(-1) == u )
<a name="l00543"></a>00543         <span class="keywordflow">return</span>;
<a name="l00544"></a>00544 
<a name="l00545"></a>00545     <span class="keywordtype">bool</span> hasURL = <span class="keyword">false</span>;
<a name="l00546"></a>00546     <a class="codeRef" href="qlistboxitem.html">QListBoxItem</a> *item = m_listBox-&gt;firstItem();
<a name="l00547"></a>00547     <span class="keywordflow">while</span> ( item ) {
<a name="l00548"></a>00548         <span class="keywordflow">if</span> ( static_cast&lt;KURLBarItem*&gt;( item )-&gt;url().url(-1) == u ) {
<a name="l00549"></a>00549             <a class="code" href="classKURLBar.html#ab2df96501ca45235f52c45a66e60f936" title="The currently active item.">m_activeItem</a> = <span class="keyword">static_cast&lt;</span><a class="code" href="classKURLBarItem.html" title="An item to be used in KURLBar / KURLBarListBox.">KURLBarItem</a>*<span class="keyword">&gt;</span>( item );
<a name="l00550"></a>00550             m_listBox-&gt;setCurrentItem( item );
<a name="l00551"></a>00551             m_listBox-&gt;setSelected( item, <span class="keyword">true</span> );
<a name="l00552"></a>00552             hasURL = <span class="keyword">true</span>;
<a name="l00553"></a>00553             <span class="keywordflow">break</span>;
<a name="l00554"></a>00554         }
<a name="l00555"></a>00555         item = item-&gt;<a class="codeRef" href="qlistboxitem.html#next">next</a>();
<a name="l00556"></a>00556     }
<a name="l00557"></a>00557 
<a name="l00558"></a>00558     <span class="keywordflow">if</span> ( !hasURL ) {
<a name="l00559"></a>00559         <a class="code" href="classKURLBar.html#ab2df96501ca45235f52c45a66e60f936" title="The currently active item.">m_activeItem</a> = 0L;
<a name="l00560"></a>00560         m_listBox-&gt;clearSelection();
<a name="l00561"></a>00561     }
<a name="l00562"></a>00562 }
<a name="l00563"></a>00563 
<a name="l00564"></a><a class="code" href="classKURLBar.html#a2847f8c827b11579519d973034409055">00564</a> <a class="code" href="classKURLBarItem.html" title="An item to be used in KURLBar / KURLBarListBox.">KURLBarItem</a> * <a class="code" href="classKURLBar.html#a2847f8c827b11579519d973034409055">KURLBar::currentItem</a>()<span class="keyword"> const</span>
<a name="l00565"></a>00565 <span class="keyword"></span>{
<a name="l00566"></a>00566     <a class="codeRef" href="qlistboxitem.html">QListBoxItem</a> *item = m_listBox-&gt;item( m_listBox-&gt;currentItem() );
<a name="l00567"></a>00567     <span class="keywordflow">if</span> ( item )
<a name="l00568"></a>00568         <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="classKURLBarItem.html" title="An item to be used in KURLBar / KURLBarListBox.">KURLBarItem</a> *<span class="keyword">&gt;</span>( item );
<a name="l00569"></a>00569     <span class="keywordflow">return</span> 0L;
<a name="l00570"></a>00570 }
<a name="l00571"></a>00571 
<a name="l00572"></a><a class="code" href="classKURLBar.html#a3f4059382d3ab227dd083bfa6074434c">00572</a> KURL <a class="code" href="classKURLBar.html#a3f4059382d3ab227dd083bfa6074434c">KURLBar::currentURL</a>()<span class="keyword"> const</span>
<a name="l00573"></a>00573 <span class="keyword"></span>{
<a name="l00574"></a>00574     <a class="code" href="classKURLBarItem.html" title="An item to be used in KURLBar / KURLBarListBox.">KURLBarItem</a> *item = <a class="code" href="classKURLBar.html#a2847f8c827b11579519d973034409055">currentItem</a>();
<a name="l00575"></a>00575     <span class="keywordflow">return</span> item ? item-&gt;<a class="code" href="classKURLBarItem.html#a2efa9aac9246658f46283a66e7e2643d" title="returns the url of this item.">url</a>() : KURL();
<a name="l00576"></a>00576 }
<a name="l00577"></a>00577 
<a name="l00578"></a><a class="code" href="classKURLBar.html#ad653cba26417700de410b301ea40d82e">00578</a> <span class="keywordtype">void</span> <a class="code" href="classKURLBar.html#ad653cba26417700de410b301ea40d82e" title="Call this method to read a saved configuration from config, inside the group itemGroup.">KURLBar::readConfig</a>( KConfig *appConfig, <span class="keyword">const</span> <a class="codeRef" href="qstring.html">QString</a>&amp; itemGroup )
<a name="l00579"></a>00579 {
<a name="l00580"></a>00580     <a class="code" href="classKURLBar.html#adbe4f8a688397d83cda43115a0cdf6c6" title="Whether the urlbar may be modified by the user.">m_isImmutable</a> = appConfig-&gt;groupIsImmutable( itemGroup );
<a name="l00581"></a>00581     KConfigGroupSaver cs( appConfig, itemGroup );
<a name="l00582"></a>00582     d-&gt;defaultIconSize = m_iconSize;
<a name="l00583"></a>00583     m_iconSize = appConfig-&gt;readNumEntry( <span class="stringliteral">&quot;Speedbar IconSize&quot;</span>, m_iconSize );
<a name="l00584"></a>00584 
<a name="l00585"></a>00585     <span class="keywordflow">if</span> ( <a class="code" href="classKURLBar.html#a0fe6ad57aef7c84013f3b2a4aa60fa59" title="Whether we support global entries or just local ones.">m_useGlobal</a> ) { <span class="comment">// read global items</span>
<a name="l00586"></a>00586         KConfig *globalConfig = KGlobal::config();
<a name="l00587"></a>00587         KConfigGroupSaver cs( globalConfig, (<a class="codeRef" href="qstring.html">QString</a>)(itemGroup +<span class="stringliteral">&quot; (Global)&quot;</span>));
<a name="l00588"></a>00588         <span class="keywordtype">int</span> num = globalConfig-&gt;readNumEntry( <span class="stringliteral">&quot;Number of Entries&quot;</span> );
<a name="l00589"></a>00589         <span class="keywordflow">for</span> ( <span class="keywordtype">int</span> i = 0; i &lt; num; i++ ) {
<a name="l00590"></a>00590             <a class="code" href="classKURLBar.html#a0ac65458b3cb601c2c01be2a7c45310a" title="Called from readConfig() to read the i&#39;th from config.">readItem</a>( i, globalConfig, <span class="keyword">false</span> );
<a name="l00591"></a>00591         }
<a name="l00592"></a>00592     }
<a name="l00593"></a>00593 
<a name="l00594"></a>00594     <span class="comment">// read application local items</span>
<a name="l00595"></a>00595     <span class="keywordtype">int</span> num = appConfig-&gt;readNumEntry( <span class="stringliteral">&quot;Number of Entries&quot;</span> );
<a name="l00596"></a>00596     <span class="keywordflow">for</span> ( <span class="keywordtype">int</span> i = 0; i &lt; num; i++ ) {
<a name="l00597"></a>00597         <a class="code" href="classKURLBar.html#a0ac65458b3cb601c2c01be2a7c45310a" title="Called from readConfig() to read the i&#39;th from config.">readItem</a>( i, appConfig, <span class="keyword">true</span> );
<a name="l00598"></a>00598     }
<a name="l00599"></a>00599 }
<a name="l00600"></a>00600 
<a name="l00601"></a><a class="code" href="classKURLBar.html#a0ac65458b3cb601c2c01be2a7c45310a">00601</a> <span class="keywordtype">void</span> <a class="code" href="classKURLBar.html#a0ac65458b3cb601c2c01be2a7c45310a" title="Called from readConfig() to read the i&#39;th from config.">KURLBar::readItem</a>( <span class="keywordtype">int</span> i, KConfig *config, <span class="keywordtype">bool</span> applicationLocal )
<a name="l00602"></a>00602 {
<a name="l00603"></a>00603     <a class="codeRef" href="qstring.html">QString</a> number = <a class="codeRef" href="qstring.html#number">QString::number</a>( i );
<a name="l00604"></a>00604     KURL url = KURL::fromPathOrURL( config-&gt;readPathEntry( <a class="codeRef" href="qstring.html">QString</a>(<span class="stringliteral">&quot;URL_&quot;</span>) + number ));
<a name="l00605"></a>00605     <span class="keywordflow">if</span> ( !url.isValid() || !KProtocolInfo::isKnownProtocol( url ))
<a name="l00606"></a>00606         <span class="keywordflow">return</span>; <span class="comment">// nothing we could do.</span>
<a name="l00607"></a>00607 
<a name="l00608"></a>00608     <a class="code" href="classKURLBar.html#a687216fb34cb0668c27ea2eaf6734275" title="Inserts a new item into the KURLBar and returns the created KURLBarItem.">insertItem</a>( url,
<a name="l00609"></a>00609                 config-&gt;readEntry( <a class="codeRef" href="qstring.html">QString</a>(<span class="stringliteral">&quot;Description_&quot;</span>) + number ),
<a name="l00610"></a>00610                 applicationLocal,
<a name="l00611"></a>00611                 config-&gt;readEntry( <a class="codeRef" href="qstring.html">QString</a>(<span class="stringliteral">&quot;Icon_&quot;</span>) + number ),
<a name="l00612"></a>00612                 <span class="keyword">static_cast&lt;</span>KIcon::Group<span class="keyword">&gt;</span>(
<a name="l00613"></a>00613                     config-&gt;readNumEntry( <a class="codeRef" href="qstring.html">QString</a>(<span class="stringliteral">&quot;IconGroup_&quot;</span>) + number )) );
<a name="l00614"></a>00614 }
<a name="l00615"></a>00615 
<a name="l00616"></a><a class="code" href="classKURLBar.html#ac98bedb4eccc0afd322a5f282052d638">00616</a> <span class="keywordtype">void</span> <a class="code" href="classKURLBar.html#ac98bedb4eccc0afd322a5f282052d638" title="Call this method to save the current configuration into config, inside the group iconGroup.">KURLBar::writeConfig</a>( KConfig *config, <span class="keyword">const</span> <a class="codeRef" href="qstring.html">QString</a>&amp; itemGroup )
<a name="l00617"></a>00617 {
<a name="l00618"></a>00618     KConfigGroupSaver cs1( config, itemGroup );
<a name="l00619"></a>00619     <span class="keywordflow">if</span>(!config-&gt;hasDefault(<span class="stringliteral">&quot;Speedbar IconSize&quot;</span>) &amp;&amp; m_iconSize == d-&gt;defaultIconSize )
<a name="l00620"></a>00620         config-&gt;revertToDefault(<span class="stringliteral">&quot;Speedbar IconSize&quot;</span>);
<a name="l00621"></a>00621     <span class="keywordflow">else</span>
<a name="l00622"></a>00622         config-&gt;writeEntry( <span class="stringliteral">&quot;Speedbar IconSize&quot;</span>, m_iconSize );
<a name="l00623"></a>00623 
<a name="l00624"></a>00624     <span class="keywordflow">if</span> ( !<a class="code" href="classKURLBar.html#aa2305e0fe5be36c150f7698545a876f3" title="Whether the urlbar was modified by the user (e.g.">m_isModified</a> )
<a name="l00625"></a>00625         <span class="keywordflow">return</span>;
<a name="l00626"></a>00626 
<a name="l00627"></a>00627     <span class="keywordtype">int</span> i = 0;
<a name="l00628"></a>00628     <span class="keywordtype">int</span> numLocal = 0;
<a name="l00629"></a>00629     <a class="code" href="classKURLBarItem.html" title="An item to be used in KURLBar / KURLBarListBox.">KURLBarItem</a> *item = <span class="keyword">static_cast&lt;</span><a class="code" href="classKURLBarItem.html" title="An item to be used in KURLBar / KURLBarListBox.">KURLBarItem</a>*<span class="keyword">&gt;</span>( m_listBox-&gt;firstItem() );
<a name="l00630"></a>00630 
<a name="l00631"></a>00631     <span class="keywordflow">while</span> ( item )
<a name="l00632"></a>00632     {
<a name="l00633"></a>00633         <span class="keywordflow">if</span> ( item-&gt;<a class="code" href="classKURLBarItem.html#a334965751daa3da9fa6a38e59a9bc19a" title="returns whether this item is persistent (via KURLBar::writeConfig() and KURLBar::readConfig()) or not...">isPersistent</a>() ) <span class="comment">// we only save persistent items</span>
<a name="l00634"></a>00634         {
<a name="l00635"></a>00635             <span class="keywordflow">if</span> ( item-&gt;<a class="code" href="classKURLBarItem.html#a36d8de3f6e5abbf2dbb327a57a5548eb" title="returns whether this is a global item or a local one.">applicationLocal</a>() )
<a name="l00636"></a>00636             {
<a name="l00637"></a>00637                 <a class="code" href="classKURLBar.html#abe983438307dbca5a84fa4af99ca5362" title="Called from writeConfig() to save the KURLBarItem item as the i&#39;th entry in the config-object.">writeItem</a>( item, numLocal, config, <span class="keyword">false</span> );
<a name="l00638"></a>00638                 numLocal++;
<a name="l00639"></a>00639             }
<a name="l00640"></a>00640 
<a name="l00641"></a>00641             i++;
<a name="l00642"></a>00642         }
<a name="l00643"></a>00643         item = <span class="keyword">static_cast&lt;</span><a class="code" href="classKURLBarItem.html" title="An item to be used in KURLBar / KURLBarListBox.">KURLBarItem</a>*<span class="keyword">&gt;</span>( item-&gt;next() );
<a name="l00644"></a>00644     }
<a name="l00645"></a>00645     config-&gt;writeEntry(<span class="stringliteral">&quot;Number of Entries&quot;</span>, numLocal);
<a name="l00646"></a>00646 
<a name="l00647"></a>00647 
<a name="l00648"></a>00648     <span class="comment">// write the global entries to kdeglobals, if any</span>
<a name="l00649"></a>00649     <span class="keywordtype">bool</span> haveGlobalEntries = (i &gt; numLocal);
<a name="l00650"></a>00650     <span class="keywordflow">if</span> ( <a class="code" href="classKURLBar.html#a0fe6ad57aef7c84013f3b2a4aa60fa59" title="Whether we support global entries or just local ones.">m_useGlobal</a> &amp;&amp; haveGlobalEntries ) {
<a name="l00651"></a>00651         config-&gt;setGroup( itemGroup + <span class="stringliteral">&quot; (Global)&quot;</span> );
<a name="l00652"></a>00652 
<a name="l00653"></a>00653         <span class="keywordtype">int</span> numGlobals = 0;
<a name="l00654"></a>00654         item = <span class="keyword">static_cast&lt;</span><a class="code" href="classKURLBarItem.html" title="An item to be used in KURLBar / KURLBarListBox.">KURLBarItem</a>*<span class="keyword">&gt;</span>( m_listBox-&gt;firstItem() );
<a name="l00655"></a>00655 
<a name="l00656"></a>00656         <span class="keywordflow">while</span> ( item )
<a name="l00657"></a>00657         {
<a name="l00658"></a>00658             <span class="keywordflow">if</span> ( item-&gt;<a class="code" href="classKURLBarItem.html#a334965751daa3da9fa6a38e59a9bc19a" title="returns whether this item is persistent (via KURLBar::writeConfig() and KURLBar::readConfig()) or not...">isPersistent</a>() ) <span class="comment">// we only save persistent items</span>
<a name="l00659"></a>00659             {
<a name="l00660"></a>00660                 <span class="keywordflow">if</span> ( !item-&gt;<a class="code" href="classKURLBarItem.html#a36d8de3f6e5abbf2dbb327a57a5548eb" title="returns whether this is a global item or a local one.">applicationLocal</a>() )
<a name="l00661"></a>00661                 {
<a name="l00662"></a>00662                     <a class="code" href="classKURLBar.html#abe983438307dbca5a84fa4af99ca5362" title="Called from writeConfig() to save the KURLBarItem item as the i&#39;th entry in the config-object.">writeItem</a>( item, numGlobals, config, <span class="keyword">true</span> );
<a name="l00663"></a>00663                     numGlobals++;
<a name="l00664"></a>00664                 }
<a name="l00665"></a>00665             }
<a name="l00666"></a>00666 
<a name="l00667"></a>00667             item = <span class="keyword">static_cast&lt;</span><a class="code" href="classKURLBarItem.html" title="An item to be used in KURLBar / KURLBarListBox.">KURLBarItem</a>*<span class="keyword">&gt;</span>( item-&gt;next() );
<a name="l00668"></a>00668         }
<a name="l00669"></a>00669         config-&gt;writeEntry(<span class="stringliteral">&quot;Number of Entries&quot;</span>, numGlobals, <span class="keyword">true</span>, <span class="keyword">true</span>);
<a name="l00670"></a>00670     }
<a name="l00671"></a>00671 
<a name="l00672"></a>00672     <a class="code" href="classKURLBar.html#aa2305e0fe5be36c150f7698545a876f3" title="Whether the urlbar was modified by the user (e.g.">m_isModified</a> = <span class="keyword">false</span>;
<a name="l00673"></a>00673 }
<a name="l00674"></a>00674 
<a name="l00675"></a><a class="code" href="classKURLBar.html#abe983438307dbca5a84fa4af99ca5362">00675</a> <span class="keywordtype">void</span> <a class="code" href="classKURLBar.html#abe983438307dbca5a84fa4af99ca5362" title="Called from writeConfig() to save the KURLBarItem item as the i&#39;th entry in the config-object.">KURLBar::writeItem</a>( <a class="code" href="classKURLBarItem.html" title="An item to be used in KURLBar / KURLBarListBox.">KURLBarItem</a> *item, <span class="keywordtype">int</span> i, KConfig *config,
<a name="l00676"></a>00676                          <span class="keywordtype">bool</span> global )
<a name="l00677"></a>00677 {
<a name="l00678"></a>00678     <span class="keywordflow">if</span> ( !item-&gt;<a class="code" href="classKURLBarItem.html#a334965751daa3da9fa6a38e59a9bc19a" title="returns whether this item is persistent (via KURLBar::writeConfig() and KURLBar::readConfig()) or not...">isPersistent</a>() )
<a name="l00679"></a>00679         <span class="keywordflow">return</span>;
<a name="l00680"></a>00680 
<a name="l00681"></a>00681     <a class="codeRef" href="qstring.html">QString</a> Description = <span class="stringliteral">&quot;Description_&quot;</span>;
<a name="l00682"></a>00682     <a class="codeRef" href="qstring.html">QString</a> URL = <span class="stringliteral">&quot;URL_&quot;</span>;
<a name="l00683"></a>00683     <a class="codeRef" href="qstring.html">QString</a> Icon = <span class="stringliteral">&quot;Icon_&quot;</span>;
<a name="l00684"></a>00684     <a class="codeRef" href="qstring.html">QString</a> IconGroup = <span class="stringliteral">&quot;IconGroup_&quot;</span>;
<a name="l00685"></a>00685 
<a name="l00686"></a>00686     <a class="codeRef" href="qstring.html">QString</a> number = <a class="codeRef" href="qstring.html#number">QString::number</a>( i );
<a name="l00687"></a>00687     config-&gt;writePathEntry( URL + number, item-&gt;<a class="code" href="classKURLBarItem.html#a2efa9aac9246658f46283a66e7e2643d" title="returns the url of this item.">url</a>().prettyURL(), <span class="keyword">true</span>, global );
<a name="l00688"></a>00688 
<a name="l00689"></a>00689     config-&gt;writeEntry( Description + number, item-&gt;<a class="code" href="classKURLBarItem.html#ae0b3af4591f88bde21e8b16df20af587" title="returns the description of this item.">description</a>(),<span class="keyword">true</span>,global);
<a name="l00690"></a>00690     config-&gt;writeEntry( Icon + number, item-&gt;<a class="code" href="classKURLBarItem.html#a44dc1087dd20917fd08a11b65578f098" title="returns the icon of this item.">icon</a>(), <span class="keyword">true</span>, global );
<a name="l00691"></a>00691     config-&gt;writeEntry( IconGroup + number, item-&gt;<a class="code" href="classKURLBarItem.html#af156d69e2c59e7d60243246a8a1b0c2c" title="returns the icon-group of this item (determines icon-effects).">iconGroup</a>(), <span class="keyword">true</span>, global );
<a name="l00692"></a>00692 }
<a name="l00693"></a>00693 
<a name="l00694"></a>00694 
<a name="l00695"></a><a class="code" href="classKURLBar.html#a09fbcf0a2f6192b6f9a7c5fc284847d8">00695</a> <span class="keywordtype">void</span> <a class="code" href="classKURLBar.html#a09fbcf0a2f6192b6f9a7c5fc284847d8" title="Called when a url was dropped onto the bar to show a KURLBarItemDialog.">KURLBar::slotDropped</a>( <a class="codeRef" href="qdropevent.html">QDropEvent</a> *e )
<a name="l00696"></a>00696 {
<a name="l00697"></a>00697     KURL::List urls;
<a name="l00698"></a>00698     <span class="keywordflow">if</span> ( KURLDrag::decode( e, urls ) ) {
<a name="l00699"></a>00699         KURL url;
<a name="l00700"></a>00700         <a class="codeRef" href="qstring.html">QString</a> description;
<a name="l00701"></a>00701         <a class="codeRef" href="qstring.html">QString</a> icon;
<a name="l00702"></a>00702         <span class="keywordtype">bool</span> appLocal = <span class="keyword">false</span>;
<a name="l00703"></a>00703 
<a name="l00704"></a>00704         KURL::List::Iterator it = urls.begin();
<a name="l00705"></a>00705         <span class="keywordflow">for</span> ( ; it != urls.end(); ++it ) {
<a name="l00706"></a>00706             (void) <a class="code" href="classKURLBar.html#a687216fb34cb0668c27ea2eaf6734275" title="Inserts a new item into the KURLBar and returns the created KURLBarItem.">insertItem</a>( *it, description, appLocal, icon );
<a name="l00707"></a>00707             <a class="code" href="classKURLBar.html#aa2305e0fe5be36c150f7698545a876f3" title="Whether the urlbar was modified by the user (e.g.">m_isModified</a> = <span class="keyword">true</span>;
<a name="l00708"></a>00708             updateGeometry();
<a name="l00709"></a>00709         }
<a name="l00710"></a>00710     }
<a name="l00711"></a>00711 }
<a name="l00712"></a>00712 
<a name="l00713"></a><a class="code" href="classKURLBar.html#a8811305d47d754b3ce9e80a85fba6695">00713</a> <span class="keywordtype">void</span> <a class="code" href="classKURLBar.html#a8811305d47d754b3ce9e80a85fba6695" title="Reimplemented to show a contextmenu, allowing the user to add, edit or remove items, or change the iconsize.">KURLBar::slotContextMenuRequested</a>( <a class="codeRef" href="qlistboxitem.html">QListBoxItem</a> *_item, <span class="keyword">const</span> <a class="codeRef" href="qpoint.html">QPoint</a>&amp; pos )
<a name="l00714"></a>00714 {
<a name="l00715"></a>00715     <span class="keywordflow">if</span> (<a class="code" href="classKURLBar.html#adbe4f8a688397d83cda43115a0cdf6c6" title="Whether the urlbar may be modified by the user.">m_isImmutable</a>)
<a name="l00716"></a>00716         <span class="keywordflow">return</span>;
<a name="l00717"></a>00717 
<a name="l00718"></a>00718     <a class="code" href="classKURLBarItem.html" title="An item to be used in KURLBar / KURLBarListBox.">KURLBarItem</a> *item = <span class="keyword">dynamic_cast&lt;</span><a class="code" href="classKURLBarItem.html" title="An item to be used in KURLBar / KURLBarListBox.">KURLBarItem</a>*<span class="keyword">&gt;</span>( _item );
<a name="l00719"></a>00719 
<a name="l00720"></a>00720     <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> IconSize   = 10;
<a name="l00721"></a>00721     <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> AddItem    = 20;
<a name="l00722"></a>00722     <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> EditItem   = 30;
<a name="l00723"></a>00723     <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> RemoveItem = 40;
<a name="l00724"></a>00724 
<a name="l00725"></a>00725     KURL lastURL = <a class="code" href="classKURLBar.html#ab2df96501ca45235f52c45a66e60f936" title="The currently active item.">m_activeItem</a> ? <a class="code" href="classKURLBar.html#ab2df96501ca45235f52c45a66e60f936" title="The currently active item.">m_activeItem</a>-&gt;<a class="code" href="classKURLBarItem.html#a2efa9aac9246658f46283a66e7e2643d" title="returns the url of this item.">url</a>() : KURL();
<a name="l00726"></a>00726 
<a name="l00727"></a>00727     <span class="keywordtype">bool</span> smallIcons = m_iconSize &lt; KIcon::SizeMedium;
<a name="l00728"></a>00728     <a class="codeRef" href="qpopupmenu.html">QPopupMenu</a> *popup = <span class="keyword">new</span> <a class="codeRef" href="qpopupmenu.html">QPopupMenu</a>();
<a name="l00729"></a>00729     popup-&gt;<a class="codeRef" href="qpopupmenu.html#insertItem">insertItem</a>( smallIcons ?
<a name="l00730"></a>00730                        i18n(<span class="stringliteral">&quot;&amp;Large Icons&quot;</span>) : i18n(<span class="stringliteral">&quot;&amp;Small Icons&quot;</span>),
<a name="l00731"></a>00731                        IconSize );
<a name="l00732"></a>00732     popup-&gt;<a class="codeRef" href="qpopupmenu.html#insertSeparator">insertSeparator</a>();
<a name="l00733"></a>00733 
<a name="l00734"></a>00734     <span class="keywordflow">if</span> (item != 0L &amp;&amp; item-&gt;<a class="code" href="classKURLBarItem.html#a334965751daa3da9fa6a38e59a9bc19a" title="returns whether this item is persistent (via KURLBar::writeConfig() and KURLBar::readConfig()) or not...">isPersistent</a>())
<a name="l00735"></a>00735     {
<a name="l00736"></a>00736         popup-&gt;<a class="codeRef" href="qpopupmenu.html#insertItem">insertItem</a>(SmallIconSet(<span class="stringliteral">&quot;edit&quot;</span>), i18n(<span class="stringliteral">&quot;&amp;Edit Entry...&quot;</span>), EditItem);
<a name="l00737"></a>00737         popup-&gt;<a class="codeRef" href="qpopupmenu.html#insertSeparator">insertSeparator</a>();
<a name="l00738"></a>00738     }
<a name="l00739"></a>00739 
<a name="l00740"></a>00740     popup-&gt;<a class="codeRef" href="qpopupmenu.html#insertItem">insertItem</a>(SmallIconSet(<span class="stringliteral">&quot;filenew&quot;</span>), i18n(<span class="stringliteral">&quot;&amp;Add Entry...&quot;</span>), AddItem);
<a name="l00741"></a>00741 
<a name="l00742"></a>00742     <span class="keywordflow">if</span> (item != 0L &amp;&amp; item-&gt;<a class="code" href="classKURLBarItem.html#a334965751daa3da9fa6a38e59a9bc19a" title="returns whether this item is persistent (via KURLBar::writeConfig() and KURLBar::readConfig()) or not...">isPersistent</a>())
<a name="l00743"></a>00743     {
<a name="l00744"></a>00744         popup-&gt;<a class="codeRef" href="qpopupmenu.html#insertItem">insertItem</a>( SmallIconSet(<span class="stringliteral">&quot;editdelete&quot;</span>), i18n(<span class="stringliteral">&quot;&amp;Remove Entry&quot;</span>),
<a name="l00745"></a>00745                           RemoveItem );
<a name="l00746"></a>00746     }
<a name="l00747"></a>00747 
<a name="l00748"></a>00748     <span class="keywordtype">int</span> result = popup-&gt;<a class="codeRef" href="qpopupmenu.html#exec">exec</a>( pos );
<a name="l00749"></a>00749     <span class="keywordflow">switch</span> ( result ) {
<a name="l00750"></a>00750         <span class="keywordflow">case</span> IconSize:
<a name="l00751"></a>00751             <a class="code" href="classKURLBar.html#a96624e02bd7fbc4851ed9e863f633c86" title="Sets the default iconsize to be used for items inserted with insertItem.">setIconSize</a>( smallIcons ? KIcon::SizeMedium : KIcon::SizeSmallMedium );
<a name="l00752"></a>00752             m_listBox-&gt;triggerUpdate( <span class="keyword">true</span> );
<a name="l00753"></a>00753             <span class="keywordflow">break</span>;
<a name="l00754"></a>00754         <span class="keywordflow">case</span> AddItem:
<a name="l00755"></a>00755             <a class="code" href="classKURLBar.html#a3d2d11484b300beafc1d4433e438f85f" title="Pops up a KURLBarItemDialog to let the user add a new item.">addNewItem</a>();
<a name="l00756"></a>00756             <span class="keywordflow">break</span>;
<a name="l00757"></a>00757         <span class="keywordflow">case</span> EditItem:
<a name="l00758"></a>00758             <a class="code" href="classKURLBar.html#a8a6b75e3548eee03a1db3981aa9fab4b" title="Pops up a KURLBarItemDialog to let the user edit the properties of item.">editItem</a>( static_cast&lt;KURLBarItem *&gt;( item ) );
<a name="l00759"></a>00759             <span class="keywordflow">break</span>;
<a name="l00760"></a>00760         <span class="keywordflow">case</span> RemoveItem:
<a name="l00761"></a>00761             <span class="keyword">delete</span> item;
<a name="l00762"></a>00762             <a class="code" href="classKURLBar.html#aa2305e0fe5be36c150f7698545a876f3" title="Whether the urlbar was modified by the user (e.g.">m_isModified</a> = <span class="keyword">true</span>;
<a name="l00763"></a>00763             <span class="keywordflow">break</span>;
<a name="l00764"></a>00764         <span class="keywordflow">default</span>: <span class="comment">// abort</span>
<a name="l00765"></a>00765             <span class="keywordflow">break</span>;
<a name="l00766"></a>00766     }
<a name="l00767"></a>00767 
<a name="l00768"></a>00768     <span class="comment">// reset current item</span>
<a name="l00769"></a>00769     <a class="code" href="classKURLBar.html#ab2df96501ca45235f52c45a66e60f936" title="The currently active item.">m_activeItem</a> = 0L;
<a name="l00770"></a>00770     <a class="code" href="classKURLBar.html#a462b8117c69a93b36539571f9e906af2" title="Makes the item with the url url the current item.">setCurrentItem</a>( lastURL );
<a name="l00771"></a>00771 }
<a name="l00772"></a>00772 
<a name="l00773"></a><a class="code" href="classKURLBar.html#a3d2d11484b300beafc1d4433e438f85f">00773</a> <span class="keywordtype">bool</span> <a class="code" href="classKURLBar.html#a3d2d11484b300beafc1d4433e438f85f" title="Pops up a KURLBarItemDialog to let the user add a new item.">KURLBar::addNewItem</a>()
<a name="l00774"></a>00774 {
<a name="l00775"></a>00775     <a class="code" href="classKURLBarItem.html" title="An item to be used in KURLBar / KURLBarListBox.">KURLBarItem</a> *item = <span class="keyword">new</span> <a class="code" href="classKURLBarItem.html" title="An item to be used in KURLBar / KURLBarListBox.">KURLBarItem</a>( <span class="keyword">this</span>, d-&gt;currentURL,
<a name="l00776"></a>00776                                          i18n(<span class="stringliteral">&quot;Enter a description&quot;</span>) );
<a name="l00777"></a>00777     <span class="keywordflow">if</span> ( <a class="code" href="classKURLBar.html#a8a6b75e3548eee03a1db3981aa9fab4b" title="Pops up a KURLBarItemDialog to let the user edit the properties of item.">editItem</a>( item ) ) {
<a name="l00778"></a>00778         m_listBox-&gt;insertItem( item );
<a name="l00779"></a>00779         <span class="keywordflow">return</span> <span class="keyword">true</span>;
<a name="l00780"></a>00780     }
<a name="l00781"></a>00781 
<a name="l00782"></a>00782     <span class="keyword">delete</span> item;
<a name="l00783"></a>00783     <span class="keywordflow">return</span> <span class="keyword">false</span>;
<a name="l00784"></a>00784 }
<a name="l00785"></a>00785 
<a name="l00786"></a><a class="code" href="classKURLBar.html#a8a6b75e3548eee03a1db3981aa9fab4b">00786</a> <span class="keywordtype">bool</span> <a class="code" href="classKURLBar.html#a8a6b75e3548eee03a1db3981aa9fab4b" title="Pops up a KURLBarItemDialog to let the user edit the properties of item.">KURLBar::editItem</a>( <a class="code" href="classKURLBarItem.html" title="An item to be used in KURLBar / KURLBarListBox.">KURLBarItem</a> *item )
<a name="l00787"></a>00787 {
<a name="l00788"></a>00788     <span class="keywordflow">if</span> ( !item || !item-&gt;<a class="code" href="classKURLBarItem.html#a334965751daa3da9fa6a38e59a9bc19a" title="returns whether this item is persistent (via KURLBar::writeConfig() and KURLBar::readConfig()) or not...">isPersistent</a>() ) <span class="comment">// should never happen tho</span>
<a name="l00789"></a>00789         <span class="keywordflow">return</span> <span class="keyword">false</span>;
<a name="l00790"></a>00790 
<a name="l00791"></a>00791     KURL url            = item-&gt;<a class="code" href="classKURLBarItem.html#a2efa9aac9246658f46283a66e7e2643d" title="returns the url of this item.">url</a>();
<a name="l00792"></a>00792     <a class="codeRef" href="qstring.html">QString</a> description = item-&gt;<a class="code" href="classKURLBarItem.html#ae0b3af4591f88bde21e8b16df20af587" title="returns the description of this item.">description</a>();
<a name="l00793"></a>00793     <a class="codeRef" href="qstring.html">QString</a> icon        = item-&gt;<a class="code" href="classKURLBarItem.html#a44dc1087dd20917fd08a11b65578f098" title="returns the icon of this item.">icon</a>();
<a name="l00794"></a>00794     <span class="keywordtype">bool</span> appLocal       = item-&gt;<a class="code" href="classKURLBarItem.html#a36d8de3f6e5abbf2dbb327a57a5548eb" title="returns whether this is a global item or a local one.">applicationLocal</a>();
<a name="l00795"></a>00795 
<a name="l00796"></a>00796     <span class="keywordflow">if</span> ( <a class="code" href="classKURLBarItemDialog.html#a02b7d783231ee757e11d2934471933c2" title="A convenience method to show the dialog and retrieve all the properties via the given parameters...">KURLBarItemDialog::getInformation</a>( <a class="code" href="classKURLBar.html#a0fe6ad57aef7c84013f3b2a4aa60fa59" title="Whether we support global entries or just local ones.">m_useGlobal</a>,
<a name="l00797"></a>00797                                             url, description,
<a name="l00798"></a>00798                                             icon, appLocal,
<a name="l00799"></a>00799                                             m_iconSize, <span class="keyword">this</span> ))
<a name="l00800"></a>00800     {
<a name="l00801"></a>00801         item-&gt;<a class="code" href="classKURLBarItem.html#a59333f2351923b5f621b1388a71ab90c" title="Sets url for this item.">setURL</a>( url );
<a name="l00802"></a>00802         item-&gt;<a class="code" href="classKURLBarItem.html#af30d99433b3e0469850d53308b4b1433" title="Sets the description of this item that will be shown as item-text.">setDescription</a>( description );
<a name="l00803"></a>00803         item-&gt;<a class="code" href="classKURLBarItem.html#a0d795f5808b96884df591dba85911fec" title="sets the icon for this item.">setIcon</a>( icon );
<a name="l00804"></a>00804         item-&gt;<a class="code" href="classKURLBarItem.html#a41ba20ae4002ca597c9659350c5216c4" title="Makes this item a local or global one.">setApplicationLocal</a>( appLocal );
<a name="l00805"></a>00805         m_listBox-&gt;triggerUpdate( <span class="keyword">true</span> );
<a name="l00806"></a>00806         <a class="code" href="classKURLBar.html#aa2305e0fe5be36c150f7698545a876f3" title="Whether the urlbar was modified by the user (e.g.">m_isModified</a> = <span class="keyword">true</span>;
<a name="l00807"></a>00807         updateGeometry();
<a name="l00808"></a>00808         <span class="keywordflow">return</span> <span class="keyword">true</span>;
<a name="l00809"></a>00809     }
<a name="l00810"></a>00810 
<a name="l00811"></a>00811     <span class="keywordflow">return</span> <span class="keyword">false</span>;
<a name="l00812"></a>00812 }
<a name="l00813"></a>00813 
<a name="l00816"></a>00816 
<a name="l00817"></a>00817 
<a name="l00818"></a><a class="code" href="classKURLBarListBox.html#ac4730682caffdff6768389abc921226c">00818</a> <a class="code" href="classKURLBarListBox.html#ac4730682caffdff6768389abc921226c" title="Constructs a KURLBarListBox.">KURLBarListBox::KURLBarListBox</a>( <a class="codeRef" href="qwidget.html">QWidget</a> *parent, <span class="keyword">const</span> <span class="keywordtype">char</span> *name )
<a name="l00819"></a>00819     : KListBox( parent, name )
<a name="l00820"></a>00820 {
<a name="l00821"></a>00821     m_toolTip = <span class="keyword">new</span> KURLBarToolTip( <span class="keyword">this</span> );
<a name="l00822"></a>00822     setAcceptDrops( <span class="keyword">true</span> );
<a name="l00823"></a>00823     viewport()-&gt;setAcceptDrops( <span class="keyword">true</span> );
<a name="l00824"></a>00824 }
<a name="l00825"></a>00825 
<a name="l00826"></a><a class="code" href="classKURLBarListBox.html#ac9db9aab72e1433f81af26f099b5b3f8">00826</a> <a class="code" href="classKURLBarListBox.html#ac9db9aab72e1433f81af26f099b5b3f8" title="Destroys the box.">KURLBarListBox::~KURLBarListBox</a>()
<a name="l00827"></a>00827 {
<a name="l00828"></a>00828     <span class="keyword">delete</span> m_toolTip;
<a name="l00829"></a>00829 }
<a name="l00830"></a>00830 
<a name="l00831"></a>00831 <span class="keywordtype">void</span> KURLBarListBox::paintEvent( <a class="codeRef" href="qpaintevent.html">QPaintEvent</a>* )
<a name="l00832"></a>00832 {
<a name="l00833"></a>00833     <a class="codeRef" href="qpainter.html">QPainter</a> p(<span class="keyword">this</span>);
<a name="l00834"></a>00834     p.<a class="codeRef" href="qpainter.html#setPen">setPen</a>( colorGroup().mid() );
<a name="l00835"></a>00835     p.<a class="codeRef" href="qpainter.html#drawRect">drawRect</a>( 0, 0, width(), height() );
<a name="l00836"></a>00836 }
<a name="l00837"></a>00837 
<a name="l00838"></a><a class="code" href="classKURLBarListBox.html#adefc25b9a3382329a7a500e6644d765f">00838</a> <a class="codeRef" href="qdragobject.html">QDragObject</a> * <a class="code" href="classKURLBarListBox.html#adefc25b9a3382329a7a500e6644d765f">KURLBarListBox::dragObject</a>()
<a name="l00839"></a>00839 {
<a name="l00840"></a>00840     KURL::List urls;
<a name="l00841"></a>00841     <a class="code" href="classKURLBarItem.html" title="An item to be used in KURLBar / KURLBarListBox.">KURLBarItem</a> *item = <span class="keyword">static_cast&lt;</span><a class="code" href="classKURLBarItem.html" title="An item to be used in KURLBar / KURLBarListBox.">KURLBarItem</a>*<span class="keyword">&gt;</span>( firstItem() );
<a name="l00842"></a>00842 
<a name="l00843"></a>00843     <span class="keywordflow">while</span> ( item ) {
<a name="l00844"></a>00844         <span class="keywordflow">if</span> ( item-&gt;isSelected() )
<a name="l00845"></a>00845             urls.append( item-&gt;<a class="code" href="classKURLBarItem.html#a2efa9aac9246658f46283a66e7e2643d" title="returns the url of this item.">url</a>() );
<a name="l00846"></a>00846         item = <span class="keyword">static_cast&lt;</span><a class="code" href="classKURLBarItem.html" title="An item to be used in KURLBar / KURLBarListBox.">KURLBarItem</a>*<span class="keyword">&gt;</span>( item-&gt;next() );
<a name="l00847"></a>00847     }
<a name="l00848"></a>00848 
<a name="l00849"></a>00849     <span class="keywordflow">if</span> ( !urls.isEmpty() ) <span class="comment">// ### use custom drag-object with description etc.?</span>
<a name="l00850"></a>00850         <span class="keywordflow">return</span> <span class="keyword">new</span> KURLDrag( urls, <span class="keyword">this</span>, <span class="stringliteral">&quot;urlbar drag&quot;</span> );
<a name="l00851"></a>00851 
<a name="l00852"></a>00852     <span class="keywordflow">return</span> 0L;
<a name="l00853"></a>00853 }
<a name="l00854"></a>00854 
<a name="l00855"></a>00855 <span class="keywordtype">void</span> KURLBarListBox::contentsDragEnterEvent( <a class="codeRef" href="qdragenterevent.html">QDragEnterEvent</a> *e )
<a name="l00856"></a>00856 {
<a name="l00857"></a>00857     e-&gt;accept( KURLDrag::canDecode( e ));
<a name="l00858"></a>00858 }
<a name="l00859"></a>00859 
<a name="l00860"></a>00860 <span class="keywordtype">void</span> KURLBarListBox::contentsDropEvent( <a class="codeRef" href="qdropevent.html">QDropEvent</a> *e )
<a name="l00861"></a>00861 {
<a name="l00862"></a>00862     emit <a class="code" href="classKURLBarListBox.html#a00dd99fe466c2bca5b31e7918cdf59a2" title="Emitted when a drop-event happened.">dropped</a>( e );
<a name="l00863"></a>00863 }
<a name="l00864"></a>00864 
<a name="l00865"></a>00865 <span class="keywordtype">void</span> KURLBarListBox::contextMenuEvent( <a class="codeRef" href="qcontextmenuevent.html">QContextMenuEvent</a> *e )
<a name="l00866"></a>00866 {
<a name="l00867"></a>00867     <span class="keywordflow">if</span> (e)
<a name="l00868"></a>00868     {
<a name="l00869"></a>00869         emit contextMenuRequested( itemAt( e-&gt;<a class="codeRef" href="qcontextmenuevent.html#globalPos">globalPos</a>() ), e-&gt;<a class="codeRef" href="qcontextmenuevent.html#globalPos">globalPos</a>() );
<a name="l00870"></a>00870         e-&gt;<a class="codeRef" href="qcontextmenuevent.html#consume">consume</a>(); <span class="comment">// Consume the event to avoid multiple contextMenuEvent calls...</span>
<a name="l00871"></a>00871     }
<a name="l00872"></a>00872 }
<a name="l00873"></a>00873 
<a name="l00874"></a><a class="code" href="classKURLBarListBox.html#a1dfe7675f1a581796cff2839dd1f9262">00874</a> <span class="keywordtype">void</span> <a class="code" href="classKURLBarListBox.html#a1dfe7675f1a581796cff2839dd1f9262" title="Sets the orientation of the widget.">KURLBarListBox::setOrientation</a>( Qt::Orientation orient )
<a name="l00875"></a>00875 {
<a name="l00876"></a>00876     <span class="keywordflow">if</span> ( orient == Vertical ) {
<a name="l00877"></a>00877         setColumnMode( 1 );
<a name="l00878"></a>00878         setRowMode( Variable );
<a name="l00879"></a>00879     }
<a name="l00880"></a>00880     <span class="keywordflow">else</span> {
<a name="l00881"></a>00881         setRowMode( 1 );
<a name="l00882"></a>00882         setColumnMode( Variable );
<a name="l00883"></a>00883     }
<a name="l00884"></a>00884 
<a name="l00885"></a>00885     m_orientation = orient;
<a name="l00886"></a>00886 }
<a name="l00887"></a>00887 
<a name="l00890"></a>00890 
<a name="l00891"></a>00891 
<a name="l00892"></a><a class="code" href="classKURLBarItemDialog.html#a02b7d783231ee757e11d2934471933c2">00892</a> <span class="keywordtype">bool</span> <a class="code" href="classKURLBarItemDialog.html#a02b7d783231ee757e11d2934471933c2" title="A convenience method to show the dialog and retrieve all the properties via the given parameters...">KURLBarItemDialog::getInformation</a>( <span class="keywordtype">bool</span> allowGlobal, KURL&amp; url,
<a name="l00893"></a>00893                                         <a class="codeRef" href="qstring.html">QString</a>&amp; description, <a class="codeRef" href="qstring.html">QString</a>&amp; icon,
<a name="l00894"></a>00894                                         <span class="keywordtype">bool</span>&amp; appLocal, <span class="keywordtype">int</span> iconSize,
<a name="l00895"></a>00895                                         <a class="codeRef" href="qwidget.html">QWidget</a> *parent )
<a name="l00896"></a>00896 {
<a name="l00897"></a>00897     <a class="code" href="classKURLBarItemDialog.html" title="A dialog that allows editing entries of a KURLBar ( KURLBarItem).">KURLBarItemDialog</a> *dialog = <span class="keyword">new</span> <a class="code" href="classKURLBarItemDialog.html#a03fe30c29ad97af43976179977bf8b79" title="Constructs a KURLBarItemDialog.">KURLBarItemDialog</a>( allowGlobal, url,
<a name="l00898"></a>00898                                                        description, icon,
<a name="l00899"></a>00899                                                        appLocal,
<a name="l00900"></a>00900                                                        iconSize, parent );
<a name="l00901"></a>00901     <span class="keywordflow">if</span> ( dialog-&gt;exec() == QDialog::Accepted ) {
<a name="l00902"></a>00902         <span class="comment">// set the return parameters</span>
<a name="l00903"></a>00903         url         = dialog-&gt;<a class="code" href="classKURLBarItemDialog.html#aa992839430de3b434787aa51ec5b4eec">url</a>();
<a name="l00904"></a>00904         description = dialog-&gt;<a class="code" href="classKURLBarItemDialog.html#a8b06a7787b352543ae5d9fad44bc53ea">description</a>();
<a name="l00905"></a>00905         icon        = dialog-&gt;<a class="code" href="classKURLBarItemDialog.html#a1e75decfa3e38ebf34508134c745ddc7">icon</a>();
<a name="l00906"></a>00906         appLocal    = dialog-&gt;<a class="code" href="classKURLBarItemDialog.html#af6102cbbdde0249af31712a92b22f3b6">applicationLocal</a>();
<a name="l00907"></a>00907 
<a name="l00908"></a>00908         <span class="keyword">delete</span> dialog;
<a name="l00909"></a>00909         <span class="keywordflow">return</span> <span class="keyword">true</span>;
<a name="l00910"></a>00910     }
<a name="l00911"></a>00911 
<a name="l00912"></a>00912     <span class="keyword">delete</span> dialog;
<a name="l00913"></a>00913     <span class="keywordflow">return</span> <span class="keyword">false</span>;
<a name="l00914"></a>00914 }
<a name="l00915"></a>00915 
<a name="l00916"></a><a class="code" href="classKURLBarItemDialog.html#a03fe30c29ad97af43976179977bf8b79">00916</a> <a class="code" href="classKURLBarItemDialog.html#a03fe30c29ad97af43976179977bf8b79" title="Constructs a KURLBarItemDialog.">KURLBarItemDialog::KURLBarItemDialog</a>( <span class="keywordtype">bool</span> allowGlobal, <span class="keyword">const</span> KURL&amp; url,
<a name="l00917"></a>00917                                       <span class="keyword">const</span> <a class="codeRef" href="qstring.html">QString</a>&amp; description,
<a name="l00918"></a>00918                                       <a class="codeRef" href="qstring.html">QString</a> icon, <span class="keywordtype">bool</span> appLocal,
<a name="l00919"></a>00919                                       <span class="keywordtype">int</span> iconSize,
<a name="l00920"></a>00920                                       <a class="codeRef" href="qwidget.html">QWidget</a> *parent, <span class="keyword">const</span> <span class="keywordtype">char</span> *name )
<a name="l00921"></a>00921     : KDialogBase( parent, name, true,
<a name="l00922"></a>00922                    i18n(<span class="stringliteral">&quot;Edit Quick Access Entry&quot;</span>), Ok | Cancel, Ok, true )
<a name="l00923"></a>00923 {
<a name="l00924"></a>00924     <a class="codeRef" href="qvbox.html">QVBox</a> *box = <span class="keyword">new</span> <a class="codeRef" href="qvbox.html">QVBox</a>( <span class="keyword">this</span> );
<a name="l00925"></a>00925     <a class="codeRef" href="qstring.html">QString</a> text = i18n(<span class="stringliteral">&quot;&lt;qt&gt;&lt;b&gt;Please provide a description, URL and icon for this Quick Access entry.&lt;/b&gt;&lt;/br&gt;&lt;/qt&gt;&quot;</span>);
<a name="l00926"></a>00926     <a class="codeRef" href="qlabel.html">QLabel</a> *label = <span class="keyword">new</span> <a class="codeRef" href="qlabel.html">QLabel</a>( text, box );
<a name="l00927"></a>00927     box-&gt;setSpacing( spacingHint() );
<a name="l00928"></a>00928 
<a name="l00929"></a>00929     <a class="codeRef" href="qgrid.html">QGrid</a> *grid = <span class="keyword">new</span> <a class="codeRef" href="qgrid.html">QGrid</a>( 2, box );
<a name="l00930"></a>00930     grid-&gt;<a class="codeRef" href="qgrid.html#setSpacing">setSpacing</a>( spacingHint() );
<a name="l00931"></a>00931 
<a name="l00932"></a>00932     <a class="codeRef" href="qstring.html">QString</a> whatsThisText = i18n(<span class="stringliteral">&quot;&lt;qt&gt;This is the text that will appear in the Quick Access panel.&lt;p&gt;&quot;</span>
<a name="l00933"></a>00933                                  <span class="stringliteral">&quot;The description should consist of one or two words &quot;</span>
<a name="l00934"></a>00934                                  <span class="stringliteral">&quot;that will help you remember what this entry refers to.&lt;/qt&gt;&quot;</span>);
<a name="l00935"></a>00935     label = <span class="keyword">new</span> <a class="codeRef" href="qlabel.html">QLabel</a>( i18n(<span class="stringliteral">&quot;&amp;Description:&quot;</span>), grid );
<a name="l00936"></a>00936     <a class="code" href="classKURLBarItemDialog.html#ac2aaa1bed23084893fb673eeb7bd60cb" title="The KLineEdit used for editing the description.">m_edit</a> = <span class="keyword">new</span> KLineEdit( grid, <span class="stringliteral">&quot;description edit&quot;</span> );
<a name="l00937"></a>00937     <a class="code" href="classKURLBarItemDialog.html#ac2aaa1bed23084893fb673eeb7bd60cb" title="The KLineEdit used for editing the description.">m_edit</a>-&gt;setText( description.<a class="codeRef" href="qstring.html#isEmpty">isEmpty</a>() ? url.fileName() : <a class="code" href="classKURLBarItemDialog.html#a8b06a7787b352543ae5d9fad44bc53ea">description</a> );
<a name="l00938"></a>00938     label-&gt;<a class="codeRef" href="qlabel.html#setBuddy">setBuddy</a>( <a class="code" href="classKURLBarItemDialog.html#ac2aaa1bed23084893fb673eeb7bd60cb" title="The KLineEdit used for editing the description.">m_edit</a> );
<a name="l00939"></a>00939     <a class="codeRef" href="qwhatsthis.html#add">QWhatsThis::add</a>( label, whatsThisText );
<a name="l00940"></a>00940     <a class="codeRef" href="qwhatsthis.html#add">QWhatsThis::add</a>( <a class="code" href="classKURLBarItemDialog.html#ac2aaa1bed23084893fb673eeb7bd60cb" title="The KLineEdit used for editing the description.">m_edit</a>, whatsThisText );
<a name="l00941"></a>00941 
<a name="l00942"></a>00942     whatsThisText = i18n(<span class="stringliteral">&quot;&lt;qt&gt;This is the location associated with the entry. Any valid URL may be used. For example:&lt;p&gt;&quot;</span>
<a name="l00943"></a>00943                          <span class="stringliteral">&quot;%1&lt;br&gt;http://www.kde.org&lt;br&gt;ftp://ftp.kde.org/pub/kde/stable&lt;p&gt;&quot;</span>
<a name="l00944"></a>00944                          <span class="stringliteral">&quot;By clicking on the button next to the text edit box you can browse to an &quot;</span>
<a name="l00945"></a>00945                          <span class="stringliteral">&quot;appropriate URL.&lt;/qt&gt;&quot;</span>).<a class="codeRef" href="qstring.html#arg">arg</a>(<a class="codeRef" href="qdir.html#homeDirPath">QDir::homeDirPath</a>());
<a name="l00946"></a>00946     label = <span class="keyword">new</span> <a class="codeRef" href="qlabel.html">QLabel</a>( i18n(<span class="stringliteral">&quot;&amp;URL:&quot;</span>), grid );
<a name="l00947"></a>00947     <a class="code" href="classKURLBarItemDialog.html#a4c9871b112cb684ad921e7a067a593fc" title="The KURLRequester used for editing the url.">m_urlEdit</a> = <span class="keyword">new</span> <a class="code" href="classKURLRequester.html" title="This class is a widget showing a lineedit and a button, which invokes a filedialog.">KURLRequester</a>( url.prettyURL(), grid );
<a name="l00948"></a>00948     <a class="code" href="classKURLBarItemDialog.html#a4c9871b112cb684ad921e7a067a593fc" title="The KURLRequester used for editing the url.">m_urlEdit</a>-&gt;<a class="code" href="classKURLRequester.html#a5eb10532ecb93238d121dedc6a924e07" title="Sets the mode of the file dialog.">setMode</a>( KFile::Directory );
<a name="l00949"></a>00949     label-&gt;<a class="codeRef" href="qlabel.html#setBuddy">setBuddy</a>( <a class="code" href="classKURLBarItemDialog.html#a4c9871b112cb684ad921e7a067a593fc" title="The KURLRequester used for editing the url.">m_urlEdit</a> );
<a name="l00950"></a>00950     <a class="codeRef" href="qwhatsthis.html#add">QWhatsThis::add</a>( label, whatsThisText );
<a name="l00951"></a>00951     <a class="codeRef" href="qwhatsthis.html#add">QWhatsThis::add</a>( <a class="code" href="classKURLBarItemDialog.html#a4c9871b112cb684ad921e7a067a593fc" title="The KURLRequester used for editing the url.">m_urlEdit</a>, whatsThisText );
<a name="l00952"></a>00952 
<a name="l00953"></a>00953     whatsThisText = i18n(<span class="stringliteral">&quot;&lt;qt&gt;This is the icon that will appear in the Quick Access panel.&lt;p&gt;&quot;</span>
<a name="l00954"></a>00954                          <span class="stringliteral">&quot;Click on the button to select a different icon.&lt;/qt&gt;&quot;</span>);
<a name="l00955"></a>00955     label = <span class="keyword">new</span> <a class="codeRef" href="qlabel.html">QLabel</a>( i18n(<span class="stringliteral">&quot;Choose an &amp;icon:&quot;</span>), grid );
<a name="l00956"></a>00956     <a class="code" href="classKURLBarItemDialog.html#a584bc99851c392477cfeca19b2e629a7" title="The KIconButton to configure the icon.">m_iconButton</a> = <span class="keyword">new</span> <a class="code" href="classKIconButton.html" title="A pushbutton for choosing an icon.">KIconButton</a>( grid, <span class="stringliteral">&quot;icon button&quot;</span> );
<a name="l00957"></a>00957     <a class="code" href="classKURLBarItemDialog.html#a584bc99851c392477cfeca19b2e629a7" title="The KIconButton to configure the icon.">m_iconButton</a>-&gt;<a class="code" href="classKIconButton.html#afb6286f6ae9944ea9d903f5862981731" title="Sets the size of the icon to be shown / selected.">setIconSize</a>( iconSize );
<a name="l00958"></a>00958     <span class="keywordflow">if</span> ( icon.<a class="codeRef" href="qstring.html#isEmpty">isEmpty</a>() )
<a name="l00959"></a>00959         icon = KMimeType::iconForURL( url );
<a name="l00960"></a>00960     <a class="code" href="classKURLBarItemDialog.html#a584bc99851c392477cfeca19b2e629a7" title="The KIconButton to configure the icon.">m_iconButton</a>-&gt;<a class="code" href="classKIconButton.html#a31714c65560fdfc8200a8ce8da2e18de" title="Sets the button&#39;s initial icon.">setIcon</a>( icon );
<a name="l00961"></a>00961     label-&gt;<a class="codeRef" href="qlabel.html#setBuddy">setBuddy</a>( <a class="code" href="classKURLBarItemDialog.html#a584bc99851c392477cfeca19b2e629a7" title="The KIconButton to configure the icon.">m_iconButton</a> );
<a name="l00962"></a>00962     <a class="codeRef" href="qwhatsthis.html#add">QWhatsThis::add</a>( label, whatsThisText );
<a name="l00963"></a>00963     <a class="codeRef" href="qwhatsthis.html#add">QWhatsThis::add</a>( <a class="code" href="classKURLBarItemDialog.html#a584bc99851c392477cfeca19b2e629a7" title="The KIconButton to configure the icon.">m_iconButton</a>, whatsThisText );
<a name="l00964"></a>00964 
<a name="l00965"></a>00965     <span class="keywordflow">if</span> ( allowGlobal ) {
<a name="l00966"></a>00966         <a class="codeRef" href="qstring.html">QString</a> appName;
<a name="l00967"></a>00967         <span class="keywordflow">if</span> ( KGlobal::instance()-&gt;aboutData() )
<a name="l00968"></a>00968             appName = KGlobal::instance()-&gt;aboutData()-&gt;programName();
<a name="l00969"></a>00969         <span class="keywordflow">if</span> ( appName.<a class="codeRef" href="qstring.html#isEmpty">isEmpty</a>() )
<a name="l00970"></a>00970             appName = <a class="codeRef" href="qstring.html#fromLatin1">QString::fromLatin1</a>( KGlobal::instance()-&gt;instanceName() );
<a name="l00971"></a>00971         <a class="code" href="classKURLBarItemDialog.html#a92b62971b5850c0e318c734b3ba10cbf" title="The QCheckBox to modify the local/global setting.">m_appLocal</a> = <span class="keyword">new</span> <a class="codeRef" href="qcheckbox.html">QCheckBox</a>( i18n(<span class="stringliteral">&quot;&amp;Only show when using this application (%1)&quot;</span>).arg( appName ), box );
<a name="l00972"></a>00972         <a class="code" href="classKURLBarItemDialog.html#a92b62971b5850c0e318c734b3ba10cbf" title="The QCheckBox to modify the local/global setting.">m_appLocal</a>-&gt;<a class="codeRef" href="qcheckbox.html#setChecked">setChecked</a>( appLocal );
<a name="l00973"></a>00973         <a class="codeRef" href="qwhatsthis.html#add">QWhatsThis::add</a>( <a class="code" href="classKURLBarItemDialog.html#a92b62971b5850c0e318c734b3ba10cbf" title="The QCheckBox to modify the local/global setting.">m_appLocal</a>,
<a name="l00974"></a>00974                          i18n(<span class="stringliteral">&quot;&lt;qt&gt;Select this setting if you want this &quot;</span>
<a name="l00975"></a>00975                               <span class="stringliteral">&quot;entry to show only when using the current application (%1).&lt;p&gt;&quot;</span>
<a name="l00976"></a>00976                               <span class="stringliteral">&quot;If this setting is not selected, the entry will be available in all &quot;</span>
<a name="l00977"></a>00977                               <span class="stringliteral">&quot;applications.&lt;/qt&gt;&quot;</span>)
<a name="l00978"></a>00978                               .arg(appName));
<a name="l00979"></a>00979     }
<a name="l00980"></a>00980     <span class="keywordflow">else</span>
<a name="l00981"></a>00981         <a class="code" href="classKURLBarItemDialog.html#a92b62971b5850c0e318c734b3ba10cbf" title="The QCheckBox to modify the local/global setting.">m_appLocal</a> = 0L;
<a name="l00982"></a>00982     connect(<a class="code" href="classKURLBarItemDialog.html#a4c9871b112cb684ad921e7a067a593fc" title="The KURLRequester used for editing the url.">m_urlEdit</a>-&gt;<a class="code" href="classKURLRequester.html#a074a29dd36244ff7a9f402ca55578441">lineEdit</a>(),SIGNAL(textChanged ( <span class="keyword">const</span> <a class="codeRef" href="qstring.html">QString</a> &amp; )),<span class="keyword">this</span>,SLOT(urlChanged(<span class="keyword">const</span> <a class="codeRef" href="qstring.html">QString</a> &amp; )));
<a name="l00983"></a>00983     <a class="code" href="classKURLBarItemDialog.html#ac2aaa1bed23084893fb673eeb7bd60cb" title="The KLineEdit used for editing the description.">m_edit</a>-&gt;setFocus();
<a name="l00984"></a>00984     setMainWidget( box );
<a name="l00985"></a>00985 }
<a name="l00986"></a>00986 
<a name="l00987"></a><a class="code" href="classKURLBarItemDialog.html#a06f8f912d72bdebbf4ef61298946d0b9">00987</a> <a class="code" href="classKURLBarItemDialog.html#a06f8f912d72bdebbf4ef61298946d0b9" title="Destroys the dialog.">KURLBarItemDialog::~KURLBarItemDialog</a>()
<a name="l00988"></a>00988 {
<a name="l00989"></a>00989 }
<a name="l00990"></a>00990 
<a name="l00991"></a>00991 <span class="keywordtype">void</span> KURLBarItemDialog::urlChanged(<span class="keyword">const</span> <a class="codeRef" href="qstring.html">QString</a> &amp; text )
<a name="l00992"></a>00992 {
<a name="l00993"></a>00993     enableButtonOK( !text.<a class="codeRef" href="qstring.html#isEmpty">isEmpty</a>() );
<a name="l00994"></a>00994 }
<a name="l00995"></a>00995 
<a name="l00996"></a><a class="code" href="classKURLBarItemDialog.html#aa992839430de3b434787aa51ec5b4eec">00996</a> KURL <a class="code" href="classKURLBarItemDialog.html#aa992839430de3b434787aa51ec5b4eec">KURLBarItemDialog::url</a>()<span class="keyword"> const</span>
<a name="l00997"></a>00997 <span class="keyword"></span>{
<a name="l00998"></a>00998     <a class="codeRef" href="qstring.html">QString</a> text = <a class="code" href="classKURLBarItemDialog.html#a4c9871b112cb684ad921e7a067a593fc" title="The KURLRequester used for editing the url.">m_urlEdit</a>-&gt;url();
<a name="l00999"></a>00999     KURL u;
<a name="l01000"></a>01000     <span class="keywordflow">if</span> ( text.<a class="codeRef" href="qstring.html#at">at</a>(0) == <span class="charliteral">&#39;/&#39;</span> )
<a name="l01001"></a>01001         u.setPath( text );
<a name="l01002"></a>01002     <span class="keywordflow">else</span>
<a name="l01003"></a>01003         u = text;
<a name="l01004"></a>01004 
<a name="l01005"></a>01005     <span class="keywordflow">return</span> u;
<a name="l01006"></a>01006 }
<a name="l01007"></a>01007 
<a name="l01008"></a><a class="code" href="classKURLBarItemDialog.html#a8b06a7787b352543ae5d9fad44bc53ea">01008</a> <a class="codeRef" href="qstring.html">QString</a> <a class="code" href="classKURLBarItemDialog.html#a8b06a7787b352543ae5d9fad44bc53ea">KURLBarItemDialog::description</a>()<span class="keyword"> const</span>
<a name="l01009"></a>01009 <span class="keyword"></span>{
<a name="l01010"></a>01010     <span class="keywordflow">return</span> <a class="code" href="classKURLBarItemDialog.html#ac2aaa1bed23084893fb673eeb7bd60cb" title="The KLineEdit used for editing the description.">m_edit</a>-&gt;text();
<a name="l01011"></a>01011 }
<a name="l01012"></a>01012 
<a name="l01013"></a><a class="code" href="classKURLBarItemDialog.html#a1e75decfa3e38ebf34508134c745ddc7">01013</a> <a class="codeRef" href="qstring.html">QString</a> <a class="code" href="classKURLBarItemDialog.html#a1e75decfa3e38ebf34508134c745ddc7">KURLBarItemDialog::icon</a>()<span class="keyword"> const</span>
<a name="l01014"></a>01014 <span class="keyword"></span>{
<a name="l01015"></a>01015     <span class="keywordflow">return</span> <a class="code" href="classKURLBarItemDialog.html#a584bc99851c392477cfeca19b2e629a7" title="The KIconButton to configure the icon.">m_iconButton</a>-&gt;icon();
<a name="l01016"></a>01016 }
<a name="l01017"></a>01017 
<a name="l01018"></a><a class="code" href="classKURLBarItemDialog.html#af6102cbbdde0249af31712a92b22f3b6">01018</a> <span class="keywordtype">bool</span> <a class="code" href="classKURLBarItemDialog.html#af6102cbbdde0249af31712a92b22f3b6">KURLBarItemDialog::applicationLocal</a>()<span class="keyword"> const</span>
<a name="l01019"></a>01019 <span class="keyword"></span>{
<a name="l01020"></a>01020     <span class="keywordflow">if</span> ( !<a class="code" href="classKURLBarItemDialog.html#a92b62971b5850c0e318c734b3ba10cbf" title="The QCheckBox to modify the local/global setting.">m_appLocal</a> )
<a name="l01021"></a>01021         <span class="keywordflow">return</span> <span class="keyword">true</span>;
<a name="l01022"></a>01022 
<a name="l01023"></a>01023     <span class="keywordflow">return</span> <a class="code" href="classKURLBarItemDialog.html#a92b62971b5850c0e318c734b3ba10cbf" title="The QCheckBox to modify the local/global setting.">m_appLocal</a>-&gt;<a class="codeRef" href="qcheckbox.html#isChecked">isChecked</a>();
<a name="l01024"></a>01024 }
<a name="l01025"></a>01025 
<a name="l01026"></a>01026 <span class="keywordtype">void</span> KURLBarItem::virtual_hook( <span class="keywordtype">int</span>, <span class="keywordtype">void</span>* )
<a name="l01027"></a>01027 { <span class="comment">/*BASE::virtual_hook( id, data );*/</span> }
<a name="l01028"></a>01028 
<a name="l01029"></a>01029 <span class="keywordtype">void</span> KURLBar::virtual_hook( <span class="keywordtype">int</span>, <span class="keywordtype">void</span>* )
<a name="l01030"></a>01030 { <span class="comment">/*BASE::virtual_hook( id, data );*/</span> }
<a name="l01031"></a>01031 
<a name="l01032"></a>01032 <span class="keywordtype">void</span> KURLBarListBox::virtual_hook( <span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keywordtype">void</span>* data )
<a name="l01033"></a>01033 { KListBox::virtual_hook( <span class="keywordtype">id</span>, data ); }
<a name="l01034"></a>01034 
<a name="l01035"></a>01035 
<a name="l01036"></a>01036 <span class="preprocessor">#include &quot;kurlbar.moc&quot;</span>
</pre></div></div>
</div>
    </div></div>


      </td>
  </tr>
  <tr>
    <td valign="top" id="leftmenu" width="25%">
      <a name="navigation"></a>
      <div class="menu_box"><h2>kio/kfile</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="classKApplicationPropsPlugin.html">kapplicationpropsplugin</option>,  <option value="classKBindingPropsPlugin.html">kbindingpropsplugin</option>,  <option value="classKCombiView.html">kcombiview</option>,  <option value="classKDesktopPropsPlugin.html">kdesktoppropsplugin</option>,  <option value="classKDevicePropsPlugin.html">kdevicepropsplugin</option>,  <option value="classKDirOperator.html">kdiroperator</option>,  <option value="classKDirSelectDialog.html">kdirselectdialog</option>,  <option value="classKDirSize.html">kdirsize</option>,  <option value="classKDiskFreeSp.html">kdiskfreesp</option>,  <option value="classKEncodingFileDialog.html">kencodingfiledialog</option>,  <option value="classKExecPropsPlugin.html">kexecpropsplugin</option>,  <option value="classKFile.html">kfile</option>,  <option value="classKFileDetailView.html">kfiledetailview</option>,  <option value="classKFileDialog.html">kfiledialog</option>,  <option value="classKFileIconView.html">kfileiconview</option>,  <option value="classKFileIconViewItem.html">kfileiconviewitem</option>,  <option value="classKFileListViewItem.html">kfilelistviewitem</option>,  <option value="classKFileMetaInfoWidget.html">kfilemetainfowidget</option>,  <option value="classKFileMetaPropsPlugin.html">kfilemetapropsplugin</option>,  <option value="classKFileOpenWithHandler.html">kfileopenwithhandler</option>,  <option value="classKFilePermissionsPropsPlugin.html">kfilepermissionspropsplugin</option>,  <option value="classKFilePreview.html">kfilepreview</option>,  <option value="classKFilePropsPlugin.html">kfilepropsplugin</option>,  <option value="classKFileSharePropsPlugin.html">kfilesharepropsplugin</option>,  <option value="classKFileTreeBranch.html">kfiletreebranch</option>,  <option value="classKFileTreeView.html">kfiletreeview</option>,  <option value="classKFileTreeViewItem.html">kfiletreeviewitem</option>,  <option value="classKFileView.html">kfileview</option>,  <option value="classKFileViewSignaler.html">kfileviewsignaler</option>,  <option value="classKIconButton.html">kiconbutton</option>,  <option value="classKIconCanvas.html">kiconcanvas</option>,  <option value="classKIconDialog.html">kicondialog</option>,  <option value="classKImageFilePreview.html">kimagefilepreview</option>,  <option value="classKNotifyDialog.html">knotifydialog</option>,  <option value="classKOpenWithDlg.html">kopenwithdlg</option>,  <option value="classKPreviewPropsPlugin.html">kpreviewpropsplugin</option>,  <option value="classKPreviewWidgetBase.html">kpreviewwidgetbase</option>,  <option value="classKPropertiesDialog.html">kpropertiesdialog</option>,  <option value="classKPropsDlgPlugin.html">kpropsdlgplugin</option>,  <option value="classKRecentDirs.html">krecentdirs</option>,  <option value="classKRecentDocument.html">krecentdocument</option>,  <option value="classKURLBar.html">kurlbar</option>,  <option value="classKURLBarItem.html">kurlbaritem</option>,  <option value="classKURLBarItemDialog.html">kurlbaritemdialog</option>,  <option value="classKURLBarListBox.html">kurlbarlistbox</option>,  <option value="classKURLComboBox.html">kurlcombobox</option>,  <option value="classKURLComboRequester.html">kurlcomborequester</option>,  <option value="classKURLPropsPlugin.html">kurlpropsplugin</option>,  <option value="classKURLRequester.html">kurlrequester</option>,  <option value="classKURLRequesterDlg.html">kurlrequesterdlg</option>,
</select>
</form>
</div>
-->
</div></div>
<div class="menu_box"><h2>API Dox</h2>
<div class="nav_list">
<ul>
<li><a href="../../../arts/html/index.html">arts</a></li><li><a href="../../../dcop/html/index.html">dcop</a></li><li><a href="../../../dnssd/html/index.html">dnssd</a></li><li><a href="../../../interfaces/html/index.html">interfaces</a></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<a href="../../../interfaces/kimproxy/interface/html/index.html">interface</a></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<a href="../../../interfaces/kimproxy/library/html/index.html">library</a></li><li>&nbsp;&nbsp;<a href="../../../interfaces/kspeech/html/index.html">kspeech</a></li><li>&nbsp;&nbsp;<a href="../../../interfaces/ktexteditor/html/index.html">ktexteditor</a></li><li><a href="../../../kabc/html/index.html">kabc</a></li><li><a href="../../../kate/html/index.html">kate</a></li><li><a href="../../../kcmshell/html/index.html">kcmshell</a></li><li><a href="../../../kdecore/html/index.html">kdecore</a></li><li><a href="../../../kded/html/index.html">kded</a></li><li><a href="../../../kdefx/html/index.html">kdefx</a></li><li><a href="../../../kdeprint/html/index.html">kdeprint</a></li><li><a href="../../../kdesu/html/index.html">kdesu</a></li><li><a href="../../../kdeui/html/index.html">kdeui</a></li><li><a href="../../../kdoctools/html/index.html">kdoctools</a></li><li><a href="../../../khtml/html/index.html">khtml</a></li><li><a href="../../../kimgio/html/index.html">kimgio</a></li><li><a href="../../../kinit/html/index.html">kinit</a></li><li><a href="../../../kio/html/index.html">kio</a></li><li>&nbsp;&nbsp;<a href="../../../kio/bookmarks/html/index.html">bookmarks</a></li><li>&nbsp;&nbsp;<a href="../../../kio/httpfilter/html/index.html">httpfilter</a></li><li>&nbsp;&nbsp;<a href="../../../kio/kfile/html/index.html">kfile</a></li><li>&nbsp;&nbsp;<a href="../../../kio/kio/html/index.html">kio</a></li><li>&nbsp;&nbsp;<a href="../../../kio/kioexec/html/index.html">kioexec</a></li><li>&nbsp;&nbsp;<a href="../../../kio/kpasswdserver/html/index.html">kpasswdserver</a></li><li>&nbsp;&nbsp;<a href="../../../kio/kssl/html/index.html">kssl</a></li><li><a href="../../../kioslave/html/index.html">kioslave</a></li><li>&nbsp;&nbsp;<a href="../../../kioslave/http/html/index.html">http</a></li><li><a href="../../../kjs/html/index.html">kjs</a></li><li><a href="../../../kmdi/html/index.html">kmdi</a></li><li>&nbsp;&nbsp;<a href="../../../kmdi/kmdi/html/index.html">kmdi</a></li><li><a href="../../../knewstuff/html/index.html">knewstuff</a></li><li><a href="../../../kparts/html/index.html">kparts</a></li><li><a href="../../../kresources/html/index.html">kresources</a></li><li><a href="../../../kspell2/html/index.html">kspell2</a></li><li><a href="../../../kunittest/html/index.html">kunittest</a></li><li><a href="../../../kutils/html/index.html">kutils</a></li><li><a href="../../../kwallet/html/index.html">kwallet</a></li><li><a href="../../../libkmid/html/index.html">libkmid</a></li><li><a href="../../../libkscreensaver/html/index.html">libkscreensaver</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>