Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • functions.c

    r7ba9e0de r13ebf92  
    19991999    pclose(p);
    20002000   
    2001     if (type == OWL_OUTPUT_POPUP) {
    2002       owl_function_popless_text(out);
    2003     } else if (type == OWL_OUTPUT_RETURN) {
     2001    if (type == OWL_OUTPUT_RETURN) {
    20042002      owl_free(newbuff);
    20052003      return out;
    20062004    } else if (type == OWL_OUTPUT_ADMINMSG) {
    20072005      owl_function_adminmsg(buff, out);
    2008     } else {
    2009       owl_function_popless_text(out);
    20102006    }
    20112007    owl_free(out);
     
    20402036    } else if (type == OWL_OUTPUT_RETURN) {
    20412037      return perlout;
    2042     } else {
    2043       owl_function_popless_text(perlout);
    20442038    }
    20452039    owl_free(perlout);
     
    25052499
    25062500  owl_mainwin_redisplay(owl_global_get_mainwin(&g)); 
     2501}
     2502
     2503static char *owl_function_smartfilter_cc(const owl_message *m) {
     2504  const char *ccs;
     2505  char *filtname;
     2506  char *text;
     2507  owl_filter *f;
     2508
     2509  ccs = owl_message_get_attribute_value(m, "zephyr_ccs");
     2510
     2511  filtname = owl_sprintf("conversation-%s", ccs);
     2512  owl_text_tr(filtname, ' ', '-');
     2513
     2514  if (owl_global_get_filter(&g, filtname)) {
     2515    return filtname;
     2516  }
     2517
     2518  text = owl_sprintf("type ^zephyr$ and filter personal and "
     2519                     "zephyr_ccs ^%s%s%s$",
     2520                     owl_getquoting(ccs), ccs, owl_getquoting(ccs));
     2521
     2522  f = owl_filter_new_fromstring(filtname, text);
     2523
     2524  owl_global_add_filter(&g, f);
     2525
     2526  owl_free(text);
     2527
     2528  return filtname;
    25072529}
    25082530
     
    25602582  if (owl_message_is_type_zephyr(m)) {
    25612583    if (owl_message_is_personal(m) || owl_message_is_loginout(m)) {
     2584      if (owl_message_get_attribute_value(m, "zephyr_ccs") != NULL) {
     2585        return owl_function_smartfilter_cc(m);
     2586      }
     2587
    25622588      if (owl_message_is_direction_in(m)) {
    25632589        zperson=short_zuser(owl_message_get_sender(m));
     
    28532879    km = owl_keyhandler_get_keymap(kh, kmname);
    28542880    owl_fmtext_append_bold(&fm, "\n\n----------------------------------------------------------------------------------------------------\n\n");
    2855     owl_keymap_get_details(km, &fm);   
     2881    owl_keymap_get_details(km, &fm, 0);
    28562882  }
    28572883  owl_fmtext_append_normal(&fm, "\n");
     
    28792905  km = owl_keyhandler_get_keymap(owl_global_get_keyhandler(&g), name);
    28802906  if (km) {
    2881     owl_keymap_get_details(km, &fm);
     2907    owl_keymap_get_details(km, &fm, 1);
    28822908  } else {
    28832909    owl_fmtext_append_normal(&fm, "No such keymap...\n");
Note: See TracChangeset for help on using the changeset viewer.