aboutsummaryrefslogtreecommitdiff
path: root/x11/kde4-baseapps/files/patch-kio_media
diff options
context:
space:
mode:
Diffstat (limited to 'x11/kde4-baseapps/files/patch-kio_media')
-rw-r--r--x11/kde4-baseapps/files/patch-kio_media6118
1 files changed, 6118 insertions, 0 deletions
diff --git a/x11/kde4-baseapps/files/patch-kio_media b/x11/kde4-baseapps/files/patch-kio_media
new file mode 100644
index 000000000000..144c7914a0e5
--- /dev/null
+++ b/x11/kde4-baseapps/files/patch-kio_media
@@ -0,0 +1,6118 @@
+diff -urN kioslave/media/Makefile.in kioslave/media/Makefile.in
+--- kioslave/media/Makefile.in Mon Jul 24 17:56:31 2006
++++ kioslave/media/Makefile.in Mon Mar 20 14:05:50 2006
+@@ -122,8 +122,7 @@
+ DATA = $(kde_services_DATA)
+ ETAGS = etags
+ CTAGS = ctags
+-DIST_SUBDIRS = libmediacommon . mediamanager medianotifier mounthelper \
+- kfile-plugin kcmodule mimetypes services propsdlgplugin
++DIST_SUBDIRS = $(SUBDIRS)
+ #>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ #>+ 1
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST)
+@@ -276,6 +275,7 @@
+ LIBTOOL = @LIBTOOL@
+ LIBUCB = @LIBUCB@
+ LIBUSBCONFIG = @LIBUSBCONFIG@
++LIBUTEMPTER = @LIBUTEMPTER@
+ LIBUTIL = @LIBUTIL@
+ LIBXDMCP = @LIBXDMCP@
+ LIBXFT_LIB = @LIBXFT_LIB@
+@@ -611,9 +611,8 @@
+ xdg_appsdir = @xdg_appsdir@
+ xdg_directorydir = @xdg_directorydir@
+ xdg_menudir = @xdg_menudir@
+-@include_media_halbackend_TRUE@PROPSDLGPLUGINDIR = propsdlgplugin
+ SUBDIRS = libmediacommon . mediamanager medianotifier mounthelper \
+- kfile-plugin kcmodule mimetypes services $(PROPSDLGPLUGINDIR)
++ kfile-plugin kcmodule mimetypes services
+
+ INCLUDES = -I$(srcdir)/libmediacommon $(all_includes)
+ #>- METASOURCES = AUTO
+@@ -1092,8 +1091,7 @@
+ ./testmedia
+
+ messages: rc.cpp
+- $(EXTRACTRC) propsdlgplugin/propertiespagegui.ui >> rc.cpp
+- $(XGETTEXT) *.cpp *.h kfile-plugin/*.cpp libmediacommon/*.cpp mediamanager/*.cpp mounthelper/*.cpp propsdlgplugin/*.cpp -o $(podir)/kio_media.pot
++ $(XGETTEXT) *.cpp *.h kfile-plugin/*.cpp libmediacommon/*.cpp mediamanager/*.cpp mounthelper/*.cpp -o $(podir)/kio_media.pot
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+ .NOEXPORT:
+diff -urN kioslave/media/kcmodule/Makefile.in kioslave/media/kcmodule/Makefile.in
+--- kioslave/media/kcmodule/Makefile.in Mon Jul 24 17:56:31 2006
++++ kioslave/media/kcmodule/Makefile.in Mon Mar 20 14:05:50 2006
+@@ -253,6 +253,7 @@
+ LIBTOOL = @LIBTOOL@
+ LIBUCB = @LIBUCB@
+ LIBUSBCONFIG = @LIBUSBCONFIG@
++LIBUTEMPTER = @LIBUTEMPTER@
+ LIBUTIL = @LIBUTIL@
+ LIBXDMCP = @LIBXDMCP@
+ LIBXFT_LIB = @LIBXFT_LIB@
+diff -urN kioslave/media/kcmodule/managermodule.cpp kioslave/media/kcmodule/managermodule.cpp
+--- kioslave/media/kcmodule/managermodule.cpp Sat Jul 22 10:15:43 2006
++++ kioslave/media/kcmodule/managermodule.cpp Sun Nov 20 20:14:21 2005
+@@ -39,15 +39,15 @@
+ QString hal_text = view->kcfg_HalBackendEnabled->text();
+ hal_text += " ("+i18n("No support for HAL on this system")+")";
+ view->kcfg_HalBackendEnabled->setText( hal_text );
+-#endif
+ view->kcfg_HalBackendEnabled->setEnabled( false );
++#endif
+
+ #ifndef COMPILE_LINUXCDPOLLING
+ QString poll_text = view->kcfg_CdPollingEnabled->text();
+ poll_text += " ("+i18n("No support for CD polling on this system")+")";
+ view->kcfg_CdPollingEnabled->setText( poll_text );
+-#endif
+ view->kcfg_CdPollingEnabled->setEnabled( false );
++#endif
+
+ load();
+ }
+diff -urN kioslave/media/kcmodule/media.desktop kioslave/media/kcmodule/media.desktop
+--- kioslave/media/kcmodule/media.desktop Sat Jul 22 10:15:43 2006
++++ kioslave/media/kcmodule/media.desktop Fri Mar 17 11:17:33 2006
+@@ -14,7 +14,6 @@
+ Name[af]=Stoor Media
+ Name[bg]=Съхраняващи устройства
+ Name[bn]=স্টোরেজ মিডিয়া
+-Name[bs]=Uređaji za smještaj podataka
+ Name[ca]=Suports d'emmagatzematge
+ Name[cs]=Úložná zařízení
+ Name[da]=Opbevaringsmedie
+@@ -31,7 +30,6 @@
+ Name[gl]=Medios de armacenaxe
+ Name[he]=התקנים
+ Name[hi]=भंडार मीडिया
+-Name[hr]=Mediji za pohranjivanje
+ Name[hu]=Tárolóeszköz
+ Name[is]=Geymslumiðlar
+ Name[it]=Dispositivi di archiviazione
+@@ -42,7 +40,7 @@
+ Name[mk]=Медиуми за податоци
+ Name[ms]=Media Storan
+ Name[nb]=Lagringsenheter
+-Name[nds]=Spiekermedien
++Name[nds]=Spiekerreedschappen
+ Name[nl]=Opslagapparaten
+ Name[nn]=Lagringsmedium
+ Name[pa]=ਸਟੋਰੇਜ਼ ਮੀਡਿਆ
+@@ -53,7 +51,6 @@
+ Name[ru]=Устройства хранения данных
+ Name[rw]=Uburyo bwo Kubika
+ Name[se]=Vurkenmedia
+-Name[sk]=Zálohovacie médiá
+ Name[sl]=Nosilci za shranjevanje
+ Name[sr]=Складишни медијуми
+ Name[sr@Latn]=Skladišni medijumi
+@@ -64,7 +61,6 @@
+ Name[tt]=Saqlawlı Media
+ Name[uk]=Пристрої зберігання інформації
+ Name[uz]=Сақлаш ускуналари
+-Name[vi]=Ổ chứa Dữ liệu
+ Name[zh_CN]=存储介质
+ Name[zh_TW]=儲存媒體
+
+@@ -72,7 +68,6 @@
+ Comment[af]=Stel Stoor Media op
+ Comment[bg]=Конфигуриране на устройствата за съхранение на информация
+ Comment[bn]=স্টোরেজ মিডিয়া কনফিগার করুন
+-Comment[bs]=Podesite prikaz uređaja
+ Comment[ca]=Configura els suports d'emmagatzematge
+ Comment[cs]=Nastavení úložných médií
+ Comment[da]=Opsætning af opbevarelsesmedie
+@@ -86,16 +81,15 @@
+ Comment[fy]=Opslachmedia ynstelle
+ Comment[ga]=Cumraigh Meáin Stórála
+ Comment[gl]=Configurar Medios de Armacenaxe
+-Comment[hr]=Konfiguriranje medija za pohranu
+ Comment[hu]=A tárolóeszközök beállítása
+ Comment[is]=Stillingar geymslumiðla
+ Comment[it]=Configura dispositivi di archiviazione
+-Comment[ja]=記憶メディアの設定
++Comment[ja]=ストレージメディアの設定
+ Comment[km]=កំណត់​រចនាសម្ព័ន្ធ​ឧបករណ៍​ផ្ទុក
+ Comment[lt]=Konfigūruoti saugojimo įrenginius
+ Comment[mk]=Конфигурирајте ги медиумите за податоци
+ Comment[nb]=Sett opp lagringsmedier
+-Comment[nds]=Spiekermedien instellen
++Comment[nds]=Spiekerreedschappen instellen
+ Comment[nl]=Opslagmedia instellen
+ Comment[nn]=Set opp lagringsmedium
+ Comment[pa]=ਸਟੋਰੇਜ਼ ਮੀਡਿਆ ਸੰਰਚਨਾ
+@@ -104,7 +98,6 @@
+ Comment[pt_BR]=Configura as mídias de armazenamento
+ Comment[ru]=Настройка подключаемых устройств хранения
+ Comment[se]=Heivet vurkenmediaid
+-Comment[sk]=Nastavenie zálohovacích médií
+ Comment[sl]=Nastavitve nosilcev za shranjevanje
+ Comment[sr]=Подешавање медијума за складиштење
+ Comment[sr@Latn]=Podešavanje medijuma za skladištenje
+@@ -114,13 +107,11 @@
+ Comment[tt]=Saqlaw Cıhazların Caylaw
+ Comment[uk]=Налаштування пристроїв зберігання інформації
+ Comment[uz]=Сақлаш ускуналарни мослаш
+-Comment[vi]=Cấu hình Ổ lưu trữ Dữ liệu
+ Comment[zh_CN]=配置存储介质
+ Comment[zh_TW]=設定儲存媒體
+
+ Keywords=storage,media,usb,cdrom,device
+ Keywords[bg]=съхранение, информация, компактдиск, устройство, данни, storage, media, usb, cdrom, device
+-Keywords[bs]=storage,media,usb,cdrom,device,uređaji,mediji
+ Keywords[ca]=emmagatzematge,suport,usb,cdrom,dispositiu
+ Keywords[cs]=úložiště,média,USB,CDROM,zařízení
+ Keywords[da]=opbevaring,medie,usb,cdrom,enhed
+@@ -134,12 +125,10 @@
+ Keywords[fy]=storage,opslach,media,usb,cd-rom,kompakt-skiif,device,apparaat,mp3-speler,usb-stick,geheugenkaart
+ Keywords[ga]=stóráil,stóras,meáin,meán,usb,cdrom,dlúthdhiosca,gléas
+ Keywords[gl]=armacenaxe,medios,usb,cdrom,dispositivo
+-Keywords[he]=storage,media,usb,cdrom,device,מדיה,התקן,סידירום,תקליטור
+-Keywords[hr]=storage,media,usb,cdrom,device,pohrana,snimanje,mediji,uređaj
+ Keywords[hu]=tároló,adathordozó,USB,CD-ROM,eszköz
+ Keywords[is]=geymsla,miðill,usb,cdrom,tæki
+ Keywords[it]=storage,media,usb,cdrom,dispositivi,dvd,penna usb,memory stick,stick
+-Keywords[ja]=記憶,メディア,usb,cdrom,デバイス
++Keywords[ja]=ストレージ,メディア,usb,cdrom,デバイス
+ Keywords[km]=ឧបករណ៍​ផ្ទុក, usb,ស៊ីឌីរ៉ូម,ឧបករណ៍
+ Keywords[lt]=storage,media,usb,cdrom,device,saugojimas,media,įrenginiai,usb
+ Keywords[mk]=storage,media,usb,cdrom,device,медиуми,усб,цдром,уред
+@@ -161,7 +150,6 @@
+ Keywords[tr]=depolama,ortam,usb,cdrom,device
+ Keywords[uk]=зберігання,носій,медіа,usb,cdrom,пристрій
+ Keywords[uz]=сақлаш ускунаси,usb,cdrom,компакт-диск
+-Keywords[vi]=lưu trữ,ổ,usb,cdrom,thiết bị
+ Keywords[zh_CN]=storage,media,usb,cdrom,device,存储,介质,设备
+ Keywords[zh_TW]=storage,media,usb,cdrom,device,儲存,媒體,光碟機,裝置
+
+diff -urN kioslave/media/kcmodule/notifiermodule.cpp kioslave/media/kcmodule/notifiermodule.cpp
+--- kioslave/media/kcmodule/notifiermodule.cpp Sat Jul 22 10:15:43 2006
++++ kioslave/media/kcmodule/notifiermodule.cpp Mon Oct 10 17:04:00 2005
+@@ -174,8 +174,8 @@
+ ActionListBoxItem *action_item
+ = static_cast<ActionListBoxItem*>(m_view->actionsList->selectedItem());
+
+- NotifierServiceAction * action = dynamic_cast<NotifierServiceAction*>( action_item->action() );
+- if ( action )
++ NotifierServiceAction * action;
++ if ( action = dynamic_cast<NotifierServiceAction*>( action_item->action() ) )
+ {
+ ServiceConfigDialog dialog(action, m_settings.supportedMimetypes(), this);
+
+@@ -195,8 +195,7 @@
+ = static_cast<ActionListBoxItem*>(m_view->actionsList->selectedItem());
+
+ NotifierServiceAction *action;
+- action = dynamic_cast<NotifierServiceAction*>( action_item->action() );
+- if ( action )
++ if ( action = dynamic_cast<NotifierServiceAction*>( action_item->action() ) )
+ {
+ m_settings.deleteAction( action );
+ updateListBox();
+diff -urN kioslave/media/kfile-plugin/Makefile.in kioslave/media/kfile-plugin/Makefile.in
+--- kioslave/media/kfile-plugin/Makefile.in Mon Jul 24 17:56:31 2006
++++ kioslave/media/kfile-plugin/Makefile.in Mon Mar 20 14:05:51 2006
+@@ -248,6 +248,7 @@
+ LIBTOOL = @LIBTOOL@
+ LIBUCB = @LIBUCB@
+ LIBUSBCONFIG = @LIBUSBCONFIG@
++LIBUTEMPTER = @LIBUTEMPTER@
+ LIBUTIL = @LIBUTIL@
+ LIBXDMCP = @LIBXDMCP@
+ LIBXFT_LIB = @LIBXFT_LIB@
+diff -urN kioslave/media/kfile-plugin/kfile_media.desktop kioslave/media/kfile-plugin/kfile_media.desktop
+--- kioslave/media/kfile-plugin/kfile_media.desktop Sat Jul 22 10:15:42 2006
++++ kioslave/media/kfile-plugin/kfile_media.desktop Fri Mar 17 11:17:33 2006
+@@ -6,11 +6,10 @@
+ Name[az]=Mediyum Mə'lumatı
+ Name[bg]=Информация за устройствата
+ Name[bn]=মিডিয়া তথ্য
+-Name[bs]=Informacije o mediju
+ Name[ca]=Informació de suports
+ Name[cs]=Informace o médiu
+ Name[da]=Medieinformation
+-Name[de]=Medium-Information
++Name[de]=Medien-Information
+ Name[el]=Πληροφορίες μέσου
+ Name[eo]=Konservejaj informoj
+ Name[es]=Información de recursos
+@@ -23,7 +22,6 @@
+ Name[gl]=Informazón do Meio
+ Name[he]=מידע אודות המדיה
+ Name[hi]=माध्यम जानकारी
+-Name[hr]=Podaci o mediju
+ Name[hu]=Adathordozó-jellemzők
+ Name[is]=Upplýsingar um miðil
+ Name[it]=Informazioni supporto
+@@ -46,7 +44,6 @@
+ Name[ru]=Сведения о носителе
+ Name[rw]=Amakuru y'igitangazamakuru
+ Name[se]=Mediumdieđut
+-Name[sk]=Informácie o médiu
+ Name[sl]=Informacije o mediju
+ Name[sr]=Информације о медијуму
+ Name[sr@Latn]=Informacije o medijumu
+@@ -55,11 +52,10 @@
+ Name[th]=ข้อมูลของสื่อ
+ Name[tr]=Ortam Bilgisi
+ Name[tt]=Media Turında
+-Name[uk]=Інформація про носій
++Name[uk]=Інформація про носій інформації
+ Name[uz]=Сақлаш ускуна ҳақида маълумот
+-Name[vi]=Thông tin về Ổ lưu trữ
+ Name[zh_CN]=介质信息
+ Name[zh_TW]=媒體資訊
+ ServiceTypes=KFilePlugin
+ X-KDE-Library=kfile_media
+-MimeType=media/audiocd;media/hdd_mounted;media/blankcd;media/hdd_unmounted;media/blankdvd;media/cdrom_mounted;media/cdrom_unmounted;media/cdwriter_mounted;media/nfs_mounted;media/cdwriter_unmounted;media/nfs_unmounted;media/removable_mounted;media/dvd_mounted;media/removable_unmounted;media/dvd_unmounted;media/smb_mounted;media/dvdvideo;media/smb_unmounted;media/floppy5_mounted;media/svcd;media/floppy5_unmounted;media/vcd;media/floppy_mounted;media/zip_mounted;media/floppy_unmounted;media/zip_unmounted;media/gphoto2camera,media/camera_mounted,media/camera_unmounted
++MimeType=media/audiocd;media/hdd_mounted;media/blankcd;media/hdd_unmounted;media/blankdvd;media/cdrom_mounted;media/cdrom_unmounted;media/cdwriter_mounted;media/nfs_mounted;media/cdwriter_unmounted;media/nfs_unmounted;media/removable_mounted;media/dvd_mounted;media/removable_unmounted;media/dvd_unmounted;media/smb_mounted;media/dvdvideo;media/smb_unmounted;media/floppy5_mounted;media/svcd;media/floppy5_unmounted;media/vcd;media/floppy_mounted;media/zip_mounted;media/floppy_unmounted;media/zip_unmounted;media/gphoto2camera
+diff -urN kioslave/media/kfile-plugin/kfilemediaplugin.cpp kioslave/media/kfile-plugin/kfilemediaplugin.cpp
+--- kioslave/media/kfile-plugin/kfilemediaplugin.cpp Sat Jul 22 10:15:42 2006
++++ kioslave/media/kfile-plugin/kfilemediaplugin.cpp Tue Nov 8 23:36:07 2005
+@@ -64,16 +64,12 @@
+ addMimeType( "media/floppy_unmounted" );
+ addMimeType( "media/zip_unmounted" );
+ addMimeType( "media/gphoto2camera" );
+- addMimeType( "media/camera_mounted" );
+- addMimeType( "media/camera_unmounted" );
+ }
+
+ bool KFileMediaPlugin::readInfo(KFileMetaInfo &info, uint /*what*/)
+ {
+- const Medium medium = askMedium(info);
++ const Medium medium = askMedium(info);
+
+- kdDebug() << "KFileMediaPlugin::readInfo " << medium.id() << endl;
+-
+ if (medium.id().isNull()) return false;
+
+ QString mount_point = medium.mountPoint();
+@@ -165,8 +161,7 @@
+ const Medium KFileMediaPlugin::askMedium(KFileMetaInfo &info)
+ {
+ DCOPRef mediamanager("kded", "mediamanager");
+- kdDebug() << "properties " << info.url() << endl;
+- DCOPReply reply = mediamanager.call( "properties", info.url().url() );
++ DCOPReply reply = mediamanager.call( "properties", info.url().fileName() );
+
+ if ( !reply.isValid() )
+ {
+diff -urN kioslave/media/libmediacommon/Makefile.in kioslave/media/libmediacommon/Makefile.in
+--- kioslave/media/libmediacommon/Makefile.in Mon Jul 24 17:56:31 2006
++++ kioslave/media/libmediacommon/Makefile.in Mon Mar 20 14:05:51 2006
+@@ -250,6 +250,7 @@
+ LIBTOOL = @LIBTOOL@
+ LIBUCB = @LIBUCB@
+ LIBUSBCONFIG = @LIBUSBCONFIG@
++LIBUTEMPTER = @LIBUTEMPTER@
+ LIBUTIL = @LIBUTIL@
+ LIBXDMCP = @LIBXDMCP@
+ LIBXFT_LIB = @LIBXFT_LIB@
+diff -urN kioslave/media/libmediacommon/medium.cpp kioslave/media/libmediacommon/medium.cpp
+--- kioslave/media/libmediacommon/medium.cpp Sat Jul 22 10:15:42 2006
++++ kioslave/media/libmediacommon/medium.cpp Mon Oct 10 17:04:00 2005
+@@ -40,8 +40,6 @@
+ m_properties+= QString::null; /* ICON_NAME */
+
+ loadUserLabel();
+-
+- m_halmounted = false;
+ }
+
+ Medium::Medium()
+@@ -59,8 +57,6 @@
+ m_properties+= QString::null; /* BASE_URL */
+ m_properties+= QString::null; /* MIME_TYPE */
+ m_properties+= QString::null; /* ICON_NAME */
+-
+- m_halmounted = false;
+ }
+
+ const Medium Medium::create(const QStringList &properties)
+@@ -163,7 +159,7 @@
+ bool Medium::mountableState(bool mounted)
+ {
+ if ( m_properties[DEVICE_NODE].isEmpty()
+- || ( mounted && m_properties[MOUNT_POINT].isEmpty() ) )
++ || m_properties[MOUNT_POINT].isEmpty() )
+ {
+ return false;
+ }
+@@ -208,10 +204,14 @@
+
+ KURL Medium::prettyBaseURL() const
+ {
+- if ( !baseURL().isEmpty() )
+- return baseURL();
+-
++ if ( isMountable() )
++ {
+ return KURL( mountPoint() );
++ }
++ else
++ {
++ return KURL( baseURL() );
++ }
+ }
+
+ QString Medium::prettyLabel() const
+diff -urN kioslave/media/libmediacommon/medium.h kioslave/media/libmediacommon/medium.h
+--- kioslave/media/libmediacommon/medium.h Sat Jul 22 10:15:42 2006
++++ kioslave/media/libmediacommon/medium.h Mon Oct 10 17:04:00 2005
+@@ -22,7 +22,6 @@
+ #include <qstring.h>
+ #include <qstringlist.h>
+ #include <kurl.h>
+-#include <qmap.h>
+
+ class Medium
+ {
+@@ -79,32 +78,14 @@
+
+ void setMimeType(const QString &mimeType);
+ void setIconName(const QString &iconName);
+- void setHalMounted(bool flag) const { m_halmounted = flag; }
+- bool halMounted() const { return m_halmounted; }
+
+ private:
+ Medium();
+ void loadUserLabel();
+
+ QStringList m_properties;
+- mutable bool m_halmounted;
+-
++
+ friend class QValueListNode<const Medium>;
+ };
+-
+-namespace MediaManagerUtils {
+- static inline QMap<QString,QString> splitOptions(const QStringList & options)
+- {
+- QMap<QString,QString> valids;
+-
+- for (QStringList::ConstIterator it = options.begin(); it != options.end(); ++it)
+- {
+- QString key = (*it).left((*it).find('='));
+- QString value = (*it).mid((*it).find('=') + 1);
+- valids[key] = value;
+- }
+- return valids;
+- }
+-}
+
+ #endif
+diff -urN kioslave/media/mediaimpl.cpp kioslave/media/mediaimpl.cpp
+--- kioslave/media/mediaimpl.cpp Sat Jul 22 10:15:45 2006
++++ kioslave/media/mediaimpl.cpp Mon Oct 10 17:04:01 2005
+@@ -226,8 +226,6 @@
+
+ mp_mounting = &medium;
+
+-
+- /*
+ KIO::Job* job = KIO::mount(false, 0,
+ medium.deviceNode(),
+ medium.mountPoint());
+@@ -236,7 +234,6 @@
+ this, SLOT( slotMountResult( KIO::Job * ) ) );
+ connect( job, SIGNAL( warning( KIO::Job *, const QString & ) ),
+ this, SLOT( slotWarning( KIO::Job *, const QString & ) ) );
+- */
+ kapp->dcopClient()
+ ->connectDCOPSignal("kded", "mediamanager",
+ "mediumChanged(QString, bool)",
+@@ -244,17 +241,7 @@
+ "slotMediumChanged(QString)",
+ false);
+
+- DCOPRef mediamanager("kded", "mediamanager");
+- DCOPReply reply = mediamanager.call( "mount", medium.id());
+- if (reply.isValid())
+- reply.get(m_lastErrorMessage);
+- else
+- m_lastErrorMessage = i18n("Internal Error");
+- if (!m_lastErrorMessage.isEmpty())
+- m_lastErrorCode = KIO::ERR_SLAVE_DEFINED;
+- else {
+- qApp->eventLoop()->enterLoop();
+- }
++ qApp->eventLoop()->enterLoop();
+
+ mp_mounting = 0L;
+
+diff -urN kioslave/media/mediamanager/Makefile.in kioslave/media/mediamanager/Makefile.in
+--- kioslave/media/mediamanager/Makefile.in Mon Jul 24 17:56:31 2006
++++ kioslave/media/mediamanager/Makefile.in Mon Mar 20 14:05:53 2006
+@@ -284,6 +284,7 @@
+ LIBTOOL = @LIBTOOL@
+ LIBUCB = @LIBUCB@
+ LIBUSBCONFIG = @LIBUSBCONFIG@
++LIBUTEMPTER = @LIBUTEMPTER@
+ LIBUTIL = @LIBUTIL@
+ LIBXDMCP = @LIBXDMCP@
+ LIBXFT_LIB = @LIBXFT_LIB@
+diff -urN kioslave/media/mediamanager/fstabbackend.cpp kioslave/media/mediamanager/fstabbackend.cpp
+--- kioslave/media/mediamanager/fstabbackend.cpp Sat Jul 22 10:15:45 2006
++++ kioslave/media/mediamanager/fstabbackend.cpp Fri Mar 17 11:17:33 2006
+@@ -111,7 +111,6 @@
+ if ( mount->mountType() == "swap"
+ || mount->mountType() == "tmpfs"
+ || mount->mountType() == "sysfs"
+- || mount->mountType() == "fdescfs"
+ || mount->mountType() == "kernfs"
+ || mount->mountType() == "usbfs"
+ || mount->mountType().contains( "proc" )
+@@ -159,23 +158,14 @@
+
+ if ( ::inExclusionPattern(*it, m_networkSharesOnly) ) continue;
+
+- /* Did we know this already before ? If yes, then
+- nothing has changed, do not stat the mount point. Avoids
+- hang if network shares are stalling */
+- QString mtabEntry = dev + "*" + mp + "*" + fs;
+- if(m_mtabEntries.contains(mtabEntry)) {
+- new_mtabIds += m_mtabEntries[mtabEntry];
+- continue;
+- }
+-
+ QString id = generateId(dev, mp);
+ new_mtabIds+=id;
+- m_mtabEntries[mtabEntry] = id;
+
+ if ( !m_mtabIds.contains(id) && m_fstabIds.contains(id) )
+ {
+ QString mime, icon, label;
+ guess(dev, mp, fs, true, mime, icon, label);
++
+ m_mediaList.changeMediumState(id, true, false,
+ mime, icon, label);
+ }
+@@ -212,10 +202,6 @@
+ QString dev = medium->deviceNode();
+ QString mp = medium->mountPoint();
+ QString fs = medium->fsType();
+-
+-
+- QString mtabEntry = dev + "*" + mp + "*" + fs;
+- m_mtabEntries.remove(mtabEntry);
+
+ QString mime, icon, label;
+ guess(dev, mp, fs, false, mime, icon, label);
+diff -urN kioslave/media/mediamanager/fstabbackend.h kioslave/media/mediamanager/fstabbackend.h
+--- kioslave/media/mediamanager/fstabbackend.h Sat Jul 22 10:15:45 2006
++++ kioslave/media/mediamanager/fstabbackend.h Mon Oct 10 17:04:01 2005
+@@ -23,7 +23,6 @@
+
+ #include <qobject.h>
+ #include <qstringlist.h>
+-#include <qmap.h>
+
+ #ifdef Q_OS_FREEBSD
+ #include <qtimer.h>
+@@ -54,7 +53,6 @@
+
+ bool m_networkSharesOnly;
+ QStringList m_mtabIds;
+- QMap<QString, QString> m_mtabEntries;
+ QStringList m_fstabIds;
+ #ifdef Q_OS_FREEBSD
+ QTimer m_mtabTimer;
+diff -urN kioslave/media/mediamanager/halbackend.cpp kioslave/media/mediamanager/halbackend.cpp
+--- kioslave/media/mediamanager/halbackend.cpp Sat Jul 22 10:15:45 2006
++++ kioslave/media/mediamanager/halbackend.cpp Thu Jan 19 18:00:58 2006
+@@ -21,16 +21,9 @@
+
+ #include <stdlib.h>
+
+-#include <qfile.h>
+ #include <klocale.h>
+ #include <kurl.h>
+ #include <kdebug.h>
+-#include <kprocess.h>
+-#include <kconfig.h>
+-#include <qstylesheet.h>
+-#include <kmountpoint.h>
+-#include <kmessagebox.h>
+-#include <kio/job.h>
+
+ #define MOUNT_SUFFIX (libhal_volume_is_mounted(halVolume) ? QString("_mounted") : QString("_unmounted"))
+ #define MOUNT_ICON_SUFFIX (libhal_volume_is_mounted(halVolume) ? QString("_mount") : QString("_unmount"))
+@@ -39,1169 +32,615 @@
+ static HALBackend* s_HALBackend;
+
+ /* A macro function to convert HAL string properties to QString */
+-QString libhal_device_get_property_QString(LibHalContext *ctx, const char* udi, const char *key)
++QString hal_device_get_property_QString(LibHalContext *ctx, const char* udi, const char *key)
+ {
+- char* _ppt_string;
+- QString _ppt_QString;
+- _ppt_string = libhal_device_get_property_string(ctx, udi, key, NULL);
+- _ppt_QString = QString(_ppt_string ? _ppt_string : "");
+- libhal_free_string(_ppt_string);
+- return _ppt_QString;
++ char* _ppt_string;
++ QString _ppt_QString;
++ _ppt_string = libhal_device_get_property_string(ctx, udi, key, NULL);
++ _ppt_QString = QString(_ppt_string ? _ppt_string : "");
++ libhal_free_string(_ppt_string);
++ return _ppt_QString;
+ }
+
+ /* Constructor */
+ HALBackend::HALBackend(MediaList &list, QObject* parent)
+- : QObject()
+- , BackendBase(list)
+- , m_halContext(NULL)
+- , m_halStoragePolicy(NULL)
+- , m_parent(parent)
++ : QObject()
++ , BackendBase(list)
++ , m_halContext(NULL)
++ , m_halStoragePolicy(NULL)
++ , m_parent(parent)
+ {
+- s_HALBackend = this;
++ s_HALBackend = this;
+ }
+
+ /* Destructor */
+ HALBackend::~HALBackend()
+ {
+- /* Close HAL connection */
+- if (m_halContext)
+- {
+- const QPtrList<Medium> medlist = m_mediaList.list();
+- QPtrListIterator<Medium> it (medlist);
+- for ( const Medium *current_medium = it.current(); current_medium; current_medium = ++it)
+- unmount(current_medium->id());
+-
+-
+- /* Remove all the registered media first */
+- int numDevices;
+- char** halDeviceList = libhal_get_all_devices( m_halContext, &numDevices, NULL );
+-
+- if ( halDeviceList )
+- {
+- for ( int i = 0; i < numDevices; i++ )
+- {
+- m_mediaList.removeMedium( halDeviceList[i], false );
+- }
+- }
+-
+- libhal_free_string_array( halDeviceList );
+-
+- DBusError error;
+- dbus_error_init(&error);
+- libhal_ctx_shutdown(m_halContext, &error);
+- libhal_ctx_free(m_halContext);
+- }
+-
+- if (m_halStoragePolicy)
+- libhal_storage_policy_free(m_halStoragePolicy);
++ /* Close HAL connection */
++ if (m_halContext)
++ {
++ /* Remove all the registered media first */
++ int numDevices;
++ char** halDeviceList = libhal_get_all_devices( m_halContext, &numDevices, NULL );
++
++ if ( halDeviceList )
++ {
++ for ( int i = 0; i < numDevices; i++ )
++ {
++ m_mediaList.removeMedium( halDeviceList[i], false );
++ }
++ }
++
++ #ifdef HAL_0_4
++ hal_shutdown(m_halContext);
++ #else
++ libhal_ctx_shutdown(m_halContext, NULL);
++ libhal_ctx_free(m_halContext);
++ #endif
++ }
++
++ if (m_halStoragePolicy)
++ libhal_storage_policy_free(m_halStoragePolicy);
+ }
+
+ /* Connect to the HAL */
+ bool HALBackend::InitHal()
+ {
+- kdDebug(1219) << "Context new" << endl;
+- m_halContext = libhal_ctx_new();
+- if (!m_halContext)
+- {
+- kdDebug(1219) << "Failed to initialize HAL!" << endl;
+- return false;
+- }
+-
+- // Main loop integration
+- kdDebug(1219) << "Main loop integration" << endl;
+- DBusError error;
+- dbus_error_init(&error);
+- dbus_connection = dbus_connection_open_private(DBUS_SYSTEM_BUS, &error);
+- dbus_bus_register(dbus_connection, &error);
+-
+- if (dbus_error_is_set(&error)) {
+- dbus_error_free(&error);
+- libhal_ctx_free(m_halContext);
+- m_halContext = NULL;
+- return false;
+- }
+- MainLoopIntegration(dbus_connection);
+- libhal_ctx_set_dbus_connection(m_halContext, dbus_connection);
+-
+- // HAL callback functions
+- kdDebug(1219) << "Callback functions" << endl;
+- libhal_ctx_set_device_added(m_halContext, HALBackend::hal_device_added);
+- libhal_ctx_set_device_removed(m_halContext, HALBackend::hal_device_removed);
+- libhal_ctx_set_device_new_capability (m_halContext, NULL);
+- libhal_ctx_set_device_lost_capability (m_halContext, NULL);
+- libhal_ctx_set_device_property_modified (m_halContext, HALBackend::hal_device_property_modified);
+- libhal_ctx_set_device_condition(m_halContext, HALBackend::hal_device_condition);
+-
+- kdDebug(1219) << "Context Init" << endl;
+- if (!libhal_ctx_init(m_halContext, &error))
+- {
+- if (dbus_error_is_set(&error))
+- dbus_error_free(&error);
+- libhal_ctx_free(m_halContext);
+- m_halContext = NULL;
+- kdDebug(1219) << "Failed to init HAL context!" << endl;
+- return false;
+- }
+-
+- /** @todo customize watch policy */
+- kdDebug(1219) << "Watch properties" << endl;
+- if (!libhal_device_property_watch_all(m_halContext, &error))
+- {
+- kdDebug(1219) << "Failed to watch HAL properties!" << endl;
+- return false;
+- }
+-
+- /* libhal-storage initialization */
+- kdDebug(1219) << "Storage Policy" << endl;
+- m_halStoragePolicy = libhal_storage_policy_new();
+- /** @todo define libhal-storage icon policy */
++#ifdef HAL_0_4 /* HAL API 0.4 */
++ /* libhal initialization */
++ m_halFunctions.main_loop_integration = HALBackend::hal_main_loop_integration;
++ m_halFunctions.device_added = HALBackend::hal_device_added;
++ m_halFunctions.device_removed = HALBackend::hal_device_removed;
++ m_halFunctions.device_new_capability = NULL;
++ m_halFunctions.device_lost_capability = NULL;
++ m_halFunctions.device_property_modified = HALBackend::hal_device_property_modified;
++ m_halFunctions.device_condition = HALBackend::hal_device_condition;
++
++ m_halContext = hal_initialize(&m_halFunctions, false);
++ if (!m_halContext)
++ {
++ kdDebug(1219) << "Failed to initialize HAL!" << endl;
++ return false;
++ }
++
++ /** @todo customize watch policy */
++ kdDebug(1219) << "Watch properties" << endl;
++ if (libhal_device_property_watch_all(m_halContext, NULL))
++ {
++ kdDebug(1219) << "Failed to watch HAL properties!" << endl;
++ return false;
++ }
++#else /* HAL API >= 0.5 */
++ kdDebug(1219) << "Context new" << endl;
++ m_halContext = libhal_ctx_new();
++ if (!m_halContext)
++ {
++ kdDebug(1219) << "Failed to initialize HAL!" << endl;
++ return false;
++ }
++
++ // Main loop integration
++ kdDebug(1219) << "Main loop integration" << endl;
++ DBusError error;
++ dbus_error_init(&error);
++ DBusConnection *dbus_connection = dbus_bus_get(DBUS_BUS_SYSTEM, &error);
++ if (dbus_error_is_set(&error)) {
++ dbus_error_free(&error);
++ libhal_ctx_free(m_halContext);
++ m_halContext = NULL;
++ return false;
++ }
++ MainLoopIntegration(dbus_connection);
++ libhal_ctx_set_dbus_connection(m_halContext, dbus_connection);
++
++ // HAL callback functions
++ kdDebug(1219) << "Callback functions" << endl;
++ libhal_ctx_set_device_added(m_halContext, HALBackend::hal_device_added);
++ libhal_ctx_set_device_removed(m_halContext, HALBackend::hal_device_removed);
++ libhal_ctx_set_device_new_capability (m_halContext, NULL);
++ libhal_ctx_set_device_lost_capability (m_halContext, NULL);
++ libhal_ctx_set_device_property_modified (m_halContext, HALBackend::hal_device_property_modified);
++ libhal_ctx_set_device_condition(m_halContext, HALBackend::hal_device_condition);
+
+- /* List devices at startup */
+- return ListDevices();
++ kdDebug(1219) << "Context Init" << endl;
++ if (!libhal_ctx_init(m_halContext, &error))
++ {
++ if (dbus_error_is_set(&error))
++ dbus_error_free(&error);
++ libhal_ctx_free(m_halContext);
++ m_halContext = NULL;
++ kdDebug(1219) << "Failed to init HAL context!" << endl;
++ return false;
++ }
++
++ /** @todo customize watch policy */
++ kdDebug(1219) << "Watch properties" << endl;
++ if (!libhal_device_property_watch_all(m_halContext, &error))
++ {
++ kdDebug(1219) << "Failed to watch HAL properties!" << endl;
++ return false;
++ }
++#endif
++
++ /* libhal-storage initialization */
++ kdDebug(1219) << "Storage Policy" << endl;
++ m_halStoragePolicy = libhal_storage_policy_new();
++ /** @todo define libhal-storage icon policy */
++
++ /* List devices at startup */
++ return ListDevices();
+ }
+
+ /* List devices (at startup)*/
+ bool HALBackend::ListDevices()
+ {
+- kdDebug(1219) << "ListDevices" << endl;
++ kdDebug(1219) << "ListDevices" << endl;
+
+- int numDevices;
+- char** halDeviceList = libhal_get_all_devices(m_halContext, &numDevices, NULL);
++ int numDevices;
++ char** halDeviceList = libhal_get_all_devices(m_halContext, &numDevices, NULL);
+
+- if (!halDeviceList)
+- return false;
++ if (!halDeviceList)
++ return false;
+
+- kdDebug(1219) << "HALBackend::ListDevices : " << numDevices << " devices found" << endl;
+- for (int i = 0; i < numDevices; i++)
+- AddDevice(halDeviceList[i], false);
++ kdDebug(1219) << "HALBackend::ListDevices : " << numDevices << " devices found" << endl;
++ for (int i = 0; i < numDevices; i++)
++ AddDevice(halDeviceList[i], false);
+
+- libhal_free_string_array( halDeviceList );
+-
+- return true;
++ return true;
+ }
+
+ /* Create a media instance for the HAL device "udi".
+- This functions checks whether the device is worth listing */
++This functions checks whether the device is worth listing */
+ void HALBackend::AddDevice(const char *udi, bool allowNotification)
+ {
+- /* We don't deal with devices that do not expose their capabilities.
+- If we don't check this, we will get a lot of warning messages from libhal */
+- if (!libhal_device_property_exists(m_halContext, udi, "info.capabilities", NULL))
+- return;
+-
+- /* If the device is already listed, do not process.
+- This should not happen, but who knows... */
+- /** @todo : refresh properties instead ? */
+- if (m_mediaList.findById(udi))
+- return;
+-
+- if (libhal_device_get_property_bool(m_halContext, "/org/freedesktop/Hal/devices/computer", "storage.disable_volume_handling", NULL))
+- allowNotification=false;
+-
+- /* Add volume block devices */
+- if (libhal_device_query_capability(m_halContext, udi, "volume", NULL))
+- {
+- /* We only list volume that have a filesystem or volume that have an audio track*/
+- if ( libhal_device_get_property_QString(m_halContext, udi, "volume.fsusage") != "filesystem" &&
+- !libhal_device_get_property_bool(m_halContext, udi, "volume.disc.has_audio", NULL) &&
+- !libhal_device_get_property_bool(m_halContext, udi, "volume.disc.is_blank", NULL) )
+- return;
+-
+- if ( ( libhal_device_get_property_QString(m_halContext, udi, "volume.fsusage") == "filesystem" &&
+- !libhal_device_get_property_bool(m_halContext, udi, "volume.is_mounted", NULL ) ) &&
+- ( libhal_device_get_property_bool(m_halContext, udi, "volume.ignore", NULL ) ) )
+- return;
+-
+- /* Query drive udi */
+- QString driveUdi = libhal_device_get_property_QString(m_halContext, udi, "block.storage_device");
+- /* We don't list floppy volumes because we list floppy drives */
+- if ((libhal_device_get_property_QString(m_halContext, driveUdi.ascii(), "storage.drive_type") == "floppy") ||
+- (libhal_device_get_property_QString(m_halContext, driveUdi.ascii(), "storage.drive_type") == "zip") ||
+- (libhal_device_get_property_QString(m_halContext, driveUdi.ascii(), "storage.drive_type") == "jaz"))
+- return;
+-
+- // if the device is locked do not act upon it
+- if (libhal_device_get_property_bool(m_halContext, driveUdi.ascii(), "info.locked", NULL))
+- allowNotification=false;
+-
+- // if the device is locked do not act upon it
+- if (libhal_device_get_property_bool(m_halContext, driveUdi.ascii(), "storage.partition_table_changed", NULL))
+- allowNotification=false;
+-
+- /** @todo check exclusion list **/
+-
+- /* Create medium */
+- Medium* medium = new Medium(udi, "");
+-
+- QMap<QString,QString> options = MediaManagerUtils::splitOptions(mountoptions(udi));
+- kdDebug() << "automount " << options["automount"] << endl;
+- if (options["automount"] == "true" && allowNotification ) {
+- QString error = mount(medium);
+- if (!error.isEmpty())
+- kdDebug() << "error " << error << endl;
+- }
+- setVolumeProperties(medium);
+- m_mediaList.addMedium(medium, allowNotification);
+-
+- return;
+- }
+-
+- /* Floppy & zip drives */
+- if (libhal_device_query_capability(m_halContext, udi, "storage", NULL))
+- if ((libhal_device_get_property_QString(m_halContext, udi, "storage.drive_type") == "floppy") ||
+- (libhal_device_get_property_QString(m_halContext, udi, "storage.drive_type") == "zip") ||
+- (libhal_device_get_property_QString(m_halContext, udi, "storage.drive_type") == "jaz"))
+- {
+- /* Create medium */
+- Medium* medium = new Medium(udi, "");
+- setFloppyProperties(medium);
+- m_mediaList.addMedium(medium, allowNotification);
+- return;
+- }
+-
+- /* Camera handled by gphoto2*/
+- if (libhal_device_query_capability(m_halContext, udi, "camera", NULL) &&
+- ((libhal_device_get_property_QString(m_halContext, udi, "camera.access_method")=="ptp") ||
+-
+- (libhal_device_property_exists(m_halContext, udi, "camera.libgphoto2.support", NULL) &&
+- libhal_device_get_property_bool(m_halContext, udi, "camera.libgphoto2.support", NULL)))
+- )
+- {
+- /* Create medium */
+- Medium* medium = new Medium(udi, "");
+- setCameraProperties(medium);
+- m_mediaList.addMedium(medium, allowNotification);
+- return;
+- }
++ /* We don't deal with devices that do not expose their capabilities.
++ If we don't check this, we will get a lot of warning messages from libhal */
++ if (!libhal_device_property_exists(m_halContext, udi, "info.capabilities", NULL))
++ return;
++
++ /* If the device is already listed, do not process.
++ This should not happen, but who knows... */
++ /** @todo : refresh properties instead ? */
++ if (m_mediaList.findById(udi))
++ return;
++
++ /* Add volume block devices */
++ if (libhal_device_query_capability(m_halContext, udi, "volume", NULL))
++ {
++ /* We only list volume that have a filesystem or volume that have an audio track*/
++ if ( (hal_device_get_property_QString(m_halContext, udi, "volume.fsusage") != "filesystem") &&
++ (!libhal_device_get_property_bool(m_halContext, udi, "volume.disc.has_audio", NULL)) &&
++ (!libhal_device_get_property_bool(m_halContext, udi, "volume.disc.is_blank", NULL)) )
++ return;
++ /* Query drive udi */
++ QString driveUdi = hal_device_get_property_QString(m_halContext, udi, "block.storage_device");
++ /* We don't list floppy volumes because we list floppy drives */
++ if ((hal_device_get_property_QString(m_halContext, driveUdi.ascii(), "storage.drive_type") == "floppy") ||
++ (hal_device_get_property_QString(m_halContext, driveUdi.ascii(), "storage.drive_type") == "zip") ||
++ (hal_device_get_property_QString(m_halContext, driveUdi.ascii(), "storage.drive_type") == "jaz"))
++ return;
++
++ /** @todo check exclusion list **/
++
++ /* Create medium */
++ Medium* medium = new Medium(udi, "");
++ setVolumeProperties(medium);
++ m_mediaList.addMedium(medium, allowNotification);
++
++ return;
++ }
++
++ /* Floppy & zip drives */
++ if (libhal_device_query_capability(m_halContext, udi, "storage", NULL))
++ if ((hal_device_get_property_QString(m_halContext, udi, "storage.drive_type") == "floppy") ||
++ (hal_device_get_property_QString(m_halContext, udi, "storage.drive_type") == "zip") ||
++ (hal_device_get_property_QString(m_halContext, udi, "storage.drive_type") == "jaz"))
++ {
++ /* Create medium */
++ Medium* medium = new Medium(udi, "");
++ setFloppyProperties(medium);
++ m_mediaList.addMedium(medium, allowNotification);
++ return;
++ }
++
++ /* Camera handled by gphoto2*/
++ if (libhal_device_query_capability(m_halContext, udi, "camera", NULL) &&
++#ifdef HAL_0_4
++ libhal_device_property_exists(m_halContext, udi, "camera.libgphoto2_support", NULL) &&
++ libhal_device_get_property_bool(m_halContext, udi, "camera.libgphoto2_support", NULL)
++#else
++ ((hal_device_get_property_QString(m_halContext, udi, "camera.access_method")=="ptp") ||
++
++ (libhal_device_property_exists(m_halContext, udi, "camera.libgphoto2.support", NULL) &&
++ libhal_device_get_property_bool(m_halContext, udi, "camera.libgphoto2.support", NULL)))
++#endif
++ )
++ {
++ /* Create medium */
++ Medium* medium = new Medium(udi, "");
++ setCameraProperties(medium);
++ m_mediaList.addMedium(medium, allowNotification);
++ return;
++ }
+ }
+
+ void HALBackend::RemoveDevice(const char *udi)
+ {
+- m_mediaList.removeMedium(udi, true);
++ m_mediaList.removeMedium(udi, true);
+ }
+
+ void HALBackend::ModifyDevice(const char *udi, const char* key)
+ {
+- Q_UNUSED(key);
+- const char* mediumUdi = findMediumUdiFromUdi(udi);
+- if (!mediumUdi)
+- return;
+- ResetProperties(mediumUdi);
++ Q_UNUSED(key);
++ const char* mediumUdi = findMediumUdiFromUdi(udi);
++ if (!mediumUdi)
++ return;
++ ResetProperties(mediumUdi);
+ }
+
+ void HALBackend::DeviceCondition(const char* udi, const char* condition)
+ {
+- QString conditionName = QString(condition);
+- kdDebug(1219) << "Processing device condition " << conditionName << " for " << udi << endl;
+-
+- if (conditionName == "EjectPressed") {
+- const Medium* medium = m_mediaList.findById(udi);
+- if (!medium) {
+- /* the ejectpressed appears on the drive and we need to find the volume */
+- const QPtrList<Medium> medlist = m_mediaList.list();
+- QPtrListIterator<Medium> it (medlist);
+- for ( const Medium *current_medium = it.current(); current_medium; current_medium = ++it)
+- {
+- QString driveUdi = libhal_device_get_property_QString(m_halContext, current_medium->id().latin1(), "block.storage_device");
+- if (driveUdi == udi)
+- {
+- medium = current_medium;
+- break;
+- }
+- }
+- }
+- if (medium) {
+- KProcess p;
+- p << "kio_media_mounthelper" << "-e" << medium->name();
+- p.start(KProcess::DontCare);
+- }
+- }
+-
+- const char* mediumUdi = findMediumUdiFromUdi(udi);
+- kdDebug() << "findMedumUdiFromUdi " << udi << " returned " << mediumUdi << endl;
+- if (!mediumUdi)
+- return;
+-
+- /* TODO: Warn the user that (s)he should unmount devices before unplugging */
+- if (conditionName == "VolumeUnmountForced")
+- ResetProperties(mediumUdi);
+-
+- /* Reset properties after mounting */
+- if (conditionName == "VolumeMount")
+- ResetProperties(mediumUdi);
+-
+- /* Reset properties after unmounting */
+- if (conditionName == "VolumeUnmount")
+- ResetProperties(mediumUdi);
+-
++ const char* mediumUdi = findMediumUdiFromUdi(udi);
++ if (!mediumUdi)
++ return;
++
++ QString conditionName = QString(condition);
++ kdDebug(1219) << "Processing device condition " << conditionName << " for " << udi << endl;
++
++ /* TODO: Warn the user that (s)he should unmount devices before unplugging */
++ if (conditionName == "VolumeUnmountForced")
++ ResetProperties(mediumUdi);
++
++ /* Reset properties after mounting */
++ if (conditionName == "VolumeMount")
++ ResetProperties(mediumUdi);
++
++ /* Reset properties after unmounting */
++ if (conditionName == "VolumeUnmount")
++ ResetProperties(mediumUdi);
+ }
+
+ void HALBackend::MainLoopIntegration(DBusConnection *dbusConnection)
+ {
+- m_dBusQtConnection = new DBusQt::Connection(m_parent);
+- m_dBusQtConnection->dbus_connection_setup_with_qt_main(dbusConnection);
++ m_dBusQtConnection = new DBusQt::Connection(m_parent);
++ m_dBusQtConnection->dbus_connection_setup_with_qt_main(dbusConnection);
+ }
+
+ /******************************************
+- ** Properties attribution **
+- ******************************************/
++** Properties attribution **
++******************************************/
+
+ /* Return the medium udi that should be updated when recieving a call for
+- device udi */
++device udi */
+ const char* HALBackend::findMediumUdiFromUdi(const char* udi)
+ {
+- /* Easy part : this Udi is already registered as a device */
+- const Medium* medium = m_mediaList.findById(udi);
+- if (medium)
+- return medium->id().ascii();
+-
+- /* Hard part : this is a volume whose drive is registered */
+- if (libhal_device_property_exists(m_halContext, udi, "info.capabilities", NULL))
+- if (libhal_device_query_capability(m_halContext, udi, "volume", NULL))
+- {
+- QString driveUdi = libhal_device_get_property_QString(m_halContext, udi, "block.storage_device");
+- return findMediumUdiFromUdi(driveUdi.ascii());
+- }
++ /* Easy part : this Udi is already registered as a device */
++ const Medium* medium = m_mediaList.findById(udi);
++ if (medium)
++ return medium->id().ascii();
++
++ /* Hard part : this is a volume whose drive is registered */
++ if (libhal_device_property_exists(m_halContext, udi, "info.capabilities", NULL))
++ if (libhal_device_query_capability(m_halContext, udi, "volume", NULL))
++ {
++ QString driveUdi = hal_device_get_property_QString(m_halContext, udi, "block.storage_device");
++ return findMediumUdiFromUdi(driveUdi.ascii());
++ }
+
+- return NULL;
++ return NULL;
+ }
+
+ void HALBackend::ResetProperties(const char* mediumUdi)
+ {
+- kdDebug(1219) << "HALBackend::setProperties" << endl;
+- if ( QString::fromLatin1( mediumUdi ).startsWith( "/org/kde/" ) )
+- {
+- const Medium *cmedium = m_mediaList.findById(mediumUdi);
+- if ( cmedium )
+- {
+- Medium m( *cmedium );
+- if ( setFstabProperties( &m ) ) {
+- kdDebug() << "setFstabProperties worked" << endl;
+- m_mediaList.changeMediumState(m, false);
+- }
+- return;
+- }
+- }
+-
+- Medium* m = new Medium(mediumUdi, "");
+-
+- if (libhal_device_query_capability(m_halContext, mediumUdi, "volume", NULL))
+- setVolumeProperties(m);
+- if (libhal_device_query_capability(m_halContext, mediumUdi, "storage", NULL))
+- setFloppyProperties(m);
+- if (libhal_device_query_capability(m_halContext, mediumUdi, "camera", NULL))
+- setCameraProperties(m);
++ kdDebug(1219) << "HALBackend::setProperties" << endl;
+
+- m_mediaList.changeMediumState(*m, false);
++ Medium* m = new Medium(mediumUdi, "");
++
++ if (libhal_device_query_capability(m_halContext, mediumUdi, "volume", NULL))
++ setVolumeProperties(m);
++ if (libhal_device_query_capability(m_halContext, mediumUdi, "storage", NULL))
++ setFloppyProperties(m);
++ if (libhal_device_query_capability(m_halContext, mediumUdi, "camera", NULL))
++ setCameraProperties(m);
+
+- delete m;
+-}
++ m_mediaList.changeMediumState(*m, false);
+
+-void HALBackend::setVolumeProperties(Medium* medium)
+-{
+- kdDebug(1219) << "HALBackend::setVolumeProperties for " << medium->id() << endl;
+-
+- const char* udi = medium->id().ascii();
+- /* Check if the device still exists */
+- if (!libhal_device_exists(m_halContext, udi, NULL))
+- return;
+-
+- /* Get device information from libhal-storage */
+- LibHalVolume* halVolume = libhal_volume_from_udi(m_halContext, udi);
+- if (!halVolume)
+- return;
+- QString driveUdi = libhal_volume_get_storage_device_udi(halVolume);
+- LibHalDrive* halDrive = libhal_drive_from_udi(m_halContext, driveUdi.ascii());
+- if (!halDrive) {
+- // at times HAL sends an UnmountForced event before the device is removed
+- libhal_volume_free(halVolume);
+- return;
+- }
+-
+- medium->setName(
+- generateName(libhal_volume_get_device_file(halVolume)) );
+-
+- medium->mountableState(
+- libhal_volume_get_device_file(halVolume), /* Device node */
+- libhal_volume_get_mount_point(halVolume), /* Mount point */
+- libhal_volume_get_fstype(halVolume), /* Filesystem type */
+- libhal_volume_is_mounted(halVolume) ); /* Mounted ? */
+-
+- char* name = libhal_volume_policy_compute_display_name(halDrive, halVolume, m_halStoragePolicy);
+- QString volume_name = QString::fromUtf8(name);
+- QString media_name = volume_name;
+- medium->setLabel(media_name);
+- free(name);
+-
+- QString mimeType;
+- if (libhal_volume_is_disc(halVolume))
+- {
+- mimeType = "media/cdrom" + MOUNT_SUFFIX;
+-
+- LibHalVolumeDiscType discType = libhal_volume_get_disc_type(halVolume);
+- if ((discType == LIBHAL_VOLUME_DISC_TYPE_CDROM) ||
+- (discType == LIBHAL_VOLUME_DISC_TYPE_CDR) ||
+- (discType == LIBHAL_VOLUME_DISC_TYPE_CDRW))
+- if (libhal_volume_disc_is_blank(halVolume))
+- {
+- mimeType = "media/blankcd";
+- medium->unmountableState("");
+- }
+- else
+- mimeType = "media/cdwriter" + MOUNT_SUFFIX;
+-
+- if ((discType == LIBHAL_VOLUME_DISC_TYPE_DVDROM) || (discType == LIBHAL_VOLUME_DISC_TYPE_DVDRAM) ||
+- (discType == LIBHAL_VOLUME_DISC_TYPE_DVDR) || (discType == LIBHAL_VOLUME_DISC_TYPE_DVDRW) ||
+- (discType == LIBHAL_VOLUME_DISC_TYPE_DVDPLUSR) || (discType == LIBHAL_VOLUME_DISC_TYPE_DVDPLUSRW) )
+- if (libhal_volume_disc_is_blank(halVolume))
+- {
+- mimeType = "media/blankdvd";
+- medium->unmountableState("");
+- }
+- else
+- mimeType = "media/dvd" + MOUNT_SUFFIX;
+-
+- if (libhal_volume_disc_has_audio(halVolume) && !libhal_volume_disc_has_data(halVolume))
+- {
+- mimeType = "media/audiocd";
+- medium->unmountableState( "audiocd:/?device=" + QString(libhal_volume_get_device_file(halVolume)) );
+- }
+-
+- medium->setIconName(QString::null);
+-
+- /* check if the disc id a vcd or a video dvd */
+- DiscType type = LinuxCDPolling::identifyDiscType(libhal_volume_get_device_file(halVolume));
+- switch (type)
+- {
+- case DiscType::VCD:
+- mimeType = "media/vcd";
+- break;
+- case DiscType::SVCD:
+- mimeType = "media/svcd";
+- break;
+- case DiscType::DVD:
+- mimeType = "media/dvdvideo";
+- break;
+- }
+- }
+- else
+- {
+- mimeType = "media/hdd" + MOUNT_SUFFIX;
+- if (libhal_drive_is_hotpluggable(halDrive))
+- {
+- mimeType = "media/removable" + MOUNT_SUFFIX;
+- medium->needMounting();
+- switch (libhal_drive_get_type(halDrive)) {
+- case LIBHAL_DRIVE_TYPE_COMPACT_FLASH:
+- medium->setIconName("compact_flash" + MOUNT_ICON_SUFFIX);
+- break;
+- case LIBHAL_DRIVE_TYPE_MEMORY_STICK:
+- medium->setIconName("memory_stick" + MOUNT_ICON_SUFFIX);
+- break;
+- case LIBHAL_DRIVE_TYPE_SMART_MEDIA:
+- medium->setIconName("smart_media" + MOUNT_ICON_SUFFIX);
+- break;
+- case LIBHAL_DRIVE_TYPE_SD_MMC:
+- medium->setIconName("sd_mmc" + MOUNT_ICON_SUFFIX);
+- break;
+- case LIBHAL_DRIVE_TYPE_PORTABLE_AUDIO_PLAYER:
+- {
+- medium->setIconName("ipod" + MOUNT_ICON_SUFFIX);
+- break;
+- }
+- case LIBHAL_DRIVE_TYPE_CAMERA:
+- {
+- mimeType = "media/camera" + MOUNT_SUFFIX;
+- medium->setIconName("camera" + MOUNT_ICON_SUFFIX);
+- const char *physdev = libhal_drive_get_physical_device_udi(halDrive);
+- // get model from camera
+- if (physdev && libhal_device_query_capability(m_halContext, physdev, "camera", NULL))
+- {
+- if (libhal_device_property_exists(m_halContext, physdev, "usb_device.product", NULL))
+- medium->setLabel(libhal_device_get_property_QString(m_halContext, physdev, "usb_device.product"));
+- else if (libhal_device_property_exists(m_halContext, physdev, "usb.product", NULL))
+- medium->setLabel(libhal_device_get_property_QString(m_halContext, physdev, "usb.product"));
+- }
+- break;
+- }
+- case LIBHAL_DRIVE_TYPE_TAPE:
+- medium->setIconName(QString::null); //FIXME need icon
+- break;
+- default:
+- medium->setIconName(QString::null);
+- }
+-
+- if (medium->isMounted() && QFile::exists(medium->mountPoint() + "/dcim"))
+- {
+- mimeType = "media/camera" + MOUNT_SUFFIX;
+- medium->setIconName("camera" + MOUNT_ICON_SUFFIX);
+- }
+- }
+- }
+- medium->setMimeType(mimeType);
+-
+- libhal_drive_free(halDrive);
+- libhal_volume_free(halVolume);
++ delete m;
+ }
+
+-bool HALBackend::setFstabProperties( Medium *medium )
++void HALBackend::setVolumeProperties(Medium* medium)
+ {
+- QString mp = isInFstab(medium);
++ kdDebug(1219) << "HALBackend::setVolumeProperties for " << medium->id() << endl;
+
+- if (!mp.isNull() && !medium->id().startsWith( "/org/kde" ) )
+- {
+- // now that we know it's in fstab, we have to find out if it's mounted
+- KMountPoint::List mtab = KMountPoint::currentMountPoints();
+-
+- KMountPoint::List::iterator it = mtab.begin();
+- KMountPoint::List::iterator end = mtab.end();
+-
+- bool mounted = false;
+-
+- for (; it!=end; ++it)
+- {
+- if ((*it)->mountedFrom() == medium->deviceNode() && (*it)->mountPoint() == mp )
+- {
+- mounted = true;
+- break;
+- }
+- }
+-
+- kdDebug() << mp << " " << mounted << " " << medium->deviceNode() << " " << endl;
+- QString fstype = medium->fsType();
+- if ( fstype.isNull() )
+- fstype = "auto";
+-
+- medium->mountableState(
+- medium->deviceNode(),
+- mp, /* Mount point */
+- fstype, /* Filesystem type */
+- mounted ); /* Mounted ? */
++ const char* udi = medium->id().ascii();
++ /* Check if the device still exists */
++ if (!libhal_device_exists(m_halContext, udi, NULL))
++ return;
++
++ /* Get device information from libhal-storage */
++ LibHalVolume* halVolume = libhal_volume_from_udi(m_halContext, udi);
++ if (!halVolume)
++ return;
++ QString driveUdi = libhal_volume_get_storage_device_udi(halVolume);
++ LibHalDrive* halDrive = libhal_drive_from_udi(m_halContext, driveUdi.ascii());
++
++ medium->setName(
++ generateName(libhal_volume_get_device_file(halVolume)) );
++
++ medium->mountableState(
++ libhal_volume_get_device_file(halVolume), /* Device node */
++ libhal_volume_get_mount_point(halVolume), /* Mount point */
++ libhal_volume_get_fstype(halVolume), /* Filesystem type */
++ libhal_volume_is_mounted(halVolume) ); /* Mounted ? */
++
++ char* name = libhal_volume_policy_compute_display_name(halDrive, halVolume, m_halStoragePolicy);
++ QString volume_name = QString::fromUtf8(name);
++ QString media_name = volume_name;
++ medium->setLabel(media_name);
++ free(name);
+
+- return true;
+- }
++ QString mimeType;
++ if (libhal_volume_is_disc(halVolume))
++ {
++ mimeType = "media/cdrom" + MOUNT_SUFFIX;
+
+- return false;
++ LibHalVolumeDiscType discType = libhal_volume_get_disc_type(halVolume);
++ if ((discType == LIBHAL_VOLUME_DISC_TYPE_CDROM) ||
++ (discType == LIBHAL_VOLUME_DISC_TYPE_CDR) ||
++ (discType == LIBHAL_VOLUME_DISC_TYPE_CDRW))
++ if (libhal_volume_disc_is_blank(halVolume))
++ {
++ mimeType = "media/blankcd";
++ medium->unmountableState("");
++ }
++ else
++ mimeType = "media/cdwriter" + MOUNT_SUFFIX;
++
++ if ((discType == LIBHAL_VOLUME_DISC_TYPE_DVDROM) || (discType == LIBHAL_VOLUME_DISC_TYPE_DVDRAM) ||
++ (discType == LIBHAL_VOLUME_DISC_TYPE_DVDR) || (discType == LIBHAL_VOLUME_DISC_TYPE_DVDRW) ||
++ (discType == LIBHAL_VOLUME_DISC_TYPE_DVDPLUSR) || (discType == LIBHAL_VOLUME_DISC_TYPE_DVDPLUSRW) )
++ if (libhal_volume_disc_is_blank(halVolume))
++ {
++ mimeType = "media/blankdvd";
++ medium->unmountableState("");
++ }
++ else
++ mimeType = "media/dvd" + MOUNT_SUFFIX;
++
++ if (libhal_volume_disc_has_audio(halVolume) && !libhal_volume_disc_has_data(halVolume))
++ {
++ mimeType = "media/audiocd";
++ medium->unmountableState( "audiocd:/?device=" + QString(libhal_volume_get_device_file(halVolume)) );
++ }
++
++ medium->setIconName(QString::null);
++
++ /* check if the disc id a vcd or a video dvd */
++ DiscType type = LinuxCDPolling::identifyDiscType(libhal_volume_get_device_file(halVolume));
++ switch (type)
++ {
++ case DiscType::VCD:
++ mimeType = "media/vcd";
++ break;
++ case DiscType::SVCD:
++ mimeType = "media/svcd";
++ break;
++ case DiscType::DVD:
++ mimeType = "media/dvdvideo";
++ break;
++ }
++ }
++ else
++ {
++ mimeType = "media/hdd" + MOUNT_SUFFIX;
++ const char *physdev = libhal_drive_get_physical_device_udi(halDrive);
++ if (libhal_drive_is_hotpluggable(halDrive))
++ {
++ mimeType = "media/removable" + MOUNT_SUFFIX;
++ medium->needMounting();
++ switch (libhal_drive_get_type(halDrive)) {
++ case LIBHAL_DRIVE_TYPE_COMPACT_FLASH:
++ medium->setIconName("compact_flash" + MOUNT_ICON_SUFFIX);
++ break;
++ case LIBHAL_DRIVE_TYPE_MEMORY_STICK:
++ medium->setIconName("memory_stick" + MOUNT_ICON_SUFFIX);
++ break;
++ case LIBHAL_DRIVE_TYPE_SMART_MEDIA:
++ medium->setIconName("smart_media" + MOUNT_ICON_SUFFIX);
++ break;
++ case LIBHAL_DRIVE_TYPE_SD_MMC:
++ medium->setIconName("sd_mmc" + MOUNT_ICON_SUFFIX);
++ break;
++ case LIBHAL_DRIVE_TYPE_PORTABLE_AUDIO_PLAYER:
++ medium->setIconName("ipod" + MOUNT_ICON_SUFFIX);
++ break;
++ case LIBHAL_DRIVE_TYPE_CAMERA:
++ mimeType = "media/camera" + MOUNT_SUFFIX;
++ medium->setIconName("camera" + MOUNT_ICON_SUFFIX);
++ // get model from camera
++ if (physdev && libhal_device_query_capability(m_halContext, physdev, "camera", NULL))
++ {
++ if (libhal_device_property_exists(m_halContext, physdev, "usb_device.product", NULL))
++ medium->setLabel(hal_device_get_property_QString(m_halContext, physdev, "usb_device.product"));
++ else if (libhal_device_property_exists(m_halContext, physdev, "usb.product", NULL))
++ medium->setLabel(hal_device_get_property_QString(m_halContext, physdev, "usb.product"));
++ }
++ break;
++ case LIBHAL_DRIVE_TYPE_TAPE:
++ medium->setIconName(QString::null); //FIXME need icon
++ break;
++ default:
++ medium->setIconName(QString::null);
++ };
++ };
++ }
++ medium->setMimeType(mimeType);
+
++ libhal_drive_free(halDrive);
++ libhal_volume_free(halVolume);
+ }
+
+ // Handle floppies and zip drives
+ void HALBackend::setFloppyProperties(Medium* medium)
+ {
+- kdDebug(1219) << "HALBackend::setFloppyProperties for " << medium->id() << endl;
++ kdDebug(1219) << "HALBackend::setFloppyProperties for " << medium->id() << endl;
+
+- const char* udi = medium->id().ascii();
+- /* Check if the device still exists */
+- if (!libhal_device_exists(m_halContext, udi, NULL))
+- return;
+-
+- LibHalDrive* halDrive = libhal_drive_from_udi(m_halContext, udi);
+- if (!halDrive)
+- return;
+- int numVolumes;
+- char** volumes = libhal_drive_find_all_volumes(m_halContext, halDrive, &numVolumes);
+- LibHalVolume* halVolume = NULL;
+- kdDebug(1219) << " found " << numVolumes << " volumes" << endl;
+- if (numVolumes)
+- halVolume = libhal_volume_from_udi(m_halContext, volumes[0]);
+-
+- medium->setName(
+- generateName(libhal_drive_get_device_file(halDrive)) );
+-
+- if (halVolume)
+- {
+- medium->mountableState(
+- libhal_volume_get_device_file(halVolume), /* Device node */
+- libhal_volume_get_mount_point(halVolume), /* Mount point */
+- libhal_volume_get_fstype(halVolume), /* Filesystem type */
+- libhal_volume_is_mounted(halVolume) ); /* Mounted ? */
+- }
+- else
+- {
+- // HAL hates floppies - so we have to do it twice ;(
+- medium->mountableState(libhal_drive_get_device_file(halDrive), QString::null, QString::null, false);
+- setFstabProperties( medium );
+- }
+-
+- if (libhal_device_get_property_QString(m_halContext, udi, "storage.drive_type") == "floppy")
+- {
+- if (medium->isMounted()) // don't use _SUFFIX here as it accesses the volume
+- medium->setMimeType("media/floppy_mounted" );
+- else
+- medium->setMimeType("media/floppy_unmounted");
+- }
+-
+- if (libhal_device_get_property_QString(m_halContext, udi, "storage.drive_type") == "zip")
+- {
+- if (medium->isMounted())
+- medium->setMimeType("media/zip_mounted" );
+- else
+- medium->setMimeType("media/zip_unmounted");
+- }
+-
+- /** @todo And mimtype for JAZ drives ? */
+-
+- medium->setIconName(QString::null);
+-
+- char *name = libhal_drive_policy_compute_display_name(halDrive, halVolume, m_halStoragePolicy);
+-
+- if (name) {
+- medium->setLabel( QString::fromUtf8(name) );
+- free(name);
+- }
+-
+- free(volumes);
+- libhal_drive_free(halDrive);
+- libhal_volume_free(halVolume);
+-}
++ const char* udi = medium->id().ascii();
++ /* Check if the device still exists */
++ if (!libhal_device_exists(m_halContext, udi, NULL))
++ return;
++
++ LibHalDrive* halDrive = libhal_drive_from_udi(m_halContext, udi);
++ if (!halDrive)
++ return;
++ int numVolumes;
++ char** volumes = libhal_drive_find_all_volumes(m_halContext, halDrive, &numVolumes);
++ LibHalVolume* halVolume = NULL;
++ kdDebug(1219) << " found " << numVolumes << " volumes" << endl;
++ if (numVolumes)
++ halVolume = libhal_volume_from_udi(m_halContext, volumes[0]);
+
+-void HALBackend::setCameraProperties(Medium* medium)
+-{
+- kdDebug(1219) << "HALBackend::setCameraProperties for " << medium->id() << endl;
+-
+- const char* udi = medium->id().ascii();
+- /* Check if the device still exists */
+- if (!libhal_device_exists(m_halContext, udi, NULL))
+- return;
+-
+- /** @todo find name */
+- medium->setName("camera");
+-
+- QString device = "camera:/";
+-
+- char *cam = libhal_device_get_property_string(m_halContext, udi, "camera.libgphoto2.name", NULL);
+- DBusError error;
+- dbus_error_init(&error);
+- if (cam &&
+- libhal_device_property_exists(m_halContext, udi, "usb.linux.device_number", NULL) &&
+- libhal_device_property_exists(m_halContext, udi, "usb.bus_number", NULL))
+- device.sprintf("camera://%s@[usb:%03d,%03d]/", cam,
+- libhal_device_get_property_int(m_halContext, udi, "usb.bus_number", &error),
+- libhal_device_get_property_int(m_halContext, udi, "usb.linux.device_number", &error));
+-
+- libhal_free_string(cam);
+-
+- /** @todo find the rest of this URL */
+- medium->unmountableState(device);
+- medium->setMimeType("media/gphoto2camera");
+- medium->setIconName(QString::null);
+- if (libhal_device_property_exists(m_halContext, udi, "usb_device.product", NULL))
+- medium->setLabel(libhal_device_get_property_QString(m_halContext, udi, "usb_device.product"));
+- else if (libhal_device_property_exists(m_halContext, udi, "usb.product", NULL))
+- medium->setLabel(libhal_device_get_property_QString(m_halContext, udi, "usb.product"));
+- else
+- medium->setLabel(i18n("Camera"));
+-}
++ medium->setName(
++ generateName(libhal_drive_get_device_file(halDrive)) );
+
+-QString HALBackend::generateName(const QString &devNode)
+-{
+- return KURL(devNode).fileName();
+-}
++ if (halVolume)
++ {
++ medium->mountableState(
++ libhal_volume_get_device_file(halVolume), /* Device node */
++ libhal_volume_get_mount_point(halVolume), /* Mount point */
++ libhal_volume_get_fstype(halVolume), /* Filesystem type */
++ libhal_volume_is_mounted(halVolume) ); /* Mounted ? */
++ }
++ else
++ {
++ medium->mountableState(
++ libhal_drive_get_device_file(halDrive), /* Device node */
++ "", /* Mount point */
++ "", /* Filesystem type */
++ false ); /* Mounted ? */
++ }
+
+-/******************************************
+- ** HAL CALL-BACKS **
+- ******************************************/
++ if (hal_device_get_property_QString(m_halContext, udi, "storage.drive_type") == "floppy")
++ {
++ if (halVolume)
++ medium->setMimeType("media/floppy" + MOUNT_SUFFIX);
++ else
++ medium->setMimeType("media/floppy_unmounted");
++ }
+
+-void HALBackend::hal_device_added(LibHalContext *ctx, const char *udi)
+-{
+- kdDebug(1219) << "HALBackend::hal_device_added " << udi << endl;
+- Q_UNUSED(ctx);
+- s_HALBackend->AddDevice(udi);
+-}
++ if (hal_device_get_property_QString(m_halContext, udi, "storage.drive_type") == "zip")
++ {
++ if (halVolume)
++ medium->setMimeType("media/zip" + MOUNT_SUFFIX);
++ else
++ medium->setMimeType("media/zip_unmounted");
++ }
+
+-void HALBackend::hal_device_removed(LibHalContext *ctx, const char *udi)
+-{
+- kdDebug(1219) << "HALBackend::hal_device_removed " << udi << endl;
+- Q_UNUSED(ctx);
+- s_HALBackend->RemoveDevice(udi);
+-}
++ /** @todo And mimtype for JAZ drives ? */
+
+-void HALBackend::hal_device_property_modified(LibHalContext *ctx, const char *udi,
+- const char *key, dbus_bool_t is_removed, dbus_bool_t is_added)
+-{
+- kdDebug(1219) << "HALBackend::hal_property_modified " << udi << " -- " << key << endl;
+- Q_UNUSED(ctx);
+- Q_UNUSED(is_removed);
+- Q_UNUSED(is_added);
+- s_HALBackend->ModifyDevice(udi, key);
+-}
++ medium->setIconName(QString::null);
+
+-void HALBackend::hal_device_condition(LibHalContext *ctx, const char *udi,
+- const char *condition_name,
+- const char* message
+- )
+-{
+- kdDebug(1219) << "HALBackend::hal_device_condition " << udi << " -- " << condition_name << endl;
+- Q_UNUSED(ctx);
+- Q_UNUSED(message);
+- s_HALBackend->DeviceCondition(udi, condition_name);
++ QString media_name;
++ if (halVolume)
++ {
++ char* name = libhal_drive_policy_compute_display_name(halDrive, halVolume, m_halStoragePolicy);
++ QString volume_name = QString::fromUtf8(name);
++ media_name = volume_name;
++ free(name);
++ }
++ else
++ {
++ char* name = libhal_drive_policy_compute_display_name(halDrive, halVolume, m_halStoragePolicy);
++ QString drive_name = QString::fromUtf8(name);
++ media_name = drive_name;
++ free(name);
++ }
++ medium->setLabel(media_name);
++
++ free(volumes);
++ libhal_drive_free(halDrive);
++ libhal_volume_free(halVolume);
+ }
+
+-QStringList HALBackend::mountoptions(const QString &name)
++void HALBackend::setCameraProperties(Medium* medium)
+ {
+- const Medium* medium = m_mediaList.findById(name);
+- if (medium && !isInFstab(medium).isNull())
+- return QStringList(); // not handled by HAL - fstab entry
+-
+- KConfig config("mediamanagerrc");
+- config.setGroup(name);
+-
+- char ** array = libhal_device_get_property_strlist(m_halContext, name.latin1(), "volume.mount.valid_options", NULL);
+- QMap<QString,bool> valids;
+-
+- for (int index = 0; array && array[index]; ++index) {
+- QString t = array[index];
+- if (t.endsWith("="))
+- t = t.left(t.length() - 1);
+- valids[t] = true;
+- kdDebug() << "valid " << t << endl;
+- }
+- libhal_free_string_array(array);
+- QStringList result;
+- QString tmp;
+-
+- QString fstype = libhal_device_get_property_QString(m_halContext, name.latin1(), "volume.fstype");
+- if (fstype.isNull())
+- fstype = libhal_device_get_property_QString(m_halContext, name.latin1(), "volume.policy.mount_filesystem");
+-
+-
+- QString drive_udi = libhal_device_get_property_QString(m_halContext, name.latin1(), "block.storage_device");
+-
+- bool removable = libhal_device_get_property_bool(m_halContext, drive_udi.latin1(), "storage.removable", NULL)
+- || libhal_device_get_property_bool(m_halContext, drive_udi.latin1(), "storage.hotpluggable", NULL);
+-
+- config.setGroup(drive_udi);
+- bool value = config.readBoolEntry("automount", false);
+- config.setGroup(name);
+-
+- if (libhal_device_get_property_bool(m_halContext, name.latin1(), "volume.disc.is_blank", NULL)
+- || libhal_device_get_property_bool(m_halContext, name.latin1(), "volume.disc.is_vcd", NULL)
+- || libhal_device_get_property_bool(m_halContext, name.latin1(), "volume.disc.is_svcd", NULL)
+- || libhal_device_get_property_bool(m_halContext, name.latin1(), "volume.disc.is_videodvd", NULL)
+- || libhal_device_get_property_bool(m_halContext, name.latin1(), "volume.disc.has_audio", NULL))
+- value = false;
+-
+- result << QString("automount=%1").arg(value ? "true" : "false");
+-
+- if (valids.contains("ro"))
+- {
+- value = config.readBoolEntry("ro", false);
+- tmp = QString("ro=%1").arg(value ? "true" : "false");
+- if (fstype != "iso9660") // makes no sense
+- result << tmp;
+- }
+-
+- if (valids.contains("quiet"))
+- {
+- value = config.readBoolEntry("quiet", false);
+- tmp = QString("quiet=%1").arg(value ? "true" : "false");
+- if (fstype != "iso9660") // makes no sense
+- result << tmp;
+- }
+-
+- if (valids.contains("flush"))
+- {
+- value = config.readBoolEntry("flush", fstype.endsWith("fat"));
+- tmp = QString("flush=%1").arg(value ? "true" : "false");
+- result << tmp;
+- }
+-
+- if (valids.contains("uid"))
+- {
+- value = config.readBoolEntry("uid", true);
+- tmp = QString("uid=%1").arg(value ? "true" : "false");
+- result << tmp;
+- }
+-
+- if (valids.contains("utf8"))
+- {
+- value = config.readBoolEntry("utf8", true);
+- tmp = QString("utf8=%1").arg(value ? "true" : "false");
+- result << tmp;
+- }
+-
+- if (valids.contains("shortname"))
+- {
+- QString svalue = config.readEntry("shortname", "lower").lower();
+- if (svalue == "winnt")
+- result << "shortname=winnt";
+- else if (svalue == "win95")
+- result << "shortname=win95";
+- else if (svalue == "mixed")
+- result << "shortname=mixed";
+- else
+- result << "shortname=lower";
+- }
+-
+- if (valids.contains("sync"))
+- {
+- value = config.readBoolEntry("sync", !fstype.endsWith("fat") && removable);
+- tmp = QString("sync=%1").arg(value ? "true" : "false");
+- if (fstype != "iso9660") // makes no sense
+- result << tmp;
+- }
+-
+- if (valids.contains("noatime"))
+- {
+- value = config.readBoolEntry("atime", !fstype.endsWith("fat"));
+- tmp = QString("atime=%1").arg(value ? "true" : "false");
+- if (fstype != "iso9660") // makes no sense
+- result << tmp;
+- }
+-
+- QString mount_point = libhal_device_get_property_QString(m_halContext, name.latin1(), "volume.mount_point");
+- if (mount_point.isEmpty())
+- mount_point = libhal_device_get_property_QString(m_halContext, name.latin1(), "volume.policy.desired_mount_point");
+-
+- mount_point = config.readEntry("mountpoint", mount_point);
+-
+- if (!mount_point.startsWith("/"))
+- mount_point = "/media/" + mount_point;
+-
+- result << QString("mountpoint=%1").arg(mount_point);
+- result << QString("filesystem=%1").arg(fstype);
+-
+- if (valids.contains("data"))
+- {
+- QString svalue = config.readEntry("journaling").lower();
+- if (svalue == "ordered")
+- result << "journaling=ordered";
+- else if (svalue == "writeback")
+- result << "journaling=writeback";
+- else if (svalue == "data")
+- result << "journaling=data";
+- else
+- result << "journaling=ordered";
+- }
++ kdDebug(1219) << "HALBackend::setCameraProperties for " << medium->id() << endl;
+
+- return result;
++ const char* udi = medium->id().ascii();
++ /* Check if the device still exists */
++ if (!libhal_device_exists(m_halContext, udi, NULL))
++ return;
++
++ /** @todo find name */
++ medium->setName("camera");
++ /** @todo find the rest of this URL */
++ medium->unmountableState("camera:/");
++ medium->setMimeType("media/gphoto2camera");
++ medium->setIconName(QString::null);
++ if (libhal_device_property_exists(m_halContext, udi, "usb_device.product", NULL))
++ medium->setLabel(hal_device_get_property_QString(m_halContext, udi, "usb_device.product"));
++ else if (libhal_device_property_exists(m_halContext, udi, "usb.product", NULL))
++ medium->setLabel(hal_device_get_property_QString(m_halContext, udi, "usb.product"));
++ else
++ medium->setLabel(i18n("Camera"));
+ }
+
+-bool HALBackend::setMountoptions(const QString &name, const QStringList &options )
++QString HALBackend::generateName(const QString &devNode)
+ {
+- kdDebug() << "setMountoptions " << name << " " << options << endl;
+-
+- KConfig config("mediamanagerrc");
+- config.setGroup(name);
+-
+- QMap<QString,QString> valids = MediaManagerUtils::splitOptions(options);
+-
+- const char *names[] = { "ro", "quiet", "atime", "uid", "utf8", "flush", "sync", 0 };
+- for (int index = 0; names[index]; ++index)
+- if (valids.contains(names[index]))
+- config.writeEntry(names[index], valids[names[index]] == "true");
+-
+- if (valids.contains("shortname"))
+- config.writeEntry("shortname", valids["shortname"]);
+-
+- if (valids.contains("journaling"))
+- config.writeEntry("journaling", valids["journaling"]);
+-
+- if (!mountoptions(name).contains(QString("mountpoint=%1").arg(valids["mountpoint"])))
+- config.writeEntry("mountpoint", valids["mountpoint"]);
+-
+- if (valids.contains("automount")) {
+- QString drive_udi = libhal_device_get_property_QString(m_halContext, name.latin1(), "block.storage_device");
+- config.setGroup(drive_udi);
+- config.writeEntry("automount", valids["automount"]);
+- }
+-
+- return true;
++ return KURL(devNode).fileName();
+ }
+
+-static QString mount_priv(const char *udi, const char *mount_point, const char **poptions, int noptions,
+- DBusConnection *dbus_connection)
+-{
+- DBusMessage *dmesg, *reply;
+- DBusError error;
+-
+- const char *fstype = "";
+- if (!(dmesg = dbus_message_new_method_call ("org.freedesktop.Hal", udi,
+- "org.freedesktop.Hal.Device.Volume",
+- "Mount"))) {
+- kdDebug() << "mount failed for " << udi << ": could not create dbus message\n";
+- return i18n("Internal Error");
+- }
+-
+- if (!dbus_message_append_args (dmesg, DBUS_TYPE_STRING, &mount_point, DBUS_TYPE_STRING, &fstype,
+- DBUS_TYPE_ARRAY, DBUS_TYPE_STRING, &poptions, noptions,
+- DBUS_TYPE_INVALID))
+- {
+- kdDebug() << "mount failed for " << udi << ": could not append args to dbus message\n";
+- dbus_message_unref (dmesg);
+- return i18n("Internal Error");
+- }
+-
+- QString qerror;
+-
+- dbus_error_init (&error);
+- if (!(reply = dbus_connection_send_with_reply_and_block (dbus_connection, dmesg, -1, &error)))
+- {
+- QString qerror = error.message;
+- kdError() << "mount failed for " << udi << ": " << error.name << " - " << qerror << endl;
+- if ( !strcmp(error.name, "org.freedesktop.Hal.Device.Volume.UnknownFilesystemType"))
+- qerror = i18n("Invalid filesystem type");
+- else if ( !strcmp(error.name, "org.freedesktop.Hal.Device.Volume.PermissionDenied"))
+- qerror = i18n("Permissions denied");
+- else if ( !strcmp(error.name, "org.freedesktop.Hal.Device.Volume.AlreadyMounted"))
+- qerror = i18n("Device is already mounted.");
+- else if ( !strcmp(error.name, "org.freedesktop.Hal.Device.Volume.InvalidMountpoint") && strlen(mount_point)) {
+- dbus_message_unref (dmesg);
+- dbus_error_free (&error);
+- return mount_priv(udi, "", poptions, noptions, dbus_connection);
+- }
+- dbus_message_unref (dmesg);
+- dbus_error_free (&error);
+- return qerror;
+- }
+-
+- kdDebug() << "mount queued for " << udi << endl;
+-
+- dbus_message_unref (dmesg);
+- dbus_message_unref (reply);
+-
+- return qerror;
++/******************************************
++** HAL CALL-BACKS **
++******************************************/
+
++#ifdef HAL_0_4
++void HALBackend::hal_main_loop_integration(LibHalContext *ctx,
++ DBusConnection *dbus_connection)
++{
++ kdDebug(1219) << "HALBackend::hal_main_loop_integration" << endl;
++ Q_UNUSED(ctx);
++ s_HALBackend->MainLoopIntegration(dbus_connection);
+ }
++#endif
+
+-void HALBackend::slotResult(KIO::Job *job)
++void HALBackend::hal_device_added(LibHalContext *ctx, const char *udi)
+ {
+- kdDebug() << "slotResult " << mount_jobs[job] << endl;
+- if (job->error())
+- {
+- KMessageBox::error(0, job->errorText());
+- }
+- ResetProperties( mount_jobs[job].latin1() );
+- mount_jobs.remove(job);
++ kdDebug(1219) << "HALBackend::hal_device_added " << udi << endl;
++ Q_UNUSED(ctx);
++ s_HALBackend->AddDevice(udi);
+ }
+
+-QString HALBackend::isInFstab(const Medium *medium)
++void HALBackend::hal_device_removed(LibHalContext *ctx, const char *udi)
+ {
+- KMountPoint::List fstab = KMountPoint::possibleMountPoints(KMountPoint::NeedMountOptions|KMountPoint::NeedRealDeviceName);
+-
+- KMountPoint::List::iterator it = fstab.begin();
+- KMountPoint::List::iterator end = fstab.end();
+-
+- for (; it!=end; ++it)
+- {
+- kdDebug() << "isInFstab -" << medium->deviceNode() << "- -" << (*it)->realDeviceName() << "- -" << (*it)->mountedFrom() << endl;
+- if ((*it)->mountedFrom() == medium->deviceNode() || ( !medium->deviceNode().isEmpty() && (*it)->realDeviceName() == medium->deviceNode() ) )
+- {
+- QStringList opts = (*it)->mountOptions();
+- if (opts.contains("user") || opts.contains("users"))
+- return (*it)->mountPoint();
+- }
+- }
+-
+- return QString::null;
++ kdDebug(1219) << "HALBackend::hal_device_removed " << udi << endl;
++ Q_UNUSED(ctx);
++ s_HALBackend->RemoveDevice(udi);
+ }
+
+-QString HALBackend::mount(const Medium *medium)
+-{
+- if (medium->isMounted())
+- return QString(); // that was easy
+-
+- QString mountPoint = isInFstab(medium);
+- if (!mountPoint.isNull())
+- {
+- kdDebug() << "triggering user mount " << medium->deviceNode() << " " << mountPoint << " " << medium->id() << endl;
+- KIO::Job *job = KIO::mount( false, 0, medium->deviceNode(), mountPoint );
+- connect(job, SIGNAL( result (KIO::Job *)),
+- SLOT( slotResult( KIO::Job *)));
+- mount_jobs[job] = medium->id();
+- return QString(); // we won't report an error here
+- } else if (medium->id().startsWith("/org/kde/") )
+- return i18n("Permissions denied");
+-
+- QStringList soptions;
+-
+- kdDebug() << "mounting " << medium->id() << "..." << endl;
+-
+- QMap<QString,QString> valids = MediaManagerUtils::splitOptions(mountoptions(medium->id()));
+- if (valids["flush"] == "true")
+- soptions << "flush";
+-
+- if (valids["uid"] == "true")
+- {
+- soptions << QString("uid=%1").arg(getuid());
+- }
+-
+- if (valids["ro"] == "true")
+- soptions << "ro";
+-
+- if (valids["atime"] != "true")
+- soptions << "noatime";
+-
+- if (valids["quiet"] == "true")
+- soptions << "quiet";
+-
+- if (valids["utf8"] == "true")
+- soptions << "utf8";
+-
+- if (valids["sync"] == "true")
+- soptions << "sync";
+-
+- QString mount_point = valids["mountpoint"];
+- if (mount_point.startsWith("/media/"))
+- mount_point = mount_point.mid(7);
+-
+- if (valids.contains("shortname"))
+- {
+- soptions << QString("shortname=%1").arg(valids["shortname"]);
+- }
+-
+- if (valids.contains("journaling"))
+- {
+- QString option = valids["journaling"];
+- if (option == "data")
+- soptions << QString("data=journal");
+- else if (option == "writeback")
+- soptions << QString("data=writeback");
+- else
+- soptions << QString("data=ordered");
+- }
+-
+- const char **options = new const char*[soptions.size() + 1];
+- uint noptions = 0;
+- for (QStringList::ConstIterator it = soptions.begin(); it != soptions.end(); ++it, ++noptions)
+- options[noptions] = (*it).latin1();
+- options[noptions] = NULL;
+-
+- QString qerror = mount_priv(medium->id().latin1(), mount_point.utf8(), options, noptions, dbus_connection);
+- if (!qerror.isEmpty()) {
+- kdError() << "mounting " << medium->id() << " returned " << qerror << endl;
+- return qerror;
+- }
+-
+- medium->setHalMounted(true);
+- ResetProperties(medium->id().latin1());
+-
+- return QString();
+-}
+-
+-QString HALBackend::mount(const QString &_udi)
++void HALBackend::hal_device_property_modified(LibHalContext *ctx, const char *udi,
++ const char *key, dbus_bool_t is_removed, dbus_bool_t is_added)
+ {
+- const Medium* medium = m_mediaList.findById(_udi);
+- if (!medium)
+- return i18n("No such medium: %1").arg(_udi);
+-
+- return mount(medium);
++ kdDebug(1219) << "HALBackend::hal_property_modified " << udi << " -- " << key << endl;
++ Q_UNUSED(ctx);
++ Q_UNUSED(is_removed);
++ Q_UNUSED(is_added);
++ s_HALBackend->ModifyDevice(udi, key);
+ }
+
+-QString HALBackend::unmount(const QString &_udi)
+-{
+- const Medium* medium = m_mediaList.findById(_udi);
+- if (!medium)
+- { // now we get fancy: if the udi is no volume, it _might_ be a device with only one
+- // volume on it (think CDs) - so we're so nice to the caller to unmount that volume
+- LibHalDrive* halDrive = libhal_drive_from_udi(m_halContext, _udi.latin1());
+- if (halDrive)
+- {
+- int numVolumes;
+- char** volumes = libhal_drive_find_all_volumes(m_halContext, halDrive, &numVolumes);
+- if (numVolumes == 1)
+- medium = m_mediaList.findById( volumes[0] );
+- }
+- }
+-
+- if ( !medium )
+- return i18n("No such medium: %1").arg(_udi);
+-
+- if (!medium->isMounted())
+- return QString(); // that was easy
+-
+- QString mountPoint = isInFstab(medium);
+- if (!mountPoint.isNull())
+- {
+- kdDebug() << "triggering user unmount " << medium->deviceNode() << " " << mountPoint << endl;
+- KIO::Job *job = KIO::unmount( medium->mountPoint(), false );
+- connect(job, SIGNAL( result (KIO::Job *)),
+- SLOT( slotResult( KIO::Job *)));
+- mount_jobs[job] = medium->id();
+- return QString(); // we won't report an error here
+- }
+-
+- DBusMessage *dmesg, *reply;
+- DBusError error;
+- const char *options[2];
+-
+- const char *udi = medium->id().latin1();
+- kdDebug() << "unmounting " << udi << "..." << endl;
+-
+- dbus_error_init(&error);
+- DBusConnection *dbus_connection = dbus_bus_get(DBUS_BUS_SYSTEM, &error);
+- if (dbus_error_is_set(&error))
+- {
+- dbus_error_free(&error);
+- return false;
+- }
+-
+- if (!(dmesg = dbus_message_new_method_call ("org.freedesktop.Hal", udi,
+- "org.freedesktop.Hal.Device.Volume",
+- "Unmount"))) {
+- kdDebug() << "unmount failed for " << udi << ": could not create dbus message\n";
+- return i18n("Internal Error");
+- }
+-
+- options[0] = "force";
+- options[1] = 0;
+-
+- if (!dbus_message_append_args (dmesg, DBUS_TYPE_ARRAY, DBUS_TYPE_STRING, &options, 0,
+- DBUS_TYPE_INVALID))
+- {
+- kdDebug() << "unmount failed for " << udi << ": could not append args to dbus message\n";
+- dbus_message_unref (dmesg);
+- return i18n("Internal Error");
+- }
+-
+- dbus_error_init (&error);
+- if (!(reply = dbus_connection_send_with_reply_and_block (dbus_connection, dmesg, -1, &error)))
+- {
+- kdDebug() << "unmount failed for " << udi << ": " << error.name << " " << error.message << endl;
+- QString qerror = error.message;
+- if (!strcmp(error.name, "org.freedesktop.Hal.Device.Volume.Busy")) {
+- qerror = QString("<qt>") + i18n("Device is Busy:");
+- QString cmdline = QString("/usr/bin/env fuser -vm %1 2>&1").arg(KProcess::quote(medium->mountPoint()));
+- FILE *fuser = popen(cmdline.latin1(), "r");
+- uint counter = 0;
+- if (fuser) {
+- qerror += "<pre>";
+- QTextIStream is(fuser);
+- QString tmp;
+- while (!is.atEnd()) {
+- tmp = is.readLine();
+- tmp = QStyleSheet::escape(tmp) + "\n";
+-
+- qerror += tmp;
+- if (counter++ > 20)
+- {
+- qerror += "...";
+- break;
+- }
+- }
+- qerror += "</pre>";
+- (void)pclose( fuser );
+- }
+- qerror += "</qt>";
+- } else if (!strcmp(error.name, "org.freedesktop.Hal.Device.Volume.NotMounted")) {
+- // this is faking. The error is that the device wasn't mounted by hal (but by the system)
+- qerror = i18n("Permissions denied");
+- }
+-
+- dbus_message_unref (dmesg);
+- dbus_error_free (&error);
+- return qerror;
+- }
+-
+- kdDebug() << "unmount queued for " << udi << endl;
+-
+- dbus_message_unref (dmesg);
+- dbus_message_unref (reply);
+-
+- medium->setHalMounted(false);
+- ResetProperties(udi);
+-
+- return QString();
++void HALBackend::hal_device_condition(LibHalContext *ctx, const char *udi,
++ const char *condition_name,
++ #ifdef HAL_0_4
++ DBusMessage *message
++ #else
++ const char* message
++ #endif
++ )
++{
++ kdDebug(1219) << "HALBackend::hal_device_condition " << udi << " -- " << condition_name << endl;
++ Q_UNUSED(ctx);
++ Q_UNUSED(message);
++ s_HALBackend->DeviceCondition(udi, condition_name);
+ }
+
+ #include "halbackend.moc"
+diff -urN kioslave/media/mediamanager/halbackend.h kioslave/media/mediamanager/halbackend.h
+--- kioslave/media/mediamanager/halbackend.h Sat Jul 22 10:15:45 2006
++++ kioslave/media/mediamanager/halbackend.h Mon Oct 10 17:04:01 2005
+@@ -45,9 +45,65 @@
+ #include <libhal.h>
+ #include <libhal-storage.h>
+
+-namespace KIO {
+- class Job;
+-}
++/* The HAL API changed between 0.4 and 0.5 series.
++These defines enable backward compatibility */
++#ifdef HAL_0_4
++ // libhal-storage 0.4 API
++ #define LibHalStoragePolicy HalStoragePolicy
++ #define LibHalDrive HalDrive
++ #define LibHalVolume HalVolume
++ #define LibHalVolumeDiscType HalVolumeDiscType
++ #define libhal_storage_policy_free hal_storage_policy_free
++ #define libhal_storage_policy_new hal_storage_policy_new
++ #define libhal_drive_from_udi hal_drive_from_udi
++ #define libhal_drive_find_all_volumes hal_drive_find_all_volumes
++ #define libhal_drive_get_type hal_drive_get_type
++ #define libhal_drive_get_device_file hal_drive_get_device_file
++ #define libhal_drive_free hal_drive_free
++ #define libhal_drive_policy_compute_display_name hal_drive_policy_compute_display_name
++ #define libhal_drive_is_hotpluggable hal_drive_is_hotpluggable
++ #define libhal_drive_get_physical_device_udi hal_drive_get_physical_device_udi
++ #define libhal_volume_from_udi hal_volume_from_udi
++ #define libhal_volume_get_device_file hal_volume_get_device_file
++ #define libhal_volume_get_mount_point hal_volume_get_mount_point
++ #define libhal_volume_get_fstype hal_volume_get_fstype
++ #define libhal_volume_is_mounted hal_volume_is_mounted
++ #define libhal_volume_get_disc_type hal_volume_get_disc_type
++ #define libhal_volume_free hal_volume_free
++ #define libhal_volume_policy_compute_display_name hal_volume_policy_compute_display_name
++ #define libhal_volume_disc_has_data hal_volume_disc_has_data
++ #define libhal_volume_disc_has_audio hal_volume_disc_has_audio
++ #define libhal_volume_disc_is_blank hal_volume_disc_is_blank
++ #define libhal_volume_is_disc hal_volume_is_disc
++ #define libhal_volume_get_storage_device_udi hal_volume_get_storage_device_udi
++ #define LIBHAL_VOLUME_DISC_TYPE_CDROM HAL_VOLUME_DISC_TYPE_CDROM
++ #define LIBHAL_VOLUME_DISC_TYPE_CDR HAL_VOLUME_DISC_TYPE_CDR
++ #define LIBHAL_VOLUME_DISC_TYPE_CDRW HAL_VOLUME_DISC_TYPE_CDRW
++ #define LIBHAL_VOLUME_DISC_TYPE_DVDROM HAL_VOLUME_DISC_TYPE_DVDROM
++ #define LIBHAL_VOLUME_DISC_TYPE_DVDRAM HAL_VOLUME_DISC_TYPE_DVDRAM
++ #define LIBHAL_VOLUME_DISC_TYPE_DVDR HAL_VOLUME_DISC_TYPE_DVDR
++ #define LIBHAL_VOLUME_DISC_TYPE_DVDRW HAL_VOLUME_DISC_TYPE_DVDRW
++ #define LIBHAL_VOLUME_DISC_TYPE_DVDPLUSR HAL_VOLUME_DISC_TYPE_DVDPLUSR
++ #define LIBHAL_VOLUME_DISC_TYPE_DVDPLUSRW HAL_VOLUME_DISC_TYPE_DVDPLUSRW
++ #define LIBHAL_DRIVE_TYPE_COMPACT_FLASH HAL_DRIVE_TYPE_COMPACT_FLASH
++ #define LIBHAL_DRIVE_TYPE_MEMORY_STICK HAL_DRIVE_TYPE_MEMORY_STICK
++ #define LIBHAL_DRIVE_TYPE_SMART_MEDIA HAL_DRIVE_TYPE_SMART_MEDIA
++ #define LIBHAL_DRIVE_TYPE_SD_MMC HAL_DRIVE_TYPE_SD_MMC
++ #define LIBHAL_DRIVE_TYPE_PORTABLE_AUDIO_PLAYER HAL_DRIVE_TYPE_PORTABLE_AUDIO_PLAYER
++ #define LIBHAL_DRIVE_TYPE_CAMERA HAL_DRIVE_TYPE_CAMERA
++ #define LIBHAL_DRIVE_TYPE_TAPE HAL_DRIVE_TYPE_TAPE
++
++ // libhal 0.4 API
++ #define libhal_free_string hal_free_string
++ #define libhal_device_exists(ctx, udi, error) hal_device_exists(ctx, udi)
++ #define libhal_device_property_watch_all(ctx, error) hal_device_property_watch_all(ctx)
++ #define libhal_get_all_devices(ctx, num_devices, error) hal_get_all_devices(ctx, num_devices)
++ #define libhal_device_property_exists(ctx, udi, key, error) hal_device_property_exists(ctx, udi, key)
++ #define libhal_device_get_property_bool(ctx, udi, key, error) hal_device_get_property_bool(ctx, udi, key)
++ #define libhal_device_get_property_string(ctx, udi, key, error) hal_device_get_property_string(ctx, udi, key)
++ #define libhal_device_query_capability(ctx, udi, capability, error) hal_device_query_capability(ctx, udi, capability)
++#endif
++
+
+ /**
+ * A handy function to query a hal string
+@@ -88,14 +144,6 @@
+ */
+ bool ListDevices();
+
+- QStringList mountoptions(const QString &id);
+-
+- bool setMountoptions(const QString &id, const QStringList &options);
+-
+- QString mount(const QString &id);
+- QString mount(const Medium *medium);
+- QString unmount(const QString &id);
+-
+ private:
+ /**
+ * Append a device in the media list. This function will check if the device
+@@ -147,16 +195,20 @@
+
+ void setVolumeProperties(Medium* medium);
+ void setFloppyProperties(Medium* medium);
+- bool setFstabProperties(Medium* medium);
+ void setCameraProperties(Medium* medium);
+ QString generateName(const QString &devNode);
+- static QString isInFstab(const Medium *medium);
+-
+-private slots:
+- void slotResult(KIO::Job *job);
+
+ /* Hal call-backs -- from gvm*/
+ public:
++#ifdef HAL_0_4
++ /** Invoked by libhal for integration with our mainloop.
++ *
++ * @param ctx LibHal context
++ * @param dbus_connection D-BUS connection to integrate
++ */
++ static void hal_main_loop_integration(LibHalContext *ctx, DBusConnection *dbus_connection);
++#endif
++
+ /** Invoked when a device is added to the Global Device List.
+ *
+ * @param ctx LibHal context
+@@ -189,7 +241,11 @@
+ */
+ static void hal_device_condition(LibHalContext *ctx, const char *udi,
+ const char *condition_name,
++ #ifdef HAL_0_4
++ DBusMessage *message
++ #else
+ const char* message
++ #endif
+ );
+
+ /* HAL and DBus structures */
+@@ -199,6 +255,13 @@
+ */
+ LibHalContext* m_halContext;
+
++#ifdef HAL_0_4
++ /**
++ * Structure defining the hal callback function for devices events
++ */
++ LibHalFunctions m_halFunctions;
++#endif
++
+ /**
+ * libhal-storage HAL policy, e.g. for icon names
+ */
+@@ -213,10 +276,6 @@
+ * Object for the kded module
+ */
+ QObject* m_parent;
+-
+- DBusConnection *dbus_connection;
+-
+- QMap<KIO::Job *, QString> mount_jobs;
+ };
+
+ #endif /* _HALBACKEND_H_ */
+diff -urN kioslave/media/mediamanager/mediamanager.cpp kioslave/media/mediamanager/mediamanager.cpp
+--- kioslave/media/mediamanager/mediamanager.cpp Sat Jul 22 10:15:45 2006
++++ kioslave/media/mediamanager/mediamanager.cpp Mon Oct 10 17:04:01 2005
+@@ -43,280 +43,201 @@
+ MediaManager::MediaManager(const QCString &obj)
+ : KDEDModule(obj), m_dirNotify(m_mediaList)
+ {
+- connect( &m_mediaList, SIGNAL(mediumAdded(const QString&, const QString&, bool)),
+- SLOT(slotMediumAdded(const QString&, const QString&, bool)) );
+- connect( &m_mediaList, SIGNAL(mediumRemoved(const QString&, const QString&, bool)),
+- SLOT(slotMediumRemoved(const QString&, const QString&, bool)) );
+- connect( &m_mediaList,
+- SIGNAL(mediumStateChanged(const QString&, const QString&, bool, bool)),
+- SLOT(slotMediumChanged(const QString&, const QString&, bool, bool)) );
++ connect( &m_mediaList, SIGNAL(mediumAdded(const QString&, const QString&, bool)),
++ SLOT(slotMediumAdded(const QString&, const QString&, bool)) );
++ connect( &m_mediaList, SIGNAL(mediumRemoved(const QString&, const QString&, bool)),
++ SLOT(slotMediumRemoved(const QString&, const QString&, bool)) );
++ connect( &m_mediaList,
++ SIGNAL(mediumStateChanged(const QString&, const QString&, bool, bool)),
++ SLOT(slotMediumChanged(const QString&, const QString&, bool, bool)) );
+
+- QTimer::singleShot( 10, this, SLOT( loadBackends() ) );
++ QTimer::singleShot( 10, this, SLOT( loadBackends() ) );
+ }
+
+ MediaManager::~MediaManager()
+ {
+- while ( !m_backends.isEmpty() )
+- {
+- BackendBase *b = m_backends.first();
+- m_backends.remove( b );
+- delete b;
+- }
++ while ( !m_backends.isEmpty() )
++ {
++ BackendBase *b = m_backends.first();
++ m_backends.remove( b );
++ delete b;
++ }
+ }
+
+ void MediaManager::loadBackends()
+ {
+ m_mediaList.blockSignals(true);
+
+- while ( !m_backends.isEmpty() )
+- {
+- BackendBase *b = m_backends.first();
+- m_backends.remove( b );
+- delete b;
+- }
++ while ( !m_backends.isEmpty() )
++ {
++ BackendBase *b = m_backends.first();
++ m_backends.remove( b );
++ delete b;
++ }
+
+- mp_removableBackend = 0L;
+- m_halbackend = 0L;
++ mp_removableBackend = 0L;
+
+ #ifdef COMPILE_HALBACKEND
+- if ( MediaManagerSettings::self()->halBackendEnabled() )
+- {
+- m_halbackend = new HALBackend(m_mediaList, this);
+- if (m_halbackend->InitHal())
+- {
+- m_backends.append( m_halbackend );
+- m_backends.append( new FstabBackend(m_mediaList, true) );
+- // No need to load something else...
+- m_mediaList.blockSignals(false);
+- return;
+- }
+- else
+- {
+- delete m_halbackend;
+- m_halbackend = 0;
+- }
+- }
++ if ( MediaManagerSettings::self()->halBackendEnabled() )
++ {
++ HALBackend* hal_backend = new HALBackend(m_mediaList, this);
++ if (hal_backend->InitHal())
++ {
++ m_backends.append( hal_backend );
++ m_backends.append( new FstabBackend(m_mediaList, true) );
++ // No need to load something else...
++ m_mediaList.blockSignals(false);
++ return;
++ }
++ else
++ {
++ delete hal_backend;
++ }
++ }
+ #endif // COMPILE_HALBACKEND
+
+- mp_removableBackend = new RemovableBackend(m_mediaList);
+- m_backends.append( mp_removableBackend );
++ mp_removableBackend = new RemovableBackend(m_mediaList);
++ m_backends.append( mp_removableBackend );
+
+ #ifdef COMPILE_LINUXCDPOLLING
+- if ( MediaManagerSettings::self()->cdPollingEnabled() )
+- {
+- m_backends.append( new LinuxCDPolling(m_mediaList) );
+- }
++ if ( MediaManagerSettings::self()->cdPollingEnabled() )
++ {
++ m_backends.append( new LinuxCDPolling(m_mediaList) );
++ }
+ #endif //COMPILE_LINUXCDPOLLING
+
+- m_backends.append( new FstabBackend(m_mediaList) );
+- m_mediaList.blockSignals(false);
++ m_backends.append( new FstabBackend(m_mediaList) );
++ m_mediaList.blockSignals(false);
+ }
+
+
+ QStringList MediaManager::fullList()
+ {
+- QPtrList<Medium> list = m_mediaList.list();
++ QPtrList<Medium> list = m_mediaList.list();
+
+- QStringList result;
++ QStringList result;
+
+- QPtrList<Medium>::const_iterator it = list.begin();
+- QPtrList<Medium>::const_iterator end = list.end();
+- for (; it!=end; ++it)
+- {
+- result+= (*it)->properties();
+- result+= Medium::SEPARATOR;
+- }
++ QPtrList<Medium>::const_iterator it = list.begin();
++ QPtrList<Medium>::const_iterator end = list.end();
++ for (; it!=end; ++it)
++ {
++ result+= (*it)->properties();
++ result+= Medium::SEPARATOR;
++ }
+
+- return result;
++ return result;
+ }
+
+ QStringList MediaManager::properties(const QString &name)
+ {
+- const Medium *m = m_mediaList.findByName(name);
++ const Medium *m = m_mediaList.findByName(name);
+
+- if (!m)
+- {
+- KURL u(name);
+- kdDebug() << "Media::prop " << name << " " << u.isValid() << endl;
+- if (u.isValid())
+- {
+- if (u.protocol() == "system")
+- {
+- QString path = u.path();
+- if (path.startsWith("/media/"))
+- path = path.mid(strlen("/media/"));
+- m = m_mediaList.findByName(path);
+- kdDebug() << "findByName " << path << m << endl;
+- }
+- else if (u.protocol() == "media")
+- {
+- m = m_mediaList.findByName(u.filename());
+- kdDebug() << "findByName " << u.filename() << m << endl;
+- }
+- else if (u.protocol() == "file")
+- {
+- // look for the mount point
+- QPtrList<Medium> list = m_mediaList.list();
+- QPtrList<Medium>::const_iterator it = list.begin();
+- QPtrList<Medium>::const_iterator end = list.end();
+- for (; it!=end; ++it)
+- {
+- kdDebug() << "comparing " << (*it)->mountPoint() << " " << u.path() << " " << (*it)->deviceNode() << endl;
+- if ((*it)->mountPoint() == u.path() || (*it)->deviceNode() == u.path()) {
+- m = *it;
+- break;
+- }
+- }
+- }
+- }
+- }
+-
+- if (m)
+- return m->properties();
+- else
+- return QStringList();
+-}
+-
+-QStringList MediaManager::mountoptions(const QString &name)
+-{
+-#ifdef COMPILE_HALBACKEND
+- if (!m_halbackend)
+- return QStringList();
+- return m_halbackend->mountoptions(name);
+-#else
+- return QStringList();
+-#endif
+-}
+-
+-bool MediaManager::setMountoptions(const QString &name, const QStringList &options)
+-{
+-#ifdef COMPILE_HALBACKEND
+- if (!m_halbackend)
+- return false;
+- return m_halbackend->setMountoptions(name, options);
+-#else
+- return false;
+-#endif
+-}
+-
+-QString MediaManager::mount(const QString &name)
+-{
+-#ifdef COMPILE_HALBACKEND
+- if (!m_halbackend)
+- return i18n("Feature only available with HAL");
+- return m_halbackend->mount(name);
+-#else
+- return i18n("Feature only available with HAL");
+-#endif
+-}
+-
+-QString MediaManager::unmount(const QString &name)
+-{
+-#ifdef COMPILE_HALBACKEND
+- if (!m_halbackend)
+- return i18n("Feature only available with HAL");
+- return m_halbackend->unmount(name);
+-#else
+- return i18n("Feature only available with HAL");
+-#endif
++ if (m!=0L)
++ {
++ return m->properties();
++ }
++ else
++ {
++ return QStringList();
++ }
+ }
+
+ QString MediaManager::nameForLabel(const QString &label)
+ {
+- const QPtrList<Medium> media = m_mediaList.list();
++ const QPtrList<Medium> media = m_mediaList.list();
+
+- QPtrList<Medium>::const_iterator it = media.begin();
+- QPtrList<Medium>::const_iterator end = media.end();
+- for (; it!=end; ++it)
+- {
+- const Medium *m = *it;
+-
+- if (m->prettyLabel()==label)
+- {
+- return m->name();
+- }
+- }
++ QPtrList<Medium>::const_iterator it = media.begin();
++ QPtrList<Medium>::const_iterator end = media.end();
++ for (; it!=end; ++it)
++ {
++ const Medium *m = *it;
++
++ if (m->prettyLabel()==label)
++ {
++ return m->name();
++ }
++ }
+
+- return QString::null;
++ return QString::null;
+ }
+
+ ASYNC MediaManager::setUserLabel(const QString &name, const QString &label)
+ {
+- m_mediaList.setUserLabel(name, label);
++ m_mediaList.setUserLabel(name, label);
+ }
+
+ ASYNC MediaManager::reloadBackends()
+ {
+- MediaManagerSettings::self()->readConfig();
+- loadBackends();
++ MediaManagerSettings::self()->readConfig();
++ loadBackends();
+ }
+
+ bool MediaManager::removablePlug(const QString &devNode, const QString &label)
+ {
+- if (mp_removableBackend)
+- {
+- return mp_removableBackend->plug(devNode, label);
+- }
+- return false;
++ if (mp_removableBackend)
++ {
++ return mp_removableBackend->plug(devNode, label);
++ }
++ return false;
+ }
+
+ bool MediaManager::removableUnplug(const QString &devNode)
+ {
+- if (mp_removableBackend)
+- {
+- return mp_removableBackend->unplug(devNode);
+- }
+- return false;
++ if (mp_removableBackend)
++ {
++ return mp_removableBackend->unplug(devNode);
++ }
++ return false;
+ }
+
+ bool MediaManager::removableCamera(const QString &devNode)
+ {
+- if (mp_removableBackend)
+- {
+- return mp_removableBackend->camera(devNode);
+- }
+- return false;
++ if (mp_removableBackend)
++ {
++ return mp_removableBackend->camera(devNode);
++ }
++ return false;
+ }
+
+
+ void MediaManager::slotMediumAdded(const QString &/*id*/, const QString &name,
+ bool allowNotification)
+ {
+- kdDebug(1219) << "MediaManager::slotMediumAdded: " << name << endl;
++ kdDebug(1219) << "MediaManager::slotMediumAdded: " << name << endl;
+
+- KDirNotify_stub notifier("*", "*");
+- notifier.FilesAdded( KURL("media:/") );
++ KDirNotify_stub notifier("*", "*");
++ notifier.FilesAdded( KURL("media:/") );
+
+- emit mediumAdded(name, allowNotification);
+- emit mediumAdded(name);
++ emit mediumAdded(name, allowNotification);
++ emit mediumAdded(name);
+ }
+
+ void MediaManager::slotMediumRemoved(const QString &/*id*/, const QString &name,
+ bool allowNotification)
+ {
+- kdDebug(1219) << "MediaManager::slotMediumRemoved: " << name << endl;
++ kdDebug(1219) << "MediaManager::slotMediumRemoved: " << name << endl;
+
+- KDirNotify_stub notifier("*", "*");
+- notifier.FilesRemoved( KURL("media:/"+name) );
++ KDirNotify_stub notifier("*", "*");
++ notifier.FilesRemoved( KURL("media:/"+name) );
+
+- emit mediumRemoved(name, allowNotification);
+- emit mediumRemoved(name);
++ emit mediumRemoved(name, allowNotification);
++ emit mediumRemoved(name);
+ }
+
+ void MediaManager::slotMediumChanged(const QString &/*id*/, const QString &name,
+ bool mounted, bool allowNotification)
+ {
+- kdDebug(1219) << "MediaManager::slotMediumChanged: " << name << endl;
++ kdDebug(1219) << "MediaManager::slotMediumChanged: " << name << endl;
+
+- KDirNotify_stub notifier("*", "*");
+- if (!mounted)
+- {
+- notifier.FilesRemoved( KURL("media:/"+name) );
+- }
+- notifier.FilesChanged( KURL("media:/"+name) );
++ KDirNotify_stub notifier("*", "*");
++ if (!mounted)
++ {
++ notifier.FilesRemoved( KURL("media:/"+name) );
++ }
++ notifier.FilesChanged( KURL("media:/"+name) );
+
+- emit mediumChanged(name, allowNotification);
+- emit mediumChanged(name);
++ emit mediumChanged(name, allowNotification);
++ emit mediumChanged(name);
+ }
+
+
+diff -urN kioslave/media/mediamanager/mediamanager.desktop kioslave/media/mediamanager/mediamanager.desktop
+--- kioslave/media/mediamanager/mediamanager.desktop Sat Jul 22 10:15:45 2006
++++ kioslave/media/mediamanager/mediamanager.desktop Fri Mar 17 11:17:33 2006
+@@ -6,11 +6,10 @@
+ Name[az]=KDED Mediya İdarəcisi
+ Name[bg]=Управление на устройствата KDED
+ Name[bn]=কে.ডি.ই.ডি. মিডিয়া ম্যানেজার
+-Name[bs]=KDED upravitelj medijima
+ Name[ca]=Gestor de suports KDED
+ Name[cs]=KDED správce médií
+ Name[da]=KDED Mediehåndtering
+-Name[de]=KDED-Medienverwaltung
++Name[de]=KDED Medienverwaltung
+ Name[el]=Διαχειριστής μέσων KDED
+ Name[eo]=Konserveja administrilo
+ Name[es]=Administrador de recursos KDED
+@@ -18,12 +17,10 @@
+ Name[eu]=KDED media kudeatzailea
+ Name[fi]=KDED-tallennusmedianhallinta
+ Name[fr]=Gestionnaire de médias KDED
+-Name[fy]=KDEDED-mediabehearder
++Name[fy]=KDEDED-mediabeheerder
+ Name[ga]=Bainisteoir Meán KDED
+ Name[gl]=Xestor de Meios de KDED
+-Name[he]=מנהל המדיה של KDED
+ Name[hi]=केडीईडी मीडिया प्रबंधक
+-Name[hr]=KDED upravitelj medija
+ Name[hu]=KDED médiakezelő
+ Name[is]=KDED miðilstjóri
+ Name[it]=Gestore dei supporti KDED
+@@ -44,7 +41,6 @@
+ Name[ru]=Управление подключаемыми устройствами
+ Name[rw]=Mugenga Igihuza KDED
+ Name[se]=KDED-mediagieđahalli
+-Name[sk]=KDED správca médií
+ Name[sl]=Upravitelj medijev KDED
+ Name[sr]=Менаџер медијума, KDED
+ Name[sr@Latn]=Menadžer medijuma, KDED
+@@ -55,14 +51,12 @@
+ Name[tt]=KDED Media İdäräçe
+ Name[uk]=Менеджер носіїв інформації для KDED
+ Name[uz]=KDED сақлаш ускуналарни бошқарувчи
+-Name[vi]=Trình quản lí Ổ lưu trữ KDED
+ Name[zh_CN]=KDED 介质管理器
+ Name[zh_TW]=KDED 媒體管理程式
+ Comment=Keep track of media activities and allow to (un)mount (media:/)
+ Comment[af]=Hou tred van media aktiwiteite en laat die (ont)koppel van 'media:/' toe
+ Comment[bg]=Наблюдение на устройствата и разрешаване на монтиране/демонтиране на (media:/)
+ Comment[bn]=কোথায় কী মিডিয়া ব্যবহার করা হচ্ছে খেয়াল রাখুন এবং (আন)মাউন্ট করুন (media:/)
+-Comment[bs]=Prati aktivnosti montiranja uređaja za smještaj podataka (media:/)
+ Comment[ca]=Fa el seguiment de les activitats dels suports i permet muntar i desmuntar (media:/)
+ Comment[cs]=Udržuje přehled o připojených zařízeních
+ Comment[da]=Hold styr på medieaktiviteter og tillad at (af)montere (media:/)
+@@ -76,17 +70,15 @@
+ Comment[fr]=Gardez une trace des montages et permettre le (dé)montage (media:/)
+ Comment[fy]=Hâld de media-aktiviteiten by en stien ta om media oan- en ôf te keppelje (media:/)
+ Comment[gl]=Seguimento das actividades dos meios e permite-lle (des)montar (media:/)
+-Comment[he]=מנטר אחר פעילויות מדיה, ומאפשר לחבר או לנתק התקנים (media:/)
+ Comment[hi]=मीडिया क्रियाओं की जानकारी रखे तथा (अन)माउन्ट करने दे (मीडिया:/)
+-Comment[hr]=Praćenje aktivnosti medija i omogućavanje pristupanja i napuštanja
+ Comment[hu]=Az adathordozók követése, csatlakoztatása és leválasztása (media:/)
+ Comment[is]=Fylgjast með breytingum á tækjum og bjóða upp á (af)tengingu (media:/)
+ Comment[it]=Tiene traccia delle attività dei supporti e permette di montarli o smontarli (device:/)
+-Comment[ja]=メディアの活動を追跡し、(media:/) をマウントしたりアンマウントします
++Comment[ja]=メディアの活動を捕捉し、マウントしたりアンマウントします。(media:/)
+ Comment[km]=តាមដាន​សកម្មភាព​ព័ត៌មាន និង​អនុញ្ញាត​ឲ្យ​រៀបចំ (មិន​រៀបចំ) (media:/)
+ Comment[lt]=Stebi laikmenose vykdomus veiksmus ir leidžia (iš)montuoti (media:/)
+ Comment[lv]=Seko datu nesēju aktivitātēm un ļauj montēt/nomontēt tos (media:/)
+-Comment[mk]=Води сметка за активностите на носачите и дозволува (од)монтирање (media:/)
++Comment[mk]=Води сметка за активностите на носачите и дозволува (де)монтирање (media:/)
+ Comment[ms]=Ikuti perkembangan aktiviti media dan benarkan untuk (nyah)lekap (media:/)
+ Comment[mt]=Żomm kont ta' attivitajiet ta' mmuntar u ippermetti (un)mount (media:/)
+ Comment[nb]=Holder styr på monteringsaktiviteter og lar deg (av)montere (media:/)
+@@ -101,7 +93,6 @@
+ Comment[ru]=Автоматическое подключение устройств (media:/)
+ Comment[rw]=Kugumana inzira y'ibikorwa by'ibitangazamakuru no kwemerera gushyiramo(gukuramo) (ibitangazamakuru:/)
+ Comment[se]=Gozit mii dáhpáhuvvá median ja diktá du gálgat ja čadnat daid (media:/)
+-Comment[sk]=Sledovanie pripojenia/odpojenia medií (media:/)
+ Comment[sl]=Nadzoruj dejanja medija in dovilo priklop/odklop (media:/)
+ Comment[sr]=Прати активност медијума и омогућава (де)монтирање (media:/)
+ Comment[sr@Latn]=Prati aktivnost medijuma i omogućava (de)montiranje (media:/)
+@@ -111,7 +102,6 @@
+ Comment[tr]=Ortam işlemlerini takip et ve bağlanma işlemlerine izin ver(media:/)
+ Comment[tt]=Cıhazlarnıñ totaşuın/ayırıluın sizüçe närsä (media:/)
+ Comment[uk]=Спостерігає за змінами серед носіїв інформації та дозволяє (роз)монтування (media:/)
+-Comment[vi]=Theo dõi các hoạt động của ổ lưu trữ và cho phép lắp đặt hay gỡ bỏ chúng ở thư mục "media:/"
+ Comment[zh_CN]=跟踪介质活动并允许挂载或卸载(media:/)
+ Comment[zh_TW]=持續追蹤媒體活動並允許(解除)掛載 (media:/)
+ ServiceTypes=KDEDModule
+@@ -120,4 +110,3 @@
+ X-KDE-FactoryName=mediamanager
+ X-KDE-Kded-autoload=true
+ X-KDE-Kded-load-on-demand=true
+-X-KDE-Kded-phase=1
+diff -urN kioslave/media/mediamanager/mediamanager.h kioslave/media/mediamanager/mediamanager.h
+--- kioslave/media/mediamanager/mediamanager.h Sat Jul 22 10:15:45 2006
++++ kioslave/media/mediamanager/mediamanager.h Mon Oct 10 17:04:01 2005
+@@ -28,7 +28,6 @@
+ #include "removablebackend.h"
+ #include "mediadirnotify.h"
+
+-class HALBackend;
+
+ class MediaManager : public KDEDModule
+ {
+@@ -41,12 +40,6 @@
+ k_dcop:
+ QStringList fullList();
+ QStringList properties(const QString &name);
+- QStringList mountoptions(const QString &name);
+- bool setMountoptions(const QString &name, const QStringList &options);
+-
+- QString mount(const QString &uid);
+- QString unmount(const QString &uid);
+-
+ QString nameForLabel(const QString &label);
+ ASYNC setUserLabel(const QString &name, const QString &label);
+
+@@ -81,7 +74,6 @@
+ MediaList m_mediaList;
+ QValueList<BackendBase*> m_backends;
+ RemovableBackend *mp_removableBackend;
+- HALBackend *m_halbackend;
+ MediaDirNotify m_dirNotify;
+ };
+
+diff -urN kioslave/media/medianotifier/Makefile.in kioslave/media/medianotifier/Makefile.in
+--- kioslave/media/medianotifier/Makefile.in Mon Jul 24 17:56:31 2006
++++ kioslave/media/medianotifier/Makefile.in Mon Mar 20 14:05:54 2006
+@@ -254,6 +254,7 @@
+ LIBTOOL = @LIBTOOL@
+ LIBUCB = @LIBUCB@
+ LIBUSBCONFIG = @LIBUSBCONFIG@
++LIBUTEMPTER = @LIBUTEMPTER@
+ LIBUTIL = @LIBUTIL@
+ LIBXDMCP = @LIBXDMCP@
+ LIBXFT_LIB = @LIBXFT_LIB@
+diff -urN kioslave/media/medianotifier/medianotifier.cpp kioslave/media/medianotifier/medianotifier.cpp
+--- kioslave/media/medianotifier/medianotifier.cpp Sat Jul 22 10:15:42 2006
++++ kioslave/media/medianotifier/medianotifier.cpp Fri Mar 17 11:17:33 2006
+@@ -54,10 +54,7 @@
+ {
+ kdDebug() << "MediaNotifier::onMediumChange( " << name << ", "
+ << allowNotification << ")" << endl;
+-
+- if ( !allowNotification )
+- return;
+-
++
+ // Update user activity timestamp, otherwise the notification dialog will be shown
+ // in the background due to focus stealing prevention. Entering a new media can
+ // be seen as a kind of user activity after all. It'd be better to update the timestamp
+@@ -98,11 +95,11 @@
+ {
+ QString mimetype = medium.mimetype();
+
+- bool is_cdrom = mimetype.startsWith( "cd" ) || mimetype.startsWith( "dvd" );
++ bool is_cdrom = mimetype.contains( "cd" ) || mimetype.contains( "dvd" );
+ bool is_mounted = mimetype.endsWith( "_mounted" );
+
+ // We autorun only on CD/DVD or removable disks (USB, Firewire)
+- if ( !( is_cdrom || is_mounted )
++ if ( !( is_cdrom && is_mounted )
+ && mimetype!="media/removable_mounted" )
+ {
+ return false;
+diff -urN kioslave/media/medianotifier/medianotifier.desktop kioslave/media/medianotifier/medianotifier.desktop
+--- kioslave/media/medianotifier/medianotifier.desktop Sat Jul 22 10:15:42 2006
++++ kioslave/media/medianotifier/medianotifier.desktop Fri Mar 17 11:17:33 2006
+@@ -9,7 +9,6 @@
+ X-KDE-Kded-load-on-demand=false
+ Name=Media Notifier Daemon
+ Name[af]=Media Inkennistelling Bediener
+-Name[bs]=Daemon za obavještenja o novim medijima
+ Name[ca]=Dimoni notificador de suports
+ Name[cs]=Démon upozorňování na média
+ Name[da]=Mediebekendtgørelsesdæmon
+@@ -21,12 +20,10 @@
+ Name[fi]=Mediahuomautin
+ Name[fr]=Démon de notifications des média
+ Name[fy]=Medianotifikaasje-daemon
+-Name[gl]=Daemon Notificador de Medios
+-Name[hr]=Demon obavijesti o medijima
+ Name[hu]=Lemezfigyelő szolgáltatás
+ Name[is]=Miðils tilkynningarpúki
+ Name[it]=Demone notifiche dispositivi
+-Name[ja]=メディア 通知 デーモン
++Name[ja]=メディア通知デーモン
+ Name[km]=ដេមិន​របស់​ឧបករណ៍​ប្រាប់​ដំណឹង​មេឌៀ
+ Name[lt]=Media pranešimų tarnyba
+ Name[nb]=Medievarslingsnisse
+@@ -36,20 +33,16 @@
+ Name[pt]=Servidor de Notificação de Dispositivos
+ Name[pt_BR]=Servidor de Notificação de Dispositivos
+ Name[ru]=Демон уведомлений от подключаемых устройств
+-Name[sk]=Notifikátor medií
+ Name[sl]=Demon za obveščanje o nosilcih
+ Name[sr]=Демон за обавештења о медијумима
+ Name[sr@Latn]=Demon za obaveštenja o medijumima
+ Name[sv]=Demon för mediaunderrättelser
+ Name[uk]=Даемон сповіщення про носії інформації
+-Name[vi]=Trình nền Thông báo Ổ lưu trữ
+ Name[zh_CN]=介质通知守护程序
+-Name[zh_TW]=媒體通知伺服程式
+ Comment=A media plugged notifier
+ Comment[af]='n Inpropbare media inkennissteller
+ Comment[bg]=Мултимедиен демон за уведомяване при поставяне/включване на ново мултимедийно устройство
+ Comment[bn]=নতুন মিডিয়া প্রবেশ করলে তা জানায়
+-Comment[bs]=Obavještenje da je novi uređaj priključen
+ Comment[ca]=Un notificador de què s'ha introduït un suport
+ Comment[cs]=Upozorňování na připojená média
+ Comment[da]=En opdager af at medier sættes ind
+@@ -62,11 +55,10 @@
+ Comment[fr]=Notification de connexion de média
+ Comment[fy]=Meidieling fan oankeppele media
+ Comment[gl]=Un notificador de meios disponíbeis
+-Comment[hr]=Priključeno obavještavanje o medijima
+ Comment[hu]=Lemezérzékelő
+ Comment[is]=Tilkynnari um tengda miðla
+ Comment[it]=Notifiche dei dispositivi attaccati
+-Comment[ja]=メディアの接続を通知します
++Comment[ja]=メディア接続 notifier
+ Comment[lt]=Perspėjimo apie media prijungimą priedas
+ Comment[mk]=Известување за приклучен медиум
+ Comment[nb]=En medievarsler som programtillegg
+@@ -78,7 +70,6 @@
+ Comment[pt]=Um notificador ligado aos dispositivos
+ Comment[pt_BR]=um notificador para mídia que é espetada (plug)
+ Comment[ru]=Система обработки уведомлений от подключаемых устройств
+-Comment[sk]=Notifikátor pripojených médií
+ Comment[sl]=Obveščanje o vstavljenih/priklopljenih nosilcih
+ Comment[sr]=Обавештавач о укљученим медијима
+ Comment[sr@Latn]=Obaveštavač o uključenim medijima
+@@ -88,6 +79,5 @@
+ Comment[tt]=Cıhaz totaşılğan buluı turında beldergeç
+ Comment[uk]=Сповіщення про приєднання носіїв інформації
+ Comment[uz]=Сақлаш ускуналар уланганида хабар берувчи
+-Comment[vi]=Trình thông báo về các ổ lưu trữ đã kết nối
+ Comment[zh_CN]=介质插入通知器
+ Comment[zh_TW]=媒體插入通知程式
+diff -urN kioslave/media/mimetypes/Makefile.in kioslave/media/mimetypes/Makefile.in
+--- kioslave/media/mimetypes/Makefile.in Mon Jul 24 17:56:31 2006
++++ kioslave/media/mimetypes/Makefile.in Mon Mar 20 14:05:54 2006
+@@ -211,6 +211,7 @@
+ LIBTOOL = @LIBTOOL@
+ LIBUCB = @LIBUCB@
+ LIBUSBCONFIG = @LIBUSBCONFIG@
++LIBUTEMPTER = @LIBUTEMPTER@
+ LIBUTIL = @LIBUTIL@
+ LIBXDMCP = @LIBXDMCP@
+ LIBXFT_LIB = @LIBXFT_LIB@
+diff -urN kioslave/media/mimetypes/audiocd.desktop kioslave/media/mimetypes/audiocd.desktop
+--- kioslave/media/mimetypes/audiocd.desktop Sat Jul 22 10:15:45 2006
++++ kioslave/media/mimetypes/audiocd.desktop Fri Mar 17 11:17:34 2006
+@@ -18,13 +18,11 @@
+ Comment[gl]=CD de audio
+ Comment[he]=תקליטורי שמע
+ Comment[hi]=ऑडियो सीडी
+-Comment[hr]=Glazbeni CD
+ Comment[hu]=Hang-CD
+ Comment[is]=Hljóðdiskur
+ Comment[it]=CD audio
+ Comment[ja]=オーディオ CD
+ Comment[km]=ស៊ីឌី​អូឌីយ៉ូ
+-Comment[mk]=Аудио ЦД
+ Comment[ms]=CD Audio
+ Comment[nb]=Lyd-CD
+ Comment[nds]=Audio-CD
+@@ -47,7 +45,6 @@
+ Comment[tt]=Tawış CD
+ Comment[uk]=Аудіо КД
+ Comment[uz]=Аудио компакт-диск
+-Comment[vi]=CD Nhạc
+ Comment[zh_CN]=音频 CD
+ Comment[zh_TW]=音樂 CD
+ Icon=cdaudio_unmount
+diff -urN kioslave/media/mimetypes/blankcd.desktop kioslave/media/mimetypes/blankcd.desktop
+--- kioslave/media/mimetypes/blankcd.desktop Sat Jul 22 10:15:45 2006
++++ kioslave/media/mimetypes/blankcd.desktop Fri Mar 17 11:17:34 2006
+@@ -7,7 +7,6 @@
+ Comment[bg]=Празен диск
+ Comment[bn]=ফাঁকা সিডি
+ Comment[br]=Goullonderiñ ur CD
+-Comment[bs]=Prazan CD
+ Comment[ca]=CD en blanc
+ Comment[cs]=Prázdné CD
+ Comment[da]=Blank cd
+@@ -23,7 +22,6 @@
+ Comment[gl]=CD valeiro
+ Comment[he]=תקליטור ריק
+ Comment[hi]=खाली सीडी
+-Comment[hr]=Prazan CD
+ Comment[hu]=Üres CD
+ Comment[is]=Tómur CD
+ Comment[it]=CD vergine
+@@ -31,7 +29,6 @@
+ Comment[km]=ស៊ីឌី​ទទេ
+ Comment[lt]=Tuščias CD
+ Comment[lv]=Tukšs CD
+-Comment[mk]=Празно ЦД
+ Comment[ms]=CD Kosong
+ Comment[nb]=Tom CD
+ Comment[nds]=Leddige CD
+@@ -45,7 +42,6 @@
+ Comment[ru]=Чистый CD
+ Comment[rw]=CD Itanditseho
+ Comment[se]=Guorus CD
+-Comment[sk]=Čisté CD
+ Comment[sl]=Prazen CD
+ Comment[sr]=Празан CD
+ Comment[sr@Latn]=Prazan CD
+@@ -56,7 +52,6 @@
+ Comment[tt]=Buş CD
+ Comment[uk]=Чистий КД
+ Comment[uz]=Бўш компакт-диск
+-Comment[vi]=CD trống
+ Comment[zh_CN]=空 CD
+ Comment[zh_TW]=空白 CD
+ Icon=cdwriter_unmount
+diff -urN kioslave/media/mimetypes/blankdvd.desktop kioslave/media/mimetypes/blankdvd.desktop
+--- kioslave/media/mimetypes/blankdvd.desktop Sat Jul 22 10:15:45 2006
++++ kioslave/media/mimetypes/blankdvd.desktop Fri Mar 17 11:17:34 2006
+@@ -7,7 +7,6 @@
+ Comment[bg]=Празен диск DVD
+ Comment[bn]=ফাঁকা ডিভিডি
+ Comment[br]=Goullonderiñ un DVD
+-Comment[bs]=Prazan DVD
+ Comment[ca]=DVD en blanc
+ Comment[cs]=Prázdné DVD
+ Comment[da]=Blank dvd
+@@ -23,7 +22,6 @@
+ Comment[gl]=DVD valeiro
+ Comment[he]=תקליטור DVD ריק
+ Comment[hi]=खाली डीवीडी
+-Comment[hr]=Prazan DVD
+ Comment[hu]=Üres DVD
+ Comment[is]=Tómur DVD
+ Comment[it]=DVD vergine
+@@ -31,7 +29,6 @@
+ Comment[km]=ឌីវីឌី​ទទេ
+ Comment[lt]=Tuščias DVD
+ Comment[lv]=Tukšs DVD
+-Comment[mk]=Празно DVD
+ Comment[ms]=DVD Kosong
+ Comment[nb]=Tom DVD
+ Comment[nds]=Leddige DVD
+@@ -45,7 +42,6 @@
+ Comment[ru]=Чистый DVD
+ Comment[rw]=DVD Itanditseho
+ Comment[se]=Guorus DVD
+-Comment[sk]=Čisté DVD
+ Comment[sl]=Prazen DVD
+ Comment[sr]=Празан DVD
+ Comment[sr@Latn]=Prazan DVD
+@@ -56,7 +52,6 @@
+ Comment[tt]=Buş DVD
+ Comment[uk]=Чистий DVD
+ Comment[uz]=Бўш DVD
+-Comment[vi]=DVD trống
+ Comment[zh_CN]=空 DVD
+ Comment[zh_TW]=空白 DVD
+ Icon=cdwriter_unmount
+diff -urN kioslave/media/mimetypes/camera_mounted.desktop kioslave/media/mimetypes/camera_mounted.desktop
+--- kioslave/media/mimetypes/camera_mounted.desktop Sat Jul 22 10:15:45 2006
++++ kioslave/media/mimetypes/camera_mounted.desktop Thu Jan 19 18:00:58 2006
+@@ -7,7 +7,6 @@
+ Comment[bg]=Монтиран фотоапарат
+ Comment[bn]=মাউন্ট করা ক্যামেরা
+ Comment[br]=Kamera marc'het
+-Comment[bs]=Priključena kamera
+ Comment[ca]=Càmara muntada
+ Comment[cs]=Připojená kamera
+ Comment[da]=Monteret kamera
+@@ -21,8 +20,6 @@
+ Comment[fy]=Oankeppele kamera
+ Comment[ga]=Ceamara Feistithe
+ Comment[gl]=Cámara Montada
+-Comment[he]=מצלמה מחוברת
+-Comment[hr]=Pristupljena kamera
+ Comment[hu]=Csatlakoztatott fényképezőgép
+ Comment[is]=Tengd myndavél
+ Comment[it]=Macchina fotografica montata
+@@ -40,7 +37,6 @@
+ Comment[pt_BR]=Câmera montada
+ Comment[ru]=Подключённая камера
+ Comment[se]=Čatnon govvenapperáhtta
+-Comment[sk]=Pripojený digitálny fotoaparát
+ Comment[sl]=Priklopljen fotoaparat
+ Comment[sr]=Монтирана камера
+ Comment[sr@Latn]=Montirana kamera
+@@ -49,7 +45,6 @@
+ Comment[tr]=Bağlı Kamera
+ Comment[uk]=Приєднана камера
+ Comment[uz]=Уланган фотоапарат
+-Comment[vi]=Máy chụp ảnh số đã kết nối
+ Comment[zh_CN]=挂载的相机
+ Comment[zh_TW]=掛載的照相機
+ Icon=camera_mount
+diff -urN kioslave/media/mimetypes/camera_unmounted.desktop kioslave/media/mimetypes/camera_unmounted.desktop
+--- kioslave/media/mimetypes/camera_unmounted.desktop Sat Jul 22 10:15:45 2006
++++ kioslave/media/mimetypes/camera_unmounted.desktop Thu Jan 19 18:00:58 2006
+@@ -7,7 +7,6 @@
+ Comment[bg]=Демонтиран фотоапарат
+ Comment[bn]=আনমাউন্ট করা ক্যামেরা
+ Comment[br]=DVD-ROM divarc'het
+-Comment[bs]=Otkopčana kamera
+ Comment[ca]=Càmera desmuntada
+ Comment[cs]=Odpojená kamera
+ Comment[da]=Afmonteret kamera
+@@ -21,8 +20,6 @@
+ Comment[fy]=Ofkeppele kamera
+ Comment[ga]=Ceamara Neamhfheistithe
+ Comment[gl]=Cámara non Montada
+-Comment[he]=מצלמה מנותקת
+-Comment[hr]=Nepristupljena kamera
+ Comment[hu]=Leválasztott fényképezőgép
+ Comment[is]=Aftengd myndavél
+ Comment[it]=Macchina fotografica non montata
+@@ -40,7 +37,6 @@
+ Comment[pt_BR]=Câmera desmontada
+ Comment[ru]=Неподключённая камера
+ Comment[se]=Gálgajuvvon govvenapperáhtta
+-Comment[sk]=Odpojený digitálny fotoaparát
+ Comment[sl]=Odklopljen fotoaparat
+ Comment[sr]=Демонтирана камера
+ Comment[sr@Latn]=Demontirana kamera
+@@ -49,7 +45,6 @@
+ Comment[tr]=Ayrılmış Kamera
+ Comment[uk]=Роз'єднана камера
+ Comment[uz]=Уланмаган фотоапарат
+-Comment[vi]=Máy chụp ảnh số đã gỡ ra
+ Comment[zh_CN]=未挂载的相机
+ Comment[zh_TW]=未掛載的照相機
+ Icon=camera_unmount
+diff -urN kioslave/media/mimetypes/cdrom_mounted.desktop kioslave/media/mimetypes/cdrom_mounted.desktop
+--- kioslave/media/mimetypes/cdrom_mounted.desktop Mon May 22 20:12:43 2006
++++ kioslave/media/mimetypes/cdrom_mounted.desktop Fri Mar 17 11:17:34 2006
+@@ -29,7 +29,7 @@
+ Comment[gl]=CD-ROM Montado
+ Comment[he]=תקליטור מחובר
+ Comment[hi]=माउन्टेड सीडी-रोम
+-Comment[hr]=Pristupljeni CD-ROM
++Comment[hr]=Montirani CDROM
+ Comment[hu]=Csatlakoztatott CD-ROM
+ Comment[is]=Tengt geisladrif
+ Comment[it]=CD-ROM montato
+@@ -68,7 +68,6 @@
+ Comment[uk]=Змонтований КД
+ Comment[uz]=Уланган компакт-диск
+ Comment[ven]=CD-ROM yo gonyiswaho
+-Comment[vi]=Ổ CD ROM đã kết nối
+ Comment[wa]=Plake lazer montêye
+ Comment[xh]=CD-ROM Enyusiweyo
+ Comment[zh_CN]=挂载的 CD-ROM
+diff -urN kioslave/media/mimetypes/cdrom_unmounted.desktop kioslave/media/mimetypes/cdrom_unmounted.desktop
+--- kioslave/media/mimetypes/cdrom_unmounted.desktop Mon May 22 20:12:43 2006
++++ kioslave/media/mimetypes/cdrom_unmounted.desktop Fri Mar 17 11:17:34 2006
+@@ -29,7 +29,7 @@
+ Comment[gl]=CD-ROM Non Montado
+ Comment[he]=תקליטור מנותק
+ Comment[hi]=अनमाउन्टेड सीडी-रोम
+-Comment[hr]=Nepristupljeni CD-ROM
++Comment[hr]=Nemontirani CDROM
+ Comment[hsb]=Njemontowany CDnik
+ Comment[hu]=Leválasztott CD-ROM
+ Comment[is]=Aftengt geisladrif
+@@ -69,7 +69,7 @@
+ Comment[uk]=Демонтований КД
+ Comment[uz]=Уланмаган компакт-диск
+ Comment[ven]=CD-ROM i songo gonyiswaho
+-Comment[vi]=Ổ CD-ROM đã gỡ ra
++Comment[vi]=CD-ROM được gỡ
+ Comment[wa]=Plake lazer dismontêye
+ Comment[xh]=CD-ROM Enganyuswanga
+ Comment[zh_CN]=未挂载的 CD-ROM
+diff -urN kioslave/media/mimetypes/cdwriter_mounted.desktop kioslave/media/mimetypes/cdwriter_mounted.desktop
+--- kioslave/media/mimetypes/cdwriter_mounted.desktop Mon May 22 20:12:42 2006
++++ kioslave/media/mimetypes/cdwriter_mounted.desktop Fri Mar 17 11:17:34 2006
+@@ -29,7 +29,7 @@
+ Comment[gl]=Grabadora de CD Montada
+ Comment[he]=צורב מחובר
+ Comment[hi]=माउन्टेड सीडी-राइटर
+-Comment[hr]=Pristupljeni CD snimač
++Comment[hr]=Montirani CD-pisač
+ Comment[hsb]=Montowany CD-palak
+ Comment[hu]=Csatlakoztatott CD-író
+ Comment[is]=Tengdur geislaskrifari
+@@ -69,7 +69,7 @@
+ Comment[uk]=Змонтований гравер КД
+ Comment[uz]=Уланган компакт-диск ёзувчи
+ Comment[ven]=Tshinwali tsha CD tsho gonyiswaho
+-Comment[vi]=Ổ ghi CD đã kết nối
++Comment[vi]=Ổ ghi CD được gắn kết
+ Comment[wa]=Plake lazer sol broûleu montêye
+ Comment[xh]=CD Writer Enyusiweyo
+ Comment[zh_CN]=挂载的刻录机
+diff -urN kioslave/media/mimetypes/cdwriter_unmounted.desktop kioslave/media/mimetypes/cdwriter_unmounted.desktop
+--- kioslave/media/mimetypes/cdwriter_unmounted.desktop Mon May 22 20:12:42 2006
++++ kioslave/media/mimetypes/cdwriter_unmounted.desktop Fri Mar 17 11:17:34 2006
+@@ -29,7 +29,7 @@
+ Comment[gl]=Grabadora de CD Non Montada
+ Comment[he]=צורב מנותק
+ Comment[hi]=अनमाउन्टेड सीडी-राइटर
+-Comment[hr]=Nepristupljeni CD snimač
++Comment[hr]=Nemontirani CD-pisač
+ Comment[hsb]=Njemontowany CD-palak
+ Comment[hu]=Leválasztott CD-író
+ Comment[is]=Aftengdur geislaskrifari
+@@ -69,7 +69,7 @@
+ Comment[uk]=Демонтований гравер КД
+ Comment[uz]=Уланмаган компакт-диск ёзувчи
+ Comment[ven]=Tshinwali tsha CD tshi songo gonyiswaho
+-Comment[vi]=Ổ ghi CD đã gỡ ra
++Comment[vi]=Ổ ghi CD được gỡ
+ Comment[wa]=Plake lazer sol broûleu dismontêye
+ Comment[xh]=CD Writer Enganyuswanga
+ Comment[zh_CN]=未挂载的刻录机
+diff -urN kioslave/media/mimetypes/dvd_mounted.desktop kioslave/media/mimetypes/dvd_mounted.desktop
+--- kioslave/media/mimetypes/dvd_mounted.desktop Mon May 22 20:12:42 2006
++++ kioslave/media/mimetypes/dvd_mounted.desktop Fri Mar 17 11:17:34 2006
+@@ -29,7 +29,7 @@
+ Comment[gl]=DVD Montado
+ Comment[he]=כונן DVD מחובר
+ Comment[hi]=माउन्टेड डीवीडी
+-Comment[hr]=Pristupljeni DVD
++Comment[hr]=Montirani DVD
+ Comment[hu]=Csatlakoztatott DVD
+ Comment[is]=Tengt DVD
+ Comment[it]=DVD montato
+@@ -66,7 +66,7 @@
+ Comment[tt]=Totaşqan DVD
+ Comment[uk]=Змонтований DVD
+ Comment[uz]=Уланган DVD
+-Comment[vi]=DVD đã kết nối
++Comment[vi]=DVD được gắn kết
+ Comment[wa]=Plake lazer DVD montêye
+ Comment[zh_CN]=挂载的 DVD
+ Comment[zh_TW]=已掛載的 DVD-ROM
+diff -urN kioslave/media/mimetypes/dvd_unmounted.desktop kioslave/media/mimetypes/dvd_unmounted.desktop
+--- kioslave/media/mimetypes/dvd_unmounted.desktop Tue May 23 13:33:34 2006
++++ kioslave/media/mimetypes/dvd_unmounted.desktop Fri Mar 17 11:17:34 2006
+@@ -29,7 +29,7 @@
+ Comment[gl]=DVD non Montado
+ Comment[he]=כונן DVD מנותק
+ Comment[hi]=अनमाउन्टेड डीवीडी
+-Comment[hr]=Nepristupljeni DVD
++Comment[hr]=Nemontirani DVD
+ Comment[hu]=Leválasztott DVD
+ Comment[is]=Aftengt DVD
+ Comment[it]=DVD smontato
+@@ -38,7 +38,7 @@
+ Comment[lo]=ຫັງກາລີ
+ Comment[lt]=Išmontuotas DVD
+ Comment[lv]=Nomontēts DVD
+-Comment[mk]=Одмонтиран DVD
++Comment[mk]=Демонтиран DVD
+ Comment[mn]=Салгаатай DVD
+ Comment[ms]=DVD Nyahlekap
+ Comment[mt]=DVD mhux immontat
+@@ -66,7 +66,7 @@
+ Comment[tt]=Totaşmağan DVD
+ Comment[uk]=Демонтований DVD
+ Comment[uz]=Уланмаган DVD
+-Comment[vi]=DVD đã gỡ ra
++Comment[vi]=DVD được gỡ
+ Comment[wa]=Plake lazer DVD dismontêye
+ Comment[zh_CN]=未挂载的 DVD
+ Comment[zh_TW]=未掛載的 DVD-ROM
+diff -urN kioslave/media/mimetypes/dvdvideo.desktop kioslave/media/mimetypes/dvdvideo.desktop
+--- kioslave/media/mimetypes/dvdvideo.desktop Sat Jul 22 10:15:45 2006
++++ kioslave/media/mimetypes/dvdvideo.desktop Fri Mar 17 11:17:34 2006
+@@ -7,7 +7,6 @@
+ Comment[bg]=Видео диск DVD
+ Comment[bn]=ডিভিডি ভিডিও ডিস্ক
+ Comment[br]=Pladenn DVD Video
+-Comment[bs]=DVD video disk
+ Comment[ca]=Vídeo disc DVD
+ Comment[cs]=DVD video
+ Comment[da]=Dvd video-disk
+@@ -23,7 +22,6 @@
+ Comment[gl]=DVD de vídeo
+ Comment[he]=תקליטור וידאו של DVD
+ Comment[hi]=डीवीडी वीडियो डिस्क
+-Comment[hr]=DVD video disk
+ Comment[hu]=DVD-videolemez
+ Comment[is]=DVD vídeódiskur
+ Comment[it]=Disco video DVD
+@@ -31,7 +29,6 @@
+ Comment[km]=ថាស​វីដេអូ ឌីវីឌី
+ Comment[lt]=DVD video diskas
+ Comment[lv]=DVD Video Disks
+-Comment[mk]=DVD Видеодиск
+ Comment[ms]=Cakera Video DVD
+ Comment[nb]=DVD-videoplate
+ Comment[nds]=DVD-Videodisk
+@@ -45,7 +42,6 @@
+ Comment[ru]=DVD с видео
+ Comment[rw]=Disiki Videwo DVD
+ Comment[se]=DVD-videoskearru
+-Comment[sk]=DVD Video disk
+ Comment[sl]=DVD Video disk
+ Comment[sr]=DVD видео диск
+ Comment[sr@Latn]=DVD video disk
+@@ -56,9 +52,7 @@
+ Comment[tr]=DVD Vidyo Diski
+ Comment[uk]=Виідео диск DVD
+ Comment[uz]=DVD видео-диск
+-Comment[vi]=Đĩa Video DVD
+ Comment[zh_CN]=DVD 影碟
+ Comment[zh_TW]=DVD 視訊光碟
+ Icon=dvd_unmount
+
+-X-KDE-IsAlso=inode/directory
+diff -urN kioslave/media/mimetypes/floppy5_mounted.desktop kioslave/media/mimetypes/floppy5_mounted.desktop
+--- kioslave/media/mimetypes/floppy5_mounted.desktop Mon May 22 20:12:42 2006
++++ kioslave/media/mimetypes/floppy5_mounted.desktop Fri Mar 17 11:17:34 2006
+@@ -29,7 +29,7 @@
+ Comment[gl]=Disquete 5¼" Montado
+ Comment[he]=תקליטון "¼5 מחובר
+ Comment[hi]=माउन्टेड 5¼" फ़्लॉपी
+-Comment[hr]=Pristupljena 5¼" disketa
++Comment[hr]=Montirana 5¼" disketa
+ Comment[hu]=Csatlakoztatott 5¼"-es floppy
+ Comment[is]=Tengdur 5¼" disklingur
+ Comment[it]=Dischetto da 5¼" montato
+@@ -68,7 +68,7 @@
+ Comment[uk]=Змонтований флопі 5¼"
+ Comment[uz]=Уланган 5¼"дискет
+ Comment[ven]=5¼" Floppy yo gonyiswaho
+-Comment[vi]=Đĩa mềm 5¼" đã kết nối
++Comment[vi]=Đĩa mềm 5¼"được gỡ
+ Comment[wa]=Plakete 5" ¼ montêye
+ Comment[xh]=Elayishiweyo 5¼" Floppy
+ Comment[zh_CN]=挂载的 5.25 英寸软驱
+diff -urN kioslave/media/mimetypes/floppy5_unmounted.desktop kioslave/media/mimetypes/floppy5_unmounted.desktop
+--- kioslave/media/mimetypes/floppy5_unmounted.desktop Tue May 23 13:33:35 2006
++++ kioslave/media/mimetypes/floppy5_unmounted.desktop Fri Mar 17 11:17:34 2006
+@@ -29,7 +29,7 @@
+ Comment[gl]=Disquete 5¼" Non Montado
+ Comment[he]=תקליטון "¼5 מנותק
+ Comment[hi]=अनमाउन्टेड 5¼" फ़्लॉपी
+-Comment[hr]=Nepristupljena 5¼" disketa
++Comment[hr]=Nemontirana 5¼" disketa
+ Comment[hu]=Leválasztott 5¼"-es floppy
+ Comment[is]=Aftengdur 5¼" disklingur
+ Comment[it]=Dischetto da 5¼" non montato
+@@ -38,7 +38,7 @@
+ Comment[lo]=ຫັງກາລີ
+ Comment[lt]=Išmontuotas 5¼" lankstus diskelis
+ Comment[lv]=Nomontēta 5¼" diskete
+-Comment[mk]=Одмонтирана 5¼" дискета
++Comment[mk]=Демонтирана 5¼" дискета
+ Comment[mn]=Салгагдсан 5¼"-Уян диск
+ Comment[ms]=Liut 5¼" Terlekap
+ Comment[mt]=Flopi 5¼" mhux immontat
+@@ -68,7 +68,7 @@
+ Comment[uk]=Демонтований флопі 5¼"
+ Comment[uz]=Уланмаган 5¼"дискет
+ Comment[ven]=5¼" Floppy i songo gonyiswaho
+-Comment[vi]=Đĩa mềm 5¼" đã gỡ ra
++Comment[vi]=Đĩa mềm 5¼" được gỡ
+ Comment[wa]=Plakete 5" ¼ dismontêye
+ Comment[xh]=Enganyuswanga 5¼" Floppy
+ Comment[zh_CN]=未挂载的 5.25 英寸软驱
+diff -urN kioslave/media/mimetypes/floppy_mounted.desktop kioslave/media/mimetypes/floppy_mounted.desktop
+--- kioslave/media/mimetypes/floppy_mounted.desktop Mon May 22 20:12:43 2006
++++ kioslave/media/mimetypes/floppy_mounted.desktop Fri Mar 17 11:17:34 2006
+@@ -29,7 +29,7 @@
+ Comment[gl]=Disquete Montado
+ Comment[he]=תקליטון מחובר
+ Comment[hi]=माउन्टेड फ़्लॉपी
+-Comment[hr]=Pristupljena disketa
++Comment[hr]=Montirana disketa
+ Comment[hu]=Csatlakoztatott floppy
+ Comment[is]=Tengdur disklingur
+ Comment[it]=Dischetto montato
+@@ -68,7 +68,7 @@
+ Comment[uk]=Змонтований флопі
+ Comment[uz]=Уланган дискет
+ Comment[ven]=Floppy yo gonyiswaho
+-Comment[vi]=Đĩa mềm đã kết nối
++Comment[vi]=Đĩa mềm được gắn kết
+ Comment[wa]=Plakete montêye
+ Comment[xh]=Floppy Enyusiweyo
+ Comment[zh_CN]=挂载的软驱
+diff -urN kioslave/media/mimetypes/floppy_unmounted.desktop kioslave/media/mimetypes/floppy_unmounted.desktop
+--- kioslave/media/mimetypes/floppy_unmounted.desktop Tue May 23 13:33:34 2006
++++ kioslave/media/mimetypes/floppy_unmounted.desktop Fri Mar 17 11:17:34 2006
+@@ -29,7 +29,7 @@
+ Comment[gl]=Disquete non Montado
+ Comment[he]=תקליטון מנותק
+ Comment[hi]=अनमाउन्टेड फ़्लॉपी
+-Comment[hr]=Nepristupljena disketa
++Comment[hr]=Nemontirana disketa
+ Comment[hu]=Leválasztott floppy
+ Comment[is]=Aftengdur disklingur
+ Comment[it]=Dischetto non montato
+@@ -38,7 +38,7 @@
+ Comment[lo]=ຫັງກາລີ
+ Comment[lt]=Išmontuotas lankstus diskelis
+ Comment[lv]=Nomontēta diskete
+-Comment[mk]=Одмонтирана дискета
++Comment[mk]=Демонтирана дискета
+ Comment[mn]=Салгагдсан уян дискүүд
+ Comment[ms]=Liut Nyahlekap
+ Comment[mt]=Flopi mhux immontat
+@@ -68,7 +68,7 @@
+ Comment[uk]=Демонтований флопі
+ Comment[uz]=Уланмаган дискет
+ Comment[ven]=Floppy i songo gonyiswaho
+-Comment[vi]=Đĩa mềm đã gỡ ra
++Comment[vi]=Đĩa mềm được gỡ
+ Comment[wa]=Plakete dismontêye
+ Comment[xh]=Floppy Enganyuswanga
+ Comment[zh_CN]=未挂载的软驱
+diff -urN kioslave/media/mimetypes/gphoto2camera.desktop kioslave/media/mimetypes/gphoto2camera.desktop
+--- kioslave/media/mimetypes/gphoto2camera.desktop Sat Jul 22 10:15:45 2006
++++ kioslave/media/mimetypes/gphoto2camera.desktop Thu Jan 19 18:00:58 2006
+@@ -8,7 +8,6 @@
+ Comment[bg]=Фотоапарат
+ Comment[bn]=ক্যামেরা
+ Comment[br]=Kamera
+-Comment[bs]=Kamera
+ Comment[ca]=Càmara
+ Comment[cs]=Kamera
+ Comment[da]=Kamera
+@@ -25,8 +24,7 @@
+ Comment[gl]=Cámara
+ Comment[he]=מצלמה
+ Comment[hi]=कैमरा
+-Comment[hr]=Kamera
+-Comment[hu]=Fényképezőgép
++Comment[hu]=Kamera
+ Comment[is]=Myndavél
+ Comment[it]=Macchina fotografica
+ Comment[ja]=カメラ
+@@ -46,7 +44,6 @@
+ Comment[ru]=Камера
+ Comment[rw]=Kamera
+ Comment[se]=Govvanaperáhtta
+-Comment[sk]=Digitálny fotoaparát
+ Comment[sl]=Fotoaparat
+ Comment[sr]=Камера
+ Comment[sr@Latn]=Kamera
+@@ -58,7 +55,6 @@
+ Comment[tt]=Kamera
+ Comment[uk]=Камера
+ Comment[uz]=Фотоапарат
+-Comment[vi]=Máy chụp ảnh số
+ Comment[zh_CN]=相机
+ Comment[zh_TW]=相機
+ Icon=camera_unmount
+diff -urN kioslave/media/mimetypes/hdd_mounted.desktop kioslave/media/mimetypes/hdd_mounted.desktop
+--- kioslave/media/mimetypes/hdd_mounted.desktop Sat Jul 22 10:15:45 2006
++++ kioslave/media/mimetypes/hdd_mounted.desktop Fri Mar 17 11:17:34 2006
+@@ -9,7 +9,6 @@
+ Comment[bg]=Монтиран дял на твърд диск
+ Comment[bn]=মাউন্ট করা হার্ড ডিস্ক ভলিউম
+ Comment[br]=Pladenn marc'het
+-Comment[bs]=Montirana hard disk particija
+ Comment[ca]=Disc dur muntat
+ Comment[cs]=Připojený oddíl pevného disku
+ Comment[da]=Monteret harddisk-volumen
+@@ -26,7 +25,6 @@
+ Comment[gl]=Partizón do Disco Duro Montada
+ Comment[he]=מחיצת כונן קשיח מחוברת
+ Comment[hi]=माउन्टेड हार्ड डिस्क वॉल्यूम
+-Comment[hr]=Pristupljeni volumen tvrdog diska
+ Comment[hu]=Csatlakoztatott merevlemezes partíció
+ Comment[is]=Tengd disksneið
+ Comment[it]=Volume disco rigido montato
+@@ -49,7 +47,6 @@
+ Comment[ru]=Смонтированный раздел жёсткого диска
+ Comment[rw]=Ububiko Disiki Bwashyizwemo
+ Comment[se]=Čatnon garraskearrooassi
+-Comment[sk]=Pripojený oddiel pevného disku
+ Comment[sl]=Priklopljen pogon trdega diska
+ Comment[sr]=Монтирана партиција хард диска
+ Comment[sr@Latn]=Montirana particija hard diska
+@@ -60,7 +57,6 @@
+ Comment[tt]=Totaşqan Qatı Disk Töpläme
+ Comment[uk]=Змонтований розділ жорсткого диску
+ Comment[uz]=Қаттиқ дискнинг уланган қисми
+-Comment[vi]=Các Phân vùng Ổ cứng đã kết nối
+ Comment[zh_CN]=挂载的硬盘卷
+ Comment[zh_TW]=已掛載的硬碟分割區
+ Patterns=
+diff -urN kioslave/media/mimetypes/hdd_unmounted.desktop kioslave/media/mimetypes/hdd_unmounted.desktop
+--- kioslave/media/mimetypes/hdd_unmounted.desktop Sat Jul 22 10:15:45 2006
++++ kioslave/media/mimetypes/hdd_unmounted.desktop Fri Mar 17 11:17:34 2006
+@@ -9,7 +9,6 @@
+ Comment[bg]=Демонтиран дял на твърд диск
+ Comment[bn]=আনমাউন্ট করা হার্ড ডিস্ক ভলিউম
+ Comment[br]=Pladenn divarc'het
+-Comment[bs]=Demontirana hard disk particija
+ Comment[ca]=Disc dur desmuntat
+ Comment[cs]=Odpojený oddíl pevného disku
+ Comment[da]=Afmonteret harddisk-volumen
+@@ -26,7 +25,6 @@
+ Comment[gl]=Partizón do Disco Duro Non Montada
+ Comment[he]=מחיצת כונן קשיח מנותקת
+ Comment[hi]=अनमाउन्टेड हार्ड डिस्क वॉल्यूम
+-Comment[hr]=Nepristupljeni volumen tvrdog diska
+ Comment[hu]=Leválasztott merevlemezes partíció
+ Comment[is]=Aftengd disksneið
+ Comment[it]=Volume disco rigido non montato
+@@ -49,7 +47,6 @@
+ Comment[ru]=Отмонтированный раздел жёсткого диска
+ Comment[rw]=Ububiko Disiki Bwakuwemo
+ Comment[se]=Gálgajuvvon garraskearrooassi
+-Comment[sk]=Odpojený oddiel pevného disku
+ Comment[sl]=Odklopljen pogon trdega diska
+ Comment[sr]=Демонтирана партиција хард диска
+ Comment[sr@Latn]=Demontirana particija hard diska
+@@ -60,7 +57,6 @@
+ Comment[tt]=Totaşmağan Qatı Disk Töpläme
+ Comment[uk]=Демонтований розділ жорсткого диску
+ Comment[uz]=Қаттиқ дискнинг уланмаган қисми
+-Comment[vi]=Các Phân vùng Ổ cứng đã gỡ ra
+ Comment[zh_CN]=未挂载的硬盘卷
+ Comment[zh_TW]=未掛載的硬碟分割區
+ Patterns=
+diff -urN kioslave/media/mimetypes/nfs_mounted.desktop kioslave/media/mimetypes/nfs_mounted.desktop
+--- kioslave/media/mimetypes/nfs_mounted.desktop Sat Jul 22 10:15:45 2006
++++ kioslave/media/mimetypes/nfs_mounted.desktop Fri Mar 17 11:17:34 2006
+@@ -9,7 +9,6 @@
+ Comment[bg]=Монтиран ресурс NFS
+ Comment[bn]=মাউন্ট করা এন-এফ-এস শেয়ার
+ Comment[br]=Rennad NFS marc'het
+-Comment[bs]=Montiran NFS resurs
+ Comment[ca]=Recurs NFS muntat
+ Comment[cs]=Připojený zdroj NFS
+ Comment[da]=Monteret NFS-share
+@@ -26,7 +25,6 @@
+ Comment[gl]=Compartizón NFS Montada
+ Comment[he]=משאב NFS מחובר
+ Comment[hi]=माउन्टेड एनएफ़एस साझा
+-Comment[hr]=Pristupljeno NFS dijeljenje
+ Comment[hu]=Csatlakoztatott NFS-megosztás
+ Comment[is]=Tengd NFS auðlind
+ Comment[it]=Risorsa NFS montata
+@@ -34,11 +32,11 @@
+ Comment[km]=NFS Share បាន​រៀបចំ
+ Comment[lt]=Sumontuotas NFS bendro naudojimo resursas
+ Comment[lv]=Piemontēta NFS šāre
+-Comment[mk]=Монтиран NFS-ресурс
++Comment[mk]=Монтиран NFS ресурс
+ Comment[ms]=Perkongsian NFS Terlekap
+ Comment[mt]=Riżors NFS immuntat
+ Comment[nb]=Montert NFS-ressurs
+-Comment[nds]=Inhangt NFS-Freegaav
++Comment[nds]=Inhangt NFS-Ressource
+ Comment[nl]=Aangekoppelde NFS-gegevensbron
+ Comment[nn]=Montert delt NFS-ressurs
+ Comment[pa]=ਮਾਊਟ ਕੀਤੀ NFS ਸਾਂਝ
+@@ -49,7 +47,6 @@
+ Comment[ru]=Смонтированный ресурс NFS
+ Comment[rw]=Umugabane NFS Washyizwemo
+ Comment[se]=Čatnon NFS-resursa
+-Comment[sk]=Pripojený zdroj NFS
+ Comment[sl]=Priklopljen vir NFS
+ Comment[sr]=Монтирано NFS дељење
+ Comment[sr@Latn]=Montirano NFS deljenje
+@@ -60,7 +57,6 @@
+ Comment[tt]=Totaşqan NFS Urtağı
+ Comment[uk]=Змонтований ресурс NFS
+ Comment[uz]=Уланган NFS манба
+-Comment[vi]=Chia sẻ NFS đã kết nối
+ Comment[zh_CN]=挂载的 NFS 共享
+ Comment[zh_TW]=已掛載的 NFS 資源
+ Patterns=
+diff -urN kioslave/media/mimetypes/nfs_unmounted.desktop kioslave/media/mimetypes/nfs_unmounted.desktop
+--- kioslave/media/mimetypes/nfs_unmounted.desktop Sat Jul 22 10:15:45 2006
++++ kioslave/media/mimetypes/nfs_unmounted.desktop Fri Mar 17 11:17:34 2006
+@@ -9,7 +9,6 @@
+ Comment[bg]=Демонтиран ресурс NFS
+ Comment[bn]=আনমাউন্ট করা এন-এফ-এস শেয়ার
+ Comment[br]=Rennad NFS divarc'het
+-Comment[bs]=Demontiran NFS resurs
+ Comment[ca]=Recurs NFS desmuntat
+ Comment[cs]=Odpojený zdroj NFS
+ Comment[da]=Afmonteret NFS-share
+@@ -26,7 +25,6 @@
+ Comment[gl]=Compartizón NFS non Montada
+ Comment[he]=משאב NFS מנותק
+ Comment[hi]=अनमाउन्टेड एनएफ़एस साझा
+-Comment[hr]=Nepristupljeno NFS dijeljenje
+ Comment[hu]=Leválasztott NFS-megosztás
+ Comment[is]=Aftengd NFS auðlind
+ Comment[it]=Risorsa NFS non montata
+@@ -34,11 +32,11 @@
+ Comment[km]=NFS Share មិន​បាន​រៀបចំ
+ Comment[lt]=Išmontuotas NFS bendro naudojimo resursas
+ Comment[lv]=Nomontēta NFS šāre
+-Comment[mk]=Одмонтиран NFS-ресурс
++Comment[mk]=Одмонтиран NFS ресурс
+ Comment[ms]=Perkongsian NFS Nyahlekap
+ Comment[mt]=Riżors NFS mhux immuntat
+ Comment[nb]=Avmontert NFS-ressurs
+-Comment[nds]=Afhangt NFS-Freegaav
++Comment[nds]=Afhangt NFS-Ressource
+ Comment[nl]=Afgekoppelde NFS-gegevensbron
+ Comment[nn]=Umontert delt NFS-ressurs
+ Comment[pa]=ਅਨਮਾਊਟ ਕੀਤੀ NFS ਸਾਂਝ
+@@ -49,7 +47,6 @@
+ Comment[ru]=Отмонтированный ресурс NFS
+ Comment[rw]=Umugabane NFS Wakuwemo
+ Comment[se]=Gálgajuvvon NFS-resursa
+-Comment[sk]=Odpojený zdroj NFS
+ Comment[sl]=Odklopljen vir NFS
+ Comment[sr]=Демонтирано NFS дељење
+ Comment[sr@Latn]=Demontirano NFS deljenje
+@@ -60,7 +57,6 @@
+ Comment[tt]=Totaşmağan NFS Urtağı
+ Comment[uk]=Демонтований ресурс NFS
+ Comment[uz]=Уланмаган NFS манба
+-Comment[vi]=Chia sẻ NFS đã gỡ ra
+ Comment[zh_CN]=未挂载的 NFS 共享
+ Comment[zh_TW]=未掛載的 NFS 資源
+ Patterns=
+diff -urN kioslave/media/mimetypes/removable_mounted.desktop kioslave/media/mimetypes/removable_mounted.desktop
+--- kioslave/media/mimetypes/removable_mounted.desktop Sat Jul 22 10:15:45 2006
++++ kioslave/media/mimetypes/removable_mounted.desktop Fri Mar 17 11:17:34 2006
+@@ -9,7 +9,6 @@
+ Comment[bg]=Монтиран преносим носител
+ Comment[bn]=মাউন্ট করা অপসারণযোগ্য মিডিয়াম
+ Comment[br]=Medium lem-laka marc'het
+-Comment[bs]=Montiran izmjenjivi uređaj
+ Comment[ca]=Suport extraible muntat
+ Comment[cs]=Připojené výměnné médium
+ Comment[da]=Monteret medie der kan fjernes
+@@ -26,7 +25,6 @@
+ Comment[gl]=Dispositivo Extraíbel Montado
+ Comment[he]=מדיה חיצונית מחוברת
+ Comment[hi]=माउन्टेड रीमूवेबल माध्यम
+-Comment[hr]=Pristupljen izmjenjiv medij
+ Comment[hu]=Csatlakoztatott adathordozó
+ Comment[is]=Tengdur útskiptanlegur miðill
+ Comment[it]=Supporto rimovibile montato
+@@ -49,7 +47,6 @@
+ Comment[ru]=Смонтированный внешний диск
+ Comment[rw]=Igitangazamakuru Kivanwamo Cyashyizwemo
+ Comment[se]=Čátnon sirdehahtti medium
+-Comment[sk]=Pripojené vyberateľné médium
+ Comment[sl]=Priklopljen odstranljiv medij
+ Comment[sr]=Монтиран уклоњиви медијум
+ Comment[sr@Latn]=Montiran uklonjivi medijum
+@@ -60,7 +57,6 @@
+ Comment[tt]=Totaşqan Çığarulı Media
+ Comment[uk]=Змонтований переносний носій
+ Comment[uz]=Уланган сақлаш ускунаси
+-Comment[vi]=Ổ lưu trữ Di động đã kết nối
+ Comment[zh_CN]=挂载的可移动介质
+ Comment[zh_TW]=已掛載的可攜式媒體
+ Patterns=
+diff -urN kioslave/media/mimetypes/removable_unmounted.desktop kioslave/media/mimetypes/removable_unmounted.desktop
+--- kioslave/media/mimetypes/removable_unmounted.desktop Sat Jul 22 10:15:45 2006
++++ kioslave/media/mimetypes/removable_unmounted.desktop Fri Mar 17 11:17:34 2006
+@@ -9,7 +9,6 @@
+ Comment[bg]=Демонтиран преносим носител
+ Comment[bn]=আনমাউন্ট করা অপসারণযোগ্য মিডিয়াম
+ Comment[br]=Medium ar skoroù lem/laka divarc'het
+-Comment[bs]=Demontiran izmjenjivi uređaj
+ Comment[ca]=Suport extraible desmuntat
+ Comment[cs]=Odpojené výměnné médium
+ Comment[da]=Afmonteret medie der kan fjernes
+@@ -26,7 +25,6 @@
+ Comment[gl]=Dispositivo Extraíbel Non Montado
+ Comment[he]=מדייה חיצונית מנותקת
+ Comment[hi]=अनमाउन्टेड रीमूवेबल माध्यम
+-Comment[hr]=Nepristupljen izmjenjiv medij
+ Comment[hu]=Leválasztott adathordozó
+ Comment[is]=Aftengdur útskiptanlegur miðill
+ Comment[it]=Supporto rimovibile non montato
+@@ -49,7 +47,6 @@
+ Comment[ru]=Отмонтированный внешний диск
+ Comment[rw]=Igitangazamakuru Kivanwamo Cyavanwemo
+ Comment[se]=Gálgaduvvon sirdehahtti medium
+-Comment[sk]=Odpojené vyberateľné médium
+ Comment[sl]=Odklopljen odstranljiv medij
+ Comment[sr]=Демонтиран уклоњиви медијум
+ Comment[sr@Latn]=Demontiran uklonjivi medijum
+@@ -60,7 +57,6 @@
+ Comment[tt]=Totaşmağan Çığarulı Medium
+ Comment[uk]=Демонтований переносний носій
+ Comment[uz]=Уланмаган сақлаш ускунаси
+-Comment[vi]=Ổ lưu trữ Di động đã gỡ ra
+ Comment[zh_CN]=未挂载的可移动介质
+ Comment[zh_TW]=未掛載的可攜式媒體
+ Patterns=
+diff -urN kioslave/media/mimetypes/smb_mounted.desktop kioslave/media/mimetypes/smb_mounted.desktop
+--- kioslave/media/mimetypes/smb_mounted.desktop Tue May 23 13:33:34 2006
++++ kioslave/media/mimetypes/smb_mounted.desktop Fri Mar 17 11:17:34 2006
+@@ -29,7 +29,7 @@
+ Comment[gl]=Compartizón Samba Montada (Rede de Microsoft)
+ Comment[he]=שיתוף Microsoft Network) Samba) מחובר
+ Comment[hi]=माउन्टेड साम्बा (माइक्रोसाफ्ट नेटवर्क) साझेदारी
+-Comment[hr]=Pristupljeno Samba dijeljenje (Microsoft mreža)
++Comment[hr]=Montirano djeljenje Sambom (Microsoft mreža)
+ Comment[hsb]=Montowany Samba-(Microsoft syć)-zapisk
+ Comment[hu]=Csatlakoztatott Samba-megosztás
+ Comment[is]=Tengd Samba (Microsoft Network) sameign
+@@ -43,7 +43,7 @@
+ Comment[ms]=Perkongsian Samba Terlekap (Rangkaian Microsoft)
+ Comment[mt]=Riżors Samba (Microsoft Network) immuntat
+ Comment[nb]=Montert Samba-katalog (Microsoft nettverk)
+-Comment[nds]=Inhangt Samba-Freegaav (Microsoft-Nettwark)
++Comment[nds]=Inhangt Samba-Ressource (Microsoft-Nettwark)
+ Comment[nl]=Aangekoppelde Samba-netwerkbron (Microsoft-netwerken)
+ Comment[nn]=Montert Samba-ressurs (Microsoft-nettverk)
+ Comment[nso]=Kabagano yeo e Nameleditswego ya Samba (Kgokagano ya Microsoft)
+@@ -67,7 +67,7 @@
+ Comment[tt]=Totaşqan Samba (Microsoft Çeltäre) Urtağı
+ Comment[uk]=Змонтований спільний ресурс Samba (мережа Microsoft)
+ Comment[ven]=Samba yo gonyaho (Vhukwamani ha Microsoft) U kovhekana
+-Comment[vi]=Chia sẻ SAMBA (mạng của Microsoft) đã kết nối
++Comment[vi]=Vùng chia sẻ SAMBA (mạng của Microsoft) được gắn kết
+ Comment[xh]=Samba Enyusiweyo (Umsebenzi womnatha we Microsoft) Ulwahlulo
+ Comment[zh_CN]=挂载的 Samba (Microsoft 网络)共享
+ Comment[zh_TW]=已掛載的 Samba (Microsoft 網路) 分享
+diff -urN kioslave/media/mimetypes/smb_unmounted.desktop kioslave/media/mimetypes/smb_unmounted.desktop
+--- kioslave/media/mimetypes/smb_unmounted.desktop Tue May 23 13:33:34 2006
++++ kioslave/media/mimetypes/smb_unmounted.desktop Fri Mar 17 11:17:34 2006
+@@ -29,7 +29,7 @@
+ Comment[gl]=Compartizón Samba Non Montada (Rede de Microsoft)
+ Comment[he]=שיתוף Microsoft Network) Samba) מנותק
+ Comment[hi]=अनमाउन्टेड साम्बा (माइक्रोसाफ्ट नेटवर्क) साझेदारी
+-Comment[hr]=Nepristupljeno Samba dijeljenje (Microsoft mreža)
++Comment[hr]=Neontirano djeljenje Sambom (Microsoft mreža)
+ Comment[hsb]=Njemontowany Samba-(Microsoft syć)-zapisk
+ Comment[hu]=Leválasztott Samba-megosztás
+ Comment[is]=Aftengd Samba (Microsoft Network) sameign
+@@ -44,7 +44,7 @@
+ Comment[ms]=Perkongsian Samba Nyahlekap (Rangkaian Microsoft)
+ Comment[mt]=Riżors Samba (Microsoft Network) mhux immuntat
+ Comment[nb]=Avmontert Samba-katalog (Microsoft nettverk)
+-Comment[nds]=Afhangt Samba-Freegaav (Microsoft-Nettwark)
++Comment[nds]=Afhangt Samba-Ressource (Microsoft-Nettwark)
+ Comment[nl]=Afgekoppelde Samba-netwerkbron (Microsoft-netwerkbron)
+ Comment[nn]=Avmontert Samba-ressurs (Microsoft-nettverk)
+ Comment[nso]=Kabagano yeo e Theositswego ya Samba (Kgokagano ya Microsoft)
+@@ -68,7 +68,7 @@
+ Comment[tt]=Totaşmağan Samba (Microsoft Çeltäre) Urtağı
+ Comment[uk]=Демонтований спільний ресурс Samba (мережа Microsoft)
+ Comment[ven]=Samba i songo gonyaho (Vhukamani ha Microsoft) U kovhekana
+-Comment[vi]=Chia sẻ SAMBA (mạng của Microsoft) đã gỡ ra
++Comment[vi]=Vùng chia sẻ SAMBA (Mạng của Microsoft) được gỡ
+ Comment[xh]=Samba Enganyuswanga (Umsebenzi womnatha we Microsoft) Ulwahlulo
+ Comment[zh_CN]=未挂载的 Samba (Microsoft 网络)共享
+ Comment[zh_TW]=未掛載的 Samba (Microsoft 網路) 分享
+diff -urN kioslave/media/mimetypes/svcd.desktop kioslave/media/mimetypes/svcd.desktop
+--- kioslave/media/mimetypes/svcd.desktop Sat Jul 22 10:15:45 2006
++++ kioslave/media/mimetypes/svcd.desktop Thu Jan 19 18:00:58 2006
+@@ -16,7 +16,6 @@
+ Comment[it]=Super video CD
+ Comment[ja]=スーパービデオ CD
+ Comment[km]=ស៊ីឌី​វីដេអូ​គុណភាព​ខ្ពស់
+-Comment[mk]=Супер видео ЦД
+ Comment[ms]=CD Supervideo
+ Comment[nb]=Super video CD
+ Comment[nds]=Super-Video-CD
+@@ -37,7 +36,6 @@
+ Comment[tr]=Süper Vidyo CD
+ Comment[uk]=Супер відео КД
+ Comment[uz]=Супер-видео компакт-диск
+-Comment[vi]=Đĩa siêu video CD
+ Comment[zh_CN]=超级 VCD
+ Comment[zh_TW]=超級視訊 CD
+ Icon=cdrom_unmount
+diff -urN kioslave/media/mimetypes/vcd.desktop kioslave/media/mimetypes/vcd.desktop
+--- kioslave/media/mimetypes/vcd.desktop Sat Jul 22 10:15:45 2006
++++ kioslave/media/mimetypes/vcd.desktop Fri Mar 17 11:17:34 2006
+@@ -18,7 +18,6 @@
+ Comment[is]=Vídeó CD
+ Comment[ja]=ビデオ CD
+ Comment[km]=ស៊ីឌី​វីដេអូ
+-Comment[mk]=Видео ЦД
+ Comment[ms]=CD Video
+ Comment[nds]=Video-CD
+ Comment[nl]=Video-cd
+@@ -37,7 +36,6 @@
+ Comment[tr]=Vidyo CD
+ Comment[uk]=Видео КД
+ Comment[uz]=Видео компакт-диск
+-Comment[vi]=Đĩa video CD
+ Comment[zh_CN]=VCD
+ Comment[zh_TW]=視訊 CD
+ Icon=cdrom_unmount
+diff -urN kioslave/media/mimetypes/zip_mounted.desktop kioslave/media/mimetypes/zip_mounted.desktop
+--- kioslave/media/mimetypes/zip_mounted.desktop Tue May 23 13:33:35 2006
++++ kioslave/media/mimetypes/zip_mounted.desktop Fri Mar 17 11:17:34 2006
+@@ -29,7 +29,7 @@
+ Comment[gl]=Disco Zip Montado
+ Comment[he]=תקליטון Zip מחובר
+ Comment[hi]=माउन्टेड जिप डिस्क
+-Comment[hr]=Pristupljeni Zip disk
++Comment[hr]=Montirani Zip disk
+ Comment[hu]=Csatlakoztatott Zip-lemez
+ Comment[is]=Tengdur Zip diskur
+ Comment[it]=Disco Zip montato
+@@ -38,7 +38,6 @@
+ Comment[lo]=ຈໍພາບ
+ Comment[lt]=Sumontuotas Zip diskas
+ Comment[lv]=Piemontēts Zip disks
+-Comment[mk]=Монтиран Зип-диск
+ Comment[mn]=Залгагдсан Zip-Диск
+ Comment[ms]=Cakera Zip Terlekap
+ Comment[mt]=Diska Zip immuntata
+@@ -68,7 +67,6 @@
+ Comment[uk]=Змонтований диск Zip
+ Comment[uz]=Уланган ZIP-диск
+ Comment[ven]=Disk ya Zip yo gonyiswaho
+-Comment[vi]=Đĩa ZIP đã kết nối
+ Comment[wa]=Plakete ZIP montêye
+ Comment[xh]=Diski Yoqokelelo ndawonye Kwediski
+ Comment[zh_CN]=挂载的 Zip 磁盘
+diff -urN kioslave/media/mimetypes/zip_unmounted.desktop kioslave/media/mimetypes/zip_unmounted.desktop
+--- kioslave/media/mimetypes/zip_unmounted.desktop Sat Jul 22 10:15:45 2006
++++ kioslave/media/mimetypes/zip_unmounted.desktop Fri Mar 17 11:17:34 2006
+@@ -29,16 +29,16 @@
+ Comment[gl]=Disco Zip non Montado
+ Comment[he]=תקליטון Zip מנותק
+ Comment[hi]=अनमाउन्टेड जिप डिस्क
+-Comment[hr]=Nepristupljeni Zip disk
++Comment[hr]=Nemontirani Zip disk
+ Comment[hu]=Leválasztott Zip-lemez
+ Comment[is]=Aftengdur Zip diskur
+ Comment[it]=Disco Zip non montato
+-Comment[ja]=マウントされていない Zip ディスク
++Comment[ja]=マウントされていないZipディスク
+ Comment[km]=ថាស Zip មិន​បាន​រៀបចំ
+ Comment[lo]= ຫັງກາລີ
+ Comment[lt]=Išmontuotas Zip diskas
+ Comment[lv]=Nomontēts Zip disks
+-Comment[mk]=Одмонтиран Зип-диск
++Comment[mk]=Одмонтиран Зип диск
+ Comment[mn]=Салгагдсан Zip-Диск
+ Comment[ms]=Cakera Zip Nyahlekap
+ Comment[mt]=Diska Zip mhux immuntata
+@@ -68,7 +68,6 @@
+ Comment[uk]=Демонтований диск Zip
+ Comment[uz]=Уланмаган ZIP-диск
+ Comment[ven]=Disk ya Zip i songo gonyiswaho
+-Comment[vi]=Đĩa ZIP đã gỡ ra
+ Comment[wa]=Plakete ZIP dismontêye
+ Comment[xh]=Diski Yoqokelelo ndawone Enganyuswanga
+ Comment[zh_CN]=挂载的 Zip 磁盘
+diff -urN kioslave/media/mounthelper/Makefile.in kioslave/media/mounthelper/Makefile.in
+--- kioslave/media/mounthelper/Makefile.in Mon Jul 24 17:56:31 2006
++++ kioslave/media/mounthelper/Makefile.in Mon Mar 20 14:05:55 2006
+@@ -57,8 +57,8 @@
+ #>+ 1
+ kio_media_mounthelper_OBJECTS = kio_media_mounthelper.$(OBJEXT)
+ am__DEPENDENCIES_1 =
+-kio_media_mounthelper_DEPENDENCIES = \
+- ../libmediacommon/libmediacommon.la $(am__DEPENDENCIES_1)
++kio_media_mounthelper_DEPENDENCIES = $(am__DEPENDENCIES_1) \
++ ../libmediacommon/libmediacommon.la
+ DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+ depcomp = $(SHELL) $(top_srcdir)/admin/depcomp
+ am__depfiles_maybe = depfiles
+@@ -236,6 +236,7 @@
+ LIBTOOL = @LIBTOOL@
+ LIBUCB = @LIBUCB@
+ LIBUSBCONFIG = @LIBUSBCONFIG@
++LIBUTEMPTER = @LIBUTEMPTER@
+ LIBUTIL = @LIBUTIL@
+ LIBXDMCP = @LIBXDMCP@
+ LIBXFT_LIB = @LIBXFT_LIB@
+@@ -575,7 +576,7 @@
+ AM_LDFLAGS = $(all_libraries)
+ kio_media_mounthelper_SOURCES = kio_media_mounthelper.cpp
+ kio_media_mounthelper_LDFLAGS = $(KDE_RPATH) $(all_libraries)
+-kio_media_mounthelper_LDADD = ../libmediacommon/libmediacommon.la $(LIB_KIO)
++kio_media_mounthelper_LDADD = $(LIB_KIO) ../libmediacommon/libmediacommon.la
+ #>- METASOURCES = AUTO
+ #>- all: all-am
+ #>+ 1
+diff -urN kioslave/media/mounthelper/kio_media_mounthelper.cpp kioslave/media/mounthelper/kio_media_mounthelper.cpp
+--- kioslave/media/mounthelper/kio_media_mounthelper.cpp Sat Jul 22 10:15:42 2006
++++ kioslave/media/mounthelper/kio_media_mounthelper.cpp Fri Mar 17 11:17:33 2006
+@@ -27,7 +27,6 @@
+ #include <dcopclient.h>
+ #include <dcopref.h>
+ #include <qtimer.h>
+-#include <stdlib.h>
+ #include <kdebug.h>
+ #include <kglobal.h>
+ #include <kprocess.h>
+@@ -79,30 +78,31 @@
+
+ if (args->isSet("u"))
+ {
+- DCOPRef mediamanager("kded", "mediamanager");
+- DCOPReply reply = mediamanager.call( "unmount", medium.id());
+- if (reply.isValid())
+- reply.get(m_errorStr);
+- kdDebug() << "medium unmount " << m_errorStr << endl;
+- if (m_errorStr.isNull())
+- ::exit(0);
+- else
+- error();
++ KIO::Job * job = KIO::unmount( mount_point );
++
++ connect( job, SIGNAL( result( KIO::Job * ) ),
++ this, SLOT( slotResult( KIO::Job * ) ) );
+ }
+ else if (args->isSet("s") || args->isSet("e"))
+ {
+- invokeEject(device, true);
++ if (medium.isMounted())
++ {
++ KIO::Job * job = KIO::unmount( mount_point );
++
++ m_device = device;
++ connect( job, SIGNAL( result( KIO::Job * ) ),
++ this, SLOT( slotResultSafe( KIO::Job * ) ) );
++ }
++ else
++ {
++ invokeEject(device, true);
++ }
+ }
+ else
+ {
+- DCOPRef mediamanager("kded", "mediamanager");
+- DCOPReply reply = mediamanager.call( "mount", medium.id());
+- if (reply.isValid())
+- reply.get(m_errorStr);
+- if (m_errorStr.isNull())
+- ::exit(0);
+- else
+- error();
++ KIO::Job* job = KIO::mount( false, 0, device, mount_point);
++ connect( job, SIGNAL( result( KIO::Job * ) ),
++ this, SLOT( slotResult( KIO::Job * ) ) );
+ }
+ }
+
+@@ -173,12 +173,12 @@
+ void MountHelper::error()
+ {
+ KMessageBox::error(0, m_errorStr);
+- ::exit(1);
++ kapp->exit(1);
+ }
+
+ void MountHelper::finished()
+ {
+- ::exit(0);
++ kapp->quit();
+ }
+
+ static KCmdLineOptions options[] =
+@@ -207,7 +207,7 @@
+
+ KStartupInfo::appStarted();
+ app->dcopClient()->attach();
+- return app->exec();
++ app->exec();
+ }
+
+ #include "kio_media_mounthelper.moc"
+diff -urN kioslave/media/propsdlgplugin/Makefile.in kioslave/media/propsdlgplugin/Makefile.in
+--- kioslave/media/propsdlgplugin/Makefile.in Mon Jul 24 17:56:31 2006
++++ kioslave/media/propsdlgplugin/Makefile.in Thu Jan 1 01:00:00 1970
+@@ -1,1063 +0,0 @@
+-# Makefile.in generated by automake 1.9.6 from Makefile.am.
+-# KDE tags expanded automatically by am_edit - $Revision: 483858 $
+-# @configure_input@
+-
+-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+-# 2003, 2004, 2005 Free Software Foundation, Inc.
+-# This Makefile.in is free software; the Free Software Foundation
+-# gives unlimited permission to copy and/or distribute it,
+-# with or without modifications, as long as this notice is preserved.
+-
+-# This program is distributed in the hope that it will be useful,
+-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+-# PARTICULAR PURPOSE.
+-
+-@SET_MAKE@
+-
+-
+-srcdir = @srcdir@
+-top_srcdir = @top_srcdir@
+-VPATH = @srcdir@
+-pkgdatadir = $(datadir)/@PACKAGE@
+-pkglibdir = $(libdir)/@PACKAGE@
+-pkgincludedir = $(includedir)/@PACKAGE@
+-top_builddir = ../../..
+-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+-INSTALL = @INSTALL@
+-install_sh_DATA = $(install_sh) -c -m 644
+-install_sh_PROGRAM = $(install_sh) -c
+-install_sh_SCRIPT = $(install_sh) -c
+-INSTALL_HEADER = $(INSTALL_DATA)
+-transform = $(program_transform_name)
+-NORMAL_INSTALL = :
+-PRE_INSTALL = :
+-POST_INSTALL = :
+-NORMAL_UNINSTALL = :
+-PRE_UNINSTALL = :
+-POST_UNINSTALL = :
+-build_triplet = @build@
+-host_triplet = @host@
+-target_triplet = @target@
+-subdir = kioslave/media/propsdlgplugin
+-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+- $(top_srcdir)/configure.in
+-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+- $(ACLOCAL_M4)
+-mkinstalldirs = $(SHELL) $(top_srcdir)/admin/mkinstalldirs
+-CONFIG_HEADER = $(top_builddir)/config.h
+-CONFIG_CLEAN_FILES =
+-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+-am__vpath_adj = case $$p in \
+- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+- *) f=$$p;; \
+- esac;
+-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+-am__installdirs = "$(DESTDIR)$(kde_moduledir)" \
+- "$(DESTDIR)$(kde_servicesdir)"
+-kde_moduleLTLIBRARIES_INSTALL = $(INSTALL)
+-LTLIBRARIES = $(kde_module_LTLIBRARIES)
+-am__DEPENDENCIES_1 =
+-media_propsdlgplugin_la_DEPENDENCIES = \
+- ../libmediacommon/libmediacommon.la $(am__DEPENDENCIES_1)
+-am_media_propsdlgplugin_la_OBJECTS = propertiespage.lo \
+- propsdlgshareplugin.lo
+-#>- media_propsdlgplugin_la_OBJECTS = \
+-#>- $(am_media_propsdlgplugin_la_OBJECTS)
+-#>+ 5
+-media_propsdlgplugin_la_final_OBJECTS = media_propsdlgplugin_la.all_cpp.lo
+-media_propsdlgplugin_la_nofinal_OBJECTS = propertiespage.lo \
+- propsdlgshareplugin.lo propertiespagegui.lo
+-@KDE_USE_FINAL_FALSE@media_propsdlgplugin_la_OBJECTS = $(media_propsdlgplugin_la_nofinal_OBJECTS)
+-@KDE_USE_FINAL_TRUE@media_propsdlgplugin_la_OBJECTS = $(media_propsdlgplugin_la_final_OBJECTS)
+-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+-depcomp = $(SHELL) $(top_srcdir)/admin/depcomp
+-am__depfiles_maybe = depfiles
+-#>- CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+-#>- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+-#>+ 2
+-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS)
+-#>- LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+-#>- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+-#>- $(AM_CXXFLAGS) $(CXXFLAGS)
+-#>+ 3
+-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CXXFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS)
+-CXXLD = $(CXX)
+-#>- CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+-#>- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+-#>+ 2
+-CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+- $(CXXFLAGS) $(KDE_CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+-SOURCES = $(media_propsdlgplugin_la_SOURCES)
+-DIST_SOURCES = $(media_propsdlgplugin_la_SOURCES)
+-kde_servicesDATA_INSTALL = $(INSTALL_DATA)
+-DATA = $(kde_services_DATA)
+-ETAGS = etags
+-CTAGS = ctags
+-#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+-#>+ 1
+-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST)
+-ACLOCAL = @ACLOCAL@
+-AMDEP_FALSE = @AMDEP_FALSE@
+-AMDEP_TRUE = @AMDEP_TRUE@
+-AMTAR = @AMTAR@
+-AR = @AR@
+-ARTSCCONFIG = @ARTSCCONFIG@
+-ARTS_CFLAGS = @ARTS_CFLAGS@
+-AUTOCONF = @AUTOCONF@
+-AUTODIRS = @AUTODIRS@
+-AUTOHEADER = @AUTOHEADER@
+-AUTOMAKE = @AUTOMAKE@
+-AWK = @AWK@
+-CC = @CC@
+-CCDEPMODE = @CCDEPMODE@
+-CFLAGS = @CFLAGS@
+-COMPILE_GL_INFO_FALSE = @COMPILE_GL_INFO_FALSE@
+-COMPILE_GL_INFO_TRUE = @COMPILE_GL_INFO_TRUE@
+-CONF_FILES = @CONF_FILES@
+-CPP = @CPP@
+-CPPFLAGS = @CPPFLAGS@
+-CXX = @CXX@
+-CXXCPP = @CXXCPP@
+-CXXDEPMODE = @CXXDEPMODE@
+-CXXFLAGS = @CXXFLAGS@
+-CYGPATH_W = @CYGPATH_W@
+-DBUSQT_INCS = @DBUSQT_INCS@
+-DBUSQT_LIBS = @DBUSQT_LIBS@
+-DBUS_CFLAGS = @DBUS_CFLAGS@
+-DBUS_INCS = @DBUS_INCS@
+-DBUS_LIBS = @DBUS_LIBS@
+-DCOPIDL = @DCOPIDL@
+-DCOPIDL2CPP = @DCOPIDL2CPP@
+-DCOPIDLNG = @DCOPIDLNG@
+-DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@
+-DEFS = @DEFS@
+-DEPDIR = @DEPDIR@
+-DOXYGEN = @DOXYGEN@
+-DOXYGEN_PROJECT_NAME = @DOXYGEN_PROJECT_NAME@
+-DOXYGEN_PROJECT_NUMBER = @DOXYGEN_PROJECT_NUMBER@
+-DPMSINC = @DPMSINC@
+-DPMSLIB = @DPMSLIB@
+-ECHO = @ECHO@
+-ECHO_C = @ECHO_C@
+-ECHO_N = @ECHO_N@
+-ECHO_T = @ECHO_T@
+-EGREP = @EGREP@
+-ENABLE_PERMISSIVE_FLAG = @ENABLE_PERMISSIVE_FLAG@
+-EXEEXT = @EXEEXT@
+-EXR_FLAGS = @EXR_FLAGS@
+-F77 = @F77@
+-FFLAGS = @FFLAGS@
+-FRAMEWORK_COREAUDIO = @FRAMEWORK_COREAUDIO@
+-GLINC = @GLINC@
+-GLLIB = @GLLIB@
+-GMSGFMT = @GMSGFMT@
+-HALBACKEND = @HALBACKEND@
+-HAL_CFLAGS = @HAL_CFLAGS@
+-HAL_INCS = @HAL_INCS@
+-HAL_LIBS = @HAL_LIBS@
+-HAVE_DNSSD_FALSE = @HAVE_DNSSD_FALSE@
+-HAVE_DNSSD_TRUE = @HAVE_DNSSD_TRUE@
+-HAVE_GCC_VISIBILITY = @HAVE_GCC_VISIBILITY@
+-INSTALL_DATA = @INSTALL_DATA@
+-INSTALL_PROGRAM = @INSTALL_PROGRAM@
+-INSTALL_SCRIPT = @INSTALL_SCRIPT@
+-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+-JAR = @JAR@
+-JAVAC = @JAVAC@
+-JAVAH = @JAVAH@
+-JVMLIBS = @JVMLIBS@
+-KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@
+-KCHECKPASS_PAM_SERVICE = @KCHECKPASS_PAM_SERVICE@
+-KCONFIG_COMPILER = @KCONFIG_COMPILER@
+-KDECONFIG = @KDECONFIG@
+-KDE_BINDIR = @KDE_BINDIR@
+-KDE_CHECK_PLUGIN = @KDE_CHECK_PLUGIN@
+-KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@
+-KDE_HAS_DOXYGEN = @KDE_HAS_DOXYGEN@
+-KDE_HAVE_DOT = @KDE_HAVE_DOT@
+-KDE_INCLUDES = @KDE_INCLUDES@
+-KDE_LDFLAGS = @KDE_LDFLAGS@
+-KDE_MT_LDFLAGS = @KDE_MT_LDFLAGS@
+-KDE_MT_LIBS = @KDE_MT_LIBS@
+-KDE_NO_UNDEFINED = @KDE_NO_UNDEFINED@
+-KDE_PLUGIN = @KDE_PLUGIN@
+-KDE_RPATH = @KDE_RPATH@
+-KDE_USE_CLOSURE_FALSE = @KDE_USE_CLOSURE_FALSE@
+-KDE_USE_CLOSURE_TRUE = @KDE_USE_CLOSURE_TRUE@
+-KDE_USE_FINAL_FALSE = @KDE_USE_FINAL_FALSE@
+-KDE_USE_FINAL_TRUE = @KDE_USE_FINAL_TRUE@
+-KDE_USE_FPIE = @KDE_USE_FPIE@
+-KDE_USE_NMCHECK_FALSE = @KDE_USE_NMCHECK_FALSE@
+-KDE_USE_NMCHECK_TRUE = @KDE_USE_NMCHECK_TRUE@
+-KDE_USE_PIE = @KDE_USE_PIE@
+-KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@
+-KDM_PAM_SERVICE = @KDM_PAM_SERVICE@
+-KHOTKEYS_ARTS_SUBDIR = @KHOTKEYS_ARTS_SUBDIR@
+-KRB4_INCS = @KRB4_INCS@
+-KRB4_LIBS = @KRB4_LIBS@
+-KRB4_RPATH = @KRB4_RPATH@
+-KRB5_INCS = @KRB5_INCS@
+-KRB5_LIBS = @KRB5_LIBS@
+-KRB5_RPATH = @KRB5_RPATH@
+-KSCREENSAVER_PAM_SERVICE = @KSCREENSAVER_PAM_SERVICE@
+-LDAP_INCS = @LDAP_INCS@
+-LDAP_LIBS = @LDAP_LIBS@
+-LDAP_RPATH = @LDAP_RPATH@
+-LDFLAGS = @LDFLAGS@
+-LDFLAGS_AS_NEEDED = @LDFLAGS_AS_NEEDED@
+-LDFLAGS_NEW_DTAGS = @LDFLAGS_NEW_DTAGS@
+-LIBALIB = @LIBALIB@
+-LIBART_CFLAGS = @LIBART_CFLAGS@
+-LIBART_LIBS = @LIBART_LIBS@
+-LIBART_RPATH = @LIBART_RPATH@
+-LIBBZ2 = @LIBBZ2@
+-LIBCFG = @LIBCFG@
+-LIBCOMPAT = @LIBCOMPAT@
+-LIBCRYPT = @LIBCRYPT@
+-LIBCURSES = @LIBCURSES@
+-LIBDEVINFO = @LIBDEVINFO@
+-LIBDL = @LIBDL@
+-LIBFONTCONFIG_CFLAGS = @LIBFONTCONFIG_CFLAGS@
+-LIBFONTCONFIG_LIBS = @LIBFONTCONFIG_LIBS@
+-LIBFONTCONFIG_RPATH = @LIBFONTCONFIG_RPATH@
+-LIBFREETYPE_CFLAGS = @LIBFREETYPE_CFLAGS@
+-LIBFREETYPE_LIBS = @LIBFREETYPE_LIBS@
+-LIBFREETYPE_RPATH = @LIBFREETYPE_RPATH@
+-LIBGEN = @LIBGEN@
+-LIBHOSTS = @LIBHOSTS@
+-LIBJPEG = @LIBJPEG@
+-LIBKSTAT = @LIBKSTAT@
+-LIBMALLOC = @LIBMALLOC@
+-LIBOBJS = @LIBOBJS@
+-LIBODM = @LIBODM@
+-LIBOSSAUDIO = @LIBOSSAUDIO@
+-LIBPNG = @LIBPNG@
+-LIBPOSIX4 = @LIBPOSIX4@
+-LIBPTHREAD = @LIBPTHREAD@
+-LIBRESOLV = @LIBRESOLV@
+-LIBRPC = @LIBRPC@
+-LIBS = @LIBS@
+-LIBSENSORS = @LIBSENSORS@
+-LIBSHADOW = @LIBSHADOW@
+-LIBSM = @LIBSM@
+-LIBSOCKET = @LIBSOCKET@
+-LIBSSL = @LIBSSL@
+-LIBTOOL = @LIBTOOL@
+-LIBUCB = @LIBUCB@
+-LIBUSBCONFIG = @LIBUSBCONFIG@
+-LIBUTIL = @LIBUTIL@
+-LIBXDMCP = @LIBXDMCP@
+-LIBXFT_LIB = @LIBXFT_LIB@
+-LIBZ = @LIBZ@
+-LIB_ARTS = @LIB_ARTS@
+-LIB_DNSSD = @LIB_DNSSD@
+-LIB_EXR = @LIB_EXR@
+-LIB_FONT_ENC = @LIB_FONT_ENC@
+-LIB_KAB = @LIB_KAB@
+-LIB_KABC = @LIB_KABC@
+-LIB_KDECORE = @LIB_KDECORE@
+-LIB_KDED = @LIB_KDED@
+-LIB_KDEPIM = @LIB_KDEPIM@
+-LIB_KDEPRINT = @LIB_KDEPRINT@
+-LIB_KDEUI = @LIB_KDEUI@
+-LIB_KDNSSD = @LIB_KDNSSD@
+-LIB_KFILE = @LIB_KFILE@
+-LIB_KFM = @LIB_KFM@
+-LIB_KHTML = @LIB_KHTML@
+-LIB_KIMPROXY = @LIB_KIMPROXY@
+-LIB_KIO = @LIB_KIO@
+-LIB_KJS = @LIB_KJS@
+-LIB_KNEWSTUFF = @LIB_KNEWSTUFF@
+-LIB_KPARTS = @LIB_KPARTS@
+-LIB_KSPELL = @LIB_KSPELL@
+-LIB_KSYCOCA = @LIB_KSYCOCA@
+-LIB_KUNITTEST = @LIB_KUNITTEST@
+-LIB_KUTILS = @LIB_KUTILS@
+-LIB_KVM = @LIB_KVM@
+-LIB_LBER = @LIB_LBER@
+-LIB_LIBS = @LIB_LIBS@
+-LIB_POLL = @LIB_POLL@
+-LIB_QPE = @LIB_QPE@
+-LIB_QT = @LIB_QT@
+-LIB_SMB = @LIB_SMB@
+-LIB_TRU64_MACH = @LIB_TRU64_MACH@
+-LIB_X11 = @LIB_X11@
+-LIB_XCOMPOSITE = @LIB_XCOMPOSITE@
+-LIB_XCURSOR = @LIB_XCURSOR@
+-LIB_XEXT = @LIB_XEXT@
+-LIB_XF86MISC = @LIB_XF86MISC@
+-LIB_XFIXES = @LIB_XFIXES@
+-LIB_XINERAMA = @LIB_XINERAMA@
+-LIB_XRANDR = @LIB_XRANDR@
+-LIB_XRENDER = @LIB_XRENDER@
+-LIB_XSS = @LIB_XSS@
+-LINUXCDPOLLING = @LINUXCDPOLLING@
+-LN_S = @LN_S@
+-LTLIBOBJS = @LTLIBOBJS@
+-MAKEINFO = @MAKEINFO@
+-MAKEKDEWIDGETS = @MAKEKDEWIDGETS@
+-MCOPIDL = @MCOPIDL@
+-MD5SUM = @MD5SUM@
+-MD5SUM_CUT = @MD5SUM_CUT@
+-MEINPROC = @MEINPROC@
+-MOC = @MOC@
+-MSGFMT = @MSGFMT@
+-NOOPT_CFLAGS = @NOOPT_CFLAGS@
+-NOOPT_CXXFLAGS = @NOOPT_CXXFLAGS@
+-OBJEXT = @OBJEXT@
+-PACKAGE = @PACKAGE@
+-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+-PACKAGE_NAME = @PACKAGE_NAME@
+-PACKAGE_STRING = @PACKAGE_STRING@
+-PACKAGE_TARNAME = @PACKAGE_TARNAME@
+-PACKAGE_VERSION = @PACKAGE_VERSION@
+-PAMLIBS = @PAMLIBS@
+-PASSWDLIBS = @PASSWDLIBS@
+-PATH_SEPARATOR = @PATH_SEPARATOR@
+-PERL = @PERL@
+-PKG_CONFIG = @PKG_CONFIG@
+-QTDOCDIR = @QTDOCDIR@
+-QTE_NORTTI = @QTE_NORTTI@
+-QT_INCLUDES = @QT_INCLUDES@
+-QT_LDFLAGS = @QT_LDFLAGS@
+-RANLIB = @RANLIB@
+-RUN_KAPPFINDER = @RUN_KAPPFINDER@
+-SASL2_LIBS = @SASL2_LIBS@
+-SETUIDFLAGS = @SETUIDFLAGS@
+-SET_MAKE = @SET_MAKE@
+-SHELL = @SHELL@
+-SMBCLIENT_EXTRA_LIBS = @SMBCLIENT_EXTRA_LIBS@
+-SSL_INCLUDES = @SSL_INCLUDES@
+-SSL_LDFLAGS = @SSL_LDFLAGS@
+-STRIP = @STRIP@
+-TOPSUBDIRS = @TOPSUBDIRS@
+-UIC = @UIC@
+-UIC_TR = @UIC_TR@
+-UNAME = @UNAME@
+-USB_CFLAGS = @USB_CFLAGS@
+-USB_LIBS = @USB_LIBS@
+-USER_INCLUDES = @USER_INCLUDES@
+-USER_LDFLAGS = @USER_LDFLAGS@
+-USE_EXCEPTIONS = @USE_EXCEPTIONS@
+-USE_RTTI = @USE_RTTI@
+-USE_THREADS = @USE_THREADS@
+-VERSION = @VERSION@
+-WOVERLOADED_VIRTUAL = @WOVERLOADED_VIRTUAL@
+-XGETTEXT = @XGETTEXT@
+-XMLLINT = @XMLLINT@
+-XTESTLIB = @XTESTLIB@
+-X_EXTRA_LIBS = @X_EXTRA_LIBS@
+-X_INCLUDES = @X_INCLUDES@
+-X_LDFLAGS = @X_LDFLAGS@
+-X_PRE_LIBS = @X_PRE_LIBS@
+-X_RPATH = @X_RPATH@
+-ac_ct_AR = @ac_ct_AR@
+-ac_ct_CC = @ac_ct_CC@
+-ac_ct_CXX = @ac_ct_CXX@
+-ac_ct_F77 = @ac_ct_F77@
+-ac_ct_RANLIB = @ac_ct_RANLIB@
+-ac_ct_STRIP = @ac_ct_STRIP@
+-all_includes = @all_includes@
+-all_libraries = @all_libraries@
+-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+-am__include = @am__include@
+-am__leading_dot = @am__leading_dot@
+-am__quote = @am__quote@
+-am__tar = @am__tar@
+-am__untar = @am__untar@
+-applnk_SUBDIR_included_FALSE = @applnk_SUBDIR_included_FALSE@
+-applnk_SUBDIR_included_TRUE = @applnk_SUBDIR_included_TRUE@
+-bindir = @bindir@
+-build = @build@
+-build_alias = @build_alias@
+-build_cpu = @build_cpu@
+-build_os = @build_os@
+-build_vendor = @build_vendor@
+-datadir = @datadir@
+-doc_SUBDIR_included_FALSE = @doc_SUBDIR_included_FALSE@
+-doc_SUBDIR_included_TRUE = @doc_SUBDIR_included_TRUE@
+-drkonqi_SUBDIR_included_FALSE = @drkonqi_SUBDIR_included_FALSE@
+-drkonqi_SUBDIR_included_TRUE = @drkonqi_SUBDIR_included_TRUE@
+-exec_prefix = @exec_prefix@
+-have_xcursor_FALSE = @have_xcursor_FALSE@
+-have_xcursor_TRUE = @have_xcursor_TRUE@
+-host = @host@
+-host_alias = @host_alias@
+-host_cpu = @host_cpu@
+-host_os = @host_os@
+-host_vendor = @host_vendor@
+-include_ARTS_FALSE = @include_ARTS_FALSE@
+-include_ARTS_TRUE = @include_ARTS_TRUE@
+-include_BZIP2_FALSE = @include_BZIP2_FALSE@
+-include_BZIP2_TRUE = @include_BZIP2_TRUE@
+-include_EXR_MODULES_FALSE = @include_EXR_MODULES_FALSE@
+-include_EXR_MODULES_TRUE = @include_EXR_MODULES_TRUE@
+-include_fontinst_tn_FALSE = @include_fontinst_tn_FALSE@
+-include_fontinst_tn_TRUE = @include_fontinst_tn_TRUE@
+-include_kcontrol_access_FALSE = @include_kcontrol_access_FALSE@
+-include_kcontrol_access_TRUE = @include_kcontrol_access_TRUE@
+-include_kcontrol_accessibility_FALSE = @include_kcontrol_accessibility_FALSE@
+-include_kcontrol_accessibility_TRUE = @include_kcontrol_accessibility_TRUE@
+-include_kcontrol_joystick_FALSE = @include_kcontrol_joystick_FALSE@
+-include_kcontrol_joystick_TRUE = @include_kcontrol_joystick_TRUE@
+-include_kcontrol_kfontinst_FALSE = @include_kcontrol_kfontinst_FALSE@
+-include_kcontrol_kfontinst_TRUE = @include_kcontrol_kfontinst_TRUE@
+-include_kcontrol_randr_FALSE = @include_kcontrol_randr_FALSE@
+-include_kcontrol_randr_TRUE = @include_kcontrol_randr_TRUE@
+-include_kcontrol_smartcard_FALSE = @include_kcontrol_smartcard_FALSE@
+-include_kcontrol_smartcard_TRUE = @include_kcontrol_smartcard_TRUE@
+-include_kcontrol_usbview_FALSE = @include_kcontrol_usbview_FALSE@
+-include_kcontrol_usbview_TRUE = @include_kcontrol_usbview_TRUE@
+-include_kcontrol_view1394_FALSE = @include_kcontrol_view1394_FALSE@
+-include_kcontrol_view1394_TRUE = @include_kcontrol_view1394_TRUE@
+-include_kioslave_ldap_FALSE = @include_kioslave_ldap_FALSE@
+-include_kioslave_ldap_TRUE = @include_kioslave_ldap_TRUE@
+-include_kioslave_smb_FALSE = @include_kioslave_smb_FALSE@
+-include_kioslave_smb_TRUE = @include_kioslave_smb_TRUE@
+-include_kompmgr_FALSE = @include_kompmgr_FALSE@
+-include_kompmgr_TRUE = @include_kompmgr_TRUE@
+-include_ksysguardd_FALSE = @include_ksysguardd_FALSE@
+-include_ksysguardd_TRUE = @include_ksysguardd_TRUE@
+-include_ksysguardd_freebsd_FALSE = @include_ksysguardd_freebsd_FALSE@
+-include_ksysguardd_freebsd_TRUE = @include_ksysguardd_freebsd_TRUE@
+-include_ksysguardd_irix_FALSE = @include_ksysguardd_irix_FALSE@
+-include_ksysguardd_irix_TRUE = @include_ksysguardd_irix_TRUE@
+-include_ksysguardd_linux_FALSE = @include_ksysguardd_linux_FALSE@
+-include_ksysguardd_linux_TRUE = @include_ksysguardd_linux_TRUE@
+-include_ksysguardd_netbsd_FALSE = @include_ksysguardd_netbsd_FALSE@
+-include_ksysguardd_netbsd_TRUE = @include_ksysguardd_netbsd_TRUE@
+-include_ksysguardd_openbsd_FALSE = @include_ksysguardd_openbsd_FALSE@
+-include_ksysguardd_openbsd_TRUE = @include_ksysguardd_openbsd_TRUE@
+-include_ksysguardd_solaris_FALSE = @include_ksysguardd_solaris_FALSE@
+-include_ksysguardd_solaris_TRUE = @include_ksysguardd_solaris_TRUE@
+-include_ksysguardd_tru64_FALSE = @include_ksysguardd_tru64_FALSE@
+-include_ksysguardd_tru64_TRUE = @include_ksysguardd_tru64_TRUE@
+-include_media_halbackend_FALSE = @include_media_halbackend_FALSE@
+-include_media_halbackend_TRUE = @include_media_halbackend_TRUE@
+-include_media_linuxcdpolling_FALSE = @include_media_linuxcdpolling_FALSE@
+-include_media_linuxcdpolling_TRUE = @include_media_linuxcdpolling_TRUE@
+-include_x11_FALSE = @include_x11_FALSE@
+-include_x11_TRUE = @include_x11_TRUE@
+-includedir = @includedir@
+-infodir = @infodir@
+-install_sh = @install_sh@
+-install_usbids_FALSE = @install_usbids_FALSE@
+-install_usbids_TRUE = @install_usbids_TRUE@
+-jni_includes = @jni_includes@
+-kappfinder_SUBDIR_included_FALSE = @kappfinder_SUBDIR_included_FALSE@
+-kappfinder_SUBDIR_included_TRUE = @kappfinder_SUBDIR_included_TRUE@
+-kate_SUBDIR_included_FALSE = @kate_SUBDIR_included_FALSE@
+-kate_SUBDIR_included_TRUE = @kate_SUBDIR_included_TRUE@
+-kcheckpass_SUBDIR_included_FALSE = @kcheckpass_SUBDIR_included_FALSE@
+-kcheckpass_SUBDIR_included_TRUE = @kcheckpass_SUBDIR_included_TRUE@
+-kcminit_SUBDIR_included_FALSE = @kcminit_SUBDIR_included_FALSE@
+-kcminit_SUBDIR_included_TRUE = @kcminit_SUBDIR_included_TRUE@
+-kcontrol_SUBDIR_included_FALSE = @kcontrol_SUBDIR_included_FALSE@
+-kcontrol_SUBDIR_included_TRUE = @kcontrol_SUBDIR_included_TRUE@
+-kdcop_SUBDIR_included_FALSE = @kdcop_SUBDIR_included_FALSE@
+-kdcop_SUBDIR_included_TRUE = @kdcop_SUBDIR_included_TRUE@
+-kde_appsdir = @kde_appsdir@
+-kde_bindir = @kde_bindir@
+-kde_confdir = @kde_confdir@
+-kde_datadir = @kde_datadir@
+-kde_htmldir = @kde_htmldir@
+-kde_icondir = @kde_icondir@
+-kde_includes = @kde_includes@
+-kde_kcfgdir = @kde_kcfgdir@
+-kde_libraries = @kde_libraries@
+-kde_libs_htmldir = @kde_libs_htmldir@
+-kde_libs_prefix = @kde_libs_prefix@
+-kde_locale = @kde_locale@
+-kde_mimedir = @kde_mimedir@
+-kde_moduledir = @kde_moduledir@
+-kde_qtver = @kde_qtver@
+-kde_servicesdir = @kde_servicesdir@
+-kde_servicetypesdir = @kde_servicetypesdir@
+-kde_sounddir = @kde_sounddir@
+-kde_styledir = @kde_styledir@
+-kde_templatesdir = @kde_templatesdir@
+-kde_wallpaperdir = @kde_wallpaperdir@
+-kde_widgetdir = @kde_widgetdir@
+-kdebugdialog_SUBDIR_included_FALSE = @kdebugdialog_SUBDIR_included_FALSE@
+-kdebugdialog_SUBDIR_included_TRUE = @kdebugdialog_SUBDIR_included_TRUE@
+-kdeeject_SUBDIR_included_FALSE = @kdeeject_SUBDIR_included_FALSE@
+-kdeeject_SUBDIR_included_TRUE = @kdeeject_SUBDIR_included_TRUE@
+-kdeinitdir = @kdeinitdir@
+-kdepasswd_SUBDIR_included_FALSE = @kdepasswd_SUBDIR_included_FALSE@
+-kdepasswd_SUBDIR_included_TRUE = @kdepasswd_SUBDIR_included_TRUE@
+-kdeprint_SUBDIR_included_FALSE = @kdeprint_SUBDIR_included_FALSE@
+-kdeprint_SUBDIR_included_TRUE = @kdeprint_SUBDIR_included_TRUE@
+-kdesktop_SUBDIR_included_FALSE = @kdesktop_SUBDIR_included_FALSE@
+-kdesktop_SUBDIR_included_TRUE = @kdesktop_SUBDIR_included_TRUE@
+-kdesu_SUBDIR_included_FALSE = @kdesu_SUBDIR_included_FALSE@
+-kdesu_SUBDIR_included_TRUE = @kdesu_SUBDIR_included_TRUE@
+-kdialog_SUBDIR_included_FALSE = @kdialog_SUBDIR_included_FALSE@
+-kdialog_SUBDIR_included_TRUE = @kdialog_SUBDIR_included_TRUE@
+-kdm_SUBDIR_included_FALSE = @kdm_SUBDIR_included_FALSE@
+-kdm_SUBDIR_included_TRUE = @kdm_SUBDIR_included_TRUE@
+-kdmlib_SUBDIR_included_FALSE = @kdmlib_SUBDIR_included_FALSE@
+-kdmlib_SUBDIR_included_TRUE = @kdmlib_SUBDIR_included_TRUE@
+-kfind_SUBDIR_included_FALSE = @kfind_SUBDIR_included_FALSE@
+-kfind_SUBDIR_included_TRUE = @kfind_SUBDIR_included_TRUE@
+-khelpcenter_SUBDIR_included_FALSE = @khelpcenter_SUBDIR_included_FALSE@
+-khelpcenter_SUBDIR_included_TRUE = @khelpcenter_SUBDIR_included_TRUE@
+-khotkeys_SUBDIR_included_FALSE = @khotkeys_SUBDIR_included_FALSE@
+-khotkeys_SUBDIR_included_TRUE = @khotkeys_SUBDIR_included_TRUE@
+-kicker_SUBDIR_included_FALSE = @kicker_SUBDIR_included_FALSE@
+-kicker_SUBDIR_included_TRUE = @kicker_SUBDIR_included_TRUE@
+-kioslave_SUBDIR_included_FALSE = @kioslave_SUBDIR_included_FALSE@
+-kioslave_SUBDIR_included_TRUE = @kioslave_SUBDIR_included_TRUE@
+-klipper_SUBDIR_included_FALSE = @klipper_SUBDIR_included_FALSE@
+-klipper_SUBDIR_included_TRUE = @klipper_SUBDIR_included_TRUE@
+-kmenuedit_SUBDIR_included_FALSE = @kmenuedit_SUBDIR_included_FALSE@
+-kmenuedit_SUBDIR_included_TRUE = @kmenuedit_SUBDIR_included_TRUE@
+-knetattach_SUBDIR_included_FALSE = @knetattach_SUBDIR_included_FALSE@
+-knetattach_SUBDIR_included_TRUE = @knetattach_SUBDIR_included_TRUE@
+-konqueror_SUBDIR_included_FALSE = @konqueror_SUBDIR_included_FALSE@
+-konqueror_SUBDIR_included_TRUE = @konqueror_SUBDIR_included_TRUE@
+-konsole_SUBDIR_included_FALSE = @konsole_SUBDIR_included_FALSE@
+-konsole_SUBDIR_included_TRUE = @konsole_SUBDIR_included_TRUE@
+-kpager_SUBDIR_included_FALSE = @kpager_SUBDIR_included_FALSE@
+-kpager_SUBDIR_included_TRUE = @kpager_SUBDIR_included_TRUE@
+-kpersonalizer_SUBDIR_included_FALSE = @kpersonalizer_SUBDIR_included_FALSE@
+-kpersonalizer_SUBDIR_included_TRUE = @kpersonalizer_SUBDIR_included_TRUE@
+-kreadconfig_SUBDIR_included_FALSE = @kreadconfig_SUBDIR_included_FALSE@
+-kreadconfig_SUBDIR_included_TRUE = @kreadconfig_SUBDIR_included_TRUE@
+-kscreensaver_SUBDIR_included_FALSE = @kscreensaver_SUBDIR_included_FALSE@
+-kscreensaver_SUBDIR_included_TRUE = @kscreensaver_SUBDIR_included_TRUE@
+-ksmserver_SUBDIR_included_FALSE = @ksmserver_SUBDIR_included_FALSE@
+-ksmserver_SUBDIR_included_TRUE = @ksmserver_SUBDIR_included_TRUE@
+-ksplashml_SUBDIR_included_FALSE = @ksplashml_SUBDIR_included_FALSE@
+-ksplashml_SUBDIR_included_TRUE = @ksplashml_SUBDIR_included_TRUE@
+-kstart_SUBDIR_included_FALSE = @kstart_SUBDIR_included_FALSE@
+-kstart_SUBDIR_included_TRUE = @kstart_SUBDIR_included_TRUE@
+-ksysguard_SUBDIR_included_FALSE = @ksysguard_SUBDIR_included_FALSE@
+-ksysguard_SUBDIR_included_TRUE = @ksysguard_SUBDIR_included_TRUE@
+-ksystraycmd_SUBDIR_included_FALSE = @ksystraycmd_SUBDIR_included_FALSE@
+-ksystraycmd_SUBDIR_included_TRUE = @ksystraycmd_SUBDIR_included_TRUE@
+-ktip_SUBDIR_included_FALSE = @ktip_SUBDIR_included_FALSE@
+-ktip_SUBDIR_included_TRUE = @ktip_SUBDIR_included_TRUE@
+-kwin_SUBDIR_included_FALSE = @kwin_SUBDIR_included_FALSE@
+-kwin_SUBDIR_included_TRUE = @kwin_SUBDIR_included_TRUE@
+-kxkb_SUBDIR_included_FALSE = @kxkb_SUBDIR_included_FALSE@
+-kxkb_SUBDIR_included_TRUE = @kxkb_SUBDIR_included_TRUE@
+-l10n_SUBDIR_included_FALSE = @l10n_SUBDIR_included_FALSE@
+-l10n_SUBDIR_included_TRUE = @l10n_SUBDIR_included_TRUE@
+-libdir = @libdir@
+-libexecdir = @libexecdir@
+-libkonq_SUBDIR_included_FALSE = @libkonq_SUBDIR_included_FALSE@
+-libkonq_SUBDIR_included_TRUE = @libkonq_SUBDIR_included_TRUE@
+-localstatedir = @localstatedir@
+-mandir = @mandir@
+-mkdir_p = @mkdir_p@
+-nogroup = @nogroup@
+-nsplugins_SUBDIR_included_FALSE = @nsplugins_SUBDIR_included_FALSE@
+-nsplugins_SUBDIR_included_TRUE = @nsplugins_SUBDIR_included_TRUE@
+-oldincludedir = @oldincludedir@
+-pics_SUBDIR_included_FALSE = @pics_SUBDIR_included_FALSE@
+-pics_SUBDIR_included_TRUE = @pics_SUBDIR_included_TRUE@
+-prefix = @prefix@
+-program_transform_name = @program_transform_name@
+-qt_includes = @qt_includes@
+-qt_libraries = @qt_libraries@
+-sbindir = @sbindir@
+-sharedstatedir = @sharedstatedir@
+-supports_i8k_FALSE = @supports_i8k_FALSE@
+-supports_i8k_TRUE = @supports_i8k_TRUE@
+-sysconfdir = @sysconfdir@
+-target = @target@
+-target_alias = @target_alias@
+-target_cpu = @target_cpu@
+-target_os = @target_os@
+-target_vendor = @target_vendor@
+-unsermake_enable_pch_FALSE = @unsermake_enable_pch_FALSE@
+-unsermake_enable_pch_TRUE = @unsermake_enable_pch_TRUE@
+-x_includes = @x_includes@
+-x_libraries = @x_libraries@
+-xdg_appsdir = @xdg_appsdir@
+-xdg_directorydir = @xdg_directorydir@
+-xdg_menudir = @xdg_menudir@
+-#>- METASOURCES = AUTO
+-kde_module_LTLIBRARIES = media_propsdlgplugin.la
+-media_propsdlgplugin_la_LIBADD = ../libmediacommon/libmediacommon.la $(LIB_KIO)
+-media_propsdlgplugin_la_LDFLAGS = $(all_libraries) -module $(KDE_PLUGIN)
+-AM_CPPFLAGS = $(all_includes)
+-kde_services_DATA = media_propsdlgplugin.desktop
+-#>- media_propsdlgplugin_la_SOURCES = propertiespage.cpp propertiespagegui.ui propsdlgshareplugin.cpp
+-#>+ 1
+-media_propsdlgplugin_la_SOURCES=propertiespage.cpp propsdlgshareplugin.cpp propertiespagegui.cpp
+-#>- all: all-am
+-#>+ 1
+-all: docs-am all-am
+-
+-.SUFFIXES:
+-.SUFFIXES: .cpp .lo .o .obj
+-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+-#>- @for dep in $?; do \
+-#>- case '$(am__configure_deps)' in \
+-#>- *$$dep*) \
+-#>- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+-#>- && exit 0; \
+-#>- exit 1;; \
+-#>- esac; \
+-#>- done; \
+-#>- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign kioslave/media/propsdlgplugin/Makefile'; \
+-#>- cd $(top_srcdir) && \
+-#>- $(AUTOMAKE) --foreign kioslave/media/propsdlgplugin/Makefile
+-#>+ 12
+- @for dep in $?; do \
+- case '$(am__configure_deps)' in \
+- *$$dep*) \
+- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+- && exit 0; \
+- exit 1;; \
+- esac; \
+- done; \
+- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign kioslave/media/propsdlgplugin/Makefile'; \
+- cd $(top_srcdir) && \
+- $(AUTOMAKE) --foreign kioslave/media/propsdlgplugin/Makefile
+- cd $(top_srcdir) && perl admin/am_edit kioslave/media/propsdlgplugin/Makefile.in
+-.PRECIOUS: Makefile
+-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+- @case '$?' in \
+- *config.status*) \
+- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+- *) \
+- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+- esac;
+-
+-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+-
+-$(top_srcdir)/configure: $(am__configure_deps)
+- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+-install-kde_moduleLTLIBRARIES: $(kde_module_LTLIBRARIES)
+- @$(NORMAL_INSTALL)
+- test -z "$(kde_moduledir)" || $(mkdir_p) "$(DESTDIR)$(kde_moduledir)"
+- @list='$(kde_module_LTLIBRARIES)'; for p in $$list; do \
+- if test -f $$p; then \
+- f=$(am__strip_dir) \
+- echo " $(LIBTOOL) --mode=install $(kde_moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(kde_moduledir)/$$f'"; \
+- $(LIBTOOL) --mode=install $(kde_moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(kde_moduledir)/$$f"; \
+- else :; fi; \
+- done
+-
+-uninstall-kde_moduleLTLIBRARIES:
+- @$(NORMAL_UNINSTALL)
+- @set -x; list='$(kde_module_LTLIBRARIES)'; for p in $$list; do \
+- p=$(am__strip_dir) \
+- echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(kde_moduledir)/$$p'"; \
+- $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(kde_moduledir)/$$p"; \
+- done
+-
+-clean-kde_moduleLTLIBRARIES:
+- -test -z "$(kde_module_LTLIBRARIES)" || rm -f $(kde_module_LTLIBRARIES)
+- @list='$(kde_module_LTLIBRARIES)'; for p in $$list; do \
+- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+- test "$$dir" != "$$p" || dir=.; \
+- echo "rm -f \"$${dir}/so_locations\""; \
+- rm -f "$${dir}/so_locations"; \
+- done
+-#>- media_propsdlgplugin.la: $(media_propsdlgplugin_la_OBJECTS) $(media_propsdlgplugin_la_DEPENDENCIES)
+-#>+ 2
+-@KDE_USE_CLOSURE_TRUE@media_propsdlgplugin.la: media_propsdlgplugin.la.closure $(media_propsdlgplugin_la_OBJECTS) $(media_propsdlgplugin_la_DEPENDENCIES)
+-@KDE_USE_CLOSURE_FALSE@media_propsdlgplugin.la: $(media_propsdlgplugin_la_OBJECTS) $(media_propsdlgplugin_la_DEPENDENCIES)
+- $(CXXLINK) -rpath $(kde_moduledir) $(media_propsdlgplugin_la_LDFLAGS) $(media_propsdlgplugin_la_OBJECTS) $(media_propsdlgplugin_la_LIBADD) $(LIBS)
+-
+-mostlyclean-compile:
+- -rm -f *.$(OBJEXT)
+-
+-distclean-compile:
+- -rm -f *.tab.c
+-
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/propertiespage.Plo@am__quote@
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/propsdlgshareplugin.Plo@am__quote@
+-
+-.cpp.o:
+-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+-
+-.cpp.obj:
+-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+-
+-.cpp.lo:
+-@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+-
+-mostlyclean-libtool:
+- -rm -f *.lo
+-
+-clean-libtool:
+- -rm -rf .libs _libs
+-
+-distclean-libtool:
+- -rm -f libtool
+-uninstall-info-am:
+-install-kde_servicesDATA: $(kde_services_DATA)
+- @$(NORMAL_INSTALL)
+- test -z "$(kde_servicesdir)" || $(mkdir_p) "$(DESTDIR)$(kde_servicesdir)"
+- @list='$(kde_services_DATA)'; for p in $$list; do \
+- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+- f=$(am__strip_dir) \
+- echo " $(kde_servicesDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(kde_servicesdir)/$$f'"; \
+- $(kde_servicesDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(kde_servicesdir)/$$f"; \
+- done
+-
+-uninstall-kde_servicesDATA:
+- @$(NORMAL_UNINSTALL)
+- @list='$(kde_services_DATA)'; for p in $$list; do \
+- f=$(am__strip_dir) \
+- echo " rm -f '$(DESTDIR)$(kde_servicesdir)/$$f'"; \
+- rm -f "$(DESTDIR)$(kde_servicesdir)/$$f"; \
+- done
+-
+-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+- unique=`for i in $$list; do \
+- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+- done | \
+- $(AWK) ' { files[$$0] = 1; } \
+- END { for (i in files) print i; }'`; \
+- mkid -fID $$unique
+-tags: TAGS
+-
+-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+- $(TAGS_FILES) $(LISP)
+- tags=; \
+- here=`pwd`; \
+- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+- unique=`for i in $$list; do \
+- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+- done | \
+- $(AWK) ' { files[$$0] = 1; } \
+- END { for (i in files) print i; }'`; \
+- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+- test -n "$$unique" || unique=$$empty_fix; \
+- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+- $$tags $$unique; \
+- fi
+-ctags: CTAGS
+-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+- $(TAGS_FILES) $(LISP)
+- tags=; \
+- here=`pwd`; \
+- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+- unique=`for i in $$list; do \
+- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+- done | \
+- $(AWK) ' { files[$$0] = 1; } \
+- END { for (i in files) print i; }'`; \
+- test -z "$(CTAGS_ARGS)$$tags$$unique" \
+- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+- $$tags $$unique
+-
+-GTAGS:
+- here=`$(am__cd) $(top_builddir) && pwd` \
+- && cd $(top_srcdir) \
+- && gtags -i $(GTAGS_ARGS) $$here
+-
+-distclean-tags:
+- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+-
+-distdir: $(DISTFILES)
+- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+- list='$(DISTFILES)'; for file in $$list; do \
+- case $$file in \
+- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+- esac; \
+- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+- dir="/$$dir"; \
+- $(mkdir_p) "$(distdir)$$dir"; \
+- else \
+- dir=''; \
+- fi; \
+- if test -d $$d/$$file; then \
+- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+- fi; \
+- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+- else \
+- test -f $(distdir)/$$file \
+- || cp -p $$d/$$file $(distdir)/$$file \
+- || exit 1; \
+- fi; \
+- done
+-check-am: all-am
+-check: check-am
+-all-am: Makefile $(LTLIBRARIES) $(DATA)
+-installdirs:
+- for dir in "$(DESTDIR)$(kde_moduledir)" "$(DESTDIR)$(kde_servicesdir)"; do \
+- test -z "$$dir" || $(mkdir_p) "$$dir"; \
+- done
+-install: install-am
+-install-exec: install-exec-am
+-install-data: install-data-am
+-uninstall: uninstall-am
+-
+-install-am: all-am
+- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+-
+-installcheck: installcheck-am
+-install-strip:
+- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+- `test -z '$(STRIP)' || \
+- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+-mostlyclean-generic:
+-
+-clean-generic:
+-
+-distclean-generic:
+- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+-
+-maintainer-clean-generic:
+- @echo "This command is intended for maintainers to use"
+- @echo "it deletes files that may require special tools to rebuild."
+-#>- clean: clean-am
+-#>+ 1
+-clean: kde-rpo-clean clean-am
+-
+-#>- clean-am: clean-generic clean-kde_moduleLTLIBRARIES clean-libtool \
+-#>- mostlyclean-am
+-#>+ 2
+-clean-am: clean-metasources clean-ui clean-closures clean-bcheck clean-final clean-generic clean-kde_moduleLTLIBRARIES clean-libtool \
+- mostlyclean-am
+-
+-distclean: distclean-am
+- -rm -rf ./$(DEPDIR)
+- -rm -f Makefile
+-distclean-am: clean-am distclean-compile distclean-generic \
+- distclean-libtool distclean-tags
+-
+-dvi: dvi-am
+-
+-dvi-am:
+-
+-html: html-am
+-
+-info: info-am
+-
+-info-am:
+-
+-#>- install-data-am: install-kde_moduleLTLIBRARIES \
+-#>- install-kde_servicesDATA
+-#>+ 2
+-install-data-am: \
+- install-kde_servicesDATA
+-
+-#>- install-exec-am:
+-#>+ 1
+-install-exec-am: install-kde_moduleLTLIBRARIES
+-
+-install-info: install-info-am
+-
+-install-man:
+-
+-installcheck-am:
+-
+-maintainer-clean: maintainer-clean-am
+- -rm -rf ./$(DEPDIR)
+- -rm -f Makefile
+-maintainer-clean-am: distclean-am maintainer-clean-generic
+-
+-mostlyclean: mostlyclean-am
+-
+-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+- mostlyclean-libtool
+-
+-pdf: pdf-am
+-
+-pdf-am:
+-
+-ps: ps-am
+-
+-ps-am:
+-
+-uninstall-am: uninstall-info-am uninstall-kde_moduleLTLIBRARIES \
+- uninstall-kde_servicesDATA
+-
+-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+- clean-kde_moduleLTLIBRARIES clean-libtool ctags distclean \
+- distclean-compile distclean-generic distclean-libtool \
+- distclean-tags distdir dvi dvi-am html html-am info info-am \
+- install install-am install-data install-data-am install-exec \
+- install-exec-am install-info install-info-am \
+- install-kde_moduleLTLIBRARIES install-kde_servicesDATA \
+- install-man install-strip installcheck installcheck-am \
+- installdirs maintainer-clean maintainer-clean-generic \
+- mostlyclean mostlyclean-compile mostlyclean-generic \
+- mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
+- uninstall-am uninstall-info-am uninstall-kde_moduleLTLIBRARIES \
+- uninstall-kde_servicesDATA
+-
+-# Tell versions [3.59,3.63) of GNU make to not export all variables.
+-# Otherwise a system limit (for SysV at least) may be exceeded.
+-.NOEXPORT:
+-
+-#>+ 8
+-media_propsdlgplugin.la.closure: $(media_propsdlgplugin_la_OBJECTS) $(media_propsdlgplugin_la_DEPENDENCIES)
+- @echo "int main() {return 0;}" > media_propsdlgplugin_la_closure.cpp
+- @$(LTCXXCOMPILE) -c media_propsdlgplugin_la_closure.cpp
+- $(CXXLINK) media_propsdlgplugin_la_closure.lo $(media_propsdlgplugin_la_LDFLAGS) $(media_propsdlgplugin_la_OBJECTS) $(media_propsdlgplugin_la_LIBADD) $(LIBS)
+- @rm -f media_propsdlgplugin_la_closure.* media_propsdlgplugin.la.closure
+- @echo "timestamp" > media_propsdlgplugin.la.closure
+-
+-
+-#>+ 3
+-propsdlgshareplugin.moc: $(srcdir)/propsdlgshareplugin.h
+- $(MOC) $(srcdir)/propsdlgshareplugin.h -o propsdlgshareplugin.moc
+-
+-#>+ 2
+-mocs: propsdlgshareplugin.moc
+-
+-#>+ 3
+-propertiespage.moc: $(srcdir)/propertiespage.h
+- $(MOC) $(srcdir)/propertiespage.h -o propertiespage.moc
+-
+-#>+ 2
+-mocs: propertiespage.moc
+-
+-#>+ 3
+-clean-metasources:
+- -rm -f propsdlgshareplugin.moc propertiespage.moc
+-
+-#>+ 2
+-KDE_DIST=propertiespagegui.ui Makefile.in propertiespage.h propsdlgshareplugin.h media_propsdlgplugin.desktop propertiespagegui.ui.h Makefile.am
+-
+-#>+ 4
+-clean-ui:
+- -rm -f \
+- propertiespagegui.cpp propertiespagegui.h propertiespagegui.moc
+-
+-#>+ 3
+-clean-closures:
+- -rm -f media_propsdlgplugin.la.closure
+-
+-#>+ 2
+-docs-am:
+-
+-#>+ 15
+-force-reedit:
+- @for dep in $?; do \
+- case '$(am__configure_deps)' in \
+- *$$dep*) \
+- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+- && exit 0; \
+- exit 1;; \
+- esac; \
+- done; \
+- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign kioslave/media/propsdlgplugin/Makefile'; \
+- cd $(top_srcdir) && \
+- $(AUTOMAKE) --foreign kioslave/media/propsdlgplugin/Makefile
+- cd $(top_srcdir) && perl admin/am_edit kioslave/media/propsdlgplugin/Makefile.in
+-
+-
+-#>+ 21
+-clean-bcheck:
+- rm -f *.bchecktest.cc *.bchecktest.cc.class a.out
+-
+-bcheck: bcheck-am
+-
+-bcheck-am:
+- @for i in ; do \
+- if test $(srcdir)/$$i -nt $$i.bchecktest.cc; then \
+- echo "int main() {return 0;}" > $$i.bchecktest.cc ; \
+- echo "#include \"$$i\"" >> $$i.bchecktest.cc ; \
+- echo "$$i"; \
+- if ! $(CXXCOMPILE) --dump-class-hierarchy -c $$i.bchecktest.cc; then \
+- rm -f $$i.bchecktest.cc; exit 1; \
+- fi ; \
+- echo "" >> $$i.bchecktest.cc.class; \
+- perl $(top_srcdir)/admin/bcheck.pl $$i.bchecktest.cc.class || { rm -f $$i.bchecktest.cc; exit 1; }; \
+- rm -f a.out; \
+- fi ; \
+- done
+-
+-
+-#>+ 11
+-media_propsdlgplugin_la.all_cpp.cpp: $(srcdir)/Makefile.in $(srcdir)/propertiespage.cpp $(srcdir)/propsdlgshareplugin.cpp propertiespagegui.cpp propsdlgshareplugin.moc propertiespagegui.moc propertiespage.moc
+- @echo 'creating media_propsdlgplugin_la.all_cpp.cpp ...'; \
+- rm -f media_propsdlgplugin_la.all_cpp.files media_propsdlgplugin_la.all_cpp.final; \
+- echo "#define KDE_USE_FINAL 1" >> media_propsdlgplugin_la.all_cpp.final; \
+- for file in propertiespage.cpp propsdlgshareplugin.cpp propertiespagegui.cpp ; do \
+- echo "#include \"$$file\"" >> media_propsdlgplugin_la.all_cpp.files; \
+- test ! -f $(srcdir)/$$file || egrep '^#pragma +implementation' $(srcdir)/$$file >> media_propsdlgplugin_la.all_cpp.final; \
+- done; \
+- cat media_propsdlgplugin_la.all_cpp.final media_propsdlgplugin_la.all_cpp.files > media_propsdlgplugin_la.all_cpp.cpp; \
+- rm -f media_propsdlgplugin_la.all_cpp.final media_propsdlgplugin_la.all_cpp.files
+-
+-#>+ 3
+-clean-final:
+- -rm -f media_propsdlgplugin_la.all_cpp.cpp
+-
+-#>+ 3
+-final:
+- $(MAKE) media_propsdlgplugin_la_OBJECTS="$(media_propsdlgplugin_la_final_OBJECTS)" all-am
+-
+-#>+ 3
+-final-install:
+- $(MAKE) media_propsdlgplugin_la_OBJECTS="$(media_propsdlgplugin_la_final_OBJECTS)" install-am
+-
+-#>+ 3
+-no-final:
+- $(MAKE) media_propsdlgplugin_la_OBJECTS="$(media_propsdlgplugin_la_nofinal_OBJECTS)" all-am
+-
+-#>+ 3
+-no-final-install:
+- $(MAKE) media_propsdlgplugin_la_OBJECTS="$(media_propsdlgplugin_la_nofinal_OBJECTS)" install-am
+-
+-#>+ 3
+-kde-rpo-clean:
+- -rm -f *.rpo
+-
+-#>+ 9
+-nmcheck:
+-propsdlgshareplugin.o: propsdlgshareplugin.moc
+-nmcheck-am: nmcheck
+-propsdlgshareplugin.lo: propsdlgshareplugin.moc
+-propertiespage.lo: propertiespage.moc
+-$(srcdir)/propertiespage.cpp: propertiespagegui.h
+-$(srcdir)/propsdlgshareplugin.cpp: propertiespagegui.h
+-propertiespage.o: propertiespage.moc
+-
+-#>+ 15
+-propertiespagegui.cpp: $(srcdir)/propertiespagegui.ui propertiespagegui.h propertiespagegui.moc
+- rm -f propertiespagegui.cpp
+- echo '#include <kdialog.h>' > propertiespagegui.cpp
+- echo '#include <klocale.h>' >> propertiespagegui.cpp
+- $(UIC) -tr ${UIC_TR} -i propertiespagegui.h $(srcdir)/propertiespagegui.ui > propertiespagegui.cpp.temp ; ret=$$?; \
+- $(PERL) -pe "s,${UIC_TR}( \"\" ),QString::null,g" propertiespagegui.cpp.temp | $(PERL) -pe "s,${UIC_TR}( \"\"\, \"\" ),QString::null,g" | $(PERL) -pe "s,image([0-9][0-9]*)_data,img\$$1_propertiespagegui,g" | $(PERL) -pe "s,: QWizard\(,: KWizard(,g" >> propertiespagegui.cpp ;\
+- rm -f propertiespagegui.cpp.temp ;\
+- if test "$$ret" = 0; then echo '#include "propertiespagegui.moc"' >> propertiespagegui.cpp; else rm -f propertiespagegui.cpp ; exit $$ret ; fi
+-
+-propertiespagegui.h: $(srcdir)/propertiespagegui.ui
+- rm -rf propertiespagegui.h;
+- $(UIC) $(srcdir)/propertiespagegui.ui | $(PERL) -pi -e "s,public QWizard,public KWizard,g; s,#include <qwizard.h>,#include <kwizard.h>,g" >> propertiespagegui.h ;
+-propertiespagegui.moc: propertiespagegui.h
+- $(MOC) propertiespagegui.h -o propertiespagegui.moc
+diff -urN kioslave/media/propsdlgplugin/media_propsdlgplugin.desktop kioslave/media/propsdlgplugin/media_propsdlgplugin.desktop
+--- kioslave/media/propsdlgplugin/media_propsdlgplugin.desktop Sat Jul 22 10:15:43 2006
++++ kioslave/media/propsdlgplugin/media_propsdlgplugin.desktop Thu Jan 1 01:00:00 1970
+@@ -1,57 +0,0 @@
+-[Desktop Entry]
+-Encoding=UTF-8
+-Type=Service
+-Name=Media Properties Page
+-Name[ca]=Pàgina de propietats de suport
+-Name[cs]=Stránka vlastností média
+-Name[da]=Medieegenskabsside
+-Name[de]=Eigenschaften von Medien
+-Name[el]=Σελίδα ιδιοτήτων μέσων
+-Name[es]=Página de propiedades de medios
+-Name[et]=Andmekandjate omadused
+-Name[fi]=Mediaominaisuudet
+-Name[fr]=Page de propriétés du média
+-Name[hu]=Médiajellemzők lap
+-Name[is]=Eiginleikar miðils
+-Name[ja]=メディア属性ページ
+-Name[km]=ទំព័រ​លក្ខណៈសម្បត្តិ​មេឌៀ
+-Name[nds]=Medienegenschappen-Siet
+-Name[nl]=Pagina met media-eigenschappen
+-Name[pt]=Página de Propriedades de Suportes Físicos
+-Name[pt_BR]=Página de Propriedades de Suportes Físicos
+-Name[sk]=Strana vlastností média
+-Name[sl]=Stran z lastnostmi nosilca
+-Name[sr]=Страна са својствима медијума
+-Name[sr@Latn]=Strana sa svojstvima medijuma
+-Name[sv]=Sida för mediaegenskaper
+-Name[uk]=Сторінка властивостей носіїв інформації
+-Name[vi]=Trang tài sản phương tiện
+-Name[zh_TW]=媒體內容頁
+-Comment=Konqueror properties dialog plugin to configure mount behaviour
+-Comment[ca]=Diàleg de propietats de l'endollable Konqueror per a configurar el comportament de muntatge
+-Comment[cs]=Dialog nastavení chování připojení modulu pro Konqueror
+-Comment[da]=Konqueror plugin med egenskabsdialog til at indstille monteringsopførsel
+-Comment[de]=Konqueror-Modul zum Einstellen des Verhaltens beim Einbinden
+-Comment[el]=Πρόσθετο διαλόγου ιδιοτήτων του Konqueror για τη ρύθμιση της συμπεριφοράς προσάρτησης
+-Comment[es]=Plugin de diálogo de propiedades de Konqueror para configurar el comportamiento del montaje
+-Comment[et]=Konquerori seadistustedialoogi plugin andmekandjate ühendamise seadistamiseks
+-Comment[fi]=Konquerorin ominaisuussovelma, joka tarkkailee liitospisteitä
+-Comment[fr]=Module de Konqueror pour configurer le comportement du montage
+-Comment[hu]=Konqueror beállítómodul a csatlakoztatási mód megadásához
+-Comment[is]=Konqueror eiginleikagluggi til að stilla tengihegðun
+-Comment[ja]=mountの挙動を設定する、Konqueror属性ダイアログ プラグイン
+-Comment[km]=កម្មវិធី​ជំនួយ​ឲ្យ​មាន​ប្រអប់​លក្ខណៈសម្បត្តិ Konqueror ដើម្បី​កំណត់​រចនាសម្ព័ន្ធ​ឥរិយាបថ​ម៉ោន
+-Comment[nds]=Egenschappendialoog-Plugin för Konqueror för't Instellen vun't Inhangbedregen
+-Comment[nl]=Dialoogvenster voor Konqueror om het aankoppelgedrag in te stellen
+-Comment[pt]='Plugin' da janela de propriedades do Konqueror, para configurar o comportamento da montagem
+-Comment[pt_BR]='Plugin' da janela de propriedades do Konqueror, para configurar o comportamento da montagem
+-Comment[sk]=Modul Konqueror dialógu vlastností pre konfiguráciu správania pripojenia
+-Comment[sl]=Vstavek za Konqueror s katerim se nastavlja obnašanje priklopa medijev
+-Comment[sr]=Прикључак са својствима Konqueror-а за подешавање понашања при монтирању
+-Comment[sr@Latn]=Priključak sa svojstvima Konqueror-a za podešavanje ponašanja pri montiranju
+-Comment[sv]=Konqueror insticksprogram med egenskapsdialogruta för att anpassa monteringsbeteende
+-Comment[uk]=Втулок вікна властивостей Konqueror для налаштування поведінки монтування
+-Comment[vi]=bổ sung hộp thoại tài sản Konqueror để cấu hình ứng xử gắn kết
+-Comment[zh_TW]=Konqueror 內容對話框外掛程式,用於設定掛載的行為
+-X-KDE-Library=media_propsdlgplugin
+-ServiceTypes=KPropsDlg/Plugin,media/audiocd,media/hdd_mounted,media/hdd_unmounted,media/cdrom_mounted,media/cdrom_unmounted,media/cdwriter_mounted,media/nfs_mounted,media/cdwriter_unmounted,media/nfs_unmounted,media/removable_mounted,media/dvd_mounted,media/removable_unmounted,media/dvd_unmounted,media/smb_mounted,media/dvdvideo,media/smb_unmounted,media/floppy5_mounted,media/floppy5_unmounted,media/floppy_mounted,media/zip_mounted,media/floppy_unmounted,media/zip_unmounted,media/camera_mounted,media/camera_unmounted
+diff -urN kioslave/media/propsdlgplugin/propertiespage.cpp kioslave/media/propsdlgplugin/propertiespage.cpp
+--- kioslave/media/propsdlgplugin/propertiespage.cpp Sat Jul 22 10:15:43 2006
++++ kioslave/media/propsdlgplugin/propertiespage.cpp Thu Jan 1 01:00:00 1970
+@@ -1,217 +0,0 @@
+-/*
+- Copyright (c) 2004 Jan Schaefer <j_schaef@informatik.uni-kl.de>
+-
+- This program is free software; you can redistribute it and/or modify
+- it under the terms of the GNU General Public License as published by
+- the Free Software Foundation; either version 2 of the License, or
+- (at your option) any later version.
+-
+- This program is distributed in the hope that it will be useful,
+- but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- GNU General Public License for more details.
+-
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software
+- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+-
+-*/
+-
+-#include <qcheckbox.h>
+-#include <qtooltip.h>
+-#include <qbuttongroup.h>
+-#include <qlineedit.h>
+-#include <qfileinfo.h>
+-#include <qlabel.h>
+-#include <qregexp.h>
+-#include <kpushbutton.h>
+-#include <kmessagebox.h>
+-#include <klocale.h>
+-#include <qcombobox.h>
+-#include <qtimer.h>
+-#include <kdebug.h>
+-#include "propertiespage.h"
+-#include <dcopref.h>
+-
+-// keep in sync with .ui and kded module
+-const char *short_names[] = {"lower", "win95", "winnt", "mixed", 0 };
+-const char *journales[] = {"data", "ordered", "writeback", 0 };
+-
+-PropertiesPage::PropertiesPage(QWidget* parent, const QString &_id)
+- : PropertiesPageGUI(parent), id(_id)
+-{
+- kdDebug() << "props page " << id << endl;
+- DCOPRef mediamanager("kded", "mediamanager");
+- DCOPReply reply = mediamanager.call( "mountoptions", id);
+-
+- QStringList list;
+-
+- if (reply.isValid())
+- list = reply;
+-
+- if (list.size()) {
+- kdDebug() << "list " << list << endl;
+-
+- for (QStringList::ConstIterator it = list.begin(); it != list.end(); ++it)
+- {
+- QString key = (*it).left((*it).find('='));
+- QString value = (*it).mid((*it).find('=') + 1);
+- kdDebug() << "key '" << key << "' value '" << value << "'\n";
+- options[key] = value;
+- }
+-
+- if (!options.contains("ro"))
+- option_ro->hide();
+- else
+- option_ro->setChecked(options["ro"] == "true");
+- connect( option_ro, SIGNAL( stateChanged(int) ), SIGNAL( changed() ) );
+-
+- if (!options.contains("quiet"))
+- option_quiet->hide();
+- else
+- option_quiet->setChecked(options["quiet"] == "true");
+- connect( option_quiet, SIGNAL( stateChanged(int) ), SIGNAL( changed() ) );
+-
+- if (!options.contains("sync"))
+- option_sync->hide();
+- else
+- option_sync->setChecked(options["sync"] == "true");
+- connect( option_sync, SIGNAL( stateChanged(int) ), SIGNAL( changed() ) );
+-
+- if (!options.contains("atime"))
+- option_atime->hide();
+- else
+- option_atime->setChecked(options["atime"] == "true");
+- connect( option_atime, SIGNAL( stateChanged(int) ), SIGNAL( changed() ) );
+-
+- if (!options.contains("flush"))
+- option_flush->hide();
+- else
+- option_flush->setChecked(options["flush"] == "true");
+- connect( option_flush, SIGNAL( stateChanged(int) ), SIGNAL( changed() ) );
+-
+- if (!options.contains("utf8"))
+- option_utf8->hide();
+- else
+- option_utf8->setChecked(options["utf8"] == "true");
+- connect( option_utf8, SIGNAL( stateChanged(int) ), SIGNAL( changed() ) );
+-
+- if (!options.contains("uid"))
+- option_uid->hide();
+- else
+- option_uid->setChecked(options["uid"] == "true");
+- connect( option_uid, SIGNAL( stateChanged(int) ), SIGNAL( changed() ) );
+-
+- if (!options.contains("shortname"))
+- {
+- option_shortname->hide();
+- text_shortname->hide();
+- }
+- else
+- {
+- for (int index = 0; short_names[index]; ++index)
+- if (options["shortname"] == short_names[index])
+- {
+- option_shortname->setCurrentItem(index);
+- break;
+- }
+- connect( option_shortname, SIGNAL( activated(int) ), SIGNAL( changed() ) );
+- }
+-
+- if (!options.contains("journaling"))
+- {
+- text_journaling->hide();
+- option_journaling->hide();
+- }
+- else
+- {
+- for (int index = 0; journales[index]; ++index)
+- if (options["journaling"] == journales[index])
+- {
+- option_journaling->setCurrentItem(index);
+- break;
+- }
+- connect( option_journaling, SIGNAL( activated(int) ), SIGNAL( changed() ) );
+- }
+-
+- label_filesystem->setText(i18n("Filesystem: %1").arg(options["filesystem"]));
+- option_mountpoint->setText(options["mountpoint"]);
+- connect( option_mountpoint, SIGNAL( textChanged( const QString &) ), SIGNAL( changed() ) );
+- option_automount->setChecked(options["automount"] == "true");
+- connect( option_automount, SIGNAL( stateChanged(int) ), SIGNAL( changed() ) );
+-
+- if (!options.contains("journaling") &&
+- !options.contains("shortname") &&
+- !options.contains("uid") &&
+- !options.contains("utf8") &&
+- !options.contains("flush"))
+- groupbox_specific->hide();
+-
+- } else {
+-
+- groupbox_generic->setEnabled(false);
+- groupbox_specific->setEnabled(false);
+- label_filesystem->hide();
+- }
+-}
+-
+-PropertiesPage::~PropertiesPage()
+-{
+-}
+-
+-bool PropertiesPage::save()
+-{
+- QStringList result;
+-
+- if (options.contains("ro"))
+- result << QString("ro=%1").arg(option_ro->isChecked() ? "true" : "false");
+-
+- if (options.contains("quiet"))
+- result << QString("quiet=%1").arg(option_quiet->isChecked() ? "true" : "false");
+-
+- if (options.contains("sync"))
+- result << QString("sync=%1").arg(option_sync->isChecked() ? "true" : "false");
+-
+- if (options.contains("atime"))
+- result << QString("atime=%1").arg(option_atime->isChecked() ? "true" : "false");
+-
+- if (options.contains("flush"))
+- result << QString("flush=%1").arg(option_flush->isChecked() ? "true" : "false");
+-
+- if (options.contains("utf8"))
+- result << QString("utf8=%1").arg(option_utf8->isChecked() ? "true" : "false");
+-
+- if (options.contains("uid"))
+- result << QString("uid=%1").arg(option_uid->isChecked() ? "true" : "false");
+-
+- if (options.contains("shortname"))
+- result << QString("shortname=%1").arg(short_names[option_shortname->currentItem()]);
+-
+- if (options.contains("journaling"))
+- result << QString("journaling=%1").arg(journales[option_journaling->currentItem()]);
+-
+- QString mp = option_mountpoint->text();
+- if (!mp.startsWith("/media/"))
+- {
+- KMessageBox::sorry(this, i18n("Mountpoint has to be below /media"));
+- return false;
+- }
+- result << QString("mountpoint=%1").arg(mp);
+- result << QString("automount=%1").arg(option_automount->isChecked() ? "true" : "false");
+-
+- kdDebug() << result << endl;
+-
+- DCOPRef mediamanager("kded", "mediamanager");
+- DCOPReply reply = mediamanager.call( "setMountoptions", id, result);
+-
+- if (reply.isValid())
+- return (bool)reply;
+- else {
+- KMessageBox::sorry(this,
+- i18n("Saving the changes failed"));
+-
+- return false;
+- }
+-}
+-
+-#include "propertiespage.moc"
+diff -urN kioslave/media/propsdlgplugin/propertiespage.h kioslave/media/propsdlgplugin/propertiespage.h
+--- kioslave/media/propsdlgplugin/propertiespage.h Sat Jul 22 10:15:43 2006
++++ kioslave/media/propsdlgplugin/propertiespage.h Thu Jan 1 01:00:00 1970
+@@ -1,46 +0,0 @@
+-/*
+- Copyright (c) 2004 Jan Schaefer <j_schaef@informatik.uni-kl.de>
+-
+- This program is free software; you can redistribute it and/or modify
+- it under the terms of the GNU General Public License as published by
+- the Free Software Foundation; either version 2 of the License, or
+- (at your option) any later version.
+-
+- This program is distributed in the hope that it will be useful,
+- but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- GNU General Public License for more details.
+-
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software
+- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+-
+-*/
+-
+-#ifndef PROPERTIESPAGE_H
+-#define PROPERTIESPAGE_H
+-
+-#include "propertiespagegui.h"
+-#include <qmap.h>
+-
+-class QCheckBox;
+-class Medium;
+-
+-class PropertiesPage : public PropertiesPageGUI
+-{
+- Q_OBJECT
+-
+-public:
+- PropertiesPage(QWidget* parent, const QString &_id);
+- virtual ~PropertiesPage();
+-
+- bool save();
+-
+-protected:
+-
+- QMap<QString,QString> options;
+- QString id;
+-
+-};
+-
+-#endif
+diff -urN kioslave/media/propsdlgplugin/propertiespagegui.ui kioslave/media/propsdlgplugin/propertiespagegui.ui
+--- kioslave/media/propsdlgplugin/propertiespagegui.ui Sat Jul 22 10:15:43 2006
++++ kioslave/media/propsdlgplugin/propertiespagegui.ui Thu Jan 1 01:00:00 1970
+@@ -1,387 +0,0 @@
+-<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+-<class>PropertiesPageGUI</class>
+-<widget class="QWidget">
+- <property name="name">
+- <cstring>PropertiesPageGUI</cstring>
+- </property>
+- <property name="geometry">
+- <rect>
+- <x>0</x>
+- <y>0</y>
+- <width>527</width>
+- <height>476</height>
+- </rect>
+- </property>
+- <hbox>
+- <property name="name">
+- <cstring>unnamed</cstring>
+- </property>
+- <property name="margin">
+- <number>0</number>
+- </property>
+- <widget class="QLayoutWidget">
+- <property name="name">
+- <cstring>layout17</cstring>
+- </property>
+- <vbox>
+- <property name="name">
+- <cstring>unnamed</cstring>
+- </property>
+- <widget class="QGroupBox">
+- <property name="name">
+- <cstring>groupbox_generic</cstring>
+- </property>
+- <property name="title">
+- <string>Generic Mount Options</string>
+- </property>
+- <vbox>
+- <property name="name">
+- <cstring>unnamed</cstring>
+- </property>
+- <widget class="QLayoutWidget">
+- <property name="name">
+- <cstring>layout15</cstring>
+- </property>
+- <vbox>
+- <property name="name">
+- <cstring>unnamed</cstring>
+- </property>
+- <widget class="QCheckBox">
+- <property name="name">
+- <cstring>option_ro</cstring>
+- </property>
+- <property name="text">
+- <string>Read only</string>
+- </property>
+- <property name="whatsThis" stdset="0">
+- <string>Mount the file system read-only.</string>
+- </property>
+- </widget>
+- <widget class="QCheckBox">
+- <property name="name">
+- <cstring>option_quiet</cstring>
+- </property>
+- <property name="text">
+- <string>Quiet</string>
+- </property>
+- <property name="whatsThis" stdset="0">
+- <string>Attempts to chown or chmod files do not return errors, although they fail. Use with caution!</string>
+- </property>
+- </widget>
+- <widget class="QCheckBox">
+- <property name="name">
+- <cstring>option_sync</cstring>
+- </property>
+- <property name="text">
+- <string>Synchronous</string>
+- </property>
+- <property name="whatsThis" stdset="0">
+- <string>All I/O to the file system should be done synchronously.</string>
+- </property>
+- </widget>
+- <widget class="QCheckBox">
+- <property name="name">
+- <cstring>option_atime</cstring>
+- </property>
+- <property name="text">
+- <string>Access time updates</string>
+- </property>
+- <property name="whatsThis" stdset="0">
+- <string>Update inode access time for each access.</string>
+- </property>
+- </widget>
+- <widget class="QLayoutWidget">
+- <property name="name">
+- <cstring>layout14</cstring>
+- </property>
+- <hbox>
+- <property name="name">
+- <cstring>unnamed</cstring>
+- </property>
+- <widget class="QLabel">
+- <property name="name">
+- <cstring>textLabel3</cstring>
+- </property>
+- <property name="text">
+- <string>Mountpoint:</string>
+- </property>
+- <property name="buddy" stdset="0">
+- <cstring>option_mountpoint</cstring>
+- </property>
+- <property name="whatsThis" stdset="0">
+- <string>Under what directory this file system shall be mounted. Please note that there is no guarantee that the system will respect your wish. For one the directory has to be below /media - and it does not yet have to exist.</string>
+- </property>
+- </widget>
+- <widget class="QLineEdit">
+- <property name="name">
+- <cstring>option_mountpoint</cstring>
+- </property>
+- <property name="text">
+- <string></string>
+- </property>
+- </widget>
+- </hbox>
+- </widget>
+- <widget class="QCheckBox">
+- <property name="name">
+- <cstring>option_automount</cstring>
+- </property>
+- <property name="text">
+- <string>Mount automatically</string>
+- </property>
+- <property name="whatsThis" stdset="0">
+- <string>Mount this file system automatically.</string>
+- </property>
+- </widget>
+- </vbox>
+- </widget>
+- </vbox>
+- </widget>
+- <widget class="QGroupBox">
+- <property name="name">
+- <cstring>groupbox_specific</cstring>
+- </property>
+- <property name="title">
+- <string>Filesystem Specific Mount Options</string>
+- </property>
+- <vbox>
+- <property name="name">
+- <cstring>unnamed</cstring>
+- </property>
+- <widget class="QLayoutWidget">
+- <property name="name">
+- <cstring>layout11</cstring>
+- </property>
+- <vbox>
+- <property name="name">
+- <cstring>unnamed</cstring>
+- </property>
+- <widget class="QCheckBox">
+- <property name="name">
+- <cstring>option_flush</cstring>
+- </property>
+- <property name="text">
+- <string>Flushed IO</string>
+- </property>
+- <property name="whatsThis" stdset="0">
+- <string>Always flush all data to the hot plug devices immediately and don't cache it.</string>
+- </property>
+- </widget>
+- <widget class="QCheckBox">
+- <property name="name">
+- <cstring>option_utf8</cstring>
+- </property>
+- <property name="text">
+- <string>UTF-8 charset</string>
+- </property>
+- <property name="whatsThis" stdset="0">
+- <string>UTF8 is the filesystem safe 8-bit encoding of Unicode that is used by the console. It can be be enabled for the filesystem with this option.</string>
+- </property>
+- </widget>
+- <widget class="QCheckBox">
+- <property name="name">
+- <cstring>option_uid</cstring>
+- </property>
+- <property name="text">
+- <string>Mount as user</string>
+- </property>
+- <property name="whatsThis" stdset="0">
+- <string>Mount this file system as user.</string>
+- </property>
+- </widget>
+- <widget class="QLayoutWidget">
+- <property name="name">
+- <cstring>layout7</cstring>
+- </property>
+- <hbox>
+- <property name="name">
+- <cstring>unnamed</cstring>
+- </property>
+- <widget class="QLabel">
+- <property name="name">
+- <cstring>text_journaling</cstring>
+- </property>
+- <property name="text">
+- <string>Journaling:</string>
+- </property>
+- <property name="buddy" stdset="0">
+- <cstring>option_journaling</cstring>
+- </property>
+- <property name="whatsThis" stdset="0">
+- <string>&lt;h2&gt;Specifies the journalling mode for file data. Metadata is always journaled. &lt;/h2&gt;
+-
+-&lt;h3&gt;&lt;b&gt;All Data&lt;/b&gt;&lt;/h3&gt;
+- All data is committed into the journal prior to being written into the main file system. This is the slowest variant with the highest data security.
+-
+-&lt;h3&gt;&lt;b&gt;Ordered&lt;/b&gt;&lt;/h3&gt;
+- All data is forced directly out to the main file system prior to its metadata being committed to the journal.
+-
+-&lt;h3&gt;&lt;b&gt;Write Back&lt;/b&gt;&lt;/h3&gt;
+- Data ordering is not preserved - data may be written into the main file system after its metadata has been committed to the journal. This is rumoured to be the highest-throughput option. It guarantees internal file system integrity, however it can allow old data to appear in files after a crash and journal recovery.</string>
+- </property>
+- </widget>
+- <widget class="QComboBox">
+- <item>
+- <property name="text">
+- <string>All Data</string>
+- </property>
+- </item>
+- <item>
+- <property name="text">
+- <string>Ordered</string>
+- </property>
+- </item>
+- <item>
+- <property name="text">
+- <string>Write Back</string>
+- </property>
+- </item>
+- <property name="name">
+- <cstring>option_journaling</cstring>
+- </property>
+- <property name="whatsThis" stdset="0">
+- <string>&lt;h2&gt;Specifies the journalling mode for file data. Metadata is always journaled. &lt;/h2&gt;
+-
+-&lt;h3&gt;&lt;b&gt;All Data&lt;/b&gt;&lt;/h3&gt;
+- All data is committed into the journal prior to being written into the main file system. This is the slowest variant with the highest data security.
+-
+-&lt;h3&gt;&lt;b&gt;Ordered&lt;/b&gt;&lt;/h3&gt;
+- All data is forced directly out to the main file system prior to its metadata being committed to the journal.
+-
+-&lt;h3&gt;&lt;b&gt;Write Back&lt;/b&gt;&lt;/h3&gt;
+- Data ordering is not preserved - data may be written into the main file system after its metadata has been committed to the journal. This is rumoured to be the highest-throughput option. It guarantees internal file system integrity, however it can allow old data to appear in files after a crash and journal recovery.</string>
+- </property>
+- </widget>
+- </hbox>
+- </widget>
+- <widget class="QLayoutWidget">
+- <property name="name">
+- <cstring>layout14</cstring>
+- </property>
+- <hbox>
+- <property name="name">
+- <cstring>unnamed</cstring>
+- </property>
+- <widget class="QLabel">
+- <property name="name">
+- <cstring>text_shortname</cstring>
+- </property>
+- <property name="text">
+- <string>Short names:</string>
+- </property>
+- <property name="buddy" stdset="0">
+- <cstring>option_shortname</cstring>
+- </property>
+- <property name="whatsThis" stdset="0">
+- <string>&lt;h2&gt;Defines the behaviour for creation and display of filenames which fit into 8.3 characters. If a long name for a file exists, it will always be preferred display.&lt;/h2&gt;
+-
+-&lt;h3&gt;&lt;b&gt;Lower&lt;/b&gt;&lt;/h3&gt;
+-Force the short name to lower case upon display; store a long name when the short name is not all upper case.
+-
+-&lt;h3&gt;&lt;b&gt;Windows 95&lt;/b&gt;&lt;/h3&gt;
+-Force the short name to upper case upon display; store a long name when the short name is not all upper case.
+-
+-&lt;h3&gt;&lt;b&gt;Windows NT&lt;/b&gt;&lt;/h3&gt;
+-Display the shortname as is; store a long name when the short name is not all lower case or all upper case.
+-
+-&lt;h3&gt;&lt;b&gt;Mixed&lt;/b&gt;&lt;/h3&gt;
+-Display the short name as is; store a long name when the short name is not all upper case.</string>
+- </property>
+- </widget>
+- <widget class="QComboBox">
+- <item>
+- <property name="text">
+- <string>Lower</string>
+- </property>
+- </item>
+- <item>
+- <property name="text">
+- <string>Windows 95</string>
+- </property>
+- </item>
+- <item>
+- <property name="text">
+- <string>Windows NT</string>
+- </property>
+- </item>
+- <item>
+- <property name="text">
+- <string>Mixed</string>
+- </property>
+- </item>
+- <property name="name">
+- <cstring>option_shortname</cstring>
+- </property>
+- <property name="whatsThis" stdset="0">
+- <string>&lt;h2&gt;Defines the behaviour for creation and display of filenames which fit into 8.3 characters. If a long name for a file exists, it will always be preferred display.&lt;/h2&gt;
+-
+-&lt;h3&gt;&lt;b&gt;Lower&lt;/b&gt;&lt;/h3&gt;
+-Force the short name to lower case upon display; store a long name when the short name is not all upper case.
+-
+-&lt;h3&gt;&lt;b&gt;Windows 95&lt;/b&gt;&lt;/h3&gt;
+-Force the short name to upper case upon display; store a long name when the short name is not all upper case.
+-
+-&lt;h3&gt;&lt;b&gt;Windows NT&lt;/b&gt;&lt;/h3&gt;
+-Display the shortname as is; store a long name when the short name is not all lower case or all upper case.
+-
+-&lt;h3&gt;&lt;b&gt;Mixed&lt;/b&gt;&lt;/h3&gt;
+-Display the short name as is; store a long name when the short name is not all upper case.</string>
+- </property>
+- </widget>
+- </hbox>
+- </widget>
+- </vbox>
+- </widget>
+- </vbox>
+- </widget>
+- <widget class="QLabel">
+- <property name="name">
+- <cstring>label_filesystem</cstring>
+- </property>
+- <property name="text">
+- <string>Filesystem: iso9660</string>
+- </property>
+- </widget>
+- <spacer>
+- <property name="name">
+- <cstring>spacer1</cstring>
+- </property>
+- <property name="orientation">
+- <enum>Vertical</enum>
+- </property>
+- <property name="sizeType">
+- <enum>Expanding</enum>
+- </property>
+- <property name="sizeHint">
+- <size>
+- <width>20</width>
+- <height>20</height>
+- </size>
+- </property>
+- </spacer>
+- </vbox>
+- </widget>
+- </hbox>
+-</widget>
+-<connections>
+- <connection>
+- <sender>option_ro</sender>
+- <signal>stateChanged(int)</signal>
+- <receiver>PropertiesPageGUI</receiver>
+- <slot>changedSlot()</slot>
+- </connection>
+-</connections>
+-<variables>
+- <variable>bool m_hasChanged;</variable>
+-</variables>
+-<signals>
+- <signal>changed()</signal>
+-</signals>
+-<slots>
+- <slot access="protected">changedSlot()</slot>
+-</slots>
+-<functions>
+- <function returnType="bool">hasChanged()</function>
+-</functions>
+-<layoutdefaults spacing="6" margin="11"/>
+-</UI>
+diff -urN kioslave/media/propsdlgplugin/propertiespagegui.ui.h kioslave/media/propsdlgplugin/propertiespagegui.ui.h
+--- kioslave/media/propsdlgplugin/propertiespagegui.ui.h Sat Jul 22 10:15:43 2006
++++ kioslave/media/propsdlgplugin/propertiespagegui.ui.h Thu Jan 1 01:00:00 1970
+@@ -1,22 +0,0 @@
+-/****************************************************************************
+-** ui.h extension file, included from the uic-generated form implementation.
+-**
+-** If you wish to add, delete or rename functions or slots use
+-** Qt Designer which will update this file, preserving your code. Create an
+-** init() function in place of a constructor, and a destroy() function in
+-** place of a destructor.
+-*****************************************************************************/
+-
+-
+-void PropertiesPageGUI::changedSlot()
+-{
+- m_hasChanged = true;
+- emit changed();
+-}
+-
+-bool PropertiesPageGUI::hasChanged()
+-{
+- return m_hasChanged;
+-}
+-
+-
+diff -urN kioslave/media/propsdlgplugin/propsdlgshareplugin.cpp kioslave/media/propsdlgplugin/propsdlgshareplugin.cpp
+--- kioslave/media/propsdlgplugin/propsdlgshareplugin.cpp Sat Jul 22 10:15:43 2006
++++ kioslave/media/propsdlgplugin/propsdlgshareplugin.cpp Thu Jan 1 01:00:00 1970
+@@ -1,100 +0,0 @@
+-/*
+- Copyright (c) 2004 Jan Schaefer <j_schaef@informatik.uni-kl.de>
+-
+- This program is free software; you can redistribute it and/or modify
+- it under the terms of the GNU General Public License as published by
+- the Free Software Foundation; either version 2 of the License, or
+- (at your option) any later version.
+-
+- This program is distributed in the hope that it will be useful,
+- but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- GNU General Public License for more details.
+-
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software
+- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+-
+-*/
+-#include <qstring.h>
+-#include <qvbox.h>
+-#include <qlayout.h>
+-#include <qlabel.h>
+-#include <qtimer.h>
+-
+-#include <kgenericfactory.h>
+-#include <kdebug.h>
+-#include <kpushbutton.h>
+-#include <kfileshare.h>
+-#include <kmessagebox.h>
+-#include <kprocess.h>
+-#include <kstandarddirs.h>
+-#include <kdialog.h>
+-#include <kglobal.h>
+-#include <dcopref.h>
+-
+-#include "propertiespage.h"
+-#include "propsdlgshareplugin.h"
+-#include "../libmediacommon/medium.h"
+-
+-typedef KGenericFactory<PropsDlgSharePlugin, KPropertiesDialog> PropsDlgSharePluginFactory;
+-
+-K_EXPORT_COMPONENT_FACTORY( media_propsdlgplugin,
+- PropsDlgSharePluginFactory("media_propsdlgplugin") )
+-
+-class PropsDlgSharePlugin::Private
+-{
+- public:
+- PropertiesPage* page;
+-};
+-
+-PropsDlgSharePlugin::PropsDlgSharePlugin( KPropertiesDialog *dlg,
+- const char *, const QStringList & )
+- : KPropsDlgPlugin(dlg), d(0)
+-{
+- if (properties->items().count() != 1)
+- return;
+-
+- KFileItem *item = properties->items().first();
+-
+- DCOPRef mediamanager("kded", "mediamanager");
+- kdDebug() << "properties " << item->url() << endl;
+- DCOPReply reply = mediamanager.call( "properties", item->url().url() );
+-
+- if ( !reply.isValid() )
+- return;
+-
+- QVBox* vbox = properties->addVBoxPage(i18n("&Mounting"));
+-
+- d = new Private();
+-
+- d->page = new PropertiesPage(vbox, Medium::create(reply).id());
+- connect(d->page, SIGNAL(changed()),
+- SLOT(slotChanged()));
+-
+- // QTimer::singleShot(100, this, SLOT(slotChanged()));
+-
+-}
+-
+-void PropsDlgSharePlugin::slotChanged()
+-{
+- kdDebug() << "slotChanged()\n";
+- setDirty(true);
+-}
+-
+-PropsDlgSharePlugin::~PropsDlgSharePlugin()
+-{
+- delete d;
+-}
+-
+-void PropsDlgSharePlugin::applyChanges()
+-{
+- kdDebug() << "applychanges\n";
+- if (!d->page->save()) {
+- properties->abortApplying();
+- }
+-}
+-
+-
+-#include "propsdlgshareplugin.moc"
+-
+diff -urN kioslave/media/propsdlgplugin/propsdlgshareplugin.h kioslave/media/propsdlgplugin/propsdlgshareplugin.h
+--- kioslave/media/propsdlgplugin/propsdlgshareplugin.h Sat Jul 22 10:15:43 2006
++++ kioslave/media/propsdlgplugin/propsdlgshareplugin.h Thu Jan 1 01:00:00 1970
+@@ -1,44 +0,0 @@
+-/*
+- Copyright (c) 2004 Jan Schaefer <j_schaef@informatik.uni-kl.de>
+-
+- This program is free software; you can redistribute it and/or modify
+- it under the terms of the GNU General Public License as published by
+- the Free Software Foundation; either version 2 of the License, or
+- (at your option) any later version.
+-
+- This program is distributed in the hope that it will be useful,
+- but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- GNU General Public License for more details.
+-
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software
+- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+-
+-*/
+-
+-#ifndef KONQFILESHAREPLUGIN_H
+-#define KONQFILESHAREPLUGIN_H
+-
+-#include <kpropertiesdialog.h>
+-
+-class PropsDlgSharePlugin : public KPropsDlgPlugin
+-{
+-Q_OBJECT
+-public:
+- PropsDlgSharePlugin( KPropertiesDialog *dlg, const char *, const QStringList & );
+- virtual ~PropsDlgSharePlugin();
+- virtual void applyChanges();
+-
+-public slots:
+- void slotChanged();
+-
+-private:
+- class Private;
+- Private *d;
+-
+-};
+-
+-#endif
+-
+-
+diff -urN kioslave/media/services/Makefile.in kioslave/media/services/Makefile.in
+--- kioslave/media/services/Makefile.in Mon Jul 24 17:56:31 2006
++++ kioslave/media/services/Makefile.in Mon Mar 20 14:05:55 2006
+@@ -211,6 +211,7 @@
+ LIBTOOL = @LIBTOOL@
+ LIBUCB = @LIBUCB@
+ LIBUSBCONFIG = @LIBUSBCONFIG@
++LIBUTEMPTER = @LIBUTEMPTER@
+ LIBUTIL = @LIBUTIL@
+ LIBXDMCP = @LIBXDMCP@
+ LIBXFT_LIB = @LIBXFT_LIB@
+diff -urN kioslave/media/services/media_eject.desktop kioslave/media/services/media_eject.desktop
+--- kioslave/media/services/media_eject.desktop Mon May 22 20:12:42 2006
++++ kioslave/media/services/media_eject.desktop Fri Mar 17 11:17:33 2006
+@@ -74,7 +74,7 @@
+ Name[uk]=Виштовхнути
+ Name[uz]=Чиқариш
+ Name[ven]=Bvisa
+-Name[vi]=Đẩy đĩa ra
++Name[vi]=Đẩy ra
+ Name[wa]=Fé rexhe
+ Name[xh]=Khuphela ngaphandle
+ Name[zh_CN]=弹出
+diff -urN kioslave/media/services/media_mount.desktop kioslave/media/services/media_mount.desktop
+--- kioslave/media/services/media_mount.desktop Mon May 22 20:12:42 2006
++++ kioslave/media/services/media_mount.desktop Fri Mar 17 11:17:33 2006
+@@ -31,7 +31,7 @@
+ Name[gl]=Montar
+ Name[he]=חבר
+ Name[hi]=माउन्ट
+-Name[hr]=Pristupi
++Name[hr]=Montiraj
+ Name[hsb]=montować
+ Name[hu]=Csatlakoztatás
+ Name[is]=Tengja
+@@ -71,7 +71,7 @@
+ Name[uk]=Змонтувати
+ Name[uz]=Улаш
+ Name[ven]=Gonya
+-Name[vi]=Kết nối
++Name[vi]=Gắn kết
+ Name[wa]=Monter
+ Name[xh]=Layisha
+ Name[zh_CN]=挂载
+diff -urN kioslave/media/services/media_safelyremove.desktop kioslave/media/services/media_safelyremove.desktop
+--- kioslave/media/services/media_safelyremove.desktop Sat Jul 22 10:15:42 2006
++++ kioslave/media/services/media_safelyremove.desktop Fri Mar 17 11:17:33 2006
+@@ -9,7 +9,6 @@
+ Name[af]=Verwyder veilig
+ Name[bg]=Безопасно изваждане
+ Name[bn]=নিরাপদভাবে সরাও
+-Name[bs]=Sigurno ukloni
+ Name[ca]=Extreu amb seguretat
+ Name[cs]=Bezpečně odstranit
+ Name[da]=Fjern sikkert
+@@ -20,18 +19,17 @@
+ Name[eu]=Atera arriskurik gabe
+ Name[fi]=Poista turvallisesti
+ Name[fr]=Enlever en toute sécurité
+-Name[fy]=Feilich verwiderje
++Name[fy]=Feilich ferwiderje
+ Name[ga]=Bain Amach go Sábháilte
+ Name[gl]=Eliminar de Maneira Segura
+ Name[he]=שליפה בבטחה
+-Name[hr]=Slobodno uklonite
+ Name[hu]=Biztonságos leválasztás
+ Name[is]=Fjarlægja öruggt
+ Name[it]=Rimozione sicura
+ Name[ja]=安全に取り除く
+ Name[km]=យកចេញ​ដោយ​សុវត្ថិភាព
+ Name[lt]=Saugiai pašalinti
+-Name[mk]=Безбедно отстрани
++Name[mk]=Отстрани безбедно
+ Name[ms]=Buang Dengan Selamat
+ Name[nb]=Sikker fjerning
+ Name[nds]=Seker rutnehmen
+@@ -45,7 +43,6 @@
+ Name[ru]=Безопасно извлечь
+ Name[rw]=Gukuramo Neza
+ Name[se]=Dorvvošlaš eretváldin
+-Name[sk]=Bezpečne odpojiť
+ Name[sl]=Varno odstrani
+ Name[sr]=Безбедно уклони
+ Name[sr@Latn]=Bezbedno ukloni
+@@ -56,7 +53,6 @@
+ Name[tt]=İmin Çığaru
+ Name[uk]=Безпечно вилучити
+ Name[uz]=Эҳтиётлик билан узиш
+-Name[vi]=Gỡ ra An toàn
+ Name[zh_CN]=安全删除
+ Name[zh_TW]=安全的移除
+ Exec=kio_media_mounthelper -s %u
+diff -urN kioslave/media/services/media_unmount.desktop kioslave/media/services/media_unmount.desktop
+--- kioslave/media/services/media_unmount.desktop Tue May 23 13:33:34 2006
++++ kioslave/media/services/media_unmount.desktop Fri Mar 17 11:17:33 2006
+@@ -31,7 +31,7 @@
+ Name[gl]=Desmontar
+ Name[he]=נתק
+ Name[hi]=अनमाउन्ट
+-Name[hr]=Napusti
++Name[hr]=Demontiraj
+ Name[hsb]=Wotmontować
+ Name[hu]=Leválasztás
+ Name[is]=Aftengja
+@@ -41,7 +41,7 @@
+ Name[lo]=ຫັງກາລີ
+ Name[lt]=Išmontuoti
+ Name[lv]=Nomontēt
+-Name[mk]=Одмонтирај
++Name[mk]=Демонтирај
+ Name[mn]=Салгах
+ Name[ms]=Nyahlekap
+ Name[mt]=Żmonta
+@@ -71,7 +71,7 @@
+ Name[uk]=Демонтувати
+ Name[uz]=Узиш
+ Name[ven]=Usa gonya
+-Name[vi]=Gỡ ra
++Name[vi]=Gỡ
+ Name[wa]=Dismonter
+ Name[xh]=Sukuyilayisha
+ Name[zh_CN]=卸载