Identiske underkataloger: src2/CVS og src/CVS Identiske underkataloger: src2/.deps og src/.deps Index: gaim/src/gtkblist.c =================================================================== --- gaim.orig/src/gtkblist.c 2005-08-19 21:57:30.272074856 +0200 +++ gaim/src/gtkblist.c 2005-08-19 21:57:42.030287336 +0200 @@ -825,6 +825,15 @@ joinchat_set_sensitive_if_input_cb(NULL, data); gtk_widget_show_all(data->entries_box); + + GList* children; + children = GTK_BOX(data->entries_box)->children; + while (children) + { + //Let the prilabel handle the maxsize + gtk_widget_set_size_request(((GtkBoxChild*)(children->data))->widget, 0, -1); + children = children->next; + } } static void @@ -916,12 +925,26 @@ #else vbox = GTK_DIALOG(data->window)->vbox; #endif + + //Make a scrollview to accomodate it all + sw = gtk_scrolled_window_new(NULL, NULL); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), + GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), + GTK_SHADOW_NONE); + gtk_widget_set_size_request(sw, -1, 200); + gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0); + gtk_widget_show(sw); + + vbox = gtk_vbox_new(FALSE, GAIM_HIG_BORDER); + gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), vbox); label = gtk_label_new(_("Please enter the appropriate information " "about the chat you would like to join.\n")); 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, FALSE, FALSE, 0); + pri_label = label; rowbox = gtk_hbox_new(FALSE, GAIM_HIG_BORDER); gtk_box_pack_start(GTK_BOX(vbox), rowbox, TRUE, TRUE, 0); @@ -955,6 +978,22 @@ g_object_unref(data->sg); gtk_widget_show_all(data->window); + + //Wait for the window to have recieved its "configure_event", + //which means it has been resized by the WM + while (gtk_events_pending ()) gtk_main_iteration (); + + //Get allocated size, and adjust widgets accordingly + int w, h; + gtk_window_get_size(GTK_WINDOW(data->window), &w, &h); + + // Window_border Scrollbar (FFH) + w = w - GAIM_HIG_BORDER * 2 - GAIM_HIG_BORDER * 4; + gtk_widget_set_size_request(GTK_WIDGET(pri_label), w, -1); + + //Let the prilabel handle the maxsize + gtk_widget_set_size_request(GTK_WIDGET(data->account_menu), 0, -1); + gtk_widget_set_size_request(GTK_WIDGET(data->entries_box), 0, -1); } static void gtk_blist_row_expanded_cb(GtkTreeView *tv, GtkTreeIter *iter, GtkTreePath *path, gpointer user_data) { @@ -4364,6 +4403,19 @@ vbox = GTK_DIALOG(data->window)->vbox; #endif + //Make a scrollview to accomodate it all + sw = gtk_scrolled_window_new(NULL, NULL); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), + GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), + GTK_SHADOW_NONE); + gtk_widget_set_size_request(sw, -1, 200); + gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0); + gtk_widget_show(sw); + + vbox = gtk_vbox_new(FALSE, GAIM_HIG_BORDER); + gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), vbox); + label = gtk_label_new( _("Please enter the screen name of the person you would like " "to add to your buddy list. You may optionally enter an alias, " @@ -4374,6 +4426,7 @@ 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, FALSE, FALSE, 0); + pri_label = label; hbox = gtk_hbox_new(FALSE, GAIM_HIG_BOX_SPACE); gtk_container_add(GTK_CONTAINER(vbox), hbox); @@ -4446,6 +4499,25 @@ if (group != NULL) gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(data->combo)->entry), group); + + //Wait for the window to have recieved its "configure_event", + //which means it has been resized by the WM + while (gtk_events_pending ()) gtk_main_iteration (); + + //Get allocated size, and adjust widgets accordingly + int w, h, field_labels_w; + gtk_window_get_size(GTK_WINDOW(data->window), &w, &h); + field_labels_w = label->allocation.width + GAIM_HIG_BORDER*2; //The width of the largest field-label + + // Window_border Scrollbar (FFH) + w = w - GAIM_HIG_BORDER * 2 - GAIM_HIG_BORDER * 4; + gtk_widget_set_size_request(GTK_WIDGET(pri_label), w, -1); + //Set the size of the input fields + gtk_widget_set_size_request(GTK_WIDGET(data->entry), w-field_labels_w, -1); + gtk_widget_set_size_request(GTK_WIDGET(data->entry_for_alias), w-field_labels_w, -1); + gtk_widget_set_size_request(GTK_WIDGET(data->combo), w-field_labels_w, -1); + gtk_widget_set_size_request(GTK_WIDGET(data->account_box), w-field_labels_w, -1); + } static void @@ -4572,6 +4644,9 @@ GHashTable *defaults = NULL; struct proto_chat_entry *pce; gboolean focus = TRUE; + GtkWidget *label; + GtkWidget *rowbox; + GtkWidget *input; g_return_if_fail(data->account != NULL); @@ -4596,10 +4671,6 @@ for (tmp = list; tmp; tmp = tmp->next) { - GtkWidget *label; - GtkWidget *rowbox; - GtkWidget *input; - pce = tmp->data; rowbox = gtk_hbox_new(FALSE, 5); @@ -4657,6 +4728,15 @@ addchat_set_sensitive_if_input_cb(NULL, data); gtk_widget_show_all(data->entries_box); + + GList* children; + children = GTK_BOX(data->entries_box)->children; + while (children) + { + //Let the prilabel handle the maxsize + gtk_widget_set_size_request(((GtkBoxChild*)(children->data))->widget, 0, -1); + children = children->next; + } } static void @@ -4759,6 +4839,19 @@ vbox = GTK_DIALOG(data->window)->vbox; #endif + //Make a scrollview to accomodate it all + sw = gtk_scrolled_window_new(NULL, NULL); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), + GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), + GTK_SHADOW_NONE); + gtk_widget_set_size_request(sw, -1, 200); + gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0); + gtk_widget_show(sw); + + vbox = gtk_vbox_new(FALSE, GAIM_HIG_BORDER); + gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), vbox); + label = gtk_label_new( _("Please enter an alias, and the appropriate information " "about the chat you would like to add to your buddy list.\n")); @@ -4766,7 +4859,8 @@ 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, FALSE, FALSE, 0); - + pri_label = label; + rowbox = gtk_hbox_new(FALSE, 5); gtk_box_pack_start(GTK_BOX(vbox), rowbox, FALSE, FALSE, 0); @@ -4825,6 +4919,24 @@ G_CALLBACK(add_chat_resp_cb), data); gtk_widget_show_all(data->window); + + //Wait for the window to have recieved its "configure_event", + //which means it has been resized by the WM + while (gtk_events_pending ()) gtk_main_iteration (); + + //Get allocated size, and adjust the label accordingly + int w, h; + gtk_window_get_size(GTK_WINDOW(data->window), &w, &h); + + // Window_border Scrollbar (FFH) + w = w - GAIM_HIG_BORDER * 2 - GAIM_HIG_BORDER * 4; + gtk_widget_set_size_request(GTK_WIDGET(pri_label), w, -1); + //Let the prilabel handle the maxsize + gtk_widget_set_size_request(GTK_WIDGET(data->account_menu), 0, -1); + gtk_widget_set_size_request(GTK_WIDGET(data->entries_box), 0, -1); + gtk_widget_set_size_request(GTK_WIDGET(data->alias_entry), 0, -1); + gtk_widget_set_size_request(GTK_WIDGET(data->group_combo), 0, -1); + } static void Index: gaim/src/gtkrequest.c =================================================================== --- gaim.orig/src/gtkrequest.c 2005-08-19 21:57:30.273074704 +0200 +++ gaim/src/gtkrequest.c 2005-08-19 21:58:05.468724152 +0200 @@ -650,6 +650,17 @@ /* Show everything. */ gtk_widget_show_all(dialog); + //Wait for the window to have recieved its "configure_event", + //which means it has been resized by the WM + while (gtk_events_pending ()) gtk_main_iteration (); + + //Get allocated size, and adjust widgets accordingly + int w, h; + gtk_window_get_size(GTK_WINDOW(dialog), &w, &h); + + w = w - GAIM_HIG_BORDER * 2; + gtk_widget_set_size_request(GTK_WIDGET(label), w, -1); + return data; }