nuchimp.glade
------------------------------------------------------
Chimp for Chatmunkeys
../pixmaps/chimp1.xpm
True
vertical
False
0
True
2
False
2
5
Chimp - Login
True
normal
False
True
vertical
2
True
True
../pixmaps/chimpkwondo.xpm
0
True
vertical
True
Enter Login Information
0
True
True
Username
False
0
True
1
1
True
True
Password
False
0
True
1
2
True
True
Room
False
0
True
1
3
True
True
Server : Port
False
0
True
1
True
:
False
False
2
True
3
4
True
Login Invisible
True
True
False
True
False
0
Do not enter Room
True
True
False
True
False
1
5
1
1
True
end
Login
True
True
True
False
False
0
Panic
True
True
True
False
False
1
False
end
0
------------------------------------------------------
configure.ac
------------------------------------------------------
AC_PREREQ([2.63])
AC_INIT([nuchimp], [0.1], [mick bareclan])
AM_INIT_AUTOMAKE
AC_PREFIX_DEFAULT([$HOME])
AC_CONFIG_SRCDIR([config.h.in])
AC_CONFIG_HEADERS([config.h])
AC_PROG_CC
CFLAGS="-Wall -g -O2"
PKG_CHECK_MODULES([GTK], [gtk+-2.0 >= 2.2])
AC_CONFIG_FILES([Makefile
src/Makefile])
AC_OUTPUT
------------------------------------------------------
top level Makefile.am
------------------------------------------------------
SUBDIRS = src
------------------------------------------------------
src/Makefile.am
------------------------------------------------------
bin_PROGRAMS = nuchimp
nuchimp_SOURCES = \
callback.c callback.h \
main.c main.h
AM_CPPFLAGS = $(GTK_CFLAGS)
AM_LDFLAGS = $(GTK_CFLAGS)
------------------------------------------------------
src/callback.c
------------------------------------------------------
#include
#include "config.h"
#include "callback.h"
#include "main.h"
void on_chat_window_destroy(GtkObject *object, gpointer user_data)
{
gtk_main_quit();
}
void on_connect_activate(GtkMenuItem *menuitem, gpointer user_data)
{
gtk_widget_show_all(logindialog);
}
void on_disconnect_activate(GtkMenuItem *menuitem, gpointer user_data)
{}
void on_quit_activate(GtkMenuItem *menuitem, gpointer user_data)
{
gtk_main_quit();
}
void on_invisiblebutton_toggled(GtkMenuItem *menuitem, gpointer user_data)
{}
void on_noroombutton_toggled(GtkMenuItem *menuitem, gpointer user_data)
{}
void on_loginbutton_clicked(GtkMenuItem *menuitem, gpointer user_data)
{}
void on_panicbutton_clicked(GtkMenuItem *menuitem, gpointer user_data)
{
gtk_widget_destroy(logindialog);
}
------------------------------------------------------
src/callback.h
------------------------------------------------------
/* callback.h */
#ifndef _CALLBACK_H
#define _CALLBACK_H
/* Chat Window */
void on_chat_window_destroy(GtkObject *object, gpointer user_data);
/* Connection Menu */
void on_connect_activate(GtkMenuItem *menuitem, gpointer user_data);
void on_disconnect_activate(GtkMenuItem *menuitem, gpointer user_data);
void on_quit_activate(GtkMenuItem *menuitem, gpointer user_data);
/* Login Dialog*/
void on_invisiblebutton_toggled(GtkMenuItem *menuitem, gpointer user_data);
void on_noroombutton_toggled(GtkMenuItem *menuitem, gpointer user_data);
void on_loginbutton_clicked(GtkMenuItem *menuitem, gpointer user_data);
void on_panicbutton_clicked(GtkMenuItem *menuitem, gpointer user_data);
#endif
------------------------------------------------------
src/main.c
------------------------------------------------------
#include
#include "config.h"
#include "callback.h"
#include "main.h"
int main(int argc, char *argv[])
{
GtkBuilder *builder;
gtk_init(&argc, &argv);
builder = gtk_builder_new();
gtk_builder_add_from_file(builder, "nuchimp.xml", NULL);
chat_window = GTK_WIDGET(gtk_builder_get_object (builder, "chat_window"));
logindialog = GTK_WIDGET(gtk_builder_get_object (builder, "logindialog"));
gtk_builder_connect_signals(builder, NULL);
g_object_unref(G_OBJECT (builder));
gtk_widget_show(chat_window);
gtk_main();
return 0;
}
------------------------------------------------------
src/main.h
------------------------------------------------------
/* main.h */
#ifndef _MAIN_H
#define _MAIN_H
GtkWidget *chat_window;
GtkWidget *logindialog;
#endif
------------------------------------------------------