diff options
| -rw-r--r-- | src/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | src/dolphincontextmenu.cpp | 1 | ||||
| -rw-r--r-- | src/dolphincontextmenu.h | 3 | ||||
| -rw-r--r-- | src/dolphinmainwindow.cpp | 8 | ||||
| -rw-r--r-- | src/dolphinnewfilemenu.cpp | 2 | ||||
| -rw-r--r-- | src/dolphinnewfilemenu.h | 4 | ||||
| -rw-r--r-- | src/dolphinpart.cpp | 9 | ||||
| -rw-r--r-- | src/dolphinpart.h | 4 | ||||
| -rw-r--r-- | src/dolphinui.rc | 2 | ||||
| -rw-r--r-- | src/views/dolphinnewfilemenuobserver.cpp | 10 | ||||
| -rw-r--r-- | src/views/dolphinnewfilemenuobserver.h | 7 |
11 files changed, 28 insertions, 23 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 6856991d5..3aac80bf8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -92,6 +92,7 @@ set(dolphinprivate_LIB_SRCS views/viewproperties.cpp views/zoomlevelinfo.cpp dolphinremoveaction.cpp + dolphinnewfilemenu.cpp ) if(HAVE_NEPOMUK) diff --git a/src/dolphincontextmenu.cpp b/src/dolphincontextmenu.cpp index 3deeb38cd..7d11c3bcd 100644 --- a/src/dolphincontextmenu.cpp +++ b/src/dolphincontextmenu.cpp @@ -204,7 +204,6 @@ void DolphinContextMenu::openItemContextMenu() newFileMenu->setEnabled(selectedItemsProps.supportsWriting()); connect(newFileMenu, SIGNAL(fileCreated(KUrl)), newFileMenu, SLOT(deleteLater())); connect(newFileMenu, SIGNAL(directoryCreated(KUrl)), newFileMenu, SLOT(deleteLater())); - connect(newFileMenu, SIGNAL(errorMessage(QString)), this, SIGNAL(errorMessage(QString))); KMenu* menu = newFileMenu->menu(); menu->setTitle(i18nc("@title:menu Create new folder, file, link, etc.", "Create New")); diff --git a/src/dolphincontextmenu.h b/src/dolphincontextmenu.h index c9840eae5..180f91787 100644 --- a/src/dolphincontextmenu.h +++ b/src/dolphincontextmenu.h @@ -95,9 +95,6 @@ protected: virtual void keyPressEvent(QKeyEvent *ev); virtual void keyReleaseEvent(QKeyEvent *ev); -signals: - void errorMessage(const QString& error); - private: void openTrashContextMenu(); void openTrashItemContextMenu(); diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index 5cc608fd4..4128cdffa 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -35,6 +35,7 @@ #include "views/dolphinremoteencoding.h" #include "views/draganddrophelper.h" #include "views/viewproperties.h" +#include "views/dolphinnewfilemenuobserver.h" #ifndef Q_OS_WIN #include "panels/terminal/terminalpanel.h" @@ -126,6 +127,9 @@ DolphinMainWindow::DolphinMainWindow() : ViewTab& viewTab = m_viewTab[m_tabIndex]; viewTab.wasActive = true; // The first opened tab is automatically active + connect(&DolphinNewFileMenuObserver::instance(), SIGNAL(errorMessage(QString)), + this, SLOT(showErrorMessage(QString))); + KIO::FileUndoManager* undoManager = KIO::FileUndoManager::self(); undoManager->setUiInterface(new UndoUiInterface()); @@ -1297,8 +1301,6 @@ void DolphinMainWindow::openContextMenu(const QPoint& pos, { QWeakPointer<DolphinContextMenu> contextMenu = new DolphinContextMenu(this, pos, item, url); contextMenu.data()->setCustomActions(customActions); - connect(contextMenu.data(), SIGNAL(errorMessage(QString)), - this, SLOT(showErrorMessage(QString))); const DolphinContextMenu::Command command = contextMenu.data()->open(); switch (command) { @@ -1491,8 +1493,6 @@ void DolphinMainWindow::setupActions() m_newFileMenu->setDelayed(false); connect(menu, SIGNAL(aboutToShow()), this, SLOT(updateNewMenu())); - connect(m_newFileMenu, SIGNAL(errorMessage(QString)), - this, SLOT(showErrorMessage(QString))); KAction* newWindow = actionCollection()->addAction("new_window"); newWindow->setIcon(KIcon("window-new")); diff --git a/src/dolphinnewfilemenu.cpp b/src/dolphinnewfilemenu.cpp index 480889f72..da57ca946 100644 --- a/src/dolphinnewfilemenu.cpp +++ b/src/dolphinnewfilemenu.cpp @@ -26,7 +26,7 @@ #include <KIO/Job> DolphinNewFileMenu::DolphinNewFileMenu(KActionCollection* collection, QObject* parent) : - KNewFileMenu(collection, "create_new", parent) + KNewFileMenu(collection, "new_menu", parent) { DolphinNewFileMenuObserver::instance().attach(this); } diff --git a/src/dolphinnewfilemenu.h b/src/dolphinnewfilemenu.h index ae5881366..e211dfd88 100644 --- a/src/dolphinnewfilemenu.h +++ b/src/dolphinnewfilemenu.h @@ -23,6 +23,8 @@ #include <KNewFileMenu> +#include "libdolphin_export.h" + class KJob; /** @@ -33,7 +35,7 @@ class KJob; * All errors are shown in the status bar of Dolphin * instead as modal error dialog with an OK button. */ -class DolphinNewFileMenu : public KNewFileMenu +class LIBDOLPHINPRIVATE_EXPORT DolphinNewFileMenu : public KNewFileMenu { Q_OBJECT diff --git a/src/dolphinpart.cpp b/src/dolphinpart.cpp index de4c6070d..66097358f 100644 --- a/src/dolphinpart.cpp +++ b/src/dolphinpart.cpp @@ -37,7 +37,6 @@ #include <KIO/NetAccess> #include <KToolInvocation> #include <kauthorized.h> -#include <KNewFileMenu> #include <KMenu> #include <KInputDialog> #include <KProtocolInfo> @@ -47,6 +46,7 @@ #include "dolphinpart_ext.h" #endif +#include "dolphinnewfilemenu.h" #include "views/dolphinview.h" #include "views/dolphinviewactionhandler.h" #include "views/dolphinnewfilemenuobserver.h" @@ -79,6 +79,9 @@ DolphinPart::DolphinPart(QWidget* parentWidget, QObject* parent, const QVariantL m_view->setTabsForFilesEnabled(true); setWidget(m_view); + connect(&DolphinNewFileMenuObserver::instance(), SIGNAL(errorMessage(QString)), + this, SLOT(slotErrorMessage(QString))); + connect(m_view, SIGNAL(directoryLoadingCompleted()), this, SIGNAL(completed())); connect(m_view, SIGNAL(directoryLoadingProgress(int)), this, SLOT(updateProgress(int))); connect(m_view, SIGNAL(errorMessage(QString)), this, SLOT(slotErrorMessage(QString))); @@ -160,16 +163,14 @@ DolphinPart::DolphinPart(QWidget* parentWidget, QObject* parent, const QVariantL DolphinPart::~DolphinPart() { - DolphinNewFileMenuObserver::instance().detach(m_newFileMenu); } void DolphinPart::createActions() { // Edit menu - m_newFileMenu = new KNewFileMenu(actionCollection(), "new_menu", this); + m_newFileMenu = new DolphinNewFileMenu(actionCollection(), this); m_newFileMenu->setParentWidget(widget()); - DolphinNewFileMenuObserver::instance().attach(m_newFileMenu); connect(m_newFileMenu->menu(), SIGNAL(aboutToShow()), this, SLOT(updateNewMenu())); diff --git a/src/dolphinpart.h b/src/dolphinpart.h index 172bfafc6..c70bc5a8d 100644 --- a/src/dolphinpart.h +++ b/src/dolphinpart.h @@ -26,7 +26,7 @@ #include <QItemSelectionModel> -class KNewFileMenu; +class DolphinNewFileMenu; class DolphinViewActionHandler; class QActionGroup; class KAction; @@ -244,7 +244,7 @@ private: DolphinViewActionHandler* m_actionHandler; DolphinRemoteEncoding* m_remoteEncoding; DolphinPartBrowserExtension* m_extension; - KNewFileMenu* m_newFileMenu; + DolphinNewFileMenu* m_newFileMenu; KAction* m_findFileAction; KAction* m_openTerminalAction; QString m_nameFilter; diff --git a/src/dolphinui.rc b/src/dolphinui.rc index 68e03752f..52826bb43 100644 --- a/src/dolphinui.rc +++ b/src/dolphinui.rc @@ -2,7 +2,7 @@ <kpartgui name="dolphin" version="14"> <MenuBar> <Menu name="file"> - <Action name="create_new" /> + <Action name="new_menu" /> <Action name="new_window" /> <Action name="new_tab" /> <Action name="close_tab" /> diff --git a/src/views/dolphinnewfilemenuobserver.cpp b/src/views/dolphinnewfilemenuobserver.cpp index 1cb5739d7..7669f1561 100644 --- a/src/views/dolphinnewfilemenuobserver.cpp +++ b/src/views/dolphinnewfilemenuobserver.cpp @@ -20,7 +20,7 @@ #include "dolphinnewfilemenuobserver.h" #include <KGlobal> -#include <KNewFileMenu> +#include "dolphinnewfilemenu.h" class DolphinNewFileMenuObserverSingleton { @@ -34,20 +34,24 @@ DolphinNewFileMenuObserver& DolphinNewFileMenuObserver::instance() return s_DolphinNewFileMenuObserver->instance; } -void DolphinNewFileMenuObserver::attach(const KNewFileMenu* menu) +void DolphinNewFileMenuObserver::attach(const DolphinNewFileMenu* menu) { connect(menu, SIGNAL(fileCreated(KUrl)), this, SIGNAL(itemCreated(KUrl))); connect(menu, SIGNAL(directoryCreated(KUrl)), this, SIGNAL(itemCreated(KUrl))); + connect(menu, SIGNAL(errorMessage(QString)), + this, SIGNAL(errorMessage(QString))); } -void DolphinNewFileMenuObserver::detach(const KNewFileMenu* menu) +void DolphinNewFileMenuObserver::detach(const DolphinNewFileMenu* menu) { disconnect(menu, SIGNAL(fileCreated(KUrl)), this, SIGNAL(itemCreated(KUrl))); disconnect(menu, SIGNAL(directoryCreated(KUrl)), this, SIGNAL(itemCreated(KUrl))); + disconnect(menu, SIGNAL(errorMessage(QString)), + this, SIGNAL(errorMessage(QString))); } DolphinNewFileMenuObserver::DolphinNewFileMenuObserver() : diff --git a/src/views/dolphinnewfilemenuobserver.h b/src/views/dolphinnewfilemenuobserver.h index 726122cbc..239476eb9 100644 --- a/src/views/dolphinnewfilemenuobserver.h +++ b/src/views/dolphinnewfilemenuobserver.h @@ -24,7 +24,7 @@ #include "libdolphin_export.h" -class KNewFileMenu; +class DolphinNewFileMenu; class KUrl; /** @@ -40,11 +40,12 @@ class LIBDOLPHINPRIVATE_EXPORT DolphinNewFileMenuObserver : public QObject public: static DolphinNewFileMenuObserver& instance(); - void attach(const KNewFileMenu* menu); - void detach(const KNewFileMenu* menu); + void attach(const DolphinNewFileMenu* menu); + void detach(const DolphinNewFileMenu* menu); signals: void itemCreated(const KUrl& url); + void errorMessage(const QString& error); private: DolphinNewFileMenuObserver(); |
