Don't use a hardcoded path in the view properties dialog for the mirrored directory, ask the class ViewProperties for the location instead.

svn path=/trunk/KDE/kdebase/apps/; revision=634899
This commit is contained in:
Peter Penz 2007-02-18 18:54:22 +00:00
parent abf17941f7
commit bd8b41a135
3 changed files with 18 additions and 5 deletions

View file

@ -195,6 +195,13 @@ void ViewProperties::save()
m_changedProps = false;
}
KUrl ViewProperties::mirroredDirectory()
{
QString basePath = KGlobal::mainComponent().componentName();
basePath.append("/view_properties/");
return KUrl(KStandardDirs::locateLocal("data", basePath));
}
QString ViewProperties::destinationDir(const QString& subDir) const
{
QString basePath = KGlobal::mainComponent().componentName();

View file

@ -97,6 +97,15 @@ public:
*/
void save();
/**
* Returns the URL of the directory, where the mirrored view properties
* are stored into. Mirrored view properties are used if:
* - there is no write access for storing the view properties into
* the original directory
* - for non local directories
*/
static KUrl mirroredDirectory();
private:
/**
* Returns the destination directory path where the view

View file

@ -266,10 +266,8 @@ void ViewPropertiesDialog::applyViewProperties()
settings->setViewPropsTimestamp(QDateTime::currentDateTime());
// This is also a good chance to make a cleanup of all mirrored view properties:
QString basePath = KGlobal::mainComponent().componentName();
basePath.append("/view_properties/");
const QString mirroredViewProps = KStandardDirs::locateLocal("data", basePath);
KIO::NetAccess::del(mirroredViewProps, this);
const KUrl mirroredDir = ViewProperties::mirroredDirectory();
KIO::NetAccess::del(mirroredDir, this);
}
m_viewProps->save();
@ -292,7 +290,6 @@ void ViewPropertiesDialog::applyViewProperties()
settings->setGlobalViewProps(true);
ViewProperties defaultProps(m_dolphinView->url());
defaultProps.setDirProperties(*m_viewProps);
kDebug() << "saving global viewprops" << endl;
defaultProps.save();
settings->setGlobalViewProps(false);
}