]> hydra-www.ietfng.org Git - gtetrinet/commitdiff
Adapt patch from Jan Bretschneider with some UI improvements that mimic windows tetri...
authorJordi Albornoz <jordi@src.gnome.org>
Sun, 5 Jan 2003 20:15:14 +0000 (20:15 +0000)
committerJordi Albornoz <jordi@src.gnome.org>
Sun, 5 Jan 2003 20:15:14 +0000 (20:15 +0000)
ChangeLog
src/gtetrinet.c
src/gtetrinet.h
src/tetrinet.c

index f0e9be50d0e2536677e31a5c3582de458c212603..186fb8b89dd16c7d7e2f51d5d8b3d45e2d714e34 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2003-01-05  Jordi Mallach  <jordi@sindominio.net>
+
+       * Adapt patch from Jan Bretschneider with some UI improvements that
+       mimic windows tetrinet's behaviour.
+       * src/gtetrinet.c (show_fields_page): new function, switches to fields
+       notebook tab.
+       (show_partyline_page): new funtion, switches to partyline notebook
+       tab.
+       * src/tetrinet.c (tetrinet_inmessage): switch to partyline on
+       successful connect and on game end, and to fields on game start.
+
 2003-01-05  Jordi Mallach  <jordi@sindominio.net>
 
        * src/commands.c (about_command): fix segfault when calling two about
index f0343a9f50277fad74aceb5aaa6a52a96d712a28..1d6ac5e81e67b7840514933dd538c16571530e6f 100644 (file)
@@ -489,3 +489,15 @@ void move_current_page_to_window (void)
         fields_gmsginput(FALSE);
 
 }
+
+/* show the fields notebook tab */
+void show_fields_page (void)
+{
+    gtk_notebook_set_page (GTK_NOTEBOOK(notebook), 0);
+}
+
+/* show the partyline notebook tab */
+void show_partyline_page (void)
+{
+    gtk_notebook_set_page (GTK_NOTEBOOK(notebook), 1);
+}
index 05d5d4541a65d22a78a7fe94a771da43cdafe7a7..40e75d38f01240b9557dc473855f7d0916106255 100644 (file)
@@ -11,3 +11,5 @@ extern void destroymain (GtkWidget *widget, gpointer data);
 extern gint keypress (GtkWidget *widget, GdkEventKey *key);
 extern gint keyrelease (GtkWidget *widget, GdkEventKey *key);
 extern void move_current_page_to_window (void);
+extern void show_fields_page (void);
+extern void show_partyline_page (void);
index b341914dbb1aa0aea7a6da6d13ce007ebfd487c3..909bbc89b4ead1abdb27e8ef0531d4b7b87d7701 100644 (file)
@@ -264,6 +264,8 @@ void tetrinet_inmessage (enum inmsg_type msgtype, char *data)
                 partylineupdate_team (nick, team);
             }
         }
+        /* show partyline on successful connect */
+        show_partyline_page ();
         break;
     case IN_PLAYERJOIN:
         {
@@ -494,6 +496,8 @@ void tetrinet_inmessage (enum inmsg_type msgtype, char *data)
             commands_checkstate ();
             partyline_fmt (_("%c*** The game has %cstarted"),
                            TETRI_TB_C_BRIGHT_RED, TETRI_TB_BOLD);
+            /* switch to playerfields when game starts */
+            show_fields_page ();
         }
         break;
     case IN_INGAME:
@@ -546,6 +550,8 @@ void tetrinet_inmessage (enum inmsg_type msgtype, char *data)
         commands_checkstate ();
         partyline_fmt (_("%c*** The game has %cended"),
                        TETRI_TB_C_BRIGHT_RED, TETRI_TB_BOLD);
+        /* go back to partyline when game ends */
+        show_partyline_page ();
         break;
     case IN_F:
         {