bool Terminal::searchentry_keypress(GdkEventKey* event) { if (event->keyval == GDK_KEY_Shift_L || event->keyval == GDK_KEY_Shift_R) return false; if (event->keyval == GDK_KEY_Return || event->keyval == GDK_KEY_KP_Enter) { if (event->state & GDK_SHIFT_MASK) { if (!vte_terminal_search_find_next((VteTerminal *)vte)) { vte_terminal_unselect_all((VteTerminal *)vte); vte_terminal_search_find_next((VteTerminal *)vte); } } else { if (!vte_terminal_search_find_previous((VteTerminal *)vte)) { vte_terminal_unselect_all((VteTerminal *)vte); vte_terminal_search_find_previous((VteTerminal *)vte); } } return false; } VteRegex *regex = vte_regex_new_for_search(searchentry.get_text().c_str(), -1, PCRE2_CASELESS, NULL); vte_terminal_unselect_all((VteTerminal *)vte); vte_terminal_search_set_regex((VteTerminal *)vte, regex, 0); vte_terminal_search_find_previous((VteTerminal *)vte); return false; }
void termit_search_find_prev() { gint page = gtk_notebook_get_current_page(GTK_NOTEBOOK(termit.notebook)); TERMIT_GET_TAB_BY_INDEX(pTab, page); TRACE("%s tab=%p page=%d", __FUNCTION__, pTab, page); vte_terminal_search_find_previous(VTE_TERMINAL(pTab->vte)); }
static VALUE rg_search_find_previous(VALUE self) { gboolean result; result = vte_terminal_search_find_previous(_SELF(self)); return CBOOL2RVAL(result); }