X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/38beff1a4b291b479a067e556ad7a4dd3e52cf8e..008f524498475dd28717b1f3d65e2c99bbdb5b2a:/src/dolphinpart.cpp diff --git a/src/dolphinpart.cpp b/src/dolphinpart.cpp index 686dde5b8..bca9ee4a6 100644 --- a/src/dolphinpart.cpp +++ b/src/dolphinpart.cpp @@ -39,8 +39,10 @@ #include #include #include +#include #include -#include +#include +#include #include #include @@ -135,6 +137,12 @@ DolphinPart::~DolphinPart() void DolphinPart::createActions() { + // Edit menu + + m_newMenu = new KNewMenu(actionCollection(), widget(), "new_menu"); + connect(m_newMenu->menu(), SIGNAL(aboutToShow()), + this, SLOT(updateNewMenu())); + KAction *editMimeTypeAction = actionCollection()->addAction( "editMimeType" ); editMimeTypeAction->setText( i18nc("@action:inmenu Edit", "&Edit File Type..." ) ); connect(editMimeTypeAction, SIGNAL(triggered()), SLOT(slotEditMimeType())); @@ -473,9 +481,6 @@ void DolphinPart::setNameFilter(const QString& nameFilter) void DolphinPart::slotOpenTerminal() { - KConfigGroup confGroup(KGlobal::config(), "General"); // set by componentchooser kcm - const QString preferredTerminal = confGroup.readPathEntry("TerminalApplication", "konsole"); - QString dir(QDir::homePath()); KUrl u(url()); @@ -489,17 +494,15 @@ void DolphinPart::slotOpenTerminal() dir = u.path(); } - // Compensate for terminal having arguments. - QStringList args = KShell::splitArgs(preferredTerminal); - if (args.isEmpty()) { - return; - } - const QString prog = args.takeFirst(); - if (prog == "konsole") { - args << "--workdir"; - args << dir; - } - QProcess::startDetached(prog, args); + KToolInvocation::invokeTerminal(QString(), dir); +} + +void DolphinPart::updateNewMenu() +{ + // As requested by KNewMenu : + m_newMenu->slotCheckUpToDate(); + // And set the files that the menu apply on : + m_newMenu->setPopupFiles(url()); } #include "dolphinpart.moc"