diff options
| author | David Faure <[email protected]> | 2008-06-05 19:19:14 +0000 |
|---|---|---|
| committer | David Faure <[email protected]> | 2008-06-05 19:19:14 +0000 |
| commit | 008f524498475dd28717b1f3d65e2c99bbdb5b2a (patch) | |
| tree | b4a5449051ec42f0b03deae6aa4d61958d691b9e /src/dolphinpart.cpp | |
| parent | ee5a78d967e19a995e40268021658cb1c7cc0440 (diff) | |
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
Diffstat (limited to 'src/dolphinpart.cpp')
| -rw-r--r-- | src/dolphinpart.cpp | 33 |
1 files changed, 18 insertions, 15 deletions
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 <kpropertiesdialog.h> #include <ktoggleaction.h> #include <kio/netaccess.h> +#include <ktoolinvocation.h> #include <kauthorized.h> -#include <kshell.h> +#include <knewmenu.h> +#include <kmenu.h> #include <QActionGroup> #include <QApplication> @@ -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" |
