コード例 #1
0
ファイル: practica4.c プロジェクト: Mithrandir0x/so2
int main(int argc, char **argv)
{
  char option;
  int op;
  RBTree *tree = NULL;

  while ( 1 )
  {
    show_menu(tree);

    printf("Indiqui la opcio: ");
    scanf("%c", &option);
    flush();
    
    printf("option: [%c]\n", option);

    switch ( option )
    {
      case '1':
        clean_up(tree);
        tree = import_database();
        break;
      case '2':
        save_database(tree);
        break;
      case '3':
        clean_up(tree);
        tree = malloc(sizeof(RBTree));
        op = load_database(tree);
        if ( op == PRS_FILE_NOT_FOUND ) {
          free(tree);
          tree = NULL;
        }
        break;
      case '4':
        generate_statistics(tree);
        break;
      case '5':
        clean_up(tree);
        exit(0);
        break;
      default:
        printf("\nOption not recognised.\n");
        break;
    }
  }

  return 0;
}
コード例 #2
0
ファイル: ui.c プロジェクト: jens-na/abook-call
void
get_commands()
{
    int ch;

    for(;;) {
        can_resize = TRUE; /* it's safe to resize now */
        if(!opt_get_bool(BOOL_SHOW_CURSOR))
            hide_cursor();
        if(should_resize)
            refresh_screen();
        ch = getch();
        if(!opt_get_bool(BOOL_SHOW_CURSOR))
            show_cursor();
        can_resize = FALSE; /* it's not safe to resize anymore */
        switch(ch) {
        case 'q':
            return;
        case 'Q':
            quit_abook(QUIT_DONTSAVE);
            break;
        case 'P':
            print_stderr(selected_items() ?
                         -1 : list_get_curitem());
            return;
        case '?':
            display_help(HELP_MAIN);
            refresh_screen();
            break;
        case 'a':
            add_item();
            break;
        case '\r':
            edit_item(-1);
            break;
        case KEY_DC:
        case 'd':
        case 'r':
            ui_remove_items();
            break;
        case 'D':
            duplicate_item();
            break;
        case 12:
            refresh_screen();
            break;

        case 'k':
        case KEY_UP:
            scroll_up();
            break;
        case 'j':
        case KEY_DOWN:
            scroll_down();
            break;
        case 'K':
        case KEY_PPAGE:
            page_up();
            break;
        case 'J':
        case KEY_NPAGE:
            page_down();
            break;

        case 'g':
        case KEY_HOME:
            goto_home();
            break;
        case 'G':
        case KEY_END:
            goto_end();
            break;

        case 'w':
            save_database();
            break;
        case 'l':
            ui_read_database();
            break;
        case 'i':
            import_database();
            break;
        case 'e':
            export_database();
            break;
        case 'C':
            ui_clear_database();
            break;

        case 'o':
            ui_open_datafile();
            break;

        case 's':
            sort_by_field("name");
            break;
        case 'S':
            sort_surname();
            break;
        case 'F':
            sort_by_field(NULL);
            break;

        case '/':
            ui_find(0);
            break;
        case '\\':
            ui_find(1);
            break;

        case ' ':
            if(list_get_curitem() >= 0) {
                list_invert_curitem_selection();
                ui_print_number_of_items();
                refresh_list();
            }
            break;
        case '+':
            select_all();
            refresh_list();
            break;
        case '-':
            select_none();
            refresh_list();
            break;
        case '*':
            invert_selection();
            refresh_list();
            break;
        case 'A':
            move_curitem(MOVE_ITEM_UP);
            break;
        case 'Z':
            move_curitem(MOVE_ITEM_DOWN);
            break;

        case 'm':
            launch_mutt(selected_items() ?
                        -1 : list_get_curitem());
            refresh_screen();
            break;

        case 'p':
            ui_print_database();
            break;

        case 'v':
            launch_wwwbrowser(list_get_curitem());
            refresh_screen();
            break;
        case 'H':
            launch_callpgm(list_get_curitem(), 'H');
            refresh_screen();
            break;
        case 'W':
            launch_callpgm(list_get_curitem(), 'W');
            refresh_screen();
            break;
        case 'M':
            launch_callpgm(list_get_curitem(), 'M');
            refresh_screen();
            break;
        }
    }
}