[Goodies-commits] r2970 - ristretto/trunk/src
Stephan Arts
stephan at xfce.org
Tue Aug 7 22:27:08 CEST 2007
Author: stephan
Date: 2007-08-07 20:27:08 +0000 (Tue, 07 Aug 2007)
New Revision: 2970
Modified:
ristretto/trunk/src/main.c
ristretto/trunk/src/thumbnail_viewer.c
ristretto/trunk/src/thumbnail_viewer.h
Log:
Add Thumbnail viewer orientation switching
Modified: ristretto/trunk/src/main.c
===================================================================
--- ristretto/trunk/src/main.c 2007-08-07 18:21:30 UTC (rev 2969)
+++ ristretto/trunk/src/main.c 2007-08-07 20:27:08 UTC (rev 2970)
@@ -61,6 +61,13 @@
cb_rstto_toggle_fullscreen(GtkToolItem *item, GtkWindow *window);
static void
+cb_rstto_show_tv_v(GtkWidget *widget, RsttoThumbnailViewer *viewer);
+static void
+cb_rstto_show_tv_h(GtkWidget *widget, RsttoThumbnailViewer *viewer);
+static void
+cb_rstto_hide_tv(GtkWidget *widget, RsttoThumbnailViewer *viewer);
+
+static void
cb_rstto_key_press_event(GtkWidget *widget, GdkEventKey *event, RsttoNavigator *navigator);
static void
@@ -76,6 +83,10 @@
static GtkWidget *menu_item_play;
static GtkWidget *menu_item_pause;
+static GtkWidget *main_hbox;
+static GtkWidget *main_vbox1;
+static GtkWidget *thumbnail_viewer;
+
int main(int argc, char **argv)
{
ThunarVfsPath *path = NULL;
@@ -115,9 +126,9 @@
GtkWidget *s_window = gtk_scrolled_window_new(NULL,NULL);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(s_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
GtkWidget *main_vbox = gtk_vbox_new(0, FALSE);
- GtkWidget *main_hbox = gtk_hbox_new(0, FALSE);
- GtkWidget *main_vbox1 = gtk_vbox_new(0, FALSE);
- GtkWidget *thumbnail_viewer = rstto_thumbnail_viewer_new(navigator);
+ main_hbox = gtk_hbox_new(0, FALSE);
+ main_vbox1 = gtk_vbox_new(0, FALSE);
+ thumbnail_viewer = rstto_thumbnail_viewer_new(navigator);
menu_bar = gtk_menu_bar_new();
image_tool_bar = gtk_toolbar_new();
app_tool_bar = gtk_toolbar_new();
@@ -142,12 +153,24 @@
gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu_item_edit), menu_edit);
GtkWidget *menu_item_view = gtk_menu_item_new_with_mnemonic(_("_View"));
+ GtkWidget *menu_item_tv = gtk_menu_item_new_with_mnemonic(_("Thumbnail Viewer"));
GtkWidget *menu_item_view_fs = gtk_image_menu_item_new_from_stock(GTK_STOCK_FULLSCREEN, NULL);
GtkWidget *menu_view = gtk_menu_new();
gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu_item_view), menu_view);
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu_view), menu_item_tv);
gtk_menu_shell_append(GTK_MENU_SHELL(menu_view), menu_item_view_fs);
+ GtkWidget *menu_tv = gtk_menu_new();
+ gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu_item_tv), menu_tv);
+ GtkWidget *menu_item_htv = gtk_radio_menu_item_new_with_mnemonic(NULL, _("Show Horizontally"));
+ GtkWidget *menu_item_vtv = gtk_radio_menu_item_new_with_mnemonic_from_widget(GTK_RADIO_MENU_ITEM(menu_item_htv), _("Show Vertically"));
+ GtkWidget *menu_item_ntv = gtk_radio_menu_item_new_with_mnemonic_from_widget(GTK_RADIO_MENU_ITEM(menu_item_htv), _("Hide"));
+
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu_tv), menu_item_htv);
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu_tv), menu_item_vtv);
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu_tv), menu_item_ntv);
+
GtkWidget *menu_item_go = gtk_menu_item_new_with_mnemonic(_("_Go"));
GtkWidget *menu_item_first = gtk_image_menu_item_new_from_stock(GTK_STOCK_GOTO_FIRST, NULL);
@@ -209,7 +232,7 @@
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_hbox), thumbnail_viewer, FALSE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX(main_vbox1), thumbnail_viewer, FALSE, TRUE, 0);
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);
@@ -246,6 +269,10 @@
g_signal_connect(G_OBJECT(menu_item_first), "activate", G_CALLBACK(cb_rstto_first), navigator);
g_signal_connect(G_OBJECT(menu_item_last), "activate", G_CALLBACK(cb_rstto_last), navigator);
+ g_signal_connect(G_OBJECT(menu_item_vtv), "activate", G_CALLBACK(cb_rstto_show_tv_v), thumbnail_viewer);
+ g_signal_connect(G_OBJECT(menu_item_htv), "activate", G_CALLBACK(cb_rstto_show_tv_h), thumbnail_viewer);
+ g_signal_connect(G_OBJECT(menu_item_ntv), "activate", G_CALLBACK(cb_rstto_hide_tv), thumbnail_viewer);
+
g_signal_connect(G_OBJECT(menu_item_play), "activate", G_CALLBACK(cb_rstto_toggle_play), navigator);
g_signal_connect(G_OBJECT(menu_item_pause), "activate", G_CALLBACK(cb_rstto_toggle_play), navigator);
g_signal_connect(G_OBJECT(menu_item_view_fs), "activate", G_CALLBACK(cb_rstto_toggle_fullscreen), window);
@@ -498,3 +525,31 @@
}
}
+
+static void
+cb_rstto_show_tv_v(GtkWidget *widget, RsttoThumbnailViewer *viewer)
+{
+ GtkWidget *parent = gtk_widget_get_parent(GTK_WIDGET(viewer));
+ gtk_widget_ref(GTK_WIDGET(viewer));
+ gtk_container_remove(GTK_CONTAINER(parent), GTK_WIDGET(viewer));
+ 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));
+}
+
+static void
+cb_rstto_show_tv_h(GtkWidget *widget, RsttoThumbnailViewer *viewer)
+{
+ GtkWidget *parent = gtk_widget_get_parent(GTK_WIDGET(viewer));
+ gtk_widget_ref(GTK_WIDGET(viewer));
+ gtk_container_remove(GTK_CONTAINER(parent), GTK_WIDGET(viewer));
+ 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));
+}
+
+static void
+cb_rstto_hide_tv(GtkWidget *widget, RsttoThumbnailViewer *viewer)
+{
+ gtk_widget_hide(GTK_WIDGET(viewer));
+}
Modified: ristretto/trunk/src/thumbnail_viewer.c
===================================================================
--- ristretto/trunk/src/thumbnail_viewer.c 2007-08-07 18:21:30 UTC (rev 2969)
+++ ristretto/trunk/src/thumbnail_viewer.c 2007-08-07 20:27:08 UTC (rev 2970)
@@ -49,8 +49,6 @@
rstto_thumbnail_viewer_size_allocate(GtkWidget *, GtkAllocation *);
static void
rstto_thumbnail_viewer_realize(GtkWidget *);
-static void
-rstto_thumbnail_viewer_unrealize(GtkWidget *);
static gboolean
rstto_thumbnail_viewer_expose(GtkWidget *, GdkEventExpose *);
@@ -100,7 +98,7 @@
gtk_widget_set_events (GTK_WIDGET(viewer),
GDK_BUTTON_PRESS_MASK);
g_signal_connect(G_OBJECT(viewer), "button_press_event", G_CALLBACK(cb_rstto_thumbnailer_button_press_event), NULL);
- viewer->priv->orientation = GTK_ORIENTATION_VERTICAL;
+ viewer->priv->orientation = GTK_ORIENTATION_HORIZONTAL;
}
static void
@@ -115,7 +113,6 @@
parent_class = g_type_class_peek_parent(viewer_class);
widget_class->realize = rstto_thumbnail_viewer_realize;
- widget_class->unrealize = rstto_thumbnail_viewer_unrealize;
widget_class->expose_event = rstto_thumbnail_viewer_expose;
widget_class->size_request = rstto_thumbnail_viewer_size_request;
@@ -199,11 +196,6 @@
gtk_style_set_background (widget->style, widget->window, GTK_STATE_ACTIVE);
}
-static void
-rstto_thumbnail_viewer_unrealize(GtkWidget *widget)
-{
-}
-
static gboolean
rstto_thumbnail_viewer_expose(GtkWidget *widget, GdkEventExpose *event)
{
@@ -487,3 +479,15 @@
rstto_navigator_set_file(viewer->priv->navigator, n);
}
}
+
+void
+rstto_thumbnail_viewer_set_orientation (RsttoThumbnailViewer *viewer, GtkOrientation orientation)
+{
+ viewer->priv->orientation = orientation;
+}
+
+GtkOrientation
+rstto_thumbnail_viewer_get_orientation (RsttoThumbnailViewer *viewer)
+{
+ return viewer->priv->orientation;
+}
Modified: ristretto/trunk/src/thumbnail_viewer.h
===================================================================
--- ristretto/trunk/src/thumbnail_viewer.h 2007-08-07 18:21:30 UTC (rev 2969)
+++ ristretto/trunk/src/thumbnail_viewer.h 2007-08-07 20:27:08 UTC (rev 2970)
@@ -60,6 +60,9 @@
GtkWidget *rstto_thumbnail_viewer_new();
+void rstto_thumbnail_viewer_set_orientation (RsttoThumbnailViewer *, GtkOrientation);
+GtkOrientation rstto_thumbnail_viewer_get_orientation (RsttoThumbnailViewer *);
+
G_END_DECLS
#endif /* __RISTRETTO_THUMBNAIL_VIEWER_H__ */
More information about the Goodies-commits
mailing list