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 setIconSize(KIcon::SizeSmallMedium);
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
00049
if ((
KGlobalSettings::documentPath() != (QDir::homeDirPath()+
"/")) &&
00050
QDir(KGlobalSettings::documentPath()).exists())
00051 {
00052 u.
setPath( KGlobalSettings::documentPath() );
00053 insertItem( u, i18n(
"Documents"),
false,
"document" );
00054 }
00055
00056 u.
setPath( QDir::homeDirPath() );
00057 insertItem( u, i18n(
"Home Folder"),
false,
00058
"folder_home" );
00059
00060 u.
setPath(
QString(
"/mnt/cdrom") );
00061 insertItem( u, i18n(
"Cdrom"),
false,
00062
"cdrom_mount" );
00063
00064 u =
"floppy:/";
00065
if (
KProtocolInfo::isKnownProtocol( u ) )
00066 {
00067 u.
setPath(
QString(
"/mnt/floppy") );
00068 insertItem( u, i18n(
"Floppy"),
false,
00069
"3floppy_mount" );
00070 }
00071
00072 u =
"media:/";
00073
if (
KProtocolInfo::isKnownProtocol( u ) )
00074 insertItem( u, i18n(
"Storage Media"),
false,
00075 KProtocolInfo::icon(
"media" ) );
00076
00077 u =
"remote:/";
00078
if (
KProtocolInfo::isKnownProtocol( u ) )
00079 insertItem( u, i18n(
"Network Folders"),
false,
00080 KProtocolInfo::icon(
"remote" ) );
00081 }
00082 }
00083
00084 KFileSpeedBar::~KFileSpeedBar()
00085 {
00086 }
00087
00088
void KFileSpeedBar::save(
KConfig *config )
00089 {
00090
if ( m_initializeSpeedbar && isModified() )
00091 {
00092
KConfigGroup conf( config, ConfigGroup );
00093
00094 conf.
writeEntry(
"Set speedbar defaults",
false,
true,
true );
00095 }
00096
00097 writeConfig( config,
"KFileDialog Speedbar" );
00098 }
00099
00100
QSize KFileSpeedBar::sizeHint()
const
00101
{
00102
QSize sizeHint =
KURLBar::sizeHint();
00103
int ems = fontMetrics().width(
"mmmmmmmmmmmm");
00104
if (sizeHint.width() < ems)
00105 {
00106 sizeHint.setWidth(ems);
00107 }
00108
return sizeHint;
00109 }
00110
00111
#include "kfilespeedbar.moc"