parent
3d19d90015
commit
32863c5634
|
@ -0,0 +1 @@
|
|||
-i3 -bl -bad -nbap -sob -ncdb -di20 -nbc -lp -nce -npcs -sc -ncs -l80
|
104
ipc.c
104
ipc.c
|
@ -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
41
menus.c
|
@ -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
10
menus.h
|
@ -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
436
viewer.c
|
@ -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,¶ms);
|
||||
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, ¶ms);
|
||||
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, ¶msused);
|
||||
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);
|
||||
|
|
18
viewer.h
18
viewer.h
|
@ -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;
|
||||
|
||||
|
|
Loading…
Reference in New Issue