[Goodies-commits] r3067 - in ristretto/trunk: . src
Stephan Arts
stephan at xfce.org
Fri Aug 24 19:57:29 CEST 2007
Author: stephan
Date: 2007-08-24 17:57:29 +0000 (Fri, 24 Aug 2007)
New Revision: 3067
Modified:
ristretto/trunk/configure.in.in
ristretto/trunk/src/main.c
Log:
Bump gtk version and add settings support
Modified: ristretto/trunk/configure.in.in
===================================================================
--- ristretto/trunk/configure.in.in 2007-08-24 13:50:10 UTC (rev 3066)
+++ ristretto/trunk/configure.in.in 2007-08-24 17:57:29 UTC (rev 3067)
@@ -111,6 +111,7 @@
XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.12.0])
XDT_CHECK_PACKAGE([GOBJECT], [gobject-2.0], [2.12.0])
XDT_CHECK_PACKAGE([THUNAR_VFS], [thunar-vfs-1], [0.4.0])
+XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.4.0])
dnl check for debugging support
Modified: ristretto/trunk/src/main.c
===================================================================
--- ristretto/trunk/src/main.c 2007-08-24 13:50:10 UTC (rev 3066)
+++ ristretto/trunk/src/main.c 2007-08-24 17:57:29 UTC (rev 3067)
@@ -97,6 +97,8 @@
static GtkWidget *main_vbox1;
static GtkWidget *thumbnail_viewer;
static GtkRecentManager *recent_manager;
+static XfceRc *xfce_rc;
+static const gchar *thumbnail_viewer_orientation;
int main(int argc, char **argv)
{
@@ -118,6 +120,9 @@
gtk_window_set_default_icon_name("ristretto");
recent_manager = gtk_recent_manager_get_default();
+ xfce_rc = xfce_rc_config_open(XFCE_RESOURCE_CONFIG, PACKAGE_NAME, FALSE);
+
+ thumbnail_viewer_orientation = xfce_rc_read_entry(xfce_rc, "ThumbnailViewerOrientation", "horizontal");
GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
GtkAccelGroup *accel_group = gtk_accel_group_new();
@@ -310,8 +315,20 @@
gtk_box_pack_start(GTK_BOX(main_hbox), main_vbox1, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(main_vbox1), s_window, TRUE, TRUE, 0);
- gtk_box_pack_start(GTK_BOX(main_vbox1), thumbnail_viewer, FALSE, TRUE, 0);
+ if(!strcmp(thumbnail_viewer_orientation, "horizontal"))
+ {
+ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM(menu_item_htv), TRUE);
+ gtk_box_pack_start(GTK_BOX(main_vbox1), thumbnail_viewer, FALSE, TRUE, 0);
+ rstto_thumbnail_viewer_set_orientation(RSTTO_THUMBNAIL_VIEWER(thumbnail_viewer), GTK_ORIENTATION_HORIZONTAL);
+ }
+ else
+ {
+ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM(menu_item_vtv), TRUE);
+ gtk_box_pack_start(GTK_BOX(main_hbox), thumbnail_viewer, FALSE, TRUE, 0);
+ rstto_thumbnail_viewer_set_orientation(RSTTO_THUMBNAIL_VIEWER(thumbnail_viewer), GTK_ORIENTATION_VERTICAL);
+ }
+
gtk_box_pack_start(GTK_BOX(main_vbox), menu_bar, FALSE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(main_vbox), app_tool_bar, FALSE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(main_vbox), main_hbox, TRUE, TRUE, 0);
@@ -370,8 +387,16 @@
gtk_widget_hide(menu_item_pause);
gtk_widget_show(viewer);
+ if(!strcmp(thumbnail_viewer_orientation, "hide"))
+ {
+ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM(menu_item_ntv), TRUE);
+ gtk_widget_hide(GTK_WIDGET(thumbnail_viewer));
+ }
+
gtk_main();
+ xfce_rc_flush(xfce_rc);
+ xfce_rc_close(xfce_rc);
return 0;
}
@@ -401,95 +426,8 @@
rstto_picture_viewer_set_scale(viewer, scale/1.2);
}
-static void
-cb_rstto_open(GtkToolItem *item, RsttoNavigator *navigator)
-{
- GtkWidget *window = gtk_widget_get_toplevel(GTK_WIDGET(item));
- GtkWidget *dialog = gtk_file_chooser_dialog_new(_("Open image"),
- GTK_WINDOW(window),
- GTK_FILE_CHOOSER_ACTION_OPEN,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_OPEN, GTK_RESPONSE_OK,
- NULL);
-
- gint response = gtk_dialog_run(GTK_DIALOG(dialog));
- if(response == GTK_RESPONSE_OK)
- {
- const gchar *filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
-
- ThunarVfsPath *path = thunar_vfs_path_new(filename, NULL);
- if (path)
- {
- ThunarVfsInfo *info = thunar_vfs_info_new_for_path(path, NULL);
- gchar *file_media = thunar_vfs_mime_info_get_media(info->mime_info);
- if(!strcmp(file_media, "image"))
- {
- RsttoNavigatorEntry *entry = rstto_navigator_entry_new(info);
- rstto_navigator_add (navigator, entry);
-
- gchar *uri = thunar_vfs_path_dup_uri(info->path);
- gtk_recent_manager_add_item(recent_manager, uri);
- g_free(uri);
- }
- g_free(file_media);
- thunar_vfs_path_unref(path);
- }
-
-
- }
-
- gtk_widget_destroy(dialog);
-}
-
static void
-cb_rstto_open_dir(GtkToolItem *item, RsttoNavigator *navigator)
-{
- GtkWidget *window = gtk_widget_get_toplevel(GTK_WIDGET(item));
-
- GtkWidget *dialog = gtk_file_chooser_dialog_new(_("Open folder"),
- GTK_WINDOW(window),
- GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_OPEN, GTK_RESPONSE_OK,
- NULL);
-
- gint response = gtk_dialog_run(GTK_DIALOG(dialog));
- if(response == GTK_RESPONSE_OK)
- {
- rstto_navigator_clear(navigator);
- const gchar *dir_name = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
- GDir *dir = g_dir_open(dir_name, 0, NULL);
- if (dir)
- {
- const gchar *filename = g_dir_read_name(dir);
- while (filename)
- {
- gchar *path_name = g_strconcat(dir_name, "/", filename, NULL);
- ThunarVfsPath *path = thunar_vfs_path_new(path_name, NULL);
- if (path)
- {
- ThunarVfsInfo *info = thunar_vfs_info_new_for_path(path, NULL);
- gchar *file_media = thunar_vfs_mime_info_get_media(info->mime_info);
- if(!strcmp(file_media, "image"))
- {
- RsttoNavigatorEntry *entry = rstto_navigator_entry_new(info);
- rstto_navigator_add (navigator, entry);
- }
- g_free(file_media);
- thunar_vfs_path_unref(path);
- }
- g_free(path_name);
- filename = g_dir_read_name(dir);
- }
- }
-
- }
-
- gtk_widget_destroy(dialog);
-}
-
-static void
cb_rstto_help_about(GtkToolItem *item, GtkWindow *window)
{
const gchar *authors[] = {
@@ -626,6 +564,7 @@
rstto_thumbnail_viewer_set_orientation(viewer, GTK_ORIENTATION_VERTICAL);
gtk_box_pack_start(GTK_BOX(main_hbox), thumbnail_viewer, FALSE, TRUE, 0);
gtk_widget_show(GTK_WIDGET(viewer));
+ xfce_rc_write_entry(xfce_rc, "ThumbnailViewerOrientation", "vertical");
}
static void
@@ -637,12 +576,14 @@
rstto_thumbnail_viewer_set_orientation(viewer, GTK_ORIENTATION_HORIZONTAL);
gtk_box_pack_start(GTK_BOX(main_vbox1), thumbnail_viewer, FALSE, TRUE, 0);
gtk_widget_show(GTK_WIDGET(viewer));
+ xfce_rc_write_entry(xfce_rc, "ThumbnailViewerOrientation", "horizontal");
}
static void
cb_rstto_hide_tv(GtkWidget *widget, RsttoThumbnailViewer *viewer)
{
gtk_widget_hide(GTK_WIDGET(viewer));
+ xfce_rc_write_entry(xfce_rc, "ThumbnailViewerOrientation", "hide");
}
static void
@@ -738,6 +679,97 @@
}
static void
+cb_rstto_open(GtkToolItem *item, RsttoNavigator *navigator)
+{
+ GtkWidget *window = gtk_widget_get_toplevel(GTK_WIDGET(item));
+
+ GtkWidget *dialog = gtk_file_chooser_dialog_new(_("Open image"),
+ GTK_WINDOW(window),
+ GTK_FILE_CHOOSER_ACTION_OPEN,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ GTK_STOCK_OPEN, GTK_RESPONSE_OK,
+ NULL);
+
+ gint response = gtk_dialog_run(GTK_DIALOG(dialog));
+ if(response == GTK_RESPONSE_OK)
+ {
+ const gchar *filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
+
+ ThunarVfsPath *path = thunar_vfs_path_new(filename, NULL);
+ if (path)
+ {
+ ThunarVfsInfo *info = thunar_vfs_info_new_for_path(path, NULL);
+ gchar *file_media = thunar_vfs_mime_info_get_media(info->mime_info);
+ if(!strcmp(file_media, "image"))
+ {
+ RsttoNavigatorEntry *entry = rstto_navigator_entry_new(info);
+ rstto_navigator_add (navigator, entry);
+
+ gchar *uri = thunar_vfs_path_dup_uri(info->path);
+ gtk_recent_manager_add_item(recent_manager, uri);
+ g_free(uri);
+ }
+ g_free(file_media);
+ thunar_vfs_path_unref(path);
+ }
+
+
+ }
+
+ gtk_widget_destroy(dialog);
+}
+
+static void
+cb_rstto_open_dir(GtkToolItem *item, RsttoNavigator *navigator)
+{
+ GtkWidget *window = gtk_widget_get_toplevel(GTK_WIDGET(item));
+
+ GtkWidget *dialog = gtk_file_chooser_dialog_new(_("Open folder"),
+ GTK_WINDOW(window),
+ GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ GTK_STOCK_OPEN, GTK_RESPONSE_OK,
+ NULL);
+
+ gint response = gtk_dialog_run(GTK_DIALOG(dialog));
+ if(response == GTK_RESPONSE_OK)
+ {
+ rstto_navigator_clear(navigator);
+ const gchar *dir_name = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
+ GDir *dir = g_dir_open(dir_name, 0, NULL);
+ if (dir)
+ {
+ const gchar *filename = g_dir_read_name(dir);
+ while (filename)
+ {
+ gchar *path_name = g_strconcat(dir_name, "/", filename, NULL);
+ ThunarVfsPath *path = thunar_vfs_path_new(path_name, NULL);
+ if (path)
+ {
+ ThunarVfsInfo *info = thunar_vfs_info_new_for_path(path, NULL);
+ gchar *file_media = thunar_vfs_mime_info_get_media(info->mime_info);
+ if(!strcmp(file_media, "image"))
+ {
+ RsttoNavigatorEntry *entry = rstto_navigator_entry_new(info);
+ rstto_navigator_add (navigator, entry);
+ }
+ g_free(file_media);
+ thunar_vfs_path_unref(path);
+ }
+ g_free(path_name);
+ filename = g_dir_read_name(dir);
+ }
+ gchar *uri = gtk_file_chooser_get_uri(GTK_FILE_CHOOSER(dialog));
+ gtk_recent_manager_add_item(recent_manager, uri);
+ g_free(uri);
+
+ }
+
+ }
+ gtk_widget_destroy(dialog);
+}
+
+static void
cb_rstto_open_recent(GtkRecentChooser *chooser, RsttoNavigator *navigator)
{
gchar *uri = gtk_recent_chooser_get_current_uri(chooser);
More information about the Goodies-commits
mailing list