1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-07 05:45:42 +02:00

Version 0.0.3-pre2; added Gtk core functions.

This commit is contained in:
Sebastien Helleu
2003-10-12 14:13:48 +00:00
parent b12527cf90
commit d92955a533
26 changed files with 1580 additions and 868 deletions
+1 -1
View File
@@ -28,6 +28,7 @@ v0.0.3:
format, etc)
* Interface:
+ Gtk GUI
- display current channel modes (example : #weechat(+nt))
- interpret special chars in messages (color & bold for example)
+ internationalization (traduce WeeChat in many languages)
@@ -74,7 +75,6 @@ Future versions:
- improve completion (for example complete command parameters when possible)
- understand incomplete commands if unambigous (for example: /he for /help is ok)
- add clock (in status bar?)
- Gtk GUI
? Qt GUI
* TCP/IP communication:
+4 -3
View File
@@ -23,7 +23,7 @@ OUTPUT=weechat
OBJS=weechat.o config.o command.o completion.o history.o
OBJS_IRC=irc/irc.a
OBJS_GUI=gui/gui.a
OBJS_GUI=gui/gui.a gui/gui-common.o
# WeeChat with Curses interface
@@ -38,7 +38,8 @@ endif
# WeeChat with Gtk+ interface
ifeq ($(GUI), gtk)
OBJS_GTK=gui-gtk.o
LIBS_GTK=
LIBS_GTK=`pkg-config --libs gtk+-2.0`
INCLUDES=`pkg-config --cflags gtk+-2.0`
DEFINES=WEE_GTK
gtk: $(OBJS) $(OBJS_IRC) $(OBJS_GUI)
$(CC) $(OPTIONS) $(OBJS) $(OBJS_IRC) $(OBJS_GUI) -o $(OUTPUT) $(LIBS_GTK)
@@ -61,7 +62,7 @@ $(OBJS):
$(CC) $(OPTIONS) -o $@ -c $< $(INCLUDES) -D$(DEFINES)
irc/irc.a:
cd irc && make
cd irc && make GUI=$(GUI)
gui/gui.a:
cd gui && make $(GUI) GUI=$(GUI)
+11
View File
@@ -43,6 +43,17 @@ completion_init (t_completion *completion)
completion->base_word = NULL;
}
/*
* completion_free: free completion
*/
void
completion_free (t_completion *completion)
{
if (completion->base_word)
free (completion->base_word);
}
/*
* completion_command: complete a command
*/
+1
View File
@@ -36,6 +36,7 @@ struct t_completion
};
extern void completion_init (t_completion *);
extern void completion_free (t_completion *);
extern void completion_search (t_completion *, void *, char *, int, int);
#endif /* completion.h */
+20 -3
View File
@@ -15,23 +15,34 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
CC=gcc
OPTIONS=-Wall -W -pipe -O2
OUTPUT=../gui.a
OBJS=gui-common.o
# WeeChat with Curses interface
ifeq ($(GUI), curses)
curses: curses/gui.a
DEFINES=WEE_CURSES
curses: curses/gui.a $(OBJS)
curses/gui.a:
cd curses && make
endif
# WeeChat with Gtk+ interface
ifeq ($(GUI), gtk)
gtk: gtk/gui.a
INCLUDES=`pkg-config --cflags gtk+-2.0`
DEFINES=WEE_GTK
gtk: gtk/gui.a $(OBJS)
gtk/gui.a:
cd gtk && make
endif
# WeeChat with Qt interface
ifeq ($(GUI), qt)
qt: qt/gui.a
DEFINES=WEE_QT
qt: qt/gui.a $(OBJS)
qt/gui.a:
cd qt && make
endif
@@ -40,8 +51,14 @@ endif
all:
make curses GUI=curses
$(OBJS):
$(CC) $(OPTIONS) -o $@ -c $< $(INCLUDES) -D$(DEFINES)
clean:
rm -f *.o *.a *~ core
cd curses && make clean
cd gtk && make clean
cd qt && make clean
gui-common.o: gui-common.c ../weechat.h gui.h ../completion.h \
../history.h ../irc/irc.h ../gui/gui.h
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+6 -3
View File
@@ -21,6 +21,7 @@ OPTIONS=-Wall -W -pipe -O2
OUTPUT=../gui.a
OBJS=gui-display.o gui-input.o
INCLUDES=`pkg-config --cflags gtk+-2.0`
DEFINES=WEE_GTK
all: $(OBJS)
@@ -32,6 +33,8 @@ $(OBJS):
clean:
rm -f *.o *.a *~ core
gui-display.o: gui-display.c ../../weechat.h ../gui.h ../../config.h \
../../irc/irc.h ../../gui/gui.h
gui-input.o: gui-input.c ../../weechat.h ../gui.h
gui-display.o: gui-display.c ../../weechat.h ../gui.h ../../completion.h \
../../history.h ../../config.h ../../irc/irc.h ../../gui/gui.h
gui-input.o: gui-input.c ../../weechat.h ../gui.h ../../completion.h \
../../history.h ../../config.h ../../command.h ../../irc/irc.h \
../../gui/gui.h
File diff suppressed because it is too large Load Diff
+59
View File
@@ -0,0 +1,59 @@
/*
* Copyright (c) 2003 by FlashCode <flashcode@flashtux.org>
* Bounga <bounga@altern.org>
* Xahlexx <xahlexx@tuxisland.org>
* See README for License detail.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/* gui-input: user input functions for Gtk GUI */
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <signal.h>
#include <time.h>
#include <sys/socket.h>
#include "../../weechat.h"
#include "../gui.h"
#include "../../config.h"
#include "../../command.h"
#include "../../irc/irc.h"
/*
* gui_read_keyb: read keyboard line
*/
void
gui_read_keyb ()
{
/* TODO: read keyboard for Gtk GUI */
}
/*
* gui_main_loop: main loop for WeeChat with Gtk GUI
*/
void
gui_main_loop ()
{
/* TODO: main loop function for Gtk GUI */
}
+21 -2
View File
@@ -26,6 +26,9 @@
#ifdef WEE_CURSES
#include <curses.h>
#endif
#ifdef WEE_GTK
#include <gtk/gtk.h>
#endif
#include "../completion.h"
#include "../history.h"
@@ -149,7 +152,11 @@ struct t_gui_window
WINDOW *win_input; /* input window */
#endif
#ifdef WEE_GTK
/* TODO: declare Gtk+ window */
GtkWidget *win_title; /* title window */
GtkWidget *win_chat; /* chat window (exemple: channel) */
GtkWidget *win_nick; /* nick window */
GtkWidget *win_status; /* status window */
GtkWidget *win_input; /* input window */
#endif
#ifdef WEE_QT
/* TODO: declare Qt window */
@@ -186,6 +193,7 @@ struct t_gui_window
extern int gui_ready;
extern t_gui_window *gui_windows;
extern t_gui_window *last_gui_window;
extern t_gui_window *gui_current_window;
/* prototypes */
@@ -194,6 +202,8 @@ extern int gui_assign_color (int *, char *);
extern int gui_get_color_by_name (char *);
extern char *gui_get_color_by_value (int);
extern void gui_calculate_pos_size (t_gui_window *);
extern void gui_draw_window_title (t_gui_window *);
extern void gui_redraw_window_title (t_gui_window *);
extern void gui_draw_window_chat (t_gui_window *);
@@ -206,6 +216,7 @@ extern void gui_draw_window_input (t_gui_window *);
extern void gui_redraw_window_input (t_gui_window *);
extern void gui_redraw_window (t_gui_window *);
extern t_gui_window *gui_window_new (void *, void *);
extern void gui_window_clear (t_gui_window *);
extern void gui_window_clear_all ();
@@ -221,8 +232,16 @@ extern void gui_init ();
extern t_gui_window *gui_window_new (void *, void * /*int, int, int, int*/);
extern void gui_window_free (t_gui_window *);
extern void gui_end ();
extern t_gui_line *gui_new_line (t_gui_window *);
extern t_gui_message *gui_new_message (t_gui_window *);
extern void gui_printf_color_type (t_gui_window *, int, int, char *, ...);
extern void gui_display_nick (t_gui_window *, void *, int, int, int, int);
extern void gui_optimize_input_buffer_size (t_gui_window *);
extern void gui_delete_previous_word ();
extern void gui_move_previous_word ();
extern void gui_move_next_word ();
extern void gui_buffer_insert_string (char *, int);
extern void gui_main_loop ();
+5
View File
@@ -231,6 +231,11 @@ main (int argc, char *argv[])
bindtextdomain (PACKAGE, "/usr/share/locale");
textdomain (PACKAGE);
/* Gtk init */
#ifdef WEE_GTK
gtk_init (&argc, &argv);
#endif
/* initialize variables */
wee_init_vars ();
+1 -1
View File
@@ -32,7 +32,7 @@
#define N_(string) (string)
#define WEECHAT_NAME "WeeChat"
#define WEECHAT_VERSION "0.0.3-pre1"
#define WEECHAT_VERSION "0.0.3-pre2"
#define WEECHAT_NAME_AND_VERSION WEECHAT_NAME " " WEECHAT_VERSION
#define WEECHAT_COPYRIGHT WEECHAT_NAME " (c) 2003 by Wee Team"
+1 -1
View File
@@ -28,6 +28,7 @@ v0.0.3:
format, etc)
* Interface:
+ Gtk GUI
- display current channel modes (example : #weechat(+nt))
- interpret special chars in messages (color & bold for example)
+ internationalization (traduce WeeChat in many languages)
@@ -74,7 +75,6 @@ Future versions:
- improve completion (for example complete command parameters when possible)
- understand incomplete commands if unambigous (for example: /he for /help is ok)
- add clock (in status bar?)
- Gtk GUI
? Qt GUI
* TCP/IP communication:
+4 -3
View File
@@ -23,7 +23,7 @@ OUTPUT=weechat
OBJS=weechat.o config.o command.o completion.o history.o
OBJS_IRC=irc/irc.a
OBJS_GUI=gui/gui.a
OBJS_GUI=gui/gui.a gui/gui-common.o
# WeeChat with Curses interface
@@ -38,7 +38,8 @@ endif
# WeeChat with Gtk+ interface
ifeq ($(GUI), gtk)
OBJS_GTK=gui-gtk.o
LIBS_GTK=
LIBS_GTK=`pkg-config --libs gtk+-2.0`
INCLUDES=`pkg-config --cflags gtk+-2.0`
DEFINES=WEE_GTK
gtk: $(OBJS) $(OBJS_IRC) $(OBJS_GUI)
$(CC) $(OPTIONS) $(OBJS) $(OBJS_IRC) $(OBJS_GUI) -o $(OUTPUT) $(LIBS_GTK)
@@ -61,7 +62,7 @@ $(OBJS):
$(CC) $(OPTIONS) -o $@ -c $< $(INCLUDES) -D$(DEFINES)
irc/irc.a:
cd irc && make
cd irc && make GUI=$(GUI)
gui/gui.a:
cd gui && make $(GUI) GUI=$(GUI)
+11
View File
@@ -43,6 +43,17 @@ completion_init (t_completion *completion)
completion->base_word = NULL;
}
/*
* completion_free: free completion
*/
void
completion_free (t_completion *completion)
{
if (completion->base_word)
free (completion->base_word);
}
/*
* completion_command: complete a command
*/
+1
View File
@@ -36,6 +36,7 @@ struct t_completion
};
extern void completion_init (t_completion *);
extern void completion_free (t_completion *);
extern void completion_search (t_completion *, void *, char *, int, int);
#endif /* completion.h */
+20 -3
View File
@@ -15,23 +15,34 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
CC=gcc
OPTIONS=-Wall -W -pipe -O2
OUTPUT=../gui.a
OBJS=gui-common.o
# WeeChat with Curses interface
ifeq ($(GUI), curses)
curses: curses/gui.a
DEFINES=WEE_CURSES
curses: curses/gui.a $(OBJS)
curses/gui.a:
cd curses && make
endif
# WeeChat with Gtk+ interface
ifeq ($(GUI), gtk)
gtk: gtk/gui.a
INCLUDES=`pkg-config --cflags gtk+-2.0`
DEFINES=WEE_GTK
gtk: gtk/gui.a $(OBJS)
gtk/gui.a:
cd gtk && make
endif
# WeeChat with Qt interface
ifeq ($(GUI), qt)
qt: qt/gui.a
DEFINES=WEE_QT
qt: qt/gui.a $(OBJS)
qt/gui.a:
cd qt && make
endif
@@ -40,8 +51,14 @@ endif
all:
make curses GUI=curses
$(OBJS):
$(CC) $(OPTIONS) -o $@ -c $< $(INCLUDES) -D$(DEFINES)
clean:
rm -f *.o *.a *~ core
cd curses && make clean
cd gtk && make clean
cd qt && make clean
gui-common.o: gui-common.c ../weechat.h gui.h ../completion.h \
../history.h ../irc/irc.h ../gui/gui.h
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+6 -3
View File
@@ -21,6 +21,7 @@ OPTIONS=-Wall -W -pipe -O2
OUTPUT=../gui.a
OBJS=gui-display.o gui-input.o
INCLUDES=`pkg-config --cflags gtk+-2.0`
DEFINES=WEE_GTK
all: $(OBJS)
@@ -32,6 +33,8 @@ $(OBJS):
clean:
rm -f *.o *.a *~ core
gui-display.o: gui-display.c ../../weechat.h ../gui.h ../../config.h \
../../irc/irc.h ../../gui/gui.h
gui-input.o: gui-input.c ../../weechat.h ../gui.h
gui-display.o: gui-display.c ../../weechat.h ../gui.h ../../completion.h \
../../history.h ../../config.h ../../irc/irc.h ../../gui/gui.h
gui-input.o: gui-input.c ../../weechat.h ../gui.h ../../completion.h \
../../history.h ../../config.h ../../command.h ../../irc/irc.h \
../../gui/gui.h
File diff suppressed because it is too large Load Diff
+59
View File
@@ -0,0 +1,59 @@
/*
* Copyright (c) 2003 by FlashCode <flashcode@flashtux.org>
* Bounga <bounga@altern.org>
* Xahlexx <xahlexx@tuxisland.org>
* See README for License detail.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/* gui-input: user input functions for Gtk GUI */
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <signal.h>
#include <time.h>
#include <sys/socket.h>
#include "../../weechat.h"
#include "../gui.h"
#include "../../config.h"
#include "../../command.h"
#include "../../irc/irc.h"
/*
* gui_read_keyb: read keyboard line
*/
void
gui_read_keyb ()
{
/* TODO: read keyboard for Gtk GUI */
}
/*
* gui_main_loop: main loop for WeeChat with Gtk GUI
*/
void
gui_main_loop ()
{
/* TODO: main loop function for Gtk GUI */
}
+21 -2
View File
@@ -26,6 +26,9 @@
#ifdef WEE_CURSES
#include <curses.h>
#endif
#ifdef WEE_GTK
#include <gtk/gtk.h>
#endif
#include "../completion.h"
#include "../history.h"
@@ -149,7 +152,11 @@ struct t_gui_window
WINDOW *win_input; /* input window */
#endif
#ifdef WEE_GTK
/* TODO: declare Gtk+ window */
GtkWidget *win_title; /* title window */
GtkWidget *win_chat; /* chat window (exemple: channel) */
GtkWidget *win_nick; /* nick window */
GtkWidget *win_status; /* status window */
GtkWidget *win_input; /* input window */
#endif
#ifdef WEE_QT
/* TODO: declare Qt window */
@@ -186,6 +193,7 @@ struct t_gui_window
extern int gui_ready;
extern t_gui_window *gui_windows;
extern t_gui_window *last_gui_window;
extern t_gui_window *gui_current_window;
/* prototypes */
@@ -194,6 +202,8 @@ extern int gui_assign_color (int *, char *);
extern int gui_get_color_by_name (char *);
extern char *gui_get_color_by_value (int);
extern void gui_calculate_pos_size (t_gui_window *);
extern void gui_draw_window_title (t_gui_window *);
extern void gui_redraw_window_title (t_gui_window *);
extern void gui_draw_window_chat (t_gui_window *);
@@ -206,6 +216,7 @@ extern void gui_draw_window_input (t_gui_window *);
extern void gui_redraw_window_input (t_gui_window *);
extern void gui_redraw_window (t_gui_window *);
extern t_gui_window *gui_window_new (void *, void *);
extern void gui_window_clear (t_gui_window *);
extern void gui_window_clear_all ();
@@ -221,8 +232,16 @@ extern void gui_init ();
extern t_gui_window *gui_window_new (void *, void * /*int, int, int, int*/);
extern void gui_window_free (t_gui_window *);
extern void gui_end ();
extern t_gui_line *gui_new_line (t_gui_window *);
extern t_gui_message *gui_new_message (t_gui_window *);
extern void gui_printf_color_type (t_gui_window *, int, int, char *, ...);
extern void gui_display_nick (t_gui_window *, void *, int, int, int, int);
extern void gui_optimize_input_buffer_size (t_gui_window *);
extern void gui_delete_previous_word ();
extern void gui_move_previous_word ();
extern void gui_move_next_word ();
extern void gui_buffer_insert_string (char *, int);
extern void gui_main_loop ();
+5
View File
@@ -231,6 +231,11 @@ main (int argc, char *argv[])
bindtextdomain (PACKAGE, "/usr/share/locale");
textdomain (PACKAGE);
/* Gtk init */
#ifdef WEE_GTK
gtk_init (&argc, &argv);
#endif
/* initialize variables */
wee_init_vars ();
+1 -1
View File
@@ -32,7 +32,7 @@
#define N_(string) (string)
#define WEECHAT_NAME "WeeChat"
#define WEECHAT_VERSION "0.0.3-pre1"
#define WEECHAT_VERSION "0.0.3-pre2"
#define WEECHAT_NAME_AND_VERSION WEECHAT_NAME " " WEECHAT_VERSION
#define WEECHAT_COPYRIGHT WEECHAT_NAME " (c) 2003 by Wee Team"