*
* 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.
*/
#ifdef HAVE_CONFIG_H
GHashTable *icon_cache;
};
-static void ev_sidebar_attachments_page_iface_init (EvSidebarPageIface *iface);
+static void ev_sidebar_attachments_page_iface_init (EvSidebarPageInterface *iface);
G_DEFINE_TYPE_EXTENDED (EvSidebarAttachments,
ev_sidebar_attachments,
GdkEventButton *event,
GtkWidget *icon_view)
{
- if (!GTK_WIDGET_HAS_FOCUS (icon_view)) {
+ if (!gtk_widget_has_focus (icon_view)) {
gtk_widget_grab_focus (icon_view);
}
GtkTreePath *path;
GtkTreeIter iter;
GFile *file;
- gchar *filename;
+ gchar *template;
GError *error = NULL;
path = (GtkTreePath *) l->data;
COLUMN_ATTACHMENT, &attachment,
-1);
- filename = g_build_filename (ev_tmp_dir (),
- ev_attachment_get_name (attachment),
- NULL);
- file = g_file_new_for_path (filename);
- g_free (filename);
+ /* FIXMEchpe: convert to filename encoding first! */
+ template = g_strdup_printf ("%s.XXXXXX", ev_attachment_get_name (attachment));
+ file = ev_mkstemp_file (template, &error);
+ g_free (template);
- if (ev_attachment_save (attachment, file, &error)) {
+ if (file != NULL && ev_attachment_save (attachment, file, &error)) {
gchar *uri;
uri = g_file_get_uri (file);
static void
ev_sidebar_attachments_init (EvSidebarAttachments *ev_attachbar)
{
-#if !GTK_CHECK_VERSION (2, 15, 0)
- const GtkTargetEntry drag_targets[] = {
- { "text/uri-list", 0, 0 }
- };
-#endif
-
GtkWidget *swindow;
ev_attachbar->priv = EV_SIDEBAR_ATTACHMENTS_GET_PRIVATE (ev_attachbar);
g_object_unref);
/* Drag and Drop */
-#if GTK_CHECK_VERSION (2, 15, 0)
gtk_icon_view_enable_model_drag_source (
GTK_ICON_VIEW (ev_attachbar->priv->icon_view),
GDK_BUTTON1_MASK,
NULL, 0,
GDK_ACTION_COPY);
gtk_drag_source_add_uri_targets (ev_attachbar->priv->icon_view);
-#else
- gtk_icon_view_enable_model_drag_source (
- GTK_ICON_VIEW (ev_attachbar->priv->icon_view),
- GDK_BUTTON1_MASK,
- drag_targets,
- G_N_ELEMENTS (drag_targets),
- GDK_ACTION_COPY);
-#endif
g_signal_connect (ev_attachbar->priv->icon_view,
"drag-data-get",
}
static void
-ev_sidebar_attachments_page_iface_init (EvSidebarPageIface *iface)
+ev_sidebar_attachments_page_iface_init (EvSidebarPageInterface *iface)
{
iface->support_document = ev_sidebar_attachments_support_document;
iface->set_model = ev_sidebar_attachments_set_model;