📄 interface.c
字号:
gtk_object_set_data(GTK_OBJECT(preferences), "retries", retries_level); gtk_widget_show(retries_level); gtk_box_pack_start(GTK_BOX(usage_hbox1), retries_level, FALSE, FALSE, 0); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(retries_level), TRUE); gtk_tooltips_set_tip(Tooltips, retries_level, _("Set number of retries for SmsSend"), NULL); dialog_action_area = GNOME_DIALOG(preferences)->action_area; gtk_widget_show(dialog_action_area); gtk_button_box_set_layout(GTK_BUTTON_BOX(dialog_action_area), GTK_BUTTONBOX_END); gtk_button_box_set_spacing(GTK_BUTTON_BOX(dialog_action_area), 8); gnome_dialog_append_button(GNOME_DIALOG(preferences), GNOME_STOCK_BUTTON_OK); ok_button = g_list_last(GNOME_DIALOG(preferences)->buttons)->data; gtk_widget_show(ok_button); GTK_WIDGET_SET_FLAGS(ok_button, GTK_CAN_DEFAULT); gnome_dialog_append_button(GNOME_DIALOG(preferences), GNOME_STOCK_BUTTON_APPLY); apply_button = g_list_last(GNOME_DIALOG(preferences)->buttons)->data; gtk_widget_show(apply_button); gnome_dialog_append_button(GNOME_DIALOG(preferences), GNOME_STOCK_BUTTON_CANCEL); cancel_button = g_list_last(GNOME_DIALOG(preferences)->buttons)->data; gtk_widget_show(cancel_button); gtk_signal_connect(GTK_OBJECT(ok_button), "pressed", GTK_SIGNAL_FUNC(on_pref_ok_pressed), (gpointer)OK_PRESSED); gtk_signal_connect(GTK_OBJECT(apply_button), "pressed", GTK_SIGNAL_FUNC(on_pref_ok_pressed), (gpointer)APPLY_PRESSED); return preferences;}static void update_clist(gpointer key, gpointer value, gpointer user_data){ /* Local function for updating the clist on each alias */ GtkWidget *clist = (GtkWidget *)user_data; gchar *tmp[ALIAS_CLIST_COLS]; tmp[KEY_COL] = (gchar *) key; tmp[VAL_COL] = (gchar *) value; gtk_clist_append (GTK_CLIST(clist),tmp);}GtkWidget *create_aliases(void){ /* create the alias dialog box */ GtkWidget *aliases; GtkWidget *dialog_vbox; GtkWidget *dialog_hbox; GtkWidget *list_vbox; GtkWidget *scrolledwindow; GtkWidget *clist; GtkWidget *key; GtkWidget *value; GtkWidget *list_buttonbox; GtkWidget *up_button; GtkWidget *down_button; GtkWidget *right_vbox; GtkWidget *table; GtkWidget *key_label; GtkWidget *value_label; GtkWidget *key_entry; GtkWidget *value_entry; GtkWidget *command_buttonbox; GtkWidget *add; GtkWidget *delete; GtkWidget *dialog_action_area1; GtkWidget *ok_button; GtkWidget *apply_button; GtkWidget *cancel_button; aliases = gnome_dialog_new (_("Alias"), NULL); gtk_window_set_position (GTK_WINDOW (aliases), GTK_WIN_POS_CENTER); gtk_window_set_policy (GTK_WINDOW (aliases), FALSE, FALSE, FALSE); gnome_dialog_set_close (GNOME_DIALOG (aliases), TRUE); gnome_dialog_close_hides (GNOME_DIALOG (aliases), TRUE); gtk_window_set_wmclass(GTK_WINDOW(aliases), "Smssend", "Smssend"); dialog_vbox = GNOME_DIALOG (aliases)->vbox; gtk_widget_show (dialog_vbox); dialog_hbox = gtk_hbox_new (FALSE, 0); gtk_widget_show (dialog_hbox); gtk_box_pack_start (GTK_BOX (dialog_vbox), dialog_hbox, FALSE, FALSE, 0); list_vbox = gtk_vbox_new (FALSE, 0); gtk_widget_show (list_vbox); gtk_box_pack_start (GTK_BOX (dialog_hbox), list_vbox, TRUE, TRUE, 0); scrolledwindow = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow); gtk_box_pack_start (GTK_BOX (list_vbox), scrolledwindow, TRUE, TRUE, 2); gtk_widget_set_usize (scrolledwindow, -2, 250); gtk_container_set_border_width (GTK_CONTAINER (scrolledwindow), 2); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow), GTK_POLICY_ALWAYS, GTK_POLICY_AUTOMATIC); clist = gtk_clist_new (ALIAS_CLIST_COLS); gtk_object_set_data(GTK_OBJECT(aliases), "alias_clist", clist); gtk_widget_show (clist); gtk_container_add (GTK_CONTAINER (scrolledwindow), clist); gtk_clist_set_column_width (GTK_CLIST (clist), KEY_COL, 80); gtk_clist_set_column_width (GTK_CLIST (clist), VAL_COL, 80); gtk_clist_column_titles_show (GTK_CLIST (clist)); gtk_clist_set_shadow_type (GTK_CLIST (clist), GTK_SHADOW_ETCHED_IN); key = gtk_label_new (_("Key")); gtk_widget_show (key); gtk_clist_set_column_widget (GTK_CLIST (clist), KEY_COL, key); gtk_label_set_justify (GTK_LABEL (key), GTK_JUSTIFY_LEFT); value = gtk_label_new (_("Value")); gtk_widget_show (value); gtk_clist_set_column_widget (GTK_CLIST (clist), VAL_COL, value); gtk_label_set_justify (GTK_LABEL (value), GTK_JUSTIFY_LEFT); gtk_clist_column_titles_passive(GTK_CLIST (clist)); list_buttonbox = gtk_hbutton_box_new (); gtk_widget_show (list_buttonbox); gtk_box_pack_start (GTK_BOX (list_vbox), list_buttonbox, FALSE, FALSE, 2); gtk_container_set_border_width (GTK_CONTAINER (list_buttonbox), 2); gtk_button_box_set_spacing (GTK_BUTTON_BOX (list_buttonbox), 8); gtk_button_box_set_child_size (GTK_BUTTON_BOX (list_buttonbox), 80, 20); gtk_button_box_set_child_ipadding (GTK_BUTTON_BOX (list_buttonbox), 2, 2); up_button = gnome_stock_button (GNOME_STOCK_BUTTON_UP); gtk_widget_show (up_button); gtk_container_add (GTK_CONTAINER (list_buttonbox), up_button); down_button = gnome_stock_button (GNOME_STOCK_BUTTON_DOWN); gtk_widget_show (down_button); gtk_container_add (GTK_CONTAINER (list_buttonbox), down_button); right_vbox = gtk_vbox_new (FALSE, 0); gtk_widget_show (right_vbox); gtk_box_pack_start (GTK_BOX (dialog_hbox), right_vbox, TRUE, TRUE, 0); table = gtk_table_new (2, 2, FALSE); gtk_widget_show (table); gtk_box_pack_start (GTK_BOX (right_vbox), table, TRUE, FALSE, 8); gtk_container_set_border_width (GTK_CONTAINER (table), 2); gtk_table_set_row_spacings (GTK_TABLE (table), 2); gtk_table_set_col_spacings (GTK_TABLE (table), 2); key_label = gtk_label_new (_("Key : ")); gtk_widget_show (key_label); gtk_table_attach (GTK_TABLE (table), key_label, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (key_label), GTK_JUSTIFY_LEFT); value_label = gtk_label_new (_("Value : ")); gtk_widget_show (value_label); gtk_table_attach (GTK_TABLE (table), value_label, 0, 1, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (value_label), GTK_JUSTIFY_LEFT); key_entry = gtk_entry_new (); gtk_widget_show (key_entry); gtk_object_set_data(GTK_OBJECT(aliases), "alias_key", key_entry); gtk_table_attach (GTK_TABLE (table), key_entry, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); value_entry = gtk_entry_new (); gtk_widget_show (value_entry); gtk_object_set_data(GTK_OBJECT(aliases), "alias_value", value_entry); gtk_table_attach (GTK_TABLE (table), value_entry, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); command_buttonbox = gtk_hbutton_box_new (); gtk_widget_show (command_buttonbox); gtk_box_pack_start (GTK_BOX (right_vbox), command_buttonbox, TRUE, FALSE, 100); gtk_container_set_border_width (GTK_CONTAINER (command_buttonbox), 2); gtk_button_box_set_layout (GTK_BUTTON_BOX (command_buttonbox), GTK_BUTTONBOX_EDGE); gtk_button_box_set_spacing (GTK_BUTTON_BOX (command_buttonbox), 8); gtk_button_box_set_child_size (GTK_BUTTON_BOX (command_buttonbox), 80, 20); gtk_button_box_set_child_ipadding (GTK_BUTTON_BOX (command_buttonbox), 20, 2); add = gtk_button_new_with_label (_("Add")); gtk_widget_show (add); gtk_container_add (GTK_CONTAINER (command_buttonbox), add); gtk_tooltips_set_tip(Tooltips, add, _("Add current entries to the list"), NULL); delete = gtk_button_new_with_label (_("Delete")); gtk_widget_show (delete); gtk_container_add (GTK_CONTAINER (command_buttonbox), delete); gtk_tooltips_set_tip(Tooltips, delete, _("Delete selected row in the list"), NULL); dialog_action_area1 = GNOME_DIALOG (aliases)->action_area; gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END); gtk_button_box_set_spacing (GTK_BUTTON_BOX (dialog_action_area1), 8); gnome_dialog_append_button (GNOME_DIALOG (aliases), GNOME_STOCK_BUTTON_OK); ok_button = g_list_last (GNOME_DIALOG (aliases)->buttons)->data; gtk_widget_show (ok_button); GTK_WIDGET_SET_FLAGS (ok_button, GTK_CAN_DEFAULT); gnome_dialog_append_button (GNOME_DIALOG (aliases), GNOME_STOCK_BUTTON_APPLY); apply_button = g_list_last (GNOME_DIALOG (aliases)->buttons)->data; gtk_widget_show (apply_button); cancel_button = g_list_last (GNOME_DIALOG (aliases)->buttons)->data; gtk_widget_show (cancel_button); /* Connect signals */ gtk_signal_connect (GTK_OBJECT (clist), "select_row", GTK_SIGNAL_FUNC (on_alias_clist_select_row), (gpointer)SEL_PRESSED); gtk_signal_connect (GTK_OBJECT (clist), "unselect_row", GTK_SIGNAL_FUNC (on_alias_clist_select_row), (gpointer)UNSEL_PRESSED); gtk_signal_connect (GTK_OBJECT (up_button), "clicked", GTK_SIGNAL_FUNC (on_updown_clicked), (gpointer)UP_PRESSED); gtk_signal_connect (GTK_OBJECT (down_button), "clicked", GTK_SIGNAL_FUNC (on_updown_clicked), (gpointer)DOWN_PRESSED); gtk_signal_connect (GTK_OBJECT (add), "clicked", GTK_SIGNAL_FUNC (on_add_clicked), NULL); gtk_signal_connect (GTK_OBJECT (delete), "clicked", GTK_SIGNAL_FUNC (on_delete_clicked), NULL); gtk_signal_connect(GTK_OBJECT(ok_button), "pressed", GTK_SIGNAL_FUNC(on_alias_ok_pressed), (gpointer)OK_PRESSED); gtk_signal_connect(GTK_OBJECT(apply_button), "pressed", GTK_SIGNAL_FUNC(on_alias_ok_pressed), (gpointer)APPLY_PRESSED); /* update the clist */ if (AliasHash) { gtk_clist_freeze(GTK_CLIST(clist)); g_hash_table_foreach(AliasHash, update_clist,(gpointer)clist); gtk_clist_thaw(GTK_CLIST(clist)); } return aliases;}GtkWidget *create_scripts(void){ /* create the scripts dialog box */ GtkWidget *scripts; GtkWidget *dialog_vbox; GtkWidget *scrolledwindow; GtkWidget *script_clist; GtkWidget *filename_col; GtkWidget *use_col; GtkWidget *dialog_action_area; GtkWidget *button_val; GtkWidget *button_apply; GtkWidget *button_cancel; scripts = gnome_dialog_new (_("Scripts"), NULL); gtk_window_set_policy (GTK_WINDOW (scripts), FALSE, FALSE, FALSE); dialog_vbox = GNOME_DIALOG (scripts)->vbox; gtk_widget_show (dialog_vbox); scrolledwindow = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow); gtk_box_pack_start (GTK_BOX (dialog_vbox), scrolledwindow, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (scrolledwindow), 2); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow), GTK_POLICY_ALWAYS, GTK_POLICY_AUTOMATIC); gtk_widget_set_usize (scrolledwindow, 0, 256); script_clist = gtk_clist_new (SCRIPT_CLIST_COLS); gtk_object_set_data (GTK_OBJECT (scripts), "script_clist", script_clist); gtk_widget_show (script_clist); gtk_container_add (GTK_CONTAINER (scrolledwindow), script_clist); gtk_clist_set_column_width (GTK_CLIST (script_clist), SCRIPT_COL, 256); gtk_clist_set_column_width (GTK_CLIST (script_clist), SHOW_COL, 64); gtk_clist_set_column_width (GTK_CLIST (script_clist), SAVE_COL, 64); gtk_clist_set_selection_mode (GTK_CLIST (script_clist), GTK_SELECTION_MULTIPLE); gtk_clist_column_titles_show (GTK_CLIST (script_clist)); gtk_clist_set_column_justification (GTK_CLIST (script_clist),SHOW_COL,GTK_JUSTIFY_CENTER); gtk_clist_set_column_justification (GTK_CLIST (script_clist),SAVE_COL,GTK_JUSTIFY_CENTER); filename_col = gtk_label_new (_("Script")); gtk_widget_show (filename_col); gtk_clist_set_column_widget (GTK_CLIST (script_clist), SCRIPT_COL, filename_col); gtk_misc_set_padding (GTK_MISC (filename_col), 2, 2); use_col = gtk_label_new (_("Show")); gtk_widget_show (use_col); gtk_clist_set_column_widget (GTK_CLIST (script_clist), SHOW_COL, use_col); gtk_misc_set_padding (GTK_MISC (use_col), 2, 2); use_col = gtk_label_new (_("Save")); gtk_widget_show (use_col); gtk_clist_set_column_widget (GTK_CLIST (script_clist), SAVE_COL, use_col); gtk_misc_set_padding (GTK_MISC (use_col), 2, 2); dialog_action_area = GNOME_DIALOG (scripts)->action_area; gtk_widget_show (dialog_action_area); gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area), GTK_BUTTONBOX_END); gtk_button_box_set_spacing (GTK_BUTTON_BOX (dialog_action_area), 8); gnome_dialog_append_button (GNOME_DIALOG (scripts), GNOME_STOCK_BUTTON_OK); button_val = g_list_last (GNOME_DIALOG (scripts)->buttons)->data; gtk_widget_show (button_val); gtk_tooltips_set_tip(Tooltips, button_val, _("Save scripts in user file"), NULL); gnome_dialog_append_button (GNOME_DIALOG (scripts), GNOME_STOCK_BUTTON_APPLY); button_apply = g_list_last (GNOME_DIALOG (scripts)->buttons)->data; gtk_widget_show (button_apply); gtk_tooltips_set_tip(Tooltips, button_apply, _("Change show status"), NULL); GTK_WIDGET_SET_FLAGS (button_apply, GTK_CAN_DEFAULT); gnome_dialog_append_button (GNOME_DIALOG (scripts), GNOME_STOCK_BUTTON_CANCEL); button_cancel = g_list_last (GNOME_DIALOG (scripts)->buttons)->data; gtk_widget_show (button_cancel); gtk_signal_connect (GTK_OBJECT (button_val), "pressed", GTK_SIGNAL_FUNC (on_script_val_pressed), (gpointer)OK_PRESSED); gtk_signal_connect (GTK_OBJECT (button_apply), "pressed", GTK_SIGNAL_FUNC (on_script_val_pressed), (gpointer)APPLY_PRESSED); gtk_signal_connect (GTK_OBJECT (button_cancel), "pressed", GTK_SIGNAL_FUNC (on_script_val_pressed), (gpointer)CANCEL_PRESSED); gtk_signal_connect (GTK_OBJECT (script_clist), "click_column", GTK_SIGNAL_FUNC (on_script_clist_click_column), NULL); gtk_signal_connect (GTK_OBJECT (script_clist), "select_row", GTK_SIGNAL_FUNC (on_script_clist_select_row), (gpointer)SEL_PRESSED); gtk_signal_connect (GTK_OBJECT (script_clist), "unselect_row", GTK_SIGNAL_FUNC (on_script_clist_select_row), (gpointer)UNSEL_PRESSED); return scripts;}/* gnome UI variables */#include "updates_icon.xpm"#include "home_icon.xpm"#include "alias_icon.xpm"#include "scripts_icon.xpm"#include "send_icon.xpm"static GnomeUIInfo file_menu_uiinfo[] = { GNOMEUIINFO_MENU_NEW_ITEM(N_("_Add provider File"), NULL, on_new_file_activate, NULL),
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -