*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#include "config.h"
#include <string.h>
-#include <glib/gi18n.h>
+#include <glib/gi18n-lib.h>
#include <gtk/gtk.h>
#include "imposter.h"
struct _ImpressDocumentClass
{
- GObjectClass parent_class;
+ EvDocumentClass parent_class;
};
struct _ImpressDocument
{
- GObject parent_instance;
+ EvDocument parent_instance;
ImpDoc *imp;
ImpRenderCtx *ctx;
typedef struct _ImpressDocumentClass ImpressDocumentClass;
-static void impress_document_document_iface_init (EvDocumentIface *iface);
-static void impress_document_document_thumbnails_iface_init (EvDocumentThumbnailsIface *iface);
+static void impress_document_document_thumbnails_iface_init (EvDocumentThumbnailsInterface *iface);
EV_BACKEND_REGISTER_WITH_CODE (ImpressDocument, impress_document,
{
/* FIXME: Could we actually load uris ? */
filename = g_filename_from_uri (uri, NULL, error);
if (!filename)
- {
- g_set_error (error,
- EV_DOCUMENT_ERROR,
- EV_DOCUMENT_ERROR_INVALID,
- _("Remote files aren't supported"));
- return FALSE;
- }
+ return FALSE;
imp = imp_open (filename, &err);
+ g_free (filename);
if (!imp)
{
- g_set_error (error,
- EV_DOCUMENT_ERROR,
- EV_DOCUMENT_ERROR_INVALID,
- _("Invalid document"));
- g_free (filename);
+ g_set_error_literal (error,
+ EV_DOCUMENT_ERROR,
+ EV_DOCUMENT_ERROR_INVALID,
+ _("Invalid document"));
return FALSE;
}
impress_document->imp = imp;
static gboolean
impress_document_save (EvDocument *document,
- const char *uri,
- GError **error)
+ const char *uri,
+ GError **error)
{
+ g_set_error_literal (error,
+ EV_DOCUMENT_ERROR,
+ EV_DOCUMENT_ERROR_INVALID,
+ "Not supported");
return FALSE;
}
static void
impress_document_class_init (ImpressDocumentClass *klass)
{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ EvDocumentClass *ev_document_class = EV_DOCUMENT_CLASS (klass);
gobject_class->finalize = impress_document_finalize;
-}
-
-static EvDocumentInfo *
-impress_document_get_info (EvDocument *document)
-{
- EvDocumentInfo *info;
- info = g_new0 (EvDocumentInfo, 1);
- info->fields_mask = 0;
-
- return info;
-}
-
-static void
-impress_document_document_iface_init (EvDocumentIface *iface)
-{
- iface->load = impress_document_load;
- iface->save = impress_document_save;
- iface->get_n_pages = impress_document_get_n_pages;
- iface->get_page_size = impress_document_get_page_size;
- iface->render = impress_document_render;
- iface->get_info = impress_document_get_info;
+ ev_document_class->load = impress_document_load;
+ ev_document_class->save = impress_document_save;
+ ev_document_class->get_n_pages = impress_document_get_n_pages;
+ ev_document_class->get_page_size = impress_document_get_page_size;
+ ev_document_class->render = impress_document_render;
}
static GdkPixbuf *
}
static void
-impress_document_document_thumbnails_iface_init (EvDocumentThumbnailsIface *iface)
+impress_document_document_thumbnails_iface_init (EvDocumentThumbnailsInterface *iface)
{
iface->get_thumbnail = impress_document_thumbnails_get_thumbnail;
iface->get_dimensions = impress_document_thumbnails_get_dimensions;