summaryrefslogtreecommitdiffstats
path: root/src/dialogs/eek-preview.cpp
diff options
context:
space:
mode:
authorJon A. Cruz <jon@joncruz.org>2009-02-16 23:56:03 +0000
committerjoncruz <joncruz@users.sourceforge.net>2009-02-16 23:56:03 +0000
commitf7605bed9d7c2419c0e79ad952920f5830ccddc1 (patch)
tree4a4b969206585b16b0c9fad2753498fd876755b2 /src/dialogs/eek-preview.cpp
parentfoldable-box extension - first version, not good yet (diff)
downloadinkscape-f7605bed9d7c2419c0e79ad952920f5830ccddc1.tar.gz
inkscape-f7605bed9d7c2419c0e79ad952920f5830ccddc1.zip
Move app-specific logic and file operations up from the lower level.
(bzr r7308)
Diffstat (limited to 'src/dialogs/eek-preview.cpp')
-rw-r--r--src/dialogs/eek-preview.cpp31
1 files changed, 14 insertions, 17 deletions
diff --git a/src/dialogs/eek-preview.cpp b/src/dialogs/eek-preview.cpp
index b562c2af5..e0d0fb4e2 100644
--- a/src/dialogs/eek-preview.cpp
+++ b/src/dialogs/eek-preview.cpp
@@ -42,7 +42,6 @@
#include <gtk/gtk.h>
#include "eek-preview.h"
-#include "path-prefix.h"
#define PRIME_BUTTON_MAGIC_NUMBER 1
@@ -69,6 +68,14 @@ void eek_preview_set_color( EekPreview* preview, int r, int g, int b )
}
+void eek_preview_set_pixbuf( EekPreview* preview, GdkPixbuf* pixbuf )
+{
+ preview->_previewPixbuf = pixbuf;
+
+ gtk_widget_queue_draw(GTK_WIDGET(preview));
+}
+
+
GType eek_preview_get_type(void)
{
static GType preview_type = 0;
@@ -307,24 +314,13 @@ gboolean eek_preview_expose_event( GtkWidget* widget, GdkEventExpose* event )
}
}
- if (preview->_isRemove){
+ if ( preview->_previewPixbuf ) {
GtkDrawingArea* da = &(preview->drawing);
GdkDrawable* drawable = (GdkDrawable*) (((GtkWidget*)da)->window);
- gint w,h;
+ gint w = 0;
+ gint h = 0;
gdk_drawable_get_size(drawable, &w, &h);
- GError *error = NULL;
- gchar *filepath = (gchar *) g_strdup_printf("%s/remove-color.png", INKSCAPE_PIXMAPDIR);
- gsize bytesRead = 0;
- gsize bytesWritten = 0;
- gchar *localFilename = g_filename_from_utf8( filepath,
- -1,
- &bytesRead,
- &bytesWritten,
- &error);
- GdkPixbuf* pixbuf = gdk_pixbuf_new_from_file_at_scale(localFilename, w, h, FALSE, &error);
- gdk_draw_pixbuf(drawable, 0, pixbuf, 0, 0, 0, 0, w, h, GDK_RGB_DITHER_NONE, 0, 0);
- g_free(localFilename);
- g_free(filepath);
+ gdk_draw_pixbuf( drawable, 0, preview->_previewPixbuf, 0, 0, 0, 0, w, h, GDK_RGB_DITHER_NONE, 0, 0 );
}
@@ -655,13 +651,14 @@ static void eek_preview_init( EekPreview *preview )
preview->_hot = FALSE;
preview->_within = FALSE;
preview->_takesFocus = FALSE;
- preview->_isRemove = FALSE;
preview->_prevstyle = PREVIEW_STYLE_ICON;
preview->_view = VIEW_TYPE_LIST;
preview->_size = PREVIEW_SIZE_SMALL;
preview->_ratio = 100;
+ preview->_previewPixbuf = 0;
+
/*
GdkColor color = {0};
color.red = (255 << 8) | 255;