~seb128/indicator-transfer/translations

« back to all changes in this revision

Viewing changes to src/view-gmenu.cpp

  • Committer: CI bot
  • Author(s): Charles Kerr
  • Date: 2014-08-27 02:32:28 UTC
  • mfrom: (14.1.6 better-content-hub-use)
  • Revision ID: ps-jenkins@lists.canonical.com-20140827023228-uzdfq3nmg344g2lu
Better use of information provided by content-hub. Fixes: 1348162, 1348170, 1350307, 1350771, 1361347, 1361363
Approved by: Ted Gould, PS Jenkins bot

Show diffs side-by-side

added added

removed removed

Lines of Context:
152
152
    if (transfer)
153
153
      {
154
154
        g_variant_builder_add(&b, "{sv}", "percent",
155
 
                              g_variant_new_double(transfer->progress));
156
 
        if (transfer->seconds_left >= 0)
 
155
                              g_variant_new_double(CLAMP(transfer->progress, 0.0, 1.0)));
 
156
 
 
157
        if ((transfer->seconds_left >= 0) && (int(transfer->progress*100.0) < 100))
157
158
          {
158
159
            g_variant_builder_add(&b, "{sv}", "seconds-left",
159
160
                                  g_variant_new_int32(transfer->seconds_left));
612
613
    g_menu_item_set_attribute (menu_item, ATTRIBUTE_X_TYPE,
613
614
                               "s", "com.canonical.indicator.transfer");
614
615
 
615
 
    //FIXME: this is a placeholder
616
 
    auto icon = g_themed_icon_new("image-missing");
617
 
    auto v = g_icon_serialize(icon);
618
 
    g_menu_item_set_attribute_value (menu_item, G_MENU_ATTRIBUTE_ICON, v);
619
 
    g_object_unref(icon);
 
616
    GVariant * serialized_icon = nullptr;
 
617
    if (!t->app_icon.empty() && g_file_test(t->app_icon.c_str(), G_FILE_TEST_EXISTS))
 
618
      {
 
619
        auto file = g_file_new_for_path(t->app_icon.c_str());
 
620
        auto icon = g_file_icon_new(file);
 
621
        serialized_icon = g_icon_serialize(icon);
 
622
        g_clear_object(&icon);
 
623
        g_clear_object(&file);
 
624
      }
 
625
    if (serialized_icon == nullptr)
 
626
      {
 
627
        auto icon = g_themed_icon_new("image-missing");
 
628
        serialized_icon = g_icon_serialize(icon);
 
629
        g_clear_object(&icon);
 
630
      }
 
631
    g_menu_item_set_attribute_value (menu_item, G_MENU_ATTRIBUTE_ICON, serialized_icon);
 
632
    g_variant_unref(serialized_icon);
620
633
 
621
634
    g_menu_item_set_attribute (menu_item, ATTRIBUTE_X_UID, "s", id);
622
635
    g_menu_item_set_action_and_target_value (menu_item,