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"