beagle r4862 - in trunk/beagle/search: Beagle.Search Beagle.Search.Tray
- From: dbera svn gnome org
- To: svn-commits-list gnome org
- Subject: beagle r4862 - in trunk/beagle/search: Beagle.Search Beagle.Search.Tray
- Date: Sat, 27 Sep 2008 20:34:39 +0000 (UTC)
Author: dbera
Date: Sat Sep 27 20:34:38 2008
New Revision: 4862
URL: http://svn.gnome.org/viewvc/beagle?rev=4862&view=rev
Log:
Fixes #551898. Make sure hotkey changes via beagle-settings is immediately picked up by beagle-search.
Modified:
trunk/beagle/search/Beagle.Search.Tray/TrayIcon.cs
trunk/beagle/search/Beagle.Search/Search.cs
Modified: trunk/beagle/search/Beagle.Search.Tray/TrayIcon.cs
==============================================================================
--- trunk/beagle/search/Beagle.Search.Tray/TrayIcon.cs (original)
+++ trunk/beagle/search/Beagle.Search.Tray/TrayIcon.cs Sat Sep 27 20:34:38 2008
@@ -27,6 +27,7 @@
public event EventHandler Clicked;
public SearchDelegate Search;
+ public event EventHandler Quit;
public TrayIcon ()
{
@@ -124,7 +125,8 @@
private void OnQuit (object sender, EventArgs args)
{
- Application.Quit ();
+ if (Quit != null)
+ Quit (sender, args);
}
private void OnClear (object sender, EventArgs args)
Modified: trunk/beagle/search/Beagle.Search/Search.cs
==============================================================================
--- trunk/beagle/search/Beagle.Search/Search.cs (original)
+++ trunk/beagle/search/Beagle.Search/Search.cs Sat Sep 27 20:34:38 2008
@@ -21,7 +21,7 @@
// The reference count is only valid when
// we don't run in icon mode.
- private uint ref_count = 0;
+ private int ref_count = 0;
private bool icon_enabled = false;
private bool docs_enabled = false;
@@ -42,29 +42,15 @@
tray = new TrayIcon ();
tray.Clicked += OnTrayActivated;
tray.Search += OnTraySearch;
+ tray.Quit += OnTrayQuit;
Config config = Conf.Get (Conf.Names.BeagleSearchConfig);
+ keybinder = new XKeybinder ();
+ SetKeyBindings (config);
- string tip_text = Catalog.GetString ("Desktop Search");
- string binding = config.GetOption ("KeyBinding", null);
-
- if (String.IsNullOrEmpty (binding)) {
- // Move old preference value to new
- bool binding_ctrl = config.GetOption (Conf.Names.KeyBinding_Ctrl, false);
- bool binding_alt = config.GetOption (Conf.Names.KeyBinding_Alt, false);
- string binding_key = config.GetOption (Conf.Names.KeyBinding_Key, "F12");
- KeyBinding show_binding = new KeyBinding (binding_key, binding_ctrl, binding_alt);
-
- binding = show_binding.ToString ();
- }
-
- if (!String.IsNullOrEmpty (binding)) {
- tip_text += String.Format (" ({0})", binding);
- keybinder = new XKeybinder ();
- keybinder.Bind (binding, OnTrayActivated);
- }
-
- tray.TooltipText = tip_text;
+ Inotify.Start ();
+ Conf.WatchForUpdates();
+ Conf.Subscribe (Conf.Names.BeagleSearchConfig, OnConfigurationChanged);
}
}
@@ -87,10 +73,49 @@
}
}
+ private void SetKeyBindings (Config config)
+ {
+ string tip_text = Catalog.GetString ("Desktop Search");
+ string binding = config.GetOption ("KeyBinding", null);
+ Console.WriteLine ("new binding {0}", binding);
+
+ if (String.IsNullOrEmpty (binding)) {
+ // Move old preference value to new
+ bool binding_ctrl = config.GetOption (Conf.Names.KeyBinding_Ctrl, false);
+ bool binding_alt = config.GetOption (Conf.Names.KeyBinding_Alt, false);
+ string binding_key = config.GetOption (Conf.Names.KeyBinding_Key, "F12");
+ KeyBinding show_binding = new KeyBinding (binding_key, binding_ctrl, binding_alt);
+
+ binding = show_binding.ToString ();
+ }
+
+ if (!String.IsNullOrEmpty (binding)) {
+ tip_text += String.Format (" ({0})", binding);
+ keybinder.UnbindAll ();
+ keybinder.Bind (binding, OnTrayActivated);
+ }
+
+ tray.TooltipText = tip_text;
+ }
+
private void OnWindowDeleteEvent (object o, Gtk.DeleteEventArgs args)
{
- if (--ref_count < 1)
- Gtk.Application.Quit ();
+ Quit ();
+ }
+
+ private void OnTrayQuit (object o, EventArgs args)
+ {
+ Quit ();
+ }
+
+ private void Quit ()
+ {
+ Console.WriteLine (ref_count);
+ if (--ref_count >= 1)
+ return;
+
+ Inotify.Stop ();
+ Gtk.Application.Quit ();
}
private void OnTrayActivated (object o, EventArgs args)
@@ -120,6 +145,11 @@
tray.AddSearch (query);
}
+ private void OnConfigurationChanged (Config config)
+ {
+ SetKeyBindings (config);
+ }
+
public bool IconEnabled {
get { return icon_enabled; }
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]