int run_dlg (Dlg_head * h) { init_dlg (h); frontend_run_dlg (h); dlg_run_done (h); return h->ret_value; }
int dlg_run (WDialog * h) { dlg_init (h); frontend_dlg_run (h); dlg_run_done (h); return h->ret_value; }
void destroy_op_win (void) { dlg_run_done (op_dlg); destroy_dlg (op_dlg); #ifndef HAVE_X the_hint->widget.y = last_hint_line; #endif }
static void fg_message (int flags, const char *title, const char *text) { Dlg_head *d; d = do_create_message (flags, title, text); tty_getch (); dlg_run_done (d); destroy_dlg (d); }
static void fg_message (int flags, const char *title, const char *text) { WDialog *d; d = do_create_message (flags, title, text); tty_getch (); dlg_run_done (d); dlg_destroy (d); }
void file_op_context_destroy_ui (file_op_context_t * ctx) { if (ctx != NULL && ctx->ui != NULL) { file_op_context_ui_t *ui = (file_op_context_ui_t *) ctx->ui; dlg_run_done (ui->op_dlg); dlg_destroy (ui->op_dlg); MC_PTR_FREE (ctx->ui); } }
static int learn_button (WButton * button, int action) { WDialog *d; char *seq; (void) button; d = create_message (D_ERROR, _("Teach me a key"), _("Please press the %s\n" "and then wait until this message disappears.\n\n" "Then, press it again to see if OK appears\n" "next to its button.\n\n" "If you want to escape, press a single Escape key\n" "and wait as well."), _(key_name_conv_tab[action - B_USER].longname)); mc_refresh (); if (learnkeys[action - B_USER].sequence != NULL) { g_free (learnkeys[action - B_USER].sequence); learnkeys[action - B_USER].sequence = NULL; } seq = learn_key (); if (seq != NULL) { /* Esc hides the dialog and do not allow definitions of * regular characters */ gboolean seq_ok = FALSE; if (*seq != '\0' && strcmp (seq, "\\e") != 0 && strcmp (seq, "\\e\\e") != 0 && strcmp (seq, "^m") != 0 && strcmp (seq, "^i") != 0 && (seq[1] != '\0' || *seq < ' ' || *seq > '~')) { learnchanged = TRUE; learnkeys[action - B_USER].sequence = seq; seq = convert_controls (seq); seq_ok = define_sequence (key_name_conv_tab[action - B_USER].code, seq, MCKEY_NOACTION); } if (!seq_ok) message (D_NORMAL, _("Cannot accept this key"), _("You have entered \"%s\""), seq); g_free (seq); } dlg_run_done (d); dlg_destroy (d); dlg_select_widget (learnkeys[action - B_USER].button); return 0; /* Do not kill learn_dlg */ }
void file_op_context_destroy_ui (FileOpContext * ctx) { g_return_if_fail (ctx != NULL); if (ctx->ui != NULL) { FileOpContextUI *ui = (FileOpContextUI *) ctx->ui; dlg_run_done (ui->op_dlg); destroy_dlg (ui->op_dlg); g_free (ui); ctx->ui = NULL; } }
static int learn_button (int action, void *param) { unsigned char *seq; Dlg_head *d = message (D_INSERT | 1, _(" Teach me a key "), _("Please press the %s\n" "and then wait until this message disappears.\n\n" "Then, press it again to see if OK appears\n" "next to its button.\n\n" "If you want to escape, press a single Escape key\n" "and wait as well."), _(key_name_conv_tab [action - B_USER].longname)); mc_refresh (); if (learnkeys [action - B_USER].sequence != NULL) { free (learnkeys [action - B_USER].sequence); learnkeys [action - B_USER].sequence = NULL; } seq = learn_key (); if (seq){ /* Esc hides the dialog and do not allow definitions of * regular characters */ if (*seq && strcmp (seq, "\\e") && strcmp (seq, "\\e\\e") && strcmp (seq, "^m" ) && (seq [1] || (*seq < ' ' || *seq > '~'))){ learnchanged = 1; learnkeys [action - B_USER].sequence = seq; seq = convert_controls (seq); define_sequence (key_name_conv_tab [action - B_USER].code, seq, MCKEY_NOACTION); } else { message (0, _(" Cannot accept this key "), _(" You have entered \"%s\""), seq); } free (seq); } dlg_run_done (d); destroy_dlg (d); dlg_select_widget (learn_dlg, learnkeys [action - B_USER].button); return 0; /* Do not kill learn_dlg */ }
static void mcview_search_show_result (mcview_t * view, Dlg_head ** d, size_t match_len) { int nroff_len; nroff_len = view->text_nroff_mode ? mcview__get_nroff_real_len (view, view->search->start_buffer, view->search->normal_offset - view->search->start_buffer) : 0; view->search_start = view->search->normal_offset + nroff_len; if (!view->hex_mode) view->search_start++; nroff_len = view->text_nroff_mode ? mcview__get_nroff_real_len (view, view->search_start - 1, match_len) : 0; view->search_end = view->search_start + match_len + nroff_len; if (view->hex_mode) { view->hex_cursor = view->search_start; view->hexedit_lownibble = FALSE; view->dpy_start = view->search_start - view->search_start % view->bytes_per_line; view->dpy_end = view->search_end - view->search_end % view->bytes_per_line; } if (verbose) { dlg_run_done (*d); destroy_dlg (*d); *d = create_message (D_NORMAL, _("Search"), _("Seeking to search result")); tty_refresh (); } mcview_moveto_match (view); }
void mcview_do_search (mcview_t * view) { off_t search_start = 0; gboolean isFound = FALSE; gboolean need_search_again = TRUE; Dlg_head *d = NULL; size_t match_len; if (verbose) { d = create_message (D_NORMAL, _("Search"), _("Searching %s"), view->last_search_string); tty_refresh (); } /*for avoid infinite search loop we need to increase or decrease start offset of search */ if (view->search_start != 0) { if (!view->text_nroff_mode) search_start = view->search_start + (mcview_search_options.backwards ? -2 : 0); else { if (mcview_search_options.backwards) { mcview_nroff_t *nroff; nroff = mcview_nroff_seq_new_num (view, view->search_start); if (mcview_nroff_seq_prev (nroff) != -1) search_start = -(mcview__get_nroff_real_len (view, nroff->index - 1, 2) + nroff->char_width + 1); else search_start = -2; mcview_nroff_seq_free (&nroff); } else { search_start = mcview__get_nroff_real_len (view, view->search_start + 1, 2); } search_start += view->search_start; } } if (mcview_search_options.backwards && (int) search_start < 0) search_start = 0; /* Compute the percent steps */ mcview_search_update_steps (view); view->update_activate = 0; tty_enable_interrupt_key (); do { off_t growbufsize; if (view->growbuf_in_use) growbufsize = mcview_growbuf_filesize (view); else growbufsize = view->search->original_len; if (mcview_find (view, search_start, &match_len)) { mcview_search_show_result (view, &d, match_len); need_search_again = FALSE; isFound = TRUE; break; } if (view->search->error_str == NULL) break; search_start = growbufsize - view->search->original_len; if (search_start <= 0) { search_start = 0; break; } } while (mcview_may_still_grow (view)); if (view->search_start != 0 && !isFound && need_search_again && !mcview_search_options.backwards) { int result; mcview_update (view); result = query_dialog (_("Search done"), _("Continue from beginning?"), D_NORMAL, 2, _("&Yes"), _("&No")); if (result != 0) isFound = TRUE; else search_start = 0; } if (!isFound && view->search->error_str != NULL && mcview_find (view, search_start, &match_len)) { mcview_search_show_result (view, &d, match_len); isFound = TRUE; } tty_disable_interrupt_key (); if (verbose) { dlg_run_done (d); destroy_dlg (d); } if (!isFound && view->search->error_str != NULL) message (D_NORMAL, _("Search"), "%s", view->search->error_str); view->dirty++; mcview_update (view); }
static void gview_quit (GtkWidget *widget, WView *view) { dlg_run_done (view->widget.parent); destroy_dlg (view->widget.parent); }