Esempio n. 1
0
void owl_editcontext_delete_cb(owl_context *ctx)
{
  if (owl_is_editcontext(ctx) && ctx->data) {
    owl_editwin_unref(ctx->data);
    ctx->data = NULL;
  }
}
Esempio n. 2
0
char *owl_viewwin_command_start_search(owl_viewwin *v, int argc, const char *const *argv, const char *buff)
{
  int direction;
  const char *buffstart;
  owl_editwin *tw;
  owl_context *ctx;
  owl_viewwin_search_data *data;

  direction=OWL_DIRECTION_DOWNWARDS;
  buffstart=skiptokens(buff, 1);
  if (argc>1 && !strcmp(argv[1], "-r")) {
    direction=OWL_DIRECTION_UPWARDS;
    buffstart=skiptokens(buff, 2);
  }

  /* TODO: Add a search history? */
  tw = owl_viewwin_set_typwin_active(v, NULL);
  owl_editwin_set_locktext(tw, (direction == OWL_DIRECTION_DOWNWARDS) ? "/" : "?");
  owl_editwin_insert_string(tw, buffstart);

  data = g_new(owl_viewwin_search_data, 1);
  data->v = v;
  data->direction = direction;

  ctx = owl_editcontext_new(OWL_CTX_EDITLINE, tw, "editline",
                            owl_viewwin_deactivate_editcontext, v);
  ctx->cbdata = v;
  owl_global_push_context_obj(&g, ctx);
  owl_editwin_set_callback(tw, owl_viewwin_callback_search);
  owl_editwin_set_cbdata(tw, data, g_free);
  /* We aren't saving tw, so release the reference we were given. */
  owl_editwin_unref(tw);
  return NULL;
}
Esempio n. 3
0
void owl_global_set_typwin_inactive(owl_global *g) {
  int d = owl_global_get_typewindelta(g);
  if (d > 0 && owl_editwin_get_style(g->tw) == OWL_EDITWIN_STYLE_MULTILINE)
      owl_function_resize_typwin(owl_global_get_typwin_lines(g) - d);

  if (!g->typwin_erase_id) {
    g->typwin_erase_id =
      g_signal_connect(g->mainpanel.typwin, "redraw", G_CALLBACK(owl_window_erase_cb), NULL);
  }
  owl_window_dirty(g->mainpanel.typwin);

  owl_editwin_unref(g->tw);
  g->tw = NULL;
}
Esempio n. 4
0
char *owl_viewwin_start_command(owl_viewwin *v, int argc, const char *const *argv, const char *buff)
{
  owl_editwin *tw;
  owl_context *ctx;

  buff = skiptokens(buff, 1);

  tw = owl_viewwin_set_typwin_active(v, owl_global_get_cmd_history(&g));
  owl_editwin_set_locktext(tw, ":");

  owl_editwin_insert_string(tw, buff);

  ctx = owl_editcontext_new(OWL_CTX_EDITLINE, tw, "editline",
                            owl_viewwin_deactivate_editcontext, v);
  owl_global_push_context_obj(&g, ctx);
  owl_editwin_set_callback(tw, owl_callback_command);
  /* We aren't saving tw, so release the reference we were given. */
  owl_editwin_unref(tw);

  return NULL;
}