[Freeciv-Dev] Re: [Patch] Extended connect dialog (PR#977)
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
On Fri, Oct 05, 2001 at 04:33:40PM +0200, Andreas Kemnade wrote:
> Raimar Falke writes:
> > On Mon, Oct 01, 2001 at 03:21:00PM +0200, Andreas Kemnade wrote:
> > Content-Description: message body text
> > > Here is a new version of the patch.
> > > I hope all the issues mentioned before are fixed.
> > > connectdlg_g.h is extended and contains some new functions.
> > >
> > > This patch is only for the gtk client. I will do the stuff for the
> > > win32 client.
> > > I haven't done xaw and mui development for a long time, so I can only
> > > provide stubs (and call gui_server_connect() in popup_main_menu).
> >
> > - WNOHANG wasn't defined in client/gui-gtk/connectdlg.c
> Doesn't running autoheader and autoconf solve the problem?
AFAI remember I had.
> > - in the connect dialog should be a "Back" button
> Instead of quit or do you want an extra button?
I withdraw my comment. Either we do it (having next/prev buttons) in
all dialogs or we don't do it.
> > - I think that the control logic should be in a client/*.c file with
> > specific gui depended callbacks. Or put the fork/wait/pipe code into
> common.
>
> The problem is the symbol SOCKET_ZERO_ISNT_STDIN. If we put the stuff into
> common, we had to put a lot of #ifdefs into it, too. SIGCHLD has also
> to be tested, which leads to additional #ifdefs. That code would
> not look very nice.
This is IMHO better than copy it all over the place and slightly
change it after the copying.
> start_server_load_game(char *), start_server_for_new_game():
> I haven't put them into client/*.c because gui-win32 and gui-mui
> clients will certainly have a start_server(char *commandline) function
> because the underlying API does not support char **argv.
So is there is a reason to not make start_server(char *commandline)
the default in client/*.c?
> I don't think that simple callbacks should have stuff in client/*.c.
> example: new_game_callback
> in connectdlg.c:
> static void new_game_callback(GtkWidget *w, gpointer data)
> {
> start_new_game();
> }
> void start_new_game_gui(void)
> {
> input_dialog_create(...);
> }
> in client/*.c
> void start_new_game(void)
> {
> start_new_game_gui();
> }
>
> I think this is really not sensible.
>
> Please explain to me which control logic you would like to have in
> client/*.c.
The real amount which can be extracted can only examined after a
second client is converted. Still missing are command line options
like "-f" and a "--skip-main-menu". The code for these would probably
in client/*.c.
Raimar
--
email: rf13@xxxxxxxxxxxxxxxxx
1 + 1 = 3, for large values of 1
|
|