[ui] don't crash and update repo list when deleting a shared folder
This commit is contained in:
parent
c9462361dc
commit
0a0b9d1786
|
@ -17,6 +17,7 @@
|
||||||
using Gtk;
|
using Gtk;
|
||||||
using Mono.Unix;
|
using Mono.Unix;
|
||||||
using Mono.Unix.Native;
|
using Mono.Unix.Native;
|
||||||
|
using NDesk.DBus;
|
||||||
using SparkleLib;
|
using SparkleLib;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
@ -43,6 +44,7 @@ namespace SparkleShare {
|
||||||
public SparkleUI (bool HideUI)
|
public SparkleUI (bool HideUI)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
BusG.Init ();
|
||||||
Gtk.Application.Init ();
|
Gtk.Application.Init ();
|
||||||
|
|
||||||
Repositories = new List <SparkleRepo> ();
|
Repositories = new List <SparkleRepo> ();
|
||||||
|
@ -64,9 +66,20 @@ namespace SparkleShare {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create a directory to store temporary files in
|
|
||||||
if (!Directory.Exists (SparklePaths.SparkleTmpPath))
|
// Watch the SparkleShare folder and update the repo list
|
||||||
Directory.CreateDirectory (SparklePaths.SparkleTmpPath);
|
// when a deletion occurs.
|
||||||
|
|
||||||
|
FileSystemWatcher watcher = new FileSystemWatcher (SparklePaths.SparklePath) {
|
||||||
|
IncludeSubdirectories = false,
|
||||||
|
EnableRaisingEvents = true,
|
||||||
|
Filter = "*"
|
||||||
|
};
|
||||||
|
|
||||||
|
watcher.Deleted += delegate {
|
||||||
|
Application.Invoke (delegate { UpdateRepositories (); } );
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
CreateConfigurationFolders ();
|
CreateConfigurationFolders ();
|
||||||
UpdateRepositories ();
|
UpdateRepositories ();
|
||||||
|
@ -102,6 +115,9 @@ namespace SparkleShare {
|
||||||
public void CreateConfigurationFolders ()
|
public void CreateConfigurationFolders ()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
if (!Directory.Exists (SparklePaths.SparkleTmpPath))
|
||||||
|
Directory.CreateDirectory (SparklePaths.SparkleTmpPath);
|
||||||
|
|
||||||
string config_path = SparklePaths.SparkleConfigPath;
|
string config_path = SparklePaths.SparkleConfigPath;
|
||||||
string local_icon_path = SparklePaths.SparkleLocalIconPath;
|
string local_icon_path = SparklePaths.SparkleLocalIconPath;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue