示例#1
0
static void go_to_parent(madshelf_state_t* state)
{
    _loc_t* _loc = (_loc_t*)state->loc;

    char* t = strdup(_loc->dir);
    char* next_dir = dirname(t);

    madshelf_disk_t* cur_disk = find_disk(state->disks, _loc->dir);
    madshelf_disk_t* next_disk = find_disk(state->disks, next_dir);

    if(cur_disk != next_disk || !strcmp(_loc->dir, "/"))
    {
        if (state->menu_navigation) {
            ecore_evas_hide(state->win);
        } else {
            /* Top directory reached - move to "overview" screen */
            go(state, overview_make(state));
        }
    }
    else
    {
        go(state, dir_make(state, next_dir));
    }

    free(t);
}
示例#2
0
//Play a new file
void eclair_play_file(Eclair *eclair, const char *path)
{
   if (!eclair)
      return;

   if (!eclair->video.video_object)
   {
      eclair->start_playing = 1;
      return;
   }

   if (path)
   {
      emotion_object_file_set(eclair->video.video_object, path);
      emotion_object_play_set(eclair->video.video_object, 0);
      eclair_progress_rate_set(eclair, 0.0);
      eclair->state = ECLAIR_PAUSE;
      eclair_play(eclair);
   
      eclair_subtitles_load_from_media_file(&eclair->subtitles, path);
      
      if (eclair->video.video_window)
      {
         if (emotion_object_video_handled_get(eclair->video.video_object))
            ecore_evas_show(eclair->video.video_window);
         else
            ecore_evas_hide(eclair->video.video_window);
      }
   }
   else
      eclair_stop(eclair);
}
示例#3
0
//Pop down the menu and its childrend
void eclair_menu_pop_down(Eclair_Menu *menu)
{
   Eina_List *l;
   Eclair_Menu_Item *item;

   if (!menu)
      return;

   for (l = menu->items; l; l = l->next)
   {
      if (!(item = l->data))
         continue;

      eclair_menu_item_deactivate(item);
   }

   ecore_evas_hide(menu->window);
   if (menu == _eclair_menu_root)
   {
      ecore_x_keyboard_ungrab();
      ecore_x_pointer_ungrab();
      ecore_x_window_hide(_eclair_menu_input_window);
      ecore_event_handler_del(_eclair_menu_mouse_up_handler);
      ecore_event_handler_del(_eclair_menu_mouse_move_handler);
      _eclair_menu_root = NULL;
   }

   _eclair_menu_popped_menus = eina_list_remove(_eclair_menu_popped_menus, menu);
}
示例#4
0
EAPI void
e_popup_hide(E_Popup *pop)
{
   E_OBJECT_CHECK(pop);
   E_OBJECT_TYPE_CHECK(pop, E_POPUP_TYPE);
   if (!pop->visible) return;
   if (pop->idle_enterer) ecore_idle_enterer_del(pop->idle_enterer);
   pop->idle_enterer = NULL;
   pop->visible = 0;
   ecore_evas_hide(pop->ecore_evas);
   e_container_shape_hide(pop->shape);
}
示例#5
0
static Eina_Bool
_stdin_cb(void *data, Ecore_Fd_Handler *handler)
{
   Eina_List *l;
   Ecore_Evas *ee;
   char c;

   scanf("%c", &c);
   if (c == 'h')
     EINA_LIST_FOREACH(ecore_evas_ecore_evas_list_get(), l, ee)
       ecore_evas_hide(ee);
   else if (c == 's')
     EINA_LIST_FOREACH(ecore_evas_ecore_evas_list_get(), l, ee)
       ecore_evas_show(ee);

   return ECORE_CALLBACK_RENEW;
}
示例#6
0
//Stop the playback and hide the video window
void eclair_stop(Eclair *eclair)
{
   if (!eclair)
      return;

   if (eclair->video.video_object)
   {
      emotion_object_play_set(eclair->video.video_object, 0);
      eclair_progress_rate_set(eclair, 0.0);
   }
   
   eclair_all_windows_text_set(eclair, "time_elapsed", "0:00");
   eclair_send_signal_to_all_windows(eclair, "signal_stop");
   
   if (eclair->video.video_window)
      ecore_evas_hide(eclair->video.video_window);

   eclair->state = ECLAIR_STOP;
}
示例#7
0
//Create a new menu
//The parent menu will have to be destroyed by eclair_menu_free
//Return NULL if failed
Eclair_Menu *eclair_menu_new(Eclair_Engine menu_engine)
{
   Eclair_Menu *menu;
   Ecore_X_Window_State window_states[2];

   menu = calloc(1, sizeof(Eclair_Menu));
   menu->engine = menu_engine;

   if (menu_engine == ECLAIR_GL)
   {
      menu->window = ecore_evas_gl_x11_new(NULL, 0, 0, 0, 0, 0);
      menu->x_window = ecore_evas_gl_x11_window_get(menu->window);
   }
   else
   {
      menu->window = ecore_evas_software_x11_new(NULL, 0, 0, 0, 0, 0);
      menu->x_window = ecore_evas_software_x11_window_get(menu->window);
   }
   
   ecore_evas_title_set(menu->window, "eclair menu");
   ecore_evas_name_class_set(menu->window, "eclair", "Eclair");
   window_states[0] = ECORE_X_WINDOW_STATE_SKIP_TASKBAR;
   window_states[1] = ECORE_X_WINDOW_STATE_SKIP_PAGER;
   ecore_x_netwm_window_state_set(menu->x_window, window_states, 2);
   ecore_evas_borderless_set(menu->window, 1);

   menu->evas = ecore_evas_get(menu->window);
   menu->edje_object = edje_object_add(menu->evas);
   if (!edje_object_file_set(menu->edje_object, ECLAIR_WIDGETS_THEME, "eclair_menu"))
   {
      evas_object_del(menu->edje_object);
      ecore_evas_free(menu->window);
      free(menu);
      return NULL;
   }
   evas_object_move(menu->edje_object, 0, 0);
   evas_object_show(menu->edje_object);
   ecore_evas_data_set(menu->window, "eclair_menu", menu);
   ecore_evas_callback_resize_set(menu->window, _eclair_menu_resize_cb);
   ecore_evas_hide(menu->window);

   return menu;
}
static Eina_Bool
_stdin_cb(void *data, Ecore_Fd_Handler *handler)
{
   const Eina_List *l;
   Ecore_Evas *ee;
   char c = getchar();

   if (c == EOF)
     {
        ecore_main_loop_quit();
        return EINA_FALSE;
     }

   switch (c) {
    case 'h':
       printf("hide all windows\n");
       EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
         ecore_evas_hide(ee);
       break;
    case 's':
       printf("show all windows\n");
       EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
         ecore_evas_show(ee);
       break;
    case 'l':
       printf("move all windows left\n");
       EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
         {
            int x, y;
            ecore_evas_geometry_get(ee, &x, &y, NULL, NULL);
            ecore_evas_move(ee, x - 10, y);
         }
       break;
    case 'r':
       printf("move all windows right\n");
       EINA_LIST_FOREACH(ecore_evas_ews_children_get(), l, ee)
         {
            int x, y;
            ecore_evas_geometry_get(ee, &x, &y, NULL, NULL);
            ecore_evas_move(ee, x + 10, y);
         }
示例#9
0
文件: band.c 项目: Elive/elicit
void
elicit_band_hide(Elicit_Band *band)
{
   if((band) && (band->ee))
     ecore_evas_hide(band->ee);
}
示例#10
0
void EcoreEvasWindow::hide()
{
    ecore_evas_hide( _ee );
}
示例#11
0
文件: elicit.c 项目: rephorm/elicit
void
elicit_hide(Elicit *el)
{
  ecore_evas_hide(el->ee);
}