From 008f524498475dd28717b1f3d65e2c99bbdb5b2a Mon Sep 17 00:00:00 2001 From: David Faure Date: Thu, 5 Jun 2008 19:19:14 +0000 Subject: Move the "Create New" action (for the Edit menu, not for the context menu) to dolphinpart, so that it doesn't appear while browsing the web [with a filemanagement profile initially]. The point is to make the GUI sensible whatever initial profile was selected and hopefully get rid of konq-filemanagement.rc/konq-webbrowsing.rc. svn path=/trunk/KDE/kdebase/apps/; revision=817326 --- src/dolphinpart.cpp | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) (limited to '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" -- cgit v1.3