KBookmarks

kbookmarkaction.cpp
1 /*
2  This file is part of the KDE project
3  SPDX-FileCopyrightText: 1998, 1999 Torben Weis <[email protected]>
4  SPDX-FileCopyrightText: 2006 Daniel Teske <[email protected]>
5 
6  SPDX-License-Identifier: LGPL-2.0-or-later
7 */
8 
9 #include "kbookmarkaction.h"
10 #include "kbookmarkowner.h"
11 
12 #include <QApplication>
13 #include <QDesktopServices>
14 
15 KBookmarkAction::KBookmarkAction(const KBookmark &bk, KBookmarkOwner *owner, QObject *parent)
16  : QAction(bk.text().replace(QLatin1Char('&'), QLatin1String("&&")), parent)
18  , m_pOwner(owner)
19 {
20  setIcon(QIcon::fromTheme(bookmark().icon()));
21  setIconText(text());
22  setToolTip(bookmark().url().toDisplayString(QUrl::PreferLocalFile));
23  setStatusTip(toolTip());
24  setWhatsThis(toolTip());
25  const QString description = bk.description();
26  if (!description.isEmpty()) {
27  setToolTip(description);
28  }
29  connect(this, &QAction::triggered, this, &KBookmarkAction::slotTriggered);
30 }
31 
32 KBookmarkAction::~KBookmarkAction()
33 {
34 }
35 
36 void KBookmarkAction::slotTriggered()
37 {
39 }
40 
41 void KBookmarkAction::slotSelected(Qt::MouseButtons mb, Qt::KeyboardModifiers km)
42 {
43  if (!m_pOwner) {
44  QDesktopServices::openUrl(bookmark().url());
45  } else {
46  m_pOwner->openBookmark(bookmark(), mb, km);
47  }
48 }
49 
50 #include "moc_kbookmarkaction.cpp"
Qt::KeyboardModifiers keyboardModifiers()
QString description() const
Definition: kbookmark.cpp:411
QIcon fromTheme(const QString &name)
bool openUrl(const QUrl &url)
typedef MouseButtons
PreferLocalFile
bool isEmpty() const const
const QList< QKeySequence > & replace()
void triggered(bool checked)
Qt::MouseButtons mouseButtons()
virtual void openBookmark(const KBookmark &bm, Qt::MouseButtons mb, Qt::KeyboardModifiers km)=0
Called if a bookmark is selected.
typedef KeyboardModifiers
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Thu Sep 28 2023 03:57:59 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.