private void CreateWindow (string query) { Title = Best.DefaultWindowTitle; DeleteEvent += new DeleteEventHandler (this.DoDelete); MapEvent += new MapEventHandler (MapIt); UnmapEvent += new UnmapEventHandler (UnmapIt); Icon = Images.GetPixbuf ("best.png"); Widget content = CreateContents (); VBox main = new VBox (false, 3); main.PackStart (content, true, true, 3); content.Show (); Add (main); main.Show (); main.Realize (); canvas.Realize (); root = new SimpleRootTile (); canvas.Root = root; DefaultWidth = 600; DefaultHeight = 675; accel_group = new Gtk.AccelGroup (); this.AddAccelGroup (accel_group); global_keys = new GlobalKeybinder (accel_group); // Close window (Ctrl-W) global_keys.AddAccelerator (new EventHandler (this.HideWindowHandler), (uint) Gdk.Key.w, Gdk.ModifierType.ControlMask, Gtk.AccelFlags.Visible); // Close window (Escape) global_keys.AddAccelerator (new EventHandler (this.HideWindowHandler), (uint) Gdk.Key.Escape, 0, Gtk.AccelFlags.Visible); // Show source (Ctrl+U) global_keys.AddAccelerator (new EventHandler (this.ShowSource), (uint) Gdk.Key.U, Gdk.ModifierType.ControlMask, Gtk.AccelFlags.Visible); // Focus Entry (Ctrl+L) global_keys.AddAccelerator (new EventHandler (this.FocusEntryHandler), (uint) Gdk.Key.L, Gdk.ModifierType.ControlMask, Gtk.AccelFlags.Visible); // Previous Page (PageUp) global_keys.AddAccelerator (new EventHandler (this.PageBackHandler), (uint) Gdk.Key.Page_Up, 0, Gtk.AccelFlags.Visible); // Next Page (PageDown) global_keys.AddAccelerator (new EventHandler (this.PageForwardHandler), (uint) Gdk.Key.Page_Down, 0, Gtk.AccelFlags.Visible); UpdateFromConf (); UpdatePage (); if (query != null) Search (query); }
private void ShowWindow () { Application.Init (); Glade.XML gxml = new Glade.XML (null, "ImLogViewer.glade", "imviewer", null); gxml.Autoconnect (this); imviewer.Icon = IconTheme.Default.LoadIcon ("system-search", 16, IconLookupFlags.NoSvg); conversation.PixelsAboveLines = 3; conversation.LeftMargin = 4; conversation.RightMargin = 4; TextTag boldtag = new TextTag ("bold"); boldtag.Weight = Pango.Weight.Bold; conversation.Buffer.TagTable.Add (boldtag); TextTag highlight = new TextTag ("highlight"); highlight.Background = "yellow"; conversation.Buffer.TagTable.Add (highlight); tree_store = new TreeStore (new Type[] {typeof (string), typeof (string), typeof (object)}); timelinetree.Model = tree_store; timelinetree.AppendColumn ("Date", new CellRendererText(), "markup", 0); timelinetree.AppendColumn ("Snippet", new CellRendererText(), "text", 1); timelinetree.Selection.Changed += OnConversationSelected; if (highlight_text != null) search_entry.Text = highlight_text; if (search_text != null) Search (search_text); search_entry.Activated += OnSearchClicked; search_button.Clicked += OnSearchClicked; clear_button.Clicked += OnClearClicked; imviewer.DeleteEvent += new DeleteEventHandler (OnWindowDelete); AccelGroup accel_group = new AccelGroup (); GlobalKeybinder global_keys = new GlobalKeybinder (accel_group); global_keys.AddAccelerator (OnWindowClose, (uint) Gdk.Key.Escape, 0, Gtk.AccelFlags.Visible); imviewer.AddAccelGroup (accel_group); // Index the logs index_thread_notify = new ThreadNotify (new ReadyEvent (RepopulateTimeline)); Thread t = new Thread (new ThreadStart (IndexLogs)); t.Start (); Application.Run(); }