~didrocks/cairo-dock-plug-ins/fix-abi-transition

« back to all changes in this revision

Viewing changes to dnd2share/src/applet-notifications.c

  • Committer: matttbe
  • Date: 2010-09-07 00:39:20 UTC
  • Revision ID: matttbe@gmail.com-20100907003920-jb7hpit570zdaf44
* New Upstream Version (LP: #632054)
* Fixed a few bugs on LP:
 - LP: #616176 Dust Bin Hang and Incorrect Configuration
 - LP: #604034 Change terminal tab's name lost the color
 - LP: #582452 GMenu does not contain any applications
* Fixed a few bugs on glx-dock forum:
 - Fixed support of GMusicBrowser.
 - AlsaMixer has no emblem.
 - Status-Notifier doesn't be drawed into the dock.
* Updated translations
* debian/control:
 - Added cairo-dock-core as build-depends in order to prevent
   some builds errors.

Show diffs side-by-side

added added

removed removed

Lines of Context:
392
392
CD_APPLET_ON_BUILD_MENU_BEGIN
393
393
        GtkWidget *pModuleSubMenu = CD_APPLET_CREATE_MY_SUB_MENU ();
394
394
        
395
 
        CD_APPLET_ADD_IN_MENU (D_("Send the clipboard's content"), _send_clipboard, CD_APPLET_MY_MENU);
396
 
        
 
395
        CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Send the clipboard's content"), GTK_STOCK_PASTE, _send_clipboard, CD_APPLET_MY_MENU);
 
396
        
 
397
        GtkWidget *pHistoryMenu = gtk_menu_new ();
 
398
        GtkWidget *mi = gtk_image_menu_item_new_with_label (D_("History"));
 
399
        
 
400
        GtkWidget *im = gtk_image_new_from_stock (GTK_STOCK_INDEX, GTK_ICON_SIZE_MENU);
 
401
        gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mi), im);
 
402
        
 
403
        gtk_menu_shell_append (GTK_MENU_SHELL (CD_APPLET_MY_MENU), mi); 
 
404
        gtk_menu_item_set_submenu (GTK_MENU_ITEM (mi), pHistoryMenu);
 
405
        
 
406
        //GtkWidget *pHistoryMenu = CD_APPLET_ADD_SUB_MENU_WITH_IMAGE (D_("History"), CD_APPLET_MY_MENU, GTK_STOCK_INDEX);
397
407
        if (myData.pUpoadedItems != NULL)
398
 
                CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Clear History"), GTK_STOCK_CLEAR, _clear_history, CD_APPLET_MY_MENU);
399
 
        
400
 
        CDSiteBackend *pBackend;
401
 
        CDUploadedItem *pItem;
402
 
        GtkWidget *pItemSubMenu;
403
 
        gchar *str;
404
 
        gchar *cName = NULL, *cURI = NULL, *cIconName = NULL;
405
 
        gboolean bIsDirectory;
406
 
        int iVolumeID;
407
 
        double fOrder;
408
 
        int i;
409
 
        GList *it;
410
 
        for (it = myData.pUpoadedItems; it != NULL; it = it->next)
