Exemplo n.º 1
0
void
album_new(void *data, Enlil_Album *album)
{
   char buf[PATH_MAX];
   Enlil_Data *enlil_data = (Enlil_Data *) data;
   Enlil_Library *_library = enlil_data->library;
   enlil_album_monitor_start(album);

   enlil_album_collection_process(album);

   Enlil_Album_Data *enlil_album_data = calloc(1, sizeof(Enlil_Album_Data));
   enlil_album_data->enlil_data = enlil_data;
   enlil_album_user_data_set(album, enlil_album_data, enlil_album_data_free);

   enlil_album_photos_sort_set(album, ENLIL_PHOTO_SORT_DATE);
   enlil_album_photos_sort_set(album, ENLIL_PHOTO_SORT_DATE);

   Enlil_Album *album_prev = enlil_library_album_prev_get(_library, album);
   Enlil_Album_Data *album_data_prev = enlil_album_user_data_get(album_prev);
   if (!album_prev || !album_data_prev)
   {
      list_left_append_relative(enlil_data->list_left, album, NULL);
      list_photo_album_append_relative(enlil_data->list_photo, album, NULL);
   }
   else
   {
      list_left_append_relative(enlil_data->list_left, album,
                                album_data_prev->list_album_item);
      list_photo_album_append_relative(enlil_data->list_photo, album,
                                       album_data_prev->list_photo_item);
   }

   import_album_new(album);

   //snprintf(buf, PATH_MAX, "%s %s",D_("New Album : "), enlil_album_name_get(album));
   //notify_sync_content_set(enlil_data, buf);

   enlil_data->nb_albums++;

   snprintf(buf, PATH_MAX, D_("  %d albums and %d photos."),
            enlil_data->nb_albums, enlil_data->nb_photos);
   elm_label_label_set(enlil_data->list_photo->lbl_nb_albums_photos, buf);

   Enlil_NetSync_Job
            *job =
                     enlil_netsync_job_sync_photos_append(
                                                          album,
                                                          netsync_photo_new_cb,
                                                          netsync_photo_notinnetsync_cb,
                                                          netsync_photo_notuptodate_cb,
                                                          netsync_photo_netsyncnotuptodate_cb,
                                                          netsync_photo_uptodate_cb,
                                                          netsync_photo_tags_notuptodate_cb,
                                                          netsync_photo_tags_netsyncnotuptodate_cb,
                                                          netsync_photo_tags_uptodate_cb,
                                                          enlil_data);
}
Exemplo n.º 2
0
void
list_left_add(List_Left *list_left, Enlil_Album *album)
{
   Enlil_Album_Data *enlil_album_data = enlil_album_user_data_get(album);

   enlil_album_data->list_album_item
            = enki_elm_genlist_item_album_append(main_panel_object, &itc_album,
                                                 album, NULL, _gl_sel, album);
}
Exemplo n.º 3
0
void
upload_done(Upload *ul, Enlil_Photo *photo)
{
   Enlil_Photo_Data *photo_data = enlil_photo_user_data_get(photo);
   Enlil_Album *album = enlil_photo_album_get(photo);
   Enlil_Album_Data *album_data = enlil_album_user_data_get(album);

   evas_object_hide(ul->main);

   photo_data->netsync.state = PHOTO_NETSYNC_NONE;
}
Exemplo n.º 4
0
void
list_left_append_relative(List_Left *list_left, Enlil_Album *album,
                          Elm_Genlist_Item *relative)
{
   Enlil_Album_Data *enlil_album_data = enlil_album_user_data_get(album);

   if (!relative)
      enlil_album_data->list_album_item
               = enki_elm_genlist_item_album_prepend(main_panel_object,
                                                     &itc_album, album, NULL,
                                                     _gl_sel, album);
   else
      enlil_album_data->list_album_item
               = enki_elm_genlist_item_album_insert_after(main_panel_object,
                                                          &itc_album, album,
                                                          NULL, relative,
                                                          _gl_sel, album);
}
Exemplo n.º 5
0
Evas_Object *
flickr_sync_new(Evas_Object *win, Enlil_Album *album)
{
   Evas_Object *inwin, *pb, *bt, *tb;
   Enlil_Album_Data *album_data = enlil_album_user_data_get(album);

   //create inwin & file selector
   inwin = elm_win_inwin_add(win);
   album_data->netsync.inwin.win = inwin;
   elm_object_style_set(inwin, "minimal");
   evas_object_show(inwin);

   tb = elm_table_add(inwin);
   album_data->netsync.inwin.tb = tb;
   evas_object_size_hint_weight_set(tb, 1.0, 1.0);
   evas_object_size_hint_align_set(tb, 1.0, 1.0);
   evas_object_show(tb);
   elm_win_inwin_content_set(inwin, tb);

   bt = elm_button_add(inwin);
   elm_object_text_set(bt, D_("Close"));
   evas_object_size_hint_align_set(bt, 1.0, 0.5);
   evas_object_smart_callback_add(bt, "clicked", _close_cb, album);
   evas_object_show(bt);
   elm_table_pack(tb, bt, 1, 1, 1, 1);

   pb = elm_progressbar_add(inwin);
   album_data->netsync.inwin.pb = pb;
   evas_object_size_hint_align_set(pb, 0.5, 0.5);
   evas_object_size_hint_weight_set(pb, 1.0, 0.0);
   elm_progressbar_pulse_set(pb, EINA_TRUE);
   elm_object_text_set(pb, D_("Synchronising ..."));
   evas_object_hide(pb);
   elm_table_pack(tb, pb, 0, 1, 1, 1);

   flickr_sync_update(album);

   return inwin;
}
Exemplo n.º 6
0
void
list_left_col_album_remove(List_Left *list_left, Enlil_Collection *col,
                           Enlil_Album *album)
{
   Eina_List *l;
   Enlil_Album *_album;
   ASSERT_RETURN_VOID(list_left != NULL);
   ASSERT_RETURN_VOID(col != NULL);
   ASSERT_RETURN_VOID(album != NULL);

   Enlil_Collection_Data *col_data = enlil_collection_user_data_get(col);

   if (elm_genlist_item_expanded_get(col_data->list_col_item))
   {
      photos_list_object_freeze(col_data->enlil_data->list_photo->o_list, 1);
      photos_list_object_hide_all(col_data->enlil_data->list_photo->o_list);

      EINA_LIST_FOREACH(enlil_collection_albums_get(col), l, _album)
      {
         Enlil_Album_Data *album_data = enlil_album_user_data_get(_album);
         photos_list_object_header_show(album_data->list_photo_item);
      }
Exemplo n.º 7
0
void
flickr_sync_update(Enlil_Album *album)
{
   Enlil_Album_Data *album_data = enlil_album_user_data_get(album);
   Evas_Object *fr, *tb2, *lbl, *bt, *sep, *pb, *pager;
   Evas_Object *inwin = album_data->netsync.inwin.win;
   Evas_Object *tb = album_data->netsync.inwin.tb;
   int i = 0;
   Eina_List *l;
   Enlil_Photo *photo;
   int nb_photos;
   char buf[1024];

   if (album_data->netsync.inwin.fr) evas_object_del(
                                                     album_data->netsync.inwin.fr);

   //
   fr = elm_frame_add(inwin);
   album_data->netsync.inwin.fr = fr;
   elm_object_text_set(fr, D_("Synchronise an album with flickr"));
   evas_object_size_hint_weight_set(fr, 1.0, 1.0);
   evas_object_size_hint_align_set(fr, -1.0, -1.0);
   evas_object_show(fr);
   elm_table_padding_set(tb, 1, 1);
   elm_table_pack(tb, fr, 0, 0, 3, 1);

   tb2 = elm_table_add(inwin);
   evas_object_size_hint_weight_set(tb2, 1.0, 0.0);
   evas_object_size_hint_align_set(tb2, -1.0, 1.0);
   elm_table_padding_set(tb2, 15, 5);
   evas_object_show(tb2);
   elm_object_content_set(fr, tb2);
   //

   if (album_data->netsync.album_netsync_notuptodate)
   {
      lbl = elm_label_add(inwin);
      elm_object_text_set(lbl, D_("Update the flickr album header."));
      evas_object_show(lbl);
      elm_table_pack(tb2, lbl, 0, i, 1, 1);

      bt = elm_button_add(inwin);
      album_data->netsync.inwin.bt1 = bt;
      elm_object_text_set(bt, D_("Update"));
      evas_object_smart_callback_add(bt, "clicked", _netsync_notuptodate_cb,
                                     album);
      evas_object_size_hint_align_set(bt, 0.5, 0.5);
      evas_object_size_hint_weight_set(bt, 1.0, 0.0);

      evas_object_show(bt);
      elm_table_pack(tb2, bt, 1, i, 1, 1);

      i++;

      sep = elm_separator_add(inwin);
      evas_object_show(sep);
      elm_table_pack(tb2, sep, 0, i, 2, 1);
      i++;
   }

   if (album_data->netsync.album_notinnetsync)
   {
      lbl = elm_label_add(inwin);
      elm_object_text_set(lbl, D_("The album is not in Flickr."));
      evas_object_show(lbl);
      elm_table_pack(tb2, lbl, 0, i, 1, 1);

      bt = elm_button_add(inwin);
      album_data->netsync.inwin.bt2 = bt;
      elm_object_text_set(bt, D_("Add the album in Flickr"));
      evas_object_size_hint_align_set(bt, 0.5, 0.5);
      evas_object_size_hint_weight_set(bt, 1.0, 0.0);

      evas_object_smart_callback_add(bt, "clicked", _album_notinnetsync_cb,
                                     album);
      evas_object_show(bt);
      elm_table_pack(tb2, bt, 1, i, 1, 1);

      i++;

      sep = elm_separator_add(inwin);
      evas_object_show(sep);
      elm_table_pack(tb2, sep, 0, i, 2, 1);
      i++;
   }

   if (album_data->netsync.album_local_notuptodate)
   {
      lbl = elm_label_add(inwin);
      elm_object_text_set(lbl, D_("Update the local album header."));
      evas_object_show(lbl);
      elm_table_pack(tb2, lbl, 0, i, 1, 1);

      bt = elm_button_add(inwin);
      album_data->netsync.inwin.bt3 = bt;
      evas_object_size_hint_align_set(bt, 0.5, 0.5);
      evas_object_size_hint_weight_set(bt, 1.0, 0.0);

      evas_object_smart_callback_add(bt, "clicked", _local_notuptodate_cb,
                                     album);
      elm_object_text_set(bt, D_("Update"));
      evas_object_show(bt);
      elm_table_pack(tb2, bt, 1, i, 1, 1);

      i++;

      sep = elm_separator_add(inwin);
      evas_object_show(sep);
      elm_table_pack(tb2, sep, 0, i, 2, 1);
      i++;
   }

   if (album_data->netsync.photos_notinlocal)
   {
      lbl = elm_label_add(inwin);
      elm_object_text_set(lbl, D_("Some photos are not in the local album."));
      evas_object_show(lbl);
      elm_table_pack(tb2, lbl, 0, i, 1, 1);

      pager = elm_naviframe_add(inwin);
      album_data->netsync.inwin.notinlocal.pager = pager;
      evas_object_size_hint_align_set(pager, 0.5, 0.5);
      evas_object_size_hint_weight_set(pager, 1.0, 0.0);
      evas_object_show(pager);
      elm_table_pack(tb2, pager, 1, i, 1, 1);
      elm_object_style_set(pager, "fade_invisible");

      bt = elm_button_add(inwin);
      album_data->netsync.inwin.notinlocal.bt = bt;
      album_data->netsync.inwin.bt4 = bt;
      evas_object_size_hint_align_set(bt, -1.0, 0.5);
      evas_object_size_hint_weight_set(bt, 1.0, 0.0);
      elm_object_text_set(bt, D_("Download Them All"));
      evas_object_smart_callback_add(bt, "clicked", _photos_notinlocal_cb,
                                     album);
      evas_object_show(bt);
      elm_naviframe_item_simple_push(pager, bt);

      pb = elm_progressbar_add(inwin);
      album_data->netsync.inwin.notinlocal.pb = pb;
      evas_object_size_hint_align_set(pb, -1.0, 0.5);
      evas_object_size_hint_weight_set(pb, 1.0, 0.0);
      elm_progressbar_pulse_set(pb, EINA_TRUE);
      elm_object_text_set(pb, D_("Downloads in progress ..."));
      evas_object_show(pb);
      elm_naviframe_item_simple_push(pager, pb);
      evas_object_size_hint_max_set(pb, 0, 0);

      if (album_data->netsync.inwin.notinlocal.is_updating)
      {
         elm_progressbar_pulse(pb, EINA_TRUE);
         elm_naviframe_item_simple_promote(pager, pb);
      }
      else
         elm_naviframe_item_simple_promote(pager, bt);

      i++;

      sep = elm_separator_add(inwin);
      evas_object_show(sep);
      elm_table_pack(tb2, sep, 0, i, 2, 1);
      i++;
   }

   nb_photos = 0;
   EINA_LIST_FOREACH(enlil_album_photos_get(album), l, photo)
   {
      Enlil_Photo_Data *photo_data = enlil_photo_user_data_get(photo);
      if (photo_data && photo_data->netsync.state == PHOTO_FLICKR_NOTINFLICKR)
      {
         nb_photos++;
      }
   }