예제 #1
0
        private void AddCategory(Evolution.Source source)
        {
            Logger.Debug("AddCategory");
            EDSCategory edsCategory;

            Gtk.TreeIter iter;

            if (source.IsLocal())
            {
                Cal taskList = new Cal(source, CalSourceType.Todo);

                edsCategory = new EDSCategory(source, taskList);
                iter        = categoryListStore.Append();
                categoryListStore.SetValue(iter, 0, edsCategory);

                //Assumption : EDS Creates atleast one System category.
                if (edsCategory.IsSystem)
                {
                    this.defaultCategory = edsCategory;
                }

                if (!taskList.Open(true))
                {
                    Logger.Debug("laskList Open failed");
                    return;
                }

                CalView query = taskList.GetCalView("#t");
                if (query == null)
                {
                    Logger.Debug("Query object creation failed");
                    return;
                }
                else
                {
                    query.Start();
                }

                query.ObjectsModified += TasksModified;
                query.ObjectsAdded    += TasksAdded;
                query.ObjectsRemoved  += TasksRemoved;
            }
        }