--- kdelibs-3.4.0/kio/kfile/kurlbar.h-- 2005-04-11 04:25:37.201073354 -0400 +++ kdelibs-3.4.0/kio/kfile/kurlbar.h 2005-04-11 04:25:53.840272936 -0400 @@ -384,6 +384,8 @@ public: */ bool isVertical() const { return orientation() == Vertical; } + void createItemOnMDKMerge( const KURL &url, const QString & description, const QString &icon ); + public slots: /** * Makes the item with the url @p url the current item. Does nothing --- kdelibs-3.4.0/kio/kfile/kurlbar.cpp-- 2005-04-11 04:23:30.670547904 -0400 +++ kdelibs-3.4.0/kio/kfile/kurlbar.cpp 2005-04-11 04:25:32.328014860 -0400 @@ -30,6 +30,8 @@ #include <qvbox.h> #include <qwhatsthis.h> +#include <kstandarddirs.h> +#include <kdesktopfile.h> #include <kaboutdata.h> #include <kconfig.h> #include <kdebug.h> @@ -704,6 +705,8 @@ void KURLBar::slotDropped( QDropEvent *e KURL::List::Iterator it = urls.begin(); for ( ; it != urls.end(); ++it ) { (void) insertItem( *it, description, appLocal, icon ); + if( !appLocal) + createItemOnMDKMerge( url, description, icon ); m_isModified = true; updateGeometry(); } @@ -787,7 +790,7 @@ bool KURLBar::editItem( KURLBarItem *ite { if ( !item || !item->isPersistent() ) // should never happen tho return false; - + QString oldDescription = item->description(); KURL url = item->url(); QString description = item->description(); QString icon = item->icon(); @@ -798,7 +801,9 @@ bool KURLBar::editItem( KURLBarItem *ite icon, appLocal, m_iconSize, this )) { - item->setURL( url ); + if( !appLocal) + createItemOnMDKMerge( url, description, icon ); + item->setURL( url ); item->setDescription( description ); item->setIcon( icon ); item->setApplicationLocal( appLocal ); @@ -811,6 +816,18 @@ bool KURLBar::editItem( KURLBarItem *ite return false; } +void KURLBar::createItemOnMDKMerge( const KURL &url, const QString & description, const QString &icon ) +{ + if ( !QFile::exists( KStandardDirs::mandrake_merge_directory() ) ) + KStandardDirs::makeDir( QFile::encodeName( KStandardDirs::mandrake_merge_directory() ) ); + KDesktopFile df(KStandardDirs::mandrake_merge_directory() + description); + df.writeEntry( "Name", description ); + df.writeEntry( "Icon", icon ); + df.writeEntry( "Type", "Link" ); + df.writeEntry( "URL", url.url() ); + df.sync(); +} + /////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////