1
0
mirror of https://gitlab.gnome.org/GNOME/evince synced 2024-07-07 19:39:49 +00:00
evince/shell/ev-sidebar-attachments.h
Germán Poo-Caamaño 469732c119 shell: Fix DnD support for attachments
Follows XDS if available. Otherwise, uses temporary files as
fallback.

This patch only enables drag and drop of one file. If several
files are selected, only the first one will be saved. The limitation
relies on the XDS specification, which does not support more than
one file, as was also found in Gedit: See Bug 710546#c4.

Partially fixes https://bugzilla.gnome.org/show_bug.cgi?id=683316
2018-05-18 19:20:20 -04:00

66 lines
2.6 KiB
C

/* ev-sidebar-attachments.h
* this file is part of evince, a gnome document viewer
*
* Copyright (C) 2006 Carlos Garcia Campos
*
* Author:
* Carlos Garcia Campos <carlosgc@gnome.org>
*
* Evince 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 2 of the License, or
* (at your option) any later version.
*
* Evince 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 this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef __EV_SIDEBAR_ATTACHMENTS_H__
#define __EV_SIDEBAR_ATTACHMENTS_H__
#include "ev-attachment.h"
#include "ev-document.h"
G_BEGIN_DECLS
typedef struct _EvSidebarAttachments EvSidebarAttachments;
typedef struct _EvSidebarAttachmentsClass EvSidebarAttachmentsClass;
typedef struct _EvSidebarAttachmentsPrivate EvSidebarAttachmentsPrivate;
#define EV_TYPE_SIDEBAR_ATTACHMENTS (ev_sidebar_attachments_get_type())
#define EV_SIDEBAR_ATTACHMENTS(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EV_TYPE_SIDEBAR_ATTACHMENTS, EvSidebarAttachments))
#define EV_SIDEBAR_ATTACHMENTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EV_TYPE_SIDEBAR_ATTACHMENTS, EvSidebarAttachmentsClass))
#define EV_IS_SIDEBAR_ATTACHMENTS(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EV_TYPE_SIDEBAR_ATTACHMENTS))
#define EV_IS_SIDEBAR_ATTACHMENTS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), EV_TYPE_SIDEBAR_ATTACHMENTS))
#define EV_SIDEBAR_ATTACHMENTS_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS((object), EV_TYPE_SIDEBAR_ATTACHMENTS, EvSidebarAttachmentsClass))
struct _EvSidebarAttachments {
GtkBox base_instance;
EvSidebarAttachmentsPrivate *priv;
};
struct _EvSidebarAttachmentsClass {
GtkBoxClass base_class;
/* Signals */
void (*popup_menu) (EvSidebarAttachments *ev_attachbar,
EvAttachment *attachment);
void (*save_attachment) (EvSidebarAttachments *ev_attachbar,
EvAttachment *attachment,
const char *uri);
};
GType ev_sidebar_attachments_get_type (void) G_GNUC_CONST;
GtkWidget *ev_sidebar_attachments_new (void);
G_END_DECLS
#endif /* __EV_SIDEBAR_ATTACHMENTS_H__ */