diff options
author | Nickolay V. Shmyrev <nshmyrev@src.gnome.org> | 2005-06-23 22:17:31 (GMT) |
---|---|---|
committer | Nickolay V. Shmyrev <nshmyrev@src.gnome.org> | 2005-06-23 22:17:31 (GMT) |
commit | 4300adb2c68416fe4302c6ee77f50a2735c7aa8d (patch) | |
tree | a2a830824ac91a2bd7c1ed3fa73a1e3634cbe8d0 | |
parent | 67bfd1de5608fa4450fc19a639824695dcdfedd6 (diff) |
Make properties unsensitive if document backend doesn't provide info
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | shell/ev-window.c | 11 |
2 files changed, 17 insertions, 1 deletions
@@ -1,5 +1,12 @@ 2005-06-24 Nickolay V. Shmyrev <nshmyrev@yandex.ru> + * shell/ev-window.c: (update_action_sensitivity): + + Make properties unsensitive if document backend doesn't provide + any info + +2005-06-24 Nickolay V. Shmyrev <nshmyrev@yandex.ru> + * dvi/mdvi-lib/bitmap.c: (bitmap_alloc), (bitmap_alloc_raw), (bitmap_flip_horizontally), (bitmap_flip_vertically), (bitmap_flip_diagonally), (bitmap_rotate_clockwise), diff --git a/shell/ev-window.c b/shell/ev-window.c index d5164f1..37531df 100644 --- a/shell/ev-window.c +++ b/shell/ev-window.c @@ -213,13 +213,18 @@ update_action_sensitivity (EvWindow *ev_window) int n_pages = 0, page = -1; gboolean ok_to_print = TRUE; gboolean ok_to_copy = TRUE; + gboolean has_properties = TRUE; view = EV_VIEW (ev_window->priv->view); + document = ev_window->priv->document; + if (document) info = ev_page_cache_get_info (ev_window->priv->page_cache); + page_mode = ev_window->priv->page_mode; has_document = document != NULL; + if (has_document && ev_window->priv->page_cache) { page = ev_page_cache_get_current_page (ev_window->priv->page_cache); n_pages = ev_page_cache_get_n_pages (ev_window->priv->page_cache); @@ -231,11 +236,15 @@ update_action_sensitivity (EvWindow *ev_window) ok_to_copy = (info->permissions & EV_DOCUMENT_PERMISSIONS_OK_TO_COPY); } + if (!info || info->fields_mask == 0) { + has_properties = FALSE; + } + /* File menu */ /* "FileOpen": always sensitive */ set_action_sensitive (ev_window, "FileSaveAs", has_document && ok_to_copy); set_action_sensitive (ev_window, "FilePrint", has_pages && ok_to_print); - set_action_sensitive (ev_window, "FileProperties", has_document); + set_action_sensitive (ev_window, "FileProperties", has_document && has_properties); /* "FileCloseWindow": always sensitive */ /* Edit menu */ |