gchar *file;
MimeInfo *mimeinfo;
+ gboolean resize_img;
GtkWidget *scrolledwin;
GtkWidget *image;
return;
}
- if (imageviewerprefs.resize_img) {
+ if (imageviewer->resize_img) {
avail_width = imageviewer->notebook->parent->allocation.width;
avail_height = imageviewer->notebook->parent->allocation.height;
if (avail_width > 8) avail_width -= 8;
return;
}
- if (imageviewerprefs.resize_img) {
+ if (imageviewer->resize_img) {
avail_width = imageviewer->notebook->parent->allocation.width;
avail_height = imageviewer->notebook->parent->allocation.height;
if (avail_width > 8) avail_width -= 8;
g_free(imageviewer->file);
imageviewer->file = NULL;
imageviewer->mimeinfo = NULL;
+ imageviewer->resize_img = imageviewerprefs.resize_img;
}
static void image_viewer_destroy_viewer(MimeViewer *_mimeviewer)
image_viewer_load_image(imageviewer);
}
+static gboolean scrolledwin_button_cb(GtkWidget *scrolledwin, GdkEventButton *event,
+ ImageViewer *imageviewer)
+{
+ if (event->button == 1 && imageviewer->image) {
+ imageviewer->resize_img = !imageviewer->resize_img;
+ image_viewer_load_image(imageviewer);
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static void scrolledwin_resize_cb(GtkWidget *scrolledwin, GtkAllocation *alloc,
+ ImageViewer *imageviewer)
+{
+ if (imageviewer->resize_img)
+ image_viewer_load_image(imageviewer);
+}
+
MimeViewer *image_viewer_create(void)
{
ImageViewer *imageviewer;
imageviewer->mimeviewer.clear_viewer = image_viewer_clear_viewer;
imageviewer->mimeviewer.destroy_viewer = image_viewer_destroy_viewer;
+ imageviewer->resize_img = imageviewerprefs.resize_img;
+
imageviewer->scrolledwin = scrolledwin;
imageviewer->image = NULL;
imageviewer->notebook = notebook;
gtk_signal_connect(GTK_OBJECT(load_button), "released",
GTK_SIGNAL_FUNC(load_cb), imageviewer);
+ gtk_signal_connect(GTK_OBJECT(scrolledwin), "button-press-event",
+ GTK_SIGNAL_FUNC(scrolledwin_button_cb), imageviewer);
+ gtk_signal_connect(GTK_OBJECT(scrolledwin), "size-allocate",
+ GTK_SIGNAL_FUNC(scrolledwin_resize_cb), imageviewer);
image_viewer_set_notebook_page((MimeViewer *)imageviewer);
(GtkAttachOptions) (0), 0, 0);
gtk_misc_set_alignment(GTK_MISC(label14), 0, 0.5);
- label15 = gtk_label_new(_("Resize attached images"));
+ label15 = gtk_label_new(_("Resize attached images by default\n(Clicking image toggles scaling)"));
gtk_widget_show(label15);
gtk_table_attach(GTK_TABLE(table2), label15, 0, 1, 1, 2,
(GtkAttachOptions) (GTK_FILL),