diff --git a/src/lib/bookmarks/bookmarkstools.cpp b/src/lib/bookmarks/bookmarkstools.cpp
--- a/src/lib/bookmarks/bookmarkstools.cpp
+++ b/src/lib/bookmarks/bookmarkstools.cpp
@@ -147,6 +147,13 @@
layout->addWidget(label);
layout->addWidget(edit);
layout->addWidget(folderButton);
+
+ if (Bookmarks().isBookmarked(url)) {
+ QLabel* warning_label = new QLabel(dialog);
+ warning_label->setText(Bookmarks::tr("NOTE: This site is already bookmarked"));
+ layout->addWidget(warning_label);
+ }
+
layout->addWidget(box);
label->setText(Bookmarks::tr("Choose name and location of this bookmark."));
@@ -191,6 +198,38 @@
layout->addWidget(label);
layout->addWidget(folderButton);
+
+ // -[1] Check for duplicate bookmarks
+ Bookmarks bookmarks;
+ bool duplicate_tabs_present = false;
+ QVector duplicate_urls;
+
+ foreach (WebTab* tab, tabWidget->allTabs(false)) {
+ if (!tab->url().isEmpty() && bookmarks.isBookmarked(tab->url())) {
+ if (!duplicate_urls.contains(tab->url())) {
+ duplicate_urls.push_back(tab->url());
+ } else {
+ duplicate_tabs_present = true;
+ }
+ }
+ }
+
+ if (duplicate_tabs_present) {
+ QLabel* warning_label = new QLabel(dialog);
+ warning_label->setText(Bookmarks::tr("NOTE: There are duplicate tabs"));
+ layout->addWidget(warning_label);
+ } else if (!duplicate_urls.isEmpty()) {
+ QLabel* warning_label = new QLabel(dialog);
+ warning_label->setText(Bookmarks::tr("NOTE: These tabs are already bookmarked"));
+ layout->addWidget(warning_label);
+
+ foreach (QUrl d_url, duplicate_urls) {
+ QLabel* dup_label = new QLabel(dialog);
+ dup_label->setText(d_url.toString());
+ layout->addWidget(dup_label);
+ }
+ } // -[1]
+
layout->addWidget(box);
label->setText(Bookmarks::tr("Choose folder for bookmarks:"));