static void show_view_update_ui (PlannerShowView *view) { PlannerShowViewPriv *priv; GList *list, *l; gboolean value; gboolean rel_value = FALSE; gboolean link_value = FALSE; gint count_value = 0; if (!PLANNER_VIEW (view)->activated) { return; } priv = view->priv; list = planner_task_tree_get_selected_tasks( PLANNER_TASK_TREE (priv->tree) ); for (l = list; l; l = l->next) { if (mrp_task_has_relation(MRP_TASK (l->data) )) { rel_value = TRUE; break; } } for (l = list; l; l = l->next) { count_value++; } value = (list != NULL ); link_value = (count_value >= 2); g_list_free(list); }
static void task_view_update_ui (PlannerView *view) { PlannerTaskViewPriv *priv; GList *list, *l; gboolean value; gboolean rel_value = FALSE; gboolean link_value = FALSE; gint count = 0; if (!view->activated) { return; } priv = PLANNER_TASK_VIEW (view)->priv; list = planner_task_tree_get_selected_tasks (PLANNER_TASK_TREE (priv->tree)); for (l = list; l; l = l->next) { if (mrp_task_has_relation (MRP_TASK (l->data))) { rel_value = TRUE; break; } } for (l = list; l; l = l->next) { count++; } value = (list != NULL); link_value = (count >= 2); g_object_set (gtk_action_group_get_action (priv->actions, "EditTask"), "sensitive", value, NULL); g_object_set (gtk_action_group_get_action (priv->actions, "RemoveTask"), "sensitive", value, NULL); g_object_set (gtk_action_group_get_action (priv->actions, "UnlinkTask"), "sensitive", rel_value, NULL); g_object_set (gtk_action_group_get_action (priv->actions, "LinkTasks"), "sensitive", link_value, NULL); g_object_set (gtk_action_group_get_action (priv->actions, "IndentTask"), "sensitive", value, NULL); g_object_set (gtk_action_group_get_action (priv->actions, "UnindentTask"), "sensitive", value, NULL); g_object_set (gtk_action_group_get_action (priv->actions, "MoveTaskUp"), "sensitive", value, NULL); g_object_set (gtk_action_group_get_action (priv->actions, "MoveTaskDown"), "sensitive", value, NULL); g_object_set (gtk_action_group_get_action (priv->actions, "ResetConstraint"), "sensitive", value, NULL); g_list_free (list); }