kio: disable copying of KBookmarkMenu

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2023-06-08 15:45:47 +03:00
parent 8d6cbd657c
commit c8119cf861
9 changed files with 52 additions and 67 deletions

View file

@ -21,17 +21,18 @@
*/ */
#include "kbookmark.h" #include "kbookmark.h"
#include <QStack> #include <QStack>
#include <QDateTime>
#include <kdebug.h> #include <kdebug.h>
#include <kmimetype.h> #include <kmimetype.h>
#include <kstringhandler.h> #include <kstringhandler.h>
#include <kglobal.h> #include <kglobal.h>
#include <klocale.h> #include <klocale.h>
#include <assert.h>
#include <kbookmarkmanager.h> #include <kbookmarkmanager.h>
#include <qdatetime.h> #include <assert.h>
#include <qmimedata.h>
#define METADATA_KDE_OWNER "http://www.kde.org" #define METADATA_KDE_OWNER "http://www.kde.org"
#define METADATA_FREEDESKTOP_OWNER "http://freedesktop.org" #define METADATA_FREEDESKTOP_OWNER "http://freedesktop.org"

View file

@ -21,13 +21,14 @@
#define KBOOKMARK_H #define KBOOKMARK_H
#include <kio/kio_export.h> #include <kio/kio_export.h>
#include <QtCore/QString>
#include <QtCore/QList>
#include <QtCore/QMetaType>
#include <QtXml/qdom.h>
#include <kurl.h> #include <kurl.h>
#include <QString>
#include <QList>
#include <QMimeData>
#include <QMetaType>
#include <QDomDocument>
class KBookmarkManager; class KBookmarkManager;
class KBookmarkGroup; class KBookmarkGroup;

View file

@ -22,10 +22,12 @@
#include "kbookmarkmanager.h" #include "kbookmarkmanager.h"
#include "kbookmarkmenu.h" #include "kbookmarkmenu.h"
#include "kbookmarkmenu_p.h" #include "kbookmarkmenu_p.h"
#include <QFormLayout> #include <QFormLayout>
#include <QLabel> #include <QLabel>
#include <QTreeWidget> #include <QTreeWidget>
#include <QHeaderView> #include <QHeaderView>
#include <klineedit.h> #include <klineedit.h>
#include <klocale.h> #include <klocale.h>
#include <kiconloader.h> #include <kiconloader.h>

View file

