~ubuntu-branches/ubuntu/oneiric/evince/oneiric-updates

« back to all changes in this revision

Viewing changes to shell/ev-properties-fonts.c

  • Committer: Bazaar Package Importer
  • Author(s): Josselin Mouette, Josselin Mouette, Marc 'HE' Brockschmidt
  • Date: 2008-12-31 16:41:58 UTC
  • mfrom: (1.1.36 upstream)
  • mto: (1.5.1 sid)
  • mto: This revision was merged to the branch mainline in revision 109.
  • Revision ID: james.westby@ubuntu.com-20081231164158-xnobl1sokvvc6ho8
Tags: 2.24.2-1
[ Josselin Mouette ]
* README.Debian: document that you need to install poppler-data.
  Closes: #506836.

[ Marc 'HE' Brockschmidt ]
* debian/control: Make the Gnome team maintainer. I'm not doing the job
   anyway.

[ Josselin Mouette ]
* New upstream release.
* Require nautilus 2.22 to build the extension for the correct 
  version.

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
#include "config.h"
23
23
#endif
24
24
 
25
 
#include "ev-properties-fonts.h"
 
25
#include <glib/gi18n.h>
 
26
#include <gtk/gtk.h>
 
27
#include <glade/glade.h>
 
28
 
26
29
#include "ev-document-fonts.h"
 
30
#include "ev-job-scheduler.h"
27
31
#include "ev-jobs.h"
28
 
#include "ev-job-queue.h"
29
 
 
30
 
#include <glib/gi18n.h>
31
 
#include <gtk/gtktreeview.h>
32
 
#include <glade/glade.h>
 
32
#include "ev-properties-fonts.h"
33
33
 
34
34
struct _EvPropertiesFonts {
35
35
        GtkVBox base_instance;
63
63
        }
64
64
        
65
65
        if (properties->fonts_job) {
66
 
 
67
 
                g_signal_handlers_disconnect_by_func
68
 
                                (properties->fonts_job, 
69
 
                                 job_fonts_finished_cb, 
70
 
                                 properties);
71
 
                ev_job_queue_remove_job (properties->fonts_job);
 
66
                g_signal_handlers_disconnect_by_func (properties->fonts_job, 
 
67
                                                      job_fonts_finished_cb, 
 
68
                                                      properties);
 
69
                ev_job_cancel (properties->fonts_job);
72
70
 
73
71
                g_object_unref (properties->fonts_job);         
74
72
                properties->fonts_job = NULL;
161
159
 
162
160
static void
163
161
job_fonts_finished_cb (EvJob *job, EvPropertiesFonts *properties)
164
 
{       
165
 
        EvDocumentFonts *document_fonts = EV_DOCUMENT_FONTS (job->document);
166
 
        double progress;
167
 
        
168
 
        progress = ev_document_fonts_get_progress (document_fonts);
 
162
{
 
163
        g_signal_handlers_disconnect_by_func (job, job_fonts_finished_cb, properties);
 
164
        g_object_unref (properties->fonts_job);
 
165
        properties->fonts_job = NULL;
 
166
}
 
167
 
 
168
static void
 
169
job_fonts_updated_cb (EvJobFonts *job, gdouble progress, EvPropertiesFonts *properties)
 
170
{
 
171
        GtkTreeModel *model;
 
172
        EvDocumentFonts *document_fonts = EV_DOCUMENT_FONTS (properties->document);
 
173
 
169
174
        update_progress_label (properties->fonts_progress_label, progress);
170
175
 
171
 
        if (EV_JOB_FONTS (job)->scan_completed) {
172
 
                g_signal_handlers_disconnect_by_func
173
 
                                (job, job_fonts_finished_cb, properties);
174
 
                g_object_unref (properties->fonts_job);
175
 
                properties->fonts_job = NULL;
176
 
        } else {
177
 
                GtkTreeModel *model;
178
 
 
179
 
                model = gtk_tree_view_get_model
180
 
                                (GTK_TREE_VIEW (properties->fonts_treeview));
181
 
                ev_document_doc_mutex_lock ();
182
 
                ev_document_fonts_fill_model (document_fonts, model);
183
 
                ev_document_doc_mutex_unlock ();
184
 
 
185
 
                ev_job_queue_add_job (job, EV_JOB_PRIORITY_LOW);
186
 
        }
 
176
        model = gtk_tree_view_get_model (GTK_TREE_VIEW (properties->fonts_treeview));
 
177
        /* Documen lock is already held by the jop */
 
178
        ev_document_fonts_fill_model (document_fonts, model);
187
179
}
188
180
 
189
181
void
200
192
        gtk_tree_view_set_model (tree_view, GTK_TREE_MODEL (list_store));
201
193
 
202
194
        properties->fonts_job = ev_job_fonts_new (properties->document);
 
195
        g_signal_connect (properties->fonts_job, "updated",
 
196
                          G_CALLBACK (job_fonts_updated_cb),
 
197
                          properties);
203
198
        g_signal_connect (properties->fonts_job, "finished",
204
199
                          G_CALLBACK (job_fonts_finished_cb),
205
200
                          properties);
206
 
        ev_job_queue_add_job (properties->fonts_job, EV_JOB_PRIORITY_LOW);
 
201
        ev_job_scheduler_push_job (properties->fonts_job, EV_JOB_PRIORITY_NONE);
207
202
}
208
203
 
209
204
GtkWidget *