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

📄 fe_gtk_site_ops.c

📁 站点映像程序
💻 C
📖 第 1 页 / 共 2 页
字号:
  gtk_widget_ref (label3);  gtk_object_set_data_full (GTK_OBJECT (upload_window), "label3", label3,                            (GtkDestroyNotify) gtk_widget_unref);  gtk_widget_show (label3);  gtk_table_attach (GTK_TABLE (table1), label3, 0, 1, 0, 1,                    (GtkAttachOptions) (GTK_FILL),                    (GtkAttachOptions) (0), 0, 0);  gtk_label_set_justify (GTK_LABEL (label3), GTK_JUSTIFY_LEFT);  gtk_misc_set_alignment (GTK_MISC (label3), 7.45058e-09, 0.5);  label6 = gtk_label_new ("To: ");  gtk_widget_ref (label6);  gtk_object_set_data_full (GTK_OBJECT (upload_window), "label6", label6,                            (GtkDestroyNotify) gtk_widget_unref);  gtk_widget_show (label6);  gtk_table_attach (GTK_TABLE (table1), label6, 0, 1, 3, 4,                    (GtkAttachOptions) (GTK_FILL),                    (GtkAttachOptions) (0), 0, 0);  gtk_label_set_justify (GTK_LABEL (label6), GTK_JUSTIFY_LEFT);  gtk_misc_set_alignment (GTK_MISC (label6), 7.45058e-09, 0.5);  dir_label = gtk_label_new (" ");  gtk_widget_ref (dir_label);  gtk_object_set_data_full (GTK_OBJECT (upload_window), "dir_label", dir_label,                            (GtkDestroyNotify) gtk_widget_unref);  gtk_widget_show (dir_label);  gtk_table_attach (GTK_TABLE (table1), dir_label, 1, 2, 3, 4,                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),                    (GtkAttachOptions) (0), 0, 0);  gtk_label_set_justify (GTK_LABEL (dir_label), GTK_JUSTIFY_LEFT);  gtk_misc_set_alignment (GTK_MISC (dir_label), 7.45058e-09, 0.5);  hseparator1 = gtk_hseparator_new ();  gtk_widget_ref (hseparator1);  gtk_object_set_data_full (GTK_OBJECT (upload_window), "hseparator1", hseparator1,                            (GtkDestroyNotify) gtk_widget_unref);  gtk_widget_show (hseparator1);  gtk_box_pack_start (GTK_BOX (vbox1), hseparator1, TRUE, TRUE, 5);  label2 = gtk_label_new ("Current Progress");  gtk_widget_ref (label2);  gtk_object_set_data_full (GTK_OBJECT (upload_window), "label2", label2,                            (GtkDestroyNotify) gtk_widget_unref);  gtk_widget_show (label2);  gtk_box_pack_start (GTK_BOX (vbox1), label2, TRUE, FALSE, 2);  gtk_misc_set_alignment (GTK_MISC (label2), 0.5, 1);  main_progressbar = gtk_progress_bar_new ();  gtk_widget_ref (main_progressbar);  gtk_object_set_data_full (GTK_OBJECT (upload_window), "main_progressbar", main_progressbar,                            (GtkDestroyNotify) gtk_widget_unref);  gtk_widget_show (main_progressbar);  gtk_box_pack_start (GTK_BOX (vbox1), main_progressbar, TRUE, FALSE, 0);  gtk_progress_set_show_text (GTK_PROGRESS (main_progressbar), TRUE);  label1 = gtk_label_new ("Total Progress");  gtk_widget_ref (label1);  gtk_object_set_data_full (GTK_OBJECT (upload_window), "label1", label1,                            (GtkDestroyNotify) gtk_widget_unref);  gtk_widget_show (label1);  gtk_box_pack_start (GTK_BOX (vbox1), label1, TRUE, FALSE, 2);  gtk_misc_set_alignment (GTK_MISC (label1), 0.5, 1);  job_progressbar = gtk_progress_bar_new ();  gtk_widget_ref (job_progressbar);  gtk_object_set_data_full (GTK_OBJECT (upload_window), "job_progressbar", job_progressbar,                            (GtkDestroyNotify) gtk_widget_unref);  gtk_widget_show (job_progressbar);  gtk_box_pack_start (GTK_BOX (vbox1), job_progressbar, TRUE, FALSE, 0);  gtk_progress_set_show_text (GTK_PROGRESS (job_progressbar), TRUE);  keep_going_button = gtk_check_button_new_with_label ("Keep going if there is a problem creating directories.");  gtk_widget_ref (keep_going_button);  gtk_object_set_data_full (GTK_OBJECT (upload_window), "keep_going_button", keep_going_button,                            (GtkDestroyNotify) gtk_widget_unref);  gtk_widget_show (keep_going_button);  gtk_box_pack_start (GTK_BOX (vbox1), keep_going_button, TRUE, TRUE, 0);  dialog_action_area1 = GNOME_DIALOG (upload_window)->action_area;  gtk_object_set_data (GTK_OBJECT (upload_window), "dialog_action_area1", dialog_action_area1);  gtk_widget_show (dialog_action_area1);  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_with_pixmap (GNOME_DIALOG (upload_window),                                          "Upload", GNOME_STOCK_PIXMAP_CONVERT);  begin_button = g_list_last (GNOME_DIALOG (upload_window)->buttons)->data;  gtk_widget_ref (begin_button);  gtk_object_set_data_full (GTK_OBJECT (upload_window), "begin_button", begin_button,                            (GtkDestroyNotify) gtk_widget_unref);  gtk_widget_show (begin_button);  GTK_WIDGET_SET_FLAGS (begin_button, GTK_CAN_DEFAULT);  gnome_dialog_append_button_with_pixmap (GNOME_DIALOG (upload_window),                                          "View Errors", GNOME_STOCK_PIXMAP_SEARCH);  error_button = g_list_last (GNOME_DIALOG (upload_window)->buttons)->data;  gtk_widget_ref (error_button);  gtk_object_set_data_full (GTK_OBJECT (upload_window), "error_button", error_button,                            (GtkDestroyNotify) gtk_widget_unref);  gtk_signal_connect_object (GTK_OBJECT (error_button), "clicked",									  GTK_SIGNAL_FUNC(gtk_widget_show),									  GTK_OBJECT (error_log_window));  gtk_widget_show (error_button);  gtk_widget_set_sensitive (error_button, FALSE);  GTK_WIDGET_SET_FLAGS (error_button, GTK_CAN_DEFAULT);  gnome_dialog_append_button (GNOME_DIALOG (upload_window), GNOME_STOCK_BUTTON_CLOSE);  close_button = g_list_last (GNOME_DIALOG (upload_window)->buttons)->data;  gtk_widget_ref (close_button);  gtk_object_set_data_full (GTK_OBJECT (upload_window), "close_button", close_button,                            (GtkDestroyNotify) gtk_widget_unref);  gtk_signal_connect_object (GTK_OBJECT(close_button), "clicked",									  GTK_SIGNAL_FUNC(gtk_widget_destroy),									  GTK_OBJECT(upload_window));  gtk_widget_show (close_button);  GTK_WIDGET_SET_FLAGS (close_button, GTK_CAN_DEFAULT);  gtk_signal_connect (GTK_OBJECT (begin_button), "clicked",                      GTK_SIGNAL_FUNC (start_main_update),                      NULL);  gtk_widget_show(upload_window);}   int fe_catchup_site (void) {   if (selected_site == NULL) {      fe_status ("No site has been selected to catch-up.");      return 0;   }   fe_gtk_question ("This will mark ALL files as already updated.\nAre you sure you want to do this?",		(GnomeReplyCallback) catchup_selected);   return 0;}void catchup_selected (gint button_number, gpointer data) {   gchar result[BUFSIZ];      if (button_number == GNOME_YES) {      site_catchup (selected_site);      sprintf (result, "All files in %s of site %s\nhave been marked as updated.",	       selected_site->local_root, selected_site->name);      fe_status (result);      /* On huge sites, this may take ages? Progress bars/locking of ctree       * selection may be advisable... */      site_writefiles (selected_site);      redraw_main_area();      refresh_selected();   }}int fe_init_site (void) {   if (selected_site == NULL) {      fe_status ("No site has been selected to initialise.");      return 0;   }   fe_gtk_question ("This will mark all files as *NOT* updated on the remote site.\nAre you sure you want to do this?",		(GnomeReplyCallback) initialize_selected);   return 0;}void initialize_selected (gint button_number, 			  gpointer data) {   gchar result[BUFSIZ];      switch (button_number) {    case GNOME_YES:      site_initialize (selected_site);      sprintf (result, "All files in %s of site '%s'\nhave been marked as *NOT* updated.",	       selected_site->local_root, selected_site->name);      fe_status (result);      /* On huge sites, this may take ages? Progress bars/locking of ctree       * selection may be advisable... */      site_writefiles (selected_site);      redraw_main_area();      refresh_selected();      break;    case GNOME_NO:      break;   }}void save_default (void) {   gchar tmp[BUFSIZ];   extern char *rcfile;   extern bool rcfile_saved;   extern GtkWidget *sitecopy;      if (rcfile == NULL) {      gnome_app_error (GNOME_APP (sitecopy), "The current rcfile is set to NULL. Sites will not be saved. Contact the maintainer.");      return;   }   if (rcfile_write (rcfile, all_sites) == 0) {      sprintf (tmp, "Site definitions saved to %s.", rcfile);      fe_status (tmp);   } else {      gnome_error_dialog ("There was an error writing the site definitions.\n They may not have saved correctly.");   }   rcfile_saved = true;}void delete_a_site (GtkWidget *button_or_menu, gpointer data) {   gchar tmp[BUFSIZ];      if (selected_site == NULL) {      gnome_error_dialog ("Cannot perform deletion - no site appears to be selected");   } else {      sprintf (tmp, "Are you sure you wish to permanently delete the record of '%s'?",	       selected_site->name);      fe_gtk_question (tmp, (GnomeReplyCallback) (delete_selected));   }}struct site_t *find_prev_site (struct site_t *a_site) {   struct site_t *tmp;   tmp = all_sites;   while ( tmp->next != NULL) {      if ( strcmp (tmp->next->name, selected_site->name) == 0 ) {	 return tmp;      } else {	 tmp = tmp->next;      }   }   return NULL; /* Bad if this ever happens */}void delete_selected (gint button_number) {   struct site_t *tmp, *tmp2;   extern GtkCTree *the_tree;   extern GtkCTreeNode *current_site_node;   extern bool rcfile_saved;      if (button_number != GNOME_YES)     return;   if ( (selected_site != NULL) && (all_sites != NULL) ) {      if (strcmp (all_sites->name, selected_site->name) == 0) {	 all_sites = all_sites->next;      } else {	 tmp = find_prev_site (selected_site);	 if (tmp->next != NULL) {	    tmp2 = tmp->next;	    tmp->next = tmp2->next;	 }      }      gtk_ctree_remove_node (GTK_CTREE (the_tree), 			     GTK_CTREE_NODE (current_site_node));      selected_site = NULL;      current_site_node = NULL;   } else {      gnome_error_dialog ("I've detected no site is selected, but one should be selected in order to get here. Oh dear.");   }   clear_main_area();   rcfile_saved = false;}

⌨️ 快捷键说明

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