Mercurial > pidgin
changeset 14802:4138063d89c9
[gaim-migrate @ 17567]
res_init build fix?
committer: Tailor Script <tailor@pidgin.im>
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Mon, 23 Oct 2006 19:05:14 +0000 |
parents | 1986872f2868 |
children | 967c39d78bc4 |
files | gtk/gtkblist.c gtk/gtkblist.h gtk/gtknotify.c gtk/gtkstatusbox.c gtk/gtkstatusbox.h libgaim/network.c |
diffstat | 6 files changed, 198 insertions(+), 117 deletions(-) [+] |
line wrap: on
line diff
--- a/gtk/gtkblist.c Mon Oct 23 18:10:51 2006 +0000 +++ b/gtk/gtkblist.c Mon Oct 23 19:05:14 2006 +0000 @@ -2078,6 +2078,7 @@ GdkPixbuf *status_icon; GdkPixbuf *avatar; int avatar_width; + int avatar_height; int width; int height; }; @@ -2101,6 +2102,7 @@ if(td->avatar) { td->avatar_width = gdk_pixbuf_get_width(td->avatar); + td->avatar_height = gdk_pixbuf_get_height(td->avatar); td->width += td->avatar_width + 8; td->height = MAX(td->height, gdk_pixbuf_get_height(td->avatar) + 8); } @@ -2134,6 +2136,8 @@ { struct tooltip_data *td = l->data; + + #if GTK_CHECK_VERSION(2,2,0) gdk_draw_pixbuf(GDK_DRAWABLE(gtkblist->tipwindow->window), NULL, td->status_icon, 0, 0, 4, current_height, -1 , -1, GDK_RGB_DITHER_NONE, 0, 0); @@ -2148,7 +2152,7 @@ max_width - (td->avatar_width + 4), current_height, -1, -1, GDK_RGB_DITHER_NONE, 0, 0); #endif - + gtk_paint_layout (style, gtkblist->tipwindow->window, GTK_STATE_NORMAL, FALSE, NULL, gtkblist->tipwindow, "tooltip", 38 + 4, current_height, td->layout); @@ -3860,6 +3864,10 @@ create_connection_error_buttons, NULL); } +void gaim_gtk_blist_add_alert(GtkWidget *alert) { + gtk_notebook_append_page(gtkblist->alert_notebook, alert, NULL); +} + /******************************************/ /* End of connection error handling stuff */ /******************************************/ @@ -3872,6 +3880,8 @@ GtkWidget *menu; GtkWidget *sw; GtkWidget *sep; + GtkWidget *hbox; + GtkWidget *label, *arrow; GtkAccelGroup *accel_group; GtkTreeSelection *selection; GtkTargetEntry dte[] = {{"GAIM_BLIST_NODE", GTK_TARGET_SAME_APP, DRAG_ROW}, @@ -4076,6 +4086,22 @@ gtkblist->error_buttons = gtk_vbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX(gtkblist->vbox), gtkblist->error_buttons, FALSE, FALSE, 0); + /* Create an area for showing buddy list alerts */ + hbox = gtk_hbox_new(FALSE,0); + gtk_box_pack_start(GTK_BOX(gtkblist->vbox), hbox, FALSE, FALSE, 0); + arrow = gtk_arrow_new(GTK_ARROW_RIGHT,GTK_SHADOW_NONE); + gtk_box_pack_end(GTK_BOX(hbox),arrow,FALSE,FALSE,0); + label = gtk_label_new(NULL); + gtk_label_set_markup(GTK_LABEL(label), "<span size='smaller'><b>(2/3)</b></span>"); + gtk_box_pack_end(GTK_BOX(hbox),label,FALSE,FALSE,0); + arrow = gtk_arrow_new(GTK_ARROW_LEFT,GTK_SHADOW_NONE); + gtk_box_pack_end(GTK_BOX(hbox),arrow,FALSE,FALSE,0); + + gtkblist->alert_notebook = gtk_notebook_new(); + gtk_notebook_set_show_tabs(GTK_NOTEBOOK(gtkblist->alert_notebook), FALSE); + gtk_notebook_set_show_border(GTK_NOTEBOOK(gtkblist->alert_notebook), FALSE); + gtk_box_pack_start(GTK_BOX(gtkblist->vbox), gtkblist->alert_notebook, FALSE, FALSE, 0); + /* Add the statusbox */ gtkblist->statusbox = gtk_gaim_status_box_new(); gtk_box_pack_start(GTK_BOX(gtkblist->vbox), gtkblist->statusbox, FALSE, TRUE, 0);
--- a/gtk/gtkblist.h Mon Oct 23 18:10:51 2006 +0000 +++ b/gtk/gtkblist.h Mon Oct 23 19:05:14 2006 +0000 @@ -94,6 +94,8 @@ GaimBlistNode *selected_node; /**< The currently selected node */ GtkWidget *error_buttons; /**< Box containing the connection error buttons */ GtkWidget *statusbox; /**< The status selector dropdown */ + + GtkWidget *alert_notebook; /**< The notebook for alerts */ }; #define GAIM_GTK_BLIST(list) ((GaimGtkBuddyList *)(list)->ui_data) @@ -301,4 +303,11 @@ */ void gaim_gtk_blist_update_account_error_state(GaimAccount *account, const char *message); +/** + * Adds a widget to the alert area of the buddy list + * + * @param widget The widget to add + */ +void gaim_gtk_blist_add_alert(GtkWidget *alert); + #endif /* _GAIM_GTKBLIST_H_ */
--- a/gtk/gtknotify.c Mon Oct 23 18:10:51 2006 +0000 +++ b/gtk/gtknotify.c Mon Oct 23 19:05:14 2006 +0000 @@ -196,84 +196,138 @@ g_list_free(row); } + static void * gaim_gtk_notify_message(GaimNotifyMsgType type, const char *title, - const char *primary, const char *secondary) + const char *primary, const char *secondary) { - GtkWidget *dialog; - GtkWidget *hbox; - GtkWidget *label; - GtkWidget *img = NULL; - char label_text[2048]; - const char *icon_name = NULL; - char *primary_esc, *secondary_esc; + GtkStyle *style; + GdkColor color; + GtkWidget *ebox; + GtkWidget *vbox; + GtkWidget *hbox; + GtkWidget *bbox; + GtkWidget *label; + GtkWidget *button; + GtkWidget *alignment; + GtkWidget *img = NULL; + GtkStockItem close_item; + char label_text[2048]; + const char *icon_name = NULL; + char *primary_esc, *secondary_esc; - switch (type) - { - case GAIM_NOTIFY_MSG_ERROR: - icon_name = GAIM_STOCK_DIALOG_ERROR; - break; + switch (type) + { + case GAIM_NOTIFY_MSG_ERROR: + icon_name = GAIM_STOCK_DIALOG_ERROR; + break; - case GAIM_NOTIFY_MSG_WARNING: - icon_name = GAIM_STOCK_DIALOG_WARNING; - break; + case GAIM_NOTIFY_MSG_WARNING: + icon_name = GAIM_STOCK_DIALOG_WARNING; + break; - case GAIM_NOTIFY_MSG_INFO: - icon_name = GAIM_STOCK_DIALOG_INFO; - break; + case GAIM_NOTIFY_MSG_INFO: + icon_name = GAIM_STOCK_DIALOG_INFO; + break; + + default: + icon_name = NULL; + break; + } - default: - icon_name = NULL; - break; - } + if (icon_name != NULL) + { + img = gtk_image_new_from_stock(icon_name, GTK_ICON_SIZE_BUTTON); + gtk_misc_set_alignment(GTK_MISC(img), 0, 0); + } - if (icon_name != NULL) - { - img = gtk_image_new_from_stock(icon_name, GTK_ICON_SIZE_DIALOG); - gtk_misc_set_alignment(GTK_MISC(img), 0, 0); - } + ebox = gtk_event_box_new(); + vbox = gtk_vbox_new(FALSE,0); + gtk_container_set_border_width(GTK_CONTAINER(vbox), 6); + color.red = 65535; + // gtk_widget_modify_bg(ebox, GTK_STATE_NORMAL, &(vbox->style->base[GTK_STATE_SELECTED])); + gtk_container_add(GTK_CONTAINER(ebox),vbox); + + hbox = gtk_hbox_new(FALSE, 0); + gtk_container_add(GTK_CONTAINER(vbox), hbox); - dialog = gtk_dialog_new_with_buttons(title ? title : GAIM_ALERT_TITLE, - NULL, 0, GTK_STOCK_CLOSE, - GTK_RESPONSE_CLOSE, NULL); - - gtk_window_set_role(GTK_WINDOW(dialog), "notify_dialog"); - - g_signal_connect(G_OBJECT(dialog), "response", - G_CALLBACK(message_response_cb), dialog); - - gtk_container_set_border_width(GTK_CONTAINER(dialog), GAIM_HIG_BORDER); - gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE); - gtk_dialog_set_has_separator(GTK_DIALOG(dialog), FALSE); - gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(dialog)->vbox), GAIM_HIG_BORDER); - gtk_container_set_border_width(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), GAIM_HIG_BOX_SPACE); - - hbox = gtk_hbox_new(FALSE, GAIM_HIG_BORDER); - gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), hbox); + if (img != NULL) + gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); + primary_esc = g_markup_escape_text(primary, -1); + if (secondary) + secondary_esc = g_markup_escape_text(secondary, -1); + g_snprintf(label_text, sizeof(label_text), + "<span weight=\"bold\" size=\"smaller\">%s</span>%s<span size=\"smaller\">%s</span>", + primary_esc, + secondary ? "\n" : "", + secondary ? secondary_esc : ""); + g_free(primary_esc); + label = gtk_label_new(NULL); + gtk_widget_modify_text(vbox, GTK_STATE_NORMAL, &(label->style->white)); + gtk_label_set_markup(GTK_LABEL(label), label_text); + gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); + gtk_misc_set_alignment(GTK_MISC(label), 0, 0); + gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 0); +#if GTK_CHECK_VERSION(2,6,0) + g_object_set(label, "ellipsize", PANGO_ELLIPSIZE_END, NULL); +#endif +#if 0 + if (secondary) { + secondary_esc = g_markup_escape_text(secondary, -1); + g_snprintf(label_text, sizeof(label_text), + "<span size=\"smaller\">%s</span>", + secondary_esc); + g_free(secondary_esc); + label = gtk_label_new(NULL); + gtk_label_set_markup(GTK_LABEL(label), label_text); + gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); + gtk_misc_set_alignment(GTK_MISC(label), 0, 0); + gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 0); +#if GTK_CHECK_VERSION(2,6,0) + g_object_set(label, "ellipsize", PANGO_ELLIPSIZE_END, NULL); +#endif + } +#endif + bbox = gtk_hbutton_box_new(); + gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 0); + gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END); - if (img != NULL) - gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); + button = gtk_button_new(); + g_signal_connect_swapped(G_OBJECT(button), "activate", gtk_widget_destroy, ebox); + alignment = gtk_alignment_new(0.5, 0.5, 0, 0); + gtk_container_add(GTK_CONTAINER(button), alignment); - primary_esc = g_markup_escape_text(primary, -1); - secondary_esc = (secondary != NULL) ? g_markup_escape_text(secondary, -1) : NULL; - g_snprintf(label_text, sizeof(label_text), - "<span weight=\"bold\" size=\"larger\">%s</span>\n\n%s", - primary_esc, (secondary ? secondary_esc : "")); - g_free(primary_esc); - g_free(secondary_esc); + hbox = gtk_hbox_new(FALSE, 0); + gtk_container_add(GTK_CONTAINER(alignment), hbox); + + img = gtk_image_new_from_stock(GTK_STOCK_CLOSE, GTK_ICON_SIZE_MENU); + gtk_misc_set_alignment(GTK_MISC(img), 0.5, 0.5); + gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); - label = gtk_label_new(NULL); + gtk_stock_lookup(GTK_STOCK_CLOSE, &close_item); + g_snprintf(label_text, sizeof(label_text), + "<span size=\"smaller\">%s</span>", close_item.label); + label = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(img), 0.5, 0.5); + gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); - gtk_label_set_markup(GTK_LABEL(label), label_text); - gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); - gtk_misc_set_alignment(GTK_MISC(label), 0, 0); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); + gtk_stock_lookup(GTK_STOCK_CLOSE, &close_item); + g_snprintf(label_text, sizeof(label_text), + "<span size=\"smaller\">%s</span>", close_item.label); + label = gtk_label_new(NULL); + gtk_misc_set_alignment(GTK_MISC(img), 0.5, 0.5); + gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), label_text); + gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); - gtk_widget_show_all(dialog); + gtk_container_add(GTK_CONTAINER(bbox), button); - return dialog; + gtk_widget_show_all(ebox); + gaim_gtk_blist_add_alert(ebox); + + return ebox; } + static void selection_changed_cb(GtkTreeSelection *sel, GaimMailDialog *dialog) {
--- a/gtk/gtkstatusbox.c Mon Oct 23 18:10:51 2006 +0000 +++ b/gtk/gtkstatusbox.c Mon Oct 23 19:05:14 2006 +0000 @@ -83,10 +83,6 @@ static void do_colorshift (GdkPixbuf *dest, GdkPixbuf *src, int shift); static void icon_choose_cb(const char *filename, gpointer data); -static void (*combo_box_size_request)(GtkWidget *widget, GtkRequisition *requisition); -static void (*combo_box_size_allocate)(GtkWidget *widget, GtkAllocation *allocation); -static void (*combo_box_forall) (GtkContainer *container, gboolean include_internals, GtkCallback callback, gpointer callback_data); - enum { /** A GtkGaimStatusBoxItemType */ TYPE_COLUMN, @@ -122,7 +118,7 @@ PROP_ICON_SEL, }; -GtkComboBoxClass *parent_class = NULL; +GtkContainer *parent_class = NULL; static void gtk_gaim_status_box_class_init (GtkGaimStatusBoxClass *klass); static void gtk_gaim_status_box_init (GtkGaimStatusBox *status_box); @@ -148,8 +144,8 @@ NULL /* value_table */ }; - status_box_type = g_type_register_static(GTK_TYPE_COMBO_BOX, - "GtkGaimStatusBox", + status_box_type = g_type_register_static(GTK_TYPE_CONTAINER, + "GtkGaimStatusBox", &status_box_info, 0); } @@ -199,7 +195,7 @@ if (status_no != -1) { gtk_widget_set_sensitive(GTK_WIDGET(status_box), FALSE); - gtk_combo_box_set_active(GTK_COMBO_BOX(status_box), status_no); +// gtk_combo_box_set_active(GTK_COMBO_BOX(status_box), status_no); message = gaim_status_get_attr_string(newstatus, "message"); @@ -426,23 +422,16 @@ gtk_gaim_status_box_class_init (GtkGaimStatusBoxClass *klass) { GObjectClass *object_class; - GtkComboBoxClass *combo_class; GtkWidgetClass *widget_class; GtkContainerClass *container_class = (GtkContainerClass*)klass; parent_class = g_type_class_peek_parent(klass); - combo_class = (GtkComboBoxClass*)klass; - combo_class->changed = gtk_gaim_status_box_changed; - widget_class = (GtkWidgetClass*)klass; - combo_box_size_request = widget_class->size_request; widget_class->size_request = gtk_gaim_status_box_size_request; - combo_box_size_allocate = widget_class->size_allocate; widget_class->size_allocate = gtk_gaim_status_box_size_allocate; widget_class->expose_event = gtk_gaim_status_box_expose_event; - combo_box_forall = container_class->forall; container_class->forall = gtk_gaim_status_box_forall; container_class->remove = NULL; @@ -518,16 +507,17 @@ gpointer data; /* Primary (get the status selected in the dropdown) */ - gtk_combo_box_get_active_iter(GTK_COMBO_BOX(status_box), &iter); - gtk_tree_model_get(GTK_TREE_MODEL(status_box->dropdown_store), &iter, - TYPE_COLUMN, &type, - DATA_COLUMN, &data, - -1); - if (type == GTK_GAIM_STATUS_BOX_TYPE_PRIMITIVE) - primary = g_strdup(gaim_primitive_get_name_from_type(GPOINTER_TO_INT(data))); - else - /* This should never happen, but just in case... */ - primary = g_strdup("New status"); +// gtk_combo_box_get_active_iter(GTK_COMBO_BOX(status_box), &iter); +// gtk_tree_model_get(GTK_TREE_MODEL(status_box->dropdown_store), &iter, +// TYPE_COLUMN, &type, +// DATA_COLUMN, &data, +// -1); +// if (type == GTK_GAIM_STATUS_BOX_TYPE_PRIMITIVE) +// primary = g_strdup(gaim_primitive_get_name_from_type(GPOINTER_TO_INT(data))); +// else +// /* This should never happen, but just in case... */ +// primary = g_strdup("New status"); + primary = g_strdup("Available"); } else if (account_status) primary = g_strdup(gaim_status_get_name(gaim_account_get_active_status(acct))); @@ -627,7 +617,7 @@ /* Make sure to activate the only row in the tree view */ path = gtk_tree_path_new_from_string("0"); - gtk_cell_view_set_displayed_row(GTK_CELL_VIEW(status_box->cell_view), path); +// gtk_cell_view_set_displayed_row(GTK_CELL_VIEW(status_box->cell_view), path); gtk_tree_path_free(path); update_size(status_box); @@ -693,7 +683,7 @@ (!gaim_savedstatus_has_substatuses(saved_status))) { index = get_statusbox_index(status_box, saved_status); - gtk_combo_box_set_active(GTK_COMBO_BOX(status_box), index); +// gtk_combo_box_set_active(GTK_COMBO_BOX(status_box), index); } else { @@ -702,7 +692,7 @@ gpointer data; /* Unset the active item */ - gtk_combo_box_set_active(GTK_COMBO_BOX(status_box), -1); +// gtk_combo_box_set_active(GTK_COMBO_BOX(status_box), -1); /* If this saved status is in the list store, then set it as the active item */ if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(status_box->dropdown_store), &iter)) @@ -730,7 +720,7 @@ || !strcmp(name, acct_status_name)) { /* Found! */ - gtk_combo_box_set_active_iter(GTK_COMBO_BOX(status_box), &iter); +// gtk_combo_box_set_active_iter(GTK_COMBO_BOX(status_box), &iter); g_free(name); break; } @@ -740,7 +730,7 @@ (GPOINTER_TO_INT(data) == gaim_savedstatus_get_creation_time(saved_status))) { /* Found! */ - gtk_combo_box_set_active_iter(GTK_COMBO_BOX(status_box), &iter); +// gtk_combo_box_set_active_iter(GTK_COMBO_BOX(status_box), &iter); break; } } @@ -926,7 +916,7 @@ if (tmp != NULL) g_object_unref(tmp); } - gtk_combo_box_set_model(GTK_COMBO_BOX(status_box), GTK_TREE_MODEL(status_box->dropdown_store)); +// gtk_combo_box_set_model(GTK_COMBO_BOX(status_box), GTK_TREE_MODEL(status_box->dropdown_store)); } static void @@ -943,7 +933,7 @@ icon_size = gtk_icon_size_from_name(GAIM_ICON_SIZE_STATUS_SMALL); /* Unset the model while clearing it */ - gtk_combo_box_set_model(GTK_COMBO_BOX(status_box), NULL); +// gtk_combo_box_set_model(GTK_COMBO_BOX(status_box), NULL); gtk_list_store_clear(status_box->dropdown_store); /* Don't set the model until the new statuses have been added to the box. * What is presumably a bug in Gtk < 2.4 causes things to get all confused @@ -985,7 +975,7 @@ gtk_gaim_status_box_add(GTK_GAIM_STATUS_BOX(status_box), GTK_GAIM_STATUS_BOX_TYPE_SAVED, pixbuf, _("Saved..."), NULL, NULL); if (pixbuf) g_object_unref(G_OBJECT(pixbuf)); - gtk_combo_box_set_model(GTK_COMBO_BOX(status_box), GTK_TREE_MODEL(status_box->dropdown_store)); +// gtk_combo_box_set_model(GTK_COMBO_BOX(status_box), GTK_TREE_MODEL(status_box->dropdown_store)); status_menu_refresh_iter(status_box); } else { @@ -1187,7 +1177,7 @@ static void toggled_cb(GtkWidget *widget, GtkGaimStatusBox *box) { - gtk_combo_box_popup(GTK_COMBO_BOX(box)); +// gtk_combo_box_popup(GTK_COMBO_BOX(box)); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(box->toggle_button), FALSE); } @@ -1272,9 +1262,9 @@ status_box->store = gtk_list_store_new(NUM_COLUMNS, G_TYPE_INT, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER); status_box->dropdown_store = gtk_list_store_new(NUM_COLUMNS, G_TYPE_INT, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER); - gtk_combo_box_set_model(GTK_COMBO_BOX(status_box), GTK_TREE_MODEL(status_box->dropdown_store)); +// gtk_combo_box_set_model(GTK_COMBO_BOX(status_box), GTK_TREE_MODEL(status_box->dropdown_store)); gtk_cell_view_set_model(GTK_CELL_VIEW(status_box->cell_view), GTK_TREE_MODEL(status_box->store)); - gtk_combo_box_set_wrap_width(GTK_COMBO_BOX(status_box), 0); +// gtk_combo_box_set_wrap_width(GTK_COMBO_BOX(status_box), 0); gtk_list_store_append(status_box->store, &(status_box->iter)); gtk_container_add(GTK_CONTAINER(status_box->toggle_button), status_box->hbox); @@ -1288,20 +1278,20 @@ text_rend = gtk_cell_renderer_text_new(); icon_rend = gtk_cell_renderer_pixbuf_new(); - gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(status_box), icon_rend, FALSE); - gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(status_box), text_rend, TRUE); - gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(status_box), icon_rend, "pixbuf", ICON_COLUMN, NULL); - gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(status_box), text_rend, "markup", TEXT_COLUMN, NULL); +// gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(status_box), icon_rend, FALSE); +// gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(status_box), text_rend, TRUE); +// gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(status_box), icon_rend, "pixbuf", ICON_COLUMN, NULL); +// gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(status_box), text_rend, "markup", TEXT_COLUMN, NULL); #if GTK_CHECK_VERSION(2, 6, 0) g_object_set(text_rend, "ellipsize", PANGO_ELLIPSIZE_END, NULL); #endif status_box->icon_rend = gtk_cell_renderer_pixbuf_new(); status_box->text_rend = gtk_cell_renderer_text_new(); - gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(status_box->cell_view), status_box->icon_rend, FALSE); - gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(status_box->cell_view), status_box->text_rend, TRUE); - gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(status_box->cell_view), status_box->icon_rend, "pixbuf", ICON_COLUMN, NULL); - gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(status_box->cell_view), status_box->text_rend, "markup", TEXT_COLUMN, NULL); +// gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(status_box->cell_view), status_box->icon_rend, FALSE); +// gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(status_box->cell_view), status_box->text_rend, TRUE); +// gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(status_box->cell_view), status_box->icon_rend, "pixbuf", ICON_COLUMN, NULL); +// gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(status_box->cell_view), status_box->text_rend, "markup", TEXT_COLUMN, NULL); #if GTK_CHECK_VERSION(2, 6, 0) g_object_set(status_box->text_rend, "ellipsize", PANGO_ELLIPSIZE_END, NULL); #endif @@ -1341,7 +1331,7 @@ G_CALLBACK(imhtml_scroll_event_cb), status_box->imhtml); #if GTK_CHECK_VERSION(2,6,0) - gtk_combo_box_set_row_separator_func(GTK_COMBO_BOX(status_box), dropdown_store_row_separator_func, NULL, NULL); +// gtk_combo_box_set_row_separator_func(GTK_COMBO_BOX(status_box), dropdown_store_row_separator_func, NULL, NULL); #endif status_box->token_status_account = check_active_accounts_for_identical_statuses(); @@ -1376,7 +1366,7 @@ GtkRequisition *requisition) { GtkRequisition box_req; - combo_box_size_request(widget, requisition); + gtk_widget_size_request(GTK_GAIM_STATUS_BOX(widget)->toggle_button, requisition); requisition->height += 3; /* If the gtkimhtml is visible, then add some additional padding */ @@ -1438,7 +1428,7 @@ GtkAllocation parent_alc, box_alc, icon_alc; gint border_width = GTK_CONTAINER (widget)->border_width; - combo_box_size_request(widget, &req); + gtk_widget_size_request(GTK_GAIM_STATUS_BOX(widget)->toggle_button, &req); box_alc = *allocation; @@ -1477,7 +1467,6 @@ gtk_widget_size_allocate(status_box->icon_box, &icon_alc); } - combo_box_size_allocate(widget, &parent_alc); gtk_widget_size_allocate(status_box->toggle_button, &parent_alc); widget->allocation = *allocation; } @@ -1511,7 +1500,7 @@ (* callback) (status_box->icon_box, callback_data); } - combo_box_forall(container, include_internals, callback, callback_data); +// combo_box_forall(container, include_internals, callback, callback_data); } GtkWidget * @@ -1724,8 +1713,8 @@ GaimSavedStatus *saved_status = NULL; gboolean changed = TRUE; - if (!gtk_combo_box_get_active_iter(GTK_COMBO_BOX(status_box), &iter)) - return; +// if (!gtk_combo_box_get_active_iter(GTK_COMBO_BOX(status_box), &iter)) +// return; gtk_tree_model_get(GTK_TREE_MODEL(status_box->dropdown_store), &iter, TYPE_COLUMN, &type, @@ -1964,8 +1953,8 @@ status_box = GTK_GAIM_STATUS_BOX(box); - if (!gtk_combo_box_get_active_iter(GTK_COMBO_BOX(status_box), &iter)) - return; +// if (!gtk_combo_box_get_active_iter(GTK_COMBO_BOX(status_box), &iter)) +// return; gtk_tree_model_get(GTK_TREE_MODEL(status_box->dropdown_store), &iter, TYPE_COLUMN, &type, DATA_COLUMN, &data,
--- a/gtk/gtkstatusbox.h Mon Oct 23 18:10:51 2006 +0000 +++ b/gtk/gtkstatusbox.h Mon Oct 23 19:05:14 2006 +0000 @@ -65,7 +65,7 @@ struct _GtkGaimStatusBox { - GtkComboBox parent_instance; + GtkContainer parent_instance; /** * This GtkListStore contains only one row--the currently selected status. @@ -131,7 +131,7 @@ struct _GtkGaimStatusBoxClass { - GtkComboBoxClass parent_class; + GtkContainerClass parent_class; /* signals */ void (* changed) (GtkComboBox *combo_box);