6 #include "irc-channels.h"
7 #include "mode-lists.h"
8 #include "gui-windows.h"
11 int do_nothing (char *foo)
18 void display_message (char *message)
21 entry *text, *entries[2];
23 text = create_label (message);
26 list = create_list ("Message", entries);
27 display_object (list);
31 int change_nick (char *nick)
35 if (active_win == NULL) {
39 server = active_win->active_server != NULL ?
40 active_win->active_server : active_win->connect_server;
41 wiitem = active_win->active;
43 signal_emit("command nick", 3, nick, server, wiitem);
49 int show_banlist (char *nothing)
52 IRC_CHANNEL_REC *chan = IRC_CHANNEL(active_win->active);
55 entry *entry, **entries;
60 display_message ("This is not a channel");
64 display_message ("No bans set");
68 size = (unsigned int) g_slist_length (chan->banlist);
69 entries = g_new0 (struct entry *, size + 1);
70 baninfo = g_new0 (GString *, size);
72 for (tmp = chan->banlist, i = 0; tmp; tmp = tmp->next, i++) {
74 baninfo[i] = g_string_new (NULL);
75 g_string_sprintf (baninfo[i], "%s set by %s %d seconds ago", ban->ban, ban->setby, (int)(time(NULL)-ban->time));
76 entry = create_label (baninfo[i]->str);
80 list = create_list ("Bans", entries);
81 display_object (list);
82 for (i = 0; i < size; i++) {
83 g_string_free (baninfo[i], FALSE);
92 int change_nick_form (char *nothing) {
94 entry *question, *answer;
97 form = create_form ("True!");
98 question = create_label ("Enter your new nick");
99 answer = create_field ("", change_nick);
100 attach_entry (form, question);
101 attach_entry (form, answer);
102 display_object (form);
107 int about_list (char *nothing)
111 display_message ("(c) irssi; See http://www.irssi.org.");
118 int home_menu (char *nothing)
120 /* Objects declaration */
122 entry *about, *banlist, *nick;
125 /* Objects initialisation */
126 root_menu = create_menu ("My root menu");
127 banlist = create_menuentry ("Banlist", show_banlist);
128 nick = create_menuentry ("Change nick", change_nick_form);
129 about = create_menuentry ("About", about_list);
132 attach_entry (root_menu, (void *)banlist);
133 attach_entry (root_menu, (void *)nick);
134 attach_entry (root_menu, (void *)about);
136 /* Declare that the object is ready to be displayed and do it */
137 display_object (root_menu);