@ -21,14 +21,12 @@
#define KBOOKMARKDIALOG_H #define KBOOKMARKDIALOG_H
#include "kbookmark.h" #include "kbookmark.h"
#include <kdialog.h> #include <kdialog.h>
#include <kurl.h> #include <kurl.h>
#include <QWidget> #include <QWidget>
#include <QLabel>
#include <QTreeWidget>
#include <QTreeWidgetItem> #include <QTreeWidgetItem>
#include <QGridLayout>
class KBookmarkManager; class KBookmarkManager;
class KBookmarkDialogPrivate; class KBookmarkDialogPrivate;
@ -55,17 +53,17 @@ public:
~KBookmarkDialog(); ~KBookmarkDialog();
/** /**
* shows a propeties dialog * shows a propeties dialog
* @note That this updates the bookmark and calls KBookmarkManager::emitChanged * @note That this updates the bookmark and calls KBookmarkManager::emitChanged
*/ */
KBookmark editBookmark(const KBookmark &bm); KBookmark editBookmark(const KBookmark &bm);
/** /**
* shows a add Bookmark dialog * shows a add Bookmark dialog
* @note That this updates the bookmark and calls KBookmarkManager::emitChanged * @note That this updates the bookmark and calls KBookmarkManager::emitChanged
*/ */
KBookmark addBookmark(const QString &title, const KUrl &url, KBookmark parent = KBookmark()); KBookmark addBookmark(const QString &title, const KUrl &url, KBookmark parent = KBookmark());
/** /**
* Creates a folder from a list of bookmarks * Creates a folder from a list of bookmarks
* @note That this updates the bookmark and calls KBookmarkManager::emitChanged * @note That this updates the bookmark and calls KBookmarkManager::emitChanged
*/ */
KBookmarkGroup addBookmarks(const QList<QPair<QString, QString>> &list, const QString &name = QString(), KBookmarkGroup parent = KBookmarkGroup()); KBookmarkGroup addBookmarks(const QList<QPair<QString, QString>> &list, const QString &name = QString(), KBookmarkGroup parent = KBookmarkGroup());
/** /**

View file

@ -21,17 +21,21 @@
*/ */
#include "kbookmarkmanager.h" #include "kbookmarkmanager.h"
#include "kbookmarkmenu.h"
#include "kbookmarkmenu_p.h"
#include "kbookmarkdialog.h"
#include "kbookmarkmanageradaptor_p.h"
#include <QtCore/QFile> #include <QFile>
#include <QtCore/QFileInfo> #include <QFileInfo>
#include <QtCore/QProcess> #include <QProcess>
#include <QtCore/QRegExp> #include <QRegExp>
#include <QtCore/QTextStream> #include <QTextStream>
#include <QtCore/QMutex> #include <QMutex>
#include <QtCore/QTextCodec> #include <QTextCodec>
#include <QtCore/QThread> #include <QThread>
#include <QtDBus/QtDBus> #include <QApplication>
#include <QtGui/QApplication> #include <QDBusConnection>
#include <kconfiggroup.h> #include <kconfiggroup.h>
#include <kdebug.h> #include <kdebug.h>
@ -42,11 +46,6 @@
#include <kstandarddirs.h> #include <kstandarddirs.h>
#include <kmimetype.h> #include <kmimetype.h>
#include "kbookmarkmenu.h"
#include "kbookmarkmenu_p.h"
#include "kbookmarkdialog.h"
#include "kbookmarkmanageradaptor_p.h"
#define BOOKMARK_CHANGE_NOTIFY_INTERFACE "org.kde.KIO.KBookmarkManager" #define BOOKMARK_CHANGE_NOTIFY_INTERFACE "org.kde.KIO.KBookmarkManager"
class KBookmarkManagerList : public QList<KBookmarkManager*> class KBookmarkManagerList : public QList<KBookmarkManager*>

View file

@ -20,17 +20,12 @@
#ifndef KBOOKMARKMANAGER_H #ifndef KBOOKMARKMANAGER_H
#define KBOOKMARKMANAGER_H #define KBOOKMARKMANAGER_H
#include <QtCore/QString> #include <QString>
#include <QtCore/QStringList> #include <QObject>
#include <QtCore/QObject> #include <QPair>
#include <QtCore/QPair> #include <QDomDocument>
#include <QtGui/QTreeWidgetItem> #include <QDBusMessage>
#include <QtGui/QLabel>
#include <QtGui/QTreeWidget>
#include <QtXml/QDomDocument>
#include <QtDBus/QDBusMessage>
#include <kurl.h>
#include "kbookmark.h" #include "kbookmark.h"
class KBookmarkGroup; class KBookmarkGroup;

View file

@ -21,7 +21,7 @@
#ifndef KBOOKMARKMANAGERADAPTOR_H #ifndef KBOOKMARKMANAGERADAPTOR_H
#define KBOOKMARKMANAGERADAPTOR_H #define KBOOKMARKMANAGERADAPTOR_H
#include <QtDBus/QDBusAbstractAdaptor> #include <QDBusAbstractAdaptor>
class KBookmarkManager; class KBookmarkManager;

View file

@ -21,6 +21,13 @@
#include "kbookmarkmenu.h" #include "kbookmarkmenu.h"
#include "kbookmarkmenu_p.h" #include "kbookmarkmenu_p.h"
#include "kbookmarkdialog.h" #include "kbookmarkdialog.h"
#include <QMimeData>
#include <QStack>
#include <QClipboard>
#include <QHeaderView>
#include <QApplication>
#include <kdebug.h> #include <kdebug.h>
#include <kiconloader.h> #include <kiconloader.h>
#include <klocale.h> #include <klocale.h>
@ -28,16 +35,9 @@
#include <kmenu.h> #include <kmenu.h>
#include <kstandardshortcut.h> #include <kstandardshortcut.h>
#include <kstandardaction.h> #include <kstandardaction.h>
#include <kstringhandler.h>
#include <krun.h> #include <krun.h>
#include <kactioncollection.h> #include <kactioncollection.h>
#include <qclipboard.h>
#include <qmimedata.h>
#include <QtCore/QStack>
#include <QtGui/QHeaderView>
#include <QtGui/QApplication>
/********************************************************************/ /********************************************************************/
/********************************************************************/ /********************************************************************/
/********************************************************************/ /********************************************************************/
@ -231,7 +231,6 @@ KMenu* KBookmarkMenu::parentMenu() const
/********************************************************************/ /********************************************************************/
/********************************************************************/ /********************************************************************/
/********************************************************************/ /********************************************************************/
KBookmarkActionInterface::KBookmarkActionInterface(const KBookmark &bk) KBookmarkActionInterface::KBookmarkActionInterface(const KBookmark &bk)
: bm(bk) : bm(bk)
{ {
@ -249,8 +248,6 @@ const KBookmark KBookmarkActionInterface::bookmark() const
/********************************************************************/ /********************************************************************/
/********************************************************************/ /********************************************************************/
/********************************************************************/ /********************************************************************/
KBookmarkContextMenu::KBookmarkContextMenu(const KBookmark &bk, KBookmarkManager *manager, KBookmarkOwner *owner, QWidget *parent) KBookmarkContextMenu::KBookmarkContextMenu(const KBookmark &bk, KBookmarkManager *manager, KBookmarkOwner *owner, QWidget *parent)
: KMenu(parent), bm(bk), m_pManager(manager), m_pOwner(owner) : KMenu(parent), bm(bk), m_pManager(manager), m_pOwner(owner)
{ {
@ -289,7 +286,6 @@ void KBookmarkContextMenu::addFolderActions()
addAction(KIcon("edit-delete"), i18n("Delete Folder"), this, SLOT(slotRemove())); addAction(KIcon("edit-delete"), i18n("Delete Folder"), this, SLOT(slotRemove()));
} }
void KBookmarkContextMenu::addProperties() void KBookmarkContextMenu::addProperties()
{ {
addAction(i18n("Properties"), this, SLOT(slotProperties())); addAction(i18n("Properties"), this, SLOT(slotProperties()));
@ -319,7 +315,6 @@ void KBookmarkContextMenu::slotEditAt()
void KBookmarkContextMenu::slotProperties() void KBookmarkContextMenu::slotProperties()
{ {
// kDebug(7043) << m_highlightedAddress; // kDebug(7043) << m_highlightedAddress;
KBookmarkDialog* dlg = m_pOwner->bookmarkDialog(m_pManager, QApplication::activeWindow()); KBookmarkDialog* dlg = m_pOwner->bookmarkDialog(m_pManager, QApplication::activeWindow());
dlg->editBookmark(bm); dlg->editBookmark(bm);
delete dlg; delete dlg;
@ -355,11 +350,11 @@ void KBookmarkContextMenu::slotInsert()
void KBookmarkContextMenu::slotRemove() void KBookmarkContextMenu::slotRemove()
{ {
// kDebug(7043) << "slotRemove" << m_highlightedAddress; // kDebug(7043) << "slotRemove" << m_highlightedAddress;
bool folder = bm.isGroup(); bool folder = bm.isGroup();
if (KMessageBox::warningContinueCancel( if (KMessageBox::warningContinueCancel(
QApplication::activeWindow(), QApplication::activeWindow(),
folder ? i18n("Are you sure you wish to remove the bookmark folder\n\"%1\"?", bm.text()) folder ? i18n("Are you sure you wish to remove the bookmark folder\n\"%1\"?", bm.text())
: i18n("Are you sure you wish to remove the bookmark\n\"%1\"?", bm.text()), : i18n("Are you sure you wish to remove the bookmark\n\"%1\"?", bm.text()),
@ -414,7 +409,6 @@ KBookmark KBookmarkContextMenu::bookmark() const
/********************************************************************/ /********************************************************************/
/********************************************************************/ /********************************************************************/
/********************************************************************/ /********************************************************************/
void KBookmarkMenu::slotBookmarksChanged(const QString &groupAddress) void KBookmarkMenu::slotBookmarksChanged(const QString &groupAddress)
{ {
kDebug(7043) << "slotBookmarksChanged" << groupAddress; kDebug(7043) << "slotBookmarksChanged" << groupAddress;
@ -594,8 +588,8 @@ void KBookmarkMenu::slotAddBookmark()
KBookmarkGroup parentBookmark = d->m_pManager->findByAddress(d->m_parentAddress).toGroup(); KBookmarkGroup parentBookmark = d->m_pManager->findByAddress(d->m_parentAddress).toGroup();
if (KBookmarkSettings::self()->m_advancedaddbookmark) { if (KBookmarkSettings::self()->m_advancedaddbookmark) {
KBookmarkDialog* dlg = d->m_pOwner->bookmarkDialog(d->m_pManager, QApplication::activeWindow() ); KBookmarkDialog* dlg = d->m_pOwner->bookmarkDialog(d->m_pManager, QApplication::activeWindow());
dlg->addBookmark(d->m_pOwner->currentTitle(), KUrl(d->m_pOwner->currentUrl()), parentBookmark ); dlg->addBookmark(d->m_pOwner->currentTitle(), KUrl(d->m_pOwner->currentUrl()), parentBookmark);
delete dlg; delete dlg;
} else { } else {
parentBookmark.addBookmark(d->m_pOwner->currentTitle(), KUrl(d->m_pOwner->currentUrl())); parentBookmark.addBookmark(d->m_pOwner->currentTitle(), KUrl(d->m_pOwner->currentUrl()));
@ -623,8 +617,6 @@ void KBookmarkMenu::slotNewFolder()
/********************************************************************/ /********************************************************************/
/********************************************************************/ /********************************************************************/
/********************************************************************/ /********************************************************************/
KBookmarkAction::KBookmarkAction(const KBookmark &bk, KBookmarkOwner *owner, QObject *parent) KBookmarkAction::KBookmarkAction(const KBookmark &bk, KBookmarkOwner *owner, QObject *parent)
: KAction(bk.text().replace('&', "&&"), parent), : KAction(bk.text().replace('&', "&&"), parent),
KBookmarkActionInterface(bk), KBookmarkActionInterface(bk),

View file

@ -23,21 +23,17 @@
#ifndef KBOOKMARKMENU_H #ifndef KBOOKMARKMENU_H
#define KBOOKMARKMENU_H #define KBOOKMARKMENU_H
#include <sys/types.h> #include "kbookmark.h"
#include "kbookmarkmanager.h"
#include <QObject> #include <QObject>
#include <QStack>
#include <QString> #include <QString>
#include <QMenu>
#include <QAction> #include <QAction>
#include <kaction.h> #include <kaction.h>
#include <kactionmenu.h> #include <kactionmenu.h>
#include <kmenu.h> #include <kmenu.h>
#include "kbookmark.h"
#include "kbookmarkmanager.h"
class KActionCollection; class KActionCollection;
class KMenu; class KMenu;
class KBookmarkMenuPrivate; class KBookmarkMenuPrivate;
@ -145,7 +141,8 @@ private Q_SLOTS:
void slotCustomContextMenu(const QPoint &pos); void slotCustomContextMenu(const QPoint &pos);
private: private:
KBookmarkMenuPrivate* d; KBookmarkMenuPrivate* const d;
Q_DISABLE_COPY(KBookmarkMenu);
}; };
class KIO_EXPORT KBookmarkContextMenu : public KMenu class KIO_EXPORT KBookmarkContextMenu : public KMenu