kfilespeedbar.cpp Source File (kio Library)

| # kio Library API Documentation
Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Source Files

# 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 Directory"), false,
    00056                                "folder_home" );
    00057         u = "floppy:/";
    00058         if ( KProtocolInfo::isKnownProtocol( u ) )
    00059             insertItem( u, i18n("Floppy"), false,
    00060                                    KProtocolInfo::icon( "floppy" ) );
    00061         QStringList tmpDirs = KGlobal::dirs()->resourceDirs( "tmp" );
    00062         u.setProtocol( "file" );
    00063         u.setPath( tmpDirs.isEmpty() ? QString("/tmp") : tmpDirs.first() );
    00064         insertItem( u, i18n("Temporary Files"), false,
    00065                                "file_temporary" );
    00066         u = "lan:/";
    00067         if ( KProtocolInfo::isKnownProtocol( u ) )
    00068             insertItem( u, i18n("Network"), false,
    00069                                    "network_local" );
    00070     }
    00071 }
    00072
    00073 KFileSpeedBar::~KFileSpeedBar()
    00074 {
    00075 }
    00076
    00077 void KFileSpeedBar::save( KConfig *config )
    00078 {
    00079     if ( m_initializeSpeedbar && isModified() )
    00080     {
    00081         KConfigGroup conf( config, ConfigGroup );
    00082         // write to kdeglobals
    00083         conf.writeEntry( "Set speedbar defaults", false, true, true );
    00084     }
    00085
    00086     writeConfig( config, "KFileDialog Speedbar" );
    00087 }
    00088
    00089
    00090 #include "kfilespeedbar.moc"

This file is part of the documentation for kdelibs Version 3.1.5.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed Jan 28 13:13:33 2004 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001