static gboolean update_fan_status(CtkVcs *ctk_object) { gint ret; char *fan_entry_str = NULL; char *tokens; GtkWidget *table; GtkWidget *label; FanEntry current_fan; gchar output_str[16]; gint current_row; if (!ctk_object->fan_status_container) { return FALSE; } ret = NvCtrlGetStringAttribute(ctk_object->handle, NV_CTRL_STRING_VCSC_FAN_STATUS, &fan_entry_str); if (ret != NvCtrlSuccess) { return FALSE; } ctk_empty_container(ctk_object->fan_status_container); /* Generate the new table */ table = gtk_table_new(1, 3, FALSE); gtk_table_set_row_spacings(GTK_TABLE(table), 3); gtk_table_set_col_spacings(GTK_TABLE(table), 15); gtk_container_set_border_width(GTK_CONTAINER(table), 5); gtk_box_pack_start(GTK_BOX(ctk_object->fan_status_container), table, FALSE, FALSE, 0); label = gtk_label_new("Fan Number"); gtk_misc_set_alignment(GTK_MISC(label), 0.0f, 0.5f); gtk_widget_set_size_request(label, ctk_object->req.width, -1); gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, GTK_FILL, GTK_FILL | GTK_EXPAND, 5, 0); label = gtk_label_new("Fan Speed"); gtk_misc_set_alignment(GTK_MISC(label), 0.0f, 0.5f); gtk_table_attach(GTK_TABLE(table), label, 1, 2, 0, 1, GTK_FILL, GTK_FILL | GTK_EXPAND, 5, 0); label = gtk_label_new("Fan Status"); gtk_misc_set_alignment(GTK_MISC(label), 0.0f, 0.5f); gtk_table_attach(GTK_TABLE(table), label, 2, 3, 0, 1, GTK_FILL, GTK_FILL | GTK_EXPAND, 5, 0); /* Parse string of fan entries and populate table */ current_row = 1; for (tokens = strtok(fan_entry_str, ";"); tokens; tokens = strtok(NULL, ";")) { /* Invalidate fan entry */ current_fan.fan_number = -1; current_fan.fan_speed = -1; current_fan.fan_failed = -1; parse_token_value_pairs(tokens, apply_fan_entry_token, ¤t_fan); if ((current_fan.fan_number != -1) && (current_fan.fan_speed != -1) && (current_fan.fan_failed != -1)) { gtk_table_resize(GTK_TABLE(table), current_row + 1, 3); g_snprintf(output_str, 16, "%d", current_fan.fan_number); label = gtk_label_new(output_str); gtk_misc_set_alignment(GTK_MISC(label), 0.0f, 0.5f); gtk_widget_set_size_request(label, ctk_object->req.width, -1); gtk_table_attach(GTK_TABLE(table), label, 0, 1, current_row, current_row + 1, GTK_FILL, GTK_FILL | GTK_EXPAND, 5, 0); g_snprintf(output_str, 16, "%d rpm", current_fan.fan_speed); label = gtk_label_new(output_str); gtk_misc_set_alignment(GTK_MISC(label), 0.0f, 0.5f); gtk_table_attach(GTK_TABLE(table), label, 1, 2, current_row, current_row + 1, GTK_FILL, GTK_FILL | GTK_EXPAND, 5, 0); if (!current_fan.fan_failed) { g_snprintf(output_str, 16, "Ok"); } else { g_snprintf(output_str, 16, "Failed"); } label = gtk_label_new(output_str); gtk_misc_set_alignment(GTK_MISC(label), 0.0f, 0.5f); gtk_table_attach(GTK_TABLE(table), label, 2, 3, current_row, current_row + 1, GTK_FILL, GTK_FILL | GTK_EXPAND, 5, 0); current_row++; } else { nv_warning_msg("Incomplete Fan Entry (fan=%d, speed=%d, failFlag=%d)", current_fan.fan_number, current_fan.fan_speed, current_fan.fan_failed); } } gtk_widget_show_all(table); XFree(fan_entry_str); return TRUE; }
static GtkWidget *create_window(void) { stwidgets.accel_group = gtk_accel_group_new(); // Basic window stwidgets.startwin = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(stwidgets.startwin), apptitle); // NOTE: use global app title gtk_window_set_position(GTK_WINDOW(stwidgets.startwin), GTK_WIN_POS_CENTER); gtk_window_set_resizable(GTK_WINDOW(stwidgets.startwin), FALSE); gtk_window_set_type_hint(GTK_WINDOW(stwidgets.startwin), GDK_WINDOW_TYPE_HINT_DIALOG); // Horizontal layout of banner and controls stwidgets.hlayout = gtk_hbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(stwidgets.startwin), stwidgets.hlayout); // banner { GdkPixbuf *pixbuf = load_banner(); stwidgets.banner = gtk_image_new_from_pixbuf(pixbuf); g_object_unref((gpointer)pixbuf); } gtk_box_pack_start(GTK_BOX(stwidgets.hlayout), stwidgets.banner, FALSE, FALSE, 0); gtk_misc_set_alignment(GTK_MISC(stwidgets.banner), 0.5, 0); // Vertical layout of tab control and start+cancel buttons stwidgets.vlayout = gtk_vbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX(stwidgets.hlayout), stwidgets.vlayout, TRUE, TRUE, 0); // Tab control stwidgets.tabs = gtk_notebook_new(); gtk_box_pack_start(GTK_BOX(stwidgets.vlayout), stwidgets.tabs, TRUE, TRUE, 0); gtk_container_set_border_width(GTK_CONTAINER(stwidgets.tabs), 4); // layout table of config page stwidgets.configtlayout = gtk_table_new(4, 3, FALSE); gtk_container_add(GTK_CONTAINER(stwidgets.tabs), stwidgets.configtlayout); // 2D video mode label stwidgets.vmode2dlabel = gtk_label_new_with_mnemonic("_2D Video mode:"); gtk_misc_set_alignment(GTK_MISC(stwidgets.vmode2dlabel), 0.3, 0); gtk_table_attach(GTK_TABLE(stwidgets.configtlayout), stwidgets.vmode2dlabel, 0,1, 0,1, GTK_FILL, (GtkAttachOptions)0, 4, 6); // 2D video mode combo { GtkListStore *list = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_INT); GtkCellRenderer *cell; stwidgets.vmode2dcombo = gtk_combo_box_new_with_model(GTK_TREE_MODEL(list)); g_object_unref(G_OBJECT(list)); cell = gtk_cell_renderer_text_new(); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(stwidgets.vmode2dcombo), cell, FALSE); gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(stwidgets.vmode2dcombo), cell, "text", 0, NULL); } gtk_table_attach(GTK_TABLE(stwidgets.configtlayout), stwidgets.vmode2dcombo, 1,2, 0,1, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)0, 4, 6); gtk_widget_add_accelerator(stwidgets.vmode2dcombo, "grab_focus", stwidgets.accel_group, GDK_2, GDK_MOD1_MASK, GTK_ACCEL_VISIBLE); // Fullscreen checkbox stwidgets.fullscreencheck = gtk_check_button_new_with_mnemonic("_Fullscreen"); gtk_table_attach(GTK_TABLE(stwidgets.configtlayout), stwidgets.fullscreencheck, 2,3, 0,1, GTK_FILL, (GtkAttachOptions)0, 4, 6); gtk_widget_add_accelerator(stwidgets.fullscreencheck, "grab_focus", stwidgets.accel_group, GDK_F, GDK_MOD1_MASK, GTK_ACCEL_VISIBLE); // 3D video mode label stwidgets.vmode3dlabel = gtk_label_new_with_mnemonic("_3D Video mode:"); gtk_misc_set_alignment(GTK_MISC(stwidgets.vmode3dlabel), 0.3, 0); gtk_table_attach(GTK_TABLE(stwidgets.configtlayout), stwidgets.vmode3dlabel, 0,1, 1,2, GTK_FILL, (GtkAttachOptions)0, 4, 6); // 3D video mode combo { GtkListStore *list = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_INT); GtkCellRenderer *cell; stwidgets.vmode3dcombo = gtk_combo_box_new_with_model(GTK_TREE_MODEL(list)); g_object_unref(G_OBJECT(list)); cell = gtk_cell_renderer_text_new(); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(stwidgets.vmode3dcombo), cell, FALSE); gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(stwidgets.vmode3dcombo), cell, "text", 0, NULL); } gtk_table_attach(GTK_TABLE(stwidgets.configtlayout), stwidgets.vmode3dcombo, 1,2, 1,2, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)0, 4, 0); gtk_widget_add_accelerator(stwidgets.vmode3dcombo, "grab_focus", stwidgets.accel_group, GDK_3, GDK_MOD1_MASK, GTK_ACCEL_VISIBLE); // Empty horizontal layout stwidgets.emptyhlayout = gtk_hbox_new(TRUE, 0); gtk_table_attach(GTK_TABLE(stwidgets.configtlayout), stwidgets.emptyhlayout, 0,1, 2,3, (GtkAttachOptions)0, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), 0, 0); // Always show config checkbox stwidgets.alwaysshowcheck = gtk_check_button_new_with_mnemonic("_Always show configuration on start"); gtk_table_attach(GTK_TABLE(stwidgets.configtlayout), stwidgets.alwaysshowcheck, 0,2, 3,4, GTK_FILL, (GtkAttachOptions)0, 4, 6); gtk_widget_add_accelerator(stwidgets.alwaysshowcheck, "grab_focus", stwidgets.accel_group, GDK_A, GDK_MOD1_MASK, GTK_ACCEL_VISIBLE); // Configuration tab stwidgets.configtab = gtk_label_new("Configuration"); gtk_notebook_set_tab_label(GTK_NOTEBOOK(stwidgets.tabs), gtk_notebook_get_nth_page(GTK_NOTEBOOK(stwidgets.tabs), 0), stwidgets.configtab); // Messages scrollable area stwidgets.messagesscroll = gtk_scrolled_window_new(NULL, NULL); gtk_container_add(GTK_CONTAINER(stwidgets.tabs), stwidgets.messagesscroll); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(stwidgets.messagesscroll), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); // Messages text area stwidgets.messagestext = gtk_text_view_new(); gtk_container_add(GTK_CONTAINER(stwidgets.messagesscroll), stwidgets.messagestext); gtk_text_view_set_editable(GTK_TEXT_VIEW(stwidgets.messagestext), FALSE); gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(stwidgets.messagestext), GTK_WRAP_WORD); gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(stwidgets.messagestext), FALSE); gtk_text_view_set_left_margin(GTK_TEXT_VIEW(stwidgets.messagestext), 2); gtk_text_view_set_right_margin(GTK_TEXT_VIEW(stwidgets.messagestext), 2); // Messages tab stwidgets.messagestab = gtk_label_new("Messages"); gtk_notebook_set_tab_label(GTK_NOTEBOOK(stwidgets.tabs), gtk_notebook_get_nth_page(GTK_NOTEBOOK(stwidgets.tabs), 1), stwidgets.messagestab); // Dialogue box buttons layout stwidgets.buttons = gtk_hbutton_box_new(); gtk_box_pack_start(GTK_BOX(stwidgets.vlayout), stwidgets.buttons, FALSE, TRUE, 0); gtk_container_set_border_width(GTK_CONTAINER(stwidgets.buttons), 3); gtk_button_box_set_layout(GTK_BUTTON_BOX(stwidgets.buttons), GTK_BUTTONBOX_END); // Cancel button stwidgets.cancelbutton = gtk_button_new(); gtk_container_add(GTK_CONTAINER(stwidgets.buttons), stwidgets.cancelbutton); GTK_WIDGET_SET_FLAGS(stwidgets.cancelbutton, GTK_CAN_DEFAULT); gtk_widget_add_accelerator(stwidgets.cancelbutton, "grab_focus", stwidgets.accel_group, GDK_C, GDK_MOD1_MASK, GTK_ACCEL_VISIBLE); gtk_widget_add_accelerator(stwidgets.cancelbutton, "clicked", stwidgets.accel_group, GDK_Escape, (GdkModifierType)0, GTK_ACCEL_VISIBLE); stwidgets.cancelbuttonalign = gtk_alignment_new(0.5, 0.5, 0, 0); gtk_container_add(GTK_CONTAINER(stwidgets.cancelbutton), stwidgets.cancelbuttonalign); stwidgets.cancelbuttonlayout = gtk_hbox_new(FALSE, 2); gtk_container_add(GTK_CONTAINER(stwidgets.cancelbuttonalign), stwidgets.cancelbuttonlayout); stwidgets.cancelbuttonicon = gtk_image_new_from_stock("gtk-cancel", GTK_ICON_SIZE_BUTTON); gtk_box_pack_start(GTK_BOX(stwidgets.cancelbuttonlayout), stwidgets.cancelbuttonicon, FALSE, FALSE, 0); stwidgets.cancelbuttonlabel = gtk_label_new_with_mnemonic("_Cancel"); gtk_box_pack_start(GTK_BOX(stwidgets.cancelbuttonlayout), stwidgets.cancelbuttonlabel, FALSE, FALSE, 0); // Start button stwidgets.startbutton = gtk_button_new(); gtk_container_add(GTK_CONTAINER(stwidgets.buttons), stwidgets.startbutton); GTK_WIDGET_SET_FLAGS(stwidgets.startbutton, GTK_CAN_DEFAULT); gtk_widget_add_accelerator(stwidgets.startbutton, "grab_focus", stwidgets.accel_group, GDK_S, GDK_MOD1_MASK, GTK_ACCEL_VISIBLE); gtk_widget_add_accelerator(stwidgets.startbutton, "clicked", stwidgets.accel_group, GDK_Return, (GdkModifierType)0, GTK_ACCEL_VISIBLE); stwidgets.startbuttonalign = gtk_alignment_new(0.5, 0.5, 0, 0); gtk_container_add(GTK_CONTAINER(stwidgets.startbutton), stwidgets.startbuttonalign); stwidgets.startbuttonlayout = gtk_hbox_new(FALSE, 2); gtk_container_add(GTK_CONTAINER(stwidgets.startbuttonalign), stwidgets.startbuttonlayout); stwidgets.startbuttonicon = gtk_image_new_from_stock("gtk-execute", GTK_ICON_SIZE_BUTTON); gtk_box_pack_start(GTK_BOX(stwidgets.startbuttonlayout), stwidgets.startbuttonicon, FALSE, FALSE, 0); stwidgets.startbuttonlabel = gtk_label_new_with_mnemonic("_Start"); gtk_box_pack_start(GTK_BOX(stwidgets.startbuttonlayout), stwidgets.startbuttonlabel, FALSE, FALSE, 0); // Wire up the signals g_signal_connect((gpointer) stwidgets.startwin, "delete_event", G_CALLBACK(on_startwin_delete_event), NULL); g_signal_connect((gpointer) stwidgets.vmode2dcombo, "changed", G_CALLBACK(on_vmode2dcombo_changed), NULL); g_signal_connect((gpointer) stwidgets.vmode3dcombo, "changed", G_CALLBACK(on_vmode3dcombo_changed), NULL); g_signal_connect((gpointer) stwidgets.fullscreencheck, "toggled", G_CALLBACK(on_fullscreencheck_toggled), NULL); g_signal_connect((gpointer) stwidgets.alwaysshowcheck, "toggled", G_CALLBACK(on_alwaysshowcheck_toggled), NULL); g_signal_connect((gpointer) stwidgets.cancelbutton, "clicked", G_CALLBACK(on_cancelbutton_clicked), NULL); g_signal_connect((gpointer) stwidgets.startbutton, "clicked", G_CALLBACK(on_startbutton_clicked), NULL); // Associate labels with their controls gtk_label_set_mnemonic_widget(GTK_LABEL(stwidgets.vmode2dlabel), stwidgets.vmode2dcombo); gtk_label_set_mnemonic_widget(GTK_LABEL(stwidgets.vmode3dlabel), stwidgets.vmode3dcombo); gtk_window_add_accel_group(GTK_WINDOW(stwidgets.startwin), stwidgets.accel_group); return stwidgets.startwin; }
GtkWidget* create_dialog1 (void) { GtkWidget *dialog1; GtkWidget *dialog_vbox1; GtkWidget *vbox1; GtkWidget *frame1; GtkWidget *table1; GtkWidget *buttonSelect; GtkWidget *labelVobsub; GtkWidget *label4; GtkWidget *optionmenu1; GtkWidget *label2; GtkWidget *frame2; GtkWidget *table2; GtkWidget *label6; GtkObject *spinbutton1_adj; GtkWidget *spinbutton1; GtkWidget *label7; GtkWidget *entryShift; GtkWidget *label5; GtkWidget *dialog_action_area1; GtkWidget *cancelbutton1; GtkWidget *okbutton1; dialog1 = gtk_dialog_new (); gtk_window_set_title (GTK_WINDOW (dialog1), QT_TR_NOOP("VobSub Settings")); dialog_vbox1 = GTK_DIALOG (dialog1)->vbox; gtk_widget_show (dialog_vbox1); vbox1 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox1); gtk_box_pack_start (GTK_BOX (dialog_vbox1), vbox1, TRUE, TRUE, 0); frame1 = gtk_frame_new (NULL); gtk_widget_show (frame1); gtk_box_pack_start (GTK_BOX (vbox1), frame1, TRUE, TRUE, 0); table1 = gtk_table_new (2, 2, FALSE); gtk_widget_show (table1); gtk_container_add (GTK_CONTAINER (frame1), table1); buttonSelect = gtk_button_new_with_mnemonic (QT_TR_NOOP("Select .idx")); gtk_widget_show (buttonSelect); gtk_table_attach (GTK_TABLE (table1), buttonSelect, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); labelVobsub = gtk_label_new (QT_TR_NOOP("None")); gtk_widget_show (labelVobsub); gtk_table_attach (GTK_TABLE (table1), labelVobsub, 0, 1, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (labelVobsub), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (labelVobsub), 0, 0.5); label4 = gtk_label_new (QT_TR_NOOP("Select Language :")); gtk_widget_show (label4); gtk_table_attach (GTK_TABLE (table1), label4, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label4), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label4), 0, 0.5); optionmenu1 = gtk_option_menu_new (); gtk_widget_show (optionmenu1); gtk_table_attach (GTK_TABLE (table1), optionmenu1, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); label2 = gtk_label_new (QT_TR_NOOP("Select Sub")); gtk_widget_show (label2); gtk_frame_set_label_widget (GTK_FRAME (frame1), label2); gtk_label_set_justify (GTK_LABEL (label2), GTK_JUSTIFY_LEFT); frame2 = gtk_frame_new (NULL); gtk_widget_show (frame2); gtk_box_pack_start (GTK_BOX (vbox1), frame2, TRUE, TRUE, 0); table2 = gtk_table_new (2, 2, FALSE); gtk_widget_show (table2); gtk_container_add (GTK_CONTAINER (frame2), table2); label6 = gtk_label_new (QT_TR_NOOP("Extra Shrink Factor :")); gtk_widget_show (label6); gtk_table_attach (GTK_TABLE (table2), label6, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label6), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label6), 0, 0.5); spinbutton1_adj = gtk_adjustment_new (1, 1, 2, 0.1, 0.2, 0.2); spinbutton1 = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton1_adj), 1, 0); gtk_widget_show (spinbutton1); gtk_table_attach (GTK_TABLE (table2), spinbutton1, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); label7 = gtk_label_new (QT_TR_NOOP("Shift (ms) :")); gtk_widget_show (label7); gtk_table_attach (GTK_TABLE (table2), label7, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label7), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label7), 0, 0.5); entryShift = gtk_entry_new (); gtk_widget_show (entryShift); gtk_table_attach (GTK_TABLE (table2), entryShift, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); label5 = gtk_label_new (QT_TR_NOOP("Extra Settings")); gtk_widget_show (label5); gtk_frame_set_label_widget (GTK_FRAME (frame2), label5); gtk_label_set_justify (GTK_LABEL (label5), GTK_JUSTIFY_LEFT); dialog_action_area1 = GTK_DIALOG (dialog1)->action_area; gtk_widget_show (dialog_action_area1); gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END); cancelbutton1 = gtk_button_new_from_stock ("gtk-cancel"); gtk_widget_show (cancelbutton1); gtk_dialog_add_action_widget (GTK_DIALOG (dialog1), cancelbutton1, GTK_RESPONSE_CANCEL); GTK_WIDGET_SET_FLAGS (cancelbutton1, GTK_CAN_DEFAULT); okbutton1 = gtk_button_new_from_stock ("gtk-ok"); gtk_widget_show (okbutton1); gtk_dialog_add_action_widget (GTK_DIALOG (dialog1), okbutton1, GTK_RESPONSE_OK); GTK_WIDGET_SET_FLAGS (okbutton1, GTK_CAN_DEFAULT); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (dialog1, dialog1, "dialog1"); GLADE_HOOKUP_OBJECT_NO_REF (dialog1, dialog_vbox1, "dialog_vbox1"); GLADE_HOOKUP_OBJECT (dialog1, vbox1, "vbox1"); GLADE_HOOKUP_OBJECT (dialog1, frame1, "frame1"); GLADE_HOOKUP_OBJECT (dialog1, table1, "table1"); GLADE_HOOKUP_OBJECT (dialog1, buttonSelect, "buttonSelect"); GLADE_HOOKUP_OBJECT (dialog1, labelVobsub, "labelVobsub"); GLADE_HOOKUP_OBJECT (dialog1, label4, "label4"); GLADE_HOOKUP_OBJECT (dialog1, optionmenu1, "optionmenu1"); GLADE_HOOKUP_OBJECT (dialog1, label2, "label2"); GLADE_HOOKUP_OBJECT (dialog1, frame2, "frame2"); GLADE_HOOKUP_OBJECT (dialog1, table2, "table2"); GLADE_HOOKUP_OBJECT (dialog1, label6, "label6"); GLADE_HOOKUP_OBJECT (dialog1, spinbutton1, "spinbutton1"); GLADE_HOOKUP_OBJECT (dialog1, label7, "label7"); GLADE_HOOKUP_OBJECT (dialog1, entryShift, "entryShift"); GLADE_HOOKUP_OBJECT (dialog1, label5, "label5"); GLADE_HOOKUP_OBJECT_NO_REF (dialog1, dialog_action_area1, "dialog_action_area1"); GLADE_HOOKUP_OBJECT (dialog1, cancelbutton1, "cancelbutton1"); GLADE_HOOKUP_OBJECT (dialog1, okbutton1, "okbutton1"); return dialog1; }
static GimpPDBStatusType lcms_dialog (GimpColorConfig *config, gint32 image, gboolean apply, LcmsValues *values) { GimpColorProfileComboBox *box; GtkWidget *dialog; GtkWidget *main_vbox; GtkWidget *frame; GtkWidget *label; GtkWidget *combo; cmsHPROFILE src_profile; gchar *name; gboolean success = FALSE; gboolean run; GError *error = NULL; src_profile = lcms_image_get_profile (config, image, &error); if (error) { g_message ("%s", error->message); g_clear_error (&error); } if (! src_profile) src_profile = gimp_lcms_create_srgb_profile (); gimp_ui_init (PLUG_IN_BINARY, FALSE); dialog = gimp_dialog_new (apply ? _("Convert to ICC Color Profile") : _("Assign ICC Color Profile"), PLUG_IN_ROLE, NULL, 0, gimp_standard_help_func, apply ? PLUG_IN_PROC_APPLY : PLUG_IN_PROC_SET, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, apply ? GTK_STOCK_CONVERT : _("_Assign"), GTK_RESPONSE_OK, NULL); gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog), GTK_RESPONSE_OK, GTK_RESPONSE_CANCEL, -1); gimp_window_set_transient (GTK_WINDOW (dialog)); main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12); gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 12); gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), main_vbox, TRUE, TRUE, 0); gtk_widget_show (main_vbox); frame = gimp_frame_new (_("Current Color Profile")); gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0); gtk_widget_show (frame); name = gimp_lcms_profile_get_label (src_profile); label = gtk_label_new (name); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_container_add (GTK_CONTAINER (frame), label); gtk_widget_show (label); g_free (name); frame = gimp_frame_new (apply ? _("Convert to") : _("Assign")); gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0); gtk_widget_show (frame); combo = lcms_icc_combo_box_new (config, NULL); gtk_container_add (GTK_CONTAINER (frame), combo); gtk_widget_show (combo); box = GIMP_COLOR_PROFILE_COMBO_BOX (combo); if (apply) { GtkWidget *vbox; GtkWidget *hbox; GtkWidget *toggle; vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); gtk_box_pack_start (GTK_BOX (main_vbox), vbox, FALSE, FALSE, 0); gtk_widget_show (vbox); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); label = gtk_label_new_with_mnemonic (_("_Rendering Intent:")); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); gtk_widget_show (label); combo = gimp_enum_combo_box_new (GIMP_TYPE_COLOR_RENDERING_INTENT); gtk_box_pack_start (GTK_BOX (hbox), combo, TRUE, TRUE, 0); gtk_widget_show (combo); gimp_int_combo_box_connect (GIMP_INT_COMBO_BOX (combo), values->intent, G_CALLBACK (gimp_int_combo_box_get_active), &values->intent); gtk_label_set_mnemonic_widget (GTK_LABEL (label), combo); toggle = gtk_check_button_new_with_mnemonic (_("_Black Point Compensation")); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (toggle), values->bpc); gtk_box_pack_start (GTK_BOX (vbox), toggle, FALSE, FALSE, 0); gtk_widget_show (toggle); g_signal_connect (toggle, "toggled", G_CALLBACK (gimp_toggle_button_update), &values->bpc); } while ((run = gimp_dialog_run (GIMP_DIALOG (dialog))) == GTK_RESPONSE_OK) { gchar *filename = gimp_color_profile_combo_box_get_active (box); cmsHPROFILE dest_profile; gtk_widget_set_sensitive (dialog, FALSE); if (filename) { GError *error = NULL; dest_profile = gimp_lcms_profile_open_from_file (filename, &error); if (! dest_profile) { g_message ("%s", error->message); g_clear_error (&error); } } else { dest_profile = gimp_lcms_create_srgb_profile (); } if (dest_profile) { if (gimp_lcms_profile_is_rgb (dest_profile)) { if (apply) success = lcms_image_apply_profile (image, src_profile, dest_profile, filename, values->intent, values->bpc); else success = lcms_image_set_profile (image, dest_profile, filename); } else { gimp_message (_("Destination profile is not for RGB color space.")); } cmsCloseProfile (dest_profile); } if (success) break; else gtk_widget_set_sensitive (dialog, TRUE); } gtk_widget_destroy (dialog); cmsCloseProfile (src_profile); return (run ? (success ? GIMP_PDB_SUCCESS : GIMP_PDB_EXECUTION_ERROR) : GIMP_PDB_CANCEL); }
void gui_init(dt_iop_module_t *self) { self->widget = gtk_label_new(""); gtk_misc_set_alignment(GTK_MISC(self->widget), 0.0, 0.5); }
GtkWidget* create_dialog1 (void) { GtkWidget *dialog1; GtkWidget *dialog_vbox1; GtkWidget *alignment4; GtkWidget *vbox1; GtkWidget *frame1; GtkWidget *alignment2; GtkWidget *table1; GtkWidget *label4; GtkWidget *label5; GtkWidget *label7; GtkWidget *label_fps; GtkWidget *label_size; GtkWidget *label3; GtkWidget *label_number; GtkWidget *label_duration; GtkWidget *label6; GtkWidget *label_videofourcc; GtkWidget *label35; GtkWidget *labelAspectRatio; GtkWidget *label1; GtkWidget *frame3; GtkWidget *alignment5; GtkWidget *table3; GtkWidget *labelGMCCap; GtkWidget *labelGMC; GtkWidget *labelPackedBitstreamCap; GtkWidget *labelPacked; GtkWidget *labelQPelCap; GtkWidget *labelQP; GtkWidget *label41; GtkWidget *frame2; GtkWidget *alignment3; GtkWidget *table2; GtkWidget *label13; GtkWidget *label14; GtkWidget *label15; GtkWidget *label16; GtkWidget *label17; GtkWidget *label1_audiofourcc; GtkWidget *label1_audiomode; GtkWidget *label_bitrate; GtkWidget *label_fq; GtkWidget *label_audioduration; GtkWidget *label40; GtkWidget *labelFileSize; GtkWidget *label21; GtkWidget *labelVbr; GtkWidget *label2; GtkWidget *dialog_action_area1; GtkWidget *okbutton1; dialog1 = gtk_dialog_new (); gtk_window_set_title (GTK_WINDOW (dialog1), QT_TR_NOOP("Properties")); gtk_window_set_type_hint (GTK_WINDOW (dialog1), GDK_WINDOW_TYPE_HINT_DIALOG); dialog_vbox1 = GTK_DIALOG (dialog1)->vbox; gtk_widget_show (dialog_vbox1); alignment4 = gtk_alignment_new (0.5, 0.5, 1, 1); gtk_widget_show (alignment4); gtk_box_pack_start (GTK_BOX (dialog_vbox1), alignment4, TRUE, TRUE, 0); gtk_alignment_set_padding (GTK_ALIGNMENT (alignment4), 2, 10, 6, 6); vbox1 = gtk_vbox_new (FALSE, 2); gtk_widget_show (vbox1); gtk_container_add (GTK_CONTAINER (alignment4), vbox1); frame1 = gtk_frame_new (NULL); gtk_widget_show (frame1); gtk_box_pack_start (GTK_BOX (vbox1), frame1, TRUE, TRUE, 0); alignment2 = gtk_alignment_new (0.5, 0.5, 1, 1); gtk_widget_show (alignment2); gtk_container_add (GTK_CONTAINER (frame1), alignment2); gtk_alignment_set_padding (GTK_ALIGNMENT (alignment2), 3, 6, 12, 12); table1 = gtk_table_new (6, 2, FALSE); gtk_widget_show (table1); gtk_container_add (GTK_CONTAINER (alignment2), table1); gtk_table_set_col_spacings (GTK_TABLE (table1), 12); label4 = gtk_label_new (QT_TR_NOOP("Frame Rate:")); gtk_widget_show (label4); gtk_table_attach (GTK_TABLE (table1), label4, 0, 1, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label4), 0, 0.5); label5 = gtk_label_new (QT_TR_NOOP("Frame Count:")); gtk_widget_show (label5); gtk_table_attach (GTK_TABLE (table1), label5, 0, 1, 4, 5, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label5), 0, 0.5); label7 = gtk_label_new (QT_TR_NOOP("Total Duration:")); gtk_widget_show (label7); gtk_table_attach (GTK_TABLE (table1), label7, 0, 1, 5, 6, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label7), 0, 0.5); label_fps = gtk_label_new (""); gtk_widget_show (label_fps); gtk_table_attach (GTK_TABLE (table1), label_fps, 1, 2, 3, 4, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label_fps), 0, 0.5); label_size = gtk_label_new (QT_TR_NOOP(" ")); gtk_widget_show (label_size); gtk_table_attach (GTK_TABLE (table1), label_size, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label_size), 0, 0.5); label3 = gtk_label_new (QT_TR_NOOP("Image Size:")); gtk_widget_show (label3); gtk_table_attach (GTK_TABLE (table1), label3, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label3), 0, 0.5); label_number = gtk_label_new (""); gtk_widget_show (label_number); gtk_table_attach (GTK_TABLE (table1), label_number, 1, 2, 4, 5, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label_number), 0, 0.5); label_duration = gtk_label_new (QT_TR_NOOP(" ")); gtk_widget_show (label_duration); gtk_table_attach (GTK_TABLE (table1), label_duration, 1, 2, 5, 6, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label_duration), 0, 0.5); label6 = gtk_label_new (QT_TR_NOOP("Codec 4CC:")); gtk_widget_show (label6); gtk_table_attach (GTK_TABLE (table1), label6, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label6), 0, 0.5); label_videofourcc = gtk_label_new (""); gtk_widget_show (label_videofourcc); gtk_table_attach (GTK_TABLE (table1), label_videofourcc, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label_videofourcc), 0, 0.5); label35 = gtk_label_new (QT_TR_NOOP("Aspect Ratio:")); gtk_widget_show (label35); gtk_table_attach (GTK_TABLE (table1), label35, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label35), 0, 0.5); labelAspectRatio = gtk_label_new (""); gtk_widget_show (labelAspectRatio); gtk_table_attach (GTK_TABLE (table1), labelAspectRatio, 1, 2, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (labelAspectRatio), 0, 0.5); label1 = gtk_label_new (QT_TR_NOOP("<b>Video</b>")); gtk_widget_show (label1); gtk_frame_set_label_widget (GTK_FRAME (frame1), label1); gtk_label_set_use_markup (GTK_LABEL (label1), TRUE); frame3 = gtk_frame_new (NULL); gtk_widget_show (frame3); gtk_box_pack_start (GTK_BOX (vbox1), frame3, TRUE, TRUE, 2); alignment5 = gtk_alignment_new (0.5, 0.5, 1, 1); gtk_widget_show (alignment5); gtk_container_add (GTK_CONTAINER (frame3), alignment5); gtk_alignment_set_padding (GTK_ALIGNMENT (alignment5), 3, 6, 12, 12); table3 = gtk_table_new (3, 2, FALSE); gtk_widget_show (table3); gtk_container_add (GTK_CONTAINER (alignment5), table3); gtk_table_set_col_spacings (GTK_TABLE (table3), 12); labelGMCCap = gtk_label_new (QT_TR_NOOP("Global Motion Compensation:")); gtk_widget_show (labelGMCCap); gtk_table_attach (GTK_TABLE (table3), labelGMCCap, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (labelGMCCap), 0, 0.5); labelGMC = gtk_label_new (""); gtk_widget_show (labelGMC); gtk_table_attach (GTK_TABLE (table3), labelGMC, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (labelGMC), 0, 0.5); labelPackedBitstreamCap = gtk_label_new (QT_TR_NOOP("Packed Bitstream:")); gtk_widget_show (labelPackedBitstreamCap); gtk_table_attach (GTK_TABLE (table3), labelPackedBitstreamCap, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (labelPackedBitstreamCap), 0, 0.5); labelPacked = gtk_label_new (""); gtk_widget_show (labelPacked); gtk_table_attach (GTK_TABLE (table3), labelPacked, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (labelPacked), 0, 0.5); labelQPelCap = gtk_label_new (QT_TR_NOOP("Quarter Pixel:")); gtk_widget_show (labelQPelCap); gtk_table_attach (GTK_TABLE (table3), labelQPelCap, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (labelQPelCap), 0, 0.5); labelQP = gtk_label_new (""); gtk_widget_show (labelQP); gtk_table_attach (GTK_TABLE (table3), labelQP, 1, 2, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (labelQP), 0, 0.5); label41 = gtk_label_new (QT_TR_NOOP("<b>Extra Video Properties</b>")); gtk_widget_show (label41); gtk_frame_set_label_widget (GTK_FRAME (frame3), label41); gtk_label_set_use_markup (GTK_LABEL (label41), TRUE); frame2 = gtk_frame_new (NULL); gtk_widget_show (frame2); gtk_box_pack_start (GTK_BOX (vbox1), frame2, TRUE, TRUE, 0); alignment3 = gtk_alignment_new (0.5, 0.5, 1, 1); gtk_widget_show (alignment3); gtk_container_add (GTK_CONTAINER (frame2), alignment3); gtk_alignment_set_padding (GTK_ALIGNMENT (alignment3), 3, 6, 12, 12); table2 = gtk_table_new (7, 2, FALSE); gtk_widget_show (table2); gtk_container_add (GTK_CONTAINER (alignment3), table2); gtk_table_set_col_spacings (GTK_TABLE (table2), 12); label13 = gtk_label_new (QT_TR_NOOP("Codec:")); gtk_widget_show (label13); gtk_table_attach (GTK_TABLE (table2), label13, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label13), 0, 0.5); label14 = gtk_label_new (QT_TR_NOOP("Channels:")); gtk_widget_show (label14); gtk_table_attach (GTK_TABLE (table2), label14, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label14), 0, 0.5); label15 = gtk_label_new (QT_TR_NOOP("Bitrate:")); gtk_widget_show (label15); gtk_table_attach (GTK_TABLE (table2), label15, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label15), 0, 0.5); label16 = gtk_label_new (QT_TR_NOOP("Frequency:")); gtk_widget_show (label16); gtk_table_attach (GTK_TABLE (table2), label16, 0, 1, 4, 5, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label16), 0, 0.5); label17 = gtk_label_new (QT_TR_NOOP("Total Duration:")); gtk_widget_show (label17); gtk_table_attach (GTK_TABLE (table2), label17, 0, 1, 5, 6, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label17), 0, 0.5); label1_audiofourcc = gtk_label_new (""); gtk_widget_show (label1_audiofourcc); gtk_table_attach (GTK_TABLE (table2), label1_audiofourcc, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label1_audiofourcc), 0, 0.5); label1_audiomode = gtk_label_new (""); gtk_widget_show (label1_audiomode); gtk_table_attach (GTK_TABLE (table2), label1_audiomode, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_EXPAND), 0, 0); gtk_misc_set_alignment (GTK_MISC (label1_audiomode), 0, 0.5); label_bitrate = gtk_label_new (""); gtk_widget_show (label_bitrate); gtk_table_attach (GTK_TABLE (table2), label_bitrate, 1, 2, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label_bitrate), 0, 0.5); label_fq = gtk_label_new (""); gtk_widget_show (label_fq); gtk_table_attach (GTK_TABLE (table2), label_fq, 1, 2, 4, 5, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label_fq), 0, 0.5); label_audioduration = gtk_label_new (""); gtk_widget_show (label_audioduration); gtk_table_attach (GTK_TABLE (table2), label_audioduration, 1, 2, 5, 6, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label_audioduration), 0, 0.5); label40 = gtk_label_new (QT_TR_NOOP("File Size:")); gtk_widget_show (label40); gtk_table_attach (GTK_TABLE (table2), label40, 0, 1, 6, 7, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label40), 0, 0.5); labelFileSize = gtk_label_new (""); gtk_widget_show (labelFileSize); gtk_table_attach (GTK_TABLE (table2), labelFileSize, 1, 2, 6, 7, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (labelFileSize), 0, 0.5); label21 = gtk_label_new (QT_TR_NOOP("Variable Bitrate:")); gtk_widget_show (label21); gtk_table_attach (GTK_TABLE (table2), label21, 0, 1, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label21), 0, 0.5); labelVbr = gtk_label_new (""); gtk_widget_show (labelVbr); gtk_table_attach (GTK_TABLE (table2), labelVbr, 1, 2, 3, 4, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (labelVbr), 0, 0.5); label2 = gtk_label_new (QT_TR_NOOP("<b>Audio</b>")); gtk_widget_show (label2); gtk_frame_set_label_widget (GTK_FRAME (frame2), label2); gtk_label_set_use_markup (GTK_LABEL (label2), TRUE); dialog_action_area1 = GTK_DIALOG (dialog1)->action_area; gtk_widget_show (dialog_action_area1); gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END); okbutton1 = gtk_button_new_from_stock ("gtk-ok"); gtk_widget_show (okbutton1); gtk_dialog_add_action_widget (GTK_DIALOG (dialog1), okbutton1, GTK_RESPONSE_OK); GTK_WIDGET_SET_FLAGS (okbutton1, GTK_CAN_DEFAULT); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (dialog1, dialog1, "dialog1"); GLADE_HOOKUP_OBJECT_NO_REF (dialog1, dialog_vbox1, "dialog_vbox1"); GLADE_HOOKUP_OBJECT (dialog1, alignment4, "alignment4"); GLADE_HOOKUP_OBJECT (dialog1, vbox1, "vbox1"); GLADE_HOOKUP_OBJECT (dialog1, frame1, "frame1"); GLADE_HOOKUP_OBJECT (dialog1, alignment2, "alignment2"); GLADE_HOOKUP_OBJECT (dialog1, table1, "table1"); GLADE_HOOKUP_OBJECT (dialog1, label4, "label4"); GLADE_HOOKUP_OBJECT (dialog1, label5, "label5"); GLADE_HOOKUP_OBJECT (dialog1, label7, "label7"); GLADE_HOOKUP_OBJECT (dialog1, label_fps, "label_fps"); GLADE_HOOKUP_OBJECT (dialog1, label_size, "label_size"); GLADE_HOOKUP_OBJECT (dialog1, label3, "label3"); GLADE_HOOKUP_OBJECT (dialog1, label_number, "label_number"); GLADE_HOOKUP_OBJECT (dialog1, label_duration, "label_duration"); GLADE_HOOKUP_OBJECT (dialog1, label6, "label6"); GLADE_HOOKUP_OBJECT (dialog1, label_videofourcc, "label_videofourcc"); GLADE_HOOKUP_OBJECT (dialog1, label35, "label35"); GLADE_HOOKUP_OBJECT (dialog1, labelAspectRatio, "labelAspectRatio"); GLADE_HOOKUP_OBJECT (dialog1, label1, "label1"); GLADE_HOOKUP_OBJECT (dialog1, frame3, "frame3"); GLADE_HOOKUP_OBJECT (dialog1, alignment5, "alignment5"); GLADE_HOOKUP_OBJECT (dialog1, table3, "table3"); GLADE_HOOKUP_OBJECT (dialog1, labelGMCCap, "labelGMCCap"); GLADE_HOOKUP_OBJECT (dialog1, labelGMC, "labelGMC"); GLADE_HOOKUP_OBJECT (dialog1, labelPackedBitstreamCap, "labelPackedBitstreamCap"); GLADE_HOOKUP_OBJECT (dialog1, labelPacked, "labelPacked"); GLADE_HOOKUP_OBJECT (dialog1, labelQPelCap, "labelQPelCap"); GLADE_HOOKUP_OBJECT (dialog1, labelQP, "labelQP"); GLADE_HOOKUP_OBJECT (dialog1, label41, "label41"); GLADE_HOOKUP_OBJECT (dialog1, frame2, "frame2"); GLADE_HOOKUP_OBJECT (dialog1, alignment3, "alignment3"); GLADE_HOOKUP_OBJECT (dialog1, table2, "table2"); GLADE_HOOKUP_OBJECT (dialog1, label13, "label13"); GLADE_HOOKUP_OBJECT (dialog1, label14, "label14"); GLADE_HOOKUP_OBJECT (dialog1, label15, "label15"); GLADE_HOOKUP_OBJECT (dialog1, label16, "label16"); GLADE_HOOKUP_OBJECT (dialog1, label17, "label17"); GLADE_HOOKUP_OBJECT (dialog1, label1_audiofourcc, "label1_audiofourcc"); GLADE_HOOKUP_OBJECT (dialog1, label1_audiomode, "label1_audiomode"); GLADE_HOOKUP_OBJECT (dialog1, label_bitrate, "label_bitrate"); GLADE_HOOKUP_OBJECT (dialog1, label_fq, "label_fq"); GLADE_HOOKUP_OBJECT (dialog1, label_audioduration, "label_audioduration"); GLADE_HOOKUP_OBJECT (dialog1, label40, "label40"); GLADE_HOOKUP_OBJECT (dialog1, labelFileSize, "labelFileSize"); GLADE_HOOKUP_OBJECT (dialog1, label21, "label21"); GLADE_HOOKUP_OBJECT (dialog1, labelVbr, "labelVbr"); GLADE_HOOKUP_OBJECT (dialog1, label2, "label2"); GLADE_HOOKUP_OBJECT_NO_REF (dialog1, dialog_action_area1, "dialog_action_area1"); GLADE_HOOKUP_OBJECT (dialog1, okbutton1, "okbutton1"); gtk_widget_grab_focus (okbutton1); gtk_widget_grab_default (okbutton1); return dialog1; }
static void script_fu_console_interface (void) { GtkWidget *dlg; GtkWidget *button; GtkWidget *label; GtkWidget *vsb; GtkWidget *table; GtkWidget *hbox; GIOChannel *input_channel; INIT_I18N_UI(); textdomain("cinepaint-script-fu"); gimp_ui_init ("script-fu", FALSE); dlg = gtk_dialog_new (); gtk_window_set_title (GTK_WINDOW (dlg), _("Script-Fu Console")); gimp_help_connect_help_accel (dlg, gimp_standard_help_func, "filters/script-fu.html"); gtk_signal_connect (GTK_OBJECT (dlg), "destroy", (GtkSignalFunc) script_fu_close_callback, NULL); gtk_signal_connect (GTK_OBJECT (dlg), "destroy", GTK_SIGNAL_FUNC (gtk_widget_destroyed), &dlg); gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (dlg)->vbox), 2); gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (dlg)->action_area), 0); /* Action area */ button = gtk_button_new_with_label (_("Close")); gtk_signal_connect_object (GTK_OBJECT (button), "clicked", (GtkSignalFunc) gtk_widget_destroy, (gpointer)dlg); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dlg)->action_area), button, TRUE, TRUE, 0); gtk_widget_show (button); /* The info vbox */ label = gtk_label_new (_("SIOD Output")); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dlg)->vbox), label, FALSE, TRUE, 0); gtk_widget_show (label); /* The output text widget */ cint.vadj = GTK_ADJUSTMENT (gtk_adjustment_new (0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); vsb = gtk_vscrollbar_new (cint.vadj); cint.console = gtk_text_new (NULL, cint.vadj); gtk_text_set_editable (GTK_TEXT (cint.console), FALSE); gtk_widget_set_usize (cint.console, TEXT_WIDTH, TEXT_HEIGHT); table = gtk_table_new (1, 2, FALSE); gtk_table_set_col_spacing (GTK_TABLE (table), 0, 2); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dlg)->vbox), table, TRUE, TRUE, 0); gtk_table_attach (GTK_TABLE (table), vsb, 1, 2, 0, 1, 0, GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0); gtk_table_attach (GTK_TABLE (table), cint.console, 0, 1, 0, 1, GTK_EXPAND | GTK_SHRINK | GTK_FILL, GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0); gtk_container_set_border_width (GTK_CONTAINER (table), 2); cint.font_strong = gdk_font_load ("-*-helvetica-bold-r-normal-*-*-120-*-*-*-*-*-*"); cint.font_emphasis = gdk_font_load ("-*-helvetica-medium-o-normal-*-*-100-*-*-*-*-*-*"); cint.font_weak = gdk_font_load ("-*-helvetica-medium-r-normal-*-*-100-*-*-*-*-*-*"); cint.font = gdk_fontset_load ("-*-*-medium-r-normal-*-*-100-*-*-c-*-iso8859-1,*"); /* Realize the widget before allowing new text to be inserted */ gtk_widget_realize (cint.console); gtk_text_insert (GTK_TEXT (cint.console), cint.font_strong, NULL, NULL, "The GIMP - GNU Image Manipulation Program\n\n", -1); gtk_text_insert (GTK_TEXT (cint.console), cint.font_emphasis, NULL, NULL, "Copyright (C) 1995-2001\n", -1); gtk_text_insert (GTK_TEXT (cint.console), cint.font_emphasis, NULL, NULL, "Spencer Kimball, Peter Mattis and the GIMP Development Team\n", -1); gtk_text_insert (GTK_TEXT (cint.console), cint.font_weak, NULL, NULL, "\n", -1); gtk_text_insert (GTK_TEXT (cint.console), cint.font_weak, NULL, NULL, "This program is free software; you can redistribute it and/or modify\n", -1); gtk_text_insert (GTK_TEXT (cint.console), cint.font_weak, NULL, NULL, "it under the terms of the GNU General Public License as published by\n", -1); gtk_text_insert (GTK_TEXT (cint.console), cint.font_weak, NULL, NULL, "the Free Software Foundation; either version 2 of the License, or\n", -1); gtk_text_insert (GTK_TEXT (cint.console), cint.font_weak, NULL, NULL, "(at your option) any later version.\n", -1); gtk_text_insert (GTK_TEXT (cint.console), cint.font_weak, NULL, NULL, "\n", -1); gtk_text_insert (GTK_TEXT (cint.console), cint.font_weak, NULL, NULL, "This program is distributed in the hope that it will be useful,\n", -1); gtk_text_insert (GTK_TEXT (cint.console), cint.font_weak, NULL, NULL, "but WITHOUT ANY WARRANTY; without even the implied warranty of\n", -1); gtk_text_insert (GTK_TEXT (cint.console), cint.font_weak, NULL, NULL, "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n", -1); gtk_text_insert (GTK_TEXT (cint.console), cint.font_weak, NULL, NULL, "See the GNU General Public License for more details.\n", -1); gtk_text_insert (GTK_TEXT (cint.console), cint.font_weak, NULL, NULL, "\n", -1); gtk_text_insert (GTK_TEXT (cint.console), cint.font_weak, NULL, NULL, "You should have received a copy of the GNU General Public License\n", -1); gtk_text_insert (GTK_TEXT (cint.console), cint.font_weak, NULL, NULL, "along with this program; if not, write to the Free Software\n", -1); gtk_text_insert (GTK_TEXT (cint.console), cint.font_weak, NULL, NULL, "Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n\n", -1); gtk_text_insert (GTK_TEXT (cint.console), cint.font_strong, NULL, NULL, "Welcome to SIOD, Scheme In One Defun\n", -1); gtk_text_insert (GTK_TEXT (cint.console), cint.font_weak, NULL, NULL, "(C) Copyright 1988-1994 Paradigm Associates Inc.\n", -1); gtk_text_insert (GTK_TEXT (cint.console), cint.font_weak, NULL, NULL, "\n\n", -1); gtk_text_insert (GTK_TEXT (cint.console), cint.font_strong, NULL, NULL, "Script-Fu Console - ", -1); gtk_text_insert (GTK_TEXT (cint.console), cint.font_emphasis, NULL, NULL, "Interactive Scheme Development\n\n", -1); gtk_widget_show (vsb); gtk_widget_show (cint.console); gtk_widget_show (table); /* The current command */ label = gtk_label_new (_("Current Command")); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dlg)->vbox), label, FALSE, TRUE, 0); gtk_widget_show (label); hbox = gtk_hbox_new ( FALSE, 0 ); gtk_widget_set_usize (hbox, ENTRY_WIDTH, 0); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dlg)->vbox), hbox, FALSE, TRUE, 0); gtk_widget_show (hbox); cint.cc = gtk_entry_new (); gtk_box_pack_start (GTK_BOX (hbox), cint.cc, TRUE, TRUE, 0); /* gtk_widget_set_usize (cint.cc, (ENTRY_WIDTH*5)/6, 0); */ GTK_WIDGET_SET_FLAGS (cint.cc, GTK_CAN_DEFAULT); gtk_widget_grab_default (cint.cc); gtk_signal_connect (GTK_OBJECT (cint.cc), "key_press_event", (GtkSignalFunc) script_fu_cc_key_function, NULL); button = gtk_button_new_with_label (_("Browse...")); /* gtk_widget_set_usize (button, (ENTRY_WIDTH)/6, 0); */ gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, TRUE, 0); gtk_signal_connect (GTK_OBJECT (button), "clicked", (GtkSignalFunc) script_fu_browse_callback, NULL); gtk_widget_show (button); gtk_widget_show (cint.cc); input_channel = g_io_channel_unix_new (siod_output_pipe[0]); cint.input_id = g_io_add_watch (input_channel, G_IO_IN, script_fu_siod_read, NULL); /* Initialize the history */ history = g_list_append (history, NULL); history_len = 1; gtk_widget_show (dlg); gtk_main (); g_source_remove (cint.input_id); if (dlg) gtk_widget_destroy (dlg); gdk_flush (); }
GtkWidget* create_shellexec_conf_edit_dialog (void) { GtkWidget *shellexec_conf_edit_dialog; GtkWidget *dialog_vbox1; GtkWidget *table1; GtkWidget *title_label; GtkWidget *cmd_label; GtkWidget *cmd_entry; GtkWidget *name_label; GtkWidget *title_entry; GtkWidget *name_entry; GtkWidget *single_check; GtkWidget *multiple_check; GtkWidget *local_check; GtkWidget *remote_check; GtkWidget *playlist_check; GtkWidget *common_check; GtkWidget *dialog_action_area1; GtkWidget *edit_cancel_button; GtkWidget *edit_ok_button; shellexec_conf_edit_dialog = gtk_dialog_new (); gtk_container_set_border_width (GTK_CONTAINER (shellexec_conf_edit_dialog), 12); gtk_window_set_title (GTK_WINDOW (shellexec_conf_edit_dialog), _("Edit Command")); gtk_window_set_modal (GTK_WINDOW (shellexec_conf_edit_dialog), TRUE); gtk_window_set_type_hint (GTK_WINDOW (shellexec_conf_edit_dialog), GDK_WINDOW_TYPE_HINT_DIALOG); gtk_dialog_set_has_separator (GTK_DIALOG (shellexec_conf_edit_dialog), FALSE); dialog_vbox1 = gtk_dialog_get_content_area (GTK_DIALOG (shellexec_conf_edit_dialog)); gtk_widget_show (dialog_vbox1); table1 = gtk_table_new (3, 2, FALSE); gtk_widget_show (table1); gtk_box_pack_start (GTK_BOX (dialog_vbox1), table1, FALSE, TRUE, 0); gtk_table_set_row_spacings (GTK_TABLE (table1), 8); gtk_table_set_col_spacings (GTK_TABLE (table1), 8); title_label = gtk_label_new (_("Title:")); gtk_widget_show (title_label); gtk_table_attach (GTK_TABLE (table1), title_label, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (title_label), 0, 0.5); cmd_label = gtk_label_new (_("Command:")); gtk_widget_show (cmd_label); gtk_table_attach (GTK_TABLE (table1), cmd_label, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (cmd_label), 0, 0.5); cmd_entry = gtk_entry_new (); gtk_widget_show (cmd_entry); gtk_table_attach (GTK_TABLE (table1), cmd_entry, 1, 2, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_tooltip_text (cmd_entry, _("Arbitrary shell command. Will be executed in the shell context which the main application was started from. Title formatting can be used. Example: xdg-open %D")); gtk_entry_set_invisible_char (GTK_ENTRY (cmd_entry), 8226); name_label = gtk_label_new (_("ID:")); gtk_widget_show (name_label); gtk_table_attach (GTK_TABLE (table1), name_label, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (name_label), 0, 0.5); title_entry = gtk_entry_new (); gtk_widget_show (title_entry); gtk_table_attach (GTK_TABLE (table1), title_entry, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_tooltip_text (title_entry, _("Free-form name, for example \"My Shell Command\"")); gtk_entry_set_invisible_char (GTK_ENTRY (title_entry), 8226); name_entry = gtk_entry_new (); gtk_widget_show (name_entry); gtk_table_attach (GTK_TABLE (table1), name_entry, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_widget_set_tooltip_text (name_entry, _("Command ID, normally it should be something short, for example \"youtube_open\". It must be unique.")); gtk_entry_set_invisible_char (GTK_ENTRY (name_entry), 8226); single_check = gtk_check_button_new_with_mnemonic (_("Single Tracks")); gtk_widget_show (single_check); gtk_box_pack_start (GTK_BOX (dialog_vbox1), single_check, FALSE, FALSE, 0); gtk_widget_set_tooltip_text (single_check, _("Works on single track.")); multiple_check = gtk_check_button_new_with_mnemonic (_("Multiple Tracks")); gtk_widget_show (multiple_check); gtk_box_pack_start (GTK_BOX (dialog_vbox1), multiple_check, FALSE, FALSE, 0); gtk_widget_set_tooltip_text (multiple_check, _("Works on multiple tracks.")); local_check = gtk_check_button_new_with_mnemonic (_("Local")); gtk_widget_show (local_check); gtk_box_pack_start (GTK_BOX (dialog_vbox1), local_check, FALSE, FALSE, 0); gtk_widget_set_tooltip_text (local_check, _("Works on local files.")); remote_check = gtk_check_button_new_with_mnemonic (_("Remote")); gtk_widget_show (remote_check); gtk_box_pack_start (GTK_BOX (dialog_vbox1), remote_check, FALSE, FALSE, 0); gtk_widget_set_tooltip_text (remote_check, _("Works on remote files (e.g. http:// streams)")); playlist_check = gtk_check_button_new_with_mnemonic (_("Playlist")); gtk_widget_show (playlist_check); gtk_box_pack_start (GTK_BOX (dialog_vbox1), playlist_check, FALSE, FALSE, 0); gtk_widget_set_tooltip_text (playlist_check, _("Item should appear on the playlist tab context menu")); common_check = gtk_check_button_new_with_mnemonic (_("Common")); gtk_widget_show (common_check); gtk_box_pack_start (GTK_BOX (dialog_vbox1), common_check, FALSE, FALSE, 0); gtk_widget_set_tooltip_text (common_check, _("Item should appear in the main menu")); dialog_action_area1 = gtk_dialog_get_action_area (GTK_DIALOG (shellexec_conf_edit_dialog)); gtk_widget_show (dialog_action_area1); gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END); edit_cancel_button = gtk_button_new_from_stock ("gtk-cancel"); gtk_widget_show (edit_cancel_button); gtk_dialog_add_action_widget (GTK_DIALOG (shellexec_conf_edit_dialog), edit_cancel_button, GTK_RESPONSE_CANCEL); gtk_widget_set_can_default(edit_cancel_button, TRUE); edit_ok_button = gtk_button_new_from_stock ("gtk-ok"); gtk_widget_show (edit_ok_button); gtk_dialog_add_action_widget (GTK_DIALOG (shellexec_conf_edit_dialog), edit_ok_button, GTK_RESPONSE_OK); gtk_widget_set_can_default(edit_ok_button, TRUE); g_signal_connect ((gpointer) edit_cancel_button, "clicked", G_CALLBACK (on_edit_cancel_button_clicked), NULL); g_signal_connect ((gpointer) edit_ok_button, "clicked", G_CALLBACK (on_edit_ok_button_clicked), NULL); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (shellexec_conf_edit_dialog, shellexec_conf_edit_dialog, "shellexec_conf_edit_dialog"); GLADE_HOOKUP_OBJECT_NO_REF (shellexec_conf_edit_dialog, dialog_vbox1, "dialog_vbox1"); GLADE_HOOKUP_OBJECT (shellexec_conf_edit_dialog, table1, "table1"); GLADE_HOOKUP_OBJECT (shellexec_conf_edit_dialog, title_label, "title_label"); GLADE_HOOKUP_OBJECT (shellexec_conf_edit_dialog, cmd_label, "cmd_label"); GLADE_HOOKUP_OBJECT (shellexec_conf_edit_dialog, cmd_entry, "cmd_entry"); GLADE_HOOKUP_OBJECT (shellexec_conf_edit_dialog, name_label, "name_label"); GLADE_HOOKUP_OBJECT (shellexec_conf_edit_dialog, title_entry, "title_entry"); GLADE_HOOKUP_OBJECT (shellexec_conf_edit_dialog, name_entry, "name_entry"); GLADE_HOOKUP_OBJECT (shellexec_conf_edit_dialog, single_check, "single_check"); GLADE_HOOKUP_OBJECT (shellexec_conf_edit_dialog, multiple_check, "multiple_check"); GLADE_HOOKUP_OBJECT (shellexec_conf_edit_dialog, local_check, "local_check"); GLADE_HOOKUP_OBJECT (shellexec_conf_edit_dialog, remote_check, "remote_check"); GLADE_HOOKUP_OBJECT (shellexec_conf_edit_dialog, playlist_check, "playlist_check"); GLADE_HOOKUP_OBJECT (shellexec_conf_edit_dialog, common_check, "common_check"); GLADE_HOOKUP_OBJECT_NO_REF (shellexec_conf_edit_dialog, dialog_action_area1, "dialog_action_area1"); GLADE_HOOKUP_OBJECT (shellexec_conf_edit_dialog, edit_cancel_button, "edit_cancel_button"); GLADE_HOOKUP_OBJECT (shellexec_conf_edit_dialog, edit_ok_button, "edit_ok_button"); return shellexec_conf_edit_dialog; }
static GtkWidget * create_Configure(void) { GtkWidget *Configure; GtkWidget *dialog_vbox1; GtkWidget *vbox1; GtkWidget *cbIntern; GtkWidget *comboboxType; GtkWidget *table1; GtkWidget *label3; GtkWidget *label4; GtkWidget *entryCommand0; GtkWidget *entryCommand1; GtkWidget *label2; GtkWidget *dialog_action_area1; GtkWidget *cancelbutton1; GtkWidget *okbutton1; Configure = gtk_dialog_new(); gtk_window_set_title(GTK_WINDOW(Configure), _("Doc")); gtk_window_set_type_hint(GTK_WINDOW(Configure), GDK_WINDOW_TYPE_HINT_DIALOG); dialog_vbox1 = GTK_DIALOG(Configure)->vbox; gtk_widget_show(dialog_vbox1); vbox1 = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox1); gtk_box_pack_start(GTK_BOX(dialog_vbox1), vbox1, TRUE, TRUE, 0); cbIntern = gtk_check_button_new_with_mnemonic(_("Put output in buffer")); gtk_widget_show(cbIntern); gtk_box_pack_start(GTK_BOX(vbox1), cbIntern, FALSE, FALSE, 0); comboboxType = gtk_combo_box_new_text(); gtk_widget_show(comboboxType); gtk_box_pack_start(GTK_BOX(vbox1), comboboxType, FALSE, FALSE, 0); table1 = gtk_table_new(2, 2, FALSE); gtk_widget_show(table1); gtk_box_pack_start(GTK_BOX(vbox1), table1, TRUE, TRUE, 0); label3 = gtk_label_new(_("Command 0:")); gtk_widget_show(label3); gtk_table_attach(GTK_TABLE(table1), label3, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment(GTK_MISC(label3), 0, 0.5); label4 = gtk_label_new(_("Command 1:")); gtk_widget_show(label4); gtk_table_attach(GTK_TABLE(table1), label4, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment(GTK_MISC(label4), 0, 0.5); entryCommand0 = gtk_entry_new(); gtk_widget_show(entryCommand0); gtk_table_attach(GTK_TABLE(table1), entryCommand0, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_invisible_char(GTK_ENTRY(entryCommand0), 8226); entryCommand1 = gtk_entry_new(); gtk_widget_show(entryCommand1); gtk_table_attach(GTK_TABLE(table1), entryCommand1, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_invisible_char(GTK_ENTRY(entryCommand1), 8226); label2 = gtk_label_new(_("%w will be replaced with current word\n")); gtk_widget_show(label2); gtk_box_pack_start(GTK_BOX(dialog_vbox1), label2, FALSE, FALSE, 0); dialog_action_area1 = GTK_DIALOG(Configure)->action_area; gtk_widget_show(dialog_action_area1); gtk_button_box_set_layout(GTK_BUTTON_BOX(dialog_action_area1), GTK_BUTTONBOX_END); cancelbutton1 = gtk_button_new_from_stock("gtk-cancel"); gtk_widget_show(cancelbutton1); gtk_dialog_add_action_widget(GTK_DIALOG(Configure), cancelbutton1, GTK_RESPONSE_CANCEL); GTK_WIDGET_SET_FLAGS(cancelbutton1, GTK_CAN_DEFAULT); okbutton1 = gtk_button_new_from_stock("gtk-ok"); gtk_widget_show(okbutton1); gtk_dialog_add_action_widget(GTK_DIALOG(Configure), okbutton1, GTK_RESPONSE_OK); GTK_WIDGET_SET_FLAGS(okbutton1, GTK_CAN_DEFAULT); g_signal_connect_after((gpointer) comboboxType, "changed", G_CALLBACK(on_comboboxType_changed), NULL); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF(Configure, Configure, "Configure"); GLADE_HOOKUP_OBJECT_NO_REF(Configure, dialog_vbox1, "dialog_vbox1"); GLADE_HOOKUP_OBJECT(Configure, vbox1, "vbox1"); GLADE_HOOKUP_OBJECT(Configure, cbIntern, "cbIntern"); GLADE_HOOKUP_OBJECT(Configure, comboboxType, "comboboxType"); GLADE_HOOKUP_OBJECT(Configure, table1, "table1"); GLADE_HOOKUP_OBJECT(Configure, label3, "label3"); GLADE_HOOKUP_OBJECT(Configure, label4, "label4"); GLADE_HOOKUP_OBJECT(Configure, entryCommand0, "entryCommand0"); GLADE_HOOKUP_OBJECT(Configure, entryCommand1, "entryCommand1"); GLADE_HOOKUP_OBJECT(Configure, label2, "label2"); GLADE_HOOKUP_OBJECT_NO_REF(Configure, dialog_action_area1, "dialog_action_area1"); GLADE_HOOKUP_OBJECT(Configure, cancelbutton1, "cancelbutton1"); GLADE_HOOKUP_OBJECT(Configure, okbutton1, "okbutton1"); return Configure; }
static void nautilus_file_conflict_dialog_init (NautilusFileConflictDialog *fcd) { GtkWidget *hbox, *vbox, *vbox2, *alignment; GtkWidget *widget, *dialog_area; NautilusFileConflictDialogDetails *details; GtkDialog *dialog; details = fcd->details = NAUTILUS_FILE_CONFLICT_DIALOG_GET_PRIVATE (fcd); dialog = GTK_DIALOG (fcd); /* Setup the main hbox */ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); dialog_area = gtk_dialog_get_content_area (dialog); gtk_box_pack_start (GTK_BOX (dialog_area), hbox, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 6); /* Setup the dialog image */ widget = gtk_image_new_from_stock (GTK_STOCK_DIALOG_WARNING, GTK_ICON_SIZE_DIALOG); gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); gtk_misc_set_alignment (GTK_MISC (widget), 0.5, 0.0); /* Setup the vbox containing the dialog body */ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12); gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0); /* Setup the vbox for the dialog labels */ widget = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12); gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); details->titles_vbox = widget; /* Setup the hboxes to pack file infos into */ alignment = gtk_alignment_new (0.0, 0.0, 0.0, 0.0); g_object_set (alignment, "left-padding", 12, NULL); vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12); gtk_container_add (GTK_CONTAINER (alignment), vbox2); gtk_box_pack_start (GTK_BOX (vbox), alignment, FALSE, FALSE, 0); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); gtk_box_pack_start (GTK_BOX (vbox2), hbox, FALSE, FALSE, 0); details->first_hbox = hbox; hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); gtk_box_pack_start (GTK_BOX (vbox2), hbox, FALSE, FALSE, 0); details->second_hbox = hbox; /* Setup the expander for the rename action */ details->expander = gtk_expander_new_with_mnemonic (_("_Select a new name for the destination")); gtk_box_pack_start (GTK_BOX (vbox2), details->expander, FALSE, FALSE, 0); g_signal_connect (details->expander, "activate", G_CALLBACK (expander_activated_cb), dialog); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); gtk_container_add (GTK_CONTAINER (details->expander), hbox); widget = gtk_entry_new (); gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 6); details->entry = widget; g_signal_connect (widget, "changed", G_CALLBACK (entry_text_changed_cb), dialog); widget = gtk_button_new_with_label (_("Reset")); gtk_button_set_image (GTK_BUTTON (widget), gtk_image_new_from_stock (GTK_STOCK_UNDO, GTK_ICON_SIZE_MENU)); gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 6); g_signal_connect (widget, "clicked", G_CALLBACK (reset_button_clicked_cb), dialog); gtk_widget_show_all (alignment); /* Setup the checkbox to apply the action to all files */ widget = gtk_check_button_new_with_mnemonic (_("Apply this action to all files")); gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); details->checkbox = widget; g_signal_connect (widget, "toggled", G_CALLBACK (checkbox_toggled_cb), dialog); /* Add buttons */ gtk_dialog_add_buttons (dialog, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, _("_Skip"), CONFLICT_RESPONSE_SKIP, NULL); details->rename_button = gtk_dialog_add_button (dialog, _("Re_name"), CONFLICT_RESPONSE_RENAME); gtk_widget_hide (details->rename_button); details->replace_button = gtk_dialog_add_button (dialog, _("Replace"), CONFLICT_RESPONSE_REPLACE); gtk_widget_grab_focus (details->replace_button); /* Setup HIG properties */ gtk_container_set_border_width (GTK_CONTAINER (dialog), 5); gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (dialog)), 14); gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE); gtk_widget_show_all (dialog_area); }
static void file_list_ready_cb (GList *files, gpointer user_data) { NautilusFileConflictDialog *fcd = user_data; NautilusFile *src, *dest, *dest_dir; time_t src_mtime, dest_mtime; gboolean source_is_dir, dest_is_dir, should_show_type; NautilusFileConflictDialogDetails *details; char *primary_text, *message, *secondary_text; const gchar *message_extra; char *dest_name, *dest_dir_name, *edit_name; char *label_text; char *size, *date, *type = NULL; GdkPixbuf *pixbuf; GtkWidget *label; GString *str; PangoAttrList *attr_list; details = fcd->details; details->handle = NULL; dest_dir = g_list_nth_data (files, 0); dest = g_list_nth_data (files, 1); src = g_list_nth_data (files, 2); src_mtime = nautilus_file_get_mtime (src); dest_mtime = nautilus_file_get_mtime (dest); dest_name = nautilus_file_get_display_name (dest); dest_dir_name = nautilus_file_get_display_name (dest_dir); source_is_dir = nautilus_file_is_directory (src); dest_is_dir = nautilus_file_is_directory (dest); type = nautilus_file_get_mime_type (dest); should_show_type = !nautilus_file_is_mime_type (src, type); g_free (type); type = NULL; /* Set up the right labels */ if (dest_is_dir) { if (source_is_dir) { primary_text = g_strdup_printf (_("Merge folder \"%s\"?"), dest_name); message_extra = _("Merging will ask for confirmation before replacing any files in " "the folder that conflict with the files being copied."); if (src_mtime > dest_mtime) { message = g_strdup_printf ( _("An older folder with the same name already exists in \"%s\"."), dest_dir_name); } else if (src_mtime < dest_mtime) { message = g_strdup_printf ( _("A newer folder with the same name already exists in \"%s\"."), dest_dir_name); } else { message = g_strdup_printf ( _("Another folder with the same name already exists in \"%s\"."), dest_dir_name); } } else { message_extra = _("Replacing it will remove all files in the folder."); primary_text = g_strdup_printf (_("Replace folder \"%s\"?"), dest_name); message = g_strdup_printf (_("A folder with the same name already exists in \"%s\"."), dest_dir_name); } } else { primary_text = g_strdup_printf (_("Replace file \"%s\"?"), dest_name); message_extra = _("Replacing it will overwrite its content."); if (src_mtime > dest_mtime) { message = g_strdup_printf ( _("An older file with the same name already exists in \"%s\"."), dest_dir_name); } else if (src_mtime < dest_mtime) { message = g_strdup_printf ( _("A newer file with the same name already exists in \"%s\"."), dest_dir_name); } else { message = g_strdup_printf ( _("Another file with the same name already exists in \"%s\"."), dest_dir_name); } } secondary_text = g_strdup_printf ("%s\n%s", message, message_extra); g_free (message); label = gtk_label_new (primary_text); gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); gtk_label_set_line_wrap_mode (GTK_LABEL (label), PANGO_WRAP_WORD_CHAR); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_box_pack_start (GTK_BOX (details->titles_vbox), label, FALSE, FALSE, 0); gtk_widget_show (label); attr_list = pango_attr_list_new (); pango_attr_list_insert (attr_list, pango_attr_weight_new (PANGO_WEIGHT_BOLD)); pango_attr_list_insert (attr_list, pango_attr_scale_new (PANGO_SCALE_LARGE)); g_object_set (label, "attributes", attr_list, NULL); pango_attr_list_unref (attr_list); label = gtk_label_new (secondary_text); gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_box_pack_start (GTK_BOX (details->titles_vbox), label, FALSE, FALSE, 0); gtk_widget_show (label); g_free (primary_text); g_free (secondary_text); /* Set up file icons */ pixbuf = nautilus_file_get_icon_pixbuf (dest, NAUTILUS_ICON_SIZE_LARGE, TRUE, NAUTILUS_FILE_ICON_FLAGS_USE_THUMBNAILS); details->dest_image = gtk_image_new_from_pixbuf (pixbuf); gtk_box_pack_start (GTK_BOX (details->first_hbox), details->dest_image, FALSE, FALSE, 0); gtk_widget_show (details->dest_image); g_object_unref (pixbuf); pixbuf = nautilus_file_get_icon_pixbuf (src, NAUTILUS_ICON_SIZE_LARGE, TRUE, NAUTILUS_FILE_ICON_FLAGS_USE_THUMBNAILS); details->src_image = gtk_image_new_from_pixbuf (pixbuf); gtk_box_pack_start (GTK_BOX (details->second_hbox), details->src_image, FALSE, FALSE, 0); gtk_widget_show (details->src_image); g_object_unref (pixbuf); /* Set up labels */ label = gtk_label_new (NULL); date = nautilus_file_get_string_attribute (dest, "date_modified"); size = nautilus_file_get_string_attribute (dest, "size"); if (should_show_type) { type = nautilus_file_get_string_attribute (dest, "type"); } str = g_string_new (NULL); g_string_append_printf (str, "<b>%s</b>\n", _("Original file")); g_string_append_printf (str, "<i>%s</i> %s\n", _("Size:"), size); if (should_show_type) { g_string_append_printf (str, "<i>%s</i> %s\n", _("Type:"), type); } g_string_append_printf (str, "<i>%s</i> %s", _("Last modified:"), date); label_text = str->str; gtk_label_set_markup (GTK_LABEL (label), label_text); gtk_box_pack_start (GTK_BOX (details->first_hbox), label, FALSE, FALSE, 0); gtk_widget_show (label); g_free (size); g_free (type); g_free (date); g_string_erase (str, 0, -1); /* Second label */ label = gtk_label_new (NULL); date = nautilus_file_get_string_attribute (src, "date_modified"); size = nautilus_file_get_string_attribute (src, "size"); if (should_show_type) { type = nautilus_file_get_string_attribute (src, "type"); } g_string_append_printf (str, "<b>%s</b>\n", _("Replace with")); g_string_append_printf (str, "<i>%s</i> %s\n", _("Size:"), size); if (should_show_type) { g_string_append_printf (str, "<i>%s</i> %s\n", _("Type:"), type); } g_string_append_printf (str, "<i>%s</i> %s", _("Last modified:"), date); label_text = g_string_free (str, FALSE); gtk_label_set_markup (GTK_LABEL (label), label_text); gtk_box_pack_start (GTK_BOX (details->second_hbox), label, FALSE, FALSE, 0); gtk_widget_show (label); g_free (size); g_free (date); g_free (type); g_free (label_text); /* Populate the entry */ edit_name = nautilus_file_get_edit_name (dest); details->conflict_name = edit_name; gtk_entry_set_text (GTK_ENTRY (details->entry), edit_name); if (source_is_dir && dest_is_dir) { gtk_button_set_label (GTK_BUTTON (details->replace_button), _("Merge")); } nautilus_file_monitor_add (src, fcd, NAUTILUS_FILE_ATTRIBUTES_FOR_ICON); nautilus_file_monitor_add (dest, fcd, NAUTILUS_FILE_ATTRIBUTES_FOR_ICON); details->src_handler_id = g_signal_connect (src, "changed", G_CALLBACK (file_icons_changed), fcd); details->dest_handler_id = g_signal_connect (dest, "changed", G_CALLBACK (file_icons_changed), fcd); }
void ee_prefs_dialog_run (EEMainWindow *mainwin) { GtkWidget *dialog; GtkWidget *align; GtkWidget *table; GtkWidget *label; GtkWidget *cycle_time; GtkWidget *start_fullscreen; GtkWidget *disable_plugins; GtkWidget *disable_scripts; /* create the toplevel dialog window */ dialog = gtk_dialog_new_with_buttons ("Preferences", NULL, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK); /* create 12px padding */ align = gtk_alignment_new (0.5, 0.5, 1.0, 1.0); gtk_alignment_set_padding (GTK_ALIGNMENT (align), 12, 12, 12, 12); gtk_box_pack_start (GTK_BOX (GTK_DIALOG(dialog)->vbox), align, TRUE, TRUE, 0); table = gtk_table_new (4, 2, FALSE); gtk_container_add (GTK_CONTAINER (align), table); /* add the cycle time spinner */ label = gtk_label_new (NULL); gtk_label_set_markup (GTK_LABEL (label), "<b>Cycle Time</b>"); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1, GTK_EXPAND | GTK_FILL, GTK_SHRINK, 6, 2); cycle_time = gtk_spin_button_new_with_range (10.0, 86400.0, 10.0); gtk_spin_button_set_value (GTK_SPIN_BUTTON (cycle_time), (gdouble) mainwin->settings->cycle_time); g_signal_connect (cycle_time, "value-changed", G_CALLBACK (on_cycle_time_changed), mainwin); gtk_table_attach (GTK_TABLE (table), cycle_time, 1, 2, 0, 1, GTK_EXPAND | GTK_FILL, GTK_SHRINK, 6, 2); /* add the start-fullscreen checkbox */ start_fullscreen = gtk_check_button_new_with_label ("Start in fullscreen mode"); if (mainwin->settings->start_fullscreen) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (start_fullscreen), TRUE); g_signal_connect (start_fullscreen, "toggled", G_CALLBACK (on_start_fullscreen), mainwin); gtk_table_attach (GTK_TABLE (table), start_fullscreen, 0, 2, 1, 2, GTK_EXPAND | GTK_FILL, GTK_SHRINK, 6, 2); /* add the disable-plugins checkbox */ disable_plugins = gtk_check_button_new_with_label ("Disable browser plugins"); if (mainwin->settings->disable_plugins) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (disable_plugins), TRUE); g_signal_connect (disable_plugins, "toggled", G_CALLBACK (on_disable_plugins), mainwin); gtk_table_attach (GTK_TABLE (table), disable_plugins, 0, 2, 2, 3, GTK_EXPAND | GTK_FILL, GTK_SHRINK, 6, 2); /* add the disable-scripts checkbox */ disable_scripts = gtk_check_button_new_with_label ("Disable browser scripts"); if (mainwin->settings->disable_scripts) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (disable_scripts), TRUE); g_signal_connect (disable_scripts, "toggled", G_CALLBACK (on_disable_scripts), mainwin); gtk_table_attach (GTK_TABLE (table), disable_scripts, 0, 2, 3, 4, GTK_EXPAND | GTK_FILL, GTK_SHRINK, 6, 2); /* run the dialog */ gtk_widget_show_all (dialog); gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); }
static void make_dtd_attribute_editor (CongDocument *doc, CongNodePtr node, xmlElementPtr xml_element, CongDialogContent *dialog_content) { xmlAttributePtr attr; CongDialogCategory *category; gchar *category_name; GtkWidget *scrolled_window; GtkWidget *vbox_attributes; GtkSizeGroup *size_group; { gchar *tag_name = cong_util_get_tag_string_for_node_escaped (node); category_name = g_strdup_printf ( _("Attributes for <tt>%s</tt> elements"), tag_name); g_free (tag_name); } category = cong_dialog_content_add_category (dialog_content, category_name); g_free (category_name); scrolled_window = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW(scrolled_window), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); cong_dialog_category_add_selflabelled_field (category, scrolled_window, TRUE); vbox_attributes = gtk_vbox_new (FALSE, 6); gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW(scrolled_window), vbox_attributes); size_group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); for (attr=xml_element->attributes; attr; attr=attr->nexth) { GtkWidget *hbox; GtkWidget *label; GtkWidget *attr_editor = cong_attribute_editor_new (doc, node, attr); gtk_widget_show (attr_editor); hbox = gtk_hbox_new(FALSE, 6); label = gtk_label_new ((const gchar*)attr->name); gtk_misc_set_alignment(GTK_MISC(label), 0.0f, 0.5f); gtk_size_group_add_widget(size_group, label); gtk_container_add(GTK_CONTAINER(hbox), label); gtk_container_add(GTK_CONTAINER(hbox), attr_editor); gtk_widget_show (label); gtk_widget_show (hbox); gtk_box_pack_start (GTK_BOX(vbox_attributes), hbox, FALSE, TRUE, 0); } gtk_widget_show (vbox_attributes); gtk_widget_show (scrolled_window); }
static GtkWidget * display_simple_dialog(gint type, gint btn_mask, char *message) { GtkWidget *win, *main_vb, *top_hb, *msg_vb, *type_pm, *msg_label, *ask_cb, *bbox, *ok_bt, *yes_bt, *bt, *save_bt, *dont_save_bt; /* Main window */ switch (type) { case ESD_TYPE_WARN : type_pm = gtk_image_new_from_stock( GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DIALOG); break; case ESD_TYPE_CONFIRMATION: type_pm = gtk_image_new_from_stock( GTK_STOCK_DIALOG_WARNING, GTK_ICON_SIZE_DIALOG); break; case ESD_TYPE_ERROR: type_pm = gtk_image_new_from_stock( GTK_STOCK_DIALOG_ERROR, GTK_ICON_SIZE_DIALOG); break; case ESD_TYPE_STOP : type_pm = gtk_image_new_from_stock( GTK_STOCK_STOP, GTK_ICON_SIZE_DIALOG); break; case ESD_TYPE_INFO : default : type_pm = gtk_image_new_from_stock( GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DIALOG); break; } /* * The GNOME HIG: * * http://developer.gnome.org/projects/gup/hig/1.0/windows.html#alert-windows * * says that the title should be empty for alert boxes, so there's "less * visual noise and confounding text." * * The Windows HIG: * * http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwue/html/ch09f.asp * * says it should * * ...appropriately identify the source of the message -- usually * the name of the object. For example, if the message results * from editing a document, the title text is the name of the * document, optionally followed by the application name. If the * message results from a non-document object, then use the * application name." * * and notes that the title is important "because message boxes might * not always the the result of current user interaction" (e.g., some * app might randomly pop something up, e.g. some browser letting you * know that it couldn't fetch something because of a timeout). * * It also says not to use "warning" or "caution", as there's already * an icon that tells you what type of alert it is, and that you * shouldn't say "error", as that provides no useful information. * * So we give it a title on Win32, and don't give it one on UN*X. * For now, we give it a Win32 title of just "Wireshark"; we should * arguably take an argument for the title. */ if(btn_mask == ESD_BTN_NONE) { win = splash_window_new(); } else { #ifdef _WIN32 win = dlg_window_new("Wireshark"); #else win = dlg_window_new(""); #endif } gtk_window_set_modal(GTK_WINDOW(win), TRUE); gtk_container_set_border_width(GTK_CONTAINER(win), 6); /* Container for our rows */ main_vb = ws_gtk_box_new(GTK_ORIENTATION_VERTICAL, 12, FALSE); gtk_container_add(GTK_CONTAINER(win), main_vb); gtk_widget_show(main_vb); /* Top row: Icon and message text */ top_hb = ws_gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 12, FALSE); gtk_container_set_border_width(GTK_CONTAINER(main_vb), 6); gtk_container_add(GTK_CONTAINER(main_vb), top_hb); gtk_widget_show(top_hb); gtk_misc_set_alignment (GTK_MISC (type_pm), 0.5f, 0.0f); gtk_container_add(GTK_CONTAINER(top_hb), type_pm); gtk_widget_show(type_pm); /* column for message and optional check button */ msg_vb = ws_gtk_box_new(GTK_ORIENTATION_VERTICAL, 6, FALSE); gtk_box_set_spacing(GTK_BOX(msg_vb), 24); gtk_container_add(GTK_CONTAINER(top_hb), msg_vb); gtk_widget_show(msg_vb); /* message */ msg_label = gtk_label_new(message); gtk_label_set_markup(GTK_LABEL(msg_label), message); gtk_label_set_selectable(GTK_LABEL(msg_label), TRUE); g_object_set(gtk_widget_get_settings(msg_label), "gtk-label-select-on-focus", FALSE, NULL); gtk_label_set_justify(GTK_LABEL(msg_label), GTK_JUSTIFY_FILL); gtk_misc_set_alignment (GTK_MISC (type_pm), 0.5f, 0.0f); gtk_container_add(GTK_CONTAINER(msg_vb), msg_label); gtk_label_set_line_wrap(GTK_LABEL(msg_label), TRUE); gtk_widget_show(msg_label); if(btn_mask == ESD_BTN_NONE) { gtk_widget_show(win); return win; } /* optional check button */ ask_cb = gtk_check_button_new_with_label("replace with text..."); gtk_container_add(GTK_CONTAINER(msg_vb), ask_cb); g_object_set_data(G_OBJECT(win), CHECK_BUTTON, ask_cb); /* Button row */ switch(btn_mask) { case(ESD_BTN_OK): bbox = dlg_button_row_new(GTK_STOCK_OK, NULL); break; case(ESD_BTN_OK | ESD_BTN_CANCEL): bbox = dlg_button_row_new(GTK_STOCK_OK, GTK_STOCK_CANCEL, NULL); break; case(ESD_BTN_CLEAR | ESD_BTN_CANCEL): bbox = dlg_button_row_new(GTK_STOCK_CLEAR, GTK_STOCK_CANCEL, NULL); break; case(ESD_BTNS_YES_NO_CANCEL): bbox = dlg_button_row_new(GTK_STOCK_YES, GTK_STOCK_NO, GTK_STOCK_CANCEL, NULL); break; case(ESD_BTNS_SAVE_DONTSAVE_CANCEL): bbox = dlg_button_row_new(GTK_STOCK_SAVE, WIRESHARK_STOCK_DONT_SAVE, GTK_STOCK_CANCEL, NULL); break; case(ESD_BTNS_SAVE_QUIT_DONTSAVE_CANCEL): bbox = dlg_button_row_new(GTK_STOCK_SAVE, WIRESHARK_STOCK_QUIT_DONT_SAVE, GTK_STOCK_CANCEL, NULL); break; case (ESD_BTNS_QUIT_DONTSAVE_CANCEL): bbox = dlg_button_row_new(WIRESHARK_STOCK_QUIT_DONT_SAVE, GTK_STOCK_CANCEL, NULL); break; case(ESD_BTNS_YES_NO): bbox = dlg_button_row_new(GTK_STOCK_YES, GTK_STOCK_NO, NULL); break; default: g_assert_not_reached(); bbox = NULL; break; } gtk_container_add(GTK_CONTAINER(main_vb), bbox); gtk_widget_show(bbox); ok_bt = g_object_get_data(G_OBJECT(bbox), GTK_STOCK_OK); if(ok_bt) { g_object_set_data(G_OBJECT(ok_bt), CALLBACK_BTN_KEY, GINT_TO_POINTER(ESD_BTN_OK)); g_signal_connect(ok_bt, "clicked", G_CALLBACK(simple_dialog_cancel_cb), win); } save_bt = g_object_get_data(G_OBJECT(bbox), GTK_STOCK_SAVE); if (save_bt) { g_object_set_data(G_OBJECT(save_bt), CALLBACK_BTN_KEY, GINT_TO_POINTER(ESD_BTN_SAVE)); g_signal_connect(save_bt, "clicked", G_CALLBACK(simple_dialog_cancel_cb), win); } dont_save_bt = g_object_get_data(G_OBJECT(bbox), WIRESHARK_STOCK_DONT_SAVE); if (dont_save_bt) { g_object_set_data(G_OBJECT(dont_save_bt), CALLBACK_BTN_KEY, GINT_TO_POINTER(ESD_BTN_DONT_SAVE)); g_signal_connect(dont_save_bt, "clicked", G_CALLBACK(simple_dialog_cancel_cb), win); } dont_save_bt = g_object_get_data(G_OBJECT(bbox), WIRESHARK_STOCK_QUIT_DONT_SAVE); if (dont_save_bt) { g_object_set_data(G_OBJECT(dont_save_bt), CALLBACK_BTN_KEY, GINT_TO_POINTER(ESD_BTN_QUIT_DONT_SAVE)); g_signal_connect(dont_save_bt, "clicked", G_CALLBACK(simple_dialog_cancel_cb), win); } bt = g_object_get_data(G_OBJECT(bbox), GTK_STOCK_CLEAR); if(bt) { g_object_set_data(G_OBJECT(bt), CALLBACK_BTN_KEY, GINT_TO_POINTER(ESD_BTN_CLEAR)); g_signal_connect(bt, "clicked", G_CALLBACK(simple_dialog_cancel_cb), win); } yes_bt = g_object_get_data(G_OBJECT(bbox), GTK_STOCK_YES); if(yes_bt) { g_object_set_data(G_OBJECT(yes_bt), CALLBACK_BTN_KEY, GINT_TO_POINTER(ESD_BTN_YES)); g_signal_connect(yes_bt, "clicked", G_CALLBACK(simple_dialog_cancel_cb), win); } bt = g_object_get_data(G_OBJECT(bbox), GTK_STOCK_NO); if(bt) { g_object_set_data(G_OBJECT(bt), CALLBACK_BTN_KEY, GINT_TO_POINTER(ESD_BTN_NO)); g_signal_connect(bt, "clicked", G_CALLBACK(simple_dialog_cancel_cb), win); } bt = g_object_get_data(G_OBJECT(bbox), GTK_STOCK_CANCEL); if(bt) { g_object_set_data(G_OBJECT(bt), CALLBACK_BTN_KEY, GINT_TO_POINTER(ESD_BTN_CANCEL)); window_set_cancel_button(win, bt, simple_dialog_cancel_cb); } if(!bt) { if(yes_bt) { window_set_cancel_button(win, yes_bt, simple_dialog_cancel_cb); } else { window_set_cancel_button(win, ok_bt, simple_dialog_cancel_cb); } } dlg_button_focus_nth(bbox, 0); gtk_widget_show(win); return win; }
HeaderView *headerview_create(void) { HeaderView *headerview; GtkWidget *hbox; GtkWidget *vbox; GtkWidget *hbox1; GtkWidget *hbox2; GtkWidget *hbox3; GtkWidget *from_header_label; GtkWidget *from_body_label; GtkWidget *to_header_label; GtkWidget *to_body_label; GtkWidget *ng_header_label; GtkWidget *ng_body_label; GtkWidget *subject_header_label; GtkWidget *subject_body_label; GtkWidget *tags_header_label; GtkWidget *tags_body_label; debug_print("Creating header view...\n"); headerview = g_new0(HeaderView, 1); hbox = gtk_hbox_new(FALSE, 0); gtk_container_set_border_width(GTK_CONTAINER(hbox), 2); vbox = gtk_vbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 0); hbox1 = gtk_hbox_new(FALSE, 4); gtk_box_pack_start(GTK_BOX(vbox), hbox1, FALSE, FALSE, 0); hbox2 = gtk_hbox_new(FALSE, 4); gtk_box_pack_start(GTK_BOX(vbox), hbox2, FALSE, FALSE, 0); hbox3 = gtk_hbox_new(FALSE, 4); gtk_box_pack_start(GTK_BOX(vbox), hbox3, FALSE, FALSE, 0); from_header_label = gtk_label_new(prefs_common_translated_header_name("From:")); from_body_label = gtk_label_new(""); to_header_label = gtk_label_new(prefs_common_translated_header_name("To:")); to_body_label = gtk_label_new(""); ng_header_label = gtk_label_new(prefs_common_translated_header_name("Newsgroups:")); ng_body_label = gtk_label_new(""); subject_header_label = gtk_label_new(prefs_common_translated_header_name("Subject:")); subject_body_label = gtk_label_new(""); tags_header_label = gtk_label_new(_("Tags:")); tags_body_label = gtk_label_new(""); gtk_label_set_selectable(GTK_LABEL(from_body_label), TRUE); gtk_label_set_selectable(GTK_LABEL(to_body_label), TRUE); gtk_label_set_selectable(GTK_LABEL(ng_body_label), TRUE); gtk_label_set_selectable(GTK_LABEL(subject_body_label), TRUE); gtk_label_set_selectable(GTK_LABEL(tags_body_label), TRUE); gtkut_widget_set_can_focus(from_body_label, FALSE); gtkut_widget_set_can_focus(to_body_label, FALSE); gtkut_widget_set_can_focus(ng_body_label, FALSE); gtkut_widget_set_can_focus(subject_body_label, FALSE); gtkut_widget_set_can_focus(tags_body_label, FALSE); gtk_box_pack_start(GTK_BOX(hbox1), from_header_label, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox1), from_body_label, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox1), to_header_label, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox1), to_body_label, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(hbox1), ng_header_label, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox1), ng_body_label, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(hbox2), subject_header_label, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox2), subject_body_label, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(hbox3), tags_header_label, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox3), tags_body_label, TRUE, TRUE, 0); gtk_misc_set_alignment(GTK_MISC(to_body_label), 0, 0.5); gtk_misc_set_alignment(GTK_MISC(ng_body_label), 0, 0.5); gtk_misc_set_alignment(GTK_MISC(subject_body_label), 0, 0.5); gtk_misc_set_alignment(GTK_MISC(tags_body_label), 0, 0.5); gtk_label_set_ellipsize(GTK_LABEL(to_body_label), PANGO_ELLIPSIZE_END); gtk_label_set_ellipsize(GTK_LABEL(ng_body_label), PANGO_ELLIPSIZE_END); gtk_label_set_ellipsize(GTK_LABEL(subject_body_label), PANGO_ELLIPSIZE_END); gtk_label_set_ellipsize(GTK_LABEL(tags_body_label), PANGO_ELLIPSIZE_END); headerview->hbox = hbox; headerview->from_header_label = from_header_label; headerview->from_body_label = from_body_label; headerview->to_header_label = to_header_label; headerview->to_body_label = to_body_label; headerview->ng_header_label = ng_header_label; headerview->ng_body_label = ng_body_label; headerview->subject_header_label = subject_header_label; headerview->subject_body_label = subject_body_label; headerview->tags_header_label = tags_header_label; headerview->tags_body_label = tags_body_label; headerview->image = NULL; gtk_widget_show_all(hbox); return headerview; }
static void jana_gtk_recurrence_init (JanaGtkRecurrence *self) { GtkWidget *label, *hbox, *sub_hbox, *arrow, *button; GtkSizeGroup *size_group; JanaGtkRecurrencePrivate *priv = RECURRENCE_PRIVATE (self); gtk_box_set_spacing (GTK_BOX (self), 6); /* Create preview text-view */ priv->preview_frame = gtk_frame_new (NULL); priv->preview_textview = gtk_text_view_new (); gtk_text_view_set_editable (GTK_TEXT_VIEW ( priv->preview_textview), FALSE); gtk_text_view_set_cursor_visible ( GTK_TEXT_VIEW (priv->preview_textview), FALSE); gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (priv->preview_textview), GTK_WRAP_WORD_CHAR); gtk_container_add (GTK_CONTAINER (priv->preview_frame), priv->preview_textview); gtk_box_pack_end (GTK_BOX (self), priv->preview_frame, TRUE, TRUE, 0); gtk_frame_set_shadow_type ( GTK_FRAME (priv->preview_frame), GTK_SHADOW_NONE); gtk_widget_show_all (priv->preview_frame); priv->edit_vbox = gtk_vbox_new (FALSE, 6); size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); /* 'Repeats' (recurrence type) combo box */ hbox = gtk_hbox_new (FALSE, 6); label = gtk_label_new ("Repeats:"); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_size_group_add_widget (size_group, label); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); priv->type_combo = gtk_combo_box_new_text (); gtk_combo_box_append_text (GTK_COMBO_BOX (priv->type_combo), "None"); gtk_combo_box_append_text (GTK_COMBO_BOX (priv->type_combo), "Every day"); gtk_combo_box_append_text (GTK_COMBO_BOX (priv->type_combo), "Every week"); gtk_combo_box_append_text (GTK_COMBO_BOX (priv->type_combo), "Every year"); gtk_combo_box_set_active (GTK_COMBO_BOX (priv->type_combo), 0); gtk_box_pack_start (GTK_BOX (hbox), priv->type_combo, TRUE, TRUE, 0); g_signal_connect (priv->type_combo, "changed", G_CALLBACK (type_combo_changed_cb), self); /* Interval buttons */ sub_hbox = gtk_hbox_new (TRUE, 0); priv->interval_dec_button = gtk_button_new (); arrow = gtk_arrow_new (GTK_ARROW_LEFT, GTK_SHADOW_IN); gtk_container_add (GTK_CONTAINER (priv->interval_dec_button), arrow); gtk_box_pack_start (GTK_BOX (sub_hbox), priv->interval_dec_button, FALSE, TRUE, 0); priv->interval_inc_button = gtk_button_new (); arrow = gtk_arrow_new (GTK_ARROW_RIGHT, GTK_SHADOW_IN); gtk_container_add (GTK_CONTAINER (priv->interval_inc_button), arrow); gtk_box_pack_start (GTK_BOX (sub_hbox), priv->interval_inc_button, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (hbox), sub_hbox, FALSE, TRUE, 0); g_signal_connect (priv->interval_inc_button, "clicked", G_CALLBACK (interval_inc_clicked_cb), self); g_signal_connect (priv->interval_dec_button, "clicked", G_CALLBACK (interval_dec_clicked_cb), self); gtk_widget_show_all (hbox); gtk_box_pack_start (GTK_BOX (priv->edit_vbox), hbox, FALSE, TRUE, 0); /* Weekly recurrence day-chooser */ priv->week_hbox = gtk_hbox_new (FALSE, 6); label = gtk_label_new ("On:"); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_size_group_add_widget (size_group, label); gtk_box_pack_start (GTK_BOX (priv->week_hbox), label, FALSE, TRUE, 0); sub_hbox = gtk_hbox_new (TRUE, 0); /* Weekday toggle widgets */ #define day_toggle_widget(x) \ button = gtk_toggle_button_new_with_label (jana_utils_ab_day (x)); \ gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (button), FALSE); \ gtk_box_pack_start (GTK_BOX (sub_hbox), button, TRUE, TRUE, 0); \ priv->week_buttons[x] = GTK_TOGGLE_BUTTON (button); \ g_signal_connect (button, "toggled", \ G_CALLBACK (day##x##_toggled_cb), self) day_toggle_widget(0); day_toggle_widget(1); day_toggle_widget(2); day_toggle_widget(3); day_toggle_widget(4); day_toggle_widget(5); day_toggle_widget(6); gtk_box_pack_start (GTK_BOX (priv->week_hbox), sub_hbox, TRUE, TRUE, 0); gtk_widget_show_all (priv->week_hbox); gtk_box_pack_start (GTK_BOX (priv->edit_vbox), priv->week_hbox, FALSE, TRUE, 0); /* Monthly recurrence by date/day chooser */ priv->month_hbox = gtk_hbox_new (FALSE, 6); label = gtk_label_new ("By:"); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_size_group_add_widget (size_group, label); gtk_box_pack_start (GTK_BOX (priv->month_hbox), label, FALSE, TRUE, 0); sub_hbox = gtk_hbox_new (TRUE, 0); /* By day */ priv->byday_button = GTK_TOGGLE_BUTTON ( gtk_radio_button_new_with_label (NULL, "Day")); gtk_toggle_button_set_mode (priv->byday_button, FALSE); gtk_box_pack_start (GTK_BOX (sub_hbox), GTK_WIDGET ( priv->byday_button), FALSE, TRUE, 0); /* By date */ priv->bydate_button = GTK_TOGGLE_BUTTON ( gtk_radio_button_new_with_label_from_widget ( GTK_RADIO_BUTTON (priv->byday_button), "Date")); gtk_toggle_button_set_mode (priv->bydate_button, FALSE); g_signal_connect (priv->bydate_button, "toggled", G_CALLBACK (bydate_toggled_cb), self); gtk_box_pack_start (GTK_BOX (sub_hbox), GTK_WIDGET ( priv->bydate_button), FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (priv->month_hbox), sub_hbox, FALSE, TRUE, 0); gtk_widget_show_all (priv->month_hbox); gtk_box_pack_start (GTK_BOX (priv->edit_vbox), priv->month_hbox, FALSE, TRUE, 0); /* Until time editor */ priv->end_hbox = gtk_hbox_new (FALSE, 6); label = gtk_label_new ("Until:"); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_size_group_add_widget (size_group, label); gtk_box_pack_start (GTK_BOX (priv->end_hbox), label, FALSE, TRUE, 0); priv->end_button = gtk_button_new (); hbox = gtk_hbox_new (FALSE, 6); priv->end_label = gtk_label_new (NULL); arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_IN); gtk_box_pack_start (GTK_BOX (hbox), priv->end_label, TRUE, TRUE, 0); gtk_box_pack_end (GTK_BOX (hbox), arrow, FALSE, TRUE, 0); gtk_container_add (GTK_CONTAINER (priv->end_button), hbox); g_signal_connect (priv->end_button, "clicked", G_CALLBACK (end_clicked_cb), self); gtk_box_pack_start (GTK_BOX (priv->end_hbox), priv->end_button, FALSE, TRUE, 0); gtk_widget_show_all (priv->end_hbox); gtk_box_pack_start (GTK_BOX (priv->edit_vbox), priv->end_hbox, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (self), priv->edit_vbox, FALSE, TRUE, 0); gtk_widget_set_no_show_all (priv->edit_vbox, TRUE); gtk_widget_set_no_show_all (priv->preview_frame, TRUE); refresh (self); }