X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fmilk-main-window.c;fp=src%2Fmilk-main-window.c;h=9754c45800d9f529ee78bbc5dbefca11554dad7f;hb=1edce9c4d022ff3cc7733f1b5ab61f0593376ee2;hp=abf9ec7e75723e73bc7d272ce4158eb8456a81b4;hpb=52f46483b13ef3008c5a7089fa435d84541d09de;p=milk diff --git a/src/milk-main-window.c b/src/milk-main-window.c index abf9ec7..9754c45 100644 --- a/src/milk-main-window.c +++ b/src/milk-main-window.c @@ -369,11 +369,47 @@ create_menu (gpointer user_data) } static void -contact_column_render_func (GtkCellLayout *cell_layout, - GtkCellRenderer *renderer, - GtkTreeModel *model, - GtkTreeIter *iter, - gpointer user_data) +priority_column_render_func (GtkCellLayout *cell_layout, + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer user_data) +{ + RtmTask *task; + const char *priority; + GdkColor color = {}; + gboolean color_set = TRUE; + + gtk_tree_model_get ( + model, iter, MILK_TASK_MODEL_COLUMN_TASK, &task, -1); + + priority = rtm_task_get_priority (task); + + if (FALSE) { + } else if (!g_strcmp0 (priority, "1")) { + gdk_color_parse ("#ea5200", &color); + } else if (!g_strcmp0 (priority, "2")) { + gdk_color_parse ("#0060bf", &color); + } else if (!g_strcmp0 (priority, "3")) { + gdk_color_parse ("#359aff", &color); + } else { + color_set = FALSE; + } + + g_object_set (renderer, + "cell-background-gdk", color_set ? &color : NULL, + "cell-background-set", color_set, + NULL); + + g_object_unref (task); +} + +static void +name_column_render_func (GtkCellLayout *cell_layout, + GtkCellRenderer *renderer, + GtkTreeModel *model, + GtkTreeIter *iter, + gpointer user_data) { RtmTask *task; @@ -432,18 +468,32 @@ milk_main_window_constructed (GObject* object) model = GTK_TREE_MODEL (milk_task_model_new ()); w = hildon_touch_selector_new (); + col = hildon_touch_selector_append_column ( + HILDON_TOUCH_SELECTOR (w), model, NULL, NULL); + renderer = gtk_cell_renderer_text_new (); g_object_set (renderer, - "ellipsize", PANGO_ELLIPSIZE_END, + "width", HILDON_ICON_PIXEL_SIZE_XSMALL, + "width-chars", 1, NULL); + gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (col), renderer, FALSE); + gtk_cell_layout_set_cell_data_func ( + GTK_CELL_LAYOUT (col), renderer, + (GtkCellLayoutDataFunc) priority_column_render_func, + self, NULL); - col = hildon_touch_selector_append_column ( - HILDON_TOUCH_SELECTOR (w), model, NULL, NULL); + renderer = gtk_cell_renderer_text_new (); + g_object_set (renderer, + "ellipsize", PANGO_ELLIPSIZE_END, + "alignment", PANGO_ALIGN_LEFT, + "xpad", HILDON_MARGIN_DEFAULT, + NULL); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (col), renderer, TRUE); gtk_cell_layout_set_cell_data_func ( GTK_CELL_LAYOUT (col), renderer, - (GtkCellLayoutDataFunc) contact_column_render_func, + (GtkCellLayoutDataFunc) name_column_render_func, self, NULL); + g_object_unref (model); hildon_touch_selector_set_column_selection_mode (