From 47344f0680af144ae2555c8dda39c6e050d34b40 Mon Sep 17 00:00:00 2001 From: Yoann Laissus Date: Wed, 4 Aug 2010 14:27:07 +0200 Subject: - Add a 'Don't ask again' option to some message dialog - Prevent a crash if the previous option is enabled because KMenu blocks all GUI events ... BUG: 246565 --- src/bookmarks/bookmarkcontextmenu.cpp | 4 +++- src/bookmarks/bookmarksmanager.cpp | 14 +++++++++++++- src/bookmarks/bookmarksmanager.h | 1 + src/bookmarks/bookmarkspanel.cpp | 4 +++- 4 files changed, 20 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/bookmarks/bookmarkcontextmenu.cpp b/src/bookmarks/bookmarkcontextmenu.cpp index dec4382f..e731d982 100644 --- a/src/bookmarks/bookmarkcontextmenu.cpp +++ b/src/bookmarks/bookmarkcontextmenu.cpp @@ -222,7 +222,9 @@ void BookmarkContextMenu::deleteBookmark() : i18n("Are you sure you wish to remove the bookmark\n\"%1\"?", name), folder ? i18n("Bookmark Folder Deletion") : i18n("Bookmark Deletion"), - KStandardGuiItem::del()) + KStandardGuiItem::del(), + KStandardGuiItem::cancel(), + "bookmarkDeletition_askAgain") != KMessageBox::Continue ) return; diff --git a/src/bookmarks/bookmarksmanager.cpp b/src/bookmarks/bookmarksmanager.cpp index ca85be23..792baaeb 100644 --- a/src/bookmarks/bookmarksmanager.cpp +++ b/src/bookmarks/bookmarksmanager.cpp @@ -103,7 +103,11 @@ void BookmarkOwner::openFolderinTabs(const KBookmarkGroup &bookmark) i18ncp("%1=Number of tabs. Value is always >=8", "You are about to open %1 tabs.\nAre you sure?", "You are about to open %1 tabs.\nAre you sure?", - urlList.length()) + urlList.length()), + "", + KStandardGuiItem::cont(), + KStandardGuiItem::cancel(), + "openFolderInTabs_askAgain" ) == KMessageBox::Continue) ) return; @@ -263,6 +267,7 @@ BookmarkToolBar::BookmarkToolBar( const QString &objectName, , m_filled(false) , m_currentMenu(0) { + connect(Application::bookmarkProvider()->bookmarkManager(), SIGNAL(changed(QString,QString)), this, SLOT(hideMenu())); } @@ -296,6 +301,13 @@ void BookmarkToolBar::menuHidden() } +void BookmarkToolBar::hideMenu() +{ + if(m_currentMenu) + m_currentMenu->hide(); +} + + bool BookmarkToolBar::eventFilter(QObject *watched, QEvent *event) { // To switch root folders as in a menubar diff --git a/src/bookmarks/bookmarksmanager.h b/src/bookmarks/bookmarksmanager.h index 6bf796c0..72ea1c3c 100644 --- a/src/bookmarks/bookmarksmanager.h +++ b/src/bookmarks/bookmarksmanager.h @@ -196,6 +196,7 @@ private slots: void actionHovered(); void menuDisplayed(); void menuHidden(); + void hideMenu(); private: bool m_filled; diff --git a/src/bookmarks/bookmarkspanel.cpp b/src/bookmarks/bookmarkspanel.cpp index 19db148b..5e11601a 100644 --- a/src/bookmarks/bookmarkspanel.cpp +++ b/src/bookmarks/bookmarkspanel.cpp @@ -227,7 +227,9 @@ void BookmarksPanel::deleteBookmark() : i18n("Are you sure you wish to remove the bookmark\n\"%1\"?", bm.text()), folder ? i18n("Bookmark Folder Deletion") : i18n("Bookmark Deletion"), - KStandardGuiItem::del()) + KStandardGuiItem::del(), + KStandardGuiItem::cancel(), + "bookmarkDeletition_askAgain") != KMessageBox::Continue ) return; -- cgit v1.2.1