Esempio n. 1
0
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;
}
Esempio n. 2
0
void termit_search_find_next()
{
    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_next(VTE_TERMINAL(pTab->vte));
}
Esempio n. 3
0
static VALUE
rg_search_find_next(VALUE self)
{
    gboolean result;

    result = vte_terminal_search_find_next(_SELF(self));

    return CBOOL2RVAL(result);
}