Annotation of sbbs/src/sbbs3/gtkuserlist/gtkuserlist.c, revision 1.1.1.1

1.1       root        1: #include "dirwrap.h"
                      2: #include "ini_file.h"
                      3: 
                      4: #include "events.h"
                      5: #include "gtkuserlist.h"
                      6: 
                      7: GladeXML       *lxml;
                      8: scfg_t         cfg;
                      9: uchar          *arbuf=NULL;
                     10: 
                     11: int main(int argc, char **argv)
                     12: {
                     13:        GtkWidget               *w;
                     14:        int                             i;
                     15:        char                    str[1025];
                     16:        char                    flags[33];
                     17:        GtkListStore    *lstore = NULL;
                     18:        GtkTreeSelection *lsel;
                     19:        char                    glade_path[MAX_PATH+1];
                     20:        char    *p;
                     21: 
                     22:     gtk_init(&argc, &argv);
                     23:     glade_init();
                     24: 
                     25:     /* Read .cfg files here */
                     26:     memset(&cfg,0,sizeof(cfg));
                     27:        p=getenv("SBBSCTRL");
                     28:        if(p==NULL) {
                     29:                display_message("Environment Error","SBBSCTRL not set","gtk-dialog-error");
                     30:                return(-1);
                     31:        }
                     32:        SAFECOPY(cfg.ctrl_dir, p);
                     33:        prep_dir("",cfg.ctrl_dir,sizeof(cfg.ctrl_dir));
                     34:        if(!isdir(cfg.ctrl_dir)) {
                     35:                display_message("Environment Error","SBBSCTRL does not point to a directory","gtk-dialog-error");
                     36:                return(-1);
                     37:        }
                     38:     cfg.size=sizeof(cfg);
                     39: 
                     40:     if(!load_cfg(&cfg, NULL, TRUE, str)) {
                     41:                fprintf(stderr,"Cannot load configuration data (%s)",str);
                     42:         return;
                     43:        }
                     44: 
                     45:     /* load the interface */
                     46:        strcpy(glade_path, argv[0]);
                     47:        strcpy(getfname(glade_path), "gtkuserlist.glade");
                     48: 
                     49:     lxml = glade_xml_new(glade_path, "UserListWindow", NULL);
                     50:        if(lxml==NULL) {
                     51:                fprintf(stderr,"Could not locate UserListWindow widget\n");
                     52:                return;
                     53:        }
                     54:     /* connect the signals in the interface */
                     55:     glade_xml_signal_autoconnect(lxml);
                     56: 
                     57:        /* Set up user list */
                     58:        w=glade_xml_get_widget(lxml, "lUserList");
                     59:        lstore = gtk_list_store_new(17
                     60:                        ,G_TYPE_INT
                     61:                        ,G_TYPE_STRING
                     62:                        ,G_TYPE_STRING
                     63:                        ,G_TYPE_INT
                     64:                        ,G_TYPE_INT
                     65:                        ,G_TYPE_STRING
                     66:                        ,G_TYPE_STRING
                     67:                        ,G_TYPE_STRING
                     68:                        ,G_TYPE_STRING
                     69:                        ,G_TYPE_STRING
                     70:                        ,G_TYPE_STRING
                     71:                        ,G_TYPE_STRING
                     72:                        ,G_TYPE_INT
                     73:                        ,G_TYPE_STRING
                     74:                        ,G_TYPE_STRING
                     75:                        ,G_TYPE_INT
                     76:                        ,G_TYPE_INT
                     77:        );
                     78:        gtk_tree_view_set_model(GTK_TREE_VIEW(w), GTK_TREE_MODEL(lstore));
                     79:        gtk_tree_view_insert_column_with_attributes(
                     80:                        GTK_TREE_VIEW(w)
                     81:                        ,0
                     82:                        ,"Num"
                     83:                        ,gtk_cell_renderer_text_new()
                     84:                        ,"text"
                     85:                        ,0
                     86:                        ,NULL);
                     87:        gtk_tree_view_column_set_sort_column_id(
                     88:                        gtk_tree_view_get_column(
                     89:                                        GTK_TREE_VIEW(w), 0
                     90:                        )
                     91:                        ,0
                     92:        );
                     93:        gtk_tree_view_insert_column_with_attributes(
                     94:                        GTK_TREE_VIEW(w)
                     95:                        ,1
                     96:                        ,"Alias"
                     97:                        ,gtk_cell_renderer_text_new()
                     98:                        ,"text"
                     99:                        ,1
                    100:                        ,NULL);
                    101:        gtk_tree_view_column_set_sort_column_id(
                    102:                        gtk_tree_view_get_column(
                    103:                                        GTK_TREE_VIEW(w), 1
                    104:                        )
                    105:                        ,1
                    106:        );
                    107:        gtk_tree_view_insert_column_with_attributes(
                    108:                        GTK_TREE_VIEW(w)
                    109:                        ,2
                    110:                        ,"Name"
                    111:                        ,gtk_cell_renderer_text_new()
                    112:                        ,"text"
                    113:                        ,2
                    114:                        ,NULL);
                    115:        gtk_tree_view_column_set_sort_column_id(
                    116:                        gtk_tree_view_get_column(
                    117:                                        GTK_TREE_VIEW(w), 2
                    118:                        )
                    119:                        ,2
                    120:        );
                    121:        gtk_tree_view_insert_column_with_attributes(
                    122:                        GTK_TREE_VIEW(w)
                    123:                        ,3
                    124:                        ,"Lev"
                    125:                        ,gtk_cell_renderer_text_new()
                    126:                        ,"text"
                    127:                        ,3
                    128:                        ,NULL);
                    129:        gtk_tree_view_column_set_sort_column_id(
                    130:                        gtk_tree_view_get_column(
                    131:                                        GTK_TREE_VIEW(w), 3
                    132:                        )
                    133:                        ,3
                    134:        );
                    135:        gtk_tree_view_insert_column_with_attributes(
                    136:                        GTK_TREE_VIEW(w)
                    137:                        ,4
                    138:                        ,"Age"
                    139:                        ,gtk_cell_renderer_text_new()
                    140:                        ,"text"
                    141:                        ,4
                    142:                        ,NULL);
                    143:        gtk_tree_view_column_set_sort_column_id(
                    144:                        gtk_tree_view_get_column(
                    145:                                        GTK_TREE_VIEW(w), 4
                    146:                        )
                    147:                        ,4
                    148:        );
                    149:        gtk_tree_view_insert_column_with_attributes(
                    150:                        GTK_TREE_VIEW(w)
                    151:                        ,5
                    152:                        ,"Sex"
                    153:                        ,gtk_cell_renderer_text_new()
                    154:                        ,"text"
                    155:                        ,5
                    156:                        ,NULL);
                    157:        gtk_tree_view_column_set_sort_column_id(
                    158:                        gtk_tree_view_get_column(
                    159:                                        GTK_TREE_VIEW(w), 5
                    160:                        )
                    161:                        ,5
                    162:        );
                    163:        gtk_tree_view_insert_column_with_attributes(
                    164:                        GTK_TREE_VIEW(w)
                    165:                        ,6
                    166:                        ,"Location"
                    167:                        ,gtk_cell_renderer_text_new()
                    168:                        ,"text"
                    169:                        ,6
                    170:                        ,NULL);
                    171:        gtk_tree_view_column_set_sort_column_id(
                    172:                        gtk_tree_view_get_column(
                    173:                                        GTK_TREE_VIEW(w), 6
                    174:                        )
                    175:                        ,6
                    176:        );
                    177:        gtk_tree_view_insert_column_with_attributes(
                    178:                        GTK_TREE_VIEW(w)
                    179:                        ,7
                    180:                        ,"Protocol"
                    181:                        ,gtk_cell_renderer_text_new()
                    182:                        ,"text"
                    183:                        ,7
                    184:                        ,NULL);
                    185:        gtk_tree_view_column_set_sort_column_id(
                    186:                        gtk_tree_view_get_column(
                    187:                                        GTK_TREE_VIEW(w), 7
                    188:                        )
                    189:                        ,7
                    190:        );
                    191:        gtk_tree_view_insert_column_with_attributes(
                    192:                        GTK_TREE_VIEW(w)
                    193:                        ,8
                    194:                        ,"Address"
                    195:                        ,gtk_cell_renderer_text_new()
                    196:                        ,"text"
                    197:                        ,8
                    198:                        ,NULL);
                    199:        gtk_tree_view_column_set_sort_column_id(
                    200:                        gtk_tree_view_get_column(
                    201:                                        GTK_TREE_VIEW(w), 8
                    202:                        )
                    203:                        ,8
                    204:        );
                    205:        gtk_tree_view_insert_column_with_attributes(
                    206:                        GTK_TREE_VIEW(w)
                    207:                        ,9
                    208:                        ,"Host Name"
                    209:                        ,gtk_cell_renderer_text_new()
                    210:                        ,"text"
                    211:                        ,9
                    212:                        ,NULL);
                    213:        gtk_tree_view_column_set_sort_column_id(
                    214:                        gtk_tree_view_get_column(
                    215:                                        GTK_TREE_VIEW(w), 9
                    216:                        )
                    217:                        ,9
                    218:        );
                    219:        gtk_tree_view_insert_column_with_attributes(
                    220:                        GTK_TREE_VIEW(w)
                    221:                        ,10
                    222:                        ,"Phone"
                    223:                        ,gtk_cell_renderer_text_new()
                    224:                        ,"text"
                    225:                        ,10
                    226:                        ,NULL);
                    227:        gtk_tree_view_column_set_sort_column_id(
                    228:                        gtk_tree_view_get_column(
                    229:                                        GTK_TREE_VIEW(w), 10
                    230:                        )
                    231:                        ,10
                    232:        );
                    233:        gtk_tree_view_insert_column_with_attributes(
                    234:                        GTK_TREE_VIEW(w)
                    235:                        ,11
                    236:                        ,"Email"
                    237:                        ,gtk_cell_renderer_text_new()
                    238:                        ,"text"
                    239:                        ,11
                    240:                        ,NULL);
                    241:        gtk_tree_view_column_set_sort_column_id(
                    242:                        gtk_tree_view_get_column(
                    243:                                        GTK_TREE_VIEW(w), 11
                    244:                        )
                    245:                        ,11
                    246:        );
                    247:        gtk_tree_view_insert_column_with_attributes(
                    248:                        GTK_TREE_VIEW(w)
                    249:                        ,12
                    250:                        ,"Logons"
                    251:                        ,gtk_cell_renderer_text_new()
                    252:                        ,"text"
                    253:                        ,12
                    254:                        ,NULL);
                    255:        gtk_tree_view_column_set_sort_column_id(
                    256:                        gtk_tree_view_get_column(
                    257:                                        GTK_TREE_VIEW(w), 12
                    258:                        )
                    259:                        ,12
                    260:        );
                    261:        gtk_tree_view_insert_column_with_attributes(
                    262:                        GTK_TREE_VIEW(w)
                    263:                        ,13
                    264:                        ,"First On"
                    265:                        ,gtk_cell_renderer_text_new()
                    266:                        ,"text"
                    267:                        ,13
                    268:                        ,NULL);
                    269:        gtk_tree_view_column_set_sort_column_id(
                    270:                        gtk_tree_view_get_column(
                    271:                                        GTK_TREE_VIEW(w), 13
                    272:                        )
                    273:                        ,15
                    274:        );
                    275:        gtk_tree_view_insert_column_with_attributes(
                    276:                        GTK_TREE_VIEW(w)
                    277:                        ,14
                    278:                        ,"Last On"
                    279:                        ,gtk_cell_renderer_text_new()
                    280:                        ,"text"
                    281:                        ,14
                    282:                        ,NULL);
                    283:        gtk_tree_view_column_set_sort_column_id(
                    284:                        gtk_tree_view_get_column(
                    285:                                        GTK_TREE_VIEW(w), 14
                    286:                        )
                    287:                        ,16
                    288:        );
                    289:        lsel = gtk_tree_view_get_selection (GTK_TREE_VIEW (w));
                    290:        gtk_tree_selection_set_mode (lsel, GTK_SELECTION_MULTIPLE);
                    291:        g_signal_connect (G_OBJECT (lsel), "changed", G_CALLBACK (update_userlist_sensitive_callback), NULL);
                    292: 
                    293:        /* Set up users */
                    294:        update_userlist_callback(GTK_WIDGET(w), NULL);
                    295:        update_userlist_sensitive_callback(lsel, NULL);
                    296: 
                    297:        /* Set up quick validation values */
                    298:        w=glade_xml_get_widget(lxml, "cQuickValidate");
                    299:        gtk_combo_box_set_active(GTK_COMBO_BOX(w), 0);
                    300:        for(i=0;i<10;i++) {
                    301:                sprintf(str,"%d  SL: %-2d  F1: %s",i,cfg.val_level[i],ltoaf(cfg.val_flags1[i],flags));
                    302:                gtk_combo_box_append_text(GTK_COMBO_BOX(w), str);
                    303:        }
                    304: 
                    305:        /* Show 'er to the user */
                    306:        gtk_window_present(GTK_WINDOW(glade_xml_get_widget(lxml, "UserListWindow")));
                    307:        gtk_main();
                    308: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.