Skip to content

Commit 0af943a

Browse files
author
root
committed
[Client]환경설정 화면 기능 구현 8/10완료
1 parent 202328e commit 0af943a

File tree

4 files changed

+148
-64
lines changed

4 files changed

+148
-64
lines changed

src/glade/bxr_plover

376 Bytes
Binary file not shown.

src/glade/main.c

Lines changed: 99 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,16 @@
1313
static gchar *path; // 검사 파일경로 //
1414
static gchar *name; // 등록 유저이름 //
1515
static gchar *job; // 등록 직급이름 //
16-
static gchar *vs_dept; // 등록 부서이름 //
16+
static gchar *vs_dept; // 등록 부서이름 //
1717

1818
static int chk_fcnt = -1; // 파일개수 cnt //
1919
static char chk_fname[100]; // 정규식돌고있는 파일이름 //
2020
static char chk_fpath[1024]; // 검출 결과에서 선택한 파일경로 //
21-
static char chk_uuid[40]; // UUID 저장 //
21+
static char chk_uuid[40]; // UUID 저장 //
2222
static uint chk_fsize; // 검출 결과에서 선택한 파일크기 //
23-
static int chk_df = 0; // chk data flag //
24-
static const char *chk_ver; // chk version //
23+
static int chk_df = 0; // chk data flag //
24+
static const char *chk_ver; // chk version //
2525

26-
GtkBuilder *builder;
2726

2827
GtkWidget *main_window,
2928
*m_userinfo_label,
@@ -32,20 +31,27 @@ GtkWidget *main_window,
3231
*e_jobtitle_cbxtext,
3332
*e_verion_label,
3433
*detect_window,
35-
*setting_window,
3634
*department_window,
3735
*d_progressbar_status,
3836
*d_progressbar,
37+
*setting_window,
3938
*window;
4039

4140
GtkEntry *e_name_entry,
42-
*e_jobtitle_entry,
43-
*e_department_entry,
44-
*d_detect_entry;
41+
*e_jobtitle_entry,
42+
*e_department_entry,
43+
*d_detect_entry,
44+
*s_detect_entry,
45+
*s_ip_entry,
46+
*s_port_entry;
4547

4648
GtkScrolledWindow *d_scrolledwindow,
4749
*dept_scrolledwindow;
4850

51+
GtkWidget *filechooserdialog;
52+
53+
GtkBuilder *builder;
54+
4955

5056
char *b64_encode (const unsigned char *src, size_t len, char *enc);
5157

@@ -63,7 +69,7 @@ void e_name_entry_activate (GtkEntry *e_name_entry, gpointer *data);
6369
static GtkTreeModel *e_create_and_fill_model (void);
6470
static GtkWidget *e_create_view_and_model (void);
6571

