[Goodies-commits] r3064 - in ristretto/trunk: . icons/16x16 icons/48x48 icons/scalable po src
Stephan Arts
stephan at xfce.org
Fri Aug 24 12:56:17 CEST 2007
Author: stephan
Date: 2007-08-24 10:56:17 +0000 (Fri, 24 Aug 2007)
New Revision: 3064
Modified:
ristretto/trunk/configure.in.in
ristretto/trunk/icons/16x16/ristretto.png
ristretto/trunk/icons/48x48/ristretto.png
ristretto/trunk/icons/scalable/ristretto.svg
ristretto/trunk/po/fr.po
ristretto/trunk/po/nl.po
ristretto/trunk/po/ristretto.pot
ristretto/trunk/src/main.c
ristretto/trunk/src/navigator.c
Log:
Add recent document support
Modified: ristretto/trunk/configure.in.in
===================================================================
--- ristretto/trunk/configure.in.in 2007-08-24 09:57:03 UTC (rev 3063)
+++ ristretto/trunk/configure.in.in 2007-08-24 10:56:17 UTC (rev 3064)
@@ -107,9 +107,9 @@
XDT_I18N([@LINGUAS@])
-XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [2.2.0])
-XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.2.0])
-XDT_CHECK_PACKAGE([GOBJECT], [gobject-2.0], [2.2.0])
+XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [2.10.0])
+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])
Modified: ristretto/trunk/icons/16x16/ristretto.png
===================================================================
(Binary files differ)
Modified: ristretto/trunk/icons/48x48/ristretto.png
===================================================================
(Binary files differ)
Modified: ristretto/trunk/icons/scalable/ristretto.svg
===================================================================
--- ristretto/trunk/icons/scalable/ristretto.svg 2007-08-24 09:57:03 UTC (rev 3063)
+++ ristretto/trunk/icons/scalable/ristretto.svg 2007-08-24 10:56:17 UTC (rev 3064)
@@ -53,7 +53,7 @@
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3140"
- id="radialGradient7086"
+ id="radialGradient2178"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.8385456,3.8898335e-2,-1.774223e-2,1.2926432,-324.48363,-275.08499)"
cx="401.91992"
@@ -61,6 +61,18 @@
fx="401.91992"
fy="707.04498"
r="139.39044" />
+ <filter
+ inkscape:collect="always"
+ x="-0.19506111"
+ width="1.3901222"
+ y="-0.92654028"
+ height="2.8530806"
+ id="filter4432">
+ <feGaussianBlur
+ inkscape:collect="always"
+ stdDeviation="3.7061611"
+ id="feGaussianBlur4434" />
+ </filter>
</defs>
<sodipodi:namedview
inkscape:window-height="703"
@@ -76,47 +88,65 @@
id="base"
width="48px"
height="48px"
- inkscape:zoom="1"
- inkscape:cx="24"
- inkscape:cy="24"
+ inkscape:zoom="6.6756757"
+ inkscape:cx="50.5"
+ inkscape:cy="16"
inkscape:window-x="0"
inkscape:window-y="32"
inkscape:current-layer="svg2" />
<path
- sodipodi:type="arc"
- style="fill:#e6e6e6;fill-opacity:1;stroke:#666666;stroke-width:10.14638519;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="path2164"
- sodipodi:cx="395.30356"
- sodipodi:cy="691.78125"
- sodipodi:rx="197.65178"
- sodipodi:ry="325.85834"
- d="M 592.95534,691.78125 A 197.65178,325.85834 0 0 1 197.65718,694.19028 L 395.30356,691.78125 z"
- sodipodi:start="0"
- sodipodi:end="3.1341997"
- transform="matrix(9.9017785e-2,0,0,9.8098883e-2,-15.142351,-54.26156)" />
+ style="fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#666666;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 37.748988,11.898786 C 40.445344,7.4048587 43.591094,9.3522271 43.591094,9.3522271 C 43.591094,9.3522271 46.88664,11.299596 45.238867,19.538462 C 43.591093,27.777329 35.052632,28.975709 35.052632,28.975709 C 35.052632,28.975709 35.651822,29.275305 36.251012,25.530366 C 40.595141,22.534414 40.972523,24.092854 42.242914,20.587046 C 43.544043,16.996416 43.591092,15.344129 43.1417,14.145749 C 42.323476,11.963818 37.898785,17.141701 37.898785,17.141701 L 37.748988,11.898786 z "
+ id="path4440"
+ sodipodi:nodetypes="ccsccsscc" />
<path
sodipodi:type="arc"
- style="fill:#ececec;fill-opacity:1;stroke:#666666;stroke-width:12.07019329;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="path2159"
- sodipodi:cx="372.60031"
- sodipodi:cy="538.20044"
- sodipodi:rx="204.32921"
- sodipodi:ry="148.23883"
- d="M 576.92952 538.20044 A 204.32921 148.23883 0 1 1 168.2711,538.20044 A 204.32921 148.23883 0 1 1 576.92952 538.20044 z"
- transform="matrix(9.581905e-2,0,0,7.163408e-2,-11.702208,-25.50228)" />
- <path
- sodipodi:type="arc"
- style="fill:url(#radialGradient7086);fill-opacity:1;stroke:#666666;stroke-width:9.3786726;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="path2161"
- sodipodi:cx="395.30356"
- sodipodi:cy="540.8714"
- sodipodi:rx="138.89044"
- sodipodi:ry="94.819435"
- d="M 534.194 540.8714 A 138.89044 94.819435 0 1 1 256.41312,540.8714 A 138.89044 94.819435 0 1 1 534.194 540.8714 z"
- transform="matrix(0.1188065,0,0,9.5692311e-2,-22.964641,-37.79208)" />
- <path
- style="fill:#552200;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 16.263779,21.47417 C 25.518637,24.090024 32.902229,21.08114 32.902229,21.08114 C 32.902229,21.08114 24.910539,18.3299 16.263779,21.47417 z "
- id="path3138"
- sodipodi:nodetypes="ccc" />
+ style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter4432)"
+ id="path3161"
+ sodipodi:cx="21"
+ sodipodi:cy="39"
+ sodipodi:rx="19"
+ sodipodi:ry="4"
+ d="M 40 39 A 19 4 0 1 1 2,39 A 19 4 0 1 1 40 39 z"
+ transform="matrix(0.7894737,0,0,0.7894737,4.5396884,10.368421)" />
+ <g
+ id="g3155">
+ <path
+ transform="matrix(8.9739838e-2,0,0,8.8907037e-2,-14.356084,-48.860724)"
+ sodipodi:end="3.1341997"
+ sodipodi:start="0"
+ d="M 592.95534,691.78125 A 197.65178,325.85834 0 0 1 197.65718,694.19028 L 395.30356,691.78125 z"
+ sodipodi:ry="325.85834"
+ sodipodi:rx="197.65178"
+ sodipodi:cy="691.78125"
+ sodipodi:cx="395.30356"
+ id="path2164"
+ style="fill:#e6e6e6;fill-opacity:1;stroke:#666666;stroke-width:11.19539165;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(8.6840824e-2,0,0,6.4921981e-2,-11.238282,-22.796183)"
+ d="M 576.92952 538.20044 A 204.32921 148.23883 0 1 1 168.2711,538.20044 A 204.32921 148.23883 0 1 1 576.92952 538.20044 z"
+ sodipodi:ry="148.23883"
+ sodipodi:rx="204.32921"
+ sodipodi:cy="538.20044"
+ sodipodi:cx="372.60031"
+ id="path2159"
+ style="fill:#ececec;fill-opacity:1;stroke:#666666;stroke-width:13.31809629;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(0.1076744,0,0,8.6725961e-2,-21.445427,-33.934431)"
+ d="M 534.194 540.8714 A 138.89044 94.819435 0 1 1 256.41312,540.8714 A 138.89044 94.819435 0 1 1 534.194 540.8714 z"
+ sodipodi:ry="94.819435"
+ sodipodi:rx="138.89044"
+ sodipodi:cy="540.8714"
+ sodipodi:cx="395.30356"
+ id="path2161"
+ style="fill:url(#radialGradient2178);fill-opacity:1;stroke:#666666;stroke-width:10.34830474;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:nodetypes="ccc"
+ id="path3138"
+ d="M 14.107298,19.778583 C 22.494977,22.149332 29.186728,19.42238 29.186728,19.42238 C 29.186728,19.42238 21.943858,16.92893 14.107298,19.778583 z "
+ style="fill:#552200;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
</svg>
Modified: ristretto/trunk/po/fr.po
===================================================================
--- ristretto/trunk/po/fr.po 2007-08-24 09:57:03 UTC (rev 3063)
+++ ristretto/trunk/po/fr.po 2007-08-24 10:56:17 UTC (rev 3064)
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: ristretto\n"
"Report-Msgid-Bugs-To: stephan at xfce.org\n"
-"POT-Creation-Date: 2007-08-20 23:35+0200\n"
+"POT-Creation-Date: 2007-08-24 12:53+0200\n"
"PO-Revision-Date: 2007-07-03 00:59:21+0200\n"
"Last-Translator: Mike Massonnet <mmassonnet at xfce.org>\n"
"Language-Team: French\n"
@@ -15,75 +15,79 @@
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../src/main.c:186
+#: ../src/main.c:193
msgid "_File"
msgstr "_Fichier"
-#: ../src/main.c:188
+#: ../src/main.c:195
msgid "O_pen Folder"
msgstr "O_uvrir un répertoire"
-#: ../src/main.c:199
+#: ../src/main.c:196
+msgid "_Recently used"
+msgstr ""
+
+#: ../src/main.c:215
msgid "_Edit"
msgstr "_Editer"
-#: ../src/main.c:200
+#: ../src/main.c:216
msgid "Rotate _Left"
msgstr ""
-#: ../src/main.c:201
+#: ../src/main.c:217
msgid "Rotate _Right"
msgstr ""
-#: ../src/main.c:202
+#: ../src/main.c:218
msgid "Flip _Vertically"
msgstr ""
-#: ../src/main.c:203
+#: ../src/main.c:219
msgid "Flip _Horizontally"
msgstr ""
-#: ../src/main.c:212
+#: ../src/main.c:228
msgid "_View"
msgstr "A_fficher"
-#: ../src/main.c:213
+#: ../src/main.c:229
msgid "Thumbnail Viewer"
msgstr ""
-#: ../src/main.c:224
+#: ../src/main.c:240
msgid "Show Horizontally"
msgstr ""
-#: ../src/main.c:225
+#: ../src/main.c:241
msgid "Show Vertically"
msgstr ""
-#: ../src/main.c:226
+#: ../src/main.c:242
msgid "Hide"
msgstr ""
-#: ../src/main.c:232
+#: ../src/main.c:248
msgid "_Go"
msgstr ""
-#: ../src/main.c:260
+#: ../src/main.c:276
msgid "_Help"
msgstr "_Aide"
-#: ../src/main.c:391
+#: ../src/main.c:409
msgid "Open image"
msgstr "Ouvrir une image"
-#: ../src/main.c:428
+#: ../src/main.c:450
msgid "Open folder"
msgstr "Ouvrir un répertoire"
-#: ../src/main.c:474
+#: ../src/main.c:496
msgid "Developer:"
msgstr "Développeur :"
-#: ../src/main.c:483
+#: ../src/main.c:505
msgid ""
"Ristretto is a fast and lightweight picture-viewer for the Xfce desktop "
"environment."
@@ -91,7 +95,7 @@
"Ristretto est un visualiseur d'images léger et rapide pour l'environnement "
"de bureau Xfce."
-#: ../src/main.c:490
+#: ../src/main.c:512
msgid "translator-credits"
msgstr ""
Modified: ristretto/trunk/po/nl.po
===================================================================
--- ristretto/trunk/po/nl.po 2007-08-24 09:57:03 UTC (rev 3063)
+++ ristretto/trunk/po/nl.po 2007-08-24 10:56:17 UTC (rev 3064)
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: ristretto 0.0.1-svn-r02537\n"
"Report-Msgid-Bugs-To: stephan at xfce.org\n"
-"POT-Creation-Date: 2007-08-20 23:35+0200\n"
+"POT-Creation-Date: 2007-08-24 12:53+0200\n"
"PO-Revision-Date: 2007-07-13 00:48+0200\n"
"Last-Translator: Stephan Arts <stephan at xfce.org>\n"
"Language-Team: Dutch\n"
@@ -16,75 +16,79 @@
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../src/main.c:186
+#: ../src/main.c:193
msgid "_File"
msgstr "_Bestand"
-#: ../src/main.c:188
+#: ../src/main.c:195
msgid "O_pen Folder"
msgstr "Map o_penen"
-#: ../src/main.c:199
+#: ../src/main.c:196
+msgid "_Recently used"
+msgstr "_Recent geopend"
+
+#: ../src/main.c:215
msgid "_Edit"
msgstr "B_ewerken"
-#: ../src/main.c:200
+#: ../src/main.c:216
msgid "Rotate _Left"
msgstr "_Linksom draaien"
-#: ../src/main.c:201
+#: ../src/main.c:217
msgid "Rotate _Right"
msgstr "_Rechtsom draaien"
-#: ../src/main.c:202
+#: ../src/main.c:218
msgid "Flip _Vertically"
msgstr "_Verticaal spiegelen"
-#: ../src/main.c:203
+#: ../src/main.c:219
msgid "Flip _Horizontally"
msgstr "_Horizontaal spiegelen"
-#: ../src/main.c:212
+#: ../src/main.c:228
msgid "_View"
msgstr "_Beeld"
-#: ../src/main.c:213
+#: ../src/main.c:229
msgid "Thumbnail Viewer"
msgstr "Miniatuur Weergave"
-#: ../src/main.c:224
+#: ../src/main.c:240
msgid "Show Horizontally"
msgstr "Horizontaal tonen"
-#: ../src/main.c:225
+#: ../src/main.c:241
msgid "Show Vertically"
msgstr "Verticaal tonen"
-#: ../src/main.c:226
+#: ../src/main.c:242
msgid "Hide"
msgstr "Verbergen"
-#: ../src/main.c:232
+#: ../src/main.c:248
msgid "_Go"
msgstr "_Ga"
-#: ../src/main.c:260
+#: ../src/main.c:276
msgid "_Help"
msgstr "_Help"
-#: ../src/main.c:391
+#: ../src/main.c:409
msgid "Open image"
msgstr "Afbeelding openen"
-#: ../src/main.c:428
+#: ../src/main.c:450
msgid "Open folder"
msgstr "Map openen"
-#: ../src/main.c:474
+#: ../src/main.c:496
msgid "Developer:"
msgstr "Ontwikkelaar:"
-#: ../src/main.c:483
+#: ../src/main.c:505
msgid ""
"Ristretto is a fast and lightweight picture-viewer for the Xfce desktop "
"environment."
@@ -92,7 +96,7 @@
"Ristretto is een snelle en lichtgewicht afbeeldingsweergave-programma voor "
"de Xfce-desktop omgeving"
-#: ../src/main.c:490
+#: ../src/main.c:512
msgid "translator-credits"
msgstr "Stephan Arts <stephan at xfce.org>"
Modified: ristretto/trunk/po/ristretto.pot
===================================================================
--- ristretto/trunk/po/ristretto.pot 2007-08-24 09:57:03 UTC (rev 3063)
+++ ristretto/trunk/po/ristretto.pot 2007-08-24 10:56:17 UTC (rev 3064)
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: stephan at xfce.org\n"
-"POT-Creation-Date: 2007-08-20 23:35+0200\n"
+"POT-Creation-Date: 2007-08-24 12:53+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
"Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,80 +16,84 @@
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../src/main.c:186
+#: ../src/main.c:193
msgid "_File"
msgstr ""
-#: ../src/main.c:188
+#: ../src/main.c:195
msgid "O_pen Folder"
msgstr ""
-#: ../src/main.c:199
+#: ../src/main.c:196
+msgid "_Recently used"
+msgstr ""
+
+#: ../src/main.c:215
msgid "_Edit"
msgstr ""
-#: ../src/main.c:200
+#: ../src/main.c:216
msgid "Rotate _Left"
msgstr ""
-#: ../src/main.c:201
+#: ../src/main.c:217
msgid "Rotate _Right"
msgstr ""
-#: ../src/main.c:202
+#: ../src/main.c:218
msgid "Flip _Vertically"
msgstr ""
-#: ../src/main.c:203
+#: ../src/main.c:219
msgid "Flip _Horizontally"
msgstr ""
-#: ../src/main.c:212
+#: ../src/main.c:228
msgid "_View"
msgstr ""
-#: ../src/main.c:213
+#: ../src/main.c:229
msgid "Thumbnail Viewer"
msgstr ""
-#: ../src/main.c:224
+#: ../src/main.c:240
msgid "Show Horizontally"
msgstr ""
-#: ../src/main.c:225
+#: ../src/main.c:241
msgid "Show Vertically"
msgstr ""
-#: ../src/main.c:226
+#: ../src/main.c:242
msgid "Hide"
msgstr ""
-#: ../src/main.c:232
+#: ../src/main.c:248
msgid "_Go"
msgstr ""
-#: ../src/main.c:260
+#: ../src/main.c:276
msgid "_Help"
msgstr ""
-#: ../src/main.c:391
+#: ../src/main.c:409
msgid "Open image"
msgstr ""
-#: ../src/main.c:428
+#: ../src/main.c:450
msgid "Open folder"
msgstr ""
-#: ../src/main.c:474
+#: ../src/main.c:496
msgid "Developer:"
msgstr ""
-#: ../src/main.c:483
+#: ../src/main.c:505
msgid ""
"Ristretto is a fast and lightweight picture-viewer for the Xfce desktop "
"environment."
msgstr ""
-#: ../src/main.c:490
+#: ../src/main.c:512
msgid "translator-credits"
msgstr ""
Modified: ristretto/trunk/src/main.c
===================================================================
--- ristretto/trunk/src/main.c 2007-08-24 09:57:03 UTC (rev 3063)
+++ ristretto/trunk/src/main.c 2007-08-24 10:56:17 UTC (rev 3064)
@@ -54,6 +54,8 @@
cb_rstto_open(GtkToolItem *item, RsttoNavigator *);
static void
cb_rstto_open_dir(GtkToolItem *item, RsttoNavigator *);
+static void
+cb_rstto_open_recent(GtkRecentChooser *chooser, RsttoNavigator *);
static void
cb_rstto_help_about(GtkToolItem *item, GtkWindow *);
@@ -94,6 +96,7 @@
static GtkWidget *main_hbox;
static GtkWidget *main_vbox1;
static GtkWidget *thumbnail_viewer;
+static GtkRecentManager *recent_manager;
int main(int argc, char **argv)
{
@@ -114,6 +117,7 @@
mime_dbase = thunar_vfs_mime_database_get_default();
gtk_window_set_default_icon_name("ristretto");
+ recent_manager = gtk_recent_manager_get_default();
GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
GtkAccelGroup *accel_group = gtk_accel_group_new();
@@ -168,6 +172,9 @@
filename = g_dir_read_name(dir);
}
}
+ gchar *uri = thunar_vfs_path_dup_uri(info->path);
+ gtk_recent_manager_add_item(recent_manager, uri);
+ g_free(uri);
}
thunar_vfs_path_unref(path);
}
@@ -186,6 +193,7 @@
GtkWidget *menu_item_file = gtk_menu_item_new_with_mnemonic(_("_File"));
GtkWidget *menu_item_open = gtk_image_menu_item_new_from_stock(GTK_STOCK_OPEN, accel_group);
GtkWidget *menu_item_open_dir = gtk_menu_item_new_with_mnemonic(_("O_pen Folder"));
+ GtkWidget *menu_item_recently = gtk_menu_item_new_with_mnemonic(_("_Recently used"));
GtkWidget *menu_item_separator = gtk_separator_menu_item_new();
GtkWidget *menu_item_quit = gtk_image_menu_item_new_from_stock(GTK_STOCK_QUIT, accel_group);
@@ -193,8 +201,16 @@
gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu_item_file), menu_file);
gtk_menu_shell_append(GTK_MENU_SHELL(menu_file), menu_item_open);
gtk_menu_shell_append(GTK_MENU_SHELL(menu_file), menu_item_open_dir);
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu_file), menu_item_recently);
gtk_menu_shell_append(GTK_MENU_SHELL(menu_file), menu_item_separator);
gtk_menu_shell_append(GTK_MENU_SHELL(menu_file), menu_item_quit);
+
+ GtkWidget *recent_chooser_menu = gtk_recent_chooser_menu_new_for_manager(GTK_RECENT_MANAGER(recent_manager));
+ GtkRecentFilter *filter = gtk_recent_filter_new();
+ gtk_recent_filter_add_application(filter, "ristretto");
+ gtk_recent_chooser_add_filter(GTK_RECENT_CHOOSER(recent_chooser_menu), filter);
+
+ gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu_item_recently), recent_chooser_menu);
GtkWidget *menu_item_edit = gtk_menu_item_new_with_mnemonic(_("_Edit"));
GtkWidget *menu_item_rotate_left = gtk_menu_item_new_with_mnemonic(_("Rotate _Left"));
@@ -266,7 +282,7 @@
gtk_menu_shell_append(GTK_MENU_SHELL(menu_bar), menu_item_file);
- gtk_menu_shell_append(GTK_MENU_SHELL(menu_bar), menu_item_edit);
+ /*gtk_menu_shell_append(GTK_MENU_SHELL(menu_bar), menu_item_edit);*/
gtk_menu_shell_append(GTK_MENU_SHELL(menu_bar), menu_item_view);
gtk_menu_shell_append(GTK_MENU_SHELL(menu_bar), menu_item_go);
gtk_menu_shell_append(GTK_MENU_SHELL(menu_bar), menu_item_help);
@@ -326,6 +342,8 @@
g_signal_connect(G_OBJECT(menu_item_open_dir), "activate", G_CALLBACK(cb_rstto_open_dir), navigator);
g_signal_connect(G_OBJECT(menu_item_help_about), "activate", G_CALLBACK(cb_rstto_help_about), window);
+ g_signal_connect(G_OBJECT(recent_chooser_menu), "item-activated", G_CALLBACK(cb_rstto_open_recent), navigator);
+
g_signal_connect(G_OBJECT(menu_item_forward), "activate", G_CALLBACK(cb_rstto_forward), navigator);
g_signal_connect(G_OBJECT(menu_item_back), "activate", G_CALLBACK(cb_rstto_previous), navigator);
g_signal_connect(G_OBJECT(menu_item_first), "activate", G_CALLBACK(cb_rstto_first), navigator);
@@ -409,6 +427,10 @@
{
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);
@@ -712,3 +734,53 @@
}
}
}
+
+static void
+cb_rstto_open_recent(GtkRecentChooser *chooser, RsttoNavigator *navigator)
+{
+ gchar *uri = gtk_recent_chooser_get_current_uri(chooser);
+ ThunarVfsPath *path = thunar_vfs_path_new(uri, NULL);
+ if (path)
+ {
+ ThunarVfsInfo *info = thunar_vfs_info_new_for_path(path, NULL);
+ if(info)
+ {
+ if(strcmp(thunar_vfs_mime_info_get_name(info->mime_info), "inode/directory"))
+ {
+ RsttoNavigatorEntry *entry = rstto_navigator_entry_new(info);
+ rstto_navigator_add (navigator, entry);
+ }
+ else
+ {
+ rstto_navigator_clear(navigator);
+ gchar *dir_path = thunar_vfs_path_dup_string(info->path);
+ GDir *dir = g_dir_open(dir_path, 0, NULL);
+ const gchar *filename = g_dir_read_name(dir);
+ while (filename)
+ {
+ gchar *path_name = g_strconcat(dir_path, "/", filename, NULL);
+ ThunarVfsPath *file_path = thunar_vfs_path_new(path_name, NULL);
+ if (file_path)
+ {
+ 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"))
+ {
+ RsttoNavigatorEntry *entry = rstto_navigator_entry_new(file_info);
+ rstto_navigator_add (navigator, entry);
+ }
+ g_free(file_media);
+ thunar_vfs_path_unref(file_path);
+ }
+ g_free(path_name);
+ filename = g_dir_read_name(dir);
+ }
+ g_free(dir_path);
+ }
+ gchar *uri = thunar_vfs_path_dup_uri(info->path);
+ gtk_recent_manager_add_item(recent_manager, uri);
+ g_free(uri);
+ }
+ thunar_vfs_path_unref(path);
+ }
+}
Modified: ristretto/trunk/src/navigator.c
===================================================================
--- ristretto/trunk/src/navigator.c 2007-08-24 09:57:03 UTC (rev 3063)
+++ ristretto/trunk/src/navigator.c 2007-08-24 10:56:17 UTC (rev 3064)
@@ -92,6 +92,7 @@
static void
rstto_navigator_init(RsttoNavigator *navigator)
{
+ navigator->file_iter = NULL;
navigator->compare_func = (GCompareFunc)rstto_navigator_entry_name_compare_func;
}
@@ -161,6 +162,7 @@
{
g_list_foreach(navigator->file_list, (GFunc)rstto_navigator_entry_free, NULL);
navigator->file_list = NULL;
+ navigator->file_iter = NULL;
}
}
More information about the Goodies-commits
mailing list