Hello! > Yes, the color is differ, because imho the main function of this > window is just show the status of process. This window is not regular > dialog.
We have two styles - normal dialog boxes and and error messages. I think it's enough. Even if you want to use different colors, there is always a possibility to use the values from the colors[] array instead of fixed colors in common_dialog_repaint(). I think I'll try to make that change now to eliminate replace_callback(). > Unfortunately, there is no single function, that draws > the title, like such: > > void dlg_draw_title(Dlg_head *h, const char *title) > { > char *t = title ? title : h->title; You don't need to draw the title. common_dialog_repaint() draws the whole frame and the title. I'm applying the following patch. Believe me, it works just fine, and also removes the unnesessary variations in the frame width. The result of the callback for DLG_DRAW is not checked, see dlg_redraw() in dlg.c, so I don't care about "return 1". Your sanity check for "op" is not necessary - op_names[] is defined on the complete set of valid values for op. ======================= --- filegui.c +++ filegui.c @@ -190,19 +190,6 @@ check_progress_buttons (FileOpContext *c /* {{{ File progress display routines */ -static int -op_win_callback (struct Dlg_head *h, int id, int msg) -{ - switch (msg){ - case DLG_DRAW: - attrset (COLOR_NORMAL); - dlg_erase (h); - draw_box (h, 1, 2, h->lines-2, h->cols-4); - return 1; - } - return 0; -} - void file_op_context_create_ui (FileOpContext *ctx, FileOperation op, int with_eta) { @@ -234,13 +221,13 @@ file_op_context_create_ui (FileOpContext x_size = (WX + 4) + ui->eta_extra; ui->op_dlg = create_dlg (0, 0, WY-minus+4, x_size, dialog_colors, - op_win_callback, "", "opwin", DLG_CENTER); + common_dialog_callback, "", "opwin", DLG_CENTER); last_hint_line = the_hint->widget.y; if ((ui->op_dlg->y + ui->op_dlg->lines) > last_hint_line) the_hint->widget.y = ui->op_dlg->y + ui->op_dlg->lines+1; - x_set_dialog_title (ui->op_dlg, ""); + x_set_dialog_title (ui->op_dlg, op_names[op]); add_widget (ui->op_dlg, button_new (BY-minus, WX - 19 + eta_offset, FILE_ABORT, NORMAL_BUTTON, _("&Abort"), 0, 0, "abort")); ======================= -- Regards, Pavel Roskin _______________________________________________ Mc-devel mailing list [EMAIL PROTECTED] http://mail.gnome.org/mailman/listinfo/mc-devel