/[weechat]/weechat/src/gui/gtk/gui-display.c
ViewVC logotype

Diff of /weechat/src/gui/gtk/gui-display.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by flashcode, Sun Oct 12 14:13:49 2003 UTC revision 1.2 by flashcode, Sun Oct 12 22:29:28 2003 UTC
# Line 62  char *nicks_colors[COLOR_WIN_NICK_NUMBER Line 62  char *nicks_colors[COLOR_WIN_NICK_NUMBER
62    
63  int color_attr[NUM_COLORS];  int color_attr[NUM_COLORS];
64    
65    GtkWidget *gtk_main_window;
66    
67    
68  /*  /*
69   * gui_assign_color: assign a color (read from config)   * gui_assign_color: assign a color (read from config)
70   */   */
# Line 565  gui_init_colors () Line 568  gui_init_colors ()
568  void  void
569  gui_init ()  gui_init ()
570  {  {
571      /* TODO: initialize Gtk GUI */      GtkWidget *vbox1;
572        GtkWidget *entry_topic;
573        GtkWidget *notebook1;
574        GtkWidget *vbox2;
575        GtkWidget *hbox1;
576        GtkWidget *scrolledwindow_chat;
577        GtkWidget *textview_chat;
578        GtkWidget *scrolledwindow_nick;
579        GtkWidget *textview_nick;
580        GtkWidget *entry_input;
581        GtkWidget *label1;
582        
583        gtk_main_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
584        gtk_window_set_title (GTK_WINDOW (gtk_main_window), WEECHAT_NAME_AND_VERSION);
585        
586        vbox1 = gtk_vbox_new (FALSE, 0);
587        gtk_widget_show (vbox1);
588        gtk_container_add (GTK_CONTAINER (gtk_main_window), vbox1);
589        
590        entry_topic = gtk_entry_new ();
591        gtk_widget_show (entry_topic);
592        gtk_box_pack_start (GTK_BOX (vbox1), entry_topic, FALSE, FALSE, 0);
593        
594        notebook1 = gtk_notebook_new ();
595        gtk_widget_show (notebook1);
596        gtk_box_pack_start (GTK_BOX (vbox1), notebook1, TRUE, TRUE, 0);
597        gtk_notebook_set_tab_pos (GTK_NOTEBOOK (notebook1), GTK_POS_BOTTOM);
598        
599        vbox2 = gtk_vbox_new (FALSE, 0);
600        gtk_widget_show (vbox2);
601        gtk_container_add (GTK_CONTAINER (notebook1), vbox2);
602        
603        hbox1 = gtk_hbox_new (FALSE, 0);
604        gtk_widget_show (hbox1);
605        gtk_box_pack_start (GTK_BOX (vbox2), hbox1, TRUE, TRUE, 0);
606        
607        scrolledwindow_chat = gtk_scrolled_window_new (NULL, NULL);
608        gtk_widget_show (scrolledwindow_chat);
609        gtk_box_pack_start (GTK_BOX (hbox1), scrolledwindow_chat, TRUE, TRUE, 0);
610        gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow_chat), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
611        
612        textview_chat = gtk_text_view_new ();
613        gtk_widget_show (textview_chat);
614        gtk_container_add (GTK_CONTAINER (scrolledwindow_chat), textview_chat);
615        gtk_widget_set_size_request (textview_chat, 300, -1);
616        gtk_text_view_set_editable (GTK_TEXT_VIEW (textview_chat), FALSE);
617        gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (textview_chat), FALSE);
618        
619        scrolledwindow_nick = gtk_scrolled_window_new (NULL, NULL);
620        gtk_widget_show (scrolledwindow_nick);
621        gtk_box_pack_start (GTK_BOX (hbox1), scrolledwindow_nick, TRUE, TRUE, 0);
622        gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow_nick), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
623        
624        textview_nick = gtk_text_view_new ();
625        gtk_widget_show (textview_nick);
626        gtk_container_add (GTK_CONTAINER (scrolledwindow_nick), textview_nick);
627        gtk_text_view_set_editable (GTK_TEXT_VIEW (textview_nick), FALSE);
628        gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (textview_nick), FALSE);
629        
630        entry_input = gtk_entry_new ();
631        gtk_widget_show (entry_input);
632        gtk_box_pack_start (GTK_BOX (vbox2), entry_input, FALSE, FALSE, 0);
633        
634        label1 = gtk_label_new (_("server"));
635        gtk_widget_show (label1);
636        gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 0), label1);
637        gtk_label_set_justify (GTK_LABEL (label1), GTK_JUSTIFY_LEFT);
638        
639        gtk_widget_show_all (gtk_main_window);
640            
641      gui_ready = 1;      /* TODO: set gui_ready to 1 when Gtk display functions will be ok */
642        gui_ready = 0;
643  }  }
644    
645  /*  /*
# Line 649  gui_add_message (t_gui_window *window, i Line 721  gui_add_message (t_gui_window *window, i
721  void  void
722  gui_printf_color_type (t_gui_window *window, int type, int color, char *message, ...)  gui_printf_color_type (t_gui_window *window, int type, int color, char *message, ...)
723  {  {
724      /* TODO: write gui_printf_colot_type function for Gtk! */      static char buffer[8192];
725        char timestamp[16];
726        char *pos;
727        va_list argptr;
728        static time_t seconds;
729        struct tm *date_tmp;
730    
731        /* make gcc hapy */
732      (void) window;      (void) window;
733      (void) type;      (void) type;
734      (void) color;      (void) color;
735      (void) message;      (void) message;
736        
737        va_start (argptr, message);
738        vsnprintf (buffer, sizeof (buffer) - 1, message, argptr);
739        va_end (argptr);
740        
741        if (gui_ready)
742        {
743            seconds = time (NULL);
744            date_tmp = localtime (&seconds);
745            
746            pos = buffer - 1;
747            while (pos)
748            {
749                /* TODO: read timestamp format from config! */
750                if ((!window->last_line) || (window->line_complete))
751                {
752                    gui_add_message (window, MSG_TYPE_TIME, COLOR_WIN_CHAT_DARK, "[");
753                    sprintf (timestamp, "%02d", date_tmp->tm_hour);
754                    gui_add_message (window, MSG_TYPE_TIME, COLOR_WIN_CHAT_TIME, timestamp);
755                    gui_add_message (window, MSG_TYPE_TIME, COLOR_WIN_CHAT_TIME_SEP, ":");
756                    sprintf (timestamp, "%02d", date_tmp->tm_min);
757                    gui_add_message (window, MSG_TYPE_TIME, COLOR_WIN_CHAT_TIME, timestamp);
758                    gui_add_message (window, MSG_TYPE_TIME, COLOR_WIN_CHAT_TIME_SEP, ":");
759                    sprintf (timestamp, "%02d", date_tmp->tm_sec);
760                    gui_add_message (window, MSG_TYPE_TIME, COLOR_WIN_CHAT_TIME, timestamp);
761                    gui_add_message (window, MSG_TYPE_TIME, COLOR_WIN_CHAT_DARK, "] ");
762                }
763                gui_add_message (window, type, color, pos+1);
764                pos = strchr (pos+1, '\n');
765                if (pos)
766                    if (pos[1] == '\0')
767                        pos = NULL;
768            }
769        }
770        else
771            g_print ("%s", buffer);
772  }  }

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26