本文整理汇总了C++中GTK_LABEL函数的典型用法代码示例。如果您正苦于以下问题:C++ GTK_LABEL函数的具体用法?C++ GTK_LABEL怎么用?C++ GTK_LABEL使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了GTK_LABEL函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: gtkui_unified_sniff
/*
* display the interface selection dialog
*/
static void gtkui_unified_sniff(void)
{
GList *iface_list;
const char *iface_desc = NULL;
char err[100];
GtkWidget *iface_combo;
pcap_if_t *dev;
GtkWidget *dialog, *label, *hbox, *image;
DEBUG_MSG("gtk_unified_sniff");
dialog = gtk_dialog_new_with_buttons(EC_PROGRAM" Input", GTK_WINDOW (window),
GTK_DIALOG_MODAL, GTK_STOCK_OK, GTK_RESPONSE_OK,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, NULL);
gtk_dialog_set_has_separator(GTK_DIALOG (dialog), FALSE);
gtk_container_set_border_width(GTK_CONTAINER (dialog), 5);
hbox = gtk_hbox_new (FALSE, 6);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox, FALSE, FALSE, 0);
image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_QUESTION, GTK_ICON_SIZE_DIALOG);
gtk_misc_set_alignment (GTK_MISC (image), 0.5, 0.0);
gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0);
label = gtk_label_new ("Network interface : ");
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
gtk_label_set_selectable (GTK_LABEL (label), TRUE);
gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0);
/* make a list of network interfaces */
iface_list = NULL;
for(dev = (pcap_if_t *)GBL_PCAP->ifs; dev != NULL; dev = dev->next) {
iface_list = g_list_append(iface_list, dev->description);
}
/* make a drop down box and assign the list to it */
iface_combo = gtk_combo_new();
gtk_combo_set_popdown_strings (GTK_COMBO (iface_combo), iface_list);
gtk_box_pack_start (GTK_BOX (hbox), iface_combo, FALSE, FALSE, 0);
/* hitting Enter in the drop down box clicks OK */
g_object_set_data(G_OBJECT (GTK_COMBO (iface_combo)->entry), "dialog", dialog);
g_signal_connect(G_OBJECT (GTK_COMBO (iface_combo)->entry), "activate", G_CALLBACK (gtkui_dialog_enter), NULL);
/* list is stored in the widget, can safely free this copy */
g_list_free(iface_list);
/* render the contents of the dialog */
gtk_widget_show_all (hbox);
/* show the dialog itself and become interactive */
if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_OK) {
iface_desc = gtk_entry_get_text(GTK_ENTRY (GTK_COMBO (iface_combo)->entry));
for(dev = (pcap_if_t *)GBL_PCAP->ifs; dev != NULL; dev = dev->next) {
if(!strncmp(dev->description, iface_desc, IFACE_LEN)) {
SAFE_FREE(GBL_OPTIONS->iface);
SAFE_CALLOC(GBL_OPTIONS->iface, IFACE_LEN, sizeof(char));
strncpy(GBL_OPTIONS->iface, dev->name, IFACE_LEN);
break;
}
}
/* if no match in list */
if(GBL_OPTIONS->iface == NULL) {
snprintf(err, 100, "Invalid interface: %s", iface_desc);
gtkui_error(err);
gtk_widget_destroy(dialog);
return;
}
/* exit setup iterface */
gtk_widget_destroy(dialog);
gtk_main_quit();
return;
}
gtk_widget_destroy(dialog);
}
示例2: preview_diffuse_only
static void preview_diffuse_only(gint32 image_ID) {
gint32 noiselayer_ID = -1;
gint32 drawable_ID = -1;
gint32 drawableDiffuse_ID = -1;
gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR(progress), 0.0);
gtk_label_set_text(GTK_LABEL(progress_label), "Begin");
drawableBeginActiveLayer = gimp_image_get_active_layer(image_ID);
drawable_ID = gimp_layer_copy (drawableBeginActiveLayer);
gimp_image_add_layer(image_ID, drawable_ID, -1);
gimp_image_set_active_layer(image_ID, drawable_ID);
/** Here I should hide previous active layer, make not visible. */
gimp_drawable_set_visible(drawableBeginActiveLayer, FALSE);
/**
* For preview do nothing here.
* if(local_vals.Resizie)
* {
* }
*/
if (local_vals.Noise)
{
/** Already have active layer in drawable_ID. */
noiselayer_ID = gimp_layer_copy (drawable_ID);
gimp_image_add_layer(image_ID, noiselayer_ID, -1);
gimp_image_set_active_layer(image_ID, noiselayer_ID);
gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR(progress), 0.03);
gtk_label_set_text(GTK_LABEL(progress_label), "Noise");
/**
* Filter "RGB Noise" applied
* Standard plug-in. Source code ships with GIMP.
*
* Add the "f" here to signify float in c language.
*/
if (plug_in_rgb_noise_connector(image_ID, noiselayer_ID, 1, 1, 0.20f, 0.20f, 0.20f, 0.0f) != 1) return;
gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR(progress), 0.04);
gimp_layer_set_mode(noiselayer_ID, GIMP_VALUE_MODE);
gimp_image_merge_down(image_ID, noiselayer_ID, 0);
gtk_label_set_text(GTK_LABEL(gwNormalLabel), "Noise affects every redraw!");
} else {
gtk_label_set_text(GTK_LABEL(gwNormalLabel), "");
gtk_label_set_text(GTK_LABEL(progress_label), "Noise added");
gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR(progress), 0.04);
}
if(local_vals.RemoveLighting)
{
gtk_label_set_text(GTK_LABEL(progress_label), "Remove Shading");
removeShadingPreview(image_ID, local_vals.Noise);
/**
* See notes inside of removeShadingPreview
* for explanation of next line.
*/
/**
* If Noise is on, then noiselayer_ID was merged down into drawable_ID.
* You cannot remove drawable_ID in this case, as it is the only
* layer left!
*
* However, if Noise is Yes and RemoveLighting is Yes,
* Then there is an extra layer floating around!
* Delete noiselayer_ID? I thought it was merged!
* No, I was right noiselayer_ID is already gone!
*/
gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR(progress), 0.05);
} else {
gtk_label_set_text(GTK_LABEL(progress_label), "Stretch");
gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR(progress), 0.05);
}
drawableDiffuse_ID = gimp_image_get_active_layer(image_ID);
gimp_levels_stretch(drawableDiffuse_ID);
if(local_vals.Tile)
{
gtk_label_set_text(GTK_LABEL(progress_label), "Making Seamless");
/**
* Filter "Tile Seamless" applied
* Standard plug-in. Source code ships with GIMP.
*/
if (plug_in_make_seamless_connector(image_ID, drawableDiffuse_ID) != 1) return;
gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR(progress), 0.07);
} else {
gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR(progress), 0.07);
}
/** Here I should un hide previously hidden layer, make visible. */
pDrawables.drawable_d = gimp_drawable_get(drawableDiffuse_ID);
gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR(progress), 0.1);
}
示例3: signal_handler
static void signal_handler(DBusGProxy *obj, const char *msg, GtkWidget *widget)
{
gtk_label_set_markup(GTK_LABEL(widget), msg);
}
示例4: do_images
GtkWidget *
do_images (GtkWidget *do_widget)
{
GtkWidget *frame;
GtkWidget *vbox;
GtkWidget *image;
GtkWidget *label;
GtkWidget *align;
GtkWidget *button;
GdkPixbuf *pixbuf;
GError *error = NULL;
char *filename;
if (!window)
{
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Images");
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
g_signal_connect (window, "destroy",
G_CALLBACK (cleanup_callback), NULL);
gtk_container_set_border_width (GTK_CONTAINER (window), 8);
vbox = gtk_vbox_new (FALSE, 8);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 8);
gtk_container_add (GTK_CONTAINER (window), vbox);
label = gtk_label_new (NULL);
gtk_label_set_markup (GTK_LABEL (label),
"<u>Image loaded from a file</u>");
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
/* The alignment keeps the frame from growing when users resize
* the window
*/
align = gtk_alignment_new (0.5, 0.5, 0, 0);
gtk_container_add (GTK_CONTAINER (align), frame);
gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, FALSE, 0);
/* demo_find_file() looks in the the current directory first,
* so you can run gtk-demo without installing GTK, then looks
* in the location where the file is installed.
*/
pixbuf = NULL;
filename = demo_find_file ("gtk-logo-rgb.gif", &error);
if (filename)
{
pixbuf = gdk_pixbuf_new_from_file (filename, &error);
g_free (filename);
}
if (error)
{
/* This code shows off error handling. You can just use
* gtk_image_new_from_file() instead if you don't want to report
* errors to the user. If the file doesn't load when using
* gtk_image_new_from_file(), a "missing image" icon will
* be displayed instead.
*/
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"Unable to open image file 'gtk-logo-rgb.gif': %s",
error->message);
g_error_free (error);
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
gtk_widget_show (dialog);
}
image = gtk_image_new_from_pixbuf (pixbuf);
gtk_container_add (GTK_CONTAINER (frame), image);
/* Animation */
label = gtk_label_new (NULL);
gtk_label_set_markup (GTK_LABEL (label),
"<u>Animation loaded from a file</u>");
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
/* The alignment keeps the frame from growing when users resize
* the window
*/
align = gtk_alignment_new (0.5, 0.5, 0, 0);
gtk_container_add (GTK_CONTAINER (align), frame);
//.........这里部分代码省略.........
示例5: passphrase_dialog
static int
passphrase_dialog(char *message)
{
const char *failed;
char *passphrase, *local;
char **messages;
int result, i, grab_server, grab_pointer;
GtkWidget *dialog, *entry, *label;
GdkGrabStatus status;
grab_server = (getenv("GNOME_SSH_ASKPASS_GRAB_SERVER") != NULL);
grab_pointer = (getenv("GNOME_SSH_ASKPASS_GRAB_POINTER") != NULL);
dialog = gtk_message_dialog_new(NULL, 0,
GTK_MESSAGE_QUESTION,
GTK_BUTTONS_OK_CANCEL,
"%s",
message);
entry = gtk_entry_new();
gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), entry, FALSE,
FALSE, 0);
gtk_entry_set_visibility(GTK_ENTRY(entry), FALSE);
gtk_widget_grab_focus(entry);
gtk_widget_show(entry);
gtk_window_set_title(GTK_WINDOW(dialog), "OpenSSH");
gtk_window_set_position (GTK_WINDOW(dialog), GTK_WIN_POS_CENTER);
gtk_label_set_line_wrap(GTK_LABEL((GTK_MESSAGE_DIALOG(dialog))->label),
TRUE);
/* Make <enter> close dialog */
gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_OK);
g_signal_connect(G_OBJECT(entry), "activate",
G_CALLBACK(ok_dialog), dialog);
/* Grab focus */
gtk_widget_show_now(dialog);
if (grab_server) {
gdk_x11_grab_server();
}
if (grab_pointer) {
status = gdk_pointer_grab((GTK_WIDGET(dialog))->window, TRUE,
0, NULL, NULL, GDK_CURRENT_TIME);
if (status != GDK_GRAB_SUCCESS) {
failed = "mouse";
goto nograb;
}
}
status = gdk_keyboard_grab((GTK_WIDGET(dialog))->window, FALSE,
GDK_CURRENT_TIME);
if (status != GDK_GRAB_SUCCESS) {
failed = "keyboard";
goto nograbkb;
}
result = gtk_dialog_run(GTK_DIALOG(dialog));
/* Ungrab */
if (grab_server)
XUngrabServer(GDK_DISPLAY());
if (grab_pointer)
gdk_pointer_ungrab(GDK_CURRENT_TIME);
gdk_keyboard_ungrab(GDK_CURRENT_TIME);
gdk_flush();
/* Report passphrase if user selected OK */
passphrase = g_strdup(gtk_entry_get_text(GTK_ENTRY(entry)));
if (result == GTK_RESPONSE_OK) {
local = g_locale_from_utf8(passphrase, strlen(passphrase),
NULL, NULL, NULL);
if (local != NULL) {
puts(local);
memset(local, '\0', strlen(local));
g_free(local);
} else {
puts(passphrase);
}
}
/* Zero passphrase in memory */
memset(passphrase, '\b', strlen(passphrase));
gtk_entry_set_text(GTK_ENTRY(entry), passphrase);
memset(passphrase, '\0', strlen(passphrase));
g_free(passphrase);
gtk_widget_destroy(dialog);
return (result == GTK_RESPONSE_OK ? 0 : -1);
/* At least one grab failed - ungrab what we got, and report
the failure to the user. Note that XGrabServer() cannot
fail. */
nograbkb:
gdk_pointer_ungrab(GDK_CURRENT_TIME);
nograb:
if (grab_server)
XUngrabServer(GDK_DISPLAY());
gtk_widget_destroy(dialog);
report_failed_grab(failed);
//.........这里部分代码省略.........
示例6: add_address_row
static void
add_address_row (CEPageIP6 *page,
const gchar *address,
const gchar *network,
const gchar *gateway)
{
GtkWidget *row;
GtkWidget *row_grid;
GtkWidget *label;
GtkWidget *widget;
GtkWidget *delete_button;
GtkWidget *image;
row = gtk_list_box_row_new ();
row_grid = gtk_grid_new ();
label = gtk_label_new (_("Address"));
gtk_widget_set_halign (label, GTK_ALIGN_END);
gtk_grid_attach (GTK_GRID (row_grid), label, 1, 1, 1, 1);
widget = gtk_entry_new ();
gtk_label_set_mnemonic_widget (GTK_LABEL (label), widget);
g_signal_connect_swapped (widget, "changed", G_CALLBACK (ce_page_changed), page);
g_object_set_data (G_OBJECT (row), "address", widget);
gtk_entry_set_text (GTK_ENTRY (widget), address);
gtk_widget_set_margin_start (widget, 10);
gtk_widget_set_margin_end (widget, 10);
gtk_widget_set_hexpand (widget, TRUE);
gtk_grid_attach (GTK_GRID (row_grid), widget, 2, 1, 1, 1);
label = gtk_label_new (_("Prefix"));
gtk_widget_set_halign (label, GTK_ALIGN_END);
gtk_grid_attach (GTK_GRID (row_grid), label, 1, 2, 1, 1);
widget = gtk_entry_new ();
gtk_label_set_mnemonic_widget (GTK_LABEL (label), widget);
g_signal_connect_swapped (widget, "changed", G_CALLBACK (ce_page_changed), page);
g_object_set_data (G_OBJECT (row), "prefix", widget);
gtk_entry_set_text (GTK_ENTRY (widget), network);
gtk_widget_set_margin_start (widget, 10);
gtk_widget_set_margin_end (widget, 10);
gtk_widget_set_hexpand (widget, TRUE);
gtk_grid_attach (GTK_GRID (row_grid), widget, 2, 2, 1, 1);
label = gtk_label_new (_("Gateway"));
gtk_widget_set_halign (label, GTK_ALIGN_END);
gtk_grid_attach (GTK_GRID (row_grid), label, 1, 3, 1, 1);
widget = gtk_entry_new ();
gtk_label_set_mnemonic_widget (GTK_LABEL (label), widget);
g_signal_connect_swapped (widget, "changed", G_CALLBACK (ce_page_changed), page);
g_object_set_data (G_OBJECT (row), "gateway", widget);
gtk_entry_set_text (GTK_ENTRY (widget), gateway);
gtk_widget_set_margin_start (widget, 10);
gtk_widget_set_margin_end (widget, 10);
gtk_widget_set_hexpand (widget, TRUE);
gtk_grid_attach (GTK_GRID (row_grid), widget, 2, 3, 1, 1);
delete_button = gtk_button_new ();
gtk_style_context_add_class (gtk_widget_get_style_context (delete_button), "image-button");
g_signal_connect (delete_button, "clicked", G_CALLBACK (remove_row), page);
image = gtk_image_new_from_icon_name ("user-trash-symbolic", GTK_ICON_SIZE_MENU);
atk_object_set_name (gtk_widget_get_accessible (delete_button), _("Delete Address"));
gtk_button_set_image (GTK_BUTTON (delete_button), image);
gtk_grid_attach (GTK_GRID (row_grid), delete_button, 3, 2, 1, 1);
g_object_set_data (G_OBJECT (row), "delete-button", delete_button);
gtk_grid_set_row_spacing (GTK_GRID (row_grid), 10);
gtk_widget_set_margin_start (row_grid, 10);
gtk_widget_set_margin_end (row_grid, 10);
gtk_widget_set_margin_top (row_grid, 10);
gtk_widget_set_margin_bottom (row_grid, 10);
gtk_widget_set_halign (row_grid, GTK_ALIGN_FILL);
gtk_container_add (GTK_CONTAINER (row), row_grid);
gtk_widget_show_all (row);
gtk_container_add (GTK_CONTAINER (page->address_list), row);
update_row_sensitivity (page, page->address_list);
}
示例7: LOG
GtkWidget *pref_start_gui(){
GtkWidget *vbox;
GtkWidget *hbox;
GtkWidget *table;
GtkWidget *label;
GtkObject *adj;
GtkAttachOptions xoption, yoption;
LOG(LOG_DEBUG, "IN : pref_start_gui()");
vbox = gtk_vbox_new(FALSE, 0);
gtk_widget_set_size_request(vbox, 300, 200);
gtk_container_set_border_width(GTK_CONTAINER(vbox), 5);
xoption = GTK_SHRINK|GTK_FILL;
yoption = GTK_SHRINK;
table = gtk_table_new(2, 12, FALSE);
gtk_box_pack_start (GTK_BOX(vbox)
, table,FALSE, FALSE, 0);
hbox = gtk_hbox_new(FALSE,10);
gtk_container_set_border_width(GTK_CONTAINER(hbox), 2);
gtk_table_attach(GTK_TABLE(table), hbox, 0, 1, 0, 1,
xoption, yoption, 10, 10);
label = gtk_label_new(_("Maximum words in history"));
gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
gtk_box_pack_start (GTK_BOX(hbox),
label, FALSE, FALSE, 0);
adj = gtk_adjustment_new( 10, //value
0, // lower
20, //upper
1, // step increment
10,// page_increment,
(gfloat)0.0);
spin_words = gtk_spin_button_new(GTK_ADJUSTMENT(adj), 1.0, 0);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin_words), max_remember_words );
gtk_widget_set_size_request(spin_words,60,20);
gtk_table_attach(GTK_TABLE(table), spin_words, 1, 2, 0, 1,
xoption, yoption, 10, 10);
gtk_widget_set_tooltip_text(spin_words,
_("Maximum number of words to remember in word history"));
hbox = gtk_hbox_new(FALSE,10);
gtk_container_set_border_width(GTK_CONTAINER(hbox), 2);
gtk_table_attach(GTK_TABLE(table), hbox, 0, 1, 1, 2,
xoption, yoption, 10, 10);
label = gtk_label_new(_("Chars in dictionary bar"));
gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
gtk_box_pack_start (GTK_BOX(hbox),
label, FALSE, FALSE, 0);
adj = gtk_adjustment_new( 10, //value
1, // lower
32, //upper
1, // step increment
1,// page_increment,
0.0);
spin_dict_label = gtk_spin_button_new(GTK_ADJUSTMENT(adj), 1.0, 0);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin_dict_label), dict_button_length );
gtk_spin_button_set_snap_to_ticks(GTK_SPIN_BUTTON(spin_dict_label), TRUE);
gtk_widget_set_size_request(spin_dict_label,60,20);
gtk_table_attach(GTK_TABLE(table), spin_dict_label, 1, 2, 1, 2,
xoption, yoption, 10, 10);
gtk_widget_set_tooltip_text(spin_dict_label,
_("Specify the number of characters to display on top of each toggle buttons in dictionary bar."));
check_splash = gtk_check_button_new_with_label(_("Show splash screen"));
gtk_widget_set_tooltip_text(check_splash,
_("Show splash screen on loading."));
gtk_table_attach(GTK_TABLE(table), check_splash, 0, 1, 5, 6,
xoption, yoption, 10, 10);
//
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_splash), bshow_splash);
check_heading_auto = gtk_check_button_new_with_label(_("Calculate heading automatically"));
gtk_widget_set_tooltip_text(check_heading_auto,
_("Calculate the number of cells in heading list to suit the window size."));
gtk_table_attach(GTK_TABLE(table), check_heading_auto, 0, 1, 6, 7,
xoption, yoption, 10, 10);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_heading_auto), bheading_auto_calc);
//
hbox = gtk_hbox_new(FALSE,10);
//.........这里部分代码省略.........
示例8: dt_iop_gui_init_blendif
//.........这里部分代码省略.........
GtkWidget *sm = dtgtk_togglebutton_new(dtgtk_cairo_paint_showmask, CPF_STYLE_FLAT);
g_object_set(G_OBJECT(sm), "tooltip-text", _("display mask"), (char *)NULL);
GtkWidget *res = dtgtk_button_new(dtgtk_cairo_paint_reset, CPF_STYLE_FLAT);
g_object_set(G_OBJECT(res), "tooltip-text", _("reset blend mask settings"), (char *)NULL);
GtkWidget *sup = dtgtk_togglebutton_new(dtgtk_cairo_paint_eye_toggle, CPF_STYLE_FLAT);
g_object_set(G_OBJECT(sup), "tooltip-text", _("temporarily switch off blend mask. only for module in focus."), (char *)NULL);
gtk_box_pack_start(GTK_BOX(header), GTK_WIDGET(notebook), TRUE, TRUE, 0);
gtk_box_pack_end(GTK_BOX(header), GTK_WIDGET(res), FALSE, FALSE, 0);
gtk_box_pack_end(GTK_BOX(header), GTK_WIDGET(tb), FALSE, FALSE, 0);
gtk_box_pack_end(GTK_BOX(header), GTK_WIDGET(sm), FALSE, FALSE, 0);
gtk_box_pack_end(GTK_BOX(header), GTK_WIDGET(sup), FALSE, FALSE, 0);
bd->lower_slider = DTGTK_GRADIENT_SLIDER_MULTIVALUE(dtgtk_gradient_slider_multivalue_new(4));
bd->upper_slider = DTGTK_GRADIENT_SLIDER_MULTIVALUE(dtgtk_gradient_slider_multivalue_new(4));
bd->lower_polarity = dtgtk_togglebutton_new(dtgtk_cairo_paint_plusminus, CPF_STYLE_FLAT|CPF_DO_NOT_USE_BORDER);
g_object_set(G_OBJECT(bd->lower_polarity), "tooltip-text", _("toggle polarity. best seen by enabling 'display mask'"), (char *)NULL);
bd->upper_polarity = dtgtk_togglebutton_new(dtgtk_cairo_paint_plusminus, CPF_STYLE_FLAT|CPF_DO_NOT_USE_BORDER);
g_object_set(G_OBJECT(bd->upper_polarity), "tooltip-text", _("toggle polarity. best seen by enabling 'display mask'"), (char *)NULL);
gtk_box_pack_start(GTK_BOX(upslider), GTK_WIDGET(bd->upper_slider), TRUE, TRUE, 0);
gtk_box_pack_end(GTK_BOX(upslider), GTK_WIDGET(bd->upper_polarity), FALSE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(lowslider), GTK_WIDGET(bd->lower_slider), TRUE, TRUE, 0);
gtk_box_pack_end(GTK_BOX(lowslider), GTK_WIDGET(bd->lower_polarity), FALSE, FALSE, 0);
GtkWidget *output = gtk_label_new(_("output"));
bd->upper_picker_label = GTK_LABEL(gtk_label_new(""));
gtk_box_pack_start(GTK_BOX(uplabel), GTK_WIDGET(output), FALSE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(uplabel), GTK_WIDGET(bd->upper_picker_label), TRUE, TRUE, 0);
for(int k=0; k < 4 ; k++)
{
bd->upper_label[k] = GTK_LABEL(gtk_label_new(NULL));
gtk_label_set_width_chars(bd->upper_label[k], 6);
gtk_box_pack_start(GTK_BOX(uplabel), GTK_WIDGET(bd->upper_label[k]), FALSE, FALSE, 0);
}
GtkWidget *input = gtk_label_new(_("input"));
bd->lower_picker_label = GTK_LABEL(gtk_label_new(""));
gtk_box_pack_start(GTK_BOX(lowlabel), GTK_WIDGET(input), FALSE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(lowlabel), GTK_WIDGET(bd->lower_picker_label), TRUE, TRUE, 0);
for(int k=0; k < 4 ; k++)
{
bd->lower_label[k] = GTK_LABEL(gtk_label_new(NULL));
gtk_label_set_width_chars(bd->lower_label[k], 6);
gtk_box_pack_start(GTK_BOX(lowlabel), GTK_WIDGET(bd->lower_label[k]), FALSE, FALSE, 0);
}
bd->radius_slider = dt_bauhaus_slider_new_with_range(module, 0.0, 50.0, 0.1, 0.0, 1);
dt_bauhaus_widget_set_label(bd->radius_slider, _("mask blur"));
dt_bauhaus_slider_set_format(bd->radius_slider, "%.1f");
gtk_object_set(GTK_OBJECT(bd->blendif_enable), "tooltip-text", _("enable conditional blending"), (char *)NULL);
gtk_object_set(GTK_OBJECT(bd->lower_slider), "tooltip-text", _("double click to reset"), (char *)NULL);
gtk_object_set(GTK_OBJECT(bd->upper_slider), "tooltip-text", _("double click to reset"), (char *)NULL);
gtk_object_set(GTK_OBJECT(output), "tooltip-text", ttoutput, (char *)NULL);
gtk_object_set(GTK_OBJECT(input), "tooltip-text", ttinput, (char *)NULL);
gtk_object_set(GTK_OBJECT(bd->radius_slider), "tooltip-text", _("radius for gaussian blur of blend mask"), (char *)NULL);
示例9: pp_cms_refresh
//.........这里部分代码省略.........
rgbok=GTK_STOCK_NO;
rgbstatus=_("RGB images cannot be printed\n(Workflow is CMYK and there is no printer profile)");
}
const gchar *cmykok=GTK_STOCK_NO;
const char *cmykstatus="";
// Work out implications of current settings for CMYK images...
if(isdevicelink)
{
if(dlcolourspace==IS_TYPE_RGB)
{
if(ra && ca)
{
// Devicelink with RGB input, CMYK profile available
cmykok=GTK_STOCK_DIALOG_WARNING;
cmykstatus=_("Printer profile is a devicelink with RGB input - CMYK images\nwill first be converted to the default RGB profile");
}
else if(ca)
{
// Devicelink with RGB input, no CMYK profile available
cmykok=GTK_STOCK_NO;
cmykstatus=_("Printer profile is a devicelink with RGB input - CMYK images\ncannot be printed without a default RGB profile.");
}
else
{
// Devicelink with RGB input, no RGB or CMYK profile available
cmykok=GTK_STOCK_NO;
cmykstatus=_("Printer profile is a devicelink with RGB input - CMYK images\ncannot be printed without a default RGB and CMYK profile.");
}
}
else if(ca)
{
// Devicelink with CMYK input
cmykok=GTK_STOCK_DIALOG_WARNING;
cmykstatus=_("Printer profile is a devicelink - CMYK images with embedded profiles\nwill first be converted to the default CMYK profile.");
}
else
{
// Devicelink with CMYK input
cmykok=GTK_STOCK_DIALOG_WARNING;
cmykstatus=_("Printer profile is a devicelink - CMYK images with embedded profiles will not\nprint correctly since there is no default CMYK profile.");
}
}
else if(pa && ca)
{
cmykok=GTK_STOCK_YES;
cmykstatus=_("CMYK images will print correctly");
}
else if(pa && colourspace==IS_TYPE_CMYK)
{
cmykok=GTK_STOCK_DIALOG_WARNING;
cmykstatus=_("CMYK images can be printed but colours depend on the driver\n(Colours will be accurate for images that contain an embedded profile)");
}
else if(colourspace==IS_TYPE_CMYK)
{
cmykok=GTK_STOCK_DIALOG_WARNING;
cmykstatus=_("CMYK images can be printed but colours depend on the driver");
}
else if(pa && colourspace==IS_TYPE_RGB)
{
cmykok=GTK_STOCK_DIALOG_WARNING;
cmykstatus=_("CMYK images can only be printed if they have an embedded profile\n(Workflow is RGB and there is no default CMYK profile)");
}
else if(colourspace==IS_TYPE_RGB)
{
cmykok=GTK_STOCK_NO;
cmykstatus=_("CMYK images cannot be printed\n(Workflow is RGB and there is no printer profile)");
}
const gchar *monok=GTK_STOCK_NO;
const char *monstatus="";
if(ma && ra)
{
monok=GTK_STOCK_YES;
monstatus=_("Images will be displayed correctly");
}
else if(ma)
{
monok=GTK_STOCK_DIALOG_WARNING;
monstatus=_("Images will only be displayed correctly if they have an embedded profile");
}
else
{
monok=GTK_STOCK_NO;
monstatus=_("Images will not be displayed correctly");
}
gtk_label_set_text(GTK_LABEL(ob->statusline[0]),rgbstatus);
gtk_image_set_from_stock(GTK_IMAGE(ob->indicator[0]),rgbok, GTK_ICON_SIZE_SMALL_TOOLBAR);
gtk_label_set_text(GTK_LABEL(ob->statusline[1]),cmykstatus);
gtk_image_set_from_stock(GTK_IMAGE(ob->indicator[1]),cmykok, GTK_ICON_SIZE_SMALL_TOOLBAR);
gtk_label_set_text(GTK_LABEL(ob->statusline[2]),monstatus);
gtk_image_set_from_stock(GTK_IMAGE(ob->indicator[2]),monok, GTK_ICON_SIZE_SMALL_TOOLBAR);
}
示例10: curvature_dialog
//.........这里部分代码省略.........
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(controls.set_selection),
args->set_selection);
g_signal_connect(controls.set_selection, "toggled",
G_CALLBACK(curvature_set_selection_changed), &controls);
row++;
controls.plot_graph
= gtk_check_button_new_with_mnemonic(_("_Plot graph"));
gtk_table_attach(GTK_TABLE(table), controls.plot_graph,
0, 4, row, row+1, GTK_FILL, 0, 0, 0);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(controls.plot_graph),
args->plot_graph);
g_signal_connect(controls.plot_graph, "toggled",
G_CALLBACK(curvature_plot_graph_changed), &controls);
row++;
gtk_table_set_row_spacing(GTK_TABLE(table), row-1, 8);
controls.target_hbox = hbox2 = gtk_hbox_new(FALSE, 6);
gtk_widget_set_sensitive(controls.target_hbox, args->plot_graph);
gtk_table_attach(GTK_TABLE(table), hbox2,
0, 4, row, row+1, GTK_EXPAND | GTK_FILL, 0, 0, 0);
label = gtk_label_new_with_mnemonic(_("Target _graph:"));
gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5);
gtk_box_pack_start(GTK_BOX(hbox2), label, FALSE, FALSE, 0);
controls.target_graph = gwy_data_chooser_new_graphs();
chooser = GWY_DATA_CHOOSER(controls.target_graph);
gwy_data_chooser_set_none(chooser, _("New graph"));
gwy_data_chooser_set_active(chooser, NULL, -1);
gwy_data_chooser_set_filter(chooser, filter_target_graphs, &controls, NULL);
gwy_data_chooser_set_active_id(chooser, &args->target_graph);
gwy_data_chooser_get_active_id(chooser, &args->target_graph);
gtk_label_set_mnemonic_widget(GTK_LABEL(label), controls.target_graph);
gtk_box_pack_end(GTK_BOX(hbox2), controls.target_graph, FALSE, FALSE, 0);
g_signal_connect_swapped(controls.target_graph, "changed",
G_CALLBACK(target_graph_changed), &controls);
row++;
if (mfield) {
gtk_table_set_row_spacing(GTK_TABLE(table), row-1, 8);
label = gwy_label_new_header(_("Masking Mode"));
gtk_table_attach(GTK_TABLE(table), label,
0, 3, row, row+1, GTK_EXPAND | GTK_FILL, 0, 0, 0);
row++;
controls.masking_group
= gwy_radio_buttons_create(gwy_masking_type_get_enum(), -1,
G_CALLBACK(curvature_masking_changed),
&controls, args->masking);
row = gwy_radio_buttons_attach_to_table(controls.masking_group,
GTK_TABLE(table), 3, row);
gtk_table_set_row_spacing(GTK_TABLE(table), row, 8);
}
else
controls.masking_group = NULL;
controls.warning = gtk_label_new(NULL);
gtk_misc_set_alignment(GTK_MISC(controls.warning), 0.0, 0.5);
gtk_table_attach(GTK_TABLE(table), controls.warning,
0, 3, row, row+1, GTK_EXPAND | GTK_FILL, 0, 0, 0);
vbox = gtk_vbox_new(FALSE, 0);
gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 0);
controls.graph = gwy_graph_new(controls.gmodel);
示例11: make_info_table
static GtkWidget *
make_info_table(PidginXferDialog *dialog)
{
GtkWidget *table;
GtkWidget *label;
int i;
struct
{
GtkWidget **desc_label;
GtkWidget **val_label;
const char *desc;
} labels[] =
{
{ &dialog->local_user_desc_label, &dialog->local_user_label, NULL },
{ &dialog->remote_user_desc_label, &dialog->remote_user_label, NULL },
{ &label, &dialog->protocol_label, _("Protocol:") },
{ &label, &dialog->filename_label, _("Filename:") },
{ &label, &dialog->localfile_label, _("Local File:") },
{ &label, &dialog->status_label, _("Status:") },
{ &label, &dialog->speed_label, _("Speed:") },
{ &label, &dialog->time_elapsed_label, _("Time Elapsed:") },
{ &label, &dialog->time_remaining_label, _("Time Remaining:") }
};
/* Setup the initial table */
dialog->table = table = gtk_table_new(9, 2, FALSE);
gtk_table_set_row_spacings(GTK_TABLE(table), PIDGIN_HIG_BOX_SPACE);
gtk_table_set_col_spacings(GTK_TABLE(table), PIDGIN_HIG_BOX_SPACE);
/* Setup the labels */
for (i = 0; i < sizeof(labels) / sizeof(*labels); i++) {
GtkWidget *label;
char buf[256];
g_snprintf(buf, sizeof(buf), "<b>%s</b>",
labels[i].desc != NULL ? labels[i].desc : "");
*labels[i].desc_label = label = gtk_label_new(NULL);
gtk_label_set_markup(GTK_LABEL(label), buf);
gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_RIGHT);
gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
gtk_table_attach(GTK_TABLE(table), label, 0, 1, i, i + 1,
GTK_FILL, 0, 0, 0);
gtk_widget_show(label);
*labels[i].val_label = label = gtk_label_new(NULL);
gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
gtk_table_attach(GTK_TABLE(table), label, 1, 2, i, i + 1,
GTK_FILL | GTK_EXPAND, 0, 0, 0);
gtk_widget_show(label);
}
/* Setup the progress bar */
dialog->progress = gtk_progress_bar_new();
gtk_table_attach(GTK_TABLE(table), dialog->progress, 0, 2, 8, 9,
GTK_FILL, GTK_FILL, 0, 0);
gtk_widget_show(dialog->progress);
return table;
}
示例12: update_detailed_info
static void
update_detailed_info(PidginXferDialog *dialog, PurpleXfer *xfer)
{
PidginXferUiData *data;
char *kbsec, *time_elapsed, *time_remaining;
char *status, *utf8;
if (dialog == NULL || xfer == NULL)
return;
data = PIDGINXFER(xfer);
get_xfer_info_strings(xfer, &kbsec, &time_elapsed, &time_remaining);
status = g_strdup_printf("%d%% (%" G_GSIZE_FORMAT " of %" G_GSIZE_FORMAT " bytes)",
(int)(purple_xfer_get_progress(xfer)*100),
purple_xfer_get_bytes_sent(xfer),
purple_xfer_get_size(xfer));
if (purple_xfer_is_completed(xfer)) {
GdkPixbuf *pixbuf = NULL;
pixbuf = gtk_widget_render_icon(xfer_dialog->window,
PIDGIN_STOCK_FILE_DONE,
GTK_ICON_SIZE_MENU, NULL);
gtk_list_store_set(GTK_LIST_STORE(xfer_dialog->model), &data->iter,
COLUMN_STATUS, pixbuf,
-1);
g_object_unref(pixbuf);
}
if (purple_xfer_get_type(xfer) == PURPLE_XFER_RECEIVE) {
gtk_label_set_markup(GTK_LABEL(dialog->local_user_desc_label),
_("<b>Receiving As:</b>"));
gtk_label_set_markup(GTK_LABEL(dialog->remote_user_desc_label),
_("<b>Receiving From:</b>"));
}
else {
gtk_label_set_markup(GTK_LABEL(dialog->remote_user_desc_label),
_("<b>Sending To:</b>"));
gtk_label_set_markup(GTK_LABEL(dialog->local_user_desc_label),
_("<b>Sending As:</b>"));
}
gtk_label_set_text(GTK_LABEL(dialog->local_user_label),
purple_account_get_username(xfer->account));
gtk_label_set_text(GTK_LABEL(dialog->remote_user_label), xfer->who);
gtk_label_set_text(GTK_LABEL(dialog->protocol_label),
purple_account_get_protocol_name(xfer->account));
if (purple_xfer_get_type(xfer) == PURPLE_XFER_RECEIVE) {
gtk_label_set_text(GTK_LABEL(dialog->filename_label),
purple_xfer_get_filename(xfer));
} else {
char *tmp;
tmp = g_path_get_basename(purple_xfer_get_local_filename(xfer));
utf8 = g_filename_to_utf8(tmp, -1, NULL, NULL, NULL);
g_free(tmp);
gtk_label_set_text(GTK_LABEL(dialog->filename_label), utf8);
g_free(utf8);
}
utf8 = g_filename_to_utf8((purple_xfer_get_local_filename(xfer)), -1, NULL, NULL, NULL);
gtk_label_set_text(GTK_LABEL(dialog->localfile_label), utf8);
g_free(utf8);
gtk_label_set_text(GTK_LABEL(dialog->status_label), status);
gtk_label_set_text(GTK_LABEL(dialog->speed_label), kbsec);
gtk_label_set_text(GTK_LABEL(dialog->time_elapsed_label), time_elapsed);
gtk_label_set_text(GTK_LABEL(dialog->time_remaining_label),
time_remaining);
gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(dialog->progress),
purple_xfer_get_progress(xfer));
g_free(kbsec);
g_free(time_elapsed);
g_free(time_remaining);
g_free(status);
}
示例13: grilo_media_browse_cb
static void
grilo_media_browse_cb (GrlSource *grilo_source, guint operation_id, GrlMedia *media, guint remaining, RBGriloSource *source, const GError *error)
{
if (operation_id != source->priv->media_browse_op) {
return;
}
if (error != NULL) {
/* do something? */
rb_debug ("got error for %s: %s",
grl_source_get_name (grilo_source),
error->message);
return;
}
GDK_THREADS_ENTER ();
if (media != NULL) {
source->priv->media_browse_got_results = TRUE;
source->priv->media_browse_position++;
if (GRL_IS_MEDIA_AUDIO (media)) {
RhythmDBEntry *entry;
entry = create_entry_for_media (source->priv->db,
source->priv->entry_type,
GRL_DATA (media),
GRL_DATA (source->priv->browse_container));
if (entry != NULL) {
rhythmdb_query_model_add_entry (source->priv->query_model, entry, -1);
}
} else if (GRL_IS_MEDIA_BOX (media)) {
source->priv->media_browse_got_containers = TRUE;
}
}
if (remaining == 0) {
source->priv->media_browse_op = 0;
if (gtk_tree_model_iter_n_children (GTK_TREE_MODEL (source->priv->query_model), NULL) == 0 &&
source->priv->media_browse_position >= CONTAINER_GIVE_UP_POINT) {
/* if we don't find any media within the first 100 or so results,
* assume this container doesn't have any. otherwise we'd load
* the entire thing when it got selected, which would suck.
*/
rb_debug ("didn't find any media in %s, giving up", grl_media_get_title (source->priv->media_browse_container));
gtk_tree_store_set (source->priv->browser_model,
&source->priv->media_browse_container_iter,
2, CONTAINER_NO_MEDIA,
-1);
} else if (source->priv->media_browse_got_results) {
if (source->priv->media_browse_position < source->priv->media_browse_limit) {
media_browse_next (source);
} else {
char *text;
text = g_strdup_printf (ngettext ("Only showing %d result",
"Only showing %d results",
source->priv->media_browse_position),
source->priv->media_browse_position);
gtk_label_set_text (GTK_LABEL (source->priv->info_bar_label), text);
g_free (text);
gtk_widget_show (source->priv->info_bar);
}
} else if (source->priv->media_browse_got_containers == FALSE &&
source->priv->media_browse_container != NULL) {
/* make sure there's no marker row for this container */
delete_marker_row (source, &source->priv->media_browse_container_iter);
}
}
GDK_THREADS_LEAVE ();
}
示例14: cc_build_edit_dialog
void
cc_build_edit_dialog (CcNotificationsPanel *panel,
GAppInfo *app,
GSettings *settings)
{
GtkWindow *shell;
GtkDialog *win;
GtkWidget *content_area;
GtkGrid *content_grid;
int i;
shell = GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (panel)));
win = GTK_DIALOG (gtk_dialog_new ());
g_object_set (win,
"modal", TRUE,
"title", g_app_info_get_name (app),
"width-request", 450,
"transient-for", shell,
"resizable", FALSE,
NULL);
gtk_dialog_add_button (win, "gtk-close", GTK_RESPONSE_CLOSE);
gtk_dialog_set_default_response (win, GTK_RESPONSE_CLOSE);
content_area = gtk_dialog_get_content_area (win);
content_grid = GTK_GRID (gtk_grid_new ());
g_object_set (content_grid,
"row-spacing", 10,
"margin-left", 15,
"margin-right", 5,
NULL);
gtk_container_add (GTK_CONTAINER (content_area), GTK_WIDGET (content_grid));
for (i = 0; i < G_N_ELEMENTS (policy_settings); i++)
{
GtkWidget *label;
GtkWidget *_switch;
label = gtk_label_new (g_dpgettext2 (GETTEXT_PACKAGE,
"notifications",
policy_settings[i].label));
g_object_set (label,
"xalign", 0.0,
"hexpand", TRUE,
NULL);
if (policy_settings[i].bold)
{
PangoAttrList *list;
PangoAttribute *weight;
list = pango_attr_list_new ();
weight = pango_attr_weight_new (PANGO_WEIGHT_BOLD);
pango_attr_list_insert (list, weight);
gtk_label_set_attributes (GTK_LABEL (label), list);
pango_attr_list_unref (list);
}
_switch = gtk_switch_new ();
gtk_label_set_mnemonic_widget (GTK_LABEL (label), _switch);
g_settings_bind (settings, policy_settings[i].setting_key,
_switch, "active",
G_SETTINGS_BIND_DEFAULT);
gtk_grid_attach (content_grid, GTK_WIDGET (label),
0, i, 1, 1);
gtk_grid_attach (content_grid, _switch,
1, i, 1, 1);
}
g_signal_connect (win, "response", G_CALLBACK (gtk_widget_destroy), NULL);
gtk_widget_show_all (GTK_WIDGET (win));
}
示例15: dlg_export_to_picasaweb
void
dlg_export_to_picasaweb (GthBrowser *browser,
GList *file_list)
{
DialogData *data;
GtkTreeSelection *selection;
GList *scan;
int n_total;
goffset total_size;
char *total_size_formatted;
char *text;
data = g_new0 (DialogData, 1);
data->browser = browser;
data->location = gth_file_data_dup (gth_browser_get_location_data (browser));
data->builder = _gtk_builder_new_from_file ("export-to-picasaweb.ui", "picasaweb");
data->dialog = _gtk_builder_get_widget (data->builder, "export_dialog");
data->cancellable = g_cancellable_new ();
{
GtkCellLayout *cell_layout;
GtkCellRenderer *renderer;
cell_layout = GTK_CELL_LAYOUT (GET_WIDGET ("name_treeviewcolumn"));
renderer = gtk_cell_renderer_pixbuf_new ();
gtk_cell_layout_pack_start (cell_layout, renderer, FALSE);
gtk_cell_layout_set_attributes (cell_layout, renderer,
"icon-name", ALBUM_ICON_COLUMN,
NULL);
renderer = gtk_cell_renderer_text_new ();
gtk_cell_layout_pack_start (cell_layout, renderer, TRUE);
gtk_cell_layout_set_attributes (cell_layout, renderer,
"text", ALBUM_NAME_COLUMN,
NULL);
renderer = gtk_cell_renderer_pixbuf_new ();
gtk_cell_layout_pack_start (cell_layout, renderer, FALSE);
gtk_cell_layout_set_attributes (cell_layout, renderer,
"icon-name", ALBUM_EMBLEM_COLUMN,
NULL);
}
_gtk_window_resize_to_fit_screen_height (data->dialog, 500);
data->file_list = NULL;
n_total = 0;
total_size = 0;
for (scan = file_list; scan; scan = scan->next) {
GthFileData *file_data = scan->data;
const char *mime_type;
mime_type = gth_file_data_get_mime_type (file_data);
if (g_content_type_equals (mime_type, "image/bmp")
|| g_content_type_equals (mime_type, "image/gif")
|| g_content_type_equals (mime_type, "image/jpeg")
|| g_content_type_equals (mime_type, "image/png"))
{
total_size += g_file_info_get_size (file_data->info);
n_total++;
data->file_list = g_list_prepend (data->file_list, g_object_ref (file_data));
}
}
data->file_list = g_list_reverse (data->file_list);
if (data->file_list == NULL) {
GError *error;
if (data->conn != NULL)
gth_task_dialog (GTH_TASK (data->conn), TRUE);
error = g_error_new_literal (GTH_ERROR, GTH_ERROR_GENERIC, _("No valid file selected."));
_gtk_error_dialog_from_gerror_show (GTK_WINDOW (browser), _("Could not export the files"), &error);
destroy_dialog (data);
return;
}
total_size_formatted = g_format_size_for_display (total_size);
text = g_strdup_printf (g_dngettext (NULL, "%d file (%s)", "%d files (%s)", n_total), n_total, total_size_formatted);
gtk_label_set_text (GTK_LABEL (GET_WIDGET ("images_info_label")), text);
g_free (text);
g_free (total_size_formatted);
/* Set the widget data */
data->list_view = gth_file_list_new (GTH_FILE_LIST_TYPE_NO_SELECTION, FALSE);
gth_file_list_set_thumb_size (GTH_FILE_LIST (data->list_view), 112);
gth_file_view_set_spacing (GTH_FILE_VIEW (gth_file_list_get_view (GTH_FILE_LIST (data->list_view))), 0);
gth_file_list_enable_thumbs (GTH_FILE_LIST (data->list_view), TRUE);
gth_file_list_set_caption (GTH_FILE_LIST (data->list_view), "none");
gth_file_list_set_sort_func (GTH_FILE_LIST (data->list_view), gth_main_get_sort_type ("file::name")->cmp_func, FALSE);
gtk_widget_show (data->list_view);
gtk_box_pack_start (GTK_BOX (GET_WIDGET ("images_box")), data->list_view, TRUE, TRUE, 0);
gth_file_list_set_files (GTH_FILE_LIST (data->list_view), data->file_list);
gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (GET_WIDGET ("album_liststore")), ALBUM_NAME_COLUMN, GTK_SORT_ASCENDING);
gtk_widget_set_sensitive (GET_WIDGET ("upload_button"), FALSE);
//.........这里部分代码省略.........