~ubuntu-branches/ubuntu/oneiric/cairo-dock/oneiric-201110111206

« back to all changes in this revision

Viewing changes to src/cairo-dock-applet-facility.h

  • Committer: Bazaar Package Importer
  • Author(s): Julien Lavergne
  • Date: 2009-06-20 23:46:54 UTC
  • mfrom: (1.1.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20090620234654-hlg7pqvys6temuqq
Tags: 2.0.5-0ubuntu1
* New Upstream Version. (LP: #390053)
* debian/rules: 
 - Drop autoreconf call, it's fixed upstream.
 - Call dh_desktop for all desktop files.
* debian/control:
 - Add libgtkglext1-dev as depends for cairo-dock-dev.

Show diffs side-by-side

added added

removed removed

Lines of Context:
217
217
 
218
218
void cairo_dock_pop_up_about_applet (GtkMenuItem *menu_item, CairoDockModuleInstance *pModuleInstance);
219
219
 
 
220
void cairo_dock_open_module_config_on_demand (int iClickedButton, GtkWidget *pInteractiveWidget, CairoDockModuleInstance *pModuleInstance, CairoDialog *pDialog);
 
221
 
 
222
 
220
223
 
221
224
  //////////////
222
225
 /// CONFIG ///
356
359
*@return Le chemin vers le repertoire du theme, dans une chaine nouvellement allouee.
357
360
*/
358
361
#define CD_CONFIG_GET_THEME_PATH(cGroupName, cKeyName, cThemeDirName, cDefaultThemeName) \
359
 
cairo_dock_get_theme_path_for_module (pKeyFile, cGroupName, cKeyName, &bFlushConfFileNeeded, cDefaultThemeName, MY_APPLET_SHARE_DATA_DIR"/"cThemeDirName, MY_APPLET_USER_DATA_DIR)
 
362
        __extension__ ({\
 
363
        gchar *_cThemePath = cairo_dock_get_theme_path_for_module (pKeyFile, cGroupName, cKeyName, &bFlushConfFileNeeded, cDefaultThemeName, MY_APPLET_SHARE_DATA_DIR"/"cThemeDirName, MY_APPLET_USER_DATA_DIR);\
 
364
        if (_cThemePath == NULL) {\
 
365
                const gchar *_cMessage = _("the theme couldn't be found; the default theme will be used instead.\n You can change this by opening the configuration of this module; do you want to do it now ?");\
 
366
                Icon *_pIcon = cairo_dock_get_dialogless_icon ();\
 
367
                gchar *_cQuestion = g_strdup_printf ("%s : %s", myApplet->pModule->pVisitCard->cModuleName, _cMessage);\
 
368
                cairo_dock_show_dialog_with_question (_cQuestion, _pIcon, CAIRO_CONTAINER (g_pMainDock), MY_APPLET_SHARE_DATA_DIR"/"MY_APPLET_ICON_FILE, (CairoDockActionOnAnswerFunc) cairo_dock_open_module_config_on_demand, myApplet, NULL);\
 
369
                g_free (_cQuestion); }\
 
370
        _cThemePath; })
360
371
 
361
372
/**
362
 
*Recupere la valeur d'un theme de gauge, en mettant a jour la liste des jauges disponibles dans le fichier de conf.
 
373
*Recupere la valeur d'un theme de gauge, en cherchant parmi les themes distants si necessaire.
363
374
*@param cGroupName nom du groupe (dans le fichier de conf) du parametre correspondant au theme.
364
375
*@param cKeyName nom de la cle (dans le fichier de conf) du parametre correspondant au theme.
365
376
*/
366
377
#define CD_CONFIG_GET_GAUGE_THEME(cGroupName, cKeyName) \
367
 
cairo_dock_get_gauge_key_value(CD_APPLET_MY_CONF_FILE, pKeyFile, cGroupName, cKeyName, &bFlushConfFileNeeded, "turbo-night-fuel")
 
378
        __extension__ ({\
 
379
        gchar *_cThemePath = cairo_dock_get_gauge_key_value(CD_APPLET_MY_CONF_FILE, pKeyFile, cGroupName, cKeyName, &bFlushConfFileNeeded, "turbo-night-fuel");\
 
380
        if (_cThemePath == NULL) {\
 
381
                const gchar *_cMessage = _("the gauge theme couldn't be found; a default gauge will be used instead.\n You can change this by opening the configuration of this module; do you want to do it now ?");\
 
382
                Icon *_pIcon = cairo_dock_get_dialogless_icon ();\
 
383
                gchar *_cQuestion = g_strdup_printf ("%s : %s", myApplet->pModule->pVisitCard->cModuleName, _cMessage);\
 
384
                cairo_dock_show_dialog_with_question (_cQuestion, _pIcon, CAIRO_CONTAINER (g_pMainDock), MY_APPLET_SHARE_DATA_DIR"/"MY_APPLET_ICON_FILE, (CairoDockActionOnAnswerFunc) cairo_dock_open_module_config_on_demand, myApplet, NULL);\
 
385
                g_free (_cQuestion); }\
 
386
        _cThemePath; })
368
387
 
369
388
 
370
389
  ////////////
375
394
*@param pMenu GtkWidget du menu auquel on rajoutera le sous-menu.
376
395
*@return le sous-menu nouvellement cree et attache au menu.
377
396
*/
378
 
#define CD_APPLET_ADD_SUB_MENU(cLabel, pMenu) \
 
397
#define CD_APPLET_ADD_SUB_MENU_WITH_IMAGE(cLabel, pMenu, cImage) \
379
398
        __extension__ ({\
380
399
        GtkWidget *_pSubMenu = gtk_menu_new (); \
381
 
        pMenuItem = gtk_menu_item_new_with_label (cLabel); \
 
400
        if (cImage == NULL) {\
 
401
                pMenuItem = gtk_menu_item_new_with_label (cLabel); }\
 
402
        else {\
 
403
                gchar *__cImage = cImage;\
 
404
                pMenuItem = gtk_image_menu_item_new_with_label (cLabel);\
 
405
                if (*__cImage == '/') {\
 
406
                        GdkPixbuf *_pixbuf = gdk_pixbuf_new_from_file_at_size (__cImage, 32, 32, NULL);\
 
407
                        image = gtk_image_new_from_pixbuf (_pixbuf);\
 
408
                        g_object_unref (_pixbuf); }\
 
409
                else {\
 
410
                        image = gtk_image_new_from_stock (__cImage, GTK_ICON_SIZE_MENU); }\
 
411
                gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (pMenuItem), image); }\
382
412
        gtk_menu_shell_append  (GTK_MENU_SHELL (pMenu), pMenuItem); \
383
413
        gtk_menu_item_set_submenu (GTK_MENU_ITEM (pMenuItem), _pSubMenu);\
384
414
        _pSubMenu; })
385
415
 
 
416
#define CD_APPLET_ADD_SUB_MENU(cLabel, pMenu) CD_APPLET_ADD_SUB_MENU_WITH_IMAGE(cLabel, pMenu, NULL)
 
417
 
386
418
/** Cree et ajoute un sous-menu par defaut au menu principal. Ce sous-menu est nomme suivant le nom de l'applet, et est represente par l'icone de l'applet.
387
419
*@return le sous-menu nouvellement cree et attache au menu.
388
420
*/
389
 
#define CD_APPLET_CREATE_MY_SUB_MENU(...) \
390
 
        __extension__ ({\
391
 
        pMenuItem = gtk_image_menu_item_new_with_label (myApplet->pModule->pVisitCard->cModuleName);\
392
 
        GdkPixbuf *_pixbuf = gdk_pixbuf_new_from_file_at_size (MY_APPLET_SHARE_DATA_DIR"/"MY_APPLET_ICON_FILE, 32, 32, NULL);\
393
 
        image = gtk_image_new_from_pixbuf (_pixbuf);\
394
 
        g_object_unref (_pixbuf);\
395
 
        gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (pMenuItem), image);\
396
 
        gtk_menu_shell_append  (GTK_MENU_SHELL (CD_APPLET_MY_MENU), pMenuItem);\
397
 
        GtkWidget *_pSubMenu = gtk_menu_new ();\
398
 
        gtk_menu_item_set_submenu (GTK_MENU_ITEM (pMenuItem), _pSubMenu);\
399
 
        _pSubMenu; })
 
