21 #include "resourcefileconfig.h" 22 #include "resourcefile.h" 24 #include "kabc/formatfactory.h" 25 #include "kabc/stdaddressbook.h" 28 #include <klocalizedstring.h> 29 #include <kstandarddirs.h> 32 #include <QFormLayout> 38 ResourceFileConfig::ResourceFileConfig( QWidget *parent )
39 : ConfigWidget( parent )
41 QFormLayout *mainLayout =
new QFormLayout(
this );
42 mainLayout->setMargin( 0 );
44 mFormatBox =
new KComboBox(
this );
46 mainLayout->addRow( i18n(
"Format:" ), mFormatBox );
48 mFileNameEdit =
new KUrlRequester(
this );
49 mFileNameEdit->setMode( KFile::File | KFile::LocalOnly );
51 mainLayout->addRow( i18n(
"Location:" ), mFileNameEdit );
53 connect( mFileNameEdit, SIGNAL(textChanged(QString)),
54 SLOT(checkFilePermissions(QString)) );
57 QStringList formats = factory->
formats();
58 QStringList::Iterator it;
59 for ( it = formats.begin(); it != formats.end(); ++it ) {
62 mFormatTypes << ( *it );
70 void ResourceFileConfig::setEditMode(
bool value )
72 mFormatBox->setEnabled( !value );
78 ResourceFile *resource = dynamic_cast<ResourceFile*>( res );
81 kDebug() <<
"cast failed";
85 mFormatBox->setCurrentIndex( mFormatTypes.indexOf( resource->
format() ) );
87 mFileNameEdit->setUrl( KUrl::fromPath( resource->
fileName() ) );
88 if ( mFileNameEdit->url().isEmpty() ) {
95 ResourceFile *resource = dynamic_cast<ResourceFile*>( res );
98 kDebug() <<
"cast failed";
102 if ( !mInEditMode ) {
103 resource->
setFormat( mFormatTypes[ mFormatBox->currentIndex() ] );
106 resource->
setFileName( mFileNameEdit->url().path() );
109 void ResourceFileConfig::checkFilePermissions(
const QString &fileName )
112 if ( access( QFile::encodeName( fileName ), F_OK ) == 0 ) {
113 emit setReadOnly( access( QFile::encodeName( fileName ), W_OK ) < 0 );
QString format() const
Returns the format name.
static QString fileName()
Returns the default file name for vcard-based addressbook.
QString fileName() const
Return name of file used for loading and saving the address book.
void setFileName(const QString &)
Set name of file to be used for saving.
Class that holds a Calendar Url (FBURL/CALADRURI/CALURI)
This resource allows access to a local file.
void setFormat(const QString &name)
Sets a new format by name.