src/gtkblist.c

changeset 5427
a45fa07ef20d
parent 5422
066c98fd4fa8
child 5438
1cdcbc2739a3
equal deleted inserted replaced
5426:b9b571cd1e57 5427:a45fa07ef20d
1327 } 1327 }
1328 1328
1329 1329
1330 static void gaim_gtk_blist_show(struct gaim_buddy_list *list) 1330 static void gaim_gtk_blist_show(struct gaim_buddy_list *list)
1331 { 1331 {
1332 GtkItemFactory *ift;
1333 GtkCellRenderer *rend; 1332 GtkCellRenderer *rend;
1334 GtkTreeViewColumn *column; 1333 GtkTreeViewColumn *column;
1335 GtkWidget *sw; 1334 GtkWidget *sw;
1336 GtkWidget *button; 1335 GtkWidget *button;
1337 GtkSizeGroup *sg; 1336 GtkSizeGroup *sg;
1363 1362
1364 /******************************* Menu bar *************************************/ 1363 /******************************* Menu bar *************************************/
1365 accel_group = gtk_accel_group_new(); 1364 accel_group = gtk_accel_group_new();
1366 gtk_window_add_accel_group(GTK_WINDOW (gtkblist->window), accel_group); 1365 gtk_window_add_accel_group(GTK_WINDOW (gtkblist->window), accel_group);
1367 g_object_unref(accel_group); 1366 g_object_unref(accel_group);
1368 ift = gtk_item_factory_new(GTK_TYPE_MENU_BAR, "<GaimMain>", accel_group); 1367 gtkblist->ift = gtk_item_factory_new(GTK_TYPE_MENU_BAR, "<GaimMain>", accel_group);
1369 gtk_item_factory_set_translate_func (ift, 1368 gtk_item_factory_set_translate_func (gtkblist->ift,
1370 item_factory_translate_func, 1369 item_factory_translate_func,
1371 NULL, NULL); 1370 NULL, NULL);
1372 gtk_item_factory_create_items(ift, sizeof(blist_menu) / sizeof(*blist_menu), 1371 gtk_item_factory_create_items(gtkblist->ift, sizeof(blist_menu) / sizeof(*blist_menu),
1373 blist_menu, NULL); 1372 blist_menu, NULL);
1374 gtk_box_pack_start(GTK_BOX(gtkblist->vbox), gtk_item_factory_get_widget(ift, "<GaimMain>"), FALSE, FALSE, 0); 1373 gtk_box_pack_start(GTK_BOX(gtkblist->vbox), gtk_item_factory_get_widget(gtkblist->ift, "<GaimMain>"), FALSE, FALSE, 0);
1375 1374
1376 awaymenu = gtk_item_factory_get_widget(ift, N_("/Tools/Away")); 1375 awaymenu = gtk_item_factory_get_widget(gtkblist->ift, N_("/Tools/Away"));
1377 do_away_menu(); 1376 do_away_menu();
1378 1377
1379 gtkblist->bpmenu = gtk_item_factory_get_widget(ift, N_("/Tools/Buddy Pounce")); 1378 gtkblist->bpmenu = gtk_item_factory_get_widget(gtkblist->ift, N_("/Tools/Buddy Pounce"));
1380 gaim_gtkpounce_menu_build(gtkblist->bpmenu); 1379 gaim_gtkpounce_menu_build(gtkblist->bpmenu);
1381 1380
1382 protomenu = gtk_item_factory_get_widget(ift, N_("/Tools/Protocol Actions")); 1381 protomenu = gtk_item_factory_get_widget(gtkblist->ift, N_("/Tools/Protocol Actions"));
1383 do_proto_menu(); 1382 do_proto_menu();
1384 1383
1385 /****************************** GtkTreeView **********************************/ 1384 /****************************** GtkTreeView **********************************/
1386 sw = gtk_scrolled_window_new(NULL,NULL); 1385 sw = gtk_scrolled_window_new(NULL,NULL);
1387 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN); 1386 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN);
1460 gaim_gtk_blist_update_columns(); 1459 gaim_gtk_blist_update_columns();
1461 1460
1462 /* set the Show Offline Buddies option. must be done 1461 /* set the Show Offline Buddies option. must be done
1463 * after the treeview or faceprint gets mad. -Robot101 1462 * after the treeview or faceprint gets mad. -Robot101
1464 */ 1463 */
1465 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(gtk_item_factory_get_item (ift, N_("/Buddies/Show Offline Buddies"))), 1464 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(gtk_item_factory_get_item (gtkblist->ift, N_("/Buddies/Show Offline Buddies"))),
1466 blist_options & OPT_BLIST_SHOW_OFFLINE); 1465 blist_options & OPT_BLIST_SHOW_OFFLINE);
1467 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(gtk_item_factory_get_item (ift, N_("/Buddies/Show Empty Groups"))), 1466 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(gtk_item_factory_get_item (gtkblist->ift, N_("/Buddies/Show Empty Groups"))),
1468 !(blist_options & OPT_BLIST_NO_MT_GRP)); 1467 !(blist_options & OPT_BLIST_NO_MT_GRP));
1469 1468
1470 /* OK... let's show this bad boy. */ 1469 /* OK... let's show this bad boy. */
1471 gaim_gtk_blist_refresh(list); 1470 gaim_gtk_blist_refresh(list);
1472 gaim_gtk_blist_restore_position(); 1471 gaim_gtk_blist_restore_position();
1716 if (!get_iter_from_node(node, &iter)) { 1715 if (!get_iter_from_node(node, &iter)) {
1717 new_entry = TRUE; 1716 new_entry = TRUE;
1718 if (GAIM_BLIST_NODE_IS_BUDDY(node)) { 1717 if (GAIM_BLIST_NODE_IS_BUDDY(node)) {
1719 if (((struct buddy*)node)->present != GAIM_BUDDY_OFFLINE || ((blist_options & OPT_BLIST_SHOW_OFFLINE) && ((struct buddy*)node)->account->gc)) { 1718 if (((struct buddy*)node)->present != GAIM_BUDDY_OFFLINE || ((blist_options & OPT_BLIST_SHOW_OFFLINE) && ((struct buddy*)node)->account->gc)) {
1720 GtkTreeIter groupiter; 1719 GtkTreeIter groupiter;
1721 GaimBlistNode *oldersibling;
1722 GtkTreeIter oldersiblingiter;
1723 char *collapsed = gaim_group_get_setting((struct group *)node->parent, "collapsed"); 1720 char *collapsed = gaim_group_get_setting((struct group *)node->parent, "collapsed");
1724 1721
1725 if(node->parent && 1722 if(node->parent &&
1726 !get_iter_from_node(node->parent, &groupiter)) { 1723 !get_iter_from_node(node->parent, &groupiter)) {
1727 /* This buddy's group has not yet been added. 1724 /* This buddy's group has not yet been added.
1945 gtkblist->window = gtkblist->vbox = gtkblist->treeview = NULL; 1942 gtkblist->window = gtkblist->vbox = gtkblist->treeview = NULL;
1946 gtkblist->treemodel = NULL; 1943 gtkblist->treemodel = NULL;
1947 gtkblist->idle_column = NULL; 1944 gtkblist->idle_column = NULL;
1948 gtkblist->warning_column = gtkblist->buddy_icon_column = NULL; 1945 gtkblist->warning_column = gtkblist->buddy_icon_column = NULL;
1949 gtkblist->bbox = gtkblist->tipwindow = NULL; 1946 gtkblist->bbox = gtkblist->tipwindow = NULL;
1947 g_object_unref(G_OBJECT(gtkblist->ift));
1950 protomenu = NULL; 1948 protomenu = NULL;
1951 awaymenu = NULL; 1949 awaymenu = NULL;
1952 gtkblist = NULL; 1950 gtkblist = NULL;
1953 } 1951 }
1954 1952

mercurial