From 09e1cc4d7726b649710fe5ce49741ae736ce4d06 Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Fri, 27 Aug 2010 05:26:27 +0000 Subject: Context-menu cleanups: - KNewMenu has been deprecated by KNewFileMenu. Reflect this in the names of related Dolphin classes. - Provide context-sensitive actions also when a context-menu is opened on the viewport BUG: 191938 FIXED-IN: 4.6.0 svn path=/trunk/KDE/kdebase/apps/; revision=1168586 --- src/views/dolphinnewfilemenuobserver.cpp | 62 ++++++++++++++++++++++++++++++++ src/views/dolphinnewfilemenuobserver.h | 56 +++++++++++++++++++++++++++++ src/views/dolphinnewmenuobserver.cpp | 62 -------------------------------- src/views/dolphinnewmenuobserver.h | 56 ----------------------------- src/views/dolphinview.cpp | 4 +-- 5 files changed, 120 insertions(+), 120 deletions(-) create mode 100644 src/views/dolphinnewfilemenuobserver.cpp create mode 100644 src/views/dolphinnewfilemenuobserver.h delete mode 100644 src/views/dolphinnewmenuobserver.cpp delete mode 100644 src/views/dolphinnewmenuobserver.h (limited to 'src/views') diff --git a/src/views/dolphinnewfilemenuobserver.cpp b/src/views/dolphinnewfilemenuobserver.cpp new file mode 100644 index 000000000..50a755b9a --- /dev/null +++ b/src/views/dolphinnewfilemenuobserver.cpp @@ -0,0 +1,62 @@ +/*************************************************************************** + * Copyright (C) 2009 by Peter Penz * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * + ***************************************************************************/ + +#include "dolphinnewfilemenuobserver.h" + +#include +#include + +class DolphinNewFileMenuObserverSingleton +{ +public: + DolphinNewFileMenuObserver instance; +}; +K_GLOBAL_STATIC(DolphinNewFileMenuObserverSingleton, s_DolphinNewFileMenuObserver) + +DolphinNewFileMenuObserver& DolphinNewFileMenuObserver::instance() +{ + return s_DolphinNewFileMenuObserver->instance; +} + +void DolphinNewFileMenuObserver::attach(const KNewFileMenu* menu) +{ + connect(menu, SIGNAL(fileCreated(const KUrl&)), + this, SIGNAL(itemCreated(const KUrl&))); + connect(menu, SIGNAL(directoryCreated(const KUrl&)), + this, SIGNAL(itemCreated(const KUrl&))); +} + +void DolphinNewFileMenuObserver::detach(const KNewFileMenu* menu) +{ + disconnect(menu, SIGNAL(fileCreated(const KUrl&)), + this, SIGNAL(itemCreated(const KUrl&))); + disconnect(menu, SIGNAL(directoryCreated(const KUrl&)), + this, SIGNAL(itemCreated(const KUrl&))); +} + +DolphinNewFileMenuObserver::DolphinNewFileMenuObserver() : + QObject(0) +{ +} + +DolphinNewFileMenuObserver::~DolphinNewFileMenuObserver() +{ +} + +#include "dolphinnewfilemenuobserver.moc" diff --git a/src/views/dolphinnewfilemenuobserver.h b/src/views/dolphinnewfilemenuobserver.h new file mode 100644 index 000000000..35fda11db --- /dev/null +++ b/src/views/dolphinnewfilemenuobserver.h @@ -0,0 +1,56 @@ +/*************************************************************************** + * Copyright (C) 2009 by Peter Penz * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * + ***************************************************************************/ + +#ifndef DOLPHINNEWFILEMENUOBSERVER_H +#define DOLPHINNEWFILEMENUOBSERVER_H + +#include + +#include "libdolphin_export.h" + +class KNewFileMenu; +class KUrl; + +/** + * @brief Allows to observe new file items that have been created + * by a DolphinNewFileMenu instance. + * + * As soon as a DolphinNewFileMenu instance created a new item, + * the observer will emit the signal itemCreated(). + */ +class LIBDOLPHINPRIVATE_EXPORT DolphinNewFileMenuObserver : public QObject +{ + Q_OBJECT + +public: + static DolphinNewFileMenuObserver& instance(); + void attach(const KNewFileMenu* menu); + void detach(const KNewFileMenu* menu); + +signals: + void itemCreated(const KUrl& url); + +private: + DolphinNewFileMenuObserver(); + virtual ~DolphinNewFileMenuObserver(); + + friend class DolphinNewFileMenuObserverSingleton; +}; + +#endif diff --git a/src/views/dolphinnewmenuobserver.cpp b/src/views/dolphinnewmenuobserver.cpp deleted file mode 100644 index def510c53..000000000 --- a/src/views/dolphinnewmenuobserver.cpp +++ /dev/null @@ -1,62 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2009 by Peter Penz * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * - ***************************************************************************/ - -#include "dolphinnewmenuobserver.h" - -#include -#include - -class DolphinNewMenuObserverSingleton -{ -public: - DolphinNewMenuObserver instance; -}; -K_GLOBAL_STATIC(DolphinNewMenuObserverSingleton, s_dolphinNewMenuObserver) - -DolphinNewMenuObserver& DolphinNewMenuObserver::instance() -{ - return s_dolphinNewMenuObserver->instance; -} - -void DolphinNewMenuObserver::attach(const KNewFileMenu* menu) -{ - connect(menu, SIGNAL(fileCreated(const KUrl&)), - this, SIGNAL(itemCreated(const KUrl&))); - connect(menu, SIGNAL(directoryCreated(const KUrl&)), - this, SIGNAL(itemCreated(const KUrl&))); -} - -void DolphinNewMenuObserver::detach(const KNewFileMenu* menu) -{ - disconnect(menu, SIGNAL(fileCreated(const KUrl&)), - this, SIGNAL(itemCreated(const KUrl&))); - disconnect(menu, SIGNAL(directoryCreated(const KUrl&)), - this, SIGNAL(itemCreated(const KUrl&))); -} - -DolphinNewMenuObserver::DolphinNewMenuObserver() : - QObject(0) -{ -} - -DolphinNewMenuObserver::~DolphinNewMenuObserver() -{ -} - -#include "dolphinnewmenuobserver.moc" diff --git a/src/views/dolphinnewmenuobserver.h b/src/views/dolphinnewmenuobserver.h deleted file mode 100644 index dc9010a43..000000000 --- a/src/views/dolphinnewmenuobserver.h +++ /dev/null @@ -1,56 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2009 by Peter Penz * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * - ***************************************************************************/ - -#ifndef DOLPHINNEWMENUOBSERVER_H -#define DOLPHINNEWMENUOBSERVER_H - -#include - -#include "libdolphin_export.h" - -class KNewFileMenu; -class KUrl; - -/** - * @brief Allows to observe new file items that have been created - * by a DolphinNewMenu instance. - * - * As soon as a DolphinNewMenu instance created a new item, - * the observer will emit the signal itemCreated(). - */ -class LIBDOLPHINPRIVATE_EXPORT DolphinNewMenuObserver : public QObject -{ - Q_OBJECT - -public: - static DolphinNewMenuObserver& instance(); - void attach(const KNewFileMenu* menu); - void detach(const KNewFileMenu* menu); - -signals: - void itemCreated(const KUrl& url); - -private: - DolphinNewMenuObserver(); - virtual ~DolphinNewMenuObserver(); - - friend class DolphinNewMenuObserverSingleton; -}; - -#endif diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp index 9d42aad0c..00751bf77 100644 --- a/src/views/dolphinview.cpp +++ b/src/views/dolphinview.cpp @@ -55,7 +55,7 @@ #include "dolphinviewcontroller.h" #include "dolphindetailsview.h" #include "dolphinfileitemdelegate.h" -#include "dolphinnewmenuobserver.h" +#include "dolphinnewfilemenuobserver.h" #include "dolphinsortfilterproxymodel.h" #include "dolphin_detailsmodesettings.h" #include "dolphiniconsview.h" @@ -149,7 +149,7 @@ DolphinView::DolphinView(QWidget* parent, // When a new item has been created by the "Create New..." menu, the item should // get selected and it must be assured that the item will get visible. As the // creation is done asynchronously, several signals must be checked: - connect(&DolphinNewMenuObserver::instance(), SIGNAL(itemCreated(const KUrl&)), + connect(&DolphinNewFileMenuObserver::instance(), SIGNAL(itemCreated(const KUrl&)), this, SLOT(observeCreatedItem(const KUrl&))); m_selectionChangedTimer = new QTimer(this); -- cgit v1.3