[fractal] directory: Remove duplicate entries for rooms
- From: Christopher Davis <christopherdavis src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [fractal] directory: Remove duplicate entries for rooms
- Date: Tue, 20 Aug 2019 21:59:30 +0000 (UTC)
commit 748ab68d0153b77246a82a05501f768e3e4fca69
Author: Daniel Pauls <daniel1708 de+git gmail com>
Date: Mon Aug 19 18:08:12 2019 +0000
directory: Remove duplicate entries for rooms
Currently when opening the room directory and scrolling down, the
already existing rooms will get appended to the list as well as the
new ones causing duplicates.
Only appending new rooms fixes this issue.
fractal-gtk/src/appop/directory.rs | 15 +++++----------
1 file changed, 5 insertions(+), 10 deletions(-)
---
diff --git a/fractal-gtk/src/appop/directory.rs b/fractal-gtk/src/appop/directory.rs
index e2f3fc9a..48fd9a4f 100644
--- a/fractal-gtk/src/appop/directory.rs
+++ b/fractal-gtk/src/appop/directory.rs
@@ -129,15 +129,6 @@ impl AppOp {
}
pub fn append_directory_rooms(&mut self, rooms: Vec<Room>) {
- for r in rooms.iter() {
- if self.directory.contains(r) {
- continue;
- }
- self.directory.push(r.clone());
- }
-
- self.directory.sort_by_key(|a| -a.n_members);
-
let directory = self
.ui
.builder
@@ -157,7 +148,11 @@ impl AppOp {
.expect("Can't find directory_column in ui file.");
directory_stack.set_visible_child(&directory_column);
- for r in self.directory.iter() {
+ let mut sorted_rooms = rooms.clone();
+ sorted_rooms.sort_by_key(|a| -a.n_members);
+
+ for r in sorted_rooms.iter() {
+ self.directory.push(r.clone());
let rb = widgets::RoomBox::new(&r, &self);
let room_widget = rb.widget();
directory.add(&room_widget);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]