411
408
        {
412
 
                pItem = it->data;
413
 
                
414
 
                // on cherche une miniature a mettre dans le menu.
415
 
                gchar *cPreview = NULL;
416
 
                if (pItem->iFileType == CD_TYPE_IMAGE)
417
 
                {
418
 
                        cPreview = g_strdup_printf ("%s/%s", myData.cWorkingDirPath, pItem->cItemName);
419
 
                        if (! g_file_test (cPreview, G_FILE_TEST_EXISTS))
420
 
                        {
421
 
                                g_free (cPreview);
422
 
                                cPreview = cairo_dock_search_icon_s_path ("image-x-generic");;
423
 
                        }
424
 
                }
425
 
                else if (pItem->iFileType == CD_TYPE_TEXT)
426
 
                {
427
 
                        cPreview = cairo_dock_search_icon_s_path ("text-x-generic");
428
 
                }
429
 
                else if (pItem->iFileType == CD_TYPE_VIDEO)
430
 
                {
431
 
                        cPreview = cairo_dock_search_icon_s_path ("video-x-generic");
432
 
                }
433
 
                if (cPreview == NULL)
434
 
                {
435
 
                        cairo_dock_fm_get_file_info (pItem->cLocalPath, &cName, &cURI, &cPreview, &bIsDirectory, &iVolumeID, &fOrder, 0);
436
 
                        g_free (cName);
437
 
                        cName = NULL;
438
 
                        g_free (cURI);
439
 
                        cURI = NULL;
440
 
                }
441
 
                
442
 
                // on cree un sous-menu pour ce fichier.
443
 
                str = strchr (pItem->cFileName, '\n');
444
 
                if (str)
445
 
                        *str = '\0';
446
 
                pItemSubMenu = CD_APPLET_ADD_SUB_MENU_WITH_IMAGE (pItem->cFileName, pModuleSubMenu, cPreview);
447
 
                if (str)
448
 
                        *str = '\n';
449
 
                g_free (cPreview);
450
 
                
451
 
                // on le peuple avec les liens.
452
 
                pBackend = &myData.backends[pItem->iFileType][pItem->iSiteID];
453
 
                for (i = 0; i < pBackend->iNbUrls; i ++)
454
 
                {
455
 
                        //g_print ("%d) %s : ", i, pBackend->cUrlLabels[i]);
456
 
                        //g_print (" + %s\n", pItem->cDistantUrls[i]);
457
 
                        if (pItem->cDistantUrls[i] != NULL)  // peut etre null (par exemple la tiny url).
458
 
                                CD_APPLET_ADD_IN_MENU_WITH_DATA (pBackend->cUrlLabels[i], _copy_url_into_clipboard, pItemSubMenu, pItem->cDistantUrls[i]);
459
 
                }
460
 
                if (pItem->iFileType != CD_TYPE_TEXT)
461
 
                        CD_APPLET_ADD_IN_MENU_WITH_DATA (D_("Open file"), _show_local_file, pItemSubMenu, pItem);
462
 
                else
463
 
                        CD_APPLET_ADD_IN_MENU_WITH_DATA (D_("Get text"), _show_local_file, pItemSubMenu, pItem);
464
 
                
465
 
                CD_APPLET_ADD_IN_MENU_WITH_STOCK_AND_DATA (D_("Remove from history"), GTK_STOCK_REMOVE, _remove_from_history, pItemSubMenu, pItem);
 
409
                CDSiteBackend *pBackend;
 
410
                CDUploadedItem *pItem;
 
411
                GtkWidget *pItemSubMenu;
 
412
                gchar *str;
 
413
                gchar *cName = NULL, *cURI = NULL, *cIconName = NULL;
 
414
                gboolean bIsDirectory;
 
415
                int iVolumeID;
 
416
                double fOrder;
 
417
                int i;
 
418
                GList *it;
 
419
                for (it = myData.pUpoadedItems; it != NULL; it = it->next)
 
420
                {
 
421
                        pItem = it->data;
 
422
                        
 
423
                        // on cherche une miniature a mettre dans le menu.
 
424
                        gchar *cPreview = NULL;
 
425
                        if (pItem->iFileType == CD_TYPE_IMAGE)
 
426
                        {
 
427
                                cPreview = g_strdup_printf ("%s/%s", myData.cWorkingDirPath, pItem->cItemName);
 
428
                                if (! g_file_test (cPreview, G_FILE_TEST_EXISTS))
 
429
                                {
 
430
                                        g_free (cPreview);
 
431
                                        cPreview = cairo_dock_search_icon_s_path ("image-x-generic");;
 
432
                                }
 
433
                        }
 
434
                        else if (pItem->iFileType == CD_TYPE_TEXT)
 
435
                        {
 
436
                                cPreview = cairo_dock_search_icon_s_path ("text-x-generic");
 
437
                        }
 
438
                        else if (pItem->iFileType == CD_TYPE_VIDEO)
 
439
                        {
 
440
                                cPreview = cairo_dock_search_icon_s_path ("video-x-generic");
 
441
                        }
 
442
                        if (cPreview == NULL)
 
443
                        {
 
444
                                cairo_dock_fm_get_file_info (pItem->cLocalPath, &cName, &cURI, &cPreview, &bIsDirectory, &iVolumeID, &fOrder, 0);
 
445
                                g_free (cName);
 
446
                                cName = NULL;
 
447
                                g_free (cURI);
 
448
                                cURI = NULL;
 
449
                        }
 
450
                        
 
451
                        // on cree un sous-menu pour ce fichier.
 
452
                        str = strchr (pItem->cFileName, '\n');
 
453
                        if (str)
 
454
                                *str = '\0';
 
455
                        pItemSubMenu = CD_APPLET_ADD_SUB_MENU_WITH_IMAGE (pItem->cFileName, pHistoryMenu, cPreview);
 
456
                        if (str)
 
457
                                *str = '\n';
 
458
                        g_free (cPreview);
 
459
                        
 
460
                        // on le peuple avec les liens.
 
461
                        pBackend = &myData.backends[pItem->iFileType][pItem->iSiteID];
 
462
                        for (i = 0; i < pBackend->iNbUrls; i ++)
 
463
                        {
 
464
                                //g_print ("%d) %s : ", i, pBackend->cUrlLabels[i]);
 
465
                                //g_print (" + %s\n", pItem->cDistantUrls[i]);
 
466
                                if (pItem->cDistantUrls[i] != NULL)  // peut etre null (par exemple la tiny url).
 
467
                                        CD_APPLET_ADD_IN_MENU_WITH_DATA (pBackend->cUrlLabels[i], _copy_url_into_clipboard, pItemSubMenu, pItem->cDistantUrls[i]);
 
468
                        }
 
469
                        if (pItem->iFileType != CD_TYPE_TEXT)
 
470
                                CD_APPLET_ADD_IN_MENU_WITH_DATA (D_("Open file"), _show_local_file, pItemSubMenu, pItem);
 
471
                        else
 
472
                                CD_APPLET_ADD_IN_MENU_WITH_DATA (D_("Get text"), _show_local_file, pItemSubMenu, pItem);
 
473
                        
 
474
                        CD_APPLET_ADD_IN_MENU_WITH_STOCK_AND_DATA (D_("Remove from history"), GTK_STOCK_REMOVE, _remove_from_history, pItemSubMenu, pItem);
 
475
                }
 
476
                
 
477
                CD_APPLET_ADD_IN_MENU_WITH_STOCK (D_("Clear History"), GTK_STOCK_CLEAR, _clear_history, pHistoryMenu);
466
478
        }
 
479
        else
 
480
                gtk_widget_set_sensitive (GTK_WIDGET (mi), FALSE);
467
481
        
468
 
        CD_APPLET_ADD_ABOUT_IN_MENU (CD_APPLET_MY_MENU);
 
482
        CD_APPLET_ADD_ABOUT_IN_MENU (pModuleSubMenu);
469
483
CD_APPLET_ON_BUILD_MENU_END