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

📄 prefs_dialog_plugins_prefs.c

📁 大国补丁后的nessus2.2.8的源代码
💻 C
📖 第 1 页 / 共 2 页
字号:
  }  return vbox;}static intfile_dialog_hide(GtkWidget * filew, GtkWidget * nul){  gtk_widget_hide(filew);  gtk_widget_destroy(filew);  return 0;}static intfile_selected(GtkWidget * nul, GtkWidget * filew){  struct arglist *c;  GtkWidget *entry;  char *fname =      (char *)gtk_file_selection_get_filename(GTK_FILE_SELECTION(filew));  gtk_widget_hide(filew);  c = gtk_object_get_data(GTK_OBJECT(filew), "data");  entry = arg_get_value(c, "ENTRY");  gtk_entry_set_text(GTK_ENTRY(entry), fname);  return 0;}static intselect_file(GtkWidget * b, struct arglist *ctrls){  GtkWidget *filew = gtk_file_selection_new(_("Select file"));  gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(filew)->ok_button),      "clicked", (GtkSignalFunc) file_selected, filew);  gtk_signal_connect_object(GTK_OBJECT(GTK_FILE_SELECTION(filew)->	  cancel_button), "clicked", GTK_SIGNAL_FUNC(file_dialog_hide),      GTK_OBJECT(filew));  gtk_object_set_data(GTK_OBJECT(filew), "data", ctrls);  gtk_widget_show(filew);  return 0;}static voidpprefs_add_entry(pprefs, pref, value, vbox)  struct arglist *pprefs;  struct arglist *pref;  char *value;  GtkWidget *vbox;{  GtkWidget *entry, *text, *box;  char *name = pref->name;  char *fullname = arg_get_value(pref->value, "fullname");  if(pprefs)  {    int type;    if((type = arg_get_type(pprefs, fullname)) >= 0)    {      value = arg_get_value(pprefs, fullname);      if(type == ARG_INT)      {	if(value)	  value = strdup("yes");	else	  value = strdup("no");      }    }  }  box = gtk_hbox_new(FALSE, 0);  gtk_box_pack_start(GTK_BOX(vbox), box, FALSE, FALSE, 5);  gtk_widget_show(box);  text = gtk_label_new(name);  gtk_box_pack_start(GTK_BOX(box), text, TRUE, TRUE, 5);  gtk_widget_show(text);  entry = gtk_entry_new();  gtk_entry_set_text(GTK_ENTRY(entry), value);  gtk_box_pack_end(GTK_BOX(box), entry, TRUE, TRUE, 5);  gtk_widget_show(entry);  arg_add_value(pref->value, "ENTRY", ARG_PTR, -1, entry);}static voidpprefs_add_password(pprefs, pref, value, vbox)  struct arglist *pprefs;  struct arglist *pref;  char *value;  GtkWidget *vbox;{  GtkWidget *entry, *text, *box;  char *name = pref->name;  char *fullname = arg_get_value(pref->value, "fullname");  if(pprefs)  {    int type;    if((type = arg_get_type(pprefs, fullname)) >= 0)    {      value = arg_get_value(pprefs, fullname);      if(type == ARG_INT)      {	if(value)	  value = strdup("yes");	else	  value = strdup("no");      }    }  }  box = gtk_hbox_new(FALSE, 0);  gtk_box_pack_start(GTK_BOX(vbox), box, FALSE, FALSE, 5);  gtk_widget_show(box);  text = gtk_label_new(name);  gtk_box_pack_start(GTK_BOX(box), text, TRUE, TRUE, 5);  gtk_widget_show(text);  entry = gtk_entry_new();  gtk_entry_set_visibility(GTK_ENTRY(entry), FALSE);  gtk_entry_set_text(GTK_ENTRY(entry), value);  gtk_box_pack_end(GTK_BOX(box), entry, TRUE, TRUE, 5);  gtk_widget_show(entry);  arg_add_value(pref->value, "ENTRY", ARG_PTR, -1, entry);}static voidpprefs_add_file(pprefs, pref, value, vbox)  struct arglist *pprefs;  struct arglist *pref;  char *value;  GtkWidget *vbox;{  GtkWidget *entry, *text, *box;  GtkWidget *hbox, *button;  char *name = pref->name;  char *fullname = arg_get_value(pref->value, "fullname");  if(pprefs)  {    int type;    if((type = arg_get_type(pprefs, fullname)) >= 0)    {      value = arg_get_value(pprefs, fullname);      if(type == ARG_INT)      {	if(value)	  value = strdup("yes");	else	  value = strdup("no");      }    }  }  box = gtk_hbox_new(FALSE, 0);  gtk_box_pack_start(GTK_BOX(vbox), box, FALSE, FALSE, 5);  gtk_widget_show(box);  text = gtk_label_new(name);  gtk_box_pack_start(GTK_BOX(box), text, TRUE, TRUE, 5);  gtk_widget_show(text);  hbox = gtk_hbox_new(FALSE, 0);  gtk_box_pack_end(GTK_BOX(box), hbox, TRUE, TRUE, 5);  gtk_widget_show(hbox);  entry = gtk_entry_new();  gtk_entry_set_text(GTK_ENTRY(entry), value);  gtk_box_pack_start(GTK_BOX(hbox), entry, TRUE, TRUE, 5);  gtk_widget_show(entry);  arg_add_value(pref->value, "ENTRY", ARG_PTR, -1, entry);  button = gtk_button_new_with_label(_("Select..."));  gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 5);  gtk_signal_connect(GTK_OBJECT(button), "clicked",      (GtkSignalFunc) select_file, pref->value);  gtk_widget_show(button);}static voidpprefs_add_radio(pprefs, pref, value, vbox)  struct arglist *pprefs;  struct arglist *pref;  char *value;  GtkWidget *vbox;{  GtkWidget *orig;  GtkWidget *button, *first_button;  GtkWidget *label;  char *t;  GSList *list = NULL;  char *fullname = arg_get_value(pref->value, "fullname");  char *def = NULL;  if(pprefs)  {    int type;    if((type = arg_get_type(pprefs, fullname)) >= 0)    {      def = arg_get_value(pprefs, fullname);      if(type == ARG_INT)      {	if(def)	  def = strdup("yes");	else	  def = strdup("no");      }    }  }  label = gtk_label_new(pref->name);  gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5);  gtk_widget_show(label);  t = strchr(value, ';');  if(t)    t[0] = '\0';  first_button = orig = gtk_radio_button_new_with_label(NULL, value);  gtk_box_pack_start(GTK_BOX(vbox), orig, FALSE, FALSE, 5);  gtk_object_set_data(GTK_OBJECT(orig), "name", value);  gtk_widget_show(orig);  gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(orig), TRUE);  value = t + sizeof(char);  if(t)    while(value)    {      if((t = strchr(value, ';')))	t[0] = '\0';      button =	  gtk_radio_button_new_with_label(gtk_radio_button_group	  (GTK_RADIO_BUTTON(orig)), value);      gtk_object_set_data(GTK_OBJECT(button), "name", value);      if(def && !strcmp(def, value))	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), TRUE);      gtk_box_pack_start(GTK_BOX(vbox), button, FALSE, FALSE, 5);      gtk_widget_show(button);      if(t)	value = t + sizeof(char);      else	value = NULL;    }  list = gtk_radio_button_group(GTK_RADIO_BUTTON(orig));  arg_add_value(pref->value, "RADIOBUTTONS", ARG_PTR, -1, list);}static voidpprefs_add_checkbox(pprefs, pref, value, vbox)  struct arglist *pprefs;  struct arglist *pref;  char *value;  GtkWidget *vbox;{  GtkWidget *box;  GtkWidget *button;  char *name = pref->name;  char *def = NULL;  char *fullname = arg_get_value(pref->value, "fullname");  if(pprefs)  {    int type;    if((type = arg_get_type(pprefs, fullname)) >= 0)    {      def = arg_get_value(pprefs, fullname);      if(type == ARG_INT)      {	if(def)	  def = strdup("yes");	else	  def = strdup("no");      }    }  }  box = gtk_hbox_new(FALSE, 0);  gtk_box_pack_start(GTK_BOX(vbox), box, FALSE, FALSE, 5);  gtk_widget_show(box);  button = gtk_check_button_new_with_label(estrdup(name));  gtk_box_pack_start(GTK_BOX(box), button, FALSE, FALSE, 5);  gtk_widget_show(button);  if(def)  {    if(!strcmp(def, "yes"))      gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button), TRUE);    else      gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button), FALSE);  }  else    gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button), !strcmp(value, "yes"));  arg_add_value(pref->value, "CHECKBOX", ARG_PTR, -1, button);}#endif

⌨️ 快捷键说明

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