- Removed Quit button code
- Added Quit menu entry - Added menu removal on quit (to avoid memory access violations) - Removed recently added opening of setup window on close of main window
This commit is contained in:
parent
0c4f7bed8f
commit
9d84a484d0
1 changed files with 6 additions and 15 deletions
|
@ -30,7 +30,7 @@
|
||||||
*
|
*
|
||||||
* Author: Adam Dunkels <adam@sics.se>
|
* Author: Adam Dunkels <adam@sics.se>
|
||||||
*
|
*
|
||||||
* $Id: irc.c,v 1.8 2008/11/06 08:31:01 adamdunkels Exp $
|
* $Id: irc.c,v 1.9 2008/11/06 20:48:08 oliverschmidt Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
@ -63,7 +63,7 @@ PROCESS(irc_process, "IRC client");
|
||||||
AUTOSTART_PROCESSES(&irc_process);
|
AUTOSTART_PROCESSES(&irc_process);
|
||||||
|
|
||||||
static struct ctk_menu menu;
|
static struct ctk_menu menu;
|
||||||
unsigned char menuitem_setup;
|
unsigned char menuitem_setup, menuitem_quit;
|
||||||
|
|
||||||
static struct ctk_window window;
|
static struct ctk_window window;
|
||||||
static char log[LOG_WIDTH * LOG_HEIGHT];
|
static char log[LOG_WIDTH * LOG_HEIGHT];
|
||||||
|
@ -94,8 +94,6 @@ static struct ctk_textentry nickentry =
|
||||||
|
|
||||||
static struct ctk_button connectbutton =
|
static struct ctk_button connectbutton =
|
||||||
{CTK_BUTTON(0, 7, 7, "Connect")};
|
{CTK_BUTTON(0, 7, 7, "Connect")};
|
||||||
static struct ctk_button quitbutton =
|
|
||||||
{CTK_BUTTON(12, 7, 4, "Quit")};
|
|
||||||
|
|
||||||
/*static char nick[] = "asdf";
|
/*static char nick[] = "asdf";
|
||||||
static char server[] = "efnet.demon.co.uk";*/
|
static char server[] = "efnet.demon.co.uk";*/
|
||||||
|
@ -108,6 +106,7 @@ quit(void)
|
||||||
{
|
{
|
||||||
ctk_window_close(&window);
|
ctk_window_close(&window);
|
||||||
ctk_window_close(&setupwindow);
|
ctk_window_close(&setupwindow);
|
||||||
|
ctk_menu_remove(&menu);
|
||||||
process_exit(&irc_process);
|
process_exit(&irc_process);
|
||||||
LOADER_UNLOAD();
|
LOADER_UNLOAD();
|
||||||
}
|
}
|
||||||
|
@ -188,7 +187,6 @@ parse_line(void)
|
||||||
ircc_msg(&s, &line[0]);
|
ircc_msg(&s, &line[0]);
|
||||||
ircc_text_output(&s, nick, line);
|
ircc_text_output(&s, nick, line);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
void
|
void
|
||||||
|
@ -223,7 +221,6 @@ PROCESS_THREAD(irc_process, ev, data)
|
||||||
CTK_WIDGET_ADD(&setupwindow, &nicklabel);
|
CTK_WIDGET_ADD(&setupwindow, &nicklabel);
|
||||||
CTK_WIDGET_ADD(&setupwindow, &nickentry);
|
CTK_WIDGET_ADD(&setupwindow, &nickentry);
|
||||||
CTK_WIDGET_ADD(&setupwindow, &connectbutton);
|
CTK_WIDGET_ADD(&setupwindow, &connectbutton);
|
||||||
/* CTK_WIDGET_ADD(&setupwindow, &quitbutton);*/
|
|
||||||
|
|
||||||
CTK_WIDGET_FOCUS(&setupwindow, &serverentry);
|
CTK_WIDGET_FOCUS(&setupwindow, &serverentry);
|
||||||
|
|
||||||
|
@ -231,6 +228,7 @@ PROCESS_THREAD(irc_process, ev, data)
|
||||||
|
|
||||||
ctk_menu_new(&menu, "IRC");
|
ctk_menu_new(&menu, "IRC");
|
||||||
menuitem_setup = ctk_menuitem_add(&menu, "Setup");
|
menuitem_setup = ctk_menuitem_add(&menu, "Setup");
|
||||||
|
menuitem_quit = ctk_menuitem_add(&menu, "Quit");
|
||||||
ctk_menu_add(&menu);
|
ctk_menu_add(&menu);
|
||||||
|
|
||||||
while(1) {
|
while(1) {
|
||||||
|
@ -238,20 +236,11 @@ PROCESS_THREAD(irc_process, ev, data)
|
||||||
|
|
||||||
if(ev == PROCESS_EVENT_EXIT) {
|
if(ev == PROCESS_EVENT_EXIT) {
|
||||||
quit();
|
quit();
|
||||||
#if CTK_CONF_WINDOWCLOSE
|
|
||||||
} else if(ev == ctk_signal_window_close) {
|
|
||||||
if(data == &window) {
|
|
||||||
/* quit();*/
|
|
||||||
ctk_window_open(&setupwindow);
|
|
||||||
}
|
|
||||||
#endif /* CTK_CONF_WINDOWCLOSE */
|
|
||||||
} else if(ev == tcpip_event) {
|
} else if(ev == tcpip_event) {
|
||||||
ircc_appcall(data);
|
ircc_appcall(data);
|
||||||
} else if(ev == ctk_signal_widget_activate) {
|
} else if(ev == ctk_signal_widget_activate) {
|
||||||
if(data == (process_data_t)&lineedit) {
|
if(data == (process_data_t)&lineedit) {
|
||||||
parse_line();
|
parse_line();
|
||||||
} else if(data == (process_data_t)&quitbutton) {
|
|
||||||
quit();
|
|
||||||
} else if(data == (process_data_t)&connectbutton) {
|
} else if(data == (process_data_t)&connectbutton) {
|
||||||
ctk_window_close(&setupwindow);
|
ctk_window_close(&setupwindow);
|
||||||
ctk_window_open(&window);
|
ctk_window_open(&window);
|
||||||
|
@ -296,6 +285,8 @@ PROCESS_THREAD(irc_process, ev, data)
|
||||||
if((struct ctk_menu *)data == &menu) {
|
if((struct ctk_menu *)data == &menu) {
|
||||||
if(menu.active == menuitem_setup) {
|
if(menu.active == menuitem_setup) {
|
||||||
ctk_window_open(&setupwindow);
|
ctk_window_open(&setupwindow);
|
||||||
|
} else if(menu.active == menuitem_quit) {
|
||||||
|
quit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue