From 18837029c36e81e5ccfd31337684c3ac3f47d1da Mon Sep 17 00:00:00 2001 From: sebastid Date: Tue, 6 Sep 2005 05:32:18 +0000 Subject: [PATCH] Make popup and option. SVN revision: 16615 --- src/modules/pager/e_mod_main.c | 35 ++++++++++++++++++++++++++++++---- src/modules/pager/e_mod_main.h | 2 ++ 2 files changed, 33 insertions(+), 4 deletions(-) diff --git a/src/modules/pager/e_mod_main.c b/src/modules/pager/e_mod_main.c index 4f7473176..4ca60b594 100644 --- a/src/modules/pager/e_mod_main.c +++ b/src/modules/pager/e_mod_main.c @@ -10,7 +10,7 @@ */ /* module private routines */ -static Pager *_pager_new(); +static Pager *_pager_new(void); static void _pager_free(Pager *pager); static void _pager_config_menu_new(Pager *pager); @@ -83,6 +83,8 @@ static void _pager_menu_cb_speed_normal(void *data, E_Menu *m, E_Menu_Ite static void _pager_menu_cb_speed_fast(void *data, E_Menu *m, E_Menu_Item *mi); static void _pager_menu_cb_speed_very_fast(void *data, E_Menu *m, E_Menu_Item *mi); +static void _pager_menu_cb_popup_enable(void *data, E_Menu *m, E_Menu_Item *mi); + static int _pager_count; static E_Config_DD *_conf_edd; @@ -107,7 +109,7 @@ e_modapi_init(E_Module *module) return NULL; } /* actually init pager */ - pager = _pager_new(module); + pager = _pager_new(); module->config_menu = pager->config_menu; return pager; @@ -160,7 +162,7 @@ e_modapi_about(E_Module *module) /* module private routines */ static Pager * -_pager_new() +_pager_new(void) { Pager *pager; Pager_Face *face; @@ -194,6 +196,7 @@ _pager_new() E_CONFIG_LIST(D, T, faces, _conf_face_edd); E_CONFIG_VAL(D, T, deskname_pos, UINT); E_CONFIG_VAL(D, T, speed, UINT); + E_CONFIG_VAL(D, T, popup, UINT); pager->conf = e_config_domain_load("module.pager", _conf_edd); if (!pager->conf) @@ -201,6 +204,7 @@ _pager_new() pager->conf = E_NEW(Config, 1); pager->conf->deskname_pos = PAGER_DESKNAME_NONE; pager->conf->speed = 12; + pager->conf->popup = 1; } _pager_config_menu_new(pager); @@ -389,7 +393,13 @@ _pager_config_menu_new(Pager *pager) e_menu_item_submenu_set(mi, pager->config_menu_deskname); mi = e_menu_item_new(pager->config_menu); - e_menu_item_label_set(mi, _("Desktop Speed")); + e_menu_item_label_set(mi, _("Enable Popup")); + e_menu_item_check_set(mi, 1); + e_menu_item_toggle_set(mi, pager->conf->popup); + e_menu_item_callback_set(mi, _pager_menu_cb_popup_enable, pager); + + mi = e_menu_item_new(pager->config_menu); + e_menu_item_label_set(mi, _("Popup Speed")); e_menu_item_submenu_set(mi, pager->config_menu_speed); } @@ -592,6 +602,12 @@ _pager_face_menu_new(Pager_Face *face) e_menu_item_label_set(mi, _("Desktop Name")); e_menu_item_submenu_set(mi, face->pager->config_menu_deskname); + mi = e_menu_item_new(mn); + e_menu_item_label_set(mi, _("Enable Popup")); + e_menu_item_check_set(mi, 1); + e_menu_item_toggle_set(mi, face->pager->conf->popup); + e_menu_item_callback_set(mi, _pager_menu_cb_popup_enable, face->pager); + mi = e_menu_item_new(mn); e_menu_item_label_set(mi, _("Desktop Speed")); e_menu_item_submenu_set(mi, face->pager->config_menu_speed); @@ -1395,6 +1411,8 @@ _pager_face_cb_event_desk_show(void *data, int type, void *event) _pager_face_desk_select(desk); + if (!face->pager->conf->popup) return 1; + pp = E_NEW(Pager_Popup, 1); if (!pp) return 1; @@ -1904,3 +1922,12 @@ _pager_menu_cb_speed_very_fast(void *data, E_Menu *m, E_Menu_Item *mi) pager->conf->speed = 3; e_config_save_queue(); } + +static void +_pager_menu_cb_popup_enable(void *data, E_Menu *m, E_Menu_Item *mi) +{ + Pager *pager; + pager = data; + pager->conf->popup = e_menu_item_toggle_get(mi); + e_config_save_queue(); +} diff --git a/src/modules/pager/e_mod_main.h b/src/modules/pager/e_mod_main.h index f806f813a..deefec4f9 100644 --- a/src/modules/pager/e_mod_main.h +++ b/src/modules/pager/e_mod_main.h @@ -30,6 +30,8 @@ struct _Config unsigned int deskname_pos; /* How the popup is shown on desk change */ unsigned int speed; + /* Show popup? */ + unsigned int popup; }; struct _Config_Face