diff options
author | Carlos Garcia Campos <carlosgc@gnome.org> | 2007-01-24 18:14:06 (GMT) |
---|---|---|
committer | Carlos Garcia Campos <carlosgc@src.gnome.org> | 2007-01-24 18:14:06 (GMT) |
commit | ca679febd93eef2a4a6afd99cbd7aee8ab537443 (patch) | |
tree | 1c570e90bc3097486f6986e5e524ca15965ebb13 /shell/ev-jobs.h | |
parent | 269bc85e3bab5cae0db919d922b75d56c49965c5 (diff) |
Do file transfer asynchronously in the main thread instead of
2007-01-24 Carlos Garcia Campos <carlosgc@gnome.org>
* shell/ev-job-queue.c: (handle_job), (search_for_jobs_unlocked),
(no_jobs_available_unlocked), (ev_job_queue_init), (find_queue),
(ev_job_queue_remove_job):
* shell/ev-jobs.[ch]: (ev_job_load_init), (ev_job_load_class_init),
(ev_job_load_dispose), (ev_job_load_new), (ev_job_load_set_uri),
(ev_job_load_run):
* shell/ev-window.c: (ev_window_is_empty), (password_dialog_response),
(ev_window_popup_password_dialog), (ev_window_clear_load_job),
(ev_window_load_job_cb), (xfer_update_progress_callback),
(ev_window_open_uri), (ev_window_dispose):
* shell/main.c: (main):
Do file transfer asynchronously in the main thread instead of
synchronously in the load thread. Fixes bugs #399694, #398307 and
#343542.
svn path=/trunk/; revision=2248
Diffstat (limited to 'shell/ev-jobs.h')
-rw-r--r-- | shell/ev-jobs.h | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/shell/ev-jobs.h b/shell/ev-jobs.h index bf37b67..779c373 100644 --- a/shell/ev-jobs.h +++ b/shell/ev-jobs.h @@ -41,8 +41,8 @@ typedef struct _EvJobLinksClass EvJobLinksClass; typedef struct _EvJobFonts EvJobFonts; typedef struct _EvJobFontsClass EvJobFontsClass; -typedef struct _EvJobXfer EvJobXfer; -typedef struct _EvJobXferClass EvJobXferClass; +typedef struct _EvJobLoad EvJobLoad; +typedef struct _EvJobLoadClass EvJobLoadClass; typedef struct _EvJobPrint EvJobPrint; typedef struct _EvJobPrintClass EvJobPrintClass; @@ -72,10 +72,10 @@ typedef struct _EvJobPrintClass EvJobPrintClass; #define EV_JOB_FONTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EV_TYPE_JOB_FONTS, EvJobFontsClass)) #define EV_IS_JOB_FONTS(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EV_TYPE_JOB_FONTS)) -#define EV_TYPE_JOB_XFER (ev_job_xfer_get_type()) -#define EV_JOB_XFER(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EV_TYPE_JOB_XFER, EvJobXfer)) -#define EV_JOB_XFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EV_TYPE_JOB_XFER, EvJobXferClass)) -#define EV_IS_JOB_XFER(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EV_TYPE_JOB_XFER)) +#define EV_TYPE_JOB_LOAD (ev_job_load_get_type()) +#define EV_JOB_LOAD(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EV_TYPE_JOB_LOAD, EvJobLoad)) +#define EV_JOB_LOAD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EV_TYPE_JOB_LOAD, EvJobLoadClass)) +#define EV_IS_JOB_LOAD(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EV_TYPE_JOB_LOAD)) #define EV_TYPE_JOB_PRINT (ev_job_print_get_type()) #define EV_JOB_PRINT(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EV_TYPE_JOB_PRINT, EvJobPrint)) @@ -170,17 +170,17 @@ struct _EvJobFontsClass EvJobClass parent_class; }; -struct _EvJobXfer +struct _EvJobLoad { EvJob parent; + EvLinkDest *dest; EvWindowRunMode mode; GError *error; - char *uri; - char *local_uri; + gchar *uri; }; -struct _EvJobXferClass +struct _EvJobLoadClass { EvJobClass parent_class; }; @@ -244,12 +244,14 @@ GType ev_job_fonts_get_type (void) G_GNUC_CONST; EvJob *ev_job_fonts_new (EvDocument *document); void ev_job_fonts_run (EvJobFonts *fonts); -/* EvJobXfer */ -GType ev_job_xfer_get_type (void) G_GNUC_CONST; -EvJob *ev_job_xfer_new (const gchar *uri, +/* EvJobLoad */ +GType ev_job_load_get_type (void) G_GNUC_CONST; +EvJob *ev_job_load_new (const gchar *uri, EvLinkDest *dest, EvWindowRunMode mode); -void ev_job_xfer_run (EvJobXfer *xfer); +void ev_job_load_set_uri (EvJobLoad *load, + const gchar *uri); +void ev_job_load_run (EvJobLoad *load); /* EvJobPrint */ GType ev_job_print_get_type (void) G_GNUC_CONST; |