mirror of
https://github.com/irssi/irssi.git
synced 2024-10-27 05:20:20 -04:00
Remove cuix from trunk.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4560 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
parent
98e3a37d7b
commit
b67f641ac1
13
configure.in
13
configure.in
@ -99,14 +99,6 @@ AC_ARG_WITH(terminfo,
|
|||||||
fi,
|
fi,
|
||||||
want_terminfo=yes)
|
want_terminfo=yes)
|
||||||
|
|
||||||
AC_ARG_WITH(cuix,
|
|
||||||
[ --with-cuix Use curses ui extended (experimental, not usable)],
|
|
||||||
if test x$withval = xyes; then
|
|
||||||
want_terminfo=no
|
|
||||||
want_cuix=yes
|
|
||||||
fi, want_cuix=no)
|
|
||||||
|
|
||||||
|
|
||||||
AC_ARG_WITH(modules,
|
AC_ARG_WITH(modules,
|
||||||
[ --with-modules Specify what modules to build in binary],
|
[ --with-modules Specify what modules to build in binary],
|
||||||
if test x$withval != xyes -a x$withval != xno; then
|
if test x$withval != xyes -a x$withval != xno; then
|
||||||
@ -310,10 +302,6 @@ if test "x$want_socks" = "xyes"; then
|
|||||||
])
|
])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "x$want_cuix" = "xyes"; then
|
|
||||||
AC_DEFINE([HAVE_CUIX], [1] ,[Enable cuix support])
|
|
||||||
fi
|
|
||||||
|
|
||||||
dnl **
|
dnl **
|
||||||
dnl ** fe-text checks
|
dnl ** fe-text checks
|
||||||
dnl **
|
dnl **
|
||||||
@ -676,7 +664,6 @@ AM_CONDITIONAL(HAVE_PERL, test "$want_perl" != "no")
|
|||||||
AM_CONDITIONAL(HAVE_STATIC_PERL, test "$want_perl" = "static")
|
AM_CONDITIONAL(HAVE_STATIC_PERL, test "$want_perl" = "static")
|
||||||
AM_CONDITIONAL(NEED_TPARM, test "$need_tparm" = "yes")
|
AM_CONDITIONAL(NEED_TPARM, test "$need_tparm" = "yes")
|
||||||
AM_CONDITIONAL(USE_CURSES, test "$want_terminfo" != "yes" -a "$want_termcap" != "yes")
|
AM_CONDITIONAL(USE_CURSES, test "$want_terminfo" != "yes" -a "$want_termcap" != "yes")
|
||||||
AM_CONDITIONAL(USE_CUIX, test "$want_cuix" = "yes")
|
|
||||||
|
|
||||||
# move LIBS to PROG_LIBS so they're not tried to be used when linking eg. perl libraries
|
# move LIBS to PROG_LIBS so they're not tried to be used when linking eg. perl libraries
|
||||||
PROG_LIBS=$LIBS
|
PROG_LIBS=$LIBS
|
||||||
|
@ -33,11 +33,6 @@ terminfo_sources = \
|
|||||||
curses_sources = \
|
curses_sources = \
|
||||||
term-curses.c
|
term-curses.c
|
||||||
|
|
||||||
cuix_sources = \
|
|
||||||
cuix-api.c \
|
|
||||||
cuix-lib.c \
|
|
||||||
cuix.c
|
|
||||||
|
|
||||||
if NEED_TPARM
|
if NEED_TPARM
|
||||||
use_tparm_sources = $(tparm_sources)
|
use_tparm_sources = $(tparm_sources)
|
||||||
endif
|
endif
|
||||||
@ -48,13 +43,6 @@ else
|
|||||||
use_term_sources = $(terminfo_sources)
|
use_term_sources = $(terminfo_sources)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if USE_CUIX
|
|
||||||
use_term_sources += $(cuix_sources)
|
|
||||||
irssi_LDADD += -lform -lpanel -lmenu
|
|
||||||
INCLUDES += -I$(top_srcdir)/src/irc/core
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
irssi_SOURCES = \
|
irssi_SOURCES = \
|
||||||
gui-entry.c \
|
gui-entry.c \
|
||||||
gui-expandos.c \
|
gui-expandos.c \
|
||||||
|
@ -1,386 +0,0 @@
|
|||||||
#include "module.h"
|
|
||||||
#include "settings.h"
|
|
||||||
#include "term.h"
|
|
||||||
#include "gui-windows.h"
|
|
||||||
#include <stdarg.h>
|
|
||||||
#if defined(USE_NCURSES) && !defined(RENAMED_NCURSES)
|
|
||||||
# include <ncurses.h>
|
|
||||||
#else
|
|
||||||
# include <curses.h>
|
|
||||||
#endif
|
|
||||||
#include <form.h>
|
|
||||||
#include <panel.h>
|
|
||||||
#include <menu.h>
|
|
||||||
|
|
||||||
|
|
||||||
#include "cuix-api.h"
|
|
||||||
|
|
||||||
#define INIT_ENTRIES 8
|
|
||||||
#define X0_OFFSET 4
|
|
||||||
#define Y0_OFFSET 2
|
|
||||||
#define Y_OFFSET 1
|
|
||||||
#define CUIX_FIELD_WIDTH 16
|
|
||||||
|
|
||||||
object *create_object (char *title, int type, void **entries)
|
|
||||||
{
|
|
||||||
object *obj;
|
|
||||||
void **new_entries;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
obj = g_malloc (sizeof(object));
|
|
||||||
if (!obj) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
obj->type = type;
|
|
||||||
obj->title = title;
|
|
||||||
if (!entries) {
|
|
||||||
new_entries = g_new0 (void *, INIT_ENTRIES);
|
|
||||||
obj->entries = new_entries;
|
|
||||||
obj->alloced = INIT_ENTRIES;
|
|
||||||
obj->last = 0;
|
|
||||||
} else {
|
|
||||||
for (i = 0; ((entry **)entries)[i]; i++);
|
|
||||||
obj->alloced = i;
|
|
||||||
obj->last = i;
|
|
||||||
obj->entries = entries;
|
|
||||||
}
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
object *create_menu (char *title)
|
|
||||||
{
|
|
||||||
return create_object (title, CUIX_MENU, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
object *create_form (char *title)
|
|
||||||
{
|
|
||||||
return create_object (title, CUIX_FORM, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* entries must be NULL terminated */
|
|
||||||
object *create_list (char *title, entry **entries)
|
|
||||||
{
|
|
||||||
return create_object (title, CUIX_LIST, (void **)entries);
|
|
||||||
}
|
|
||||||
|
|
||||||
entry *create_entry (char *label, int type, action_fn_type action)
|
|
||||||
{
|
|
||||||
entry *entry;
|
|
||||||
|
|
||||||
entry = g_malloc (sizeof(object));
|
|
||||||
if (!entry) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
entry->type = type;
|
|
||||||
entry->data = label;
|
|
||||||
entry->action = action;
|
|
||||||
return entry;
|
|
||||||
}
|
|
||||||
|
|
||||||
entry *create_menuentry (char *label, action_fn_type action)
|
|
||||||
{
|
|
||||||
return create_entry (label, CUIX_MENUENTRY, action);
|
|
||||||
}
|
|
||||||
|
|
||||||
entry *create_label (char *label)
|
|
||||||
{
|
|
||||||
return create_entry (label, CUIX_LABEL, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
entry *create_field (char *label, action_fn_type action)
|
|
||||||
{
|
|
||||||
return create_entry (label, CUIX_FIELD, action);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Adds child at the last position of father->entries */
|
|
||||||
void attach_entry (object *father, void *child)
|
|
||||||
{
|
|
||||||
void **entries;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
/* Check that we have enough space in father->entries, otherwise alloc
|
|
||||||
* twice more than previously */
|
|
||||||
if (father->last >= father->alloced) {
|
|
||||||
entries = g_new0 (void *,2 * father->alloced);
|
|
||||||
if (!entries) {
|
|
||||||
fprintf (stderr, "Problem with memory allocation, quitting now...\n");
|
|
||||||
exit (1);
|
|
||||||
}
|
|
||||||
for (i = 0; i < father->alloced; i++) {
|
|
||||||
entries[i] = father->entries[i];
|
|
||||||
}
|
|
||||||
g_free (father->entries);
|
|
||||||
father->entries = entries;
|
|
||||||
father->alloced *= 2;
|
|
||||||
}
|
|
||||||
father->entries[father->last++] = child;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Adds a submenu to father */
|
|
||||||
void attach_submenu (object *father, object *child)
|
|
||||||
{
|
|
||||||
|
|
||||||
/* Check that both are really menus */
|
|
||||||
if (father->type != CUIX_MENU || child->type != CUIX_MENU) {
|
|
||||||
fprintf (stderr, "Typing error, trying to add %p (%d) as child of"
|
|
||||||
"%p (%d)\n", father, father->type, child, child->type);
|
|
||||||
exit (1);
|
|
||||||
}
|
|
||||||
attach_entry (father, (void *)child);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Returns the maximum width occupied by labels */
|
|
||||||
int get_labels_width (object *obj)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
unsigned int w = 0;
|
|
||||||
entry *e;
|
|
||||||
object *o;
|
|
||||||
|
|
||||||
for (i = 0; i < obj->last; i++) {
|
|
||||||
e = (entry *)obj->entries[i];
|
|
||||||
if (e->type == CUIX_LABEL || e->type == CUIX_MENUENTRY) {
|
|
||||||
w = (w > strlen (e->data)) ? w : strlen (e->data);
|
|
||||||
}
|
|
||||||
if (e->type == CUIX_MENU) {
|
|
||||||
o = (object *)obj->entries[i];
|
|
||||||
w = (w > strlen (o->title)) ? w : strlen (o->title);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
w += 2 * X0_OFFSET;
|
|
||||||
return (int)w;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Puts in x and y the coordinates to center an object of size objw and objh
|
|
||||||
* in the window win */
|
|
||||||
void get_center (WINDOW *win, int objh, int objw, int *y, int *x)
|
|
||||||
{
|
|
||||||
int begx, begy, maxx, maxy, w, h;
|
|
||||||
getbegyx (win, begy, begx);
|
|
||||||
getmaxyx (win, maxy, maxx);
|
|
||||||
w = maxx - begx;
|
|
||||||
h = maxy - begy;
|
|
||||||
*x = (w - objw) / 2 + begx;
|
|
||||||
*y = (h - objh) / 2 + begy;
|
|
||||||
if (*x < 0)
|
|
||||||
*x = 0;
|
|
||||||
if (*y < 0)
|
|
||||||
*y = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void display_object (object *obj)
|
|
||||||
{
|
|
||||||
WINDOW *subwin;
|
|
||||||
FORM *form;
|
|
||||||
MENU *menu;
|
|
||||||
FIELD **fields;
|
|
||||||
ITEM **items, *cur_item;
|
|
||||||
object *o;
|
|
||||||
entry *e;
|
|
||||||
char *result;
|
|
||||||
int i, x, y, w, h;
|
|
||||||
int ch;
|
|
||||||
p_main = new_panel(root_window->win);
|
|
||||||
|
|
||||||
if (obj->type >= CUIX_LABEL) {
|
|
||||||
fprintf (stderr, "Trying to display an entry %p (%d), terminating...\n",
|
|
||||||
obj, obj->type);
|
|
||||||
exit (1);
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (obj->type) {
|
|
||||||
case CUIX_LIST:
|
|
||||||
w = get_labels_width (obj);
|
|
||||||
h = Y_OFFSET * obj->last + 2 * Y0_OFFSET;
|
|
||||||
get_center (root_window->win, h, w, &y, &x);
|
|
||||||
cuix_win = newwin (h, w, y, x);
|
|
||||||
box (cuix_win, 0, 0);
|
|
||||||
p_cuix = new_panel(cuix_win);
|
|
||||||
x = X0_OFFSET;
|
|
||||||
y = Y0_OFFSET;
|
|
||||||
|
|
||||||
for (i = 0; i < obj->last; i++) {
|
|
||||||
e = (entry *)obj->entries[i];
|
|
||||||
if (e->type != CUIX_LABEL) {
|
|
||||||
fprintf (stderr, "Non-label entry in a list.\n");
|
|
||||||
exit (1);
|
|
||||||
}
|
|
||||||
wmove (cuix_win,y,x);
|
|
||||||
waddstr (cuix_win,e->data);
|
|
||||||
y += Y_OFFSET;
|
|
||||||
x = X0_OFFSET;
|
|
||||||
}
|
|
||||||
top_panel (p_cuix);
|
|
||||||
update_panels();
|
|
||||||
doupdate();
|
|
||||||
wgetch(cuix_win);
|
|
||||||
/* refresh (); */
|
|
||||||
/* wrefresh (cuix_win); */
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CUIX_FORM:
|
|
||||||
w = get_labels_width (obj);
|
|
||||||
w = (w > CUIX_FIELD_WIDTH + 2 * X0_OFFSET) ?
|
|
||||||
w : CUIX_FIELD_WIDTH + 2 * X0_OFFSET;
|
|
||||||
h = Y_OFFSET * obj->last + 2 * Y0_OFFSET;
|
|
||||||
fields = g_new0 (FIELD *, obj->last + 1);
|
|
||||||
for (i = 0; i < obj->last; i++) {
|
|
||||||
e = (entry *)obj->entries[i];
|
|
||||||
fields[i] = new_field (1, w,
|
|
||||||
Y0_OFFSET + i * Y_OFFSET, X0_OFFSET, 0, 0);
|
|
||||||
if (e->type == CUIX_LABEL) {
|
|
||||||
field_opts_off (fields[i], O_ACTIVE);
|
|
||||||
field_opts_off (fields[i], O_EDIT);
|
|
||||||
set_field_back (fields[i], A_BOLD);
|
|
||||||
}
|
|
||||||
set_field_buffer (fields[i], 0, e->data);
|
|
||||||
}
|
|
||||||
fields[obj->last] = NULL;
|
|
||||||
form = new_form (fields);
|
|
||||||
scale_form (form, &h, &w);
|
|
||||||
h += Y0_OFFSET;
|
|
||||||
w += 2 * X0_OFFSET;
|
|
||||||
get_center (root_window->win, h, w, &y, &x);
|
|
||||||
cuix_win = newwin (h, w, y, x);
|
|
||||||
keypad (cuix_win, TRUE);
|
|
||||||
nonl ();
|
|
||||||
set_form_win (form, cuix_win);
|
|
||||||
set_form_sub (form, derwin(cuix_win, w, h, X0_OFFSET, Y0_OFFSET));
|
|
||||||
post_form (form);
|
|
||||||
box (cuix_win, 0, 0);
|
|
||||||
p_cuix = new_panel (cuix_win);
|
|
||||||
top_panel (p_cuix);
|
|
||||||
while((ch = wgetch(cuix_win)) != '\n' && ch != '\r' && ch != 27 /* ESC */) {
|
|
||||||
switch(ch) {
|
|
||||||
case KEY_DOWN:
|
|
||||||
/* Go to next field */
|
|
||||||
form_driver(form, REQ_NEXT_FIELD);
|
|
||||||
/* Go to the end of the present buffer */
|
|
||||||
/* Leaves nicely at the last character */
|
|
||||||
form_driver(form, REQ_END_LINE);
|
|
||||||
break;
|
|
||||||
case KEY_UP:
|
|
||||||
/* Go to previous field */
|
|
||||||
form_driver(form, REQ_PREV_FIELD);
|
|
||||||
form_driver(form, REQ_END_LINE);
|
|
||||||
break;
|
|
||||||
case KEY_BACKSPACE:
|
|
||||||
form_driver(form, REQ_PREV_CHAR);
|
|
||||||
form_driver(form, REQ_DEL_CHAR);
|
|
||||||
break;
|
|
||||||
case KEY_LEFT:
|
|
||||||
form_driver(form, REQ_PREV_CHAR);
|
|
||||||
break;
|
|
||||||
case KEY_RIGHT:
|
|
||||||
form_driver(form, REQ_NEXT_CHAR);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
/* If this is a normal character, it gets */
|
|
||||||
/* Printed */
|
|
||||||
form_driver(form, ch);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
form_driver (form, REQ_VALIDATION);
|
|
||||||
if (ch != 27) {
|
|
||||||
for (i = 0; i < obj->last; i++) {
|
|
||||||
e = (entry *)obj->entries[i];
|
|
||||||
if (e->type == CUIX_FIELD) {
|
|
||||||
result = field_buffer(fields[i],0);
|
|
||||||
e->action (result);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (i = 0; i < obj->last; i++) {
|
|
||||||
free_field (fields[i]);
|
|
||||||
}
|
|
||||||
g_free (fields);
|
|
||||||
unpost_form (form);
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CUIX_MENU:
|
|
||||||
w = get_labels_width (obj);
|
|
||||||
w = (w > CUIX_FIELD_WIDTH + 2 * X0_OFFSET) ?
|
|
||||||
w : CUIX_FIELD_WIDTH + 2 * X0_OFFSET;
|
|
||||||
h = Y_OFFSET * obj->last + 2 * Y0_OFFSET;
|
|
||||||
items = g_new0 (ITEM *, obj->last + 1);
|
|
||||||
for (i = 0; i < obj->last; i++) {
|
|
||||||
e = (entry *)obj->entries[i];
|
|
||||||
o = (object *)obj->entries[i];
|
|
||||||
if (e->type == CUIX_MENUENTRY) {
|
|
||||||
items[i] = new_item (e->data, "");
|
|
||||||
set_item_userptr (items[i], (void*)e);
|
|
||||||
} else {
|
|
||||||
if (e->type == CUIX_LABEL) {
|
|
||||||
items[i] = new_item (e->data, "");
|
|
||||||
item_opts_off (items[i], O_SELECTABLE);
|
|
||||||
} else {
|
|
||||||
items[i] = new_item (o->title, " (SUB) ");
|
|
||||||
set_item_userptr (items[i], (void*)o);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
items[obj->last] = NULL;
|
|
||||||
menu = new_menu (items);
|
|
||||||
set_menu_mark (menu, " * ");
|
|
||||||
scale_menu (menu, &h, &w);
|
|
||||||
h += 4 * Y0_OFFSET;
|
|
||||||
w += 4 * X0_OFFSET;
|
|
||||||
get_center (root_window->win, h, w, &y, &x);
|
|
||||||
cuix_win = newwin (h, w, y, x);
|
|
||||||
keypad (cuix_win, TRUE);
|
|
||||||
nonl ();
|
|
||||||
set_menu_win (menu, cuix_win);
|
|
||||||
subwin = derwin (cuix_win,
|
|
||||||
h - 2 * Y0_OFFSET, w - 2 * X0_OFFSET, Y0_OFFSET, X0_OFFSET);
|
|
||||||
set_menu_sub (menu, subwin);
|
|
||||||
box (cuix_win, 0, 0);
|
|
||||||
post_menu (menu);
|
|
||||||
p_cuix = new_panel (cuix_win);
|
|
||||||
top_panel (p_cuix);
|
|
||||||
while((ch = wgetch(cuix_win)) != 27 /* ESC */) {
|
|
||||||
switch(ch) {
|
|
||||||
case KEY_DOWN:
|
|
||||||
menu_driver(menu, REQ_DOWN_ITEM);
|
|
||||||
break;
|
|
||||||
case KEY_UP:
|
|
||||||
menu_driver(menu, REQ_UP_ITEM);
|
|
||||||
break;
|
|
||||||
case '\n':
|
|
||||||
case '\r':
|
|
||||||
cur_item = current_item(menu);
|
|
||||||
e = (entry *)item_userptr(cur_item);
|
|
||||||
o = (object *)item_userptr(cur_item);
|
|
||||||
if (e->type == CUIX_MENUENTRY)
|
|
||||||
{
|
|
||||||
e->action ("");
|
|
||||||
} else {
|
|
||||||
display_object (o);
|
|
||||||
}
|
|
||||||
goto end;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
end:
|
|
||||||
for (i = 0; i < obj->last; i++) {
|
|
||||||
free_item (items[i]);
|
|
||||||
}
|
|
||||||
g_free (items);
|
|
||||||
unpost_menu (menu);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,68 +0,0 @@
|
|||||||
#ifndef __CUIX_API_H
|
|
||||||
#define __CUIX_API_H
|
|
||||||
|
|
||||||
#include "term-curses.h"
|
|
||||||
|
|
||||||
#define MAX_FIELD_SIZE 64
|
|
||||||
|
|
||||||
WINDOW *cuix_win;
|
|
||||||
PANEL *p_main;
|
|
||||||
PANEL *p_cuix;
|
|
||||||
|
|
||||||
enum objtype {
|
|
||||||
/* For objects */
|
|
||||||
CUIX_MENU,
|
|
||||||
CUIX_FORM,
|
|
||||||
CUIX_LIST,
|
|
||||||
/* For entries */
|
|
||||||
/* NB: LABEL must stay the first entry, as it is used to test if we have
|
|
||||||
* an object or an entry */
|
|
||||||
CUIX_LABEL,
|
|
||||||
CUIX_FIELD,
|
|
||||||
CUIX_MENUENTRY
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* This is the type of the action to be executed when the entry has been
|
|
||||||
* successfully selected (in case of a menuentry) or filled (in case of a
|
|
||||||
* field). */
|
|
||||||
typedef int(*action_fn_type)(char *);
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct entry {
|
|
||||||
int type;
|
|
||||||
char *data; /* contains label or submenu title */
|
|
||||||
action_fn_type action;
|
|
||||||
} entry;
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct object {
|
|
||||||
int type;
|
|
||||||
char *title;
|
|
||||||
void **entries;
|
|
||||||
int alloced; /* defines the current size of entries */
|
|
||||||
int last; /* index of the first non-alloced entry */
|
|
||||||
} object;
|
|
||||||
|
|
||||||
|
|
||||||
/* Object definitions */
|
|
||||||
|
|
||||||
object *create_menu (char *title);
|
|
||||||
object *create_form (char *title);
|
|
||||||
/* entries must be NULL terminated */
|
|
||||||
object *create_list (char *title, entry **entries);
|
|
||||||
|
|
||||||
|
|
||||||
entry *create_menuentry (char *label, action_fn_type action);
|
|
||||||
entry *create_label (char *label);
|
|
||||||
entry *create_field (char *label, action_fn_type action);
|
|
||||||
|
|
||||||
void attach_submenu (object *father, object *child);
|
|
||||||
void attach_entry (object *father, void *child);
|
|
||||||
|
|
||||||
void display_object (object *obj);
|
|
||||||
|
|
||||||
void my_menu(void);
|
|
||||||
|
|
||||||
#endif /* __CUIX_API_H */
|
|
@ -1,139 +0,0 @@
|
|||||||
#include "module.h"
|
|
||||||
#include "settings.h"
|
|
||||||
#include "cuix-lib.h"
|
|
||||||
#include "signals.h"
|
|
||||||
#include "irc.h"
|
|
||||||
#include "irc-channels.h"
|
|
||||||
#include "mode-lists.h"
|
|
||||||
#include "gui-windows.h"
|
|
||||||
|
|
||||||
|
|
||||||
int do_nothing (char *foo)
|
|
||||||
{
|
|
||||||
(void)foo;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void display_message (char *message)
|
|
||||||
{
|
|
||||||
object *list;
|
|
||||||
entry *text, *entries[2];
|
|
||||||
|
|
||||||
text = create_label (message);
|
|
||||||
entries[0] = text;
|
|
||||||
entries[1] = NULL;
|
|
||||||
list = create_list ("Message", entries);
|
|
||||||
display_object (list);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int change_nick (char *nick)
|
|
||||||
{
|
|
||||||
SERVER_REC *server;
|
|
||||||
WI_ITEM_REC *wiitem;
|
|
||||||
if (active_win == NULL) {
|
|
||||||
server = NULL;
|
|
||||||
wiitem = NULL;
|
|
||||||
} else {
|
|
||||||
server = active_win->active_server != NULL ?
|
|
||||||
active_win->active_server : active_win->connect_server;
|
|
||||||
wiitem = active_win->active;
|
|
||||||
}
|
|
||||||
signal_emit("command nick", 3, nick, server, wiitem);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int show_banlist (char *nothing)
|
|
||||||
{
|
|
||||||
GSList *tmp;
|
|
||||||
IRC_CHANNEL_REC *chan = IRC_CHANNEL(active_win->active);
|
|
||||||
BAN_REC *ban;
|
|
||||||
object *list;
|
|
||||||
entry *entry, **entries;
|
|
||||||
unsigned int size, i;
|
|
||||||
GString **baninfo;
|
|
||||||
|
|
||||||
if (!chan) {
|
|
||||||
display_message ("This is not a channel");
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
if (!chan->banlist) {
|
|
||||||
display_message ("No bans set");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
size = (unsigned int) g_slist_length (chan->banlist);
|
|
||||||
entries = g_new0 (struct entry *, size + 1);
|
|
||||||
baninfo = g_new0 (GString *, size);
|
|
||||||
|
|
||||||
for (tmp = chan->banlist, i = 0; tmp; tmp = tmp->next, i++) {
|
|
||||||
ban = tmp->data;
|
|
||||||
baninfo[i] = g_string_new (NULL);
|
|
||||||
g_string_sprintf (baninfo[i], "%s set by %s %d seconds ago", ban->ban, ban->setby, (int)(time(NULL)-ban->time));
|
|
||||||
entry = create_label (baninfo[i]->str);
|
|
||||||
entries[i] = entry;
|
|
||||||
}
|
|
||||||
|
|
||||||
list = create_list ("Bans", entries);
|
|
||||||
display_object (list);
|
|
||||||
for (i = 0; i < size; i++) {
|
|
||||||
g_string_free (baninfo[i], FALSE);
|
|
||||||
}
|
|
||||||
g_free (entries);
|
|
||||||
g_free (baninfo);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int change_nick_form (char *nothing) {
|
|
||||||
object *form;
|
|
||||||
entry *question, *answer;
|
|
||||||
(void)nothing;
|
|
||||||
|
|
||||||
form = create_form ("True!");
|
|
||||||
question = create_label ("Enter your new nick");
|
|
||||||
answer = create_field ("", change_nick);
|
|
||||||
attach_entry (form, question);
|
|
||||||
attach_entry (form, answer);
|
|
||||||
display_object (form);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int about_list (char *nothing)
|
|
||||||
{
|
|
||||||
(void)nothing;
|
|
||||||
|
|
||||||
display_message ("(c) irssi; See http://www.irssi.org.");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int home_menu (char *nothing)
|
|
||||||
{
|
|
||||||
/* Objects declaration */
|
|
||||||
object *root_menu;
|
|
||||||
entry *about, *banlist, *nick;
|
|
||||||
(void)nothing;
|
|
||||||
|
|
||||||
/* Objects initialisation */
|
|
||||||
root_menu = create_menu ("My root menu");
|
|
||||||
banlist = create_menuentry ("Banlist", show_banlist);
|
|
||||||
nick = create_menuentry ("Change nick", change_nick_form);
|
|
||||||
about = create_menuentry ("About", about_list);
|
|
||||||
|
|
||||||
/* Layout */
|
|
||||||
attach_entry (root_menu, (void *)banlist);
|
|
||||||
attach_entry (root_menu, (void *)nick);
|
|
||||||
attach_entry (root_menu, (void *)about);
|
|
||||||
|
|
||||||
/* Declare that the object is ready to be displayed and do it */
|
|
||||||
display_object (root_menu);
|
|
||||||
return 0;
|
|
||||||
}
|
|
@ -1,9 +0,0 @@
|
|||||||
#ifndef __CUIX_LIB_H
|
|
||||||
#define __CUIX_LIB_H
|
|
||||||
|
|
||||||
#include "cuix-api.h"
|
|
||||||
|
|
||||||
int home_menu (char *);
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* __CUIX_LIB_H */
|
|
@ -1,39 +0,0 @@
|
|||||||
#include "module.h"
|
|
||||||
#include "settings.h"
|
|
||||||
#include "cuix-api.h"
|
|
||||||
#include "cuix-lib.h"
|
|
||||||
#include "cuix.h"
|
|
||||||
#include "term.h"
|
|
||||||
#if defined(USE_NCURSES) && !defined(RENAMED_NCURSES)
|
|
||||||
# include <ncurses.h>
|
|
||||||
#else
|
|
||||||
# include <curses.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
void cuix_destroy (void)
|
|
||||||
{
|
|
||||||
if (cuix_win) {
|
|
||||||
del_panel (p_cuix);
|
|
||||||
delwin(cuix_win);
|
|
||||||
}
|
|
||||||
cuix_win = NULL;
|
|
||||||
cuix_active = 0;
|
|
||||||
update_panels ();
|
|
||||||
doupdate();
|
|
||||||
term_refresh (root_window);
|
|
||||||
irssi_redraw ();
|
|
||||||
}
|
|
||||||
|
|
||||||
void cuix_create(void)
|
|
||||||
{
|
|
||||||
home_menu (NULL);
|
|
||||||
cuix_destroy ();
|
|
||||||
}
|
|
||||||
|
|
||||||
void cuix_refresh (void)
|
|
||||||
{
|
|
||||||
update_panels ();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
|||||||
#ifndef __CUIX_TRY_H
|
|
||||||
#define __CUIX_TRY_H
|
|
||||||
|
|
||||||
int cuix_active;
|
|
||||||
|
|
||||||
void cuix_create (void);
|
|
||||||
void cuix_destroy (void);
|
|
||||||
void cuix_refresh (void);
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* __CUIX_TRY_H */
|
|
@ -28,9 +28,6 @@
|
|||||||
#include "term.h"
|
#include "term.h"
|
||||||
#include "gui-printtext.h"
|
#include "gui-printtext.h"
|
||||||
#include "gui-windows.h"
|
#include "gui-windows.h"
|
||||||
#ifdef HAVE_CUIX
|
|
||||||
#include "cuix.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int mirc_colors[] = { 15, 0, 1, 2, 12, 4, 5, 6, 14, 10, 3, 11, 9, 13, 8, 7 };
|
int mirc_colors[] = { 15, 0, 1, 2, 12, 4, 5, 6, 14, 10, 3, 11, 9, 13, 8, 7 };
|
||||||
static int scrollback_lines, scrollback_time, scrollback_burst_remove;
|
static int scrollback_lines, scrollback_time, scrollback_burst_remove;
|
||||||
@ -284,9 +281,6 @@ static void sig_gui_print_text(WINDOW_REC *window, void *fgcolor,
|
|||||||
}
|
}
|
||||||
if (gui->use_insert_after)
|
if (gui->use_insert_after)
|
||||||
gui->insert_after = insert_after;
|
gui->insert_after = insert_after;
|
||||||
#ifdef HAVE_CUIX
|
|
||||||
cuix_refresh ();
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sig_gui_printtext_finished(WINDOW_REC *window)
|
static void sig_gui_printtext_finished(WINDOW_REC *window)
|
||||||
|
@ -23,9 +23,6 @@
|
|||||||
|
|
||||||
#include "term.h"
|
#include "term.h"
|
||||||
#include "mainwindows.h"
|
#include "mainwindows.h"
|
||||||
#ifdef HAVE_CUIX
|
|
||||||
#include "cuix.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "term-curses.h"
|
#include "term-curses.h"
|
||||||
|
|
||||||
@ -352,26 +349,14 @@ void term_refresh_thaw(void)
|
|||||||
|
|
||||||
void term_refresh(TERM_WINDOW *window)
|
void term_refresh(TERM_WINDOW *window)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_CUIX
|
|
||||||
if (!cuix_active) {
|
|
||||||
#endif
|
|
||||||
if (window != NULL)
|
if (window != NULL)
|
||||||
wnoutrefresh(window->win);
|
wnoutrefresh(window->win);
|
||||||
|
|
||||||
if (freeze_refresh == 0) {
|
if (freeze_refresh == 0) {
|
||||||
move(curs_y, curs_x);
|
move(curs_y, curs_x);
|
||||||
wnoutrefresh(stdscr);
|
wnoutrefresh(stdscr);
|
||||||
#ifdef HAVE_CUIX
|
|
||||||
cuix_refresh ();
|
|
||||||
#endif
|
|
||||||
doupdate();
|
doupdate();
|
||||||
}
|
}
|
||||||
#ifdef HAVE_CUIX
|
|
||||||
} else {
|
|
||||||
update_panels ();
|
|
||||||
doupdate ();
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void term_stop(void)
|
void term_stop(void)
|
||||||
|
@ -4,11 +4,6 @@
|
|||||||
# include <curses.h>
|
# include <curses.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_CUIX
|
|
||||||
#include <form.h>
|
|
||||||
#include <panel.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
struct _TERM_WINDOW {
|
struct _TERM_WINDOW {
|
||||||
int x, y;
|
int x, y;
|
||||||
int width, height;
|
int width, height;
|
||||||
|
@ -30,9 +30,6 @@
|
|||||||
#include "printtext.h"
|
#include "printtext.h"
|
||||||
#include "gui-windows.h"
|
#include "gui-windows.h"
|
||||||
#include "textbuffer-reformat.h"
|
#include "textbuffer-reformat.h"
|
||||||
#ifdef HAVE_CUIX
|
|
||||||
#include "cuix.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* SYNTAX: CLEAR [-all] [<refnum>] */
|
/* SYNTAX: CLEAR [-all] [<refnum>] */
|
||||||
static void cmd_clear(const char *data)
|
static void cmd_clear(const char *data)
|
||||||
@ -372,23 +369,6 @@ static void sig_away_changed(SERVER_REC *server)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_CUIX
|
|
||||||
static void cmd_cuix(void)
|
|
||||||
{
|
|
||||||
if (!cuix_active)
|
|
||||||
{
|
|
||||||
/* textbuffer_view_clear(WINDOW_GUI(active_win)->view); */
|
|
||||||
cuix_active = 1;
|
|
||||||
cuix_create();
|
|
||||||
} else {
|
|
||||||
/* should never been called */
|
|
||||||
/* cuix_destroy (); */
|
|
||||||
cuix_active = 0;
|
|
||||||
/* textbuffer_view_clear(WINDOW_GUI(active_win)->view); */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void textbuffer_commands_init(void)
|
void textbuffer_commands_init(void)
|
||||||
{
|
{
|
||||||
settings_add_level("misc", "scrollback_levelclear_levels", "crap clientcrap");
|
settings_add_level("misc", "scrollback_levelclear_levels", "crap clientcrap");
|
||||||
@ -402,9 +382,6 @@ void textbuffer_commands_init(void)
|
|||||||
command_bind("scrollback end", NULL, (SIGNAL_FUNC) cmd_scrollback_end);
|
command_bind("scrollback end", NULL, (SIGNAL_FUNC) cmd_scrollback_end);
|
||||||
command_bind("scrollback redraw", NULL, (SIGNAL_FUNC) cmd_scrollback_redraw);
|
command_bind("scrollback redraw", NULL, (SIGNAL_FUNC) cmd_scrollback_redraw);
|
||||||
command_bind("scrollback status", NULL, (SIGNAL_FUNC) cmd_scrollback_status);
|
command_bind("scrollback status", NULL, (SIGNAL_FUNC) cmd_scrollback_status);
|
||||||
#ifdef HAVE_CUIX
|
|
||||||
command_bind("cuix", NULL, (SIGNAL_FUNC) cmd_cuix);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
command_set_options("clear", "all");
|
command_set_options("clear", "all");
|
||||||
command_set_options("scrollback clear", "all");
|
command_set_options("scrollback clear", "all");
|
||||||
@ -425,9 +402,6 @@ void textbuffer_commands_deinit(void)
|
|||||||
command_unbind("scrollback end", (SIGNAL_FUNC) cmd_scrollback_end);
|
command_unbind("scrollback end", (SIGNAL_FUNC) cmd_scrollback_end);
|
||||||
command_unbind("scrollback redraw", (SIGNAL_FUNC) cmd_scrollback_redraw);
|
command_unbind("scrollback redraw", (SIGNAL_FUNC) cmd_scrollback_redraw);
|
||||||
command_unbind("scrollback status", (SIGNAL_FUNC) cmd_scrollback_status);
|
command_unbind("scrollback status", (SIGNAL_FUNC) cmd_scrollback_status);
|
||||||
#ifdef HAVE_CUIX
|
|
||||||
command_unbind("cuix", (SIGNAL_FUNC) cmd_cuix);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
signal_remove("away mode changed", (SIGNAL_FUNC) sig_away_changed);
|
signal_remove("away mode changed", (SIGNAL_FUNC) sig_away_changed);
|
||||||
}
|
}
|
||||||
|
@ -23,9 +23,6 @@
|
|||||||
#include "module.h"
|
#include "module.h"
|
||||||
#include "textbuffer-view.h"
|
#include "textbuffer-view.h"
|
||||||
#include "utf8.h"
|
#include "utf8.h"
|
||||||
#ifdef HAVE_CUIX
|
|
||||||
#include "cuix.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
char *name;
|
char *name;
|
||||||
@ -1336,9 +1333,6 @@ static int sig_check_linecache(void)
|
|||||||
void textbuffer_view_init(void)
|
void textbuffer_view_init(void)
|
||||||
{
|
{
|
||||||
linecache_tag = g_timeout_add(LINE_CACHE_CHECK_TIME, (GSourceFunc) sig_check_linecache, NULL);
|
linecache_tag = g_timeout_add(LINE_CACHE_CHECK_TIME, (GSourceFunc) sig_check_linecache, NULL);
|
||||||
#ifdef HAVE_CUIX
|
|
||||||
cuix_active = 0;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void textbuffer_view_deinit(void)
|
void textbuffer_view_deinit(void)
|
||||||
|
Loading…
Reference in New Issue
Block a user