• Skip to content
  • Skip to link menu
KDE 3.5 API Reference
  • KDE API Reference
  • API Reference
  • Sitemap
  • Contact Us
 

kio

kfilespeedbar.cpp

Go to the documentation of this file.
00001 /* This file is part of the KDE libraries
00002     Copyright (C) 2002 Carsten Pfeiffer <pfeiffer@kde.org>
00003 
00004     library is free software; you can redistribute it and/or
00005     modify it under the terms of the GNU Library General Public
00006     License as published by the Free Software Foundation, version 2.
00007 
00008     This library is distributed in the hope that it will be useful,
00009     but WITHOUT ANY WARRANTY; without even the implied warranty of
00010     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00011     Library General Public License for more details.
00012 
00013     You should have received a copy of the GNU Library General Public License
00014     along with this library; see the file COPYING.LIB.  If not, write to
00015     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00016     Boston, MA 02110-1301, USA.
00017 */
00018 
00019 #include "kfilespeedbar.h"
00020 #include "config-kfile.h"
00021 
00022 #include <qdir.h>
00023 
00024 #include <kconfig.h>
00025 #include <kglobal.h>
00026 #include <kglobalsettings.h>
00027 #include <klocale.h>
00028 #include <kprotocolinfo.h>
00029 #include <kstandarddirs.h>
00030 #include <kurl.h>
00031 
00032 KFileSpeedBar::KFileSpeedBar( QWidget *parent, const char *name )
00033     : KURLBar( true, parent, name )
00034 {
00035     KConfig *config = KGlobal::config();
00036     KConfigGroupSaver cs( config, ConfigGroup );
00037     m_initializeSpeedbar = config->readBoolEntry( "Set speedbar defaults",
00038                                                    true );
00039     setIconSize(KIcon::SizeSmallMedium);
00040     readConfig( KGlobal::config(), "KFileDialog Speedbar" );
00041 
00042     if ( m_initializeSpeedbar )
00043     {
00044         KURL u;
00045         u.setPath( KGlobalSettings::desktopPath() );
00046         insertItem( u, i18n("Desktop"), false );
00047 
00048 //TODO: win32
00049         if ((KGlobalSettings::documentPath() != (QDir::homeDirPath()+"/")) &&
00050             QDir(KGlobalSettings::documentPath()).exists())
00051         {
00052             u.setPath( KGlobalSettings::documentPath() );
00053             insertItem( u, i18n("Documents"), false, "document" );
00054         }
00055 
00056         u.setPath( QDir::homeDirPath() );
00057         insertItem( u, i18n("Home Folder"), false,
00058                                "folder_home" );
00059 
00060         u = "media:/";
00061         if ( KProtocolInfo::isKnownProtocol( u ) )
00062             insertItem( u, i18n("Storage Media"), false,
00063                                    KProtocolInfo::icon( "media" ) );
00064 
00065         u = "remote:/";
00066         if ( KProtocolInfo::isKnownProtocol( u ) )
00067             insertItem( u, i18n("Network Folders"), false,
00068                                    KProtocolInfo::icon( "remote" ) );
00069     }
00070 }
00071 
00072 KFileSpeedBar::~KFileSpeedBar()
00073 {
00074 }
00075 
00076 void KFileSpeedBar::save( KConfig *config )
00077 {
00078     if ( m_initializeSpeedbar && isModified() )
00079     {
00080         KConfigGroup conf( config, ConfigGroup );
00081         // write to kdeglobals
00082         conf.writeEntry( "Set speedbar defaults", false, true, true );
00083     }
00084 
00085     writeConfig( config, "KFileDialog Speedbar" );
00086 }
00087 
00088 QSize KFileSpeedBar::sizeHint() const
00089 {
00090     QSize sizeHint = KURLBar::sizeHint();
00091     int ems = fontMetrics().width("mmmmmmmmmmmm");
00092     if (sizeHint.width() < ems)
00093     {
00094         sizeHint.setWidth(ems);
00095     }
00096     return sizeHint;
00097 }
00098 
00099 #include "kfilespeedbar.moc"

kio

Skip menu "kio"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

API Reference

Skip menu "API Reference"
  • dcop
  • DNSSD
  • interfaces
  • Kate
  • kconf_update
  • KDECore
  • KDED
  • kdefx
  • KDEsu
  • kdeui
  • KDocTools
  • KHTML
  • KImgIO
  • KInit
  • kio
  • kioslave
  • KJS
  • KNewStuff
  • KParts
  • KUtils
Generated for API Reference by doxygen 1.5.9
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal