private void page_UrgencyHintChanged(object o, EventArgs args) { RefreshCounts(); Window mainWindow = (Window)this.Toplevel; if (!mainWindow.IsActive) { // YUCK!! bool urgencyHint = false; TreeView[] trees = new TreeView[] { topItemsTree, searchItemsTree, bottomItemsTree }; foreach (TreeView tree in trees) { tree.Model.Foreach(delegate(TreeModel model, TreePath path, TreeIter iter) { ISidebarItem item = (ISidebarItem)model.GetValue(iter, 0); if (item.PageWidget != null && ((IPage)item.PageWidget).UrgencyHint == true) { urgencyHint = true; return(true); } else { return(false); } }); if (urgencyHint) { Gui.SetWindowUrgencyHint(mainWindow, true); return; } } Gui.SetWindowUrgencyHint(mainWindow, false); } }
public void SelectPage(IPage page) { ISidebarItem result = null; TreeView[] trees = new TreeView[] { topItemsTree, searchItemsTree, bottomItemsTree }; foreach (TreeView tree in trees) { tree.Model.Foreach(delegate(TreeModel model, TreePath path, TreeIter iter) { ISidebarItem item = (ISidebarItem)model.GetValue(iter, 0); if (item.PageWidget == (Widget)page) { tree.Selection.SelectIter(iter); result = item; return(true); } else { return(false); } }); if (result != null) { break; } } }
private void treeSelection_Changed(object o, EventArgs args) { TreeView tree = ((TreeSelection)o).TreeView; TreeIter iter; ISidebarItem thisSelectedItem = null; if (tree.Selection.GetSelected(out iter)) { thisSelectedItem = (ISidebarItem)tree.Model.GetValue(iter, 0); selectedItem = thisSelectedItem; } if (SelectedItemChanged != null) { SelectedItemChanged(this, thisSelectedItem); } if (thisSelectedItem != null) { TreeView[] treeviews = new TreeView[] { topItemsTree, searchItemsTree, bottomItemsTree }; foreach (TreeView t in treeviews) { if (t != null && t != tree) { t.Selection.UnselectAll(); } } } }
private void sidebar_ItemAdded(MainSidebar sidebar, ISidebarItem newItem) { if (newItem.PageWidget != null) { /* int pageNum = */ pageNotebook.AppendPage(newItem.PageWidget, null); newItem.PageWidget.Show(); } }
private void sidebar_SelectedItemChanged(MainSidebar sidebar, ISidebarItem selectedItem) { if (selectedItem != null && selectedItem.PageWidget != null) { int pageNum = pageNotebook.PageNum(selectedItem.PageWidget); pageNotebook.CurrentPage = pageNum; pageNotebook.CurrentPageWidget.GrabFocus(); } }
private void ItemTextCellFunc(TreeViewColumn column, CellRenderer cell, TreeModel model, TreeIter iter) { ISidebarItem item = (ISidebarItem)model.GetValue(iter, 0); if (item.PageWidget != null && ((IPage)item.PageWidget).UrgencyHint) { (cell as CellRendererText).Markup = "<b>" + item.Name + "</b>"; } else { (cell as CellRendererText).Text = item.Name; } }
public IEnumerable FileSearches() { TreeIter iter; searchItemsModel.GetIterFirst(out iter); do { ISidebarItem item = (ISidebarItem)searchItemsModel.GetValue(iter, 0); if (item is FileSearchItem) { yield return(item); } } while (searchItemsModel.IterNext(ref iter)); }
private TreeIter AppendItem(ListStore store, ISidebarItem item) { TreeIter iter = store.AppendValues(item); if (ItemAdded != null) { ItemAdded(this, item); } if (item.PageWidget != null) { ((IPage)item.PageWidget).UrgencyHintChanged += page_UrgencyHintChanged; } return(iter); }
private void searchItemsTree_ButtonPressEvent(object sender, ButtonPressEventArgs args) { TreePath path; TreeIter iter; if (searchItemsTree.GetPathAtPos((int)args.Event.X, (int)args.Event.Y, out path)) { searchItemsTree.Selection.SelectPath(path); } else { searchItemsTree.Selection.UnselectAll(); } if (args.Event.Button == 3) { FileSearchItem selectedItem = null; if (searchItemsTree.Selection.GetSelected(out iter)) { selectedItem = (FileSearchItem)searchItemsModel.GetValue(iter, 0); } if (selectedItem != null) { if (selectedItem is WhatsPopularSearchItem || selectedItem is WhatsNewSearchItem) { Runtime.BuiltinActions["SidebarRemoveSearch"].Sensitive = false; } else { Runtime.BuiltinActions["SidebarRemoveSearch"].Sensitive = true; } Runtime.BuiltinActions["SidebarSearchAgain"].Sensitive = true; } else { Runtime.BuiltinActions["SidebarRemoveSearch"].Sensitive = false; Runtime.BuiltinActions["SidebarSearchAgain"].Sensitive = false; } Menu menu = (Menu)Runtime.UIManager.GetWidget("/SidebarSearchPopupMenu"); menu.Popup(); } }
private void ItemCountCellFunc(TreeViewColumn column, CellRenderer cell, TreeModel model, TreeIter iter) { ISidebarItem item = (ISidebarItem)model.GetValue(iter, 0); if (item.Count > -1) { if (item.PageWidget != null && ((IPage)item.PageWidget).UrgencyHint) { (cell as CellRendererText).Markup = "<b>" + Common.FormatNumber(item.Count) + "</b>"; } else { (cell as CellRendererText).Text = Common.FormatNumber(item.Count); } } else { (cell as CellRendererText).Text = String.Empty; } }
public void RemoveSearch(FileSearch search) { TreeIter iter; if (searchItemsModel.GetIterFirst(out iter)) { do { ISidebarItem item = (ISidebarItem)searchItemsModel.GetValue(iter, 0); if (item is FileSearchItem && ((FileSearchItem)item).Search == search) { searchItemsModel.Remove(ref iter); item.Destroy(); return; } } while (searchItemsModel.IterNext(ref iter)); } throw new InvalidOperationException("Unknown search."); }
private void sidebar_SelectedItemChanged(MainSidebar sidebar, ISidebarItem selectedItem) { if (selectedItem != null && selectedItem.PageWidget != null) { int pageNum = pageNotebook.PageNum(selectedItem.PageWidget); pageNotebook.CurrentPage = pageNum; pageNotebook.CurrentPageWidget.GrabFocus(); } }
private void sidebar_ItemAdded(MainSidebar sidebar, ISidebarItem newItem) { if (newItem.PageWidget != null) { /* int pageNum = */ pageNotebook.AppendPage(newItem.PageWidget, null); newItem.PageWidget.Show(); } }
private void treeSelection_Changed(object o, EventArgs args) { TreeView tree = ((TreeSelection)o).TreeView; TreeIter iter; ISidebarItem thisSelectedItem = null; if (tree.Selection.GetSelected(out iter)) { thisSelectedItem = (ISidebarItem) tree.Model.GetValue(iter, 0); selectedItem = thisSelectedItem; } if (SelectedItemChanged != null) { SelectedItemChanged(this, thisSelectedItem); } if (thisSelectedItem != null) { TreeView[] treeviews = new TreeView[]{ topItemsTree, searchItemsTree, bottomItemsTree }; foreach (TreeView t in treeviews) { if (t != null && t != tree) { t.Selection.UnselectAll(); } } } }
private void searchItemsTree_ButtonPressEvent(object sender, ButtonPressEventArgs args) { TreePath path; TreeIter iter; if (searchItemsTree.GetPathAtPos((int)args.Event.X, (int)args.Event.Y, out path)) { searchItemsTree.Selection.SelectPath(path); } else { searchItemsTree.Selection.UnselectAll(); } if (args.Event.Button == 3) { FileSearchItem selectedItem = null; if (searchItemsTree.Selection.GetSelected(out iter)) { selectedItem = (FileSearchItem)searchItemsModel.GetValue(iter, 0); } if (selectedItem != null) { if (selectedItem is WhatsPopularSearchItem || selectedItem is WhatsNewSearchItem) { Runtime.BuiltinActions["SidebarRemoveSearch"].Sensitive = false; } else { Runtime.BuiltinActions["SidebarRemoveSearch"].Sensitive = true; } Runtime.BuiltinActions["SidebarSearchAgain"].Sensitive = true; } else { Runtime.BuiltinActions["SidebarRemoveSearch"].Sensitive = false; Runtime.BuiltinActions["SidebarSearchAgain"].Sensitive = false; } Menu menu = (Menu)Runtime.UIManager.GetWidget("/SidebarSearchPopupMenu"); menu.Popup(); } }
private TreeIter AppendItem(ListStore store, ISidebarItem item) { TreeIter iter = store.AppendValues(item); if (ItemAdded != null) { ItemAdded(this, item); } if (item.PageWidget != null) { ((IPage)item.PageWidget).UrgencyHintChanged += page_UrgencyHintChanged; } return iter; }
private void ItemPixbufCellFunc(TreeViewColumn column, CellRenderer cell, TreeModel model, TreeIter iter) { ISidebarItem item = (ISidebarItem)model.GetValue(iter, 0); (cell as CellRendererPixbuf).Pixbuf = item.Icon; }