Indent E-style.

SVN revision: 21363
This commit is contained in:
Kim Woelders 2006-03-18 10:23:33 +00:00
parent 3d19d90015
commit 32863c5634
7 changed files with 1226 additions and 1128 deletions

1
.indent.pro vendored Normal file
View File

@ -0,0 +1 @@
-i3 -bl -bad -nbap -sob -ncdb -di20 -nbc -lp -nce -npcs -sc -ncs -l80

104
ipc.c
View File

@ -9,7 +9,8 @@
#include "ipc.h" #include "ipc.h"
#include "viewer.h" #include "viewer.h"
typedef struct _client { typedef struct _client
{
gchar *name; gchar *name;
Window win; Window win;
gchar *msg; gchar *msg;
@ -40,8 +41,8 @@ static void ListFreeClient(void *ptr);
extern gchar in_init; extern gchar in_init;
extern gint gdk_error_warnings; extern gint gdk_error_warnings;
gint
gint CommsInit(void (*msg_receive_func) (gchar * msg)) CommsInit(void (*msg_receive_func) (gchar * msg))
{ {
Window win; Window win;
gchar st[32]; gchar st[32];
@ -50,7 +51,7 @@ gint CommsInit(void (*msg_receive_func) (gchar * msg))
CommsSetup(); CommsSetup();
comms_win = win = CommsFindCommsWindow(); comms_win = win = CommsFindCommsWindow();
cl = MakeClient(win); cl = MakeClient(win);
g_snprintf(st, sizeof(st), "%8x", (int) win); g_snprintf(st, sizeof(st), "%8x", (int)win);
cl->name = g_strdup(st); cl->name = g_strdup(st);
e_client = cl; e_client = cl;
gdkwin = gdk_window_foreign_new(win); gdkwin = gdk_window_foreign_new(win);
@ -63,7 +64,8 @@ gint CommsInit(void (*msg_receive_func) (gchar * msg))
return 1; return 1;
} }
void CommsSend(gchar * s) void
CommsSend(gchar * s)
{ {
gchar ss[21]; gchar ss[21];
int i, j, k, len; int i, j, k, len;
@ -84,9 +86,11 @@ void CommsSend(gchar * s)
ev.xclient.message_type = a; ev.xclient.message_type = a;
ev.xclient.format = 8; ev.xclient.format = 8;
for (i = 0; i < len + 1; i += 12) { for (i = 0; i < len + 1; i += 12)
g_snprintf(ss, sizeof(ss), "%8x", (int) my_win); {
for (j = 0; j < 12; j++) { g_snprintf(ss, sizeof(ss), "%8x", (int)my_win);
for (j = 0; j < 12; j++)
{
ss[8 + j] = s[i + j]; ss[8 + j] = s[i + j];
if (!s[i + j]) if (!s[i + j])
j = 12; j = 12;
@ -112,20 +116,25 @@ CommsFilter(GdkXEvent * gdk_xevent, GdkEvent * event, gpointer data)
if (!a) if (!a)
a = XInternAtom(GDK_DISPLAY(), "ENL_MSG", True); a = XInternAtom(GDK_DISPLAY(), "ENL_MSG", True);
xevent = (XEvent *) gdk_xevent; xevent = (XEvent *) gdk_xevent;
switch (xevent->type) { switch (xevent->type)
{
case DestroyNotify: case DestroyNotify:
if (xevent->xdestroywindow.window == comms_win) { if (xevent->xdestroywindow.window == comms_win)
{
gint i; gint i;
comms_win = 0; comms_win = 0;
if (!in_init) { if (!in_init)
for (i = 0; ((i < 20) && (!comms_win)); i++) { {
if ((comms_win = CommsFindCommsWindow())) { for (i = 0; ((i < 20) && (!comms_win)); i++)
{
if ((comms_win = CommsFindCommsWindow()))
{
gchar st[256]; gchar st[256];
ListFreeClient(e_client); ListFreeClient(e_client);
e_client = MakeClient(comms_win); e_client = MakeClient(comms_win);
g_snprintf(st, sizeof(st), "%8x", (int) comms_win); g_snprintf(st, sizeof(st), "%8x", (int)comms_win);
e_client->name = g_strdup(st); e_client->name = g_strdup(st);
if (gdkwin) if (gdkwin)
gdk_window_unref(gdkwin); gdk_window_unref(gdkwin);
@ -138,8 +147,10 @@ CommsFilter(GdkXEvent * gdk_xevent, GdkEvent * event, gpointer data)
sleep(1); sleep(1);
} }
} }
if (!comms_win) { if (!comms_win)
GtkWidget *win, *label, *align, *frame, *button, *vbox; {
GtkWidget *win, *label, *align, *frame, *button,
*vbox;
#ifdef ENABLE_GTK2 #ifdef ENABLE_GTK2
win = gtk_window_new(GTK_WINDOW_TOPLEVEL); win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
@ -155,10 +166,11 @@ CommsFilter(GdkXEvent * gdk_xevent, GdkEvent * event, gpointer data)
vbox = gtk_vbox_new(FALSE, 5); vbox = gtk_vbox_new(FALSE, 5);
button = gtk_button_new_with_label("Bye bye!"); button = gtk_button_new_with_label("Bye bye!");
gtk_signal_connect(GTK_OBJECT(button), "clicked", gtk_signal_connect(GTK_OBJECT(button), "clicked",
GTK_SIGNAL_FUNC(on_exit_application), NULL); GTK_SIGNAL_FUNC(on_exit_application),
label = gtk_label_new("EEEEEEEEEEEEEEK! HELP! HEEEEEEEEEELP!\n" NULL);
"\n" label =
"Enlightenemnt dissapeared on me!\n" gtk_label_new("EEEEEEEEEEEEEEK! HELP! HEEEEEEEEEELP!\n"
"\n" "Enlightenemnt dissapeared on me!\n"
"\n" "\n"
"Someone help me - I'm drowning - drowning\n" "Someone help me - I'm drowning - drowning\n"
"\n" "\n"
@ -174,7 +186,9 @@ CommsFilter(GdkXEvent * gdk_xevent, GdkEvent * event, gpointer data)
gtk_main(); gtk_main();
exit(1); exit(1);
} }
} else { }
else
{
gdk_window_destroy_notify(((GdkEventAny *) event)->window); gdk_window_destroy_notify(((GdkEventAny *) event)->window);
} }
return GDK_FILTER_REMOVE; return GDK_FILTER_REMOVE;
@ -183,7 +197,8 @@ CommsFilter(GdkXEvent * gdk_xevent, GdkEvent * event, gpointer data)
if (xevent->xclient.message_type != a) if (xevent->xclient.message_type != a)
return GDK_FILTER_CONTINUE; return GDK_FILTER_CONTINUE;
msg = CommsGet(&c, xevent); msg = CommsGet(&c, xevent);
if (msg) { if (msg)
{
if (msg_receive_callback) if (msg_receive_callback)
(*msg_receive_callback) (msg); (*msg_receive_callback) (msg);
g_free(msg); g_free(msg);
@ -196,13 +211,15 @@ CommsFilter(GdkXEvent * gdk_xevent, GdkEvent * event, gpointer data)
return GDK_FILTER_REMOVE; return GDK_FILTER_REMOVE;
} }
static void CommsSetup(void) static void
CommsSetup(void)
{ {
my_win = XCreateSimpleWindow(GDK_DISPLAY(), GDK_ROOT_WINDOW(), my_win = XCreateSimpleWindow(GDK_DISPLAY(), GDK_ROOT_WINDOW(),
-100, -100, 5, 5, 0, 0, 0); -100, -100, 5, 5, 0, 0, 0);
} }
static Window CommsFindCommsWindow(void) static Window
CommsFindCommsWindow(void)
{ {
unsigned char *s; unsigned char *s;
Atom a, ar; Atom a, ar;
@ -214,15 +231,18 @@ static Window CommsFindCommsWindow(void)
unsigned int duint; unsigned int duint;
a = XInternAtom(GDK_DISPLAY(), "ENLIGHTENMENT_COMMS", True); a = XInternAtom(GDK_DISPLAY(), "ENLIGHTENMENT_COMMS", True);
if (a != None) { if (a != None)
{
s = NULL; s = NULL;
XGetWindowProperty(GDK_DISPLAY(), GDK_ROOT_WINDOW(), a, 0, 14, False, XGetWindowProperty(GDK_DISPLAY(), GDK_ROOT_WINDOW(), a, 0, 14, False,
AnyPropertyType, &ar, &format, &num, &after, &s); AnyPropertyType, &ar, &format, &num, &after, &s);
if (s) { if (s)
sscanf((char *) s, "%*s %x", (unsigned int *) &win); {
sscanf((char *)s, "%*s %x", (unsigned int *)&win);
XFree(s); XFree(s);
} }
if (win) { if (win)
{
gint p; gint p;
p = gdk_error_warnings; p = gdk_error_warnings;
@ -233,10 +253,11 @@ static Window CommsFindCommsWindow(void)
gdk_flush(); gdk_flush();
gdk_error_warnings = p; gdk_error_warnings = p;
s = NULL; s = NULL;
if (win) { if (win)
{
XGetWindowProperty(GDK_DISPLAY(), win, a, 0, 14, False, XGetWindowProperty(GDK_DISPLAY(), win, a, 0, 14, False,
AnyPropertyType, &ar, &format, &num, &after, AnyPropertyType, &ar, &format, &num,
&s); &after, &s);
if (s) if (s)
XFree(s); XFree(s);
else else
@ -247,7 +268,8 @@ static Window CommsFindCommsWindow(void)
return win; return win;
} }
static gchar *CommsGet(Client ** c, XEvent * ev) static gchar *
CommsGet(Client ** c, XEvent * ev)
{ {
gchar s[13], s2[9], *msg; gchar s[13], s2[9], *msg;
int i; int i;
@ -270,24 +292,28 @@ static gchar *CommsGet(Client ** c, XEvent * ev)
s2[i] = ev->xclient.data.b[i]; s2[i] = ev->xclient.data.b[i];
for (i = 0; i < 12; i++) for (i = 0; i < 12; i++)
s[i] = ev->xclient.data.b[i + 8]; s[i] = ev->xclient.data.b[i + 8];
sscanf(s2, "%x", (int *) &win); sscanf(s2, "%x", (int *)&win);
cl = e_client; cl = e_client;
if (!cl) if (!cl)
return (NULL); return (NULL);
if (cl->msg) { if (cl->msg)
{
/* append text to end of msg */ /* append text to end of msg */
cl->msg = g_realloc(cl->msg, strlen(cl->msg) + strlen(s) + 1); cl->msg = g_realloc(cl->msg, strlen(cl->msg) + strlen(s) + 1);
if (!cl->msg) if (!cl->msg)
return (NULL); return (NULL);
strcat(cl->msg, s); strcat(cl->msg, s);
} else { }
else
{
/* new msg */ /* new msg */
cl->msg = g_malloc(strlen(s) + 1); cl->msg = g_malloc(strlen(s) + 1);
if (!cl->msg) if (!cl->msg)
return (NULL); return (NULL);
strcpy(cl->msg, s); strcpy(cl->msg, s);
} }
if (strlen(s) < 12) { if (strlen(s) < 12)
{
msg = cl->msg; msg = cl->msg;
cl->msg = NULL; cl->msg = NULL;
*c = cl; *c = cl;
@ -295,7 +321,8 @@ static gchar *CommsGet(Client ** c, XEvent * ev)
return (msg); return (msg);
} }
static Client *MakeClient(Window win) static Client *
MakeClient(Window win)
{ {
Client *c; Client *c;
@ -315,7 +342,8 @@ static Client *MakeClient(Window win)
return (c); return (c);
} }
static void ListFreeClient(void *ptr) static void
ListFreeClient(void *ptr)
{ {
Client *c; Client *c;

41
menus.c
View File

@ -13,9 +13,9 @@
#include "menus.h" #include "menus.h"
#include "viewer.h" #include "viewer.h"
GtkWidget * GtkWidget *
CreateBarSubMenu(GtkWidget *menu, char *szName) { CreateBarSubMenu(GtkWidget * menu, char *szName)
{
GtkWidget *menuitem; GtkWidget *menuitem;
GtkWidget *submenu; GtkWidget *submenu;
@ -23,52 +23,59 @@ CreateBarSubMenu(GtkWidget *menu, char *szName) {
gtk_menu_bar_append(GTK_MENU_BAR(menu), menuitem); gtk_menu_bar_append(GTK_MENU_BAR(menu), menuitem);
gtk_widget_show(menuitem); gtk_widget_show(menuitem);
submenu = gtk_menu_new(); submenu = gtk_menu_new();
gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem),submenu); gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), submenu);
return submenu; return submenu;
} }
GtkWidget * GtkWidget *
CreateRightAlignBarSubMenu(GtkWidget *menu, char *szName) { CreateRightAlignBarSubMenu(GtkWidget * menu, char *szName)
{
GtkWidget *menuitem; GtkWidget *menuitem;
GtkWidget *submenu; GtkWidget *submenu;
menuitem = gtk_menu_item_new_with_label(szName); menuitem = gtk_menu_item_new_with_label(szName);
gtk_menu_item_right_justify (GTK_MENU_ITEM (menuitem)); gtk_menu_item_right_justify(GTK_MENU_ITEM(menuitem));
gtk_menu_bar_append(GTK_MENU_BAR(menu), menuitem); gtk_menu_bar_append(GTK_MENU_BAR(menu), menuitem);
gtk_widget_show(menuitem); gtk_widget_show(menuitem);
submenu = gtk_menu_new(); submenu = gtk_menu_new();
gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem),submenu); gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), submenu);
return submenu; return submenu;
} }
GtkWidget * GtkWidget *
CreateMenuItem(GtkWidget *menu, char *szName, char *szAccel, char *szTip, CreateMenuItem(GtkWidget * menu, char *szName, char *szAccel, char *szTip,
GtkSignalFunc func, gpointer data) GtkSignalFunc func, gpointer data)
{ {
GtkWidget *menuitem; GtkWidget *menuitem;
if(szName && strlen (szName)) { if (szName && strlen(szName))
{
menuitem = gtk_menu_item_new_with_label(szName); menuitem = gtk_menu_item_new_with_label(szName);
gtk_signal_connect(GTK_OBJECT(menuitem),"activate", gtk_signal_connect(GTK_OBJECT(menuitem), "activate",
GTK_SIGNAL_FUNC(func),data); GTK_SIGNAL_FUNC(func), data);
} else { }
else
{
menuitem = gtk_menu_item_new(); menuitem = gtk_menu_item_new();
} }
gtk_menu_append(GTK_MENU(menu),menuitem); gtk_menu_append(GTK_MENU(menu), menuitem);
gtk_widget_show(menuitem); gtk_widget_show(menuitem);
if(szAccel && szAccel[0] == '^') { if (szAccel && szAccel[0] == '^')
gtk_widget_add_accelerator(menuitem,"activate",accel_group,szAccel[1], {
GDK_CONTROL_MASK,GTK_ACCEL_VISIBLE); gtk_widget_add_accelerator(menuitem, "activate", accel_group,
szAccel[1], GDK_CONTROL_MASK,
GTK_ACCEL_VISIBLE);
} }
if(szTip && strlen(szTip)) { if (szTip && strlen(szTip))
gtk_tooltips_set_tip(tooltips,menuitem,szTip,NULL); {
gtk_tooltips_set_tip(tooltips, menuitem, szTip, NULL);
} }
return menuitem; return menuitem;

10
menus.h
View File

@ -1,5 +1,5 @@
GtkWidget *CreateBarSubMenu(GtkWidget *menu, char *szName); GtkWidget *CreateBarSubMenu(GtkWidget * menu, char *szName);
GtkWidget *CreateRightAlignBarSubMenu(GtkWidget *menu, char *szName); GtkWidget *CreateRightAlignBarSubMenu(GtkWidget * menu, char *szName);
GtkWidget * CreateMenuItem(GtkWidget *menu, char *szName, char *szAccel, GtkWidget *CreateMenuItem(GtkWidget * menu, char *szName,
char *szTip, GtkSignalFunc func, gpointer data); char *szAccel, char *szTip,
GtkSignalFunc func, gpointer data);

436
viewer.c
View File

@ -24,12 +24,12 @@ static gchar *wait_for_ipc_msg(void);
gchar *e_ipc_msg = NULL; gchar *e_ipc_msg = NULL;
GList *keys = NULL; GList *keys = NULL;
char dont_update=0; char dont_update = 0;
int last_row=0; int last_row = 0;
int real_rows=0; int real_rows = 0;
typedef struct _actionopt
typedef struct _actionopt { {
gchar *text; gchar *text;
gint id; gint id;
gchar param_tpe; gchar param_tpe;
@ -61,6 +61,7 @@ gchar *mod_str[] = {
}; };
/* *INDENT-OFF* */
static ActionOpt actions[] = { static ActionOpt actions[] = {
{"Run command", 1, 1, NULL}, {"Run command", 1, 1, NULL},
@ -77,6 +78,7 @@ static ActionOpt actions[] = {
{"Toggle Deskrays", 43, 0, NULL}, {"Toggle Deskrays", 43, 0, NULL},
{"Cleanup Windows", 8, 0, NULL}, {"Cleanup Windows", 8, 0, NULL},
{"Scroll Windows to left", 48, 0, "-16 0"}, {"Scroll Windows to left", 48, 0, "-16 0"},
{"Scroll Windows to right", 48, 0, "16 0"}, {"Scroll Windows to right", 48, 0, "16 0"},
{"Scroll Windows up", 48, 0, "0 -16"}, {"Scroll Windows up", 48, 0, "0 -16"},
@ -150,14 +152,14 @@ static ActionOpt actions[] = {
{"Next Linear Area", 71, 0, "1"}, {"Next Linear Area", 71, 0, "1"},
{NULL, 0, 0, NULL} {NULL, 0, 0, NULL}
}; };
/* *INDENT-ON* */
void void
e_cb_key_change(GtkWidget * widget, gpointer data) e_cb_key_change(GtkWidget * widget, gpointer data)
{ {
GtkWidget *win, *label, *frame, *align; GtkWidget *win, *label, *frame, *align;
if(data) if (data)
widget = NULL; widget = NULL;
win = gtk_window_new(GTK_WINDOW_POPUP); win = gtk_window_new(GTK_WINDOW_POPUP);
@ -197,14 +199,13 @@ e_cb_key_change(GtkWidget * widget, gpointer data)
#endif #endif
key = XKeysymToString(XKeycodeToKeysym(GDK_DISPLAY(), key = XKeysymToString(XKeycodeToKeysym(GDK_DISPLAY(),
ev.xkey.keycode, 0)); ev.xkey.keycode, 0));
gtk_entry_set_text(GTK_ENTRY(act_key),key); gtk_entry_set_text(GTK_ENTRY(act_key), key);
gtk_clist_set_text(GTK_CLIST(clist),last_row,1,key); gtk_clist_set_text(GTK_CLIST(clist), last_row, 1, key);
} }
gtk_widget_destroy(win); gtk_widget_destroy(win);
} }
void void
e_cb_modifier(GtkWidget * widget, gpointer data) e_cb_modifier(GtkWidget * widget, gpointer data)
{ {
@ -213,13 +214,14 @@ e_cb_modifier(GtkWidget * widget, gpointer data)
widget = NULL; widget = NULL;
value = (gint) data; value = (gint) data;
gtk_clist_set_text(GTK_CLIST(clist),last_row,0,mod_str[value]); gtk_clist_set_text(GTK_CLIST(clist), last_row, 0, mod_str[value]);
return; return;
} }
static gchar *wait_for_ipc_msg(void) static gchar *
wait_for_ipc_msg(void)
{ {
gtk_main(); gtk_main();
return e_ipc_msg; return e_ipc_msg;
@ -235,11 +237,16 @@ atword(char *s, int num)
cnt = 0; cnt = 0;
i = 0; i = 0;
while (s[i]) { while (s[i])
if ((s[i] != ' ') && (s[i] != '\t')) { {
if (i == 0) { if ((s[i] != ' ') && (s[i] != '\t'))
{
if (i == 0)
{
cnt++; cnt++;
} else if ((s[i - 1] == ' ') || (s[i - 1] == '\t')) { }
else if ((s[i - 1] == ' ') || (s[i - 1] == '\t'))
{
cnt++; cnt++;
} }
if (cnt == num) if (cnt == num)
@ -251,29 +258,35 @@ atword(char *s, int num)
} }
void void
change_action(GtkWidget *my_clist, gint row, gint column, GdkEventButton *event, change_action(GtkWidget * my_clist, gint row, gint column,
gpointer data) GdkEventButton * event, gpointer data)
{ {
if(data) { if (data)
{
event = NULL; event = NULL;
my_clist = NULL; my_clist = NULL;
column = 0; column = 0;
} }
if(!dont_update) { if (!dont_update)
gtk_entry_set_editable(GTK_ENTRY(act_params),FALSE); {
gtk_widget_set_sensitive(act_params,FALSE); gtk_entry_set_editable(GTK_ENTRY(act_params), FALSE);
if(actions[row].param_tpe != 0) { gtk_widget_set_sensitive(act_params, FALSE);
gtk_entry_set_editable(GTK_ENTRY(act_params),TRUE); if (actions[row].param_tpe != 0)
gtk_widget_set_sensitive(act_params,TRUE); {
} else { gtk_entry_set_editable(GTK_ENTRY(act_params), TRUE);
gtk_entry_set_text(GTK_ENTRY(act_params),""); gtk_widget_set_sensitive(act_params, TRUE);
} }
if(actions[row].params) { else
gtk_entry_set_text(GTK_ENTRY(act_params),actions[row].params); {
gtk_entry_set_text(GTK_ENTRY(act_params), "");
} }
gtk_clist_set_text(GTK_CLIST(clist),last_row,2,actions[row].text); if (actions[row].params)
gtk_clist_set_text(GTK_CLIST(clist),last_row,3, {
gtk_entry_set_text(GTK_ENTRY(act_params), actions[row].params);
}
gtk_clist_set_text(GTK_CLIST(clist), last_row, 2, actions[row].text);
gtk_clist_set_text(GTK_CLIST(clist), last_row, 3,
gtk_entry_get_text(GTK_ENTRY(act_params))); gtk_entry_get_text(GTK_ENTRY(act_params)));
} }
@ -282,50 +295,59 @@ change_action(GtkWidget *my_clist, gint row, gint column, GdkEventButton *event,
} }
void void
on_save_data(GtkWidget *widget, gpointer data) on_save_data(GtkWidget * widget, gpointer data)
{ {
char buf[8192]; char buf[8192];
int i; int i;
if(data) if (data)
widget = NULL; widget = NULL;
sprintf(buf,"set_keybindings "); sprintf(buf, "set_keybindings ");
for(i=0;i<real_rows;i++) { for (i = 0; i < real_rows; i++)
{
char tmp[1024]; char tmp[1024];
char *params; char *params;
char params_tmp[1024]; char params_tmp[1024];
char *action; char *action;
char *key; char *key;
char *mod; char *mod;
int modifier=0; int modifier = 0;
int action_id=0; int action_id = 0;
int j; int j;
gtk_clist_get_text(GTK_CLIST(clist),i,0,&mod); gtk_clist_get_text(GTK_CLIST(clist), i, 0, &mod);
for(j=0;j<21;j++) { for (j = 0; j < 21; j++)
if(!strcmp(mod_str[j],mod)) { {
if (!strcmp(mod_str[j], mod))
{
modifier = j; modifier = j;
} }
} }
gtk_clist_get_text(GTK_CLIST(clist),i,1,&key); gtk_clist_get_text(GTK_CLIST(clist), i, 1, &key);
gtk_clist_get_text(GTK_CLIST(clist),i,2,&action); gtk_clist_get_text(GTK_CLIST(clist), i, 2, &action);
for (j = 0; (actions[j].text); j++) { for (j = 0; (actions[j].text); j++)
if (!strcmp(actions[j].text,action)) { {
if (!strcmp(actions[j].text, action))
{
action_id = actions[j].id; action_id = actions[j].id;
} }
} }
gtk_clist_get_text(GTK_CLIST(clist),i,3,&params); gtk_clist_get_text(GTK_CLIST(clist), i, 3, &params);
if(strcmp(params,"")) { if (strcmp(params, ""))
if(action_id==9) { {
sprintf(params_tmp,"%s %s","named",params); if (action_id == 9)
params=(char *)params_tmp; {
sprintf(params_tmp, "%s %s", "named", params);
params = (char *)params_tmp;
} }
sprintf(tmp,"%s %i %i %s\n",key,modifier,action_id,params); sprintf(tmp, "%s %i %i %s\n", key, modifier, action_id, params);
} else {
sprintf(tmp,"%s %i %i\n",key,modifier,action_id);
} }
strcat(buf,tmp); else
{
sprintf(tmp, "%s %i %i\n", key, modifier, action_id);
}
strcat(buf, tmp);
} }
/* printf("%s",buf); */ /* printf("%s",buf); */
@ -336,8 +358,8 @@ on_save_data(GtkWidget *widget, gpointer data)
} }
void void
selection_made(GtkWidget *my_clist, gint row, gint column, selection_made(GtkWidget * my_clist, gint row, gint column,
GdkEventButton *event, gpointer data) GdkEventButton * event, gpointer data)
{ {
gchar *modstring; gchar *modstring;
@ -346,7 +368,8 @@ selection_made(GtkWidget *my_clist, gint row, gint column,
gchar *paramsused; gchar *paramsused;
int i; int i;
if (data) { if (data)
{
event = NULL; event = NULL;
my_clist = NULL; my_clist = NULL;
column = 0; column = 0;
@ -354,42 +377,47 @@ selection_made(GtkWidget *my_clist, gint row, gint column,
dont_update = 1; dont_update = 1;
gtk_clist_get_text(GTK_CLIST(clist), row, 0, &modstring); gtk_clist_get_text(GTK_CLIST(clist), row, 0, &modstring);
gtk_option_menu_set_history(GTK_OPTION_MENU(act_mod),0); gtk_option_menu_set_history(GTK_OPTION_MENU(act_mod), 0);
for(i=1;i<20;i++) { for (i = 1; i < 20; i++)
if(!strcmp(mod_str[i],modstring)) { {
gtk_option_menu_set_history(GTK_OPTION_MENU(act_mod),i); if (!strcmp(mod_str[i], modstring))
{
gtk_option_menu_set_history(GTK_OPTION_MENU(act_mod), i);
} }
} }
gtk_clist_get_text(GTK_CLIST(clist), row, 1, &keyused); gtk_clist_get_text(GTK_CLIST(clist), row, 1, &keyused);
gtk_entry_set_text(GTK_ENTRY(act_key),keyused); gtk_entry_set_text(GTK_ENTRY(act_key), keyused);
gtk_clist_get_text(GTK_CLIST(clist), row, 2, &actperform); gtk_clist_get_text(GTK_CLIST(clist), row, 2, &actperform);
gtk_entry_set_editable(GTK_ENTRY(act_params),FALSE); gtk_entry_set_editable(GTK_ENTRY(act_params), FALSE);
gtk_widget_set_sensitive(act_params,FALSE); gtk_widget_set_sensitive(act_params, FALSE);
for (i = 0; (actions[i].text); i++) { for (i = 0; (actions[i].text); i++)
if(!strcmp(actperform,actions[i].text)) { {
if(actions[i].param_tpe != 0) { if (!strcmp(actperform, actions[i].text))
gtk_entry_set_editable(GTK_ENTRY(act_params),TRUE); {
gtk_widget_set_sensitive(act_params,TRUE); if (actions[i].param_tpe != 0)
{
gtk_entry_set_editable(GTK_ENTRY(act_params), TRUE);
gtk_widget_set_sensitive(act_params, TRUE);
} }
gtk_clist_select_row(GTK_CLIST(act_clist),i,0); gtk_clist_select_row(GTK_CLIST(act_clist), i, 0);
gtk_clist_moveto(GTK_CLIST(act_clist),i,0,0.5,0.5); gtk_clist_moveto(GTK_CLIST(act_clist), i, 0, 0.5, 0.5);
} }
} }
gtk_clist_get_text(GTK_CLIST(clist), row, 3, &paramsused); gtk_clist_get_text(GTK_CLIST(clist), row, 3, &paramsused);
gtk_entry_set_text(GTK_ENTRY(act_params),paramsused); gtk_entry_set_text(GTK_ENTRY(act_params), paramsused);
/* printf("%s\n%s\n%s\n%s\n",modstring,keyused,actperform,paramsused); */ /* printf("%s\n%s\n%s\n%s\n",modstring,keyused,actperform,paramsused); */
last_row = row; last_row = row;
dont_update=0; dont_update = 0;
return; return;
} }
static gchar *get_line(gchar * str, int num); static gchar *get_line(gchar * str, int num);
static gchar *get_line(gchar * str, int num) static gchar *
get_line(gchar * str, int num)
{ {
gchar *s1, *s2, *s; gchar *s1, *s2, *s;
gint i, count, l; gint i, count, l;
@ -400,10 +428,13 @@ static gchar *get_line(gchar * str, int num)
if (*str == '\n') if (*str == '\n')
i = 1; i = 1;
s2 = NULL; s2 = NULL;
for (i = 0;; i++) { for (i = 0;; i++)
if ((str[i] == '\n') || (str[i] == 0)) { {
if ((str[i] == '\n') || (str[i] == 0))
{
s2 = &(str[i]); s2 = &(str[i]);
if ((count == num) && (s2 > s1)) { if ((count == num) && (s2 > s1))
{
l = s2 - s1; l = s2 - s1;
s = g_malloc(l + 1); s = g_malloc(l + 1);
strncpy(s, s1, l); strncpy(s, s1, l);
@ -419,26 +450,33 @@ static gchar *get_line(gchar * str, int num)
} }
void void
on_resort_columns(GtkWidget *widget, gint column, gpointer user_data) on_resort_columns(GtkWidget * widget, gint column, gpointer user_data)
{ {
static int order=0; static int order = 0;
static int last_col=0; static int last_col = 0;
if(user_data) { if (user_data)
{
widget = NULL; widget = NULL;
} }
gtk_clist_set_sort_column(GTK_CLIST(clist),column); gtk_clist_set_sort_column(GTK_CLIST(clist), column);
if(last_col == column) { if (last_col == column)
if(order) { {
order=0; if (order)
gtk_clist_set_sort_type(GTK_CLIST(clist),GTK_SORT_DESCENDING); {
} else { order = 0;
order=1; gtk_clist_set_sort_type(GTK_CLIST(clist), GTK_SORT_DESCENDING);
gtk_clist_set_sort_type(GTK_CLIST(clist),GTK_SORT_ASCENDING);
} }
} else { else
order=1; {
gtk_clist_set_sort_type(GTK_CLIST(clist),GTK_SORT_ASCENDING); order = 1;
gtk_clist_set_sort_type(GTK_CLIST(clist), GTK_SORT_ASCENDING);
}
}
else
{
order = 1;
gtk_clist_set_sort_type(GTK_CLIST(clist), GTK_SORT_ASCENDING);
last_col = column; last_col = column;
} }
@ -448,16 +486,18 @@ on_resort_columns(GtkWidget *widget, gint column, gpointer user_data)
} }
void on_delete_row(GtkWidget * widget, gpointer user_data) void
on_delete_row(GtkWidget * widget, gpointer user_data)
{ {
if (user_data) { if (user_data)
{
widget = NULL; widget = NULL;
} }
gtk_clist_remove(GTK_CLIST(clist),last_row); gtk_clist_remove(GTK_CLIST(clist), last_row);
gtk_clist_select_row(GTK_CLIST(clist),0,0); gtk_clist_select_row(GTK_CLIST(clist), 0, 0);
gtk_clist_moveto(GTK_CLIST(clist),0,0,0.5,0.5); gtk_clist_moveto(GTK_CLIST(clist), 0, 0, 0.5, 0.5);
real_rows--; real_rows--;
return; return;
@ -470,7 +510,8 @@ on_create_row(GtkWidget * widget, gpointer user_data)
char *stuff[4]; char *stuff[4];
if (user_data) { if (user_data)
{
widget = NULL; widget = NULL;
} }
stuff[0] = malloc(2); stuff[0] = malloc(2);
@ -482,15 +523,15 @@ on_create_row(GtkWidget * widget, gpointer user_data)
stuff[3] = malloc(2); stuff[3] = malloc(2);
strcpy(stuff[3], ""); strcpy(stuff[3], "");
gtk_clist_select_row(GTK_CLIST(clist), gtk_clist_select_row(GTK_CLIST(clist),
gtk_clist_append(GTK_CLIST(clist), stuff),0); gtk_clist_append(GTK_CLIST(clist), stuff), 0);
if(stuff[0]) if (stuff[0])
free(stuff[0]); free(stuff[0]);
if(stuff[1]) if (stuff[1])
free(stuff[1]); free(stuff[1]);
if(stuff[2]) if (stuff[2])
free(stuff[2]); free(stuff[2]);
if(stuff[3]) if (stuff[3])
free(stuff[3]); free(stuff[3]);
real_rows++; real_rows++;
@ -500,14 +541,16 @@ on_create_row(GtkWidget * widget, gpointer user_data)
} }
void void
on_change_params(GtkWidget *widget, gpointer user_data) on_change_params(GtkWidget * widget, gpointer user_data)
{ {
if (user_data) { if (user_data)
{
widget = NULL; widget = NULL;
} }
if(!dont_update) { if (!dont_update)
gtk_clist_set_text(GTK_CLIST(clist),last_row,3, {
gtk_clist_set_text(GTK_CLIST(clist), last_row, 3,
gtk_entry_get_text(GTK_ENTRY(act_params))); gtk_entry_get_text(GTK_ENTRY(act_params)));
} }
@ -518,7 +561,8 @@ void
on_exit_application(GtkWidget * widget, gpointer user_data) on_exit_application(GtkWidget * widget, gpointer user_data)
{ {
if (user_data) { if (user_data)
{
widget = NULL; widget = NULL;
} }
gtk_exit(0); gtk_exit(0);
@ -550,8 +594,7 @@ create_list_window(void)
GtkWidget *entry; GtkWidget *entry;
GtkWidget *button; GtkWidget *button;
GtkWidget *hbox; GtkWidget *hbox;
GtkWidget *m,*mi,*om; GtkWidget *m, *mi, *om;
list_window = gtk_window_new(GTK_WINDOW_TOPLEVEL); list_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_object_set_data(GTK_OBJECT(list_window), "key_editor", list_window); gtk_object_set_data(GTK_OBJECT(list_window), "key_editor", list_window);
@ -559,7 +602,7 @@ create_list_window(void)
GTK_WIDGET_SET_FLAGS(list_window, GTK_CAN_DEFAULT); GTK_WIDGET_SET_FLAGS(list_window, GTK_CAN_DEFAULT);
gtk_window_set_title(GTK_WINDOW(list_window), "E Keys Editor"); gtk_window_set_title(GTK_WINDOW(list_window), "E Keys Editor");
bigvbox = gtk_vbox_new(FALSE,0); bigvbox = gtk_vbox_new(FALSE, 0);
gtk_widget_show(bigvbox); gtk_widget_show(bigvbox);
gtk_container_add(GTK_CONTAINER(list_window), bigvbox); gtk_container_add(GTK_CONTAINER(list_window), bigvbox);
@ -571,19 +614,21 @@ create_list_window(void)
GtkWidget *menu; GtkWidget *menu;
GtkWidget *menuitem; GtkWidget *menuitem;
menu = CreateBarSubMenu(menubar,"File"); menu = CreateBarSubMenu(menubar, "File");
menuitem = CreateMenuItem(menu,"Save","","Save Current Data",NULL, menuitem = CreateMenuItem(menu, "Save", "", "Save Current Data", NULL,
"save data"); "save data");
gtk_signal_connect(GTK_OBJECT(menuitem),"activate", gtk_signal_connect(GTK_OBJECT(menuitem), "activate",
GTK_SIGNAL_FUNC(on_save_data),NULL); GTK_SIGNAL_FUNC(on_save_data), NULL);
menuitem = CreateMenuItem(menu,"Save & Quit","", menuitem = CreateMenuItem(menu, "Save & Quit", "",
"Save Current Data & Quit Application",NULL, "save quit"); "Save Current Data & Quit Application", NULL,
gtk_signal_connect(GTK_OBJECT(menuitem),"activate", "save quit");
GTK_SIGNAL_FUNC(on_save_and_exit_application),NULL); gtk_signal_connect(GTK_OBJECT(menuitem), "activate",
menuitem = CreateMenuItem(menu,"Quit","","Quit Without Saving",NULL, GTK_SIGNAL_FUNC(on_save_and_exit_application), NULL);
menuitem =
CreateMenuItem(menu, "Quit", "", "Quit Without Saving", NULL,
"quit program"); "quit program");
gtk_signal_connect(GTK_OBJECT(menuitem),"activate", gtk_signal_connect(GTK_OBJECT(menuitem), "activate",
GTK_SIGNAL_FUNC(on_exit_application),NULL); GTK_SIGNAL_FUNC(on_exit_application), NULL);
} }
@ -591,11 +636,14 @@ create_list_window(void)
GtkWidget *menu; GtkWidget *menu;
GtkWidget *menuitem; GtkWidget *menuitem;
menu = CreateRightAlignBarSubMenu(menubar,"Help"); menu = CreateRightAlignBarSubMenu(menubar, "Help");
menuitem = CreateMenuItem(menu,"About","","About E Keybinding Editor", menuitem =
CreateMenuItem(menu, "About", "", "About E Keybinding Editor",
NULL, "about"); NULL, "about");
menuitem = CreateMenuItem(menu,"Documentation","", menuitem =
"Read the Keybinding Editor Documentation",NULL, "read docs"); CreateMenuItem(menu, "Documentation", "",
"Read the Keybinding Editor Documentation", NULL,
"read docs");
} }
@ -633,7 +681,8 @@ create_list_window(void)
CommsSend("get_keybindings"); CommsSend("get_keybindings");
msg = wait_for_ipc_msg(); msg = wait_for_ipc_msg();
i = 0; i = 0;
while ((buf = get_line(msg, i++))) { while ((buf = get_line(msg, i++)))
{
/* stuff[0] = modifier */ /* stuff[0] = modifier */
/* stuff[1] = key */ /* stuff[1] = key */
/* stuff[2] = action */ /* stuff[2] = action */
@ -648,35 +697,49 @@ create_list_window(void)
if (strlen(buf) < 1) if (strlen(buf) < 1)
break; break;
sscanf(buf, "%1000s", cmd); sscanf(buf, "%1000s", cmd);
sprintf(stuff[1],"%s",cmd); sprintf(stuff[1], "%s", cmd);
sscanf(buf, "%*s %i", &j); sscanf(buf, "%*s %i", &j);
sprintf(stuff[0],"%s",mod_str[j]); sprintf(stuff[0], "%s", mod_str[j]);
sscanf(buf, "%*s %*s %i", &j); sscanf(buf, "%*s %*s %i", &j);
strcpy(stuff[2],""); strcpy(stuff[2], "");
/*sprintf(stuff[2],"%s",actions[j].text); */ /*sprintf(stuff[2],"%s",actions[j].text); */
if (atword(buf, 4)) { if (atword(buf, 4))
sprintf(stuff[3],"%s",atword(buf, 4)); {
} else { sprintf(stuff[3], "%s", atword(buf, 4));
strcpy(stuff[3],"");
} }
for (k = 0; (actions[k].text); k++) { else
if (j == actions[k].id) { {
if (strcmp(stuff[3],"")) { strcpy(stuff[3], "");
if ((j==9) && (!strncmp(stuff[3],"named",5)))
sscanf(stuff[3],"%*s %s",stuff[3]);
if ((actions[k].param_tpe == 0)&&(actions[k].params)) {
if (!strcmp(stuff[3], actions[k].params)) {
sprintf(stuff[2],"%s",actions[k].text);
} }
} else { for (k = 0; (actions[k].text); k++)
sprintf(stuff[2],"%s",actions[k].text); {
if (j == actions[k].id)
{
if (strcmp(stuff[3], ""))
{
if ((j == 9) && (!strncmp(stuff[3], "named", 5)))
sscanf(stuff[3], "%*s %s", stuff[3]);
if ((actions[k].param_tpe == 0)
&& (actions[k].params))
{
if (!strcmp(stuff[3], actions[k].params))
{
sprintf(stuff[2], "%s", actions[k].text);
} }
} else if (!actions[k].params) { }
sprintf(stuff[2],"%s",actions[k].text); else
{
sprintf(stuff[2], "%s", actions[k].text);
}
}
else if (!actions[k].params)
{
sprintf(stuff[2], "%s", actions[k].text);
} }
} }
} }
if(strcmp(stuff[2],"")) { if (strcmp(stuff[2], ""))
{
gtk_clist_append(GTK_CLIST(clist), stuff); gtk_clist_append(GTK_CLIST(clist), stuff);
real_rows++; real_rows++;
} }
@ -690,48 +753,47 @@ create_list_window(void)
} }
vbox = gtk_vbox_new(FALSE,0); vbox = gtk_vbox_new(FALSE, 0);
gtk_widget_show(vbox); gtk_widget_show(vbox);
frames = gtk_frame_new("Edit Keybinding Properties"); frames = gtk_frame_new("Edit Keybinding Properties");
gtk_container_set_border_width(GTK_CONTAINER(frames),2); gtk_container_set_border_width(GTK_CONTAINER(frames), 2);
gtk_widget_show(frames); gtk_widget_show(frames);
gtk_paned_pack2(GTK_PANED(panes),vbox,FALSE,TRUE); gtk_paned_pack2(GTK_PANED(panes), vbox, FALSE, TRUE);
gtk_box_pack_start(GTK_BOX(vbox), frames, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(vbox), frames, TRUE, TRUE, 0);
frame_vbox = gtk_vbox_new(FALSE, 3);
frame_vbox = gtk_vbox_new(FALSE,3);
gtk_widget_show(frame_vbox); gtk_widget_show(frame_vbox);
gtk_container_set_border_width(GTK_CONTAINER(frame_vbox),4); gtk_container_set_border_width(GTK_CONTAINER(frame_vbox), 4);
gtk_container_add(GTK_CONTAINER(frames), frame_vbox); gtk_container_add(GTK_CONTAINER(frames), frame_vbox);
table = gtk_table_new(3, 3, FALSE); table = gtk_table_new(3, 3, FALSE);
gtk_widget_show(table); gtk_widget_show(table);
gtk_table_set_row_spacings(GTK_TABLE(table),3); gtk_table_set_row_spacings(GTK_TABLE(table), 3);
gtk_table_set_col_spacings(GTK_TABLE(table),3); gtk_table_set_col_spacings(GTK_TABLE(table), 3);
gtk_box_pack_start(GTK_BOX(frame_vbox), table, FALSE, FALSE, 2); gtk_box_pack_start(GTK_BOX(frame_vbox), table, FALSE, FALSE, 2);
alignment = gtk_alignment_new(1.0,0.5,0,0); alignment = gtk_alignment_new(1.0, 0.5, 0, 0);
label = gtk_label_new("Key:"); label = gtk_label_new("Key:");
gtk_container_add(GTK_CONTAINER(alignment),label); gtk_container_add(GTK_CONTAINER(alignment), label);
gtk_widget_show(alignment); gtk_widget_show(alignment);
gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_RIGHT); gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_RIGHT);
gtk_widget_show(label); gtk_widget_show(label);
gtk_table_attach(GTK_TABLE(table), alignment, 0, 1, 0, 1, gtk_table_attach(GTK_TABLE(table), alignment, 0, 1, 0, 1,
GTK_FILL, (GtkAttachOptions) (0), 0, 0); GTK_FILL, (GtkAttachOptions) (0), 0, 0);
alignment = gtk_alignment_new(1.0,0.5,0,0); alignment = gtk_alignment_new(1.0, 0.5, 0, 0);
label = gtk_label_new("Modifier:"); label = gtk_label_new("Modifier:");
gtk_container_add(GTK_CONTAINER(alignment),label); gtk_container_add(GTK_CONTAINER(alignment), label);
gtk_widget_show(alignment); gtk_widget_show(alignment);
gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_RIGHT); gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_RIGHT);
gtk_widget_show(label); gtk_widget_show(label);
gtk_table_attach(GTK_TABLE(table), alignment, 0, 1, 1, 2, gtk_table_attach(GTK_TABLE(table), alignment, 0, 1, 1, 2,
GTK_FILL, (GtkAttachOptions) (0), 0, 0); GTK_FILL, (GtkAttachOptions) (0), 0, 0);
alignment = gtk_alignment_new(1.0,0.5,0,0); alignment = gtk_alignment_new(1.0, 0.5, 0, 0);
label = gtk_label_new("Parameters:"); label = gtk_label_new("Parameters:");
gtk_container_add(GTK_CONTAINER(alignment),label); gtk_container_add(GTK_CONTAINER(alignment), label);
gtk_widget_show(alignment); gtk_widget_show(alignment);
gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_RIGHT); gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_RIGHT);
gtk_widget_show(label); gtk_widget_show(label);
@ -749,10 +811,8 @@ create_list_window(void)
gtk_widget_show(button); gtk_widget_show(button);
gtk_table_attach(GTK_TABLE(table), button, 2, 3, 0, 1, gtk_table_attach(GTK_TABLE(table), button, 2, 3, 0, 1,
GTK_EXPAND | GTK_FILL, (GtkAttachOptions) (0), 0, 0); GTK_EXPAND | GTK_FILL, (GtkAttachOptions) (0), 0, 0);
gtk_signal_connect(GTK_OBJECT(button),"clicked", gtk_signal_connect(GTK_OBJECT(button), "clicked",
GTK_SIGNAL_FUNC(e_cb_key_change),NULL); GTK_SIGNAL_FUNC(e_cb_key_change), NULL);
m = gtk_menu_new(); m = gtk_menu_new();
gtk_widget_show(m); gtk_widget_show(m);
@ -764,7 +824,9 @@ create_list_window(void)
gtk_menu_append(GTK_MENU(m), mi); gtk_menu_append(GTK_MENU(m), mi);
{ {
gint i; gint i;
for(i=1;i<21;i++) {
for (i = 1; i < 21; i++)
{
mi = gtk_menu_item_new_with_label(mod_str[i]); mi = gtk_menu_item_new_with_label(mod_str[i]);
gtk_widget_show(mi); gtk_widget_show(mi);
gtk_signal_connect(GTK_OBJECT(mi), "activate", gtk_signal_connect(GTK_OBJECT(mi), "activate",
@ -777,16 +839,16 @@ create_list_window(void)
gtk_widget_show(om); gtk_widget_show(om);
gtk_option_menu_set_menu(GTK_OPTION_MENU(om), m); gtk_option_menu_set_menu(GTK_OPTION_MENU(om), m);
gtk_option_menu_set_history(GTK_OPTION_MENU(om), 0); gtk_option_menu_set_history(GTK_OPTION_MENU(om), 0);
gtk_table_attach(GTK_TABLE(table),om, 1, 3, 1, 2, gtk_table_attach(GTK_TABLE(table), om, 1, 3, 1, 2,
GTK_EXPAND | GTK_FILL, (GtkAttachOptions) (0), 0, 0); GTK_EXPAND | GTK_FILL, (GtkAttachOptions) (0), 0, 0);
act_params = entry = gtk_entry_new_with_max_length(4096); act_params = entry = gtk_entry_new_with_max_length(4096);
gtk_widget_show(entry); gtk_widget_show(entry);
gtk_widget_set_sensitive(entry,FALSE); gtk_widget_set_sensitive(entry, FALSE);
gtk_table_attach(GTK_TABLE(table),entry, 1, 3, 2, 3, gtk_table_attach(GTK_TABLE(table), entry, 1, 3, 2, 3,
GTK_EXPAND | GTK_FILL, (GtkAttachOptions) (0), 0, 0); GTK_EXPAND | GTK_FILL, (GtkAttachOptions) (0), 0, 0);
gtk_signal_connect(GTK_OBJECT(entry),"changed", gtk_signal_connect(GTK_OBJECT(entry), "changed",
GTK_SIGNAL_FUNC(on_change_params),NULL); GTK_SIGNAL_FUNC(on_change_params), NULL);
scrollybit = gtk_scrolled_window_new(NULL, NULL); scrollybit = gtk_scrolled_window_new(NULL, NULL);
gtk_widget_show(scrollybit); gtk_widget_show(scrollybit);
@ -799,21 +861,22 @@ create_list_window(void)
gtk_clist_set_column_title(GTK_CLIST(act_clist), 0, "Action Used:"); gtk_clist_set_column_title(GTK_CLIST(act_clist), 0, "Action Used:");
gtk_clist_column_titles_show(GTK_CLIST(act_clist)); gtk_clist_column_titles_show(GTK_CLIST(act_clist));
gtk_signal_connect(GTK_OBJECT(act_clist), "select_row", gtk_signal_connect(GTK_OBJECT(act_clist), "select_row",
GTK_SIGNAL_FUNC(change_action),NULL); GTK_SIGNAL_FUNC(change_action), NULL);
gtk_container_add(GTK_CONTAINER(scrollybit), act_clist); gtk_container_add(GTK_CONTAINER(scrollybit), act_clist);
{ {
char *stuff[1]; char *stuff[1];
int k; int k;
for(k=0; (actions[k].text); k++) {
for (k = 0; (actions[k].text); k++)
{
stuff[0] = malloc(1024); stuff[0] = malloc(1024);
strcpy(stuff[0],actions[k].text); strcpy(stuff[0], actions[k].text);
gtk_clist_append(GTK_CLIST(act_clist),stuff); gtk_clist_append(GTK_CLIST(act_clist), stuff);
free(stuff[0]); free(stuff[0]);
} }
} }
hbox = gtk_hbox_new(FALSE, 0); hbox = gtk_hbox_new(FALSE, 0);
gtk_widget_show(hbox); gtk_widget_show(hbox);
gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5);
@ -821,28 +884,28 @@ create_list_window(void)
button = gtk_button_new_with_label(" New Keybinding "); button = gtk_button_new_with_label(" New Keybinding ");
gtk_widget_show(button); gtk_widget_show(button);
gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, FALSE, 5); gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, FALSE, 5);
gtk_signal_connect(GTK_OBJECT(button),"clicked", gtk_signal_connect(GTK_OBJECT(button), "clicked",
GTK_SIGNAL_FUNC(on_create_row),NULL); GTK_SIGNAL_FUNC(on_create_row), NULL);
button = gtk_button_new_with_label(" Delete Current Row "); button = gtk_button_new_with_label(" Delete Current Row ");
gtk_widget_show(button); gtk_widget_show(button);
gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, FALSE, 5); gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, FALSE, 5);
gtk_signal_connect(GTK_OBJECT(button),"clicked", gtk_signal_connect(GTK_OBJECT(button), "clicked",
GTK_SIGNAL_FUNC(on_delete_row),NULL); GTK_SIGNAL_FUNC(on_delete_row), NULL);
button = gtk_button_new_with_label(" Save "); button = gtk_button_new_with_label(" Save ");
gtk_widget_show(button); gtk_widget_show(button);
gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, FALSE, 5); gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, FALSE, 5);
gtk_signal_connect(GTK_OBJECT(button),"clicked", gtk_signal_connect(GTK_OBJECT(button), "clicked",
GTK_SIGNAL_FUNC(on_save_data),NULL); GTK_SIGNAL_FUNC(on_save_data), NULL);
button = gtk_button_new_with_label(" Quit "); button = gtk_button_new_with_label(" Quit ");
gtk_widget_show(button); gtk_widget_show(button);
gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, FALSE, 5); gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, FALSE, 5);
gtk_signal_connect(GTK_OBJECT(button),"clicked", gtk_signal_connect(GTK_OBJECT(button), "clicked",
GTK_SIGNAL_FUNC(on_exit_application),NULL); GTK_SIGNAL_FUNC(on_exit_application), NULL);
gtk_clist_select_row(GTK_CLIST(clist),0,0); gtk_clist_select_row(GTK_CLIST(clist), 0, 0);
return list_window; return list_window;
@ -869,7 +932,8 @@ main(int argc, char *argv[])
tooltips = gtk_tooltips_new(); tooltips = gtk_tooltips_new();
accel_group = gtk_accel_group_new(); accel_group = gtk_accel_group_new();
if(!CommsInit(receive_ipc_msg)) { if (!CommsInit(receive_ipc_msg))
{
GtkWidget *win, *label, *align, *frame, *button, *vbox; GtkWidget *win, *label, *align, *frame, *button, *vbox;
win = gtk_window_new(GTK_WINDOW_POPUP); win = gtk_window_new(GTK_WINDOW_POPUP);

View File

@ -1,19 +1,17 @@
GtkWidget *create_list_window(void); GtkWidget *create_list_window(void);
void on_exit_application(GtkWidget * widget, gpointer user_data); void on_exit_application(GtkWidget * widget, gpointer user_data);
void selection_made(GtkWidget *my_clist, gint row, gint column, void selection_made(GtkWidget * my_clist, gint row, gint column,
GdkEventButton *event, gpointer data); GdkEventButton * event, gpointer data);
void on_resort_columns(GtkWidget *widget, gint column, gpointer user_data); void on_resort_columns(GtkWidget * widget, gint column,
gpointer user_data);
void e_cb_modifier(GtkWidget * widget, gpointer data); void e_cb_modifier(GtkWidget * widget, gpointer data);
char *atword(char *s, int num); void change_action(GtkWidget * my_clist, gint row, gint column,
void change_action(GtkWidget *my_clist, gint row, gint column, GdkEventButton * event, gpointer data);
GdkEventButton *event, gpointer data); void on_change_params(GtkWidget * widget, gpointer user_data);
void on_change_params(GtkWidget *widget, gpointer user_data);
void e_cb_key_change(GtkWidget * widget, gpointer data); void e_cb_key_change(GtkWidget * widget, gpointer data);
void on_save_data(GtkWidget *widget, gpointer data); void on_save_data(GtkWidget * widget, gpointer data);
void on_delete_row(GtkWidget * widget, gpointer user_data); void on_delete_row(GtkWidget * widget, gpointer user_data);
void on_create_row(GtkWidget * widget, gpointer user_data); void on_create_row(GtkWidget * widget, gpointer user_data);
GtkTooltips *tooltips; GtkTooltips *tooltips;
GtkAccelGroup *accel_group; GtkAccelGroup *accel_group;