Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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;
                }
            }
        }
Ejemplo n.º 3
0
        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();
                    }
                }
            }
        }
Ejemplo n.º 4
0
 private void sidebar_ItemAdded(MainSidebar sidebar, ISidebarItem newItem)
 {
     if (newItem.PageWidget != null)
     {
         /* int pageNum = */ pageNotebook.AppendPage(newItem.PageWidget, null);
         newItem.PageWidget.Show();
     }
 }
Ejemplo n.º 5
0
 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();
     }
 }
Ejemplo n.º 6
0
        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;
            }
        }
Ejemplo n.º 7
0
        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));
        }
Ejemplo n.º 8
0
        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);
        }
Ejemplo n.º 9
0
        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();
            }
        }
Ejemplo n.º 10
0
        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;
            }
        }
Ejemplo n.º 11
0
        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.");
        }
Ejemplo n.º 12
0
 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();
     }
 }
Ejemplo n.º 13
0
 private void sidebar_ItemAdded(MainSidebar sidebar, ISidebarItem newItem)
 {
     if (newItem.PageWidget != null) {
         /* int pageNum = */ pageNotebook.AppendPage(newItem.PageWidget, null);
         newItem.PageWidget.Show();
     }
 }
Ejemplo n.º 14
0
        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();
                    }
                }
            }
        }
Ejemplo n.º 15
0
        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();
            }
        }
Ejemplo n.º 16
0
 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;
 }
Ejemplo n.º 17
0
        private void ItemPixbufCellFunc(TreeViewColumn column, CellRenderer cell, TreeModel model, TreeIter iter)
        {
            ISidebarItem item = (ISidebarItem)model.GetValue(iter, 0);

            (cell as CellRendererPixbuf).Pixbuf = item.Icon;
        }