[gitg] dash: remove items if cannot be opened from the recent manager and cleanup
- From: Ignacio Casal Quinteiro <icq src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gitg] dash: remove items if cannot be opened from the recent manager and cleanup
- Date: Wed, 13 Mar 2013 14:38:33 +0000 (UTC)
commit 5d39d6082454fe315e91cfea4436f55b42a10596
Author: Ignacio Casal Quinteiro <icq gnome org>
Date: Wed Mar 13 15:38:08 2013 +0100
dash: remove items if cannot be opened from the recent manager and cleanup
libgitg-gtk/gitg-gtk-dash-view.vala | 66 +++++++++++++++++-----------------
1 files changed, 33 insertions(+), 33 deletions(-)
---
diff --git a/libgitg-gtk/gitg-gtk-dash-view.vala b/libgitg-gtk/gitg-gtk-dash-view.vala
index 85fa617..5a50b0d 100644
--- a/libgitg-gtk/gitg-gtk-dash-view.vala
+++ b/libgitg-gtk/gitg-gtk-dash-view.vala
@@ -62,16 +62,7 @@ namespace GitgGtk
}
});
- var recent_manager = RecentManager.get_default();
- var items = recent_manager.get_items();
-
- foreach (var item in items)
- {
- if (item.has_group("gitg"))
- {
- add_recent_info(item);
- }
- }
+ add_recent_info();
}
private void update_separator(ref Widget? separator, Widget widget, Widget? before_widget)
@@ -100,33 +91,42 @@ namespace GitgGtk
return - data_a.time.compare(data_b.time);
}
- private void add_recent_info(RecentInfo info)
+ private void add_recent_info()
{
- File info_file = File.new_for_uri(info.get_uri());
- File repo_file;
+ var recent_manager = RecentManager.get_default();
- try
+ foreach (var item in recent_manager.get_items())
{
- repo_file = Ggit.Repository.discover(info_file);
- }
- catch
- {
- // TODO: remove from the recent manager
- return;
- }
+ if (item.has_group("gitg"))
+ {
+ File info_file = File.new_for_uri(item.get_uri());
+ File repo_file;
+
+ try
+ {
+ repo_file = Ggit.Repository.discover(info_file);
+ }
+ catch
+ {
+ recent_manager.remove_item(item.get_uri());
+ return;
+ }
- Gitg.Repository repo;
+ Gitg.Repository repo;
- try
- {
- repo = new Gitg.Repository(repo_file, null);
- }
- catch
- {
- return;
- }
+ try
+ {
+ repo = new Gitg.Repository(repo_file, null);
+ }
+ catch
+ {
+ recent_manager.remove_item(item.get_uri());
+ return;
+ }
- add_repository(repo);
+ add_repository(repo);
+ }
+ }
}
public void add_repository(Gitg.Repository repository)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]