16
16
* You should have received a copy of the GNU General Public License
17
17
* along with this program; if not, write to the Free Software
18
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21
21
#include "config.h"
50
static void ev_sidebar_layers_page_iface_init (EvSidebarPageIface *iface);
51
static void job_finished_callback (EvJobLayers *job,
52
EvSidebarLayers *sidebar_layers);
50
static void ev_sidebar_layers_page_iface_init (EvSidebarPageInterface *iface);
51
static void job_finished_callback (EvJobLayers *job,
52
EvSidebarLayers *sidebar_layers);
54
54
static guint signals[N_SIGNALS];
335
update_layers_state (GtkTreeModel *model,
337
EvDocumentLayers *document_layers)
341
GtkTreeIter child_iter;
344
gtk_tree_model_get (model, iter,
345
EV_DOCUMENT_LAYERS_COLUMN_VISIBLE, &visible,
346
EV_DOCUMENT_LAYERS_COLUMN_LAYER, &layer,
349
gboolean layer_visible;
351
layer_visible = ev_document_layers_layer_is_visible (document_layers, layer);
352
if (layer_visible != visible) {
353
gtk_tree_store_set (GTK_TREE_STORE (model), iter,
354
EV_DOCUMENT_LAYERS_COLUMN_VISIBLE, layer_visible,
359
if (gtk_tree_model_iter_children (model, &child_iter, iter))
360
update_layers_state (model, &child_iter, document_layers);
361
} while (gtk_tree_model_iter_next (model, iter));
365
ev_sidebar_layers_update_layers_state (EvSidebarLayers *sidebar_layers)
369
EvDocumentLayers *document_layers;
371
document_layers = EV_DOCUMENT_LAYERS (sidebar_layers->priv->document);
372
model = gtk_tree_view_get_model (GTK_TREE_VIEW (sidebar_layers->priv->tree_view));
373
if (gtk_tree_model_get_iter_first (model, &iter))
374
update_layers_state (model, &iter, document_layers);
335
378
job_finished_callback (EvJobLayers *job,
336
379
EvSidebarLayers *sidebar_layers)
405
ev_sidebar_layers_page_iface_init (EvSidebarPageIface *iface)
448
ev_sidebar_layers_page_iface_init (EvSidebarPageInterface *iface)
407
450
iface->support_document = ev_sidebar_layers_support_document;
408
451
iface->set_model = ev_sidebar_layers_set_model;