static void set_sensitivity(GtkUIManager *ui_manager, FolderItem *item) { gboolean folder_is_normal = item != NULL && item->stype == F_NORMAL && !folder_has_parent_of_type(item, F_OUTBOX) && !folder_has_parent_of_type(item, F_DRAFT) && !folder_has_parent_of_type(item, F_QUEUE) && !folder_has_parent_of_type(item, F_TRASH); #define SET_SENS(name, sens) \ cm_menu_set_sensitive_full(ui_manager, "Popup/"name, sens) SET_SENS("FolderViewPopup/CreateNewFolder", item && item->stype != F_INBOX); SET_SENS("FolderViewPopup/RenameFolder", item && item->stype == F_NORMAL && folder_item_parent(item) != NULL); SET_SENS("FolderViewPopup/MoveFolder", folder_is_normal && folder_item_parent(item) != NULL); SET_SENS("FolderViewPopup/DeleteFolder", item && item->stype == F_NORMAL && folder_item_parent(item) != NULL); SET_SENS("FolderViewPopup/CheckNewMessages", folder_item_parent(item) == NULL); SET_SENS("FolderViewPopup/CheckNewFolders", folder_item_parent(item) == NULL); SET_SENS("FolderViewPopup/RebuildTree", folder_item_parent(item) == NULL); SET_SENS("FolderViewPopup/RemoveMailbox", folder_item_parent(item) == NULL); #undef SET_SENS }
static void set_sensitivity(GtkUIManager *ui_manager, FolderItem *item) { MainWindow *mainwin = mainwindow_get_mainwindow(); #define SET_SENS(name, sens) \ cm_menu_set_sensitive_full(ui_manager, "Popup/"name, sens) SET_SENS("FolderViewPopup/Subscribe", folder_item_parent(item) == NULL && mainwin->lock_count == 0 && news_folder_locked(item->folder) == 0); SET_SENS("FolderViewPopup/Unsubscribe", folder_item_parent(item) != NULL && mainwin->lock_count == 0 && news_folder_locked(item->folder) == 0); SET_SENS("FolderViewPopup/CheckNewMessages", folder_item_parent(item) == NULL && mainwin->lock_count == 0 && news_folder_locked(item->folder) == 0); SET_SENS("FolderViewPopup/Synchronise", item ? (folder_item_parent(item) != NULL && folder_want_synchronise(item->folder)) : FALSE); SET_SENS("FolderViewPopup/DownloadMessages", item ? (folder_item_parent(item) != NULL && !item->no_select) : FALSE); SET_SENS("FolderViewPopup/RenameFolder", folder_item_parent(item) != NULL && mainwin->lock_count == 0 && news_folder_locked(item->folder) == 0); #undef SET_SENS }
static void set_sensitivity(GtkUIManager *ui_manager, FolderItem *item) { gboolean folder_is_normal = item != NULL && item->stype == F_NORMAL && !folder_has_parent_of_type(item, F_OUTBOX) && !folder_has_parent_of_type(item, F_DRAFT) && !folder_has_parent_of_type(item, F_QUEUE) && !folder_has_parent_of_type(item, F_TRASH); #define SET_SENS(name, sens) \ cm_menu_set_sensitive_full(ui_manager, "Popup/"name, sens) SET_SENS("FolderViewPopup/CreateNewFolder", item && item->no_sub == FALSE); SET_SENS("FolderViewPopup/RenameFolder", item && item->stype == F_NORMAL && folder_item_parent(item) != NULL); SET_SENS("FolderViewPopup/MoveFolder", item && folder_is_normal && folder_item_parent(item) != NULL); SET_SENS("FolderViewPopup/DeleteFolder", item && item->stype == F_NORMAL && folder_item_parent(item) != NULL); SET_SENS("FolderViewPopup/CheckNewMessages", folder_item_parent(item) == NULL); SET_SENS("FolderViewPopup/CheckNewFolders", folder_item_parent(item) == NULL); SET_SENS("FolderViewPopup/RebuildTree", folder_item_parent(item) == NULL); SET_SENS("FolderViewPopup/Synchronise", item ? (folder_item_parent(item) != NULL && folder_want_synchronise(item->folder)) : FALSE); SET_SENS("FolderViewPopup/DownloadMessages", item && !item->no_select); SET_SENS("FolderViewPopup/CheckNewMessages", folder_item_parent(item) == NULL); SET_SENS("FolderViewPopup/CheckNewFolders", folder_item_parent(item) == NULL); SET_SENS("FolderViewPopup/RebuildTree", folder_item_parent(item) == NULL); SET_SENS("FolderViewPopup/Subscriptions/Unsubscribe", item && item->stype == F_NORMAL && folder_item_parent(item) != NULL); SET_SENS("FolderViewPopup/Subscriptions/Subscribe", TRUE); if (item && item->folder && item->folder->account) cm_toggle_menu_set_active_full(ui_manager, "Popup/FolderViewPopup/Subscriptions/ShowOnlySubs", item->folder->account->imap_subsonly); #undef SET_SENS }