📄 dialog.c
字号:
#ifdef HAVE_CONFIG_H# include <config.h>#endif#include <stdio.h>#include <stdlib.h>#include <string.h>#include <errno.h>#include <sys/time.h>#include <gnome.h>#include <glib.h>#include <bonobo.h>#include <sys/types.h>#include "common.h"#include "interface.h"#include "callbacks.h"#include "support.h"voidread_message_dialog(const gchar *user,const gchar *ipaddr, long sec){ GtkWidget *dialog; GtkLabel *userlabel; GtkLabel *timelabel; userdb_t *user_info=NULL; char buffer[64]; dbg_out("here\n"); if (!hostinfo_refer_ipmsg_default_confirm()) return; dialog=GTK_WIDGET(create_readNotifyDialog ()); userlabel=GTK_LABEL(lookup_widget(dialog,"readNotifyDialogUserGroupLabel")); if ( (user) && (ipaddr) ) { if (!userdb_search_user_by_addr(ipaddr,(const userdb_t **)&user_info)) { g_assert(userlabel); snprintf(buffer,63,"%s@%s (%s)",user_info->nickname,user_info->group,user_info->host); buffer[63]='\0'; gtk_label_set_text(userlabel,buffer); g_assert(!destroy_user_info(user_info)); }else{ gtk_label_set_text(userlabel,user); } g_free((gchar *)user); }else gtk_label_set_text(userlabel,(_("UnKnown"))); timelabel=GTK_LABEL(lookup_widget(dialog,"readNotifyLogonIPAddrLabel")); gtk_label_set_text(timelabel,asctime(localtime(&sec))); gtk_widget_show (dialog);}intinfo_message_window(const gchar *user,const gchar *ipaddr, unsigned long command,const char *message){ GtkWidget *window; GtkLabel *userlabel; GtkLabel *typelabel; userdb_t *user_info=NULL; char buffer[64]; GtkTextView *text_view; GtkTextBuffer *text_buffer; gchar *internal_message=NULL; size_t len; int rc; dbg_out("here\n"); rc= -EINVAL; if (!message) goto error_out; window=GTK_WIDGET(create_clientInfoWindow ()); g_assert(window); userlabel=GTK_LABEL(lookup_widget(window,"clientInfoUserLabel")); typelabel=GTK_LABEL(lookup_widget(window,"clientInfoTypeLabel")); g_assert(userlabel); g_assert(typelabel); text_view=GTK_TEXT_VIEW(lookup_widget(GTK_WIDGET(window),"clientInfoTextview")); g_assert(text_view); text_buffer=gtk_text_view_get_buffer(text_view); g_assert(text_buffer); rc= -EINVAL; switch(command) { case IPMSG_SENDINFO: gtk_label_set_text(typelabel,_("Version Information")); break; case IPMSG_SENDABSENCEINFO: gtk_label_set_text(typelabel,_("Absence Information")); break; default: goto error_out; break; } if ( (user) && (ipaddr) ) { if (!userdb_search_user_by_addr(ipaddr,(const userdb_t **)&user_info)) { g_assert(userlabel); snprintf(buffer,63,"%s@%s (%s)",user_info->nickname,user_info->group,user_info->host); buffer[63]='\0'; gtk_label_set_text(userlabel,buffer); g_assert(!destroy_user_info(user_info)); }else{ gtk_label_set_text(userlabel,user); } }else gtk_label_set_text(userlabel,(_("UnKnown"))); convert_string_internal(message,(const gchar **)&internal_message); if (!internal_message) goto error_out; len=strlen(internal_message); gtk_text_buffer_set_text(text_buffer,internal_message,len); gtk_widget_show (window); rc=0; g_free(internal_message); error_out: if (user) g_free((gchar *)user); return rc;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -