void search_box_hide (SearchBox* search_box) { gtk_widget_hide (GTK_WIDGET (search_box)); search_box_set_entry_color (search_box, TRUE); if (search_box->priv->current_editor) { ianjuta_document_grab_focus (IANJUTA_DOCUMENT (search_box->priv->current_editor), NULL); } }
static gboolean on_search_box_key_pressed (GtkWidget* widget, GdkEventKey* event, SearchBox* search_box) { switch (event->keyval) { case GDK_KEY_Escape: { gtk_widget_hide (GTK_WIDGET (search_box)); search_box_set_entry_color (search_box, TRUE); if (search_box->priv->current_editor) { ianjuta_document_grab_focus (IANJUTA_DOCUMENT (search_box->priv->current_editor), NULL); } } default: { /* Do nothing... */ } } return FALSE; }
IAnjutaEditor * anjuta_docman_goto_file_line_mark (AnjutaDocman *docman, GFile* file, gint line, gboolean mark) { IAnjutaDocument *doc; IAnjutaEditor *te; AnjutaDocmanPage *page; g_return_val_if_fail (file != NULL, NULL); if (!g_file_query_exists (file, NULL)) { return NULL; } /* Save current uri and line in document history list */ page = anjuta_docman_get_current_page (docman); if (page && page->doc && IANJUTA_IS_FILE (page->doc)) { GFile* file = ianjuta_file_get_file (IANJUTA_FILE (page->doc), NULL); if (file) { gint line = 0; if (IANJUTA_IS_EDITOR (page->doc)) { line = ianjuta_editor_get_lineno (IANJUTA_EDITOR (page->doc), NULL); } an_file_history_push (file, line); } } /* if possible, use a document that's already open */ doc = anjuta_docman_get_document_for_file (docman, file); if (doc == NULL) { te = anjuta_docman_add_editor (docman, file, NULL); doc = IANJUTA_DOCUMENT (te); } else if (IANJUTA_IS_EDITOR (doc)) { te = IANJUTA_EDITOR (doc); } else { doc = NULL; te = NULL; } if (te != NULL) { if (line >= 0) { ianjuta_editor_goto_line (te, line, NULL); if (mark && IANJUTA_IS_MARKABLE (doc)) { ianjuta_markable_delete_all_markers (IANJUTA_MARKABLE (doc), IANJUTA_MARKABLE_LINEMARKER, NULL); ianjuta_markable_mark (IANJUTA_MARKABLE (doc), line, IANJUTA_MARKABLE_LINEMARKER, NULL, NULL); } } } if (doc != NULL) { anjuta_docman_present_notebook_page (docman, doc); ianjuta_document_grab_focus (IANJUTA_DOCUMENT (doc), NULL); } return te; }
void anjuta_docman_set_current_document (AnjutaDocman *docman, IAnjutaDocument *doc) { AnjutaDocmanPage *page; IAnjutaDocument *defdoc; defdoc = anjuta_docman_get_current_document(docman); if (doc != NULL) { page = anjuta_docman_get_page_for_document (docman, doc); /* proceed only if page data has been added before */ if (page) { gint page_num; if (defdoc != NULL) { AnjutaDocmanPage *oldpage; oldpage = anjuta_docman_get_page_for_document (docman, defdoc); if (oldpage) { oldpage->is_current = FALSE; if (oldpage->close_button != NULL) { gtk_widget_set_sensitive (oldpage->close_image, FALSE); if (oldpage->mime_icon) gtk_widget_set_sensitive (oldpage->mime_icon, FALSE); } } } page->is_current = TRUE; if (page->close_button != NULL) { gtk_widget_set_sensitive (page->close_image, TRUE); if (page->mime_icon) gtk_widget_set_sensitive (page->mime_icon, TRUE); } page_num = gtk_notebook_page_num (GTK_NOTEBOOK (docman), page->widget); gtk_notebook_set_current_page (GTK_NOTEBOOK (docman), page_num); if (g_settings_get_boolean (docman->priv->settings, EDITOR_TABS_ORDERING)) anjuta_docman_order_tabs (docman); gtk_widget_grab_focus (GTK_WIDGET (doc)); anjuta_docman_grab_text_focus (docman); ianjuta_document_grab_focus (IANJUTA_DOCUMENT (doc), NULL); } } else /* doc == NULL */ { if (defdoc != NULL) { page = anjuta_docman_get_current_page (docman); if (page) { page->is_current = FALSE; if (page->close_button != NULL) { gtk_widget_set_sensitive (page->close_image, FALSE); if (page->mime_icon) gtk_widget_set_sensitive (page->mime_icon, FALSE); } } } } }