Annotation of sbbs/src/sbbs3/gtkuserlist/gtkuserlist.c, revision 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.