421
#define CD_APPLET_CREATE_MY_SUB_MENU(...) CD_APPLET_ADD_SUB_MENU_WITH_IMAGE (myApplet->pModule->pVisitCard->cModuleName, CD_APPLET_MY_MENU, MY_APPLET_SHARE_DATA_DIR"/"MY_APPLET_ICON_FILE)
400
422
 
401
423
/** Cree et ajoute un sous-menu a un menu deja existant.
402
424
*@param cLabel nom du sous-menu, tel qu'il apparaitra dans le menu.
426
448
/**
427
449
*Ajoute une entree avec une icone GTK a un menu deja existant.
428
450
*@param cLabel nom de l'entree, tel qu'il apparaitra dans le menu.
429
 
*@param gtkStock nom d'une icone de GTK.
 
451
*@param gtkStock nom d'une icone de GTK ou chemin complet d'une image quelconque.
430
452
*@param pFunction fonction appelee lors de la selection de cette entree.
431
453
*@param pMenu GtkWidget du menu auquel on rajoutera l'entree.
432
454
*@param pData donnees passees en parametre de la fonction (doit contenir myApplet).
875
897
#define CD_APPLET_MY_ICONS_LIST (myDock ? (myIcon->pSubDock ? myIcon->pSubDock->icons : NULL) : myDesklet->icons)
876
898
#define CD_APPLET_MY_ICONS_LIST_CONTAINER (myDock ? CAIRO_CONTAINER (myIcon->pSubDock) : CAIRO_CONTAINER (myDesklet))
877
899
 
 
900
//\_________________________________ TASKBAR
 
901
#define CD_APPLET_MANAGE_APPLICATION(cApplicationClass, bStealTaskBarIcon) do {\
 
902
        if (myIcon->cClass != NULL && ! bStealTaskBarIcon)\
 
903
                cairo_dock_deinhibate_class (cApplicationClass, myIcon);\
 
904
        else if (myIcon->cClass == NULL && bStealTaskBarIcon)\
 
905
                cairo_dock_inhibate_class (cApplicationClass, myIcon); } while (0)
878
906
 
879
907
//\_________________________________ INTERNATIONNALISATION
880
908
/**