static void mailwatch_set_icon(XfceMailwatchPlugin *mwp, gboolean newmail) { GdkPixbuf *pb = newmail ? gdk_pixbuf_copy(mwp->pix_newmail) : gdk_pixbuf_copy(mwp->pix_normal); GdkPixbuf *overlay = NULL; gint h, ow, oh; if ( mwp->log_status && mwp->show_log_status && mwp->log_status < XFCE_MAILWATCH_N_LOG_LEVELS ) { overlay = mwp->pix_log[mwp->log_status]; } h = gdk_pixbuf_get_height(pb); if(overlay) { ow = gdk_pixbuf_get_width(overlay); oh = gdk_pixbuf_get_height(overlay); gdk_pixbuf_composite(overlay, pb, 0, h - oh, ow, oh, 0, h - oh, 1.0, 1.0, GDK_INTERP_BILINEAR, 255); } xfce_scaled_image_set_from_pixbuf(XFCE_SCALED_IMAGE(mwp->image ), pb); g_object_unref(G_OBJECT(pb)); }
static void xfce_image_list_dialog_init(XfceImageListDialog *aXfceImageListDialog) { XfceImageListDialogPrivate *priv; priv = g_new0(XfceImageListDialogPrivate, 1); aXfceImageListDialog->priv = priv; priv->listbox = xfce_image_list_box_new (); priv->image_label = GTK_LABEL (gtk_label_new ("")); gtk_widget_show (GTK_WIDGET (priv->image_label)); priv->image = XFCE_SCALED_IMAGE (xfce_scaled_image_new ()); gtk_widget_set_size_request (GTK_WIDGET (priv->image), 400, 400); priv->image_box = GTK_BOX (gtk_vbox_new (FALSE, 7)); gtk_container_set_border_width (GTK_CONTAINER (priv->image_box), 5); gtk_box_pack_start (GTK_BOX (priv->image_box), GTK_WIDGET (priv->image_label), FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (priv->image_box), GTK_WIDGET (priv->image), FALSE, FALSE, 0); gtk_widget_show_all (GTK_WIDGET (priv->image_box)); gtk_widget_show (GTK_WIDGET (priv->listbox)); priv->paned = GTK_PANED (gtk_hpaned_new ()); gtk_paned_pack1 (priv->paned, GTK_WIDGET (priv->listbox), TRUE, TRUE); gtk_paned_pack2 (priv->paned, GTK_WIDGET (priv->image_box), TRUE, TRUE); gtk_widget_show (GTK_WIDGET (priv->paned)); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (aXfceImageListDialog)->vbox), GTK_WIDGET (priv->paned), TRUE, TRUE, 0); gtk_dialog_add_button (GTK_DIALOG (aXfceImageListDialog), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL); priv->ok_button = GTK_BUTTON (gtk_dialog_add_button (GTK_DIALOG (aXfceImageListDialog), GTK_STOCK_OK, GTK_RESPONSE_OK)); gtk_dialog_set_default_response (GTK_DIALOG (aXfceImageListDialog), GTK_RESPONSE_CANCEL); gtk_widget_set_sensitive (GTK_WIDGET (priv->ok_button), FALSE); g_signal_connect (G_OBJECT (priv->listbox), "selection-changed", G_CALLBACK (xfce_image_list_dialog_selection_changed_cb), aXfceImageListDialog); g_signal_connect (G_OBJECT (priv->listbox), "notify::changed", G_CALLBACK (xfce_image_list_dialog_notify_changed_cb), aXfceImageListDialog); g_signal_connect (G_OBJECT (priv->listbox), "notify::filename", G_CALLBACK (xfce_image_list_dialog_notify_fname_changed_cb), aXfceImageListDialog); g_signal_connect (G_OBJECT (priv->ok_button), "clicked", G_CALLBACK (xfce_image_list_dialog_ok_button_clicked_cb), aXfceImageListDialog); }