File indexing completed on 2024-04-28 17:05:52
0001 /* 0002 SPDX-FileCopyrightText: 2002 Shie Erlich <erlich@users.sourceforge.net> 0003 SPDX-FileCopyrightText: 2002 Rafi Yanai <yanai@users.sourceforge.net> 0004 SPDX-FileCopyrightText: 2004-2022 Krusader Krew <https://krusader.org> 0005 0006 SPDX-License-Identifier: GPL-2.0-or-later 0007 */ 0008 0009 #include "krbookmarkbutton.h" 0010 #include "../compat.h" 0011 #include "../icon.h" 0012 #include "../krglobal.h" 0013 #include "krbookmarkhandler.h" 0014 0015 // QtGui 0016 #include <QPixmap> 0017 // QtWidgets 0018 #include <QAction> 0019 #include <QMenu> 0020 0021 #include <KI18n/KLocalizedString> 0022 0023 KrBookmarkButton::KrBookmarkButton(QWidget *parent) 0024 : QToolButton(parent) 0025 { 0026 setAutoRaise(true); 0027 setIcon(Icon("bookmarks")); 0028 setText(i18n("BookMan II")); 0029 setToolTip(i18n("BookMan II")); 0030 setPopupMode(QToolButton::InstantPopup); 0031 setAcceptDrops(false); 0032 0033 acmBookmarks = new KActionMenu(Icon("bookmarks"), i18n("Bookmarks"), this); 0034 acmBookmarks->KACTIONMENU_SETDELAYED; 0035 0036 setMenu(acmBookmarks->menu()); 0037 connect(acmBookmarks->menu(), &QMenu::aboutToShow, this, &KrBookmarkButton::populate); 0038 connect(acmBookmarks->menu(), &QMenu::aboutToShow, this, &KrBookmarkButton::aboutToShow); 0039 } 0040 0041 void KrBookmarkButton::populate() 0042 { 0043 krBookMan->populate(static_cast<QMenu *>(menu())); 0044 } 0045 0046 void KrBookmarkButton::showMenu() 0047 { 0048 populate(); 0049 menu()->exec(mapToGlobal(QPoint(0, height()))); 0050 }