⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fe_gtk_site_widgets.c

📁 站点映像程序
💻 C
📖 第 1 页 / 共 2 页
字号:
   area_contents_s->file_attrib_frame = gtk_frame_new ("File attributes");   gtk_widget_show (area_contents_s->file_attrib_frame);   tablet = gtk_table_new (2, 2, false);   gtk_table_set_col_spacings (GTK_TABLE (tablet), 2);   gtk_table_set_row_spacings (GTK_TABLE (tablet), 3);   gtk_container_set_border_width (GTK_CONTAINER (tablet), 5);   gtk_widget_show (tablet);   gtk_container_add (GTK_CONTAINER (area_contents_s->file_attrib_frame),		      tablet);   label = gtk_label_new ("Permissions Mode:");   gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);   gtk_widget_show (label);   gtk_table_attach_defaults (GTK_TABLE (tablet), label, 0, 1, 0, 1);      area_contents_s->perms_mode = gtk_option_menu_new ();   area_contents_s->perms_mode_menu = gtk_menu_new();      area_contents_s->perms_ignore = gtk_menu_item_new_with_label ("Ignore all");   gtk_signal_connect (GTK_OBJECT (area_contents_s->perms_ignore),		       "activate",		       GTK_SIGNAL_FUNC (change_perms),		       (gpointer) "ignore");   gtk_widget_show (area_contents_s->perms_ignore);   area_contents_s->perms_exec = gtk_menu_item_new_with_label ("Executables only");   gtk_signal_connect (GTK_OBJECT (area_contents_s->perms_exec),		       "activate",		       GTK_SIGNAL_FUNC (change_perms),		       (gpointer) "exec");   gtk_widget_show (area_contents_s->perms_exec);   area_contents_s->perms_all = gtk_menu_item_new_with_label ("Maintain for all");   gtk_signal_connect (GTK_OBJECT (area_contents_s->perms_all),		       "activate",		       GTK_SIGNAL_FUNC (change_perms),		       (gpointer) "all");   gtk_widget_show (area_contents_s->perms_all);      gtk_menu_append (GTK_MENU (area_contents_s->perms_mode_menu),		    area_contents_s->perms_ignore);   gtk_menu_append (GTK_MENU (area_contents_s->perms_mode_menu),		    area_contents_s->perms_exec);   gtk_menu_append (GTK_MENU (area_contents_s->perms_mode_menu),		    area_contents_s->perms_all);      gtk_option_menu_set_menu (GTK_OPTION_MENU (area_contents_s->perms_mode),			     area_contents_s->perms_mode_menu);   /* Set the current value correctly */   switch (selected_site->perms) {    case sitep_ignore:      gtk_option_menu_set_history (GTK_OPTION_MENU (area_contents_s->perms_mode), 0);      break;    case sitep_exec:      gtk_option_menu_set_history (GTK_OPTION_MENU (area_contents_s->perms_mode), 1);      break;    case sitep_all:      gtk_option_menu_set_history (GTK_OPTION_MENU (area_contents_s->perms_mode), 2);      break;   }   gtk_widget_show (area_contents_s->perms_mode);   gtk_table_attach_defaults (GTK_TABLE (tablet), area_contents_s->perms_mode,			      1, 2, 0, 1);      label = gtk_label_new ("Symbolic Links:");   gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);   gtk_widget_show (label);   gtk_table_attach_defaults (GTK_TABLE (tablet), label, 0, 1, 1, 2);      area_contents_s->sym_link_mode = gtk_option_menu_new ();   area_contents_s->sym_link_mode_menu = gtk_menu_new();      area_contents_s->sym_follow = gtk_menu_item_new_with_label ("Follow all");   gtk_signal_connect (GTK_OBJECT (area_contents_s->sym_follow),		       "activate",		       GTK_SIGNAL_FUNC (change_sym_mode),		       (gpointer) "follow");   gtk_widget_show (area_contents_s->sym_follow);   area_contents_s->sym_ignore = gtk_menu_item_new_with_label ("Ignore links");   gtk_signal_connect (GTK_OBJECT (area_contents_s->sym_ignore),		       "activate",		       GTK_SIGNAL_FUNC (change_sym_mode),		       (gpointer) "ignore");   gtk_widget_show (area_contents_s->sym_ignore);   area_contents_s->sym_maintain = gtk_menu_item_new_with_label ("Maintain links");   gtk_signal_connect (GTK_OBJECT (area_contents_s->sym_maintain),		       "activate",		       GTK_SIGNAL_FUNC (change_sym_mode),		       (gpointer) "maintain");   gtk_widget_show (area_contents_s->sym_maintain);   gtk_menu_append (GTK_MENU (area_contents_s->sym_link_mode_menu),		    area_contents_s->sym_follow);   gtk_menu_append (GTK_MENU (area_contents_s->sym_link_mode_menu),		    area_contents_s->sym_ignore);   gtk_menu_append (GTK_MENU (area_contents_s->sym_link_mode_menu),		    area_contents_s->sym_maintain);      gtk_option_menu_set_menu (GTK_OPTION_MENU (area_contents_s->sym_link_mode),			     area_contents_s->sym_link_mode_menu);   /* Set the current value correctly */   switch (selected_site->symlinks) {    case sitesym_follow:      gtk_option_menu_set_history (GTK_OPTION_MENU (area_contents_s->sym_link_mode), 0);      break;    case sitesym_ignore:      gtk_option_menu_set_history (GTK_OPTION_MENU (area_contents_s->sym_link_mode), 1);      break;    case sitesym_maintain:      gtk_option_menu_set_history (GTK_OPTION_MENU (area_contents_s->sym_link_mode), 2);      break;   }   gtk_widget_show (area_contents_s->sym_link_mode);   gtk_table_attach_defaults (GTK_TABLE (tablet), area_contents_s->sym_link_mode,			      1, 2, 1, 2);   /* 'Advanced' stuff... Excludes & name mappings so far. */      area_contents_s->advanced_frame = gtk_frame_new ("Advanced");/*   gtk_container_set_border_width (GTK_CONTAINER (area_contents_s->advanced_frame), 5);*/   gtk_widget_show (area_contents_s->advanced_frame);   area_contents_s->advanced_notebook = gtk_notebook_new ();   gtk_widget_show (area_contents_s->advanced_notebook);      area_contents_s->excludes_vbox = gtk_vbox_new (FALSE, 2);   label = gtk_label_new ("Excludes");   gtk_widget_show (label);   gtk_notebook_append_page (GTK_NOTEBOOK (area_contents_s->advanced_notebook),			     GTK_WIDGET (area_contents_s->excludes_vbox),			     GTK_WIDGET (label));   gtk_widget_show (area_contents_s->excludes_vbox);      excludes_clist = gtk_clist_new (1);   gtk_clist_set_selection_mode (GTK_CLIST (excludes_clist), GTK_SELECTION_SINGLE);/*   gtk_clist_set_column_width (GTK_CLIST (excludes_clist), 0, 100);*/   populate_excludes ();   gtk_clist_columns_autosize (GTK_CLIST (excludes_clist));   gtk_signal_connect (GTK_OBJECT (excludes_clist), "select_row",		       GTK_SIGNAL_FUNC (select_exclude), NULL);/*   gtk_clist_select_row (GTK_CLIST (excludes_clist), 0, 0);*/   gtk_clist_set_shadow_type (GTK_CLIST (excludes_clist), GTK_SHADOW_IN);      area_contents_s->excludes_scroller = gtk_scrolled_window_new (NULL, NULL);   gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (area_contents_s->excludes_scroller),				   GTK_POLICY_AUTOMATIC,				   GTK_POLICY_AUTOMATIC);   gtk_container_add (GTK_CONTAINER (area_contents_s->excludes_scroller),		      excludes_clist);   gtk_widget_show (area_contents_s->excludes_scroller);   gtk_box_pack_start (GTK_BOX (area_contents_s->excludes_vbox), area_contents_s->excludes_scroller,		       TRUE, TRUE, 5);   gtk_widget_show (excludes_clist);      area_contents_s->excludes_hbox = gtk_hbox_new (FALSE, 1);   gtk_widget_show (area_contents_s->excludes_hbox);   label = gtk_label_new ("Exclude:");   gtk_box_pack_start (GTK_BOX (area_contents_s->excludes_hbox),		       label, FALSE, FALSE, 1);   gtk_widget_show (label);      excludes_entry = gtk_entry_new ();   gtk_signal_connect (GTK_OBJECT (excludes_entry), "changed",		       GTK_SIGNAL_FUNC (change_exclude), NULL);   gtk_box_pack_start (GTK_BOX (area_contents_s->excludes_hbox),		       excludes_entry, TRUE, TRUE, 1);   gtk_widget_show (excludes_entry);      area_contents_s->excludes_new = gtk_button_new_with_label ("New");   gtk_signal_connect (GTK_OBJECT (area_contents_s->excludes_new),		       "clicked", GTK_SIGNAL_FUNC (add_exclude), NULL);   gtk_box_pack_start (GTK_BOX (area_contents_s->excludes_hbox),		       area_contents_s->excludes_new, FALSE, FALSE, 1);   gtk_widget_show (area_contents_s->excludes_new);      area_contents_s->excludes_delete = gtk_button_new_with_label ("Delete");   gtk_signal_connect (GTK_OBJECT (area_contents_s->excludes_delete),		       "clicked", GTK_SIGNAL_FUNC (remove_exclude), NULL);   gtk_box_pack_start (GTK_BOX (area_contents_s->excludes_hbox),		       area_contents_s->excludes_delete, FALSE, FALSE, 1);   gtk_widget_show (area_contents_s->excludes_delete);      gtk_box_pack_start (GTK_BOX (area_contents_s->excludes_vbox),		       area_contents_s->excludes_hbox, FALSE, FALSE, 5);   /* Name mappings */   /*   label = gtk_label_new ("Name Mappings");   			  gtk_widget_show (label);   area_contents_s->name_map_vbox = gtk_vbox_new (FALSE, 2);   gtk_notebook_append_page (GTK_NOTEBOOK (area_contents_s->advanced_notebook),			     GTK_WIDGET (area_contents_s->name_map_vbox),			     GTK_WIDGET (label));   gtk_widget_show (area_contents_s->name_map_vbox);      name_map_clist = gtk_clist_new_with_titles (2, map_title);   gtk_clist_set_selection_mode (GTK_CLIST (name_map_clist), GTK_SELECTION_SINGLE);   gtk_clist_set_column_width (GTK_CLIST (name_map_clist), 0, 100);   populate_name_map ();   gtk_clist_columns_autosize (GTK_CLIST (excludes_clist));   gtk_signal_connect (GTK_OBJECT (name_map_clist), "select_row",		       GTK_SIGNAL_FUNC (select_name_map), NULL);   area_contents_s->name_map_scroller = gtk_scrolled_window_new (NULL, NULL);   gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (area_contents_s->name_map_scroller),				   GTK_POLICY_AUTOMATIC,				   GTK_POLICY_AUTOMATIC);   gtk_container_add (GTK_CONTAINER (area_contents_s->name_map_scroller),		      name_map_clist);   gtk_widget_show (area_contents_s->name_map_scroller);   gtk_box_pack_start (GTK_BOX (area_contents_s->name_map_vbox), area_contents_s->name_map_scroller,		       TRUE, TRUE, 5);   gtk_widget_show (name_map_clist);      area_contents_s->name_map_hbox = gtk_hbox_new (FALSE, 1);   gtk_widget_show (area_contents_s->name_map_hbox);   label = gtk_label_new ("Local name:");   gtk_box_pack_start (GTK_BOX (area_contents_s->name_map_hbox),		       label, FALSE, FALSE, 1);   gtk_widget_show (label);      name_map_local_entry = gtk_entry_new ();   gtk_signal_connect (GTK_OBJECT (name_map_local_entry), "changed",		       GTK_SIGNAL_FUNC (change_local_map), NULL);   gtk_box_pack_start (GTK_BOX (area_contents_s->name_map_hbox),		       name_map_local_entry, TRUE, TRUE, 1);   gtk_widget_show (name_map_local_entry);      area_contents_s->name_map_new = gtk_button_new_with_label ("New");   gtk_signal_connect (GTK_OBJECT (area_contents_s->name_map_new),		       "clicked", GTK_SIGNAL_FUNC (add_name_map), NULL);   gtk_box_pack_start (GTK_BOX (area_contents_s->name_map_hbox),		       area_contents_s->name_map_new, FALSE, FALSE, 1);   gtk_widget_show (area_contents_s->name_map_new);      area_contents_s->name_map_delete = gtk_button_new_with_label ("Delete");   gtk_signal_connect (GTK_OBJECT (area_contents_s->name_map_delete),		       "clicked", GTK_SIGNAL_FUNC (remove_name_map), NULL);   gtk_box_pack_start (GTK_BOX (area_contents_s->name_map_hbox),		       area_contents_s->name_map_delete, FALSE, FALSE, 1);   gtk_widget_show (area_contents_s->name_map_delete);      gtk_box_pack_start (GTK_BOX (area_contents_s->name_map_vbox),		       area_contents_s->name_map_hbox, FALSE, FALSE, 2);*/   /* Remote widget */   /*   area_contents_s->name_map_hbox = gtk_hbox_new (FALSE, 1);   gtk_widget_show (area_contents_s->name_map_hbox);   label = gtk_label_new ("Remote name:");   gtk_box_pack_start (GTK_BOX (area_contents_s->name_map_hbox),		       label, FALSE, FALSE, 1);   gtk_widget_show (label);      name_map_remote_entry = gtk_entry_new ();   gtk_signal_connect (GTK_OBJECT (name_map_remote_entry), "changed",		       GTK_SIGNAL_FUNC (change_remote_map), NULL);   gtk_box_pack_start (GTK_BOX (area_contents_s->name_map_hbox),		       name_map_remote_entry, TRUE, TRUE, 1);   gtk_widget_show (name_map_remote_entry);         gtk_box_pack_start (GTK_BOX (area_contents_s->name_map_vbox),		       area_contents_s->name_map_hbox, FALSE, FALSE, 2);*/      /* Put the 'advanced' notebook into the frame. */   gtk_container_add (GTK_CONTAINER (area_contents_s->advanced_frame),		      area_contents_s->advanced_notebook);         /* Info summary */   area_contents_s->info_frame = gtk_frame_new ("Statistics");   gtk_widget_show (area_contents_s->info_frame);   area_contents_s->evbox = gtk_event_box_new ();   gtk_widget_show (area_contents_s->evbox);      files_on_site = selected_site->numnew + selected_site->numchanged + selected_site->numdeleted + selected_site->nummoved + selected_site->numunchanged;      info = malloc (BUFSIZ);   if ( ! selected_site->is_different) {      sprintf(info, "The local site contains %d files, none of which have changed since the last update.",	      files_on_site);   } else {      sprintf(info, "The local site has changed since the last update:\n%d files have been added, %d files have changed, %d files have been deleted, %d files have been moved, %d remain unchanged.\nThere are currently %d files on the local site.",	      selected_site->numnew,	      selected_site->numchanged,	      selected_site->numdeleted,	      selected_site->nummoved,	      selected_site->numunchanged,	      files_on_site);   }   label = gtk_label_new (info);   free (info);   gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);      /* TODO: Add a config option for more stats, like how much space the new    * files take up, how many excludes, etc. */      gtk_container_add (GTK_CONTAINER (area_contents_s->evbox), label);   gtk_container_add (GTK_CONTAINER (area_contents_s->info_frame), area_contents_s->evbox);   gtk_widget_show (label);      /* Left side of site widgets */   subtable = gtk_vbox_new (FALSE, 3);   gtk_widget_show (subtable);   gtk_box_pack_start (GTK_BOX (subtable), area_contents_s->site_details_frame, TRUE, TRUE, 2);   gtk_box_pack_start (GTK_BOX (subtable), area_contents_s->flags_frame, TRUE, TRUE, 2);   gtk_box_pack_start (GTK_BOX (subtable), area_contents_s->info_frame, TRUE, TRUE, 2);      gtk_box_pack_start (GTK_BOX (table), subtable, TRUE, TRUE, 1);   /* Right side of site widgets */   subtable = gtk_vbox_new (FALSE, 3);   gtk_widget_show (subtable);   gtk_box_pack_start (GTK_BOX (subtable), area_contents_s->dir_frame, TRUE, TRUE, 2);   gtk_box_pack_start (GTK_BOX (subtable), area_contents_s->file_attrib_frame, TRUE, TRUE, 2);   gtk_box_pack_start (GTK_BOX (subtable), area_contents_s->advanced_frame, TRUE, TRUE, 2);      gtk_box_pack_start (GTK_BOX (table), subtable, TRUE, TRUE, 1);      gtk_widget_show (table);   area_contents_s->container = area_contents_s->frame;/*   gtk_container_set_border_width (GTK_CONTAINER (area_contents_s->container), 20);*/      gtk_widget_set_sensitive (area_contents_s->local_dir, FALSE);/*   gtk_widget_set_sensitive (area_contents_s->remote_dir, FALSE);*/   gtk_widget_show (area_contents_s->frame);      if (should_save_at_end)     rcfile_saved = true;   return area_contents_s->frame;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -