2006-09-27 [wwp] 2.5.2cvs9
[claws.git] / src / send_message.c
index d9a39dac0efffb278301be8f01b88403d8707183..393515410eaa2b08127405c98dee877ae4099005 100644 (file)
@@ -533,10 +533,20 @@ static gint send_send_data_finished(Session *session, guint len, gpointer data)
        return 0;
 }
 
+static void send_progress_dialog_size_allocate_cb(GtkWidget *widget,
+                                        GtkAllocation *allocation)
+{
+       g_return_if_fail(allocation != NULL);
+
+       prefs_common.sendwin_width = allocation->width;
+       prefs_common.sendwin_height = allocation->height;
+}
+
 static SendProgressDialog *send_progress_dialog_create(void)
 {
        SendProgressDialog *dialog;
        ProgressDialog *progress;
+       static GdkGeometry geometry;
 
        dialog = g_new0(SendProgressDialog, 1);
 
@@ -548,10 +558,22 @@ static SendProgressDialog *send_progress_dialog_create(void)
        g_signal_connect(G_OBJECT(progress->window), "delete_event",
                         G_CALLBACK(gtk_true), NULL);
        gtk_window_set_modal(GTK_WINDOW(progress->window), TRUE);
+       g_signal_connect(G_OBJECT(progress->window), "size_allocate",
+                        G_CALLBACK(send_progress_dialog_size_allocate_cb), NULL);
        manage_window_set_transient(GTK_WINDOW(progress->window));
 
        progress_dialog_get_fraction(progress);
 
+       if (!geometry.min_height) {
+               geometry.min_width = 460;
+               geometry.min_height = 250;
+       }
+
+       gtk_window_set_geometry_hints(GTK_WINDOW(progress->window), NULL, &geometry,
+                                     GDK_HINT_MIN_SIZE);
+       gtk_widget_set_size_request(progress->window, prefs_common.sendwin_width,
+                                   prefs_common.sendwin_height);
+
        if (prefs_common.send_dialog_mode == SEND_DIALOG_ALWAYS) {
                gtk_widget_show_now(progress->window);
        }