@@ -26,8 +26,8 @@ typedef struct Data_storage
2626{
2727 char fpath [300 ]; //파일 경로
2828 char fname [20 ]; //파일 이름
29- int cnt ; //민감정보 총 개수(어디다 둬야할까...)
30- int fsize ; //파일 크기
29+ uint cnt ; //민감정보 총 개수
30+ uint fsize ; //파일 크기
3131 char stat ; //파일 상태
3232
3333
@@ -37,8 +37,7 @@ data_storage ds_j[MAX_CNT]; //j: 주민번호, d: 운전면허
3737
3838static gchar * path ;
3939int chk_tf ; //chk_true false
40- int data_flag = 1 ; //어떤종류의 민감정보인지 확인하기위한 flag
41-
40+ uint data_flag = 1 ; //어떤종류의 민감정보인지 확인하기위한 flag
4241
4342
4443GtkWidget * detect_window ,
@@ -48,31 +47,14 @@ GtkScrolledWindow *d_scrolledwindow;
4847
4948GtkEntry * d_detect_entry ;
5049
51- GtkListStore * d_liststore ;
52-
53- GtkTreeIter iter ;
54-
55- GtkTreeSelection * d_treeselection ;
56-
57- /*
58- GtkTreeViewColumn *d_treeview_num;
59- GtkTreeViewColumn *d_treeview_type;
60- GtkTreeViewColumn *d_treeview_filename;
61- GtkTreeViewColumn *d_treeview_filelocation;
62- GtkTreeViewColumn *d_treeview_cnt;
63- GtkTreeViewColumn *d_treeview_stat;
64- GtkTreeViewColumn *d_treeview_size;
65- */
66-
67-
6850
6951void e_enroll_btn_clicked (GtkButton * e_enroll_btn , gpointer * data );
7052
7153void m_window_destroy ();
7254void m_detect_btn_clicked (GtkButton * m_detect_btn , gpointer * data );
7355void m_setting_btn_clicked (GtkButton * m_setting_btn , gpointer * data );
7456
75- void d_detect_btn_clicked (GtkButton * d_detect_btn , GtkListStore * d_liststore );
57+ void d_detect_btn_clicked (GtkButton * d_detect_btn , gpointer * data );
7658void d_option_btn_clicked (GtkButton * d_option_btn , gpointer * data );
7759void d_folder_btn_clicked (GtkButton * d_folder_btn , gpointer * data );
7860void d_close_btn_clicked (GtkButton * d_close_btn , gpointer * data );
@@ -381,10 +363,12 @@ int detect_func(gchar *path)
381363 }
382364 amqp_bytes_free (props .reply_to );
383365 }
384-
366+
367+
385368 /*
386369 wait an answer
387370 */
371+ /*
388372 {
389373 amqp_basic_consume(conn, 1, reply_to_queue, amqp_empty_bytes, 0, 1, 0,
390374 amqp_empty_table);
@@ -475,25 +459,25 @@ int detect_func(gchar *path)
475459
476460 if (body_received != body_target)
477461 {
478- /* Can only happen when amqp_simple_wait_frame returns <= 0 * /
479- /* We break here to close the connection * /
462+ // Can only happen when amqp_simple_wait_frame returns <= 0 / /
463+ // We break here to close the connection / /
480464 break;
481465 }
482466
483- /* everything was fine, we can quit now because we received the reply * /
467+ // everything was fine, we can quit now because we received the reply / /
484468 break;
485469 }
486470 }
487471 }
472+ */
473+
488474
489475 /*
490476 closing
491477 */
492- die_on_amqp_error (amqp_channel_close (conn , 1 , AMQP_REPLY_SUCCESS ),
493- "Closing channel" );
478+ //die_on_amqp_error(amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS), "Closing channel");
494479
495- die_on_amqp_error (amqp_connection_close (conn , AMQP_REPLY_SUCCESS ),
496- "Closing connection" );
480+ //die_on_amqp_error(amqp_connection_close(conn, AMQP_REPLY_SUCCESS), "Closing connection");
497481
498482 die_on_error (amqp_destroy_connection (conn ), "Ending connection" );
499483
@@ -572,47 +556,140 @@ void d_folder_btn_clicked (GtkButton *d_folder_btn, gpointer *data)
572556 return ;
573557}
574558
559+ //treeview start//
575560enum
576561{
577- d_treeview_num ,
562+ d_treeview_num = 0 ,
578563 d_treeview_type ,
579564 d_treeview_filename ,
580565 d_treeview_filelocation ,
581566 d_treeview_cnt ,
582567 d_treeview_stat ,
583568 d_treeview_size ,
584569 NUM_COLS
585- };
586-
570+ } ;
587571
588- static GtkTreeModel * model (void )
572+ static GtkTreeModel *
573+ create_and_fill_model (void )
589574{
590- d_liststore = gtk_list_store_new (NUM_COLS , G_TYPE_UINT , G_TYPE_STRING , G_TYPE_STRING , G_TYPE_STRING , G_TYPE_UINT , G_TYPE_STRING , G_TYPE_UINT );
591-
592- /* Append a row and fill in some data */
593- gtk_list_store_append (d_liststore , & iter );
594- gtk_list_store_set (d_liststore , & iter ,
595- d_treeview_num , 1 ,
596- d_treeview_type , "주민번호" ,
597- d_treeview_filename , "test.txt" ,
598- d_treeview_filelocation , "/home/joeun/test" ,
599- d_treeview_cnt , 1 ,
600- d_treeview_stat , "이동" ,
601- d_treeview_size , "135" ,
602- -1 );
603-
604-
605- return GTK_TREE_MODEL (d_liststore );
575+ GtkTreeStore * treestore ;
576+ GtkTreeIter iter ;
577+
578+ treestore = gtk_tree_store_new (NUM_COLS , G_TYPE_UINT , G_TYPE_STRING , G_TYPE_STRING , G_TYPE_STRING , G_TYPE_UINT , G_TYPE_STRING , G_TYPE_UINT );
579+
580+ for (int i = 1 ; i <= ds_j -> cnt ; i ++ )
581+ {
582+ gtk_tree_store_append (treestore , & iter , NULL );
583+ gtk_tree_store_set (treestore , & iter ,
584+ d_treeview_num , i ,
585+ d_treeview_type , "data_flag" ,
586+ d_treeview_filename , ds_j [i ].fname ,
587+ d_treeview_filelocation , ds_j [i ].fpath ,
588+ d_treeview_cnt , ds_j [i ].cnt ,
589+ d_treeview_stat , "have to define" ,
590+ d_treeview_size , ds_j [i ].fsize ,
591+ -1 );
592+ }
593+
594+ return GTK_TREE_MODEL (treestore );
606595}
607596
608- static GtkWidget * d_treeview (void )
597+ static GtkWidget *
598+ create_view_and_model (void )
609599{
600+ GtkTreeViewColumn * col ;
601+ GtkCellRenderer * renderer ;
602+ GtkWidget * view ;
603+ GtkTreeModel * model ;
610604
605+ view = gtk_tree_view_new ();
606+
607+ /* --- Column #번호 --- */
608+ col = gtk_tree_view_column_new ();
609+
610+ gtk_tree_view_column_set_title (col , "번호" );
611+
612+ /* pack tree view column into tree view */
613+ gtk_tree_view_append_column (GTK_TREE_VIEW (view ), col );
614+
615+ renderer = gtk_cell_renderer_text_new ();
616+
617+ /* pack cell renderer into tree view column */
618+ gtk_tree_view_column_pack_start (col , renderer , TRUE);
619+
620+ gtk_tree_view_column_add_attribute (col , renderer , "text" , d_treeview_num );
621+
622+ /* --- Column #민감정보 종류 --- */
623+ col = gtk_tree_view_column_new ();
624+ gtk_tree_view_column_set_title (col , "민감정보 종류" );
625+ gtk_tree_view_append_column (GTK_TREE_VIEW (view ), col );
626+ renderer = gtk_cell_renderer_text_new ();
627+ gtk_tree_view_column_pack_start (col , renderer , TRUE);
628+ gtk_tree_view_column_add_attribute (col , renderer , "text" , d_treeview_type );
629+
630+ /* --- Column #파일 이름 --- */
631+ col = gtk_tree_view_column_new ();
632+ gtk_tree_view_column_set_title (col , "파일 이름" );
633+ gtk_tree_view_append_column (GTK_TREE_VIEW (view ), col );
634+ renderer = gtk_cell_renderer_text_new ();
635+ gtk_tree_view_column_pack_start (col , renderer , TRUE);
636+ gtk_tree_view_column_add_attribute (col , renderer , "text" , d_treeview_filename );
637+
638+ /* --- Column #파일 위치 --- */
639+ col = gtk_tree_view_column_new ();
640+ gtk_tree_view_column_set_title (col , "파일 위치" );
641+ gtk_tree_view_append_column (GTK_TREE_VIEW (view ), col );
642+ renderer = gtk_cell_renderer_text_new ();
643+ gtk_tree_view_column_pack_start (col , renderer , TRUE);
644+ gtk_tree_view_column_add_attribute (col , renderer , "text" , d_treeview_filelocation );
645+
646+ /* --- Column #민감정보 개수 --- */
647+ col = gtk_tree_view_column_new ();
648+ gtk_tree_view_column_set_title (col , "민감정보 개수" );
649+ gtk_tree_view_append_column (GTK_TREE_VIEW (view ), col );
650+ renderer = gtk_cell_renderer_text_new ();
651+ gtk_tree_view_column_pack_start (col , renderer , TRUE);
652+ gtk_tree_view_column_add_attribute (col , renderer , "text" , d_treeview_cnt );
653+
654+ /* --- Column #상태 --- */
655+ col = gtk_tree_view_column_new ();
656+ gtk_tree_view_column_set_title (col , "상태" );
657+ gtk_tree_view_append_column (GTK_TREE_VIEW (view ), col );
658+ renderer = gtk_cell_renderer_text_new ();
659+ gtk_tree_view_column_pack_start (col , renderer , TRUE);
660+ gtk_tree_view_column_add_attribute (col , renderer , "text" , d_treeview_stat );
661+
662+ /* --- Column #파일 크기 --- */
663+ col = gtk_tree_view_column_new ();
664+ gtk_tree_view_column_set_title (col , "파일 크기" );
665+ gtk_tree_view_append_column (GTK_TREE_VIEW (view ), col );
666+ renderer = gtk_cell_renderer_text_new ();
667+ gtk_tree_view_column_pack_start (col , renderer , TRUE);
668+ gtk_tree_view_column_add_attribute (col , renderer , "text" , d_treeview_size );
669+
670+ model = create_and_fill_model ();
671+
672+ gtk_tree_view_set_model (GTK_TREE_VIEW (view ), model );
673+
674+ g_object_unref (model ); /* destroy model automatically with view */
675+
676+ gtk_tree_selection_set_mode (gtk_tree_view_get_selection (GTK_TREE_VIEW (view )),
677+ GTK_SELECTION_NONE );
678+
679+ return view ;
611680}
681+ //treeview end//
612682
613- void d_detect_btn_clicked (GtkButton * d_detect_btn , GtkListStore * d_liststore )
683+
684+ void d_detect_btn_clicked (GtkButton * d_detect_btn , gpointer * data )
614685{
615- //detect_func(path);
686+ GtkWidget * view ;
687+
688+ detect_func (path );
689+
690+ view = create_view_and_model ();
691+ gtk_container_add (GTK_CONTAINER (d_scrolledwindow ), view );
692+ gtk_widget_show_all ((GtkWidget * )d_scrolledwindow );
616693
617694 return ;
618695}
@@ -678,7 +755,8 @@ int main (int argc, char *argv[])
678755{
679756 GtkBuilder * builder ;
680757 GtkWidget * main_window ,
681- * enrollment_window ;
758+ * enrollment_window ,
759+ * view ;
682760
683761 gtk_init (& argc , & argv );
684762
@@ -690,20 +768,8 @@ int main (int argc, char *argv[])
690768 detect_window = GTK_WIDGET (gtk_builder_get_object (builder , "detect_window" ));
691769 setting_window = GTK_WIDGET (gtk_builder_get_object (builder , "setting_window" ));
692770 d_scrolledwindow = GTK_SCROLLED_WINDOW (gtk_builder_get_object (builder , "d_scrolledwindow" ));
693-
694- d_treeview = GTK_WIDGET (gtk_builder_get_object (builder , "d_treeview" ));
695- //d_treeselection = GTK_TREE_SELECTION(gtk_builder_get_object(builder, "d_treeselection"));
696-
697- /*
698- d_treeview_num = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(builder, "d_treeview_num"));
699- d_treeview_type = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(builder, "d_treeview_type"));
700- d_treeview_filename = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(builder, "d_treeview_filename"));
701- d_treeview_filelocation = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(builder, "d_treeview_filelocation"));
702- d_treeview_cnt = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(builder, "d_treeview_cnt"));
703- d_treeview_stat = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(builder, "d_treeview_stat"));
704- d_treeview_size = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(builder, "d_treeview_size"));
705- */
706-
771+
772+
707773
708774
709775 //닫기x 버튼을 hide로 바꾸기//
0 commit comments