Changeset 3348 for trunk/jons-gtk2-gui
- Timestamp:
- 03/11/03 10:18:43 (6 years ago)
- Files:
-
- 1 modified
-
trunk/jons-gtk2-gui/src/user_info_window.cpp (modified) (25 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/jons-gtk2-gui/src/user_info_window.cpp
r3324 r3348 20 20 21 21 #include "licq_gtk.h" 22 #include "utilities.h" 22 23 23 24 #include "licq_countrycodes.h" … … 26 27 #include <gtk/gtk.h> 27 28 #include <stdlib.h> 29 30 #include <iostream> 31 using namespace std; 28 32 29 33 struct info_user … … 72 76 GtkWidget *update; 73 77 GtkWidget *cancel; 74 ICQUser *user;78 unsigned long uin; 75 79 struct e_tag_data *etag; 76 80 }; … … 82 86 void update_user_info(GtkWidget *widget, struct info_user *iu); 83 87 void cancel_user_info(GtkWidget *widget, struct info_user *iu); 84 struct info_user *iu_new( ICQUser *u);88 struct info_user *iu_new(unsigned long uin); 85 89 struct info_user *iu_find(unsigned long uin); 86 90 void verify_user_info(GtkWidget *widget, guint id, gchar *text, … … 91 95 const gchar *, GtkWidget *&, gint, gint, gboolean); 92 96 93 void list_info_user(GtkWidget *window, ICQUser *user) 94 { 95 gboolean is_o = FALSE; 96 97 // Check to see if it's for the owner 98 if(user == 0) 99 { 97 void 98 list_info_user_uin(GtkWidget *window, unsigned long uin); 99 100 void 101 list_info_user(GtkWidget *window, ICQUser *user) 102 { 103 if (user != NULL) 104 list_info_user_uin(window, user->Uin()); 105 else 106 list_info_user_uin(window, 0); 107 } 108 109 void 110 list_info_user_uin(GtkWidget *window, unsigned long uin) 111 { 112 struct info_user *iu = iu_find(uin); 113 114 if (iu != NULL) { 115 gtk_widget_show(iu->window); 116 return; 117 } 118 119 gboolean is_o; 120 121 ICQUser *user; 122 // Check to see if it's for the owner 123 if (uin == 0) { 100 124 user = gUserManager.FetchOwner(LOCK_R); 101 125 is_o = TRUE; 102 126 } 103 104 struct info_user *iu = iu_find(user->Uin()); 105 106 if(iu != 0) 107 { 108 gdk_window_show(iu->window->window); 109 gdk_window_raise(iu->window->window); 110 return; 111 } 112 113 iu = iu_new(user); 127 else { 128 user = gUserManager.FetchUser(uin, LOCK_R); 129 is_o = FALSE; 130 } 131 132 if (user == NULL) 133 return; 134 135 iu = iu_new(uin); 136 /* Take care of the e_tag_data stuff */ 137 iu->etag = g_new0(struct e_tag_data, 1); 138 139 iu->uin = user->Uin(); 140 114 141 115 142 GtkWidget *label; … … 120 147 GtkWidget *close; 121 148 GtkWidget *statusbar; 122 const gchar *title = g_strdup_printf("Info for %s", user->GetAlias()); 123 const gchar *uin = g_strdup_printf("%ld", user->Uin()); 149 150 gchar *title = g_strdup_printf("Info for %s", user->GetAlias()); 151 gchar *c_uin = g_strdup_printf("%ld", user->Uin()); 124 152 gchar real_ip[32]; 125 153 const gulong _realip = user->RealIp(); … … 127 155 strcpy(real_ip, inet_ntoa_r(*(struct in_addr *)&_realip, buf)); 128 156 129 /* Take care of the e_tag_data stuff */130 iu->etag = g_new0(struct e_tag_data, 1);131 132 iu->user = user;133 134 157 /* Make the window */ 135 158 iu->window = gtk_window_new(GTK_WINDOW_TOPLEVEL); … … 150 173 iu->notebook = gtk_notebook_new(); 151 174 152 //------ START THE GENERAL TAB --------------------------- 153 154 GtkWidget *general_table = gtk_table_new(6, 4, false); 175 //------ START THE GENERAL TAB --------------------------- 176 177 178 GtkWidget *general_table = gtk_table_new(6, 4, false); 155 179 156 180 // Alias (always editable) 157 do_label_and_entry(iu->alias, user->GetAlias(), "Alias:", 158 general_table, 0, 0, true); 181 do_label_and_entry( 182 iu->alias, 183 user->GetAlias(), 184 "Alias:", 185 general_table, 186 0, 0, 187 true); 159 188 160 189 // UIN (never editable) 161 do_label_and_entry(entry, uin, "UIN:", general_table, 162 2, 0, false); 190 do_label_and_entry( 191 entry, 192 c_uin, 193 "UIN:", 194 general_table, 195 2, 0, 196 false); 163 197 164 198 // Full Name 165 do_label_and_entry(iu->fname, user->GetFirstName(), "First Name:", 166 general_table, 0, 1, is_o); 199 do_label_and_entry( 200 iu->fname, 201 user->GetFirstName(), 202 "First Name:", 203 general_table, 204 0, 1, 205 is_o); 167 206 168 207 // Last Name 169 do_label_and_entry(iu->lname, user->GetLastName(), "Last Name:", 170 general_table, 2, 1, is_o); 208 do_label_and_entry( 209 iu->lname, 210 user->GetLastName(), 211 "Last Name:", 212 general_table, 213 2, 1, 214 is_o); 171 215 172 216 // IP (never editable) 173 char szIPPort[64];174 char portBuf[32];217 char szIPPort[64]; 218 char portBuf[32]; 175 219 snprintf(szIPPort, 64, "%s:%s", user->IpStr(buf), user->PortStr(portBuf)); 176 do_label_and_entry(entry, szIPPort, "IP:", 177 general_table, 0, 2, false); 220 do_label_and_entry( 221 entry, 222 szIPPort, 223 "IP:", 224 general_table, 225 0, 2, 226 false); 178 227 179 228 // Real IP (never editable) 180 do_label_and_entry(entry, real_ip, "Real IP:", general_table, 181 2, 2, false); 229 do_label_and_entry( 230 entry, 231 real_ip, 232 "Real IP:", 233 general_table, 234 2, 2, 235 false); 182 236 183 237 // Primary e-mail 184 do_label_and_entry(iu->email1, user->GetEmailPrimary(), 185 "Primary E-Mail:", general_table, 0, 3, is_o); 238 do_label_and_entry( 239 iu->email1, 240 user->GetEmailPrimary(), 241 "Primary E-Mail:", 242 general_table, 243 0, 3, 244 is_o); 186 245 187 246 // Secondary e-mail 188 do_label_and_entry(iu->email2, user->GetEmailSecondary(), 189 "Secondary E-mail:", general_table, 2, 3, is_o); 247 do_label_and_entry( 248 iu->email2, 249 user->GetEmailSecondary(), 250 "Secondary E-mail:", 251 general_table, 252 2, 3, 253 is_o); 190 254 191 255 // Old e-mail 192 do_label_and_entry(iu->oldemail, user->GetEmailOld(), 193 "Old E-mail:", general_table, 0, 4, is_o); 256 do_label_and_entry( 257 iu->oldemail, 258 user->GetEmailOld(), 259 "Old E-mail:", 260 general_table, 261 0, 4, 262 is_o); 194 263 195 264 // Hide e-mail is needed anyways.. use an if statement to decide 196 265 // where it goes.. 197 iu->hide_email = gtk_check_button_new_with_label( 198 "Hide E-mail Address"); 266 iu->hide_email = gtk_check_button_new_with_label("Hide E-mail Address"); 199 267 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(iu->hide_email), 200 user->GetHideEmail());268 user->GetHideEmail()); 201 269 202 270 // If it's not the owner, show last seen 203 if(!is_o) 204 { 271 if (!is_o) { 205 272 gchar online[28]; 206 273 207 if (!iu->user->StatusOffline())274 if (!user->StatusOffline()) 208 275 strcpy(online, "Now"); 209 else if (iu->user->LastOnline() == 0)276 else if (user->LastOnline() == 0) 210 277 strcpy(online, "Unknown"); 211 else 212 { 213 time_t last = iu->user->LastOnline(); 278 else { 279 time_t last = user->LastOnline(); 214 280 strcpy(online, ctime(&last)); 215 281 } 216 282 217 do_label_and_entry(entry, online, "Last Seen:", general_table, 218 2, 4, FALSE); 283 do_label_and_entry( 284 entry, 285 online, 286 "Last Seen:", 287 general_table, 288 2, 4, 289 FALSE); 219 290 220 291 iu->need_auth = gtk_check_button_new_with_label( 221 "Need Authorization To Add");222 gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(223 iu->need_auth), iu->user->GetAuthorization());292 "Need Authorization To Add"); 293 gtk_toggle_button_set_active( 294 GTK_TOGGLE_BUTTON(iu->need_auth), user->GetAuthorization()); 224 295 gtk_widget_set_sensitive(iu->need_auth, false); 225 296 gtk_table_attach(GTK_TABLE(general_table), iu->need_auth, 0, 2, 226 5, 6, GTK_FILL, GTK_FILL, 3, 1);297 5, 6, GTK_FILL, GTK_FILL, 3, 1); 227 298 228 299 gtk_widget_set_sensitive(iu->hide_email, false); 229 300 gtk_table_attach(GTK_TABLE(general_table), iu->hide_email, 2, 4, 230 5, 6,231 GtkAttachOptions(0),232 GtkAttachOptions(0), 3, 1);301 5, 6, 302 GtkAttachOptions(0), 303 GtkAttachOptions(0), 3, 1); 233 304 } 234 305 // It's the owner 235 else 236 { 306 else { 237 307 gtk_table_attach(GTK_TABLE(general_table), iu->hide_email, 238 308 0, 2, 5, 6, GTK_FILL, GTK_FILL, 3, 1); … … 266 336 gchar country[32]; 267 337 268 if (sc == 0)338 if (sc == 0) 269 339 strcpy(country, "Unspecified"); 270 271 340 else 272 341 strcpy(country, sc->szName); 273 342 274 if(!is_o) 275 { 343 if (!is_o) 276 344 do_label_and_entry(iu->country, country, "Country:", 277 345 address_table, 0, 2, FALSE); 278 } 279 else 280 { 346 else { 281 347 iu->o_country = gtk_combo_new(); 282 348 GList *country_strings = 0; … … 336 402 337 403 // Gender 338 if(!is_o) 339 { 340 gchar gender[12]; 404 if (!is_o) { 405 const gchar *gender; 341 406 if(user->GetGender() == 1) 342 strcpy(gender, "Female");407 gender = "Female"; 343 408 else if(user->GetGender() == 2) 344 strcpy(gender, "Male");409 gender = "Male"; 345 410 else 346 strcpy(gender, "Unspecified");411 gender = "Unspecified"; 347 412 348 413 do_label_and_entry(iu->gender, gender, "Gender:", more_table, 349 414 2, 0, FALSE); 350 415 } 351 else 352 { 416 else { 353 417 iu->o_gender = gtk_combo_new(); 354 418 GList *gender_strings = 0; … … 379 443 380 444 // Birthday 381 if(!is_o) 382 { 445 if (!is_o) { 383 446 gchar bday[11]; 384 447 385 448 if(user->GetBirthMonth() == 0 || user->GetBirthDay() == 0) 386 449 strcpy(bday, "N/A"); 387 388 450 else 389 451 sprintf(bday, "%d/%d/%d", user->GetBirthMonth(), 390 user->GetBirthDay(), user->GetBirthYear());452 user->GetBirthDay(), user->GetBirthYear()); 391 453 392 454 do_label_and_entry(iu->bday, bday, "Birthday:", more_table, 393 455 2, 1, FALSE); 394 456 } 395 else 396 { 457 else { 397 458 label = gtk_label_new("Birthday:"); 398 459 gtk_misc_set_alignment(GTK_MISC(label), 1, 0.5); … … 452 513 GtkWidget *h_box = gtk_hbox_new(FALSE, 5); 453 514 454 if(!is_o) 455 { 456 for(unsigned short i = 0; i < 3; i++) 457 { 458 const SLanguage *lang = 459 GetLanguageByCode(user->GetLanguage(i)); 460 461 label = 462 gtk_label_new( 463 g_strdup_printf("Language %d:", i + 1)); 515 if (!is_o) { 516 for (unsigned short i = 0; i < 3; i++) { 517 const SLanguage *lang = GetLanguageByCode(user->GetLanguage(i)); 518 char *lng = g_strdup_printf("Language %d:", i + 1); 519 label = gtk_label_new(lng); 520 g_free(lng); 464 521 if (lang) 465 522 do_entry(iu->lang[i], lang->szName, FALSE); … … 468 525 469 526 gtk_widget_set_size_request(iu->lang[i], 75, 20); 470 gtk_box_pack_start(GTK_BOX(h_box), label, FALSE, 471 FALSE, 5); 472 gtk_box_pack_start(GTK_BOX(h_box), iu->lang[i], 473 FALSE, FALSE, 2); 527 gtk_box_pack_start(GTK_BOX(h_box), label, FALSE, FALSE, 5); 528 gtk_box_pack_start(GTK_BOX(h_box), iu->lang[i], FALSE, FALSE, 2); 474 529 } 475 530 } 476 else 477 { 531 else { 478 532 GList *lang_strings = 0; 479 533 … … 482 536 const_cast<char *>(GetLanguageByIndex(j)->szName)); 483 537 484 for(unsigned short i = 0; i < 3; i++) 485 { 538 for(unsigned short i = 0; i < 3; i++) { 486 539 label = gtk_label_new( 487 540 g_strdup_printf("Language %d:", i + 1)); … … 631 684 632 685 gtk_widget_show_all(iu->window); 686 gUserManager.DropUser(user); 633 687 } 634 688 635 689 void user_info_save(GtkWidget *widget, struct info_user *iu) 636 690 { 637 ICQUser *user = gUserManager.FetchUser(iu->u ser->Uin(), LOCK_R);691 ICQUser *user = gUserManager.FetchUser(iu->uin, LOCK_R); 638 692 user->SetAlias(gtk_editable_get_chars(GTK_EDITABLE(iu->alias), 0, -1)); 639 693 gUserManager.DropUser(user); … … 647 701 catcher = g_slist_remove(catcher, iu->etag); 648 702 649 /* Drop the user (or owner) */650 gUserManager.DropUser(iu->user);651 652 703 /* Destroy the window */ 653 704 gtk_widget_destroy(iu->window); … … 661 712 // gtk_widget_set_sensitive(iu->cancel, TRUE); 662 713 663 guint id =664 gtk_statusbar_get_context_id(GTK_STATUSBAR(iu->etag->statusbar), "sta");665 gtk_statusbar_pop(GTK_STATUSBAR(iu->etag->statusbar), id);666 gtk_statusbar_push(GTK_STATUSBAR(iu->etag->statusbar), id, "Updating .. ");667 668 strcpy(iu->etag->buf, "");669 714 strcpy(iu->etag->buf, "Updating .. "); 670 671 if(iu->user->Uin() == gUserManager.OwnerUin()) 672 { 673 if(gtk_notebook_get_current_page(GTK_NOTEBOOK(iu->notebook)) 674 == 0 || gtk_notebook_get_current_page(GTK_NOTEBOOK(iu->notebook)) 675 == 1) 676 { 677 const gchar *_country = gtk_editable_get_chars( 678 GTK_EDITABLE(GTK_COMBO(iu->o_country)->entry), 679 0, -1); 715 status_change(iu->etag->statusbar, "sta", iu->etag->buf); 716 717 if (iu->uin == gUserManager.OwnerUin()) { 718 if (gtk_notebook_get_current_page(GTK_NOTEBOOK(iu->notebook)) == 0 || 719 gtk_notebook_get_current_page(GTK_NOTEBOOK(iu->notebook)) == 1) { 720 string country = entry_get_chars(GTK_COMBO(iu->o_country)->entry); 680 721 unsigned short cc; 681 722 682 if (strcmp("Unspecified", _country) == 0)723 if (strcmp("Unspecified", country.c_str()) == 0) 683 724 cc = COUNTRY_UNSPECIFIED; 684 else 685 { 686 const SCountry *NewCountry = 687 GetCountryByName(_country); 725 else { 726 const SCountry *NewCountry = GetCountryByName(country.c_str()); 688 727 cc = NewCountry->nCode; 689 728 } 690 729 691 iu->etag->e_tag = icq_daemon->icqSetGeneralInfo( 692 gtk_editable_get_chars(GTK_EDITABLE(iu->alias), 0, -1), 693 gtk_editable_get_chars(GTK_EDITABLE(iu->fname), 0, -1), 694 gtk_editable_get_chars(GTK_EDITABLE(iu->lname), 0, -1), 695 gtk_editable_get_chars(GTK_EDITABLE(iu->email1), 0, -1), 696 //gtk_editable_get_chars(GTK_EDITABLE(iu->email2), 0, -1), 697 //gtk_editable_get_chars(GTK_EDITABLE(iu->oldemail), 0, -1), 698 gtk_editable_get_chars(GTK_EDITABLE(iu->city), 0, -1), 699 gtk_editable_get_chars(GTK_EDITABLE(iu->state), 0, -1), 700 gtk_editable_get_chars(GTK_EDITABLE(iu->phone), 0, -1), 701 gtk_editable_get_chars(GTK_EDITABLE(iu->faxnumber), 0, -1), 702 gtk_editable_get_chars(GTK_EDITABLE(iu->address), 0, -1), 703 gtk_editable_get_chars(GTK_EDITABLE(iu->cellphone), 0, -1), 704 gtk_editable_get_chars(GTK_EDITABLE(iu->zip), 0, -1), 705 cc, 706 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(iu->hide_email))); 707 730 iu->etag->e_tag = icq_daemon->icqSetGeneralInfo( 731 entry_get_chars(iu->alias).c_str(), 732 entry_get_chars(iu->fname).c_str(), 733 entry_get_chars(iu->lname).c_str(), 734 entry_get_chars(iu->email1).c_str(), 735 //entry_get_chars(iu->email2).c_str(), 736 //entry_get_chars(iu->oldemail).c_str(), 737 entry_get_chars(iu->city).c_str(), 738 entry_get_chars(iu->state).c_str(), 739 entry_get_chars(iu->phone).c_str(), 740 entry_get_chars(iu->faxnumber).c_str(), 741 entry_get_chars(iu->address).c_str(), 742 entry_get_chars(iu->cellphone).c_str(), 743 entry_get_chars(iu->zip).c_str(), 744 cc, 745 gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(iu->hide_email))); 708 746 } 709 747 710 else if(gtk_notebook_get_current_page(GTK_NOTEBOOK(iu->notebook)) 711 == 2) 712 { 748 else if(gtk_notebook_get_current_page(GTK_NOTEBOOK(iu->notebook)) == 2) { 713 749 const SLanguage *l1 = GetLanguageByName( 714 750 gtk_editable_get_chars(GTK_EDITABLE(GTK_COMBO( … … 788 824 } 789 825 } 790 791 826 else 792 { 793 iu->etag->e_tag = 794 icq_daemon->icqRequestMetaInfo(iu->user->Uin()); 795 } 827 iu->etag->e_tag = icq_daemon->icqRequestMetaInfo(iu->uin); 796 828 797 829 catcher = g_slist_append(catcher, iu->etag); … … 828 860 } 829 861 830 struct info_user *iu_new(ICQUser *u) 831 { 832 struct info_user *iu; 833 834 iu = g_new0(struct info_user, 1); 835 836 iu->user = u; 862 struct info_user *iu_new(unsigned long uin) 863 { 864 struct info_user *iu = g_new0(struct info_user, 1); 865 866 iu->uin = uin; 837 867 838 868 iu_list = g_slist_append(iu_list, iu); … … 846 876 GSList *temp_iu_list = iu_list; 847 877 848 while(temp_iu_list) 849 { 878 while (temp_iu_list) { 850 879 iu = (struct info_user *)temp_iu_list->data; 851 if (iu->user->Uin()== uin)880 if (iu->uin == uin) 852 881 return iu; 853 882 … … 894 923 void finish_info(CICQSignal *signal) 895 924 { 896 /* Only do the info.. */ 925 cerr << "finish_info\n"; 926 /* Only do the info.. */ 897 927 unsigned long type = signal->SubSignal(); 898 928 899 929 if(!(type == USER_GENERAL || type == USER_BASIC || type == USER_EXT || 900 930 type == USER_MORE || type == USER_ABOUT)) 901 931 return; 902 932 903 struct info_user *iu = g_new0(struct info_user, 1); 904 905 iu = iu_find(signal->Uin()); 906 907 if(iu == 0) 933 struct info_user *iu = iu_find(signal->Uin()); 934 if (iu == NULL) 908 935 return; 909 910 const SCountry *country = GetCountryByCode(iu->user->GetCountryCode()); 911 // const SLanguage *l1 = GetLanguageByCode(iu->user->GetLanguage(0)); 912 // const SLanguage *l2 = GetLanguageByCode(iu->user->GetLanguage(1)); 913 // const SLanguage *l3 = GetLanguageByCode(iu->user->GetLanguage(2)); 936 937 ICQUser *user = gUserManager.FetchUser(iu->uin, LOCK_R); 938 939 const SCountry *country = GetCountryByCode(user->GetCountryCode()); 940 // const SLanguage *l1 = GetLanguageByCode(user->GetLanguage(0)); 941 // const SLanguage *l2 = GetLanguageByCode(user->GetLanguage(1)); 942 // const SLanguage *l3 = GetLanguageByCode(user->GetLanguage(2)); 914 943 915 944 gchar bday[11]; 916 945 gchar age[6]; 917 946 918 if( iu->user->GetAge() != 65535)919 sprintf(age, "%hd", iu->user->GetAge());947 if(user->GetAge() != 65535) 948 sprintf(age, "%hd", user->GetAge()); 920 949 else 921 950 strcpy(age, "N/A"); 922 951 923 if( iu->user->GetBirthMonth() == 0 || iu->user->GetBirthDay() == 0)952 if(user->GetBirthMonth() == 0 || user->GetBirthDay() == 0) 924 953 strcpy(bday, "N/A"); 925 954 else 926 sprintf(bday, "%d/%d/%d", iu->user->GetBirthMonth(),927 iu->user->GetBirthDay(), iu->user->GetBirthYear());955 sprintf(bday, "%d/%d/%d", user->GetBirthMonth(), 956 user->GetBirthDay(), user->GetBirthYear()); 928 957 929 958 switch(type) … … 932 961 case USER_BASIC: 933 962 case USER_EXT: 934 gtk_entry_set_text(GTK_ENTRY(iu->alias), iu->user->GetAlias()); 935 gtk_entry_set_text(GTK_ENTRY(iu->fname), 936 iu->user->GetFirstName()); 937 gtk_entry_set_text(GTK_ENTRY(iu->lname), 938 iu->user->GetLastName()); 939 gtk_entry_set_text(GTK_ENTRY(iu->email1), 940 iu->user->GetEmailPrimary()); 941 gtk_entry_set_text(GTK_ENTRY(iu->email2), 942 iu->user->GetEmailSecondary()); 943 gtk_entry_set_text(GTK_ENTRY(iu->oldemail), 944 iu->user->GetEmailOld()); 945 gtk_entry_set_text(GTK_ENTRY(iu->address), 946 iu->user->GetAddress()); 947 gtk_entry_set_text(GTK_ENTRY(iu->city), iu->user->GetCity()); 948 gtk_entry_set_text(GTK_ENTRY(iu->state), iu->user->GetState()); 949 gtk_entry_set_text(GTK_ENTRY(iu->zip), iu->user->GetZipCode()); 963 gtk_entry_set_text(GTK_ENTRY(iu->alias), user->GetAlias()); 964 gtk_entry_set_text(GTK_ENTRY(iu->fname), user->GetFirstName()); 965 gtk_entry_set_text(GTK_ENTRY(iu->lname), user->GetLastName()); 966 gtk_entry_set_text(GTK_ENTRY(iu->email1), user->GetEmailPrimary()); 967 gtk_entry_set_text(GTK_ENTRY(iu->email2), user->GetEmailSecondary()); 968 gtk_entry_set_text(GTK_ENTRY(iu->oldemail), user->GetEmailOld()); 969 gtk_entry_set_text(GTK_ENTRY(iu->address), user->GetAddress()); 970 gtk_entry_set_text(GTK_ENTRY(iu->city), user->GetCity()); 971 gtk_entry_set_text(GTK_ENTRY(iu->state), user->GetState()); 972 gtk_entry_set_text(GTK_ENTRY(iu->zip), user->GetZipCode()); 950 973 951 974 if(country == 0) … … 957 980 958 981 gtk_entry_set_text(GTK_ENTRY(iu->phone), 959 iu->user->GetPhoneNumber());982 user->GetPhoneNumber()); 960 983 gtk_ent
