?? callbacks.c
字號:
/* * Licensed Materials - Property of IBM * * trousers - An open source TCG Software Stack * * (C) Copyright International Business Machines Corp. 2004 * */#ifdef HAVE_CONFIG_H# include <config.h>#endif#include <gtk/gtk.h>#include <string.h>#undef TRUE#undef FALSE#include "callbacks.h"#include "interface.h"#include "support.h"#include "trousers/tss.h"#include "trousers/trousers.h"#include "tsplog.h"/* Callbacks for the simple password dialog */voidon_inputdialog1_destroy(GtkObject *object, struct userdata *user_data){ gtk_widget_destroy(user_data->window); gtk_main_quit();}voidon_dialog1_close(GtkDialog *dialog, struct userdata *user_data){ gtk_widget_destroy(user_data->window); gtk_main_quit();}voidon_cancelbutton1_clicked(GtkButton *button, struct userdata *user_data){ LogDebugFn(); gtk_widget_destroy(user_data->window); user_data->string_len = 0; gtk_main_quit();}voidon_okbutton1_clicked(GtkButton *button, struct userdata *user_data){ const gchar *entry_text = gtk_entry_get_text (GTK_ENTRY(user_data->entry)); LogDebugFn(); user_data->string = (char *)Trspi_Native_To_UNICODE((BYTE *)entry_text, &user_data->string_len); gtk_widget_destroy(user_data->window); gtk_main_quit();}gbooleanenter_event(GtkWidget *widget, struct userdata *user_data){ const gchar *entry_text = gtk_entry_get_text (GTK_ENTRY(user_data->entry)); LogDebugFn(); user_data->string = (char *)Trspi_Native_To_UNICODE((BYTE *)entry_text, &user_data->string_len); gtk_widget_destroy(user_data->window); gtk_main_quit(); return TRUE;}/* Callbacks for the new password dialog */voidon_entryPassword_activate(GtkEntry *entry, struct userdata *user_data){ const gchar *entryPass_text = gtk_entry_get_text (GTK_ENTRY(user_data->entryPass)); const gchar *entryConf_text = gtk_entry_get_text (GTK_ENTRY(user_data->entryConf)); int len = strlen(entryConf_text); if (strlen(entryConf_text) == strlen(entryPass_text)) { if (!memcmp(entryPass_text, entryConf_text, len)) { user_data->string = (char *)Trspi_Native_To_UNICODE((BYTE *)entryConf_text, &user_data->string_len); gtk_widget_destroy(user_data->window); gtk_main_quit(); LogDebugFn("string len ptr: %p, value = %u", &user_data->string_len, user_data->string_len); return; } } gtk_widget_grab_focus(user_data->entryConf);}voidon_entryConfirm_activate(GtkEntry *entry, struct userdata *user_data){ const gchar *entryPass_text = gtk_entry_get_text (GTK_ENTRY(user_data->entryPass)); const gchar *entryConf_text = gtk_entry_get_text (GTK_ENTRY(user_data->entryConf)); unsigned len = strlen(entryConf_text); if (strlen(entryConf_text) == strlen(entryPass_text)) { if (!memcmp(entryPass_text, entryConf_text, len)) { user_data->string = (char *)Trspi_Native_To_UNICODE((BYTE *)entryConf_text, &user_data->string_len); gtk_widget_destroy(user_data->window); gtk_main_quit(); LogDebugFn("string len ptr: %p, value = %u", &user_data->string_len, user_data->string_len); return; } } gtk_widget_grab_focus(user_data->entryPass);}voidon_cancelbutton2_clicked(GtkButton *button, struct userdata *user_data){ LogDebugFn(); gtk_widget_destroy(user_data->window); user_data->string_len = 0; gtk_main_quit();}voidon_okbutton2_clicked(GtkButton *button, struct userdata *user_data){ const gchar *entryPass_text = gtk_entry_get_text (GTK_ENTRY(user_data->entryPass)); const gchar *entryConf_text = gtk_entry_get_text (GTK_ENTRY(user_data->entryConf)); unsigned len = strlen(entryConf_text); if (strlen(entryConf_text) == strlen(entryPass_text)) { if (!memcmp(entryPass_text, entryConf_text, len)) { user_data->string = (char *)Trspi_Native_To_UNICODE((BYTE *)entryConf_text, &user_data->string_len); gtk_widget_destroy(user_data->window); gtk_main_quit(); LogDebugFn("string len ptr: %p, value = %u", &user_data->string_len, user_data->string_len); return; } } gtk_widget_grab_focus(user_data->entryPass);}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -