kfilespeedbar.cpp
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
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         
00089         conf.writeEntry( "Set speedbar defaults", false, true, true );
00090     }
00091 
00092     writeConfig( config, "KFileDialog Speedbar" );
00093 }
00094 
00095 
00096 #include "kfilespeedbar.moc"
 
This file is part of the documentation for kio Library Version 3.2.0.