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

📄 prefs.c

📁 AirFart监听 802.11流量
💻 C
字号:
/*   This file is part of AirFart.   AirFart is free software; you can redistribute it and/or modify   it under the terms of the GNU General Public License as published by   the Free Software Foundation; either version 2 of the License, or   (at your option) any later version.   AirFart is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the   GNU General Public License for more details.   You should have received a copy of the GNU General Public License   along with AirFart; if not, write to the Free Software   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA*/#include <string.h>#include <stdio.h>#include <stdlib.h>#include <time.h>#include <gtk/gtk.h>#include "airfart.h"#include "config.h"static GtkWidget *pref_window = NULL;#define DEVICE_SETTING 0static void set_general_option (GtkEntry *entry, int entrynum){	if (entrynum == DEVICE_SETTING)		g_snprintf(global_general_settings.device, sizeof(global_general_settings.device), "%s", gtk_entry_get_text(entry));	else		g_snprintf(global_general_settings.device, sizeof(global_general_settings.device), "%s", g_strdup_printf("%d", entrynum));	/*else if (entrynum == PROXYPORT)		global_proxy_info.proxyport = atoi(gtk_entry_get_text(entry));	else if (entrynum == PROXYUSER)		g_snprintf(global_proxy_info.proxyuser, sizeof(global_proxy_info.proxyuser), "%s", gtk_entry_get_text(entry));	else if (entrynum == PROXYPASS)		g_snprintf(global_proxy_info.proxypass, sizeof(global_proxy_info.proxypass), "%s", gtk_entry_get_text(entry));	proxy_info_is_from_gaimrc = 1; *//* If the user specifies it, we want					  to save it */}void save_in_pref_window(GtkWidget *w, void *data){	save_prefs();	}void destroy_pref_window(){	if (pref_window)		gtk_widget_destroy(pref_window);	pref_window = NULL;}void show_pref_window(GtkWidget *w, void *data){	GtkWidget *vbox, *prefs_box;	GtkWidget *buttons_box;	GtkWidget *save_button, *close_button;	GtkWidget *table, *label, *entry, *hbox;	GtkWidget *text;	load_prefs();		if (!pref_window) { 		pref_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);		gtk_window_set_default_size(GTK_WINDOW(pref_window), 300, -1);		gtk_window_set_title(GTK_WINDOW(pref_window), "Preferences");		gtk_window_set_role(GTK_WINDOW(pref_window), "pref_window");		gtk_window_set_policy(GTK_WINDOW(pref_window), FALSE, TRUE, TRUE);		gtk_widget_realize(pref_window);		vbox = gtk_vbox_new(FALSE, 5);		gtk_container_set_border_width(GTK_CONTAINER(vbox), 5);		gtk_container_add(GTK_CONTAINER(pref_window), vbox);		gtk_widget_show(vbox);				table = gtk_table_new(2, 4, FALSE);		gtk_container_set_border_width(GTK_CONTAINER(table), 5);		gtk_table_set_col_spacings(GTK_TABLE(table), 5);		gtk_table_set_row_spacings(GTK_TABLE(table), 10);		gtk_container_add(GTK_CONTAINER(vbox), table);		label = gtk_label_new_with_mnemonic("_Device");		gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);		gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, GTK_FILL, GTK_EXPAND, 0, 0);		entry = gtk_entry_new();		gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry);		gtk_table_attach(GTK_TABLE(table), entry, 1, 2, 0, 1, GTK_FILL, GTK_EXPAND, 0, 0);		g_signal_connect(GTK_OBJECT(entry), "changed",			   G_CALLBACK(set_general_option), (void *)DEVICE_SETTING);		gtk_entry_set_text(GTK_ENTRY(entry), global_general_settings.device);	/*		hbox = gtk_hbox_new(TRUE, 5);		gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);			label = gtk_label_new_with_mnemonic("Port");		gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);		gtk_table_attach(GTK_TABLE(table), label, 0, 1, 1, 2, GTK_FILL, GTK_EXPAND, 0, 0);			entry = gtk_entry_new();		gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry);		gtk_table_attach(GTK_TABLE(table), entry, 1, 2, 1, 2, GTK_FILL, GTK_EXPAND, 0, 0);		g_signal_connect(GTK_OBJECT(entry), "changed",			   G_CALLBACK(proxy_print_option), (void *)PROXYPORT); 		label = gtk_label_new_with_mnemonic("_User");		gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);		gtk_table_attach(GTK_TABLE(table), label, 0, 1, 2, 3, GTK_FILL, GTK_EXPAND, 0, 0);		entry = gtk_entry_new();		gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry);		gtk_table_attach(GTK_TABLE(table), entry, 1, 2, 2, 3, GTK_FILL, GTK_EXPAND, 0, 0);		g_signal_connect(GTK_OBJECT(entry), "changed",			   G_CALLBACK(proxy_print_option), (void *)PROXYUSER);		gtk_entry_set_text(GTK_ENTRY(entry), global_proxy_info.proxyuser);		hbox = gtk_hbox_new(TRUE, 5);		gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);			label = gtk_label_new_with_mnemonic("Pa_ssword");		gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5);		gtk_table_attach(GTK_TABLE(table), label, 0, 1, 3, 4, GTK_FILL, GTK_EXPAND, 0, 0);		entry = gtk_entry_new();		gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry);	gtk_table_attach(GTK_TABLE(table), entry, 1, 2, 3, 4, GTK_FILL , GTK_EXPAND, 0, 0);	gtk_entry_set_visibility(GTK_ENTRY(entry), FALSE);	g_signal_connect(GTK_OBJECT(entry), "changed",			   G_CALLBACK(proxy_print_option), (void *)PROXYPASS);	gtk_entry_set_text(GTK_ENTRY(entry), global_proxy_info.proxypass);*/		buttons_box = gtk_hbox_new(TRUE, 5);		gtk_box_pack_start(GTK_BOX(vbox), buttons_box, FALSE, FALSE, 0);		gtk_widget_show(buttons_box);		save_button = gtk_button_new_with_label("Save");		gtk_box_pack_start (GTK_BOX(buttons_box), save_button, FALSE, FALSE, 0);				gtk_widget_show(save_button);		gtk_signal_connect_object(GTK_OBJECT(save_button), "clicked",				GTK_SIGNAL_FUNC(save_in_pref_window), NULL);				close_button = gtk_button_new_with_label("Close");		gtk_box_pack_start(GTK_BOX(buttons_box), close_button, FALSE, FALSE, 0);		gtk_widget_show(close_button);		gtk_signal_connect_object(GTK_OBJECT(close_button), "clicked", 				GTK_SIGNAL_FUNC(destroy_pref_window), GTK_OBJECT(pref_window));		gtk_signal_connect(GTK_OBJECT(pref_window), "destroy", 				GTK_SIGNAL_FUNC(destroy_pref_window), GTK_OBJECT(pref_window));		gtk_widget_show_all(table);	}	gtk_widget_show(pref_window);	gtk_window_present(GTK_WINDOW(pref_window));}

⌨️ 快捷键说明

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