Skip to content

Commit

Permalink
cleaned up the rest of the files
Browse files Browse the repository at this point in the history
  • Loading branch information
TragicWarrior committed Sep 18, 2017
1 parent c548eeb commit 1a4586f
Show file tree
Hide file tree
Showing 32 changed files with 2,058 additions and 1,998 deletions.
435 changes: 223 additions & 212 deletions viper.h

Large diffs are not rendered by default.

64 changes: 32 additions & 32 deletions viper_filedlg.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,55 +14,55 @@

typedef struct
{
gchar filename[NAME_MAX+1];
gchar filepath[NAME_MAX+1];
mode_t mode;
off_t size;
time_t ctime;
gchar filename[NAME_MAX + 1];
gchar filepath[NAME_MAX + 1];
mode_t mode;
off_t size;
time_t ctime;
}
VIPER_FSTATS;

typedef struct
{
WINDOW *parent;
WINDOW *file_win;
MENU *file_menu;
GSList *fstats_list;
gchar **items;
WINDOW *path_win;
FORM *path_form;
WINDOW *ctrl_win;
MENU *ctrl_menu;
gint32 flags;
WINDOW *parent;
WINDOW *file_win;
MENU *file_menu;
GSList *fstats_list;
gchar **items;
WINDOW *path_win;
FORM *path_form;
WINDOW *ctrl_win;
MENU *ctrl_menu;
gint32 flags;
}
VIPER_FILEDLG;

#ifndef S_IFDIR
#define S_IFDIR 0040000
#define S_IFDIR 0040000
#endif

#define FIELD_WIDTH_SIZE 7
#define FIELD_WIDTH_CTIME 20
#define FIELD_WIDTH_PRIV 11
#define FIELD_WIDTH_SIZE 7
#define FIELD_WIDTH_CTIME 20
#define FIELD_WIDTH_PRIV 11

/* default kbd handlers */
gint viper_kbd_default_FILEDLG_MENU(gint32 keystroke,WINDOW *window);
gint viper_kbd_default_FILEDLG_BUTTONS(gint32 keystroke,WINDOW *window);
gint viper_kbd_default_FILEDLG_PATH(gint32 keystroke,WINDOW *window);
/* default kbd handlers */
gint viper_kbd_default_FILEDLG_MENU(gint32 keystroke, WINDOW *window);
gint viper_kbd_default_FILEDLG_BUTTONS(gint32 keystroke, WINDOW *window);
gint viper_kbd_default_FILEDLG_PATH(gint32 keystroke, WINDOW *window);

/* event handlers */
gint viper_filedlg_ON_MOVE(WINDOW *window,gpointer arg);
gint viper_filedlg_ON_CLOSE(WINDOW *window,gpointer arg);
gint viper_filedlg_ON_MOVE(WINDOW *window, gpointer arg);
gint viper_filedlg_ON_CLOSE(WINDOW *window, gpointer arg);

/* file helpers */
GSList* filedlg_readdir(gchar *dir,gint32 flags);
gchar** filedlg_format_items(GSList *fstats_list,gint32 flags,gint width);
void filedlg_field_size(off_t size,gchar *buffer);
void filedlg_field_ctime(time_t ctime,gchar *buffer);
void filedlg_field_permissions(mode_t mode,gchar *buffer);
GSList* filedlg_readdir(gchar *dir,gint32 flags);
gchar** filedlg_format_items(GSList *fstats_list,gint32 flags,gint width);
void filedlg_field_size(off_t size, gchar *buffer);
void filedlg_field_ctime(time_t ctime, gchar *buffer);
void filedlg_field_permissions(mode_t mode, gchar *buffer);

/* house-keeping functions */
void g_slist_free_data(gpointer data,gpointer anything);
gint g_slist_sort_func(gconstpointer a,gconstpointer b);
void g_slist_free_data(gpointer data, gpointer anything);
gint g_slist_sort_func(gconstpointer a, gconstpointer b);

#endif
194 changes: 92 additions & 102 deletions viper_forms.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,128 +19,118 @@

#include "viper.h"

