Move (broken) action "Edit/Properties" to dolphinpart and made it work there.

Pass parent widget to all KPropertiesDialog instances.

svn path=/trunk/KDE/kdebase/apps/; revision=752542
This commit is contained in:
David Faure 2007-12-24 19:07:32 +00:00
parent 728ecea4a1
commit 8eed64171c
5 changed files with 27 additions and 6 deletions

View file

@ -261,7 +261,7 @@ void DolphinContextMenu::openViewportContextMenu()
QAction* action = popup->exec(QCursor::pos());
if (action == propertiesAction) {
const KUrl& url = m_mainWindow->activeViewContainer()->url();
KPropertiesDialog dialog(url);
KPropertiesDialog dialog(url, m_mainWindow);
dialog.exec();
} else if (action == addToPlacesAction) {
const KUrl& url = m_mainWindow->activeViewContainer()->url();

View file

@ -18,6 +18,7 @@
*/
#include "dolphinpart.h"
#include <kpropertiesdialog.h>
#include <kglobalsettings.h>
#include "dolphinsortfilterproxymodel.h"
#include "dolphinview.h"
@ -131,9 +132,14 @@ void DolphinPart::createActions()
connect(deleteAction, SIGNAL(triggered()), m_view, SLOT(deleteSelectedItems()));
KAction *editMimeTypeAction = actionCollection()->addAction( "editMimeType" );
editMimeTypeAction->setText( i18n( "&Edit File Type..." ) );
editMimeTypeAction->setText( i18nc("@action:inmenu Edit", "&Edit File Type..." ) );
connect(editMimeTypeAction, SIGNAL(triggered()), SLOT(slotEditMimeType()));
KAction *propertiesAction = actionCollection()->addAction( "properties" );
propertiesAction->setText( i18nc("@action:inmenu Edit", "Properties") );
propertiesAction->setShortcut(Qt::ALT+Qt::Key_Return);
connect(propertiesAction, SIGNAL(triggered()), SLOT(slotProperties()));
// 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" );
@ -192,7 +198,7 @@ void DolphinPart::slotSelectionChanged(const KFileItemList& selection)
}
QStringList actions;
actions << "rename" << "move_to_trash" << "delete" << "editMimeType";
actions << "rename" << "move_to_trash" << "delete" << "editMimeType" << "properties";
foreach(const QString& actionName, actions) {
QAction* action = actionCollection()->action(actionName);
Q_ASSERT(action);
@ -407,7 +413,16 @@ void DolphinPart::slotEditMimeType()
{
const KFileItemList items = m_view->selectedItems();
if (!items.isEmpty()) {
KonqOperations::editMimeType( items.first().mimetype(), m_view );
KonqOperations::editMimeType(items.first().mimetype(), m_view);
}
}
void DolphinPart::slotProperties()
{
const KFileItemList items = m_view->selectedItems();
if (!items.isEmpty()) {
KPropertiesDialog dialog(items.first().url(), m_view);
dialog.exec();
}
}

View file

@ -130,6 +130,11 @@ private Q_SLOTS:
*/
void slotEditMimeType();
/**
* Connected to the "properties" action
*/
void slotProperties();
private:
void createActions();
void createGoAction(const char* name, const char* iconName,

View file

@ -1,11 +1,12 @@
<!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
<kpartgui name="dolphinpart" version="5" >
<kpartgui name="dolphinpart" version="6" >
<MenuBar>
<Menu name="edit">
<Action name="rename"/>
<Action name="move_to_trash" />
<Action name="delete"/>
<Action name="editMimeType"/>
<Action name="properties"/>
<Separator />
<Action name="select_all" />
<Action name="invert_selection" />

View file

@ -164,7 +164,7 @@ void TreeViewContextMenu::deleteItem()
void TreeViewContextMenu::showProperties()
{
KPropertiesDialog dialog(m_fileInfo.url());
KPropertiesDialog dialog(m_fileInfo.url(), m_parent);
dialog.exec();
}