[Goodies-commits] r2948 - ristretto/trunk/src
Stephan Arts
stephan at xfce.org
Sun Aug 5 01:46:52 CEST 2007
Author: stephan
Date: 2007-08-04 23:46:52 +0000 (Sat, 04 Aug 2007)
New Revision: 2948
Modified:
ristretto/trunk/src/navigator.c
ristretto/trunk/src/thumbnail_viewer.c
Log:
fixed issues
Modified: ristretto/trunk/src/navigator.c
===================================================================
--- ristretto/trunk/src/navigator.c 2007-08-04 23:13:27 UTC (rev 2947)
+++ ristretto/trunk/src/navigator.c 2007-08-04 23:46:52 UTC (rev 2948)
@@ -45,7 +45,7 @@
GdkPixbuf *pixbuf;
};
-static RsttoNavigatorEntry *
+RsttoNavigatorEntry *
_rstto_navigator_entry_new (ThunarVfsInfo *info);
static void
_rstto_navigator_entry_free(RsttoNavigatorEntry *nav_entry);
@@ -141,7 +141,7 @@
if(navigator->file_list)
{
- g_list_foreach(navigator->file_list, (GFunc)thunar_vfs_info_unref, NULL);
+ g_list_foreach(navigator->file_list, (GFunc)_rstto_navigator_entry_free, NULL);
navigator->file_list = NULL;
navigator->file_iter = NULL;
}
@@ -176,30 +176,35 @@
{
ThunarVfsPath *file_path = thunar_vfs_path_relative(navigator->path, filename);
ThunarVfsInfo *file_info = thunar_vfs_info_new_for_path(file_path, NULL);
- gchar *file_media = thunar_vfs_mime_info_get_media(file_info->mime_info);
- if(!strcmp(file_media, "image"))
+ if(file_info)
{
- RsttoNavigatorEntry *nav_entry = _rstto_navigator_entry_new(file_info);
+ gchar *file_media = thunar_vfs_mime_info_get_media(file_info->mime_info);
+ if(!strcmp(file_media, "image"))
+ {
+ RsttoNavigatorEntry *nav_entry = _rstto_navigator_entry_new(file_info);
- if(thunar_vfs_path_equal(path, file_path))
+ if(thunar_vfs_path_equal(path, file_path))
+ {
+ navigator->file_list = g_list_prepend(navigator->file_list, nav_entry);
+ navigator->file_iter = navigator->file_list;
+ }
+ else
+ {
+ if(index_path)
+ navigator->file_list = g_list_prepend(navigator->file_list, nav_entry);
+ else
+ _rstto_navigator_entry_free(nav_entry);
+ }
+ }
+ else
{
- navigator->file_list = g_list_prepend(navigator->file_list, nav_entry);
- navigator->file_iter = navigator->file_list;
+ thunar_vfs_info_unref(file_info);
}
- else
- if(index_path)
- navigator->file_list = g_list_prepend(navigator->file_list, nav_entry);
- else
- _rstto_navigator_entry_free(nav_entry);
+ g_free(file_media);
}
- else
- {
- thunar_vfs_info_unref(file_info);
- }
thunar_vfs_path_unref(file_path);
filename = g_dir_read_name(dir);
- g_free(file_media);
}
g_free(dir_name);
if(!navigator->file_iter)
@@ -235,7 +240,8 @@
if(navigator->file_iter)
{
- gchar *filename = thunar_vfs_path_dup_string(((ThunarVfsInfo *)navigator->file_iter->data)->path);
+ ThunarVfsInfo *info = rstto_navigator_entry_get_info(((RsttoNavigatorEntry *)navigator->file_iter->data));
+ gchar *filename = thunar_vfs_path_dup_string(info->path);
GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file(filename , NULL);
if(!pixbuf)
{
@@ -262,7 +268,8 @@
if(navigator->file_iter)
{
- gchar *filename = thunar_vfs_path_dup_string(((ThunarVfsInfo *)navigator->file_iter->data)->path);
+ ThunarVfsInfo *info = rstto_navigator_entry_get_info(((RsttoNavigatorEntry *)navigator->file_iter->data));
+ gchar *filename = thunar_vfs_path_dup_string(info->path);
GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file(filename , NULL);
if(!pixbuf)
{
@@ -297,16 +304,20 @@
return g_list_nth_data(navigator->file_list, n);
}
-static RsttoNavigatorEntry *
+RsttoNavigatorEntry *
_rstto_navigator_entry_new (ThunarVfsInfo *info)
{
- RsttoNavigatorEntry *entry = g_new(RsttoNavigatorEntry, 1);
+ RsttoNavigatorEntry *entry = NULL;
gchar *filename = thunar_vfs_path_dup_string(info->path);
+ if(filename)
+ {
+ entry = g_new0(RsttoNavigatorEntry, 1);
- entry->info = info;
- entry->pixbuf = gdk_pixbuf_new_from_file_at_size(filename, 64, 64, NULL);
+ entry->info = info;
+ entry->pixbuf = gdk_pixbuf_new_from_file_at_size(filename, 64, 64, NULL);
- g_free(filename);
+ g_free(filename);
+ }
return entry;
}
Modified: ristretto/trunk/src/thumbnail_viewer.c
===================================================================
--- ristretto/trunk/src/thumbnail_viewer.c 2007-08-04 23:13:27 UTC (rev 2947)
+++ ristretto/trunk/src/thumbnail_viewer.c 2007-08-04 23:46:52 UTC (rev 2948)
@@ -57,6 +57,9 @@
static GtkWidgetClass *parent_class = NULL;
+static void
+cb_rstto_thumbnailer_nav_file_changed(RsttoNavigator *nav, RsttoThumbnailViewer *viewer);
+
GType
rstto_thumbnail_viewer_get_type ()
{
@@ -222,7 +225,6 @@
PangoContext *pc = gtk_widget_get_pango_context(widget);
PangoLayout *pl = pango_layout_new(pc);
- pango_layout_set_text(pl, "Ristretto Image Viewer", 22);
pango_layout_set_width(pl, (dimension - 24) * PANGO_SCALE);
pango_layout_set_ellipsize(pl, PANGO_ELLIPSIZE_MIDDLE);
@@ -257,7 +259,8 @@
TRUE,
(i*dimension)+12, 12, inner_dimension, inner_dimension-12);
*/
- gdk_draw_pixbuf(GDK_DRAWABLE(widget->window),
+ if(pixbuf)
+ gdk_draw_pixbuf(GDK_DRAWABLE(widget->window),
gc,
pixbuf,
0, 0,
@@ -292,5 +295,13 @@
viewer->priv->navigator = navigator;
+ g_signal_connect(G_OBJECT(navigator), "file-changed", G_CALLBACK(cb_rstto_thumbnailer_nav_file_changed), viewer);
+
return (GtkWidget *)viewer;
}
+
+static void
+cb_rstto_thumbnailer_nav_file_changed(RsttoNavigator *nav, RsttoThumbnailViewer *viewer)
+{
+
+}
More information about the Goodies-commits
mailing list