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

41
menus.c
View File

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

10
menus.h
View File

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

View File

@ -1,19 +1,17 @@
GtkWidget *create_list_window(void);
void on_exit_application(GtkWidget * widget, gpointer user_data);
void selection_made(GtkWidget *my_clist, gint row, gint column,
GdkEventButton *event, gpointer data);
void on_resort_columns(GtkWidget *widget, gint column, gpointer user_data);
void selection_made(GtkWidget * my_clist, gint row, gint column,
GdkEventButton * event, gpointer data);
void on_resort_columns(GtkWidget * widget, gint column,
gpointer user_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,
GdkEventButton *event, gpointer data);
void on_change_params(GtkWidget *widget, gpointer user_data);
void change_action(GtkWidget * my_clist, gint row, gint column,
GdkEventButton * event, gpointer data);
void on_change_params(GtkWidget * widget, gpointer user_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_create_row(GtkWidget * widget, gpointer user_data);
GtkTooltips *tooltips;
GtkAccelGroup *accel_group;