Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

executable file 134 lines (105 sloc) 3.898 kb
/*
* Copyright © 2009-2014 Siyan Panayotov <siyan.panayotov@gmail.com>
*
* This file is part of Viewnior.
*
* Viewnior is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Viewnior is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Viewnior. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __VNR_WINDOW_H__
#define __VNR_WINDOW_H__
#include <glib.h>
#include <glib-object.h>
#include <gtk/gtk.h>
#include "vnr-prefs.h"
G_BEGIN_DECLS
typedef struct _VnrWindow VnrWindow;
typedef struct _VnrWindowClass VnrWindowClass;
#define VNR_TYPE_WINDOW (vnr_window_get_type ())
#define VNR_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VNR_TYPE_WINDOW, VnrWindow))
#define VNR_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VNR_TYPE_WINDOW, VnrWindowClass))
#define VNR_IS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VNR_TYPE_WINDOW))
#define VNR_IS_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VNR_TYPE_WINDOW))
#define VNR_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VNR_TYPE_WINDOW, VnrWindowClass))
typedef enum {
VNR_WINDOW_MODE_NORMAL,
VNR_WINDOW_MODE_FULLSCREEN,
VNR_WINDOW_MODE_SLIDESHOW,
} VnrWindowMode;
struct _VnrWindow {
GtkWindow win;
GtkUIManager *ui_mngr;
GtkActionGroup *actions_window;
GtkActionGroup *actions_image;
GtkActionGroup *actions_static_image;
GtkActionGroup *actions_collection;
GtkActionGroup *action_save;
GtkActionGroup *action_properties;
GtkActionGroup *actions_bars;
GtkActionGroup *actions_open_with;
guint open_with_menu_id;
GtkWidget *layout;
GtkWidget *menus;
GtkWidget *menu_bar;
GtkWidget *button_menu;
GtkWidget *toolbar;
GtkWidget *properties_button;
GtkWidget *popup_menu;
GtkWidget *msg_area;
GtkWidget *props_dlg;
GtkWidget *view;
GtkWidget *scroll_view;
GList *file_list;
VnrPrefs *prefs;
gint max_width;
gint max_height;
gchar *writable_format_name;
gint current_image_height;
gint current_image_width;
VnrWindowMode mode;
guint8 modifications;
gboolean cursor_is_hidden;
/* Fullscreen (fs) variables */
GtkWidget *fs_controls;
GtkWidget *toggle_btn;
GtkWidget *fs_seconds_label;
GtkWidget *fs_filename_label;
GSource *fs_source;
gboolean disable_autohide;
/* Slideshow (ss) variables */
gboolean slideshow;
guint ss_source_tag;
gint ss_timeout;
GtkWidget *ss_timeout_widget;
GtkActionGroup *action_wallpaper;
};
struct _VnrWindowClass {
GtkWindowClass parent_class;
};
GType vnr_window_get_type (void) G_GNUC_CONST;
/* Constructors */
GtkWindow* vnr_window_new (void);
/* Actions */
gboolean vnr_window_open (VnrWindow *win, gboolean fit_to_screen);
void vnr_window_open_from_list (VnrWindow *window, GSList *uri_list);
void vnr_window_close (VnrWindow *win);
void vnr_window_set_list (VnrWindow *win, GList *list, gboolean free_current);
gboolean vnr_window_next (VnrWindow *win, gboolean rem_timeout);
gboolean vnr_window_prev (VnrWindow *win);
gboolean vnr_window_first (VnrWindow *win);
gboolean vnr_window_last (VnrWindow *win);
void deny_slideshow (VnrWindow *window);
void vnr_window_apply_preferences (VnrWindow *window);
void vnr_window_toggle_fullscreen (VnrWindow *win);
G_END_DECLS
#endif /* __VNR_WINDOW_H__ */
Jump to Line
Something went wrong with that request. Please try again.