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 = "floppy:/"; 00059 if ( KProtocolInfo::isKnownProtocol( u ) ) 00060 insertItem( u, i18n("Floppy"), false, 00061 KProtocolInfo::icon( "floppy" ) ); 00062 u = "devices:/"; 00063 if ( KProtocolInfo::isKnownProtocol( u ) ) 00064 insertItem( u, i18n("Devices"), false, 00065 KProtocolInfo::icon( "devices" ) ); 00066 00067 QStringList tmpDirs = KGlobal::dirs()->resourceDirs( "tmp" ); 00068 u.setProtocol( "file" ); 00069 u.setPath( tmpDirs.isEmpty() ? QString("/tmp") : tmpDirs.first() ); 00070 insertItem( u, i18n("Temporary Files"), false, 00071 "file_temporary" ); 00072 u = "lan:/"; 00073 if ( KProtocolInfo::isKnownProtocol( u ) ) 00074 insertItem( u, i18n("Network"), false, 00075 "network_local" ); 00076 } 00077 } 00078 00079 KFileSpeedBar::~KFileSpeedBar() 00080 { 00081 } 00082 00083 void KFileSpeedBar::save( KConfig *config ) 00084 { 00085 if ( m_initializeSpeedbar && isModified() ) 00086 { 00087 KConfigGroup conf( config, ConfigGroup ); 00088 // write to kdeglobals 00089 conf.writeEntry( "Set speedbar defaults", false, true, true ); 00090 } 00091 00092 writeConfig( config, "KFileDialog Speedbar" ); 00093 } 00094 00095 00096 #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 Mon Aug 30 22:54:39 2004 by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2003