X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=shell%2Fev-window-title.c;h=427e696182a8c2f687f720feeafd4da524b38b7c;hb=3e9c324a5f8be62b6e360cfc358bbd3d24986e22;hp=5702fb32a20f5684c11289d052b19425d7f33ed9;hpb=771ca50404fb1f8d9843a8b79fac3293ed51414c;p=evince.git diff --git a/shell/ev-window-title.c b/shell/ev-window-title.c index 5702fb32..427e6961 100644 --- a/shell/ev-window-title.c +++ b/shell/ev-window-title.c @@ -17,16 +17,21 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. */ +#include #include "ev-window-title.h" -#include "ev-document-factory.h" +#include "ev-backends-manager.h" #include #include +/* Known backends (for bad extensions fix) */ +#define EV_BACKEND_PS "psdocument" +#define EV_BACKEND_PDF "pdfdocument" + typedef struct { - EvBackend backend; - const char *ext; + const gchar *backend; + const gchar *ext; } BadExtensionEntry; struct _EvWindowTitle @@ -74,12 +79,13 @@ get_filename_from_uri (const char *uri) Let's show the filename in this case */ static void ev_window_title_sanitize_extension (EvWindowTitle *window_title, char **title) { - EvBackend backend; + const gchar *backend; int i; - backend = ev_document_factory_get_backend (window_title->document); + backend = ev_backends_manager_get_document_module_name (window_title->document); + for (i = 0; i < G_N_ELEMENTS (bad_extensions); i++) { - if (bad_extensions[i].backend == backend && + if (g_ascii_strcasecmp (bad_extensions[i].backend, backend) == 0 && g_str_has_suffix (*title, bad_extensions[i].ext)) { char *new_title; char *filename = get_filename_from_uri (window_title->uri); @@ -120,12 +126,10 @@ ev_window_title_update (EvWindowTitle *window_title) if (title && window_title->uri) { ev_window_title_sanitize_extension (window_title, &title); - } else { - if (window_title->uri) { - title = get_filename_from_uri (window_title->uri); - } else { - title = g_strdup (_("Document Viewer")); - } + } else if (window_title->uri) { + title = get_filename_from_uri (window_title->uri); + } else if (!title) { + title = g_strdup (_("Document Viewer")); } for (p = title; *p; ++p) {