kio Library API Documentation

kfilespeedbar.cpp

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., 59 Temple Place - Suite 330, 00016 Boston, MA 02111-1307, 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 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 if (KGlobalSettings::documentPath() != (QDir::homeDirPath()+"/")) 00049 { 00050 u.setPath( KGlobalSettings::documentPath() ); 00051 insertItem( u, i18n("Documents"), false, "document" ); 00052 } 00053 00054 u.setPath( QDir::homeDirPath() ); 00055 insertItem( u, i18n("Home Folder"), false, 00056 "folder_home" ); 00057 00058 u.setPath( QString("/mnt/cdrom") ); 00059 insertItem( u, i18n("Cdrom"), false, 00060 "cdrom_mount" ); 00061 00062 u.setPath( QString("/mnt/floppy") ); 00063 insertItem( u, i18n("Floppy"), false, 00064 "3floppy_mount" ); 00065 00066 u = "devices:/"; 00067 if ( KProtocolInfo::isKnownProtocol( u ) ) 00068 insertItem( u, i18n("Devices"), false, 00069 KProtocolInfo::icon( "devices" ) ); 00070 00071 QStringList tmpDirs = KGlobal::dirs()->resourceDirs( "tmp" ); 00072 u.setProtocol( "file" ); 00073 u.setPath( tmpDirs.isEmpty() ? QString("/tmp") : tmpDirs.first() ); 00074 insertItem( u, i18n("Temporary Files"), false, 00075 "file_temporary" ); 00076 u = "lan:/"; 00077 if ( KProtocolInfo::isKnownProtocol( u ) ) 00078 insertItem( u, i18n("Network"), false, 00079 "network_local" ); 00080 } 00081 } 00082 00083 KFileSpeedBar::~KFileSpeedBar() 00084 { 00085 } 00086 00087 void KFileSpeedBar::save( KConfig *config ) 00088 { 00089 if ( m_initializeSpeedbar && isModified() ) 00090 { 00091 KConfigGroup conf( config, ConfigGroup ); 00092 // write to kdeglobals 00093 conf.writeEntry( "Set speedbar defaults", false, true, true ); 00094 } 00095 00096 writeConfig( config, "KFileDialog Speedbar" ); 00097 } 00098 00099 00100 #include "kfilespeedbar.moc"
KDE Logo
This file is part of the documentation for kio Library Version 3.2.3.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Fri Oct 8 11:14:57 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003