?? page5.h
字號:
void prepareData(){ FILE *stream; FILE *wstream; char buf[1024]; memset( buf, '\0', sizeof(buf) ); stream = popen( "df", "r" ); wstream = fopen( "tempfile", "w"); fread( buf, sizeof(char), sizeof(buf), stream); fwrite( buf, 1, sizeof(buf), wstream ); pclose( stream ); fclose( wstream );}void getFsInfo(){ FILE* fp1; char buf7[6][512]; prepareData(); fp1=fopen("tempfile","r"); fsNum=0; fgets(buf7[0],512,fp1); while(1) { if(fscanf(fp1,"%s",buf7[0])==EOF) { break; } if(fscanf(fp1,"%s",buf7[1])==EOF) { break; } if(fscanf(fp1,"%s",buf7[2])==EOF) { break; } if(fscanf(fp1,"%s",buf7[3])==EOF) { break; } if(fscanf(fp1,"%s",buf7[4])==EOF) { break; } if(fscanf(fp1,"%s",buf7[5])==EOF) { break; } fsNum++; strcpy(allFs[fsNum-1].name,buf7[0]); allFs[fsNum-1].ab=(int)(atof(buf7[1])/1024); allFs[fsNum-1].ub=(int)(atof(buf7[2])/1024); allFs[fsNum-1].fb=(int)(atof(buf7[3])/1024); strcpy(allFs[fsNum-1].usage,buf7[4]); strcpy(allFs[fsNum-1].point,buf7[5]); } fclose(fp1);}void updatePage5(){ int i; static char buf6[6][512]; static int flag3=0; getFsInfo(); if (flag3) { markup1 = g_markup_printf_escaped ("<span font_desc=\"URW Gothic L Bold 20\">In total, %d main filesystem found</span>",fsNum); gtk_label_set_markup (GTK_LABEL (page5Label), markup1); g_free (markup1); } flag3=1; gtk_list_store_clear(GTK_LIST_STORE(list_p5)); /* put data into the list */ for (i = 0; i < fsNum; i++) { if (allFs[i].name==NULL) { sprintf(buf6[0],"N/A "); } else { sprintf(buf6[0],"%s ",allFs[i].name); } if (allFs[i].ab==-1) { sprintf(buf6[1],"N/A "); } else { sprintf(buf6[1],"%d ",allFs[i].ab); } if (allFs[i].ub==-1) { sprintf(buf6[2],"N/A "); } else { sprintf(buf6[2],"%d ",allFs[i].ub); } if (allFs[i].fb==-1) { sprintf(buf6[3],"N/A "); } else { sprintf(buf6[3],"%d ",allFs[i].fb); } if (allFs[i].usage==NULL) { sprintf(buf6[4],"N/A "); } else { sprintf(buf6[4],"%s ",allFs[i].usage); } if (allFs[i].point==NULL) { sprintf(buf6[50],"N/A "); } else { sprintf(buf6[5],"%s ",allFs[i].point); } gtk_list_store_append(list_p5, &iter_p5); gtk_list_store_set(list_p5, &iter_p5, 0,buf6[0], 1,buf6[1], 2,buf6[2], 3,buf6[3], 4,buf6[4], 5,buf6[5], -1); }}page5Generate(){ /* create a 6?column list */ list_p5 = gtk_list_store_new(6,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_STRING); updatePage5(); /* create tree view for the list */ view_p5 = g_object_new(GTK_TYPE_TREE_VIEW, "model", list_p5, "reorderable", TRUE, NULL); gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(view_p5),TRUE); /* create and initialize text renderer for cells */ text_renderer_p5_1 = gtk_cell_renderer_text_new(); g_object_set(text_renderer_p5_1, "font", "URW Gothic L","weight",1500,NULL); text_renderer_p5_2 = gtk_cell_renderer_text_new(); g_object_set(text_renderer_p5_2, "font", "URW Gothic L",NULL); text_renderer_p5_3 = gtk_cell_renderer_text_new(); g_object_set(text_renderer_p5_3, "font", "URW Gothic L",NULL); text_renderer_p5_4 = gtk_cell_renderer_text_new(); g_object_set(text_renderer_p5_4, "font", "URW Gothic L",NULL); text_renderer_p5_5 = gtk_cell_renderer_text_new(); g_object_set(text_renderer_p5_5, "font", "URW Gothic L",NULL); text_renderer_p5_6 = gtk_cell_renderer_text_new(); g_object_set(text_renderer_p5_6, "font", "Purisa",NULL); /* create column views */ name_column_p5 = gtk_tree_view_column_new_with_attributes("Name",text_renderer_p5_1,"text", 0,NULL); g_object_set(name_column_p5, "resizable", TRUE, "clickable", FALSE, "reorderable", TRUE, NULL); ab_column_p5 = gtk_tree_view_column_new_with_attributes("Size(MB)",text_renderer_p5_2,"text", 1,NULL); g_object_set(ab_column_p5, "resizable", TRUE, "clickable", FALSE, "reorderable", TRUE, NULL); ub_column_p5 = gtk_tree_view_column_new_with_attributes("Used(MB)",text_renderer_p5_3,"text", 2,NULL); g_object_set(ub_column_p5, "resizable", TRUE, "clickable", FALSE, "reorderable", TRUE, NULL); fb_column_p5 = gtk_tree_view_column_new_with_attributes("Free(MB)",text_renderer_p5_4,"text", 3,NULL); g_object_set(fb_column_p5, "resizable", TRUE, "clickable", FALSE, "reorderable", TRUE, NULL); usage_column_p5 = gtk_tree_view_column_new_with_attributes("Used Percentage",text_renderer_p5_5,"text", 4,NULL); g_object_set(usage_column_p5, "resizable", TRUE, "clickable", FALSE, "reorderable", TRUE, NULL); point_column_p5 = gtk_tree_view_column_new_with_attributes("Mount Point",text_renderer_p5_6,"text", 5,NULL); g_object_set(point_column_p5, "resizable", TRUE, "clickable", FALSE, "reorderable", TRUE, NULL); /* insert columns into the view */ gtk_tree_view_append_column(view_p5,name_column_p5); gtk_tree_view_append_column(view_p5,ab_column_p5); gtk_tree_view_append_column(view_p5,ub_column_p5); gtk_tree_view_append_column(view_p5,fb_column_p5); gtk_tree_view_append_column(view_p5,usage_column_p5); gtk_tree_view_append_column(view_p5,point_column_p5); /* put everything into a scrolled window */ scrolled_window_p5 = g_object_new(GTK_TYPE_SCROLLED_WINDOW, NULL); gtk_container_add(GTK_CONTAINER(scrolled_window_p5), GTK_WIDGET(view_p5)); gtk_table_attach(GTK_TABLE(page_table[4]),GTK_WIDGET(scrolled_window_p5), 0,gridQuanH, 0,gridQuanV/10*9, GTK_EXPAND|GTK_FILL,GTK_EXPAND|GTK_FILL, 10,10 ); page5Frame=g_object_new(GTK_TYPE_FRAME, "label", "Main Filesystem Overall View", NULL); gtk_table_attach(GTK_TABLE(page_table[4]),GTK_WIDGET(page5Frame), 0,gridQuanH, gridQuanV/10*9,gridQuanV, GTK_EXPAND|GTK_FILL,GTK_EXPAND|GTK_FILL, 10,5 ); sprintf(fsOverallDataBuffer,"In total, %d main filesystem found",fsNum); page5Label=gtk_label_new(fsOverallDataBuffer); gtk_label_set_justify(GTK_LABEL(page5Label),GTK_JUSTIFY_CENTER); markup1 = g_markup_printf_escaped ("<span font_desc=\"URW Palladio Bold 17\">In total, %d main filesystem found.</span>",fsNum); gtk_label_set_markup (GTK_LABEL (page5Label), markup1); g_free (markup1); gtk_table_attach(GTK_TABLE(page_table[4]),GTK_WIDGET(page5Label), 0,gridQuanH, gridQuanV/10*9,gridQuanV, GTK_EXPAND|GTK_FILL,GTK_EXPAND|GTK_FILL, 10,0 );}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -