void notify_handler::on_read(int fd) { char buf[16] ; int len = read(fd,buf,sizeof(buf)) ; if(len >0) { on_notify() ; } else if(len <0) { if (errno != EAGAIN && errno != EINTR) on_error(fd) ; } else { on_error(fd) ; } }
static gboolean file_manager_activate (AnjutaPlugin *plugin) { AnjutaUI *ui; AnjutaFileManager *file_manager; DEBUG_PRINT ("%s", "AnjutaFileManager: Activating AnjutaFileManager plugin ..."); file_manager = (AnjutaFileManager*) plugin; /* Add all UI actions and merge UI */ ui = anjuta_shell_get_ui (plugin->shell, NULL); /* Add action group */ file_manager->action_group = anjuta_ui_add_action_group_entries (ui, "ActionGroupFileManager", _("File manager popup actions"), popup_actions, 1, GETTEXT_PACKAGE, FALSE, plugin); file_manager->uiid = anjuta_ui_merge (ui, UI_FILE); file_manager->sw = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (file_manager->sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (file_manager->sw), GTK_SHADOW_IN); file_manager->fv = ANJUTA_FILE_VIEW (file_view_new ()); g_signal_connect (G_OBJECT (file_manager->fv), "file-open", G_CALLBACK (on_file_view_open_file), file_manager); g_signal_connect (G_OBJECT(file_manager->fv), "show-popup-menu", G_CALLBACK (on_file_view_show_popup_menu), file_manager); g_signal_connect (G_OBJECT(file_manager->fv), "current-file-changed", G_CALLBACK (on_file_view_current_file_changed), file_manager); file_manager_set_default_uri (file_manager); file_view_refresh (file_manager->fv); gtk_container_add (GTK_CONTAINER (file_manager->sw), GTK_WIDGET (file_manager->fv)); gtk_widget_show_all (file_manager->sw); anjuta_shell_add_widget (plugin->shell, file_manager->sw, "AnjutaFileManager", _("Files"), GTK_STOCK_OPEN, ANJUTA_SHELL_PLACEMENT_LEFT, NULL); file_manager->root_watch_id = anjuta_plugin_add_watch (plugin, IANJUTA_PROJECT_MANAGER_PROJECT_ROOT_URI, project_root_added, project_root_removed, NULL); g_signal_connect (file_manager->settings, "changed::" PREF_ROOT, G_CALLBACK (on_notify_root), file_manager); g_signal_connect (file_manager->settings, "changed::" PREF_FILTER_BINARY, G_CALLBACK (on_notify), file_manager); g_signal_connect (file_manager->settings, "changed::" PREF_FILTER_HIDDEN, G_CALLBACK (on_notify), file_manager); g_signal_connect (file_manager->settings, "changed::" PREF_FILTER_BACKUP, G_CALLBACK (on_notify), file_manager); g_signal_connect (file_manager->settings, "changed::" PREF_FILTER_UNVERSIONED, G_CALLBACK (on_notify), file_manager); on_notify (file_manager->settings, NULL, file_manager); return TRUE; }