*** kdebase/kioslave/media/mediamanager/halbackend.cpp.orig 2010-09-30 00:24:28.000000000 +0200 --- kdebase/kioslave/media/mediamanager/halbackend.cpp 2011-07-20 16:39:40.933056051 +0200 *************** *** 873,878 **** --- 873,905 ---- s_HALBackend->DeviceCondition(udi, condition_name); } + TQStringList HALBackend::getHALmountoptions(TQString udi) + { + const char* _ppt_string; + LibHalVolume* volume; + LibHalDrive* drive; + + TQString _ppt_QString; + + volume = libhal_volume_from_udi( m_halContext, udi.latin1() ); + if( volume ) + drive = libhal_drive_from_udi( m_halContext, libhal_volume_get_storage_device_udi( volume ) ); + else + drive = libhal_drive_from_udi( m_halContext, udi.latin1() ); + + if( !drive ) + return TQString::null; + + if( volume ) + _ppt_string = libhal_volume_policy_get_mount_options ( drive, volume, NULL ); + else + _ppt_string = libhal_drive_policy_get_mount_options ( drive, NULL ); + + _ppt_QString = TQString(_ppt_string ? _ppt_string : ""); + + return TQStringList::split(",",_ppt_QString); + } + TQStringList HALBackend::mountoptions(const TQString &name) { const Medium* medium = m_mediaList.findById(name); *************** *** 1472,1481 **** --- 1499,1524 ---- soptions << TQString("data=ordered"); } + TQStringList hal_mount_options = getHALmountoptions(medium->id()); + for (TQValueListIterator it=hal_mount_options.begin();it!=hal_mount_options.end();it++) + { + soptions << *it; + kdDebug()<<"HALOption: "<<*it<