Save the stylesheet
[colloquium.git] / src / presentation.h
index a639c59..57542ca 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * presentation.h
  *
- * Copyright © 2013-2017 Thomas White <taw@bitwiz.org.uk>
+ * Copyright © 2013-2018 Thomas White <taw@bitwiz.org.uk>
  *
  * This file is part of Colloquium.
  *
 #include <config.h>
 #endif
 
-#include <cairo.h>
-#include <gtk/gtk.h>
-
 struct presentation;
-struct slide;
 
 #include "imagestore.h"
 #include "sc_parse.h"
 #include "slideshow.h"
 #include "narrative_window.h"
 #include "slide_window.h"
+#include "stylesheet.h"
 
 struct menu_pl;
 
 struct presentation
 {
-       char             *filename;
-       char             *titlebar;  /* basename(filename) or "(untitled)" */
+       char             *uri;
+       GFile            *stylesheet_from;
        int               completely_empty;
        int               saved;
        PangoLanguage    *lang;
@@ -55,23 +52,18 @@ struct presentation
        SlideWindow      *slidewindow;
 
        struct pr_clock  *clock;
-       struct slide_sorter *slide_sorter;
 
        /* This is the "native" size of the slide.  It only exists to give
         * font size some meaning in the context of a somewhat arbitrary DPI */
        double            slide_width;
        double            slide_height;
 
-       SCBlock          *stylesheet;
        SCBlock          *scblocks;
-
+       Stylesheet       *stylesheet;
 };
 
 
-extern struct presentation *new_presentation(void);
-extern char *load_everything(const char *filename);
-extern SCBlock *find_stylesheet(SCBlock *bl);
-extern int replace_stylesheet(struct presentation *p, SCBlock *ss);
+extern struct presentation *new_presentation(const char *imagestore);
 extern void free_presentation(struct presentation *p);
 
 extern char *get_titlebar_string(struct presentation *p);
@@ -83,10 +75,8 @@ extern SCBlock *last_slide(struct presentation *p);
 extern SCBlock *next_slide(struct presentation *p, SCBlock *sl);
 extern SCBlock *prev_slide(struct presentation *p, SCBlock *sl);
 
-extern int load_presentation(struct presentation *p, const char *filename);
-extern int save_presentation(struct presentation *p, const char *filename);
-
-extern void set_edit(struct presentation *p, struct slide *s);
+extern int load_presentation(struct presentation *p, GFile *file);
+extern int save_presentation(struct presentation *p, GFile *file, GFile *ssfile);
 
 #define UNUSED __attribute__((unused))