66-
gboolean e_view_selection_func (GtkTreeSelection *selection,
72+
gboolean e_view_selection_func (GtkTreeSelection *selection,
6773
GtkTreeModel *model,
6874
GtkTreePath *path,
6975
gboolean path_currently_selected,
@@ -83,7 +89,7 @@ void d_folder_btn_clicked (GtkButton *d_folder_btn, gpointer *data);
8389
void d_close_btn_clicked (GtkButton *d_close_btn, gpointer *data);
8490
void d_detect_entry_activate (GtkEntry *d_detect_entry, gpointer *data);
8591

86-
gboolean d_view_selection_func (GtkTreeSelection *selection,
92+
gboolean d_view_selection_func (GtkTreeSelection *selection,
8793
GtkTreeModel *model,
8894
GtkTreePath *path,
8995
gboolean path_currently_selected,
@@ -94,7 +100,13 @@ static GtkWidget *d_create_view_and_model (void);
94100
/* end of detect_window */
95101

96102
// setting_window #sf //
103+
void s_ok_btn_clicked (GtkButton *s_ok_btn, gpointer *data);
97104
void s_cloese_btn_clicked (GtkButton *s_cloese_btn, gpointer *data);
105+
void s_folder_btn_clicked (GtkButton *s_folder_btn, gpointer *data);
106+
void s_usrchg_btn_clicked (GtkButton *s_usrchg_btn, gpointer *data);
107+
void s_detect_entry_activate (GtkEntry *s_detect_entry, gpointer *data);
108+
void s_ip_entry_activate (GtkEntry *s_ip_entry, gpointer *data);
109+
void s_port_entry_activate (GtkEntry *s_port_entry, gpointer *data);
98110
/* end of setting_window */
99111

100112

@@ -116,12 +128,12 @@ int func_UsrChk()
116128

117129
if (chk_df == 1)
118130
{
119-
gtk_widget_show(enrollment_window); // 사용자 등록 창 //
131+
gtk_widget_show(enrollment_window); // 사용자 등록 창 //
120132
gtk_main();
121133
}
122134
if (chk_df == 2)
123135
{
124-
gtk_widget_show(main_window); // 메인 창 //
136+
gtk_widget_show(main_window); // 메인 창 //
125137
gtk_main();
126138
}
127139

@@ -973,32 +985,30 @@ void d_detect_entry_activate (GtkEntry *d_detect_entry, gpointer *data)
973985
{
974986
path = (gchar *)gtk_entry_get_text(d_detect_entry);
975987
g_print("선택한 폴더 위치: %s\n", path);
976-
988+
977989
return;
978990
}
979991

980992

981993
void d_folder_btn_clicked (GtkButton *d_folder_btn, gpointer *data)
982994
{
983-
GtkWidget *d_filechooserdialog;
984-
985-
d_filechooserdialog = gtk_file_chooser_dialog_new("Open File", GTK_WINDOW(data), GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
995+
filechooserdialog = gtk_file_chooser_dialog_new("Open File", GTK_WINDOW(data), GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
986996
("_선택"), GTK_RESPONSE_ACCEPT, NULL);
987997

988-
gtk_widget_show_all(d_filechooserdialog);
998+
gtk_widget_show_all(filechooserdialog);
989999

990-
gint resp = gtk_dialog_run(GTK_DIALOG(d_filechooserdialog));
1000+
gint resp = gtk_dialog_run(GTK_DIALOG(filechooserdialog));
9911001

9921002
if( resp == GTK_RESPONSE_ACCEPT)
9931003
{
994-
gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(d_filechooserdialog));
1004+
gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(filechooserdialog));
9951005
}
996-
path = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(d_filechooserdialog));
1006+
path = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(filechooserdialog));
9971007

9981008
gtk_entry_set_text(GTK_ENTRY (data), path);
9991009

10001010

1001-
gtk_widget_destroy(d_filechooserdialog);
1011+
gtk_widget_destroy(filechooserdialog);
10021012

10031013
g_print("선택한 폴더 위치: %s\n", path);
10041014

@@ -1295,10 +1305,10 @@ enum
12951305

12961306
gboolean
12971307
e_view_selection_func (GtkTreeSelection *selection,
1298-
GtkTreeModel *model,
1299-
GtkTreePath *path,
1300-
gboolean path_currently_selected,
1301-
gpointer userdata)
1308+
GtkTreeModel *model,
1309+
GtkTreePath *path,
1310+
gboolean path_currently_selected,
1311+
gpointer userdata)
13021312
{
13031313
GtkTreeIter iter;
13041314

@@ -1428,8 +1438,8 @@ e_create_view_and_model (void)
14281438
{
14291439
GtkTreeViewColumn *e_col;
14301440
GtkCellRenderer *e_renderer;
1431-
GtkWidget *e_view;
1432-
GtkTreeModel *e_model;
1441+
GtkWidget *e_view;
1442+
GtkTreeModel *e_model;
14331443
GtkTreeSelection *e_selection;
14341444

14351445
e_view = gtk_tree_view_new();
@@ -1514,6 +1524,66 @@ void e_enroll_btn_clicked (GtkButton *e_enroll_btn, gpointer *data)
15141524

15151525

15161526
// setting_window function #sf //
1527+
void s_ip_entry_activate (GtkEntry *s_ip_entry, gpointer *data)
1528+
{
1529+
char *hostname;
1530+
hostname = (gchar *)gtk_entry_get_text(s_ip_entry);
1531+
g_print("선택한 폴더 위치: %s\n", hostname);
1532+
1533+
return;
1534+
}
1535+
1536+
void s_port_entry_activate (GtkEntry *s_port_entry, gpointer *data)
1537+
{
1538+
char *port;
1539+
port = (gchar *)gtk_entry_get_text(s_port_entry);
1540+
g_print("선택한 폴더 위치: %s\n", port);
1541+
1542+
return;
1543+
}
1544+
1545+
void s_detect_entry_activate (GtkEntry *s_detect_entry, gpointer *data)
1546+
{
1547+
path = (gchar *)gtk_entry_get_text(s_detect_entry);
1548+
g_print("선택한 폴더 위치: %s\n", path);
1549+
1550+
return;
1551+
}
1552+
1553+
void s_folder_btn_clicked (GtkButton *s_folder_btn, gpointer *data)
1554+
{
1555+
filechooserdialog = gtk_file_chooser_dialog_new("Open File", GTK_WINDOW(data), GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
1556+
("_선택"), GTK_RESPONSE_ACCEPT, NULL);
1557+
1558+
gtk_widget_show_all(filechooserdialog);
1559+
1560+
gint resp = gtk_dialog_run(GTK_DIALOG(filechooserdialog));
1561+
1562+
if( resp == GTK_RESPONSE_ACCEPT)
1563+
{
1564+
gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(filechooserdialog));
1565+
}
1566+
path = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(filechooserdialog));
1567+
1568+
gtk_entry_set_text(GTK_ENTRY (data), path);
1569+
1570+
1571+
gtk_widget_destroy(filechooserdialog);
1572+
1573+
g_print("선택한 폴더 위치: %s\n", path);
1574+
1575+
return;
1576+
}
1577+
void s_usrchg_btn_clicked (GtkButton *s_usrchg_btn, gpointer *data);
1578+
1579+
1580+
void s_ok_btn_clicked (GtkButton *s_ok_btn, gpointer *data)
1581+
{
1582+
gtk_widget_show(main_window);
1583+
1584+
return;
1585+
}
1586+
15171587
void s_cloese_btn_clicked (GtkButton *setting_window, gpointer *data)
15181588
{
15191589
gtk_widget_hide(GTK_WIDGET(data));
@@ -1553,7 +1623,7 @@ int main (int argc, char *argv[])
15531623
func_SetRabbit(); // 서버와 연결 //
15541624
func_VerChk(); // 버전 확인 //
15551625
func_UsrChk(); // 사용자 확인 //
1556-
func_Uuid(); // 사용자 UUID //
1626+
func_Uuid(); // 사용자 UUID //
15571627

15581628
g_object_unref(builder);
15591629

src/glade/main.glade

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -881,6 +881,7 @@
881881
<property name="width_request">660</property>
882882
<property name="height_request">610</property>
883883
<property name="can_focus">False</property>
884+
<property name="title" translatable="yes">환경설정</property>
884885
<property name="resizable">False</property>
885886
<property name="default_width">660</property>
886887
<property name="default_height">610</property>
@@ -931,36 +932,37 @@
931932
<property name="can_focus">True</property>
932933
<property name="receives_default">True</property>
933934
<property name="relief">none</property>
934-
<signal name="clicked" handler="s_folder_btn_clicked" object="s_folder_entry" swapped="no"/>
935+
<signal name="clicked" handler="s_folder_btn_clicked" object="s_detect_entry" swapped="no"/>
935936
</object>
936937
<packing>
937938
<property name="x">180</property>
938939
<property name="y">147</property>
939940
</packing>
940941
</child>
941942
<child>
942-
<object class="GtkEntry" id="s_folder_entry">
943+
<object class="GtkEntry" id="s_detect_entry">
943944
<property name="width_request">315</property>
944945
<property name="height_request">40</property>
945946
<property name="visible">True</property>
946947
<property name="can_focus">True</property>
947948
<property name="has_frame">False</property>
948949
<property name="placeholder_text" translatable="yes"> [파일/폴더] 의 위치를 입력하세요...</property>
949-
<signal name="activate" handler="s_folder_entry_activate" swapped="no"/>
950+
<signal name="activate" handler="s_detect_entry_activate" swapped="no"/>
950951
</object>
951952
<packing>
952953
<property name="x">285</property>
953954
<property name="y">147</property>
954955
</packing>
955956
</child>
956957
<child>
957-
<object class="GtkEntry" id="s_server_entry">
958+
<object class="GtkEntry" id="s_ip_entry">
958959
<property name="width_request">220</property>
959960
<property name="height_request">40</property>
960961
<property name="visible">True</property>
961962
<property name="can_focus">True</property>
962963
<property name="has_frame">False</property>
963964
<property name="placeholder_text" translatable="yes">접속서버 IP를 입력하세요...</property>
965+
<signal name="activate" handler="s_ip_entry_activate" swapped="no"/>
964966
</object>
965967
<packing>
966968
<property name="x">180</property>
@@ -974,25 +976,13 @@
974976
<property name="visible">True</property>
975977
<property name="can_focus">True</property>
976978
<property name="has_frame">False</property>
979+
<signal name="activate" handler="s_port_entry_activate" swapped="no"/>
977980
</object>
978981
<packing>
979982
<property name="x">500</property>
980983
<property name="y">207</property>
981984
</packing>
982985
</child>
983-
<child>
984-
<object class="GtkEntry" id="s_pagelink_entry">
985-
<property name="width_request">420</property>
986-
<property name="height_request">40</property>
987-
<property name="visible">True</property>
988-
<property name="can_focus">True</property>
989-
<property name="has_frame">False</property>
990-
</object>
991-
<packing>
992-
<property name="x">180</property>
993-
<property name="y">267</property>
994-
</packing>
995-
</child>
996986
<child>
997987
<object class="GtkButton" id="s_usrchg_btn">
998988
<property name="width_request">110</property>
@@ -1096,6 +1086,23 @@
10961086
<property name="y">337</property>
10971087
</packing>
10981088
</child>
1089+
<child>
1090+
<object class="GtkLinkButton" id="s_pagelink_btn">
1091+
<property name="label" translatable="yes">button</property>
1092+
<property name="width_request">420</property>
1093+
<property name="height_request">40</property>
1094+
<property name="visible">True</property>
1095+
<property name="can_focus">True</property>
1096+
<property name="receives_default">True</property>
1097+
<property name="opacity">0.20000000000000001</property>
1098+
<property name="relief">none</property>
1099+
<property name="uri">http://joeunins.slack.com</property>
1100+
</object>
1101+
<packing>
1102+
<property name="x">180</property>
1103+
<property name="y">267</property>
1104+
</packing>
1105+
</child>
10991106
</object>
11001107
</child>
11011108
</object>

0 commit comments

Comments
 (0)