00001
00008 #include <gtk/gtk.h>
00009 #include <gtk/gtk.h>
00010 #include <stdio.h>
00011 #include <unistd.h>
00012 #include <stdlib.h>
00013 #include <string.h>
00014 #include <strings.h>
00015 #include <sys/socket.h>
00016 #include <sys/types.h>
00017 #include <arpa/inet.h>
00018 #include <netinet/in.h>
00019 #define LISTEN_PORT 9999
00020 #define BUFFER_SIZE 4096*1000
00021 #define WAIT_TIME 10
00022
00023 int login_window();
00024 int welcome();
00025 int useracc();
00026 char uname[100];
00027 char pwd[100];
00028 char name[100];
00029 char pass[100];
00030 char login[100];
00031 char orga[100];
00032 char email[100];
00033 char srch[100];
00034 char uplod[100];
00035 char file[1000];
00036 char dfile[1000];
00037 char fnd[1000];
00038 char ip[100];
00039 char new[1000];
00040 char msg0[1000],msg1[1000],msg2[1000],msg3[1000],msg4[BUFFER_SIZE],msg5[1000],msg7[100];
00041 GtkWidget *window1;
00042 GtkWidget *window2;
00043 GtkWidget *windowL;
00044 GtkWidget *window3;
00045 char input_data[BUFFER_SIZE];
00046 int socket_file_descriptor;
00047
00053 char* connect_server(char* output_data,char *ip)
00054 {
00055 int character_written;
00056 struct sockaddr_in server_address;
00057
00058
00059 socket_file_descriptor = socket(AF_INET, SOCK_STREAM, 0);
00060
00061 bzero(&server_address, sizeof(server_address));
00062 server_address.sin_family = AF_INET;
00063 server_address.sin_port = htons(LISTEN_PORT);
00064 if(inet_pton(AF_INET, ip, &server_address.sin_addr) <= 0)
00065 {
00066 printf("Error;the supplied ipv4 address is incorrect\n");
00067 exit(EXIT_FAILURE);
00068 }
00069
00070 if(connect(socket_file_descriptor, (struct sockaddr *) &server_address, sizeof(server_address)) < 0)
00071 {
00072 printf("cannot connect to server \n");
00073 exit(EXIT_FAILURE);
00074 }
00075 character_written = write(socket_file_descriptor, output_data, strlen(output_data));
00076 if(character_written < 0)
00077 {
00078 printf("Write error\n");
00079 exit(EXIT_FAILURE);
00080 }
00081 int characters_read=0;
00082
00083 characters_read=read(socket_file_descriptor, input_data, BUFFER_SIZE-1);
00084 if(characters_read > 0)
00085 {
00086 input_data[characters_read]='\0';
00087 printf("Received %d bytes from connection1 : %s\n", characters_read, input_data);
00088 }
00089
00090 return input_data;
00091 }
00092
00098 gboolean delete1 (GtkWidget *widget, GdkEvent *event, gpointer user_data)
00099 {
00100 return FALSE;
00101 }
00102
00107 void destroy1 (GtkObject *object, gpointer user_data)
00108 {
00109
00110
00111 }
00112
00118 gboolean update1 (GtkWidget *entry1, GdkEventKey *event, gpointer label1)
00119 {
00120 if ( (int) g_utf8_strlen(gtk_entry_get_text(GTK_ENTRY(entry1)), -1) != 0)
00121 {
00122 gchar *str = NULL;
00123 str = g_strconcat("0 ", gtk_entry_get_text(GTK_ENTRY(entry1)), NULL);
00124 strcpy(uname,str);
00125
00126 g_free(str);
00127 }
00128 else
00129 {
00130 gtk_label_set_text(GTK_LABEL(label1), NULL);
00131 }
00132
00133 return TRUE;
00134 }
00140 gboolean update2 (GtkWidget *entry1, GdkEventKey *event, gpointer label1)
00141 {
00142 gtk_entry_set_visibility(entry1,FALSE);
00143 if ( (int) g_utf8_strlen(gtk_entry_get_text(GTK_ENTRY(entry1)), -1) != 0)
00144 {
00145 gchar *str = NULL;
00146 str = g_strconcat("", gtk_entry_get_text(GTK_ENTRY(entry1)), NULL);
00147 strcpy(pwd,str);
00148 g_free(str);
00149 }
00150 else
00151 {
00152 gtk_label_set_text(GTK_LABEL(label1), NULL);
00153 }
00154
00155 return TRUE;
00156 }
00162 gboolean fun1 (GtkWidget *entry1, GdkEventKey *event, gpointer label1)
00163 {
00164 if ( (int) g_utf8_strlen(gtk_entry_get_text(GTK_ENTRY(entry1)), -1) != 0)
00165 {
00166 gchar *str = NULL;
00167 str = g_strconcat("", gtk_entry_get_text(GTK_ENTRY(entry1)), NULL);
00168 strcpy(name,str);
00169 g_free(str);
00170 }
00171 else
00172 gtk_label_set_text(GTK_LABEL(label1), NULL);
00173
00174 return TRUE;
00175 }
00181 gboolean fun2 (GtkWidget *entry1, GdkEventKey *event, gpointer label1)
00182 {
00183
00184 if ( (int) g_utf8_strlen(gtk_entry_get_text(GTK_ENTRY(entry1)), -1) != 0)
00185 {
00186 gchar *str = NULL;
00187 str = g_strconcat("", gtk_entry_get_text(GTK_ENTRY(entry1)), NULL);
00188 strcpy(email,str);
00189 g_free(str);
00190 }
00191 else
00192 gtk_label_set_text(GTK_LABEL(label1), NULL);
00193
00194 return TRUE;
00195 }
00196
00202 gboolean fun3 (GtkWidget *entry1, GdkEventKey *event, gpointer label1)
00203 {
00204 if ( (int) g_utf8_strlen(gtk_entry_get_text(GTK_ENTRY(entry1)), -1) != 0)
00205 {
00206 gchar *str = NULL;
00207 str = g_strconcat("", gtk_entry_get_text(GTK_ENTRY(entry1)), NULL);
00208 strcpy(login,str);
00209 g_free(str);
00210 }
00211 else
00212 gtk_label_set_text(GTK_LABEL(label1), NULL);
00213
00214 return TRUE;
00215 }
00221 gboolean fun4 (GtkWidget *entry1, GdkEventKey *event, gpointer label1)
00222 {
00223 gtk_entry_set_visibility(entry1,FALSE);
00224 if ( (int) g_utf8_strlen(gtk_entry_get_text(GTK_ENTRY(entry1)), -1) != 0)
00225 {
00226 gchar *str = NULL;
00227 str = g_strconcat("", gtk_entry_get_text(GTK_ENTRY(entry1)), NULL);
00228 strcpy(pass,str);
00229 g_free(str);
00230 }
00231 else
00232 gtk_label_set_text(GTK_LABEL(label1), NULL);
00233
00234 return TRUE;
00235 }
00241 gboolean fun5 (GtkWidget *entry1, GdkEventKey *event, gpointer label1)
00242 {
00243 if ( (int) g_utf8_strlen(gtk_entry_get_text(GTK_ENTRY(entry1)), -1) != 0)
00244 {
00245 gchar *str = NULL;
00246 str = g_strconcat("", gtk_entry_get_text(GTK_ENTRY(entry1)), NULL);
00247 strcpy(orga,str);
00248 g_free(str);
00249 }
00250 else
00251 gtk_label_set_text(GTK_LABEL(label1), NULL);
00252
00253 return TRUE;
00254 }
00255
00261 gboolean funs4 (GtkWidget *entry1, GdkEventKey *event, gpointer label1)
00262 {
00263 if ( (int) g_utf8_strlen(gtk_entry_get_text(GTK_ENTRY(entry1)), -1) != 0)
00264 {
00265 gchar *str = NULL;
00266 str = g_strconcat("", gtk_entry_get_text(GTK_ENTRY(entry1)), NULL);
00267 strcpy(dfile,str);
00268 g_free(str);
00269 printf("%s ",dfile);
00270
00271 }
00272 else
00273 gtk_label_set_text(GTK_LABEL(label1), NULL);
00274
00275 return TRUE;
00276 }
00282 gboolean funs1 (GtkWidget *entry1, GdkEventKey *event, gpointer label1)
00283 {
00284 if ( (int) g_utf8_strlen(gtk_entry_get_text(GTK_ENTRY(entry1)), -1) != 0)
00285 {
00286 gchar *str = NULL;
00287 str = g_strconcat("", gtk_entry_get_text(GTK_ENTRY(entry1)), NULL);
00288 strcpy(srch,str);
00289 g_free(str);
00290 }
00291 else
00292 gtk_label_set_text(GTK_LABEL(label1), NULL);
00293
00294 return TRUE;
00295 }
00301 gboolean funs2 (GtkWidget *entry1, GdkEventKey *event, gpointer label1)
00302 {
00303 if ( (int) g_utf8_strlen(gtk_entry_get_text(GTK_ENTRY(entry1)), -1) != 0)
00304 {
00305 gchar *str = NULL;
00306 str = g_strconcat("", gtk_entry_get_text(GTK_ENTRY(entry1)), NULL);
00307 strcpy(uplod,str);
00308 g_free(str);
00309
00310 }
00311 else
00312 gtk_label_set_text(GTK_LABEL(label1), NULL);
00313
00314 return TRUE;
00315 }
00321 gboolean funs3 (GtkWidget *entry1, GdkEventKey *event, gpointer label1)
00322 {
00323 if ( (int) g_utf8_strlen(gtk_entry_get_text(GTK_ENTRY(entry1)), -1) != 0)
00324 {
00325 gchar *str = NULL;
00326 str = g_strconcat("", gtk_entry_get_text(GTK_ENTRY(entry1)), NULL);
00327 strcpy(fnd,str);
00328 g_free(str);
00329
00330 }
00331 else
00332 gtk_label_set_text(GTK_LABEL(label1), NULL);
00333
00334 return TRUE;
00335 }
00340 void submit1( GtkWidget *widget, gpointer window )
00341 {
00342 msg1[0]='\0';
00343 strcat(msg1,"1 ");
00344 strcat(msg1,name);
00345 strcat(msg1," ");
00346 strcat(msg1,email);
00347 strcat(msg1," ");
00348 strcat(msg1,login);
00349 strcat(msg1," ");
00350 strcat(msg1,pass);
00351 strcat(msg1," ");
00352 strcat(msg1,orga);
00353 printf("msg1=%s\n",msg1);
00354
00355 if(strlen(name)==0 || strlen(pass)==0 || strlen(login)==0 || strlen(orga)==0 || strlen(email)==0)
00356 {
00357 GtkWidget *dialog;
00358 dialog = gtk_message_dialog_new(window,
00359 GTK_DIALOG_DESTROY_WITH_PARENT,
00360 GTK_MESSAGE_INFO,
00361 GTK_BUTTONS_OK,
00362 "Fill All fields", "title");
00363 gtk_window_set_title(GTK_WINDOW(dialog), "Error");
00364 gtk_dialog_run(GTK_DIALOG(dialog));
00365 gtk_widget_destroy(dialog);
00366 }
00367 else if(strlen(pass)<6)
00368 {
00369 GtkWidget *dialog;
00370 dialog = gtk_message_dialog_new(window,
00371 GTK_DIALOG_DESTROY_WITH_PARENT,
00372 GTK_MESSAGE_INFO,
00373 GTK_BUTTONS_OK,
00374 "Password Length must be > 6 charecters", "title");
00375 gtk_window_set_title(GTK_WINDOW(dialog), "Error");
00376 gtk_dialog_run(GTK_DIALOG(dialog));
00377 gtk_widget_destroy(dialog);
00378 }
00379 else
00380 {
00381 char* result=connect_server(msg1,ip);
00382 printf("The result is...%s\n",result);
00383 if(!strcmp(result,"success"))
00384 {
00385 printf("The result is...");
00386 gtk_widget_destroy(window1);
00387 GtkWidget *dialog;
00388 dialog = gtk_message_dialog_new(window,
00389 GTK_DIALOG_DESTROY_WITH_PARENT,
00390 GTK_MESSAGE_INFO,
00391 GTK_BUTTONS_OK,
00392 "Successfully Registered", "title");
00393 gtk_window_set_title(GTK_WINDOW(dialog), "Welcome");
00394 gtk_dialog_run(GTK_DIALOG(dialog));
00395 gtk_widget_destroy(dialog);
00396 }
00397 else
00398 {
00399 GtkWidget *dialog;
00400 dialog = gtk_message_dialog_new(window,
00401 GTK_DIALOG_DESTROY_WITH_PARENT,
00402 GTK_MESSAGE_INFO,
00403 GTK_BUTTONS_OK,
00404 result, "title");
00405 gtk_window_set_title(GTK_WINDOW(dialog), "Fail");
00406 gtk_dialog_run(GTK_DIALOG(dialog));
00407 gtk_widget_destroy(dialog);
00408 }
00409
00410 }
00411 }
00412
00413
00418 void clos1( GtkWidget *widget, gpointer data )
00419 {
00420 gtk_widget_destroy(window1);
00421
00422 }
00423
00428 void submit( GtkWidget *widget, gpointer window )
00429 {
00430 msg0[0]='\0';
00431 strcat(msg0,uname);
00432 strcat(msg0," ");
00433 strcat(msg0,pwd);
00434 printf("msg0=%s\n",msg0);
00435 if(strlen(uname)==0 || strlen(pwd)==0)
00436 {
00437 GtkWidget *dialog;
00438 dialog = gtk_message_dialog_new(window,
00439 GTK_DIALOG_DESTROY_WITH_PARENT,
00440 GTK_MESSAGE_INFO,
00441 GTK_BUTTONS_OK,
00442 "Incorrect UserName and password", "title");
00443 gtk_window_set_title(GTK_WINDOW(dialog), "Error");
00444 gtk_dialog_run(GTK_DIALOG(dialog));
00445 gtk_widget_destroy(dialog);
00446 }
00447 else
00448 {
00449
00450 char *result=connect_server(msg0,ip);
00451 printf("The result is:%s\n",result);
00452 if(!strcmp(result,"success"))
00453 {
00454 gtk_widget_destroy(windowL);
00455 useracc();
00456 }
00457 else
00458 {
00459 GtkWidget *dialog;
00460 dialog = gtk_message_dialog_new(window,
00461 GTK_DIALOG_DESTROY_WITH_PARENT,
00462 GTK_MESSAGE_INFO,
00463 GTK_BUTTONS_OK,
00464 result, "title");
00465 gtk_window_set_title(GTK_WINDOW(dialog), "Fail");
00466 gtk_dialog_run(GTK_DIALOG(dialog));
00467 gtk_widget_destroy(dialog);
00468 }
00469
00470
00471 }
00472 }
00473
00478 void clos( GtkWidget *widget, gpointer data )
00479 {
00480 gtk_main_quit();
00481 }
00482
00487 void newuser( GtkWidget *widget, gpointer data )
00488 {
00489 welcome();
00490 }
00495 void search( GtkWidget *widget, gpointer window )
00496 {
00497 if(strlen(srch)!=0)
00498 {
00499 msg2[0]='\0';
00500 strcat(msg2,"2 ");
00501 strcat(msg2,srch);
00502 printf("msg2=%s\n",msg2);
00503 char* result=connect_server(msg2,ip);
00504 printf("RECIVED:%s\n",result);
00505 strcpy(new,result);
00506 search_window();
00507 }
00508 else
00509 {
00510 GtkWidget *dialog;
00511 dialog = gtk_message_dialog_new(window,
00512 GTK_DIALOG_DESTROY_WITH_PARENT,
00513 GTK_MESSAGE_INFO,
00514 GTK_BUTTONS_OK,
00515 "Enter Any Query", "title");
00516 gtk_window_set_title(GTK_WINDOW(dialog), "Error");
00517 gtk_dialog_run(GTK_DIALOG(dialog));
00518 gtk_widget_destroy(dialog);
00519 }
00520 }
00521
00526 void delete_file( GtkWidget *widget, gpointer window )
00527 {
00528 if(strlen(dfile)!=0)
00529 {
00530 msg7[0]='\0';
00531 strcat(msg7,"7 ");
00532 strcat(msg7,dfile);
00533 printf("msg7=%s\n",msg7);
00534 char* result=connect_server(msg7,ip);
00535 if(result[0]=='f' && result[1]=='a' && result[2]=='i' && result[3]=='l')
00536 {
00537 GtkWidget *dialog;
00538 dialog = gtk_message_dialog_new(window,
00539 GTK_DIALOG_DESTROY_WITH_PARENT,
00540 GTK_MESSAGE_INFO,
00541 GTK_BUTTONS_OK,
00542 result, "title");
00543 gtk_window_set_title(GTK_WINDOW(dialog), "error");
00544 gtk_dialog_run(GTK_DIALOG(dialog));
00545 gtk_widget_destroy(dialog);
00546 }
00547 else
00548 {
00549 GtkWidget *dialog;
00550 dialog = gtk_message_dialog_new(window,
00551 GTK_DIALOG_DESTROY_WITH_PARENT,
00552 GTK_MESSAGE_INFO,
00553 GTK_BUTTONS_OK,
00554 "File deleted", "title");
00555 gtk_window_set_title(GTK_WINDOW(dialog), "ok");
00556 gtk_dialog_run(GTK_DIALOG(dialog));
00557 gtk_widget_destroy(dialog);
00558 }
00559 }
00560 else
00561 {
00562 GtkWidget *dialog;
00563 dialog = gtk_message_dialog_new(window,
00564 GTK_DIALOG_DESTROY_WITH_PARENT,
00565 GTK_MESSAGE_INFO,
00566 GTK_BUTTONS_OK,
00567 "Enter any file", "title");
00568 gtk_window_set_title(GTK_WINDOW(dialog), "Error");
00569 gtk_dialog_run(GTK_DIALOG(dialog));
00570 gtk_widget_destroy(dialog);
00571 }
00572 }
00577 void upload( GtkWidget *widget, gpointer window )
00578 {
00579 if(strlen(uplod)==0)
00580 {
00581 GtkWidget *dialog;
00582 dialog = gtk_message_dialog_new(window,
00583 GTK_DIALOG_DESTROY_WITH_PARENT,
00584 GTK_MESSAGE_INFO,
00585 GTK_BUTTONS_OK,
00586 "Incorrect", "title");
00587 gtk_window_set_title(GTK_WINDOW(dialog), "Error");
00588 gtk_dialog_run(GTK_DIALOG(dialog));
00589 gtk_widget_destroy(dialog);
00590 }
00591 else
00592 {
00593 msg3[0]='\0';
00594 strcat(msg3,"3 ");
00595 int i=0,j=0;
00596 FILE * hFile;
00597 hFile = fopen( uplod, "r");
00598 if(hFile==NULL)
00599 {
00600 GtkWidget *dialog;
00601 dialog = gtk_message_dialog_new(window,
00602 GTK_DIALOG_DESTROY_WITH_PARENT,
00603 GTK_MESSAGE_INFO,
00604 GTK_BUTTONS_OK,
00605 "File not present!", "title");
00606 gtk_window_set_title(GTK_WINDOW(dialog), "Error");
00607 gtk_dialog_run(GTK_DIALOG(dialog));
00608 gtk_widget_destroy(dialog);
00609 }
00610 else
00611 {
00612 char c;
00613 msg4[0]='\0';
00614 strcat(msg4,"4 ");
00615 i=2;
00616 while((c=getc(hFile))!=EOF)
00617 {
00618 msg4[i++]=c;
00619 }
00620 msg4[i]=EOF;
00621 msg4[i+1]='\0';
00622 printf("msg4=%s\n",msg4);
00623 for(i=strlen(uplod)-1,j=0;i>=0;i--,j++)
00624 {
00625 if(uplod[i]=='/')
00626 break;
00627 file[j]=uplod[i];
00628 }
00629 for(i=strlen(file)-1,j=0;i>=0;i--,j++)
00630 {
00631 uplod[j]=file[i];
00632 }
00633 uplod[j]='\0';
00634 strcat(msg3,uplod);
00635 printf("msg3=%s\n",msg3);
00636
00637 char* result=connect_server(msg3,ip);
00638 printf("Result is:%s\n",result);
00639
00640 GtkWidget *dialog;
00641 dialog = gtk_message_dialog_new(window,
00642 GTK_DIALOG_DESTROY_WITH_PARENT,
00643 GTK_MESSAGE_INFO,
00644 GTK_BUTTONS_OK,
00645 "Upload successfull", "title");
00646 gtk_window_set_title(GTK_WINDOW(dialog), "upload");
00647 gtk_dialog_run(GTK_DIALOG(dialog));
00648 gtk_widget_destroy(dialog);
00649 result=connect_server(msg4,ip);
00650 printf("Result is:%s\n",result);
00651
00652
00653 }
00654 }
00655 }
00660 void logout( GtkWidget *widget, gpointer window )
00661 {
00662 char msg[]="6";
00663 char *result=connect_server(msg,ip);
00664 close(socket_file_descriptor);
00665 GtkWidget *dialog;
00666 dialog = gtk_message_dialog_new(window,
00667 GTK_DIALOG_DESTROY_WITH_PARENT,
00668 GTK_MESSAGE_INFO,
00669 GTK_BUTTONS_OK,
00670 result, "title");
00671 gtk_window_set_title(GTK_WINDOW(dialog), "enjoy");
00672 gtk_dialog_run(GTK_DIALOG(dialog));
00673 gtk_widget_destroy(dialog);
00674 gtk_main_quit();
00675 }
00676
00681 void delete( GtkWidget *widget, gpointer window )
00682 {
00683 char* result=connect_server("8",ip);
00684 GtkWidget *dialog;
00685 dialog = gtk_message_dialog_new(window,
00686 GTK_DIALOG_DESTROY_WITH_PARENT,
00687 GTK_MESSAGE_INFO,
00688 GTK_BUTTONS_OK,
00689 "Account deleted successfully", "title");
00690 gtk_window_set_title(GTK_WINDOW(dialog), "delete");
00691 gtk_dialog_run(GTK_DIALOG(dialog));
00692 gtk_widget_destroy(dialog);
00693 gtk_main_quit();
00694 }
00695
00700 void find( GtkWidget *widget, gpointer window )
00701 {
00702 if(strlen(fnd)==0)
00703 {
00704
00705 GtkWidget *dialog;
00706 dialog = gtk_message_dialog_new(window,
00707 GTK_DIALOG_DESTROY_WITH_PARENT,
00708 GTK_MESSAGE_INFO,
00709 GTK_BUTTONS_OK,
00710 "Incorrect", "title");
00711 gtk_window_set_title(GTK_WINDOW(dialog), "Error");
00712 gtk_dialog_run(GTK_DIALOG(dialog));
00713 gtk_widget_destroy(dialog);
00714 }
00715 else
00716 {
00717 msg5[0]='\0';
00718 strcat(msg5,"5 ");
00719 strcat(msg5,fnd);
00720
00721 char new_one[100];
00722 strcpy(new_one,fnd);
00723
00724
00725 char* result=connect_server(msg5,ip);
00726
00727 if(strcmp(result,"fail")==0)
00728 {
00729
00730 GtkWidget *dialog;
00731 dialog = gtk_message_dialog_new(window,
00732 GTK_DIALOG_DESTROY_WITH_PARENT,
00733 GTK_MESSAGE_INFO,
00734 GTK_BUTTONS_OK,
00735 "Select the file in list", "title");
00736 gtk_window_set_title(GTK_WINDOW(dialog), "Error");
00737 gtk_dialog_run(GTK_DIALOG(dialog));
00738 gtk_widget_destroy(dialog);
00739 }
00740 else
00741 {
00742 FILE *fp=fopen(new_one,"w");
00743 int i=0;
00744 for(i=0;result[i]!='\0' && result[i]!=EOF && i<7000;i++)
00745 {
00746
00747 putc(result[i],fp);
00748 }
00749 fflush(fp);
00750 fclose(fp);
00751 GtkWidget *dialog;
00752 dialog = gtk_message_dialog_new(window,
00753 GTK_DIALOG_DESTROY_WITH_PARENT,
00754 GTK_MESSAGE_INFO,
00755 GTK_BUTTONS_OK,
00756 "Downloading file successfull", "title");
00757 gtk_window_set_title(GTK_WINDOW(dialog), "Download");
00758 gtk_dialog_run(GTK_DIALOG(dialog));
00759 gtk_widget_destroy(dialog);
00760
00761
00762 }
00763 }
00764 }
00767 int search_window()
00768 {
00769 GtkWidget *window3;
00770 GtkWidget *table;
00771
00772 GtkWidget *title;
00773 GtkWidget *halign;
00774 GtkWidget *wins;
00775 GtkWidget *label;
00776 GtkWidget *label1;
00777 GtkWidget *ok;
00778
00779 window3 = gtk_window_new(GTK_WINDOW_TOPLEVEL);
00780 gtk_window_set_position(GTK_WINDOW(window3), GTK_WIN_POS_CENTER);
00781 gtk_widget_set_size_request (window3, 300, 250);
00782 gtk_window_set_resizable(GTK_WINDOW(window3), FALSE);
00783
00784 gtk_window_set_title(GTK_WINDOW(window3), "Search A File");
00785
00786 gtk_container_set_border_width(GTK_CONTAINER(window3), 15);
00787
00788 table = gtk_table_new(8, 4, FALSE);
00789 gtk_table_set_col_spacings(GTK_TABLE(table), 3);
00790
00791 title = gtk_label_new("Files");
00792 halign = gtk_alignment_new(0, 0, 0, 0);
00793 gtk_container_add(GTK_CONTAINER(halign), title);
00794 gtk_table_attach(GTK_TABLE(table), halign, 0, 1, 0, 1,
00795 GTK_FILL, GTK_FILL, 0, 0);
00796
00797 wins = gtk_text_view_new();
00798 gtk_text_view_set_editable(GTK_TEXT_VIEW(wins), FALSE);
00799 gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(wins), FALSE);
00800 GtkTextBuffer *buffer;
00801 int x=0,y=0;
00802 for(x=0;x<strlen(new)&&y<10;x++)
00803 {
00804 if(new[x]==' ')
00805 {
00806 new[x]='\n';
00807 y++;
00808 }
00809 }
00810
00811 if(new[0]=='f' &&new[1]=='a' && new[2]=='i' && new[3]=='l')
00812 {
00813 GtkWidget *dialog;
00814 dialog = gtk_message_dialog_new(window3,
00815 GTK_DIALOG_DESTROY_WITH_PARENT,
00816 GTK_MESSAGE_INFO,
00817 GTK_BUTTONS_OK,
00818 "Invalid Query", "title");
00819 gtk_window_set_title(GTK_WINDOW(dialog), "Error");
00820 gtk_dialog_run(GTK_DIALOG(dialog));
00821 gtk_widget_destroy(dialog);
00822 }
00823 else
00824 {
00825 buffer=gtk_text_view_get_buffer(GTK_TEXT_VIEW(wins));
00826 gtk_text_buffer_set_text(GTK_TEXT_BUFFER(buffer),new,strlen(new));
00827 gtk_text_view_set_buffer(GTK_TEXT_VIEW(wins),GTK_TEXT_BUFFER(buffer));
00828
00829 gtk_table_attach(GTK_TABLE(table), wins, 0, 2, 1, 3,
00830 GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND, 1, 1);
00831
00832 ok = gtk_button_new_with_label("Download");
00833 gtk_widget_set_size_request(ok, 70, 30);
00834 gtk_table_attach(GTK_TABLE(table), ok, 3, 4, 4, 5,
00835 GTK_FILL, GTK_FILL, 0, 0);
00836 label1 = gtk_label_new (NULL);
00837 gtk_signal_connect (GTK_OBJECT (ok), "clicked",GTK_SIGNAL_FUNC (find), NULL);
00838 label = gtk_entry_new();
00839 gtk_widget_set_size_request(label, 200, 30);
00840 gtk_table_attach(GTK_TABLE(table), label, 0, 1, 4, 5,
00841 GTK_FILL, GTK_FILL, 0, 0);
00842 g_signal_connect(G_OBJECT(label), "key-release-event", G_CALLBACK(funs3), label1);
00843 gtk_container_add(GTK_CONTAINER(window3), table);
00844 gtk_widget_show_all(window3);
00845 }
00846 return 0;
00847 }
00848
00851 int welcome()
00852 {
00853
00854
00855 GtkWidget *box,*label1;
00856 GtkWidget *t1,*entry1;
00857 GtkWidget *t2,*entry2;
00858 GtkWidget *t3,*entry3;
00859 GtkWidget *t4,*entry4;
00860 GtkWidget *t5,*entry5;
00861 GtkWidget *ok;
00862 GtkWidget *close;
00863 GtkWidget *halign;
00864 GtkWidget *hbox;
00865
00866 window1 = gtk_window_new (GTK_WINDOW_TOPLEVEL);
00867 gtk_container_set_border_width(GTK_CONTAINER(window1),10);
00868 gtk_window_set_urgency_hint (GTK_WINDOW(window1), TRUE);
00869 gtk_window_set_title (GTK_WINDOW(window1),"Regestration");
00870 gtk_widget_show (window1);
00871
00872 g_signal_connect(G_OBJECT(window1), "delete_event", G_CALLBACK(delete1), NULL);
00873
00874 box = gtk_vbox_new (FALSE, 0);
00875 gtk_container_add(GTK_CONTAINER(window1), box);
00876 gtk_widget_show(box);
00877
00878 t1 = gtk_label_new ("FullName:");
00879 gtk_box_pack_start (GTK_BOX (box), t1, TRUE, TRUE, 5);
00880 gtk_widget_show(t1);
00881
00882 entry1 = gtk_entry_new();
00883 gtk_box_pack_start (GTK_BOX (box), entry1, TRUE, TRUE, 5);
00884 gtk_widget_show(entry1);
00885 gtk_widget_grab_focus(entry1);
00886 label1 = gtk_label_new (NULL);
00887 g_signal_connect(G_OBJECT(entry1), "key-release-event", G_CALLBACK(fun1), label1);
00888
00889 t2 = gtk_label_new ("Email-id");
00890 gtk_box_pack_start (GTK_BOX (box), t2, TRUE, TRUE, 5);
00891 gtk_widget_show(t2);
00892
00893 entry2 = gtk_entry_new();
00894 gtk_box_pack_start (GTK_BOX (box), entry2, TRUE, TRUE, 5);
00895 gtk_widget_show(entry2);
00896 gtk_widget_grab_focus(entry2);
00897
00898 g_signal_connect(G_OBJECT(entry2), "key-release-event", G_CALLBACK(fun2), label1);
00899
00900 t3 = gtk_label_new ("Login-id");
00901 gtk_box_pack_start (GTK_BOX (box), t3, TRUE, TRUE, 5);
00902 gtk_widget_show(t3);
00903
00904 entry3 = gtk_entry_new();
00905 gtk_box_pack_start (GTK_BOX (box), entry3, TRUE, TRUE, 5);
00906 gtk_widget_show(entry3);
00907 gtk_widget_grab_focus(entry3);
00908
00909 g_signal_connect(G_OBJECT(entry3), "key-release-event", G_CALLBACK(fun3), label1);
00910
00911 t4 = gtk_label_new ("Password");
00912 gtk_box_pack_start (GTK_BOX (box), t4, TRUE, TRUE, 5);
00913 gtk_widget_show(t4);
00914
00915 entry4 = gtk_entry_new();
00916 gtk_box_pack_start (GTK_BOX (box), entry4, TRUE, TRUE, 5);
00917 gtk_widget_show(entry4);
00918 gtk_widget_grab_focus(entry4);
00919
00920 g_signal_connect(G_OBJECT(entry4), "key-release-event", G_CALLBACK(fun4), label1);
00921
00922 t5 = gtk_label_new ("Organization");
00923 gtk_box_pack_start (GTK_BOX (box), t5, TRUE, TRUE, 5);
00924 gtk_widget_show(t5);
00925
00926 entry5 = gtk_entry_new();
00927 gtk_box_pack_start (GTK_BOX (box), entry5, TRUE, TRUE, 5);
00928 gtk_widget_show(entry5);
00929 gtk_widget_grab_focus(entry5);
00930
00931 g_signal_connect(G_OBJECT(entry5), "key-release-event", G_CALLBACK(fun5), label1);
00932
00933 hbox = gtk_hbox_new(TRUE, 3);
00934 ok = gtk_button_new_with_label("Submit");
00935 gtk_widget_set_size_request(ok, 70, 30);
00936 gtk_signal_connect (GTK_OBJECT (ok), "clicked",GTK_SIGNAL_FUNC (submit1), NULL);
00937 gtk_container_add(GTK_CONTAINER(hbox), ok);
00938 close = gtk_button_new_with_label("Cancel");
00939 gtk_signal_connect (GTK_OBJECT (close), "clicked",GTK_SIGNAL_FUNC (clos1), NULL);
00940 gtk_container_add(GTK_CONTAINER(hbox), close);
00941 halign = gtk_alignment_new(1, 0, 0, 0);
00942 gtk_container_add(GTK_CONTAINER(halign), hbox);
00943 gtk_box_pack_start(GTK_BOX(box), halign, FALSE, FALSE, 0);
00944
00945 gtk_widget_show_all(window1);
00946
00947 return 0;
00948 }
00952 int useracc()
00953 {
00954
00955 GtkWidget *table;
00956
00957 GtkWidget *button1;
00958 GtkWidget *button2;
00959 GtkWidget *button3;
00960
00961 GtkWidget *entry1;
00962 GtkWidget *entry2;
00963 GtkWidget *entry3;
00964 GtkWidget *ok;
00965 GtkWidget *label1;
00966
00967
00968 window2 = gtk_window_new(GTK_WINDOW_TOPLEVEL);
00969 gtk_window_set_position(GTK_WINDOW(window2), GTK_WIN_POS_CENTER);
00970 gtk_window_set_title(GTK_WINDOW(window2), "User Account");
00971 gtk_container_set_border_width(GTK_CONTAINER(window2), 10);
00972
00973 table = gtk_table_new(3, 2, FALSE);
00974 gtk_container_add(GTK_CONTAINER(window2), table);
00975
00976 entry1 = gtk_entry_new();
00977 entry2 = gtk_entry_new();
00978 entry3 = gtk_entry_new();
00979
00980 gtk_table_attach(GTK_TABLE(table), entry1, 0, 1, 0, 1,
00981 GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 5, 5);
00982 gtk_table_attach(GTK_TABLE(table), entry2, 0, 1, 1, 2,
00983 GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 5, 5);
00984 gtk_table_attach(GTK_TABLE(table), entry3, 0, 1, 2, 3,
00985 GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 5, 5);
00986 button1 = gtk_button_new_with_label("search");
00987 button2 = gtk_button_new_with_label("upload");
00988 button3 = gtk_button_new_with_label("Delete File");
00989
00990 gtk_signal_connect (GTK_OBJECT (button1), "clicked",GTK_SIGNAL_FUNC (search), NULL);
00991 gtk_signal_connect (GTK_OBJECT (button2), "clicked",GTK_SIGNAL_FUNC (upload), NULL);
00992 gtk_signal_connect (GTK_OBJECT (button3), "clicked",GTK_SIGNAL_FUNC (delete_file), NULL);
00993 label1 = gtk_label_new (NULL);
00994 g_signal_connect(G_OBJECT(entry1), "key-release-event", G_CALLBACK(funs1), label1);
00995 g_signal_connect(G_OBJECT(entry2), "key-release-event", G_CALLBACK(funs2), label1);
00996 g_signal_connect(G_OBJECT(entry3), "key-release-event", G_CALLBACK(funs4), label1);
00997
00998 gtk_table_attach(GTK_TABLE(table), button1, 1, 2, 0, 1,
00999 GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 5, 5);
01000 gtk_table_attach(GTK_TABLE(table), button2, 1, 2, 1, 2,
01001 GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 5, 5);
01002 gtk_table_attach(GTK_TABLE(table), button3, 1, 2, 2, 3,
01003 GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 5, 5);
01004 ok = gtk_button_new_with_label("Logout");
01005 gtk_table_attach(GTK_TABLE(table), ok, 1, 2, 3, 4,
01006 GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 5, 5);
01007 gtk_signal_connect (GTK_OBJECT (ok), "clicked",GTK_SIGNAL_FUNC (logout), NULL);
01008
01009 GtkWidget *dlt;
01010 dlt = gtk_button_new_with_label("Delete Account");
01011 gtk_table_attach(GTK_TABLE(table), dlt, 0, 1, 3, 4,
01012 GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 5, 5);
01013 gtk_signal_connect (GTK_OBJECT (dlt), "clicked",GTK_SIGNAL_FUNC (delete), NULL);
01014 gtk_widget_show(dlt);
01015 gtk_widget_show(table);
01016
01017 gtk_widget_show(button1);
01018 gtk_widget_show(button2);
01019 gtk_widget_show(ok);
01020 gtk_widget_show(button3);
01021
01022 gtk_widget_show(entry1);
01023 gtk_widget_show(entry2);
01024 gtk_widget_show(entry3);
01025
01026 gtk_widget_show(window2);
01027 return 0;
01028 }
01034 int main( int argc, char *argv[] )
01035 {
01036 if(argc<2){ printf("Please give ip address\n"); return 0;}
01037
01038 strcpy(ip,argv[1]);
01039 gtk_init (&argc, &argv);
01040 login_window();
01041 return 0;
01042 }
01043
01047 int login_window()
01048 {
01049 GtkWidget *instruct;
01050 GtkWidget *entry;
01051 GtkWidget *instruct1;
01052 GtkWidget *label1;
01053 GtkWidget *entry1;
01054 GtkWidget *box;
01055
01056 GtkWidget *ok;
01057 GtkWidget *close;
01058 GtkWidget *new;
01059 GtkWidget *halign;
01060 GtkWidget *hbox;
01061
01062
01063
01064 windowL = gtk_window_new (GTK_WINDOW_TOPLEVEL);
01065 gtk_container_set_border_width(GTK_CONTAINER(windowL),10);
01066 gtk_window_set_urgency_hint (GTK_WINDOW(windowL), TRUE);
01067 gtk_window_set_title (GTK_WINDOW(windowL),"Login Page");
01068 gtk_widget_show (windowL);
01069
01070 g_signal_connect(G_OBJECT(windowL), "delete_event", G_CALLBACK(delete1), NULL);
01071 g_signal_connect(G_OBJECT(windowL), "destroy", G_CALLBACK(destroy1), NULL);
01072
01073
01074 box = gtk_vbox_new (FALSE, 0);
01075 gtk_container_add(GTK_CONTAINER(windowL), box);
01076 gtk_widget_show(box);
01077 instruct = gtk_label_new ("UserName:");
01078 gtk_box_pack_start (GTK_BOX (box), instruct, TRUE, TRUE, 5);
01079
01080 entry = gtk_entry_new();
01081 gtk_box_pack_start (GTK_BOX (box), entry, TRUE, TRUE, 5);
01082 gtk_widget_grab_focus(entry);
01083 label1 = gtk_label_new (NULL);
01084 gtk_box_pack_start (GTK_BOX (box), label1, TRUE, TRUE, 5);
01085 g_signal_connect(G_OBJECT(entry), "key-release-event", G_CALLBACK(update1), label1);
01086 instruct1 = gtk_label_new ("Password:");
01087 gtk_box_pack_start (GTK_BOX (box), instruct1, TRUE, TRUE, 5);
01088 entry1 = gtk_entry_new();
01089 gtk_box_pack_start (GTK_BOX (box), entry1, TRUE, TRUE, 5);
01090 gtk_widget_grab_focus(entry1);
01091 label1 = gtk_label_new (NULL);
01092 gtk_box_pack_start (GTK_BOX (box), label1, TRUE, TRUE, 5);
01093 gtk_widget_show_all(box);
01094 g_signal_connect(G_OBJECT(entry1), "key-release-event", G_CALLBACK(update2), label1);
01095
01096 hbox = gtk_hbox_new(TRUE, 3);
01097
01098 ok = gtk_button_new_with_label("Login");
01099 gtk_widget_set_size_request(ok, 70, 30);
01100 gtk_signal_connect (GTK_OBJECT (ok), "clicked",GTK_SIGNAL_FUNC (submit), NULL);
01101 gtk_container_add(GTK_CONTAINER(hbox), ok);
01102 close = gtk_button_new_with_label("Cancel");
01103 gtk_signal_connect (GTK_OBJECT (close), "clicked",GTK_SIGNAL_FUNC (clos), NULL);
01104 gtk_container_add(GTK_CONTAINER(hbox), close);
01105 new = gtk_button_new_with_label("New User!");
01106 gtk_signal_connect (GTK_OBJECT (new), "clicked",GTK_SIGNAL_FUNC (newuser), NULL);
01107 gtk_container_add(GTK_CONTAINER(hbox), new);
01108
01109
01110 halign = gtk_alignment_new(1, 0, 0, 0);
01111 gtk_container_add(GTK_CONTAINER(halign), hbox);
01112
01113 gtk_box_pack_start(GTK_BOX(box), halign, FALSE, FALSE, 0);
01114
01115
01116 gtk_widget_show_all(windowL);
01117
01118
01119
01120 gtk_main ();
01121
01122 return 0;
01123 }