]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinpart.cpp
* use existing KFileItem also for the selection instead of creating a new KFileItem...
[dolphin.git] / src / dolphinpart.cpp
index dd0f331219ec0f8204df3d759f54a8aba5ffdcd7..3a94a71070d23f7e6256deb2181b2393215cc5ce 100644 (file)
@@ -29,7 +29,6 @@
 #include <kaboutdata.h>
 #include <kactioncollection.h>
 #include <kconfiggroup.h>
-#include <kdebug.h>
 #include <kdirlister.h>
 #include <kglobalsettings.h>
 #include <kiconloader.h>
@@ -49,9 +48,7 @@
 #include <QClipboard>
 
 K_PLUGIN_FACTORY(DolphinPartFactory, registerPlugin<DolphinPart>();)
-// The componentdata name must be dolphinpart so that dolphinpart.rc is found
-// Alternatively we would have to install it as dolphin/dolphinpart.rc
-K_EXPORT_PLUGIN(DolphinPartFactory("dolphinpart"))
+K_EXPORT_PLUGIN(DolphinPartFactory("dolphinpart", "dolphin"))
 
 DolphinPart::DolphinPart(QWidget* parentWidget, QObject* parent, const QVariantList& args)
     : KParts::ReadOnlyPart(parent)
@@ -403,6 +400,7 @@ void DolphinPart::slotOpenContextMenu(const KFileItem& _item, const KUrl&)
 
 void DolphinPart::slotUrlChanged(const KUrl& url)
 {
+    KParts::ReadOnlyPart::setUrl(url);
     QString prettyUrl = url.pathOrUrl();
     emit m_extension->setLocationBarUrl(prettyUrl);
 }
@@ -451,11 +449,19 @@ void DolphinPart::slotEditMimeType()
 
 void DolphinPart::slotProperties()
 {
-    const KFileItemList items = m_view->selectedItems();
-    if (!items.isEmpty()) {
-        KPropertiesDialog dialog(items.first().url(), m_view);
-        dialog.exec();
+    KPropertiesDialog* dialog = 0;
+    const KFileItemList list = m_view->selectedItems();
+    if (list.isEmpty()) {
+        const KUrl url = m_view->url();
+        dialog = new KPropertiesDialog(url, m_view);
+    } else {
+        dialog = new KPropertiesDialog(list, m_view);
     }
+
+    dialog->setAttribute(Qt::WA_DeleteOnClose);
+    dialog->show();
+    dialog->raise();
+    dialog->activateWindow();
 }
 
 void DolphinPart::setCurrentViewMode(const QString& viewModeName)