/* void viper_form_field_highlight(FORM *form,chtype normal,chtype selected)
gint
viper_form_driver(FORM *form, gint request, guint32 flags,
chtype active, chtype normal, gshort cursor_color)
{
FIELD *field_new;
static FIELD *field_old=NULL;
field_new=current_field(form);
if(field_new!=field_old)
{
set_field_back(field_new,selected);
if(field_old!=NULL) set_field_back(field_old,normal);
field_old=field_new;
}
return;
} */
WINDOW *window;
chtype eraser;
chtype temp_ch;
gint x, y;
gint retval;
gshort fg, bg;

gint viper_form_driver(FORM *form,gint request,guint32 flags,
chtype active,chtype normal,gshort cursor_color)
{
WINDOW *window;
chtype eraser;
chtype temp_ch;
gint x,y;
gint retval;
gshort fg,bg;

if(form==NULL) return ERR;

if(form_sub(form)!=form_win(form)) window=form_sub(form);
else window=form_win(form);

getyx(window,y,x);
eraser=field_back(current_field(form));
mvwchgat(window,y,x,1,(eraser & A_ATTRIBUTES),
PAIR_NUMBER(eraser & A_COLOR),NULL);

retval=form_driver(form,request);

if(flags & FORM_COLORIZE)
viper_form_colorize(form,active,normal,active,normal);

if(flags & FORM_CURSOR_NONE) return retval;

temp_ch=termattrs();
if((flags & FORM_CURSOR_ULINE) && !(temp_ch & A_UNDERLINE)) return ERR;

getyx(window,y,x);
temp_ch=field_fore(current_field(form));
if(flags & FORM_CURSOR_ULINE)
mvwchgat(window,y,x,1,(temp_ch & A_ATTRIBUTES) | A_UNDERLINE,
PAIR_NUMBER(temp_ch & A_COLOR),NULL);
else
{
pair_content(PAIR_NUMBER(temp_ch & A_COLOR),&fg,&bg);
if(cursor_color!=-1)
{
bg=cursor_color;
mvwchgat(window,y,x,1,A_NORMAL,viper_color_pair(fg,bg),NULL);
}
else mvwchgat(window,y,x,1,A_REVERSE,viper_color_pair(fg,bg),NULL);
}

return E_OK;
if(form == NULL) return ERR;

if(form_sub(form) != form_win(form)) window = form_sub(form);
else window = form_win(form);

getyx(window, y, x);
eraser = field_back(current_field(form));
mvwchgat(window, y, x, 1, (eraser & A_ATTRIBUTES),
PAIR_NUMBER(eraser & A_COLOR), NULL);

retval = form_driver(form, request);

if(flags & FORM_COLORIZE)
viper_form_colorize(form, active, normal, active, normal);

if(flags & FORM_CURSOR_NONE) return retval;

temp_ch = termattrs();
if((flags & FORM_CURSOR_ULINE) && !(temp_ch & A_UNDERLINE)) return ERR;

getyx(window, y, x);
temp_ch = field_fore(current_field(form));
if(flags & FORM_CURSOR_ULINE)
mvwchgat(window, y, x, 1, (temp_ch & A_ATTRIBUTES) | A_UNDERLINE,
PAIR_NUMBER(temp_ch & A_COLOR),NULL);
else
{
pair_content(PAIR_NUMBER(temp_ch & A_COLOR), &fg, &bg);
if(cursor_color!=-1)
{
bg = cursor_color;
mvwchgat(window, y, x, 1, A_NORMAL,
viper_color_pair(fg, bg), NULL);
}
else
mvwchgat(window, y, x, 1, A_REVERSE,
viper_color_pair(fg, bg), NULL);
}

return E_OK;
}

void viper_form_colorize(FORM *form,chtype field_active,chtype field_normal,
chtype text_active,chtype text_normal)
void
viper_form_colorize(FORM *form, chtype field_active, chtype field_normal,
chtype text_active, chtype text_normal)
{
FIELD **fields;

fields=form_fields(form);
while(*fields!=NULL)
{
if(*fields==current_field(form))
{
set_field_fore(*fields,text_active);
set_field_back(*fields,field_active);
}
else
{
set_field_fore(*fields,text_normal);
set_field_back(*fields,field_normal);
}
fields++;
}

return;
FIELD **fields;

fields = form_fields(form);
while(*fields != NULL)
{
if(*fields == current_field(form))
{
set_field_fore(*fields, text_active);
set_field_back(*fields, field_active);
}
else
{
set_field_fore(*fields, text_normal);
set_field_back(*fields, field_normal);
}

fields++;
}

return;
}

void viper_form_destroy(FORM *form,gboolean free_windows)
void
viper_form_destroy(FORM *form, gboolean free_windows)
{
WINDOW *parent;
WINDOW *parent;
WINDOW *window;
WINDOW *subwin;
FIELD **fields;
gint count;
FIELD **fields;
gint count;

unpost_form(form);
window=form_win(form);
subwin=form_sub(form);
parent=window->_parent;
count=field_count(form);
fields=form_fields(form);

window = form_win(form);
subwin = form_sub(form);
parent = window->_parent;

count = field_count(form);
fields = form_fields(form);
free_form(form);
while(count>0)

while(count > 0)
{
free_field(fields[count-1]);
count--;
}
g_free(fields);

if(free_windows==FALSE) return;
if(free_windows == FALSE) return;

/* delete subwin if it is completely independent. */
if(subwin!=parent && subwin!=window && subwin!=NULL) delwin(subwin);
if(subwin != parent && subwin != window && subwin != NULL) delwin(subwin);

/* delete window if it is not the parent window. */
if(parent!=NULL && window!=parent && window!=NULL) delwin(window);
if(parent != NULL && window != parent && window != NULL) delwin(window);

return;
}
12 changes: 6 additions & 6 deletions viper_gpm.def
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
/*
x-macro used to translated Gpm_Event data structures to
ncurses MEVENT types
x-macro used to translated Gpm_Event data structures to
ncurses MEVENT types

field 1: raw=0, cooked=1
field 2: corresponding ncurses MEVENT bstate
field 3: button as reported by GPM
field 4: event type as reported by GPM
field 1: raw=0, cooked=1
field 2: corresponding ncurses MEVENT bstate
field 3: button as reported by GPM
field 4: event type as reported by GPM
*/

X_GPM(0,BUTTON1_PRESSED, GPM_B_LEFT, GPM_DOWN)
Expand Down
40 changes: 20 additions & 20 deletions viper_keyboard.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,34 +24,34 @@
#include "viper_states.h"
#include "viper_kmio.h"

void viper_window_set_key_func(WINDOW *window,VIPER_WKEY_FUNC func)
void
viper_window_set_key_func(WINDOW *window, VIPER_WKEY_FUNC func)
{
extern VIPER *viper;
VIPER_WND *viper_wnd;
if(window==NULL) return;
if(viper->wnd_count==0) return;
extern VIPER *viper;
VIPER_WND *viper_wnd;

viper_wnd=viper_get_viper_wnd(window);
if(viper_wnd!=NULL) viper_wnd->key_func=func;
if(window == NULL) return;
if(viper->wnd_count == 0) return;

return;
viper_wnd = viper_get_viper_wnd(window);
if(viper_wnd != NULL) viper_wnd->key_func=func;

return;
}

VIPER_WKEY_FUNC viper_window_get_key_func(WINDOW *window)
VIPER_WKEY_FUNC
viper_window_get_key_func(WINDOW *window)
{
extern VIPER *viper;
VIPER_WND *viper_wnd;
VIPER_WKEY_FUNC func=NULL;
extern VIPER *viper;
VIPER_WND *viper_wnd;
VIPER_WKEY_FUNC func = NULL;

if(window==NULL) return NULL;
if(window == NULL) return NULL;

if(viper->wnd_count==0) return NULL;
if(viper->wnd_count == 0) return NULL;

viper_wnd=viper_get_viper_wnd(window);
if(viper_wnd!=NULL) func=viper_wnd->key_func;
viper_wnd = viper_get_viper_wnd(window);
if(viper_wnd != NULL) func = viper_wnd->key_func;

return func;
return func;
}



Loading

0 comments on commit 1a4586f

Please sign in to comment.