From a5d7bf0f24ed48066c11513a1d5a8d7349fbca43 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Fri, 28 Feb 2014 17:32:57 +0100 Subject: [PATCH] path-dialogue: check for and disallow duplicates --- libs/gtkmm2ext/paths_dialog.cc | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/libs/gtkmm2ext/paths_dialog.cc b/libs/gtkmm2ext/paths_dialog.cc index 7b42a85f32..270c53c07c 100644 --- a/libs/gtkmm2ext/paths_dialog.cc +++ b/libs/gtkmm2ext/paths_dialog.cc @@ -116,8 +116,17 @@ PathsDialog::add_path() { if (r == Gtk::RESPONSE_OK) { std::string dir = d.get_filename(); if (Glib::file_test (dir, Glib::FILE_TEST_IS_DIR|Glib::FILE_TEST_EXISTS)) { - paths_list_view.prepend(_("user")); - paths_list_view.set_text(0, 1, dir); + bool dup = false; + for (unsigned int i = 0; i < paths_list_view.size(); ++i) { + if (paths_list_view.get_text(i, 1) == dir) { + dup = true; + break; + } + } + if (!dup) { + paths_list_view.prepend(_("user")); + paths_list_view.set_text(0, 1, dir); + } } } }