static void action_calendar_taskpad_print_cb (GtkAction *action, ECalShellView *cal_shell_view) { ECalShellContent *cal_shell_content; ECalModelComponent *comp_data; ETaskTable *task_table; ECalComponent *comp; ECalModel *model; icalcomponent *clone; GSList *list; cal_shell_content = cal_shell_view->priv->cal_shell_content; task_table = e_cal_shell_content_get_task_table (cal_shell_content); model = e_task_table_get_model (task_table); list = e_task_table_get_selected (task_table); g_return_if_fail (list != NULL); comp_data = list->data; g_slist_free (list); /* XXX We only print the first selected task. */ comp = e_cal_component_new (); clone = icalcomponent_new_clone (comp_data->icalcomp); e_cal_component_set_icalcomponent (comp, clone); print_comp ( comp, comp_data->client, e_cal_model_get_timezone (model), e_cal_model_get_use_24_hour_format (model), GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG); g_object_unref (comp); }
static void memo_shell_content_cursor_change_cb (EMemoShellContent *memo_shell_content, gint row, ETable *table) { ECalComponentPreview *memo_preview; ECalModel *memo_model; ECalModelComponent *comp_data; EPreviewPane *preview_pane; EWebView *web_view; const gchar *uid; memo_model = e_memo_shell_content_get_memo_model (memo_shell_content); preview_pane = e_memo_shell_content_get_preview_pane (memo_shell_content); web_view = e_preview_pane_get_web_view (preview_pane); memo_preview = E_CAL_COMPONENT_PREVIEW (web_view); if (e_table_selected_count (table) != 1) { if (memo_shell_content->priv->preview_visible) e_cal_component_preview_clear (memo_preview); return; } row = e_table_get_cursor_row (table); comp_data = e_cal_model_get_component_at (memo_model, row); if (memo_shell_content->priv->preview_visible) { ECalComponent *comp; comp = e_cal_component_new_from_icalcomponent ( icalcomponent_new_clone (comp_data->icalcomp)); e_cal_component_preview_display ( memo_preview, comp_data->client, comp, e_cal_model_get_timezone (memo_model), e_cal_model_get_use_24_hour_format (memo_model)); g_object_unref (comp); } uid = icalcomponent_get_uid (comp_data->icalcomp); g_free (memo_shell_content->priv->current_uid); memo_shell_content->priv->current_uid = g_strdup (uid); }
static void week_view_draw_time (EWeekView *week_view, cairo_t *cr, gint time_x, gint time_y, gint hour, gint minute) { ECalModel *model; GtkStyle *style; gint hour_to_display, suffix_width; gint time_y_normal_font, time_y_small_font; const gchar *suffix; gchar buffer[128]; PangoLayout *layout; PangoFontDescription *small_font_desc; cairo_save (cr); model = e_calendar_view_get_model (E_CALENDAR_VIEW (week_view)); style = gtk_widget_get_style (GTK_WIDGET (week_view)); small_font_desc = week_view->small_font_desc; gdk_cairo_set_source_color (cr, &week_view->colors[E_WEEK_VIEW_COLOR_EVENT_TEXT]); layout = gtk_widget_create_pango_layout (GTK_WIDGET (week_view), NULL); time_y_normal_font = time_y_small_font = time_y; if (small_font_desc) time_y_small_font = time_y; e_week_view_convert_time_to_display (week_view, hour, &hour_to_display, &suffix, &suffix_width); if (week_view->use_small_font && week_view->small_font_desc) { g_snprintf (buffer, sizeof (buffer), "%2i:%02i", hour_to_display, minute); /* Draw the hour. */ if (hour_to_display < 10) { pango_layout_set_text (layout, buffer + 1, 1); cairo_move_to (cr, time_x + week_view->digit_width, time_y_normal_font); pango_cairo_show_layout (cr, layout); } else { pango_layout_set_text (layout, buffer, 2); cairo_move_to (cr, time_x, time_y_normal_font); pango_cairo_show_layout (cr, layout); } time_x += week_view->digit_width * 2; /* Draw the start minute, in the small font. */ pango_layout_set_font_description (layout, week_view->small_font_desc); pango_layout_set_text (layout, buffer + 3, 2); cairo_move_to (cr, time_x, time_y_small_font); pango_cairo_show_layout (cr, layout); pango_layout_set_font_description (layout, style->font_desc); time_x += week_view->small_digit_width * 2; /* Draw the 'am'/'pm' suffix, if 12-hour format. */ if (!e_cal_model_get_use_24_hour_format (model)) { pango_layout_set_text (layout, suffix, -1); cairo_move_to (cr, time_x, time_y_normal_font); pango_cairo_show_layout (cr, layout); } } else { /* Draw the start time in one go. */ g_snprintf (buffer, sizeof (buffer), "%2i:%02i%s", hour_to_display, minute, suffix); if (hour_to_display < 10) { pango_layout_set_text (layout, buffer + 1, -1); cairo_move_to (cr, time_x + week_view->digit_width, time_y_normal_font); pango_cairo_show_layout (cr, layout); } else { pango_layout_set_text (layout, buffer, -1); cairo_move_to (cr, time_x, time_y_normal_font); pango_cairo_show_layout (cr, layout); } } g_object_unref (layout); cairo_restore (cr); }