diff --git a/src/dolphinpart.cpp b/src/dolphinpart.cpp
index bd986dcf5a..da6faecc6f 100644
--- a/src/dolphinpart.cpp
+++ b/src/dolphinpart.cpp
@@ -130,6 +130,10 @@ void DolphinPart::createActions()
KAction* deleteAction = DolphinView::createDeleteAction(actionCollection());
connect(deleteAction, SIGNAL(triggered()), m_view, SLOT(deleteSelectedItems()));
+ KAction *editMimeTypeAction = actionCollection()->addAction( "editMimeType" );
+ editMimeTypeAction->setText( i18n( "&Edit File Type..." ) );
+ connect(editMimeTypeAction, SIGNAL(triggered()), SLOT(slotEditMimeType()));
+
// This action doesn't appear in the GUI, it's for the shortcut only.
// KNewMenu takes care of the GUI stuff.
KAction* newDirAction = actionCollection()->addAction( "create_dir" );
@@ -188,7 +192,7 @@ void DolphinPart::slotSelectionChanged(const KFileItemList& selection)
}
QStringList actions;
- actions << "rename" << "move_to_trash" << "delete";
+ actions << "rename" << "move_to_trash" << "delete" << "editMimeType";
foreach(const QString& actionName, actions) {
QAction* action = actionCollection()->action(actionName);
Q_ASSERT(action);
@@ -399,4 +403,12 @@ void DolphinPart::slotNewDir()
KonqOperations::newDir(widget(), url());
}
+void DolphinPart::slotEditMimeType()
+{
+ const KFileItemList items = m_view->selectedItems();
+ if (!items.isEmpty()) {
+ KonqOperations::editMimeType( items.first().mimetype(), m_view );
+ }
+}
+
#include "dolphinpart.moc"
diff --git a/src/dolphinpart.h b/src/dolphinpart.h
index 98e0f2f672..23a5ea653e 100644
--- a/src/dolphinpart.h
+++ b/src/dolphinpart.h
@@ -125,6 +125,11 @@ private Q_SLOTS:
*/
void slotGoTriggered(QAction* action);
+ /**
+ * Connected to the "editMimeType" action
+ */
+ void slotEditMimeType();
+
private:
void createActions();
void createGoAction(const char* name, const char* iconName,
diff --git a/src/dolphinpart.rc b/src/dolphinpart.rc
index 26002ceaf8..325a3650fc 100644
--- a/src/dolphinpart.rc
+++ b/src/dolphinpart.rc
@@ -5,6 +5,7 @@
+