[Goodies-commits] r3754 - in thunar-svn-plugin/trunk: po thunar-svn-plugin tsp-svn-helper

Peter de Ridder peter at xfce.org
Thu Dec 27 17:17:52 CET 2007


Author: peter
Date: 2007-12-27 16:17:52 +0000 (Thu, 27 Dec 2007)
New Revision: 3754

Added:
   thunar-svn-plugin/trunk/tsp-svn-helper/tsh-add.c
   thunar-svn-plugin/trunk/tsp-svn-helper/tsh-add.h
   thunar-svn-plugin/trunk/tsp-svn-helper/tsh-cleanup.c
   thunar-svn-plugin/trunk/tsp-svn-helper/tsh-cleanup.h
   thunar-svn-plugin/trunk/tsp-svn-helper/tsh-commit.c
   thunar-svn-plugin/trunk/tsp-svn-helper/tsh-commit.h
   thunar-svn-plugin/trunk/tsp-svn-helper/tsh-log-message-dialog.c
   thunar-svn-plugin/trunk/tsp-svn-helper/tsh-log-message-dialog.h
Modified:
   thunar-svn-plugin/trunk/po/ChangeLog
   thunar-svn-plugin/trunk/po/LINGUAS
   thunar-svn-plugin/trunk/po/POTFILES.in
   thunar-svn-plugin/trunk/po/fr.po
   thunar-svn-plugin/trunk/po/hu.po
   thunar-svn-plugin/trunk/po/lv.po
   thunar-svn-plugin/trunk/po/nl.po
   thunar-svn-plugin/trunk/po/pt_BR.po
   thunar-svn-plugin/trunk/po/thunar-svn-plugin.pot
   thunar-svn-plugin/trunk/po/ur.po
   thunar-svn-plugin/trunk/thunar-svn-plugin/tsp-provider.c
   thunar-svn-plugin/trunk/thunar-svn-plugin/tsp-svn-action.c
   thunar-svn-plugin/trunk/thunar-svn-plugin/tsp-svn-action.h
   thunar-svn-plugin/trunk/tsp-svn-helper/Makefile.am
   thunar-svn-plugin/trunk/tsp-svn-helper/gtkfilechooserentry.c
   thunar-svn-plugin/trunk/tsp-svn-helper/gtkfilechooserentry.h
   thunar-svn-plugin/trunk/tsp-svn-helper/main.c
   thunar-svn-plugin/trunk/tsp-svn-helper/tsh-checkout-dialog.c
   thunar-svn-plugin/trunk/tsp-svn-helper/tsh-checkout-dialog.h
   thunar-svn-plugin/trunk/tsp-svn-helper/tsh-checkout.c
   thunar-svn-plugin/trunk/tsp-svn-helper/tsh-common.c
   thunar-svn-plugin/trunk/tsp-svn-helper/tsh-common.h
   thunar-svn-plugin/trunk/tsp-svn-helper/tsh-file-dialog.c
   thunar-svn-plugin/trunk/tsp-svn-helper/tsh-file-dialog.h
   thunar-svn-plugin/trunk/tsp-svn-helper/tsh-login-dialog.c
   thunar-svn-plugin/trunk/tsp-svn-helper/tsh-login-dialog.h
   thunar-svn-plugin/trunk/tsp-svn-helper/tsh-notify-dialog.c
   thunar-svn-plugin/trunk/tsp-svn-helper/tsh-notify-dialog.h
   thunar-svn-plugin/trunk/tsp-svn-helper/tsh-update.c
Log:
* Updated translation:
  - make update-po
  - realy added Dutch translations
* Added action:
  - Add
  - Cleanup
  - Commit

The thunar svn plugin is pretty usable now.
This is commited using the plugin :)

Modified: thunar-svn-plugin/trunk/po/ChangeLog
===================================================================
--- thunar-svn-plugin/trunk/po/ChangeLog	2007-12-25 21:46:13 UTC (rev 3753)
+++ thunar-svn-plugin/trunk/po/ChangeLog	2007-12-27 16:17:52 UTC (rev 3754)
@@ -1,3 +1,7 @@
+2007-12-27  Peter de Ridder <peter at xfce.org>
+
+	* nl.po: Added Dutch translation
+
 2007-12-03  Maximilian Schleiss <maximilian at xfce.org>
 
 	* lv.po: New Latvian translation added 

Modified: thunar-svn-plugin/trunk/po/LINGUAS
===================================================================
--- thunar-svn-plugin/trunk/po/LINGUAS	2007-12-25 21:46:13 UTC (rev 3753)
+++ thunar-svn-plugin/trunk/po/LINGUAS	2007-12-27 16:17:52 UTC (rev 3754)
@@ -1,2 +1,2 @@
 # set of available languages (in alphabetic order)
-fr hu lv pt_BR ur
+fr hu lv nl pt_BR ur

Modified: thunar-svn-plugin/trunk/po/POTFILES.in
===================================================================
--- thunar-svn-plugin/trunk/po/POTFILES.in	2007-12-25 21:46:13 UTC (rev 3753)
+++ thunar-svn-plugin/trunk/po/POTFILES.in	2007-12-27 16:17:52 UTC (rev 3754)
@@ -7,11 +7,15 @@
 tsp-svn-helper/gtkfilechooserentry.c
 tsp-svn-helper/gtkfilechooserutils.c
 tsp-svn-helper/main.c
+tsp-svn-helper/tsh-add.c
 tsp-svn-helper/tsh-checkout.c
 tsp-svn-helper/tsh-checkout-dialog.c
+tsp-svn-helper/tsh-cleanup.c
+tsp-svn-helper/tsh-commit.c
 tsp-svn-helper/tsh-common.c
 tsp-svn-helper/tsh-dialog-common.c
 tsp-svn-helper/tsh-file-dialog.c
+tsp-svn-helper/tsh-log-message-dialog.c
 tsp-svn-helper/tsh-login-dialog.c
 tsp-svn-helper/tsh-notify-dialog.c
 tsp-svn-helper/tsh-trust-dialog.c

Modified: thunar-svn-plugin/trunk/po/fr.po
===================================================================
--- thunar-svn-plugin/trunk/po/fr.po	2007-12-25 21:46:13 UTC (rev 3753)
+++ thunar-svn-plugin/trunk/po/fr.po	2007-12-27 16:17:52 UTC (rev 3754)
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: xfce-i 18n\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-12-24 23:15+0100\n"
+"POT-Creation-Date: 2007-12-27 17:05+0100\n"
 "PO-Revision-Date: 2007-10-24 13:04+0100\n"
 "Last-Translator: Mike Massonnet <mmassonnet at gmail.com>\n"
 "Language-Team: French\n"
@@ -21,84 +21,95 @@
 msgid "SVN _Import"
 msgstr "SVN _Importer"
 
+#: thunar-svn-plugin/tsp-provider.c:404
+#, fuzzy
+msgid "Import"
+msgstr "SVN _Importer"
+
 #. append the svn submenu action
-#: thunar-svn-plugin/tsp-provider.c:409 thunar-svn-plugin/tsp-provider.c:444
-#: thunar-svn-plugin/tsp-provider.c:452
+#: thunar-svn-plugin/tsp-provider.c:410 thunar-svn-plugin/tsp-provider.c:445
+#: thunar-svn-plugin/tsp-provider.c:453
 msgid "SVN"
 msgstr "SVN"
 
-#: thunar-svn-plugin/tsp-provider.c:457
+#: thunar-svn-plugin/tsp-provider.c:458
 msgid "SVN _Checkout"
 msgstr "SVN _Extraire"
 
-#: thunar-svn-plugin/tsp-svn-action.c:225
+#: thunar-svn-plugin/tsp-svn-action.c:231 tsp-svn-helper/main.c:105
 msgid "Add"
 msgstr "Ajouter"
 
-#: thunar-svn-plugin/tsp-svn-action.c:232
+#: thunar-svn-plugin/tsp-svn-action.c:239
 msgid "Blame"
 msgstr "Différences détaillées"
 
-#: thunar-svn-plugin/tsp-svn-action.c:247
+#: thunar-svn-plugin/tsp-svn-action.c:257 tsp-svn-helper/main.c:113
 msgid "Cleanup"
 msgstr "Nettoyer les verrous"
 
-#: thunar-svn-plugin/tsp-svn-action.c:254
+#: thunar-svn-plugin/tsp-svn-action.c:265 tsp-svn-helper/main.c:117
 msgid "Commit"
 msgstr "Envoyer"
 
-#: thunar-svn-plugin/tsp-svn-action.c:265
+#: thunar-svn-plugin/tsp-svn-action.c:278
 msgid "Delete"
 msgstr "Effacer"
 
-#: thunar-svn-plugin/tsp-svn-action.c:272
+#: thunar-svn-plugin/tsp-svn-action.c:286
 msgid "Diff"
 msgstr "Différences"
 
-#: thunar-svn-plugin/tsp-svn-action.c:279
+#: thunar-svn-plugin/tsp-svn-action.c:294
 msgid "Export"
 msgstr "Exporter"
 
-#: thunar-svn-plugin/tsp-svn-action.c:290
+#: thunar-svn-plugin/tsp-svn-action.c:307
 msgid "Info"
 msgstr "Information"
 
-#: thunar-svn-plugin/tsp-svn-action.c:301
+#: thunar-svn-plugin/tsp-svn-action.c:320
 msgid "Lock"
 msgstr "Bloquer"
 
-#: thunar-svn-plugin/tsp-svn-action.c:308
+#: thunar-svn-plugin/tsp-svn-action.c:328
 msgid "Log"
 msgstr "Journal"
 
-#: thunar-svn-plugin/tsp-svn-action.c:333
+#: thunar-svn-plugin/tsp-svn-action.c:357
 msgid "Edit Properties"
 msgstr "Éditer les propriétés"
 
-#: thunar-svn-plugin/tsp-svn-action.c:342
+#: thunar-svn-plugin/tsp-svn-action.c:367
 msgid "Resolve"
 msgstr "Fixer comme résolu"
 
-#: thunar-svn-plugin/tsp-svn-action.c:349
+#: thunar-svn-plugin/tsp-svn-action.c:375
 msgid "Revert"
 msgstr "Restaurer"
 
-#: thunar-svn-plugin/tsp-svn-action.c:356
+#: thunar-svn-plugin/tsp-svn-action.c:383
 msgid "Status"
 msgstr "État"
 
-#: thunar-svn-plugin/tsp-svn-action.c:363
+#: thunar-svn-plugin/tsp-svn-action.c:391
 msgid "Switch"
 msgstr "Modifier l'adresse du dépôt"
 
-#: thunar-svn-plugin/tsp-svn-action.c:370
+#: thunar-svn-plugin/tsp-svn-action.c:399
 msgid "Unlock"
 msgstr "Débloquer"
 
-#: thunar-svn-plugin/tsp-svn-action.c:377 tsp-svn-helper/tsh-update.c:105
+#: thunar-svn-plugin/tsp-svn-action.c:407 tsp-svn-helper/main.c:121
+#: tsp-svn-helper/tsh-update.c:105
 msgid "Update"
 msgstr "Mettre à jour"
 
+#: thunar-svn-plugin/tsp-svn-action.c:420
+#, c-format
+msgid "Action %s is unimplemented"
+msgstr ""
+
 #. Translators: the first string is a path and the second string
 #. * is a hostname. Nautilus and the panel contain the same string
 #. * to translate.
@@ -120,58 +131,94 @@
 msgid "(None)"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:339
+#: tsp-svn-helper/gtkfilechooserentry.c:341
 msgid "Dialog"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:340
+#: tsp-svn-helper/gtkfilechooserentry.c:342
 msgid "The file chooser dialog to use."
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:356
+#: tsp-svn-helper/gtkfilechooserentry.c:358
 msgid "Focus on click"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:357
+#: tsp-svn-helper/gtkfilechooserentry.c:359
 msgid "Whether the entry grabs focus when it is clicked with the mouse"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:370
+#: tsp-svn-helper/gtkfilechooserentry.c:372
 msgid "Title"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:371
+#: tsp-svn-helper/gtkfilechooserentry.c:373
 msgid "The title of the file chooser dialog."
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:384
+#: tsp-svn-helper/gtkfilechooserentry.c:386
 msgid "Width In Characters"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:385
+#: tsp-svn-helper/gtkfilechooserentry.c:387
 msgid "The desired width of the entry widget, in characters."
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:2035
+#: tsp-svn-helper/gtkfilechooserentry.c:2055
 msgid "Other..."
 msgstr ""
 
-#: tsp-svn-helper/main.c:58
+#: tsp-svn-helper/main.c:64
 msgid "Print version information"
 msgstr "Afficher l'information sur la version"
 
-#: tsp-svn-helper/main.c:65
+#: tsp-svn-helper/main.c:71
+#, fuzzy
+msgid "Execute add action"
+msgstr "Exécuter une mise à jour"
+
+#: tsp-svn-helper/main.c:77
 msgid "Execute checkout action"
 msgstr "Exécuter une extraction"
 
-#: tsp-svn-helper/main.c:71
+#: tsp-svn-helper/main.c:83
+#, fuzzy
+msgid "Execute cleanup action"
+msgstr "Exécuter une extraction"
+
+#: tsp-svn-helper/main.c:89
+#, fuzzy
+msgid "Execute commit action"
+msgstr "Exécuter une extraction"
+
+#: tsp-svn-helper/main.c:95
 msgid "Execute update action"
 msgstr "Exécuter une mise à jour"
 
-#: tsp-svn-helper/tsh-checkout.c:94 tsp-svn-helper/tsh-checkout-dialog.c:103
+#: tsp-svn-helper/main.c:105
+msgid "Add Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:109
+msgid "Checkout Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:109 tsp-svn-helper/tsh-checkout.c:102
+#: tsp-svn-helper/tsh-checkout-dialog.c:103
 msgid "Checkout"
 msgstr "Extraction"
 
+#: tsp-svn-helper/main.c:113
+msgid "Cleanup Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:117
+msgid "Commit Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:121
+msgid "Update Related Opions:"
+msgstr ""
+
 #: tsp-svn-helper/tsh-checkout-dialog.c:64
 msgid "_Repository:"
 msgstr ""
@@ -185,31 +232,91 @@
 msgid "_Checkout directory:"
 msgstr ""
 
-#: tsp-svn-helper/tsh-common.c:448
+#: tsp-svn-helper/tsh-common.c:456
+msgid "Added"
+msgstr "Ajouté"
+
+#: tsp-svn-helper/tsh-common.c:459
+#, fuzzy
+msgid "Copied"
+msgstr "Complété"
+
+#: tsp-svn-helper/tsh-common.c:464
 msgid "Deleted"
 msgstr "Effacé"
 
-#: tsp-svn-helper/tsh-common.c:453
-msgid "Added"
-msgstr "Ajouté"
+#: tsp-svn-helper/tsh-common.c:467
+#, fuzzy
+msgid "Restored"
+msgstr "Fixer comme résolu"
 
-#: tsp-svn-helper/tsh-common.c:458
+#: tsp-svn-helper/tsh-common.c:470
+#, fuzzy
+msgid "Reverted"
+msgstr "Restaurer"
+
+#: tsp-svn-helper/tsh-common.c:473
+#, fuzzy
+msgid "Revert failed"
+msgstr "Restaurer"
+
+#: tsp-svn-helper/tsh-common.c:476
+#, fuzzy
+msgid "Resolved"
+msgstr "Fixer comme résolu"
+
+#: tsp-svn-helper/tsh-common.c:479
+msgid "Skipped"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:490
 msgid "Updated"
 msgstr "Mise à jour"
 
-#: tsp-svn-helper/tsh-common.c:462
+#: tsp-svn-helper/tsh-common.c:494
 #, c-format
 msgid "At revision: %li"
 msgstr "À la révision : %li"
 
-#: tsp-svn-helper/tsh-common.c:464
+#: tsp-svn-helper/tsh-common.c:495 tsp-svn-helper/tsh-common.c:502
 msgid "Completed"
 msgstr "Complété"
 
-#: tsp-svn-helper/tsh-common.c:469
+#: tsp-svn-helper/tsh-common.c:499
 msgid "External"
 msgstr "Externe"
 
+#: tsp-svn-helper/tsh-common.c:508
+msgid "Modified"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:517
+msgid "Replaced"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:526
+#, fuzzy
+msgid "Locked"
+msgstr "Bloquer"
+
+#: tsp-svn-helper/tsh-common.c:529
+#, fuzzy
+msgid "Unlocked"
+msgstr "Débloquer"
+
+#: tsp-svn-helper/tsh-common.c:532
+msgid "Lock failed"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:535
+#, fuzzy
+msgid "Unlock failed"
+msgstr "Débloquer"
+
+#: tsp-svn-helper/tsh-common.c:538
+msgid "Unknown"
+msgstr ""
+
 #: tsp-svn-helper/tsh-file-dialog.c:60
 msgid "_Certificate:"
 msgstr ""

Modified: thunar-svn-plugin/trunk/po/hu.po
===================================================================
--- thunar-svn-plugin/trunk/po/hu.po	2007-12-25 21:46:13 UTC (rev 3753)
+++ thunar-svn-plugin/trunk/po/hu.po	2007-12-27 16:17:52 UTC (rev 3754)
@@ -2,7 +2,7 @@
 msgstr ""
 "Project-Id-Version: Thunar SVN plugin\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-12-24 23:15+0100\n"
+"POT-Creation-Date: 2007-12-27 17:05+0100\n"
 "PO-Revision-Date: 2007-06-04 08:37+0100\n"
 "Last-Translator: SZERVÁC Attila <sas at 321.hu>\n"
 "Language-Team: Hungarian\n"
@@ -17,84 +17,95 @@
 msgid "SVN _Import"
 msgstr "SVN _Import"
 
+#: thunar-svn-plugin/tsp-provider.c:404
+#, fuzzy
+msgid "Import"
+msgstr "SVN _Import"
+
 #. append the svn submenu action
-#: thunar-svn-plugin/tsp-provider.c:409 thunar-svn-plugin/tsp-provider.c:444
-#: thunar-svn-plugin/tsp-provider.c:452
+#: thunar-svn-plugin/tsp-provider.c:410 thunar-svn-plugin/tsp-provider.c:445
+#: thunar-svn-plugin/tsp-provider.c:453
 msgid "SVN"
 msgstr "SVN"
 
-#: thunar-svn-plugin/tsp-provider.c:457
+#: thunar-svn-plugin/tsp-provider.c:458
 msgid "SVN _Checkout"
 msgstr "SVN _Checkout"
 
-#: thunar-svn-plugin/tsp-svn-action.c:225
+#: thunar-svn-plugin/tsp-svn-action.c:231 tsp-svn-helper/main.c:105
 msgid "Add"
 msgstr "Hozzáad"
 
-#: thunar-svn-plugin/tsp-svn-action.c:232
+#: thunar-svn-plugin/tsp-svn-action.c:239
 msgid "Blame"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:247
+#: thunar-svn-plugin/tsp-svn-action.c:257 tsp-svn-helper/main.c:113
 msgid "Cleanup"
 msgstr "Tisztít"
 
-#: thunar-svn-plugin/tsp-svn-action.c:254
+#: thunar-svn-plugin/tsp-svn-action.c:265 tsp-svn-helper/main.c:117
 msgid "Commit"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:265
+#: thunar-svn-plugin/tsp-svn-action.c:278
 msgid "Delete"
 msgstr "Töröl"
 
-#: thunar-svn-plugin/tsp-svn-action.c:272
+#: thunar-svn-plugin/tsp-svn-action.c:286
 msgid "Diff"
 msgstr "Különbség"
 
-#: thunar-svn-plugin/tsp-svn-action.c:279
+#: thunar-svn-plugin/tsp-svn-action.c:294
 msgid "Export"
 msgstr "Export"
 
-#: thunar-svn-plugin/tsp-svn-action.c:290
+#: thunar-svn-plugin/tsp-svn-action.c:307
 msgid "Info"
 msgstr "Adatok"
 
-#: thunar-svn-plugin/tsp-svn-action.c:301
+#: thunar-svn-plugin/tsp-svn-action.c:320
 msgid "Lock"
 msgstr "Zár"
 
-#: thunar-svn-plugin/tsp-svn-action.c:308
+#: thunar-svn-plugin/tsp-svn-action.c:328
 msgid "Log"
 msgstr "Napló"
 
-#: thunar-svn-plugin/tsp-svn-action.c:333
+#: thunar-svn-plugin/tsp-svn-action.c:357
 msgid "Edit Properties"
 msgstr "Tulajdonságok szerkesztése"
 
-#: thunar-svn-plugin/tsp-svn-action.c:342
+#: thunar-svn-plugin/tsp-svn-action.c:367
 msgid "Resolve"
 msgstr "Megold"
 
-#: thunar-svn-plugin/tsp-svn-action.c:349
+#: thunar-svn-plugin/tsp-svn-action.c:375
 msgid "Revert"
 msgstr "Visszaállít"
 
-#: thunar-svn-plugin/tsp-svn-action.c:356
+#: thunar-svn-plugin/tsp-svn-action.c:383
 msgid "Status"
 msgstr "Állapot"
 
-#: thunar-svn-plugin/tsp-svn-action.c:363
+#: thunar-svn-plugin/tsp-svn-action.c:391
 msgid "Switch"
 msgstr "Vált"
 
-#: thunar-svn-plugin/tsp-svn-action.c:370
+#: thunar-svn-plugin/tsp-svn-action.c:399
 msgid "Unlock"
 msgstr "Felold"
 
-#: thunar-svn-plugin/tsp-svn-action.c:377 tsp-svn-helper/tsh-update.c:105
+#: thunar-svn-plugin/tsp-svn-action.c:407 tsp-svn-helper/main.c:121
+#: tsp-svn-helper/tsh-update.c:105
 msgid "Update"
 msgstr "Frissít"
 
+#: thunar-svn-plugin/tsp-svn-action.c:420
+#, c-format
+msgid "Action %s is unimplemented"
+msgstr ""
+
 #. Translators: the first string is a path and the second string
 #. * is a hostname. Nautilus and the panel contain the same string
 #. * to translate.
@@ -116,59 +127,95 @@
 msgid "(None)"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:339
+#: tsp-svn-helper/gtkfilechooserentry.c:341
 msgid "Dialog"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:340
+#: tsp-svn-helper/gtkfilechooserentry.c:342
 msgid "The file chooser dialog to use."
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:356
+#: tsp-svn-helper/gtkfilechooserentry.c:358
 msgid "Focus on click"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:357
+#: tsp-svn-helper/gtkfilechooserentry.c:359
 msgid "Whether the entry grabs focus when it is clicked with the mouse"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:370
+#: tsp-svn-helper/gtkfilechooserentry.c:372
 msgid "Title"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:371
+#: tsp-svn-helper/gtkfilechooserentry.c:373
 msgid "The title of the file chooser dialog."
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:384
+#: tsp-svn-helper/gtkfilechooserentry.c:386
 msgid "Width In Characters"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:385
+#: tsp-svn-helper/gtkfilechooserentry.c:387
 msgid "The desired width of the entry widget, in characters."
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:2035
+#: tsp-svn-helper/gtkfilechooserentry.c:2055
 msgid "Other..."
 msgstr ""
 
-#: tsp-svn-helper/main.c:58
+#: tsp-svn-helper/main.c:64
 msgid "Print version information"
 msgstr "Verzió kiírása"
 
-#: tsp-svn-helper/main.c:65
+#: tsp-svn-helper/main.c:71
+#, fuzzy
+msgid "Execute add action"
+msgstr "Frissítési művelet futtatása"
+
+#: tsp-svn-helper/main.c:77
 msgid "Execute checkout action"
 msgstr "Checkout művelet futtatása"
 
-#: tsp-svn-helper/main.c:71
+#: tsp-svn-helper/main.c:83
+#, fuzzy
+msgid "Execute cleanup action"
+msgstr "Checkout művelet futtatása"
+
+#: tsp-svn-helper/main.c:89
+#, fuzzy
+msgid "Execute commit action"
+msgstr "Checkout művelet futtatása"
+
+#: tsp-svn-helper/main.c:95
 msgid "Execute update action"
 msgstr "Frissítési művelet futtatása"
 
-#: tsp-svn-helper/tsh-checkout.c:94 tsp-svn-helper/tsh-checkout-dialog.c:103
+#: tsp-svn-helper/main.c:105
+msgid "Add Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:109
+msgid "Checkout Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:109 tsp-svn-helper/tsh-checkout.c:102
+#: tsp-svn-helper/tsh-checkout-dialog.c:103
 #, fuzzy
 msgid "Checkout"
 msgstr "SVN _Checkout"
 
+#: tsp-svn-helper/main.c:113
+msgid "Cleanup Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:117
+msgid "Commit Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:121
+msgid "Update Related Opions:"
+msgstr ""
+
 #: tsp-svn-helper/tsh-checkout-dialog.c:64
 msgid "_Repository:"
 msgstr ""
@@ -182,31 +229,91 @@
 msgid "_Checkout directory:"
 msgstr ""
 
-#: tsp-svn-helper/tsh-common.c:448
+#: tsp-svn-helper/tsh-common.c:456
+msgid "Added"
+msgstr "Hozzáadva"
+
+#: tsp-svn-helper/tsh-common.c:459
+#, fuzzy
+msgid "Copied"
+msgstr "Kész"
+
+#: tsp-svn-helper/tsh-common.c:464
 msgid "Deleted"
 msgstr "Törölve"
 
-#: tsp-svn-helper/tsh-common.c:453
-msgid "Added"
-msgstr "Hozzáadva"
+#: tsp-svn-helper/tsh-common.c:467
+#, fuzzy
+msgid "Restored"
+msgstr "Megold"
 
-#: tsp-svn-helper/tsh-common.c:458
+#: tsp-svn-helper/tsh-common.c:470
+#, fuzzy
+msgid "Reverted"
+msgstr "Visszaállít"
+
+#: tsp-svn-helper/tsh-common.c:473
+#, fuzzy
+msgid "Revert failed"
+msgstr "Visszaállít"
+
+#: tsp-svn-helper/tsh-common.c:476
+#, fuzzy
+msgid "Resolved"
+msgstr "Megold"
+
+#: tsp-svn-helper/tsh-common.c:479
+msgid "Skipped"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:490
 msgid "Updated"
 msgstr "Frissítve"
 
-#: tsp-svn-helper/tsh-common.c:462
+#: tsp-svn-helper/tsh-common.c:494
 #, c-format
 msgid "At revision: %li"
 msgstr "E verziónál: %li"
 
-#: tsp-svn-helper/tsh-common.c:464
+#: tsp-svn-helper/tsh-common.c:495 tsp-svn-helper/tsh-common.c:502
 msgid "Completed"
 msgstr "Kész"
 
-#: tsp-svn-helper/tsh-common.c:469
+#: tsp-svn-helper/tsh-common.c:499
 msgid "External"
 msgstr "Külső"
 
+#: tsp-svn-helper/tsh-common.c:508
+msgid "Modified"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:517
+msgid "Replaced"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:526
+#, fuzzy
+msgid "Locked"
+msgstr "Zár"
+
+#: tsp-svn-helper/tsh-common.c:529
+#, fuzzy
+msgid "Unlocked"
+msgstr "Felold"
+
+#: tsp-svn-helper/tsh-common.c:532
+msgid "Lock failed"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:535
+#, fuzzy
+msgid "Unlock failed"
+msgstr "Felold"
+
+#: tsp-svn-helper/tsh-common.c:538
+msgid "Unknown"
+msgstr ""
+
 #: tsp-svn-helper/tsh-file-dialog.c:60
 msgid "_Certificate:"
 msgstr ""

Modified: thunar-svn-plugin/trunk/po/lv.po
===================================================================
--- thunar-svn-plugin/trunk/po/lv.po	2007-12-25 21:46:13 UTC (rev 3753)
+++ thunar-svn-plugin/trunk/po/lv.po	2007-12-27 16:17:52 UTC (rev 3754)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: thunar-svn-plugin\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-12-24 23:15+0100\n"
+"POT-Creation-Date: 2007-12-27 17:05+0100\n"
 "PO-Revision-Date: 2007-11-15 21:18+0300\n"
 "Last-Translator: Rihards Priedītis <rprieditis at inbox.lv>\n"
 "Language-Team: Latvian <rprieditis at inbox.lv>\n"
@@ -19,84 +19,95 @@
 msgid "SVN _Import"
 msgstr "SVN _Imports"
 
+#: thunar-svn-plugin/tsp-provider.c:404
+#, fuzzy
+msgid "Import"
+msgstr "SVN _Imports"
+
 #. append the svn submenu action
-#: thunar-svn-plugin/tsp-provider.c:409 thunar-svn-plugin/tsp-provider.c:444
-#: thunar-svn-plugin/tsp-provider.c:452
+#: thunar-svn-plugin/tsp-provider.c:410 thunar-svn-plugin/tsp-provider.c:445
+#: thunar-svn-plugin/tsp-provider.c:453
 msgid "SVN"
 msgstr "SVN"
 
-#: thunar-svn-plugin/tsp-provider.c:457
+#: thunar-svn-plugin/tsp-provider.c:458
 msgid "SVN _Checkout"
 msgstr "SVN _Izrakstīšana"
 
-#: thunar-svn-plugin/tsp-svn-action.c:225
+#: thunar-svn-plugin/tsp-svn-action.c:231 tsp-svn-helper/main.c:105
 msgid "Add"
 msgstr "Pievienot"
 
-#: thunar-svn-plugin/tsp-svn-action.c:232
+#: thunar-svn-plugin/tsp-svn-action.c:239
 msgid "Blame"
 msgstr "Vainot"
 
-#: thunar-svn-plugin/tsp-svn-action.c:247
+#: thunar-svn-plugin/tsp-svn-action.c:257 tsp-svn-helper/main.c:113
 msgid "Cleanup"
 msgstr "Uzkopt"
 
-#: thunar-svn-plugin/tsp-svn-action.c:254
+#: thunar-svn-plugin/tsp-svn-action.c:265 tsp-svn-helper/main.c:117
 msgid "Commit"
 msgstr "Apstiprināt"
 
-#: thunar-svn-plugin/tsp-svn-action.c:265
+#: thunar-svn-plugin/tsp-svn-action.c:278
 msgid "Delete"
 msgstr "Dzēst"
 
-#: thunar-svn-plugin/tsp-svn-action.c:272
+#: thunar-svn-plugin/tsp-svn-action.c:286
 msgid "Diff"
 msgstr "Atšķirība"
 
-#: thunar-svn-plugin/tsp-svn-action.c:279
+#: thunar-svn-plugin/tsp-svn-action.c:294
 msgid "Export"
 msgstr "Eksportēt"
 
-#: thunar-svn-plugin/tsp-svn-action.c:290
+#: thunar-svn-plugin/tsp-svn-action.c:307
 msgid "Info"
 msgstr "Informācija"
 
-#: thunar-svn-plugin/tsp-svn-action.c:301
+#: thunar-svn-plugin/tsp-svn-action.c:320
 msgid "Lock"
 msgstr "Slēgt"
 
-#: thunar-svn-plugin/tsp-svn-action.c:308
+#: thunar-svn-plugin/tsp-svn-action.c:328
 msgid "Log"
 msgstr "Reģistrēt"
 
-#: thunar-svn-plugin/tsp-svn-action.c:333
+#: thunar-svn-plugin/tsp-svn-action.c:357
 msgid "Edit Properties"
 msgstr "Rediģēt Rekvizītus"
 
-#: thunar-svn-plugin/tsp-svn-action.c:342
+#: thunar-svn-plugin/tsp-svn-action.c:367
 msgid "Resolve"
 msgstr "Atpazīt"
 
-#: thunar-svn-plugin/tsp-svn-action.c:349
+#: thunar-svn-plugin/tsp-svn-action.c:375
 msgid "Revert"
 msgstr "Atgriezt"
 
-#: thunar-svn-plugin/tsp-svn-action.c:356
+#: thunar-svn-plugin/tsp-svn-action.c:383
 msgid "Status"
 msgstr "Status"
 
-#: thunar-svn-plugin/tsp-svn-action.c:363
+#: thunar-svn-plugin/tsp-svn-action.c:391
 msgid "Switch"
 msgstr "Pārslēgt"
 
-#: thunar-svn-plugin/tsp-svn-action.c:370
+#: thunar-svn-plugin/tsp-svn-action.c:399
 msgid "Unlock"
 msgstr "Atslēgt"
 
-#: thunar-svn-plugin/tsp-svn-action.c:377 tsp-svn-helper/tsh-update.c:105
+#: thunar-svn-plugin/tsp-svn-action.c:407 tsp-svn-helper/main.c:121
+#: tsp-svn-helper/tsh-update.c:105
 msgid "Update"
 msgstr "Atjaunot"
 
+#: thunar-svn-plugin/tsp-svn-action.c:420
+#, c-format
+msgid "Action %s is unimplemented"
+msgstr ""
+
 #. Translators: the first string is a path and the second string
 #. * is a hostname. Nautilus and the panel contain the same string
 #. * to translate.
@@ -118,58 +129,94 @@
 msgid "(None)"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:339
+#: tsp-svn-helper/gtkfilechooserentry.c:341
 msgid "Dialog"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:340
+#: tsp-svn-helper/gtkfilechooserentry.c:342
 msgid "The file chooser dialog to use."
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:356
+#: tsp-svn-helper/gtkfilechooserentry.c:358
 msgid "Focus on click"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:357
+#: tsp-svn-helper/gtkfilechooserentry.c:359
 msgid "Whether the entry grabs focus when it is clicked with the mouse"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:370
+#: tsp-svn-helper/gtkfilechooserentry.c:372
 msgid "Title"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:371
+#: tsp-svn-helper/gtkfilechooserentry.c:373
 msgid "The title of the file chooser dialog."
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:384
+#: tsp-svn-helper/gtkfilechooserentry.c:386
 msgid "Width In Characters"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:385
+#: tsp-svn-helper/gtkfilechooserentry.c:387
 msgid "The desired width of the entry widget, in characters."
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:2035
+#: tsp-svn-helper/gtkfilechooserentry.c:2055
 msgid "Other..."
 msgstr ""
 
-#: tsp-svn-helper/main.c:58
+#: tsp-svn-helper/main.c:64
 msgid "Print version information"
 msgstr "Izdrukāt versijas informāciju"
 
-#: tsp-svn-helper/main.c:65
+#: tsp-svn-helper/main.c:71
+#, fuzzy
+msgid "Execute add action"
+msgstr "Izpildīt atjaunošanas darbību"
+
+#: tsp-svn-helper/main.c:77
 msgid "Execute checkout action"
 msgstr "Izpildīt izrakstīšanas darbību"
 
-#: tsp-svn-helper/main.c:71
+#: tsp-svn-helper/main.c:83
+#, fuzzy
+msgid "Execute cleanup action"
+msgstr "Izpildīt izrakstīšanas darbību"
+
+#: tsp-svn-helper/main.c:89
+#, fuzzy
+msgid "Execute commit action"
+msgstr "Izpildīt izrakstīšanas darbību"
+
+#: tsp-svn-helper/main.c:95
 msgid "Execute update action"
 msgstr "Izpildīt atjaunošanas darbību"
 
-#: tsp-svn-helper/tsh-checkout.c:94 tsp-svn-helper/tsh-checkout-dialog.c:103
+#: tsp-svn-helper/main.c:105
+msgid "Add Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:109
+msgid "Checkout Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:109 tsp-svn-helper/tsh-checkout.c:102
+#: tsp-svn-helper/tsh-checkout-dialog.c:103
 msgid "Checkout"
 msgstr "Izrakstīt"
 
+#: tsp-svn-helper/main.c:113
+msgid "Cleanup Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:117
+msgid "Commit Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:121
+msgid "Update Related Opions:"
+msgstr ""
+
 #: tsp-svn-helper/tsh-checkout-dialog.c:64
 msgid "_Repository:"
 msgstr ""
@@ -183,31 +230,91 @@
 msgid "_Checkout directory:"
 msgstr ""
 
-#: tsp-svn-helper/tsh-common.c:448
+#: tsp-svn-helper/tsh-common.c:456
+msgid "Added"
+msgstr "Pievienots"
+
+#: tsp-svn-helper/tsh-common.c:459
+#, fuzzy
+msgid "Copied"
+msgstr "Pabeigts"
+
+#: tsp-svn-helper/tsh-common.c:464
 msgid "Deleted"
 msgstr "Dzēsts"
 
-#: tsp-svn-helper/tsh-common.c:453
-msgid "Added"
-msgstr "Pievienots"
+#: tsp-svn-helper/tsh-common.c:467
+#, fuzzy
+msgid "Restored"
+msgstr "Atpazīt"
 
-#: tsp-svn-helper/tsh-common.c:458
+#: tsp-svn-helper/tsh-common.c:470
+#, fuzzy
+msgid "Reverted"
+msgstr "Atgriezt"
+
+#: tsp-svn-helper/tsh-common.c:473
+#, fuzzy
+msgid "Revert failed"
+msgstr "Atgriezt"
+
+#: tsp-svn-helper/tsh-common.c:476
+#, fuzzy
+msgid "Resolved"
+msgstr "Atpazīt"
+
+#: tsp-svn-helper/tsh-common.c:479
+msgid "Skipped"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:490
 msgid "Updated"
 msgstr "Atjaunināts"
 
-#: tsp-svn-helper/tsh-common.c:462
+#: tsp-svn-helper/tsh-common.c:494
 #, c-format
 msgid "At revision: %li"
 msgstr "Revizija: %li"
 
-#: tsp-svn-helper/tsh-common.c:464
+#: tsp-svn-helper/tsh-common.c:495 tsp-svn-helper/tsh-common.c:502
 msgid "Completed"
 msgstr "Pabeigts"
 
-#: tsp-svn-helper/tsh-common.c:469
+#: tsp-svn-helper/tsh-common.c:499
 msgid "External"
 msgstr "Ārējs"
 
+#: tsp-svn-helper/tsh-common.c:508
+msgid "Modified"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:517
+msgid "Replaced"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:526
+#, fuzzy
+msgid "Locked"
+msgstr "Slēgt"
+
+#: tsp-svn-helper/tsh-common.c:529
+#, fuzzy
+msgid "Unlocked"
+msgstr "Atslēgt"
+
+#: tsp-svn-helper/tsh-common.c:532
+msgid "Lock failed"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:535
+#, fuzzy
+msgid "Unlock failed"
+msgstr "Atslēgt"
+
+#: tsp-svn-helper/tsh-common.c:538
+msgid "Unknown"
+msgstr ""
+
 #: tsp-svn-helper/tsh-file-dialog.c:60
 msgid "_Certificate:"
 msgstr ""

Modified: thunar-svn-plugin/trunk/po/nl.po
===================================================================
--- thunar-svn-plugin/trunk/po/nl.po	2007-12-25 21:46:13 UTC (rev 3753)
+++ thunar-svn-plugin/trunk/po/nl.po	2007-12-27 16:17:52 UTC (rev 3754)
@@ -7,8 +7,8 @@
 msgstr ""
 "Project-Id-Version: thunar-svn-plugin\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-12-24 23:15+0100\n"
-"PO-Revision-Date: 2007-12-24 23:30+0100\n"
+"POT-Creation-Date: 2007-12-27 17:05+0100\n"
+"PO-Revision-Date: 2007-12-27 17:21+0100\n"
 "Last-Translator: Peter de Ridder <peter at xfce.org>\n"
 "Language-Team: Dutch <xfce-i18n at xfce.org>\n"
 "MIME-Version: 1.0\n"
@@ -19,84 +19,94 @@
 msgid "SVN _Import"
 msgstr "SVN _Importeren"
 
+#: thunar-svn-plugin/tsp-provider.c:404
+msgid "Import"
+msgstr "Importeren"
+
 #. append the svn submenu action
-#: thunar-svn-plugin/tsp-provider.c:409 thunar-svn-plugin/tsp-provider.c:444
-#: thunar-svn-plugin/tsp-provider.c:452
+#: thunar-svn-plugin/tsp-provider.c:410 thunar-svn-plugin/tsp-provider.c:445
+#: thunar-svn-plugin/tsp-provider.c:453
 msgid "SVN"
 msgstr "SVN"
 
-#: thunar-svn-plugin/tsp-provider.c:457
+#: thunar-svn-plugin/tsp-provider.c:458
 msgid "SVN _Checkout"
 msgstr "SVN _Ophalen"
 
-#: thunar-svn-plugin/tsp-svn-action.c:225
+#: thunar-svn-plugin/tsp-svn-action.c:231 tsp-svn-helper/main.c:105
 msgid "Add"
 msgstr "Toevoegen"
 
-#: thunar-svn-plugin/tsp-svn-action.c:232
+#: thunar-svn-plugin/tsp-svn-action.c:239
 msgid "Blame"
 msgstr "Beschuldigen"
 
-#: thunar-svn-plugin/tsp-svn-action.c:247
+#: thunar-svn-plugin/tsp-svn-action.c:257 tsp-svn-helper/main.c:113
 msgid "Cleanup"
 msgstr "Opschonen"
 
-#: thunar-svn-plugin/tsp-svn-action.c:254
+#: thunar-svn-plugin/tsp-svn-action.c:265 tsp-svn-helper/main.c:117
 msgid "Commit"
 msgstr "Versturen"
 
-#: thunar-svn-plugin/tsp-svn-action.c:265
+#: thunar-svn-plugin/tsp-svn-action.c:278
 msgid "Delete"
 msgstr "Verwijderen"
 
-#: thunar-svn-plugin/tsp-svn-action.c:272
+#: thunar-svn-plugin/tsp-svn-action.c:286
 msgid "Diff"
 msgstr "Verschillen"
 
-#: thunar-svn-plugin/tsp-svn-action.c:279
+#: thunar-svn-plugin/tsp-svn-action.c:294
 msgid "Export"
 msgstr "Exporteren"
 
-#: thunar-svn-plugin/tsp-svn-action.c:290
+#: thunar-svn-plugin/tsp-svn-action.c:307
 msgid "Info"
 msgstr "Informatie"
 
-#: thunar-svn-plugin/tsp-svn-action.c:301
+#: thunar-svn-plugin/tsp-svn-action.c:320
 msgid "Lock"
 msgstr "Vast Zetten"
 
-#: thunar-svn-plugin/tsp-svn-action.c:308
+#: thunar-svn-plugin/tsp-svn-action.c:328
 msgid "Log"
 msgstr "Geschiedenis"
 
-#: thunar-svn-plugin/tsp-svn-action.c:333
+#: thunar-svn-plugin/tsp-svn-action.c:357
 msgid "Edit Properties"
 msgstr "Attributen Wijzigen"
 
-#: thunar-svn-plugin/tsp-svn-action.c:342
+#: thunar-svn-plugin/tsp-svn-action.c:367
 msgid "Resolve"
 msgstr "Verhelpen"
 
-#: thunar-svn-plugin/tsp-svn-action.c:349
+#: thunar-svn-plugin/tsp-svn-action.c:375
 msgid "Revert"
 msgstr "Terug Halen"
 
-#: thunar-svn-plugin/tsp-svn-action.c:356
+#: thunar-svn-plugin/tsp-svn-action.c:383
 msgid "Status"
 msgstr "Status"
 
-#: thunar-svn-plugin/tsp-svn-action.c:363
+#: thunar-svn-plugin/tsp-svn-action.c:391
 msgid "Switch"
 msgstr "Omschakelen"
 
-#: thunar-svn-plugin/tsp-svn-action.c:370
+#: thunar-svn-plugin/tsp-svn-action.c:399
 msgid "Unlock"
 msgstr "Vrijgeven"
 
-#: thunar-svn-plugin/tsp-svn-action.c:377 tsp-svn-helper/tsh-update.c:105
+#: thunar-svn-plugin/tsp-svn-action.c:407 tsp-svn-helper/main.c:121
+#: tsp-svn-helper/tsh-update.c:105
 msgid "Update"
 msgstr "Bijwerken"
 
+#: thunar-svn-plugin/tsp-svn-action.c:420
+#, c-format
+msgid "Action %s is unimplemented"
+msgstr "Actie %s is niet geimplementeerd"
+
 #. Translators: the first string is a path and the second string
 #. * is a hostname. Nautilus and the panel contain the same string
 #. * to translate.
@@ -118,58 +128,91 @@
 msgid "(None)"
 msgstr "(Geen)"
 
-#: tsp-svn-helper/gtkfilechooserentry.c:339
+#: tsp-svn-helper/gtkfilechooserentry.c:341
 msgid "Dialog"
 msgstr "Dialoogvenster"
 
-#: tsp-svn-helper/gtkfilechooserentry.c:340
+#: tsp-svn-helper/gtkfilechooserentry.c:342
 msgid "The file chooser dialog to use."
 msgstr "De te gebruiken bestandskiezer."
 
-#: tsp-svn-helper/gtkfilechooserentry.c:356
+#: tsp-svn-helper/gtkfilechooserentry.c:358
 msgid "Focus on click"
 msgstr "Aandacht bij klikken"
 
-#: tsp-svn-helper/gtkfilechooserentry.c:357
+#: tsp-svn-helper/gtkfilechooserentry.c:359
 msgid "Whether the entry grabs focus when it is clicked with the mouse"
 msgstr "Of het veld de aandacht krijgt als het met de muis wordt aangeklikt"
 
-#: tsp-svn-helper/gtkfilechooserentry.c:370
+#: tsp-svn-helper/gtkfilechooserentry.c:372
 msgid "Title"
 msgstr "Titel"
 
-#: tsp-svn-helper/gtkfilechooserentry.c:371
+#: tsp-svn-helper/gtkfilechooserentry.c:373
 msgid "The title of the file chooser dialog."
 msgstr "De titel van het bestandsselectie-dialoogvenster."
 
-#: tsp-svn-helper/gtkfilechooserentry.c:384
+#: tsp-svn-helper/gtkfilechooserentry.c:386
 msgid "Width In Characters"
 msgstr "Breedte, in lettertekens"
 
-#: tsp-svn-helper/gtkfilechooserentry.c:385
+#: tsp-svn-helper/gtkfilechooserentry.c:387
 msgid "The desired width of the entry widget, in characters."
 msgstr "De gewenste breedte van het text-widget, in lettertekens."
 
-#: tsp-svn-helper/gtkfilechooserentry.c:2035
+#: tsp-svn-helper/gtkfilechooserentry.c:2055
 msgid "Other..."
 msgstr "Andere..."
 
-#: tsp-svn-helper/main.c:58
+#: tsp-svn-helper/main.c:64
 msgid "Print version information"
 msgstr "Versie informatie tonen"
 
-#: tsp-svn-helper/main.c:65
+#: tsp-svn-helper/main.c:71
+msgid "Execute add action"
+msgstr "Toevoeg actie uitvoeren"
+
+#: tsp-svn-helper/main.c:77
 msgid "Execute checkout action"
 msgstr "Ophaal actie uitvoeren"
 
-#: tsp-svn-helper/main.c:71
+#: tsp-svn-helper/main.c:83
+msgid "Execute cleanup action"
+msgstr "Opschoon actie uitvoeren"
+
+#: tsp-svn-helper/main.c:89
+msgid "Execute commit action"
+msgstr "Verstuur actie uitvoeren"
+
+#: tsp-svn-helper/main.c:95
 msgid "Execute update action"
 msgstr "Bijwerk actie uitvoeren"
 
-#: tsp-svn-helper/tsh-checkout.c:94 tsp-svn-helper/tsh-checkout-dialog.c:103
+#: tsp-svn-helper/main.c:105
+msgid "Add Related Opions:"
+msgstr "Toevoegen gerelateerde opties:"
+
+#: tsp-svn-helper/main.c:109
+msgid "Checkout Related Opions:"
+msgstr "Ophalen gerelateerde opties:"
+
+#: tsp-svn-helper/main.c:109 tsp-svn-helper/tsh-checkout.c:102
+#: tsp-svn-helper/tsh-checkout-dialog.c:103
 msgid "Checkout"
 msgstr "Ophalen"
 
+#: tsp-svn-helper/main.c:113
+msgid "Cleanup Related Opions:"
+msgstr "Opschonen gerelateerde opties:"
+
+#: tsp-svn-helper/main.c:117
+msgid "Commit Related Opions:"
+msgstr "Versturen gerelateerde opties:"
+
+#: tsp-svn-helper/main.c:121
+msgid "Update Related Opions:"
+msgstr "Bijwerken gerelateerde opties:"
+
 #: tsp-svn-helper/tsh-checkout-dialog.c:64
 msgid "_Repository:"
 msgstr ""
@@ -183,31 +226,83 @@
 msgid "_Checkout directory:"
 msgstr "_Ophaal map:"
 
-#: tsp-svn-helper/tsh-common.c:448
+#: tsp-svn-helper/tsh-common.c:456
+msgid "Added"
+msgstr "Toegevoegd"
+
+#: tsp-svn-helper/tsh-common.c:459
+msgid "Copied"
+msgstr "Gekopieerd"
+
+#: tsp-svn-helper/tsh-common.c:464
 msgid "Deleted"
 msgstr "Verwijderd"
 
-#: tsp-svn-helper/tsh-common.c:453
-msgid "Added"
-msgstr "Toegevoegd"
+#: tsp-svn-helper/tsh-common.c:467
+msgid "Restored"
+msgstr "Hersteld"
 
-#: tsp-svn-helper/tsh-common.c:458
+#: tsp-svn-helper/tsh-common.c:470
+msgid "Reverted"
+msgstr "Terug gehaald"
+
+#: tsp-svn-helper/tsh-common.c:473
+msgid "Revert failed"
+msgstr "Terug halen gefaald"
+
+#: tsp-svn-helper/tsh-common.c:476
+msgid "Resolved"
+msgstr "Opgelost"
+
+#: tsp-svn-helper/tsh-common.c:479
+msgid "Skipped"
+msgstr "Overgeslagen"
+
+#: tsp-svn-helper/tsh-common.c:490
 msgid "Updated"
 msgstr "Bijgewerkt"
 
-#: tsp-svn-helper/tsh-common.c:462
+#: tsp-svn-helper/tsh-common.c:494
 #, c-format
 msgid "At revision: %li"
 msgstr "Op versie: %li"
 
-#: tsp-svn-helper/tsh-common.c:464
+#: tsp-svn-helper/tsh-common.c:495 tsp-svn-helper/tsh-common.c:502
 msgid "Completed"
 msgstr "Voltooid"
 
-#: tsp-svn-helper/tsh-common.c:469
+#: tsp-svn-helper/tsh-common.c:499
 msgid "External"
 msgstr "Extern"
 
+#: tsp-svn-helper/tsh-common.c:508
+msgid "Modified"
+msgstr "Aangepast"
+
+#: tsp-svn-helper/tsh-common.c:517
+msgid "Replaced"
+msgstr "Vervangen"
+
+#: tsp-svn-helper/tsh-common.c:526
+msgid "Locked"
+msgstr "Vast gezet"
+
+#: tsp-svn-helper/tsh-common.c:529
+msgid "Unlocked"
+msgstr "Vrijgegeven"
+
+#: tsp-svn-helper/tsh-common.c:532
+msgid "Lock failed"
+msgstr "Vast zetten gefaald"
+
+#: tsp-svn-helper/tsh-common.c:535
+msgid "Unlock failed"
+msgstr "Vrijgeven gefaald"
+
+#: tsp-svn-helper/tsh-common.c:538
+msgid "Unknown"
+msgstr "Onbekend"
+
 #: tsp-svn-helper/tsh-file-dialog.c:60
 msgid "_Certificate:"
 msgstr "_Certificaat:"

Modified: thunar-svn-plugin/trunk/po/pt_BR.po
===================================================================
--- thunar-svn-plugin/trunk/po/pt_BR.po	2007-12-25 21:46:13 UTC (rev 3753)
+++ thunar-svn-plugin/trunk/po/pt_BR.po	2007-12-27 16:17:52 UTC (rev 3754)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: thunar-svn-plugin\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-12-24 23:15+0100\n"
+"POT-Creation-Date: 2007-12-27 17:05+0100\n"
 "PO-Revision-Date: 2007-11-09 15:08-0300\n"
 "Last-Translator: Fábio Nogueira <deb-user-ba at ubuntu.com>\n"
 "Language-Team: Brazilian Portuguese <ldp-br at bazar2.conectiva.com.br>\n"
@@ -20,84 +20,95 @@
 msgid "SVN _Import"
 msgstr "_Importar SVN"
 
+#: thunar-svn-plugin/tsp-provider.c:404
+#, fuzzy
+msgid "Import"
+msgstr "_Importar SVN"
+
 #. append the svn submenu action
-#: thunar-svn-plugin/tsp-provider.c:409 thunar-svn-plugin/tsp-provider.c:444
-#: thunar-svn-plugin/tsp-provider.c:452
+#: thunar-svn-plugin/tsp-provider.c:410 thunar-svn-plugin/tsp-provider.c:445
+#: thunar-svn-plugin/tsp-provider.c:453
 msgid "SVN"
 msgstr "SVN"
 
-#: thunar-svn-plugin/tsp-provider.c:457
+#: thunar-svn-plugin/tsp-provider.c:458
 msgid "SVN _Checkout"
 msgstr "SVN _Checkout"
 
-#: thunar-svn-plugin/tsp-svn-action.c:225
+#: thunar-svn-plugin/tsp-svn-action.c:231 tsp-svn-helper/main.c:105
 msgid "Add"
 msgstr "Adicionar"
 
-#: thunar-svn-plugin/tsp-svn-action.c:232
+#: thunar-svn-plugin/tsp-svn-action.c:239
 msgid "Blame"
 msgstr "Falha"
 
-#: thunar-svn-plugin/tsp-svn-action.c:247
+#: thunar-svn-plugin/tsp-svn-action.c:257 tsp-svn-helper/main.c:113
 msgid "Cleanup"
 msgstr "Limpar"
 
-#: thunar-svn-plugin/tsp-svn-action.c:254
+#: thunar-svn-plugin/tsp-svn-action.c:265 tsp-svn-helper/main.c:117
 msgid "Commit"
 msgstr "Enviar"
 
-#: thunar-svn-plugin/tsp-svn-action.c:265
+#: thunar-svn-plugin/tsp-svn-action.c:278
 msgid "Delete"
 msgstr "Apagar"
 
-#: thunar-svn-plugin/tsp-svn-action.c:272
+#: thunar-svn-plugin/tsp-svn-action.c:286
 msgid "Diff"
 msgstr "Diferença"
 
-#: thunar-svn-plugin/tsp-svn-action.c:279
+#: thunar-svn-plugin/tsp-svn-action.c:294
 msgid "Export"
 msgstr "Exportar"
 
-#: thunar-svn-plugin/tsp-svn-action.c:290
+#: thunar-svn-plugin/tsp-svn-action.c:307
 msgid "Info"
 msgstr "Informações"
 
-#: thunar-svn-plugin/tsp-svn-action.c:301
+#: thunar-svn-plugin/tsp-svn-action.c:320
 msgid "Lock"
 msgstr "Travar"
 
-#: thunar-svn-plugin/tsp-svn-action.c:308
+#: thunar-svn-plugin/tsp-svn-action.c:328
 msgid "Log"
 msgstr "Log"
 
-#: thunar-svn-plugin/tsp-svn-action.c:333
+#: thunar-svn-plugin/tsp-svn-action.c:357
 msgid "Edit Properties"
 msgstr "Editar Propriedades"
 
-#: thunar-svn-plugin/tsp-svn-action.c:342
+#: thunar-svn-plugin/tsp-svn-action.c:367
 msgid "Resolve"
 msgstr "Resolver"
 
-#: thunar-svn-plugin/tsp-svn-action.c:349
+#: thunar-svn-plugin/tsp-svn-action.c:375
 msgid "Revert"
 msgstr "Reverter"
 
-#: thunar-svn-plugin/tsp-svn-action.c:356
+#: thunar-svn-plugin/tsp-svn-action.c:383
 msgid "Status"
 msgstr "Status"
 
-#: thunar-svn-plugin/tsp-svn-action.c:363
+#: thunar-svn-plugin/tsp-svn-action.c:391
 msgid "Switch"
 msgstr "Alternar"
 
-#: thunar-svn-plugin/tsp-svn-action.c:370
+#: thunar-svn-plugin/tsp-svn-action.c:399
 msgid "Unlock"
 msgstr "Destravar"
 
-#: thunar-svn-plugin/tsp-svn-action.c:377 tsp-svn-helper/tsh-update.c:105
+#: thunar-svn-plugin/tsp-svn-action.c:407 tsp-svn-helper/main.c:121
+#: tsp-svn-helper/tsh-update.c:105
 msgid "Update"
 msgstr "Atualizar"
 
+#: thunar-svn-plugin/tsp-svn-action.c:420
+#, c-format
+msgid "Action %s is unimplemented"
+msgstr ""
+
 #. Translators: the first string is a path and the second string
 #. * is a hostname. Nautilus and the panel contain the same string
 #. * to translate.
@@ -119,58 +130,94 @@
 msgid "(None)"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:339
+#: tsp-svn-helper/gtkfilechooserentry.c:341
 msgid "Dialog"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:340
+#: tsp-svn-helper/gtkfilechooserentry.c:342
 msgid "The file chooser dialog to use."
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:356
+#: tsp-svn-helper/gtkfilechooserentry.c:358
 msgid "Focus on click"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:357
+#: tsp-svn-helper/gtkfilechooserentry.c:359
 msgid "Whether the entry grabs focus when it is clicked with the mouse"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:370
+#: tsp-svn-helper/gtkfilechooserentry.c:372
 msgid "Title"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:371
+#: tsp-svn-helper/gtkfilechooserentry.c:373
 msgid "The title of the file chooser dialog."
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:384
+#: tsp-svn-helper/gtkfilechooserentry.c:386
 msgid "Width In Characters"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:385
+#: tsp-svn-helper/gtkfilechooserentry.c:387
 msgid "The desired width of the entry widget, in characters."
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:2035
+#: tsp-svn-helper/gtkfilechooserentry.c:2055
 msgid "Other..."
 msgstr ""
 
-#: tsp-svn-helper/main.c:58
+#: tsp-svn-helper/main.c:64
 msgid "Print version information"
 msgstr "Imprimir informação da versão"
 
-#: tsp-svn-helper/main.c:65
+#: tsp-svn-helper/main.c:71
+#, fuzzy
+msgid "Execute add action"
+msgstr "Executar ação de atualização"
+
+#: tsp-svn-helper/main.c:77
 msgid "Execute checkout action"
 msgstr "Executar ação de checkout"
 
-#: tsp-svn-helper/main.c:71
+#: tsp-svn-helper/main.c:83
+#, fuzzy
+msgid "Execute cleanup action"
+msgstr "Executar ação de checkout"
+
+#: tsp-svn-helper/main.c:89
+#, fuzzy
+msgid "Execute commit action"
+msgstr "Executar ação de checkout"
+
+#: tsp-svn-helper/main.c:95
 msgid "Execute update action"
 msgstr "Executar ação de atualização"
 
-#: tsp-svn-helper/tsh-checkout.c:94 tsp-svn-helper/tsh-checkout-dialog.c:103
+#: tsp-svn-helper/main.c:105
+msgid "Add Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:109
+msgid "Checkout Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:109 tsp-svn-helper/tsh-checkout.c:102
+#: tsp-svn-helper/tsh-checkout-dialog.c:103
 msgid "Checkout"
 msgstr "Checkout"
 
+#: tsp-svn-helper/main.c:113
+msgid "Cleanup Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:117
+msgid "Commit Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:121
+msgid "Update Related Opions:"
+msgstr ""
+
 #: tsp-svn-helper/tsh-checkout-dialog.c:64
 msgid "_Repository:"
 msgstr ""
@@ -184,31 +231,91 @@
 msgid "_Checkout directory:"
 msgstr ""
 
-#: tsp-svn-helper/tsh-common.c:448
+#: tsp-svn-helper/tsh-common.c:456
+msgid "Added"
+msgstr "Adicionado"
+
+#: tsp-svn-helper/tsh-common.c:459
+#, fuzzy
+msgid "Copied"
+msgstr "Completado"
+
+#: tsp-svn-helper/tsh-common.c:464
 msgid "Deleted"
 msgstr "Apagado"
 
-#: tsp-svn-helper/tsh-common.c:453
-msgid "Added"
-msgstr "Adicionado"
+#: tsp-svn-helper/tsh-common.c:467
+#, fuzzy
+msgid "Restored"
+msgstr "Resolver"
 
-#: tsp-svn-helper/tsh-common.c:458
+#: tsp-svn-helper/tsh-common.c:470
+#, fuzzy
+msgid "Reverted"
+msgstr "Reverter"
+
+#: tsp-svn-helper/tsh-common.c:473
+#, fuzzy
+msgid "Revert failed"
+msgstr "Reverter"
+
+#: tsp-svn-helper/tsh-common.c:476
+#, fuzzy
+msgid "Resolved"
+msgstr "Resolver"
+
+#: tsp-svn-helper/tsh-common.c:479
+msgid "Skipped"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:490
 msgid "Updated"
 msgstr "Atualizado"
 
-#: tsp-svn-helper/tsh-common.c:462
+#: tsp-svn-helper/tsh-common.c:494
 #, c-format
 msgid "At revision: %li"
 msgstr "Na revisão: %li"
 
-#: tsp-svn-helper/tsh-common.c:464
+#: tsp-svn-helper/tsh-common.c:495 tsp-svn-helper/tsh-common.c:502
 msgid "Completed"
 msgstr "Completado"
 
-#: tsp-svn-helper/tsh-common.c:469
+#: tsp-svn-helper/tsh-common.c:499
 msgid "External"
 msgstr "Externo"
 
+#: tsp-svn-helper/tsh-common.c:508
+msgid "Modified"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:517
+msgid "Replaced"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:526
+#, fuzzy
+msgid "Locked"
+msgstr "Travar"
+
+#: tsp-svn-helper/tsh-common.c:529
+#, fuzzy
+msgid "Unlocked"
+msgstr "Destravar"
+
+#: tsp-svn-helper/tsh-common.c:532
+msgid "Lock failed"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:535
+#, fuzzy
+msgid "Unlock failed"
+msgstr "Destravar"
+
+#: tsp-svn-helper/tsh-common.c:538
+msgid "Unknown"
+msgstr ""
+
 #: tsp-svn-helper/tsh-file-dialog.c:60
 msgid "_Certificate:"
 msgstr ""

Modified: thunar-svn-plugin/trunk/po/thunar-svn-plugin.pot
===================================================================
--- thunar-svn-plugin/trunk/po/thunar-svn-plugin.pot	2007-12-25 21:46:13 UTC (rev 3753)
+++ thunar-svn-plugin/trunk/po/thunar-svn-plugin.pot	2007-12-27 16:17:52 UTC (rev 3754)
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-12-24 23:15+0100\n"
+"POT-Creation-Date: 2007-12-27 17:05+0100\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"
@@ -20,84 +20,94 @@
 msgid "SVN _Import"
 msgstr ""
 
+#: thunar-svn-plugin/tsp-provider.c:404
+msgid "Import"
+msgstr ""
+
 #. append the svn submenu action
-#: thunar-svn-plugin/tsp-provider.c:409 thunar-svn-plugin/tsp-provider.c:444
-#: thunar-svn-plugin/tsp-provider.c:452
+#: thunar-svn-plugin/tsp-provider.c:410 thunar-svn-plugin/tsp-provider.c:445
+#: thunar-svn-plugin/tsp-provider.c:453
 msgid "SVN"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-provider.c:457
+#: thunar-svn-plugin/tsp-provider.c:458
 msgid "SVN _Checkout"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:225
+#: thunar-svn-plugin/tsp-svn-action.c:231 tsp-svn-helper/main.c:105
 msgid "Add"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:232
+#: thunar-svn-plugin/tsp-svn-action.c:239
 msgid "Blame"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:247
+#: thunar-svn-plugin/tsp-svn-action.c:257 tsp-svn-helper/main.c:113
 msgid "Cleanup"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:254
+#: thunar-svn-plugin/tsp-svn-action.c:265 tsp-svn-helper/main.c:117
 msgid "Commit"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:265
+#: thunar-svn-plugin/tsp-svn-action.c:278
 msgid "Delete"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:272
+#: thunar-svn-plugin/tsp-svn-action.c:286
 msgid "Diff"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:279
+#: thunar-svn-plugin/tsp-svn-action.c:294
 msgid "Export"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:290
+#: thunar-svn-plugin/tsp-svn-action.c:307
 msgid "Info"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:301
+#: thunar-svn-plugin/tsp-svn-action.c:320
 msgid "Lock"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:308
+#: thunar-svn-plugin/tsp-svn-action.c:328
 msgid "Log"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:333
+#: thunar-svn-plugin/tsp-svn-action.c:357
 msgid "Edit Properties"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:342
+#: thunar-svn-plugin/tsp-svn-action.c:367
 msgid "Resolve"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:349
+#: thunar-svn-plugin/tsp-svn-action.c:375
 msgid "Revert"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:356
+#: thunar-svn-plugin/tsp-svn-action.c:383
 msgid "Status"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:363
+#: thunar-svn-plugin/tsp-svn-action.c:391
 msgid "Switch"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:370
+#: thunar-svn-plugin/tsp-svn-action.c:399
 msgid "Unlock"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:377 tsp-svn-helper/tsh-update.c:105
+#: thunar-svn-plugin/tsp-svn-action.c:407 tsp-svn-helper/main.c:121
+#: tsp-svn-helper/tsh-update.c:105
 msgid "Update"
 msgstr ""
 
+#: thunar-svn-plugin/tsp-svn-action.c:420
+#, c-format
+msgid "Action %s is unimplemented"
+msgstr ""
+
 #. Translators: the first string is a path and the second string
 #. * is a hostname. Nautilus and the panel contain the same string
 #. * to translate.
@@ -119,58 +129,91 @@
 msgid "(None)"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:339
+#: tsp-svn-helper/gtkfilechooserentry.c:341
 msgid "Dialog"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:340
+#: tsp-svn-helper/gtkfilechooserentry.c:342
 msgid "The file chooser dialog to use."
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:356
+#: tsp-svn-helper/gtkfilechooserentry.c:358
 msgid "Focus on click"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:357
+#: tsp-svn-helper/gtkfilechooserentry.c:359
 msgid "Whether the entry grabs focus when it is clicked with the mouse"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:370
+#: tsp-svn-helper/gtkfilechooserentry.c:372
 msgid "Title"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:371
+#: tsp-svn-helper/gtkfilechooserentry.c:373
 msgid "The title of the file chooser dialog."
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:384
+#: tsp-svn-helper/gtkfilechooserentry.c:386
 msgid "Width In Characters"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:385
+#: tsp-svn-helper/gtkfilechooserentry.c:387
 msgid "The desired width of the entry widget, in characters."
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:2035
+#: tsp-svn-helper/gtkfilechooserentry.c:2055
 msgid "Other..."
 msgstr ""
 
-#: tsp-svn-helper/main.c:58
+#: tsp-svn-helper/main.c:64
 msgid "Print version information"
 msgstr ""
 
-#: tsp-svn-helper/main.c:65
+#: tsp-svn-helper/main.c:71
+msgid "Execute add action"
+msgstr ""
+
+#: tsp-svn-helper/main.c:77
 msgid "Execute checkout action"
 msgstr ""
 
-#: tsp-svn-helper/main.c:71
+#: tsp-svn-helper/main.c:83
+msgid "Execute cleanup action"
+msgstr ""
+
+#: tsp-svn-helper/main.c:89
+msgid "Execute commit action"
+msgstr ""
+
+#: tsp-svn-helper/main.c:95
 msgid "Execute update action"
 msgstr ""
 
-#: tsp-svn-helper/tsh-checkout.c:94 tsp-svn-helper/tsh-checkout-dialog.c:103
+#: tsp-svn-helper/main.c:105
+msgid "Add Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:109
+msgid "Checkout Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:109 tsp-svn-helper/tsh-checkout.c:102
+#: tsp-svn-helper/tsh-checkout-dialog.c:103
 msgid "Checkout"
 msgstr ""
 
+#: tsp-svn-helper/main.c:113
+msgid "Cleanup Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:117
+msgid "Commit Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:121
+msgid "Update Related Opions:"
+msgstr ""
+
 #: tsp-svn-helper/tsh-checkout-dialog.c:64
 msgid "_Repository:"
 msgstr ""
@@ -184,31 +227,83 @@
 msgid "_Checkout directory:"
 msgstr ""
 
-#: tsp-svn-helper/tsh-common.c:448
+#: tsp-svn-helper/tsh-common.c:456
+msgid "Added"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:459
+msgid "Copied"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:464
 msgid "Deleted"
 msgstr ""
 
-#: tsp-svn-helper/tsh-common.c:453
-msgid "Added"
+#: tsp-svn-helper/tsh-common.c:467
+msgid "Restored"
 msgstr ""
 
-#: tsp-svn-helper/tsh-common.c:458
+#: tsp-svn-helper/tsh-common.c:470
+msgid "Reverted"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:473
+msgid "Revert failed"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:476
+msgid "Resolved"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:479
+msgid "Skipped"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:490
 msgid "Updated"
 msgstr ""
 
-#: tsp-svn-helper/tsh-common.c:462
+#: tsp-svn-helper/tsh-common.c:494
 #, c-format
 msgid "At revision: %li"
 msgstr ""
 
-#: tsp-svn-helper/tsh-common.c:464
+#: tsp-svn-helper/tsh-common.c:495 tsp-svn-helper/tsh-common.c:502
 msgid "Completed"
 msgstr ""
 
-#: tsp-svn-helper/tsh-common.c:469
+#: tsp-svn-helper/tsh-common.c:499
 msgid "External"
 msgstr ""
 
+#: tsp-svn-helper/tsh-common.c:508
+msgid "Modified"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:517
+msgid "Replaced"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:526
+msgid "Locked"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:529
+msgid "Unlocked"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:532
+msgid "Lock failed"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:535
+msgid "Unlock failed"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:538
+msgid "Unknown"
+msgstr ""
+
 #: tsp-svn-helper/tsh-file-dialog.c:60
 msgid "_Certificate:"
 msgstr ""

Modified: thunar-svn-plugin/trunk/po/ur.po
===================================================================
--- thunar-svn-plugin/trunk/po/ur.po	2007-12-25 21:46:13 UTC (rev 3753)
+++ thunar-svn-plugin/trunk/po/ur.po	2007-12-27 16:17:52 UTC (rev 3754)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: thunar-svn-plugin\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-12-24 23:15+0100\n"
+"POT-Creation-Date: 2007-12-27 17:05+0100\n"
 "PO-Revision-Date: 2007-10-26 15:12+0500\n"
 "Last-Translator: Muhammad Ali Makki <makk.ma at gmail.com>\n"
 "Language-Team: Urdu <makki.ma at gmail.com>\n"
@@ -22,84 +22,95 @@
 msgid "SVN _Import"
 msgstr "SVN _درآمد"
 
+#: thunar-svn-plugin/tsp-provider.c:404
+#, fuzzy
+msgid "Import"
+msgstr "SVN _درآمد"
+
 #. append the svn submenu action
-#: thunar-svn-plugin/tsp-provider.c:409 thunar-svn-plugin/tsp-provider.c:444
-#: thunar-svn-plugin/tsp-provider.c:452
+#: thunar-svn-plugin/tsp-provider.c:410 thunar-svn-plugin/tsp-provider.c:445
+#: thunar-svn-plugin/tsp-provider.c:453
 msgid "SVN"
 msgstr "SVN"
 
-#: thunar-svn-plugin/tsp-provider.c:457
+#: thunar-svn-plugin/tsp-provider.c:458
 msgid "SVN _Checkout"
 msgstr "SVN _چیک آؤٹ"
 
-#: thunar-svn-plugin/tsp-svn-action.c:225
+#: thunar-svn-plugin/tsp-svn-action.c:231 tsp-svn-helper/main.c:105
 msgid "Add"
 msgstr "شامل کریں"
 
-#: thunar-svn-plugin/tsp-svn-action.c:232
+#: thunar-svn-plugin/tsp-svn-action.c:239
 msgid "Blame"
 msgstr "Blame"
 
-#: thunar-svn-plugin/tsp-svn-action.c:247
+#: thunar-svn-plugin/tsp-svn-action.c:257 tsp-svn-helper/main.c:113
 msgid "Cleanup"
 msgstr "صاف کریں"
 
-#: thunar-svn-plugin/tsp-svn-action.c:254
+#: thunar-svn-plugin/tsp-svn-action.c:265 tsp-svn-helper/main.c:117
 msgid "Commit"
 msgstr "تبصرہ"
 
-#: thunar-svn-plugin/tsp-svn-action.c:265
+#: thunar-svn-plugin/tsp-svn-action.c:278
 msgid "Delete"
 msgstr "حذف"
 
-#: thunar-svn-plugin/tsp-svn-action.c:272
+#: thunar-svn-plugin/tsp-svn-action.c:286
 msgid "Diff"
 msgstr "فرق"
 
-#: thunar-svn-plugin/tsp-svn-action.c:279
+#: thunar-svn-plugin/tsp-svn-action.c:294
 msgid "Export"
 msgstr "برآمد"
 
-#: thunar-svn-plugin/tsp-svn-action.c:290
+#: thunar-svn-plugin/tsp-svn-action.c:307
 msgid "Info"
 msgstr "معلومات"
 
-#: thunar-svn-plugin/tsp-svn-action.c:301
+#: thunar-svn-plugin/tsp-svn-action.c:320
 msgid "Lock"
 msgstr "قفل"
 
-#: thunar-svn-plugin/tsp-svn-action.c:308
+#: thunar-svn-plugin/tsp-svn-action.c:328
 msgid "Log"
 msgstr "Log"
 
-#: thunar-svn-plugin/tsp-svn-action.c:333
+#: thunar-svn-plugin/tsp-svn-action.c:357
 msgid "Edit Properties"
 msgstr "خصوصیات مدون کریں"
 
-#: thunar-svn-plugin/tsp-svn-action.c:342
+#: thunar-svn-plugin/tsp-svn-action.c:367
 msgid "Resolve"
 msgstr "Resolve"
 
-#: thunar-svn-plugin/tsp-svn-action.c:349
+#: thunar-svn-plugin/tsp-svn-action.c:375
 msgid "Revert"
 msgstr "واپس"
 
-#: thunar-svn-plugin/tsp-svn-action.c:356
+#: thunar-svn-plugin/tsp-svn-action.c:383
 msgid "Status"
 msgstr "حالت"
 
-#: thunar-svn-plugin/tsp-svn-action.c:363
+#: thunar-svn-plugin/tsp-svn-action.c:391
 msgid "Switch"
 msgstr "تبدیل"
 
-#: thunar-svn-plugin/tsp-svn-action.c:370
+#: thunar-svn-plugin/tsp-svn-action.c:399
 msgid "Unlock"
 msgstr "غیر مقفل"
 
-#: thunar-svn-plugin/tsp-svn-action.c:377 tsp-svn-helper/tsh-update.c:105
+#: thunar-svn-plugin/tsp-svn-action.c:407 tsp-svn-helper/main.c:121
+#: tsp-svn-helper/tsh-update.c:105
 msgid "Update"
 msgstr "تجدید"
 
+#: thunar-svn-plugin/tsp-svn-action.c:420
+#, c-format
+msgid "Action %s is unimplemented"
+msgstr ""
+
 #. Translators: the first string is a path and the second string
 #. * is a hostname. Nautilus and the panel contain the same string
 #. * to translate.
@@ -121,58 +132,94 @@
 msgid "(None)"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:339
+#: tsp-svn-helper/gtkfilechooserentry.c:341
 msgid "Dialog"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:340
+#: tsp-svn-helper/gtkfilechooserentry.c:342
 msgid "The file chooser dialog to use."
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:356
+#: tsp-svn-helper/gtkfilechooserentry.c:358
 msgid "Focus on click"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:357
+#: tsp-svn-helper/gtkfilechooserentry.c:359
 msgid "Whether the entry grabs focus when it is clicked with the mouse"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:370
+#: tsp-svn-helper/gtkfilechooserentry.c:372
 msgid "Title"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:371
+#: tsp-svn-helper/gtkfilechooserentry.c:373
 msgid "The title of the file chooser dialog."
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:384
+#: tsp-svn-helper/gtkfilechooserentry.c:386
 msgid "Width In Characters"
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:385
+#: tsp-svn-helper/gtkfilechooserentry.c:387
 msgid "The desired width of the entry widget, in characters."
 msgstr ""
 
-#: tsp-svn-helper/gtkfilechooserentry.c:2035
+#: tsp-svn-helper/gtkfilechooserentry.c:2055
 msgid "Other..."
 msgstr ""
 
-#: tsp-svn-helper/main.c:58
+#: tsp-svn-helper/main.c:64
 msgid "Print version information"
 msgstr "ورژن معلومات طبع کریں"
 
-#: tsp-svn-helper/main.c:65
+#: tsp-svn-helper/main.c:71
+#, fuzzy
+msgid "Execute add action"
+msgstr "تجدید کریں"
+
+#: tsp-svn-helper/main.c:77
 msgid "Execute checkout action"
 msgstr "چیک کریں"
 
-#: tsp-svn-helper/main.c:71
+#: tsp-svn-helper/main.c:83
+#, fuzzy
+msgid "Execute cleanup action"
+msgstr "چیک کریں"
+
+#: tsp-svn-helper/main.c:89
+#, fuzzy
+msgid "Execute commit action"
+msgstr "چیک کریں"
+
+#: tsp-svn-helper/main.c:95
 msgid "Execute update action"
 msgstr "تجدید کریں"
 
-#: tsp-svn-helper/tsh-checkout.c:94 tsp-svn-helper/tsh-checkout-dialog.c:103
+#: tsp-svn-helper/main.c:105
+msgid "Add Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:109
+msgid "Checkout Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:109 tsp-svn-helper/tsh-checkout.c:102
+#: tsp-svn-helper/tsh-checkout-dialog.c:103
 msgid "Checkout"
 msgstr "چیک کریں"
 
+#: tsp-svn-helper/main.c:113
+msgid "Cleanup Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:117
+msgid "Commit Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:121
+msgid "Update Related Opions:"
+msgstr ""
+
 #: tsp-svn-helper/tsh-checkout-dialog.c:64
 msgid "_Repository:"
 msgstr ""
@@ -186,31 +233,91 @@
 msgid "_Checkout directory:"
 msgstr ""
 
-#: tsp-svn-helper/tsh-common.c:448
+#: tsp-svn-helper/tsh-common.c:456
+msgid "Added"
+msgstr "شامل کردہ"
+
+#: tsp-svn-helper/tsh-common.c:459
+#, fuzzy
+msgid "Copied"
+msgstr "مکمل"
+
+#: tsp-svn-helper/tsh-common.c:464
 msgid "Deleted"
 msgstr "حذف"
 
-#: tsp-svn-helper/tsh-common.c:453
-msgid "Added"
-msgstr "شامل کردہ"
+#: tsp-svn-helper/tsh-common.c:467
+#, fuzzy
+msgid "Restored"
+msgstr "Resolve"
 
-#: tsp-svn-helper/tsh-common.c:458
+#: tsp-svn-helper/tsh-common.c:470
+#, fuzzy
+msgid "Reverted"
+msgstr "واپس"
+
+#: tsp-svn-helper/tsh-common.c:473
+#, fuzzy
+msgid "Revert failed"
+msgstr "واپس"
+
+#: tsp-svn-helper/tsh-common.c:476
+#, fuzzy
+msgid "Resolved"
+msgstr "Resolve"
+
+#: tsp-svn-helper/tsh-common.c:479
+msgid "Skipped"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:490
 msgid "Updated"
 msgstr "تجدید شدہ"
 
-#: tsp-svn-helper/tsh-common.c:462
+#: tsp-svn-helper/tsh-common.c:494
 #, c-format
 msgid "At revision: %li"
 msgstr "ورژن: %li"
 
-#: tsp-svn-helper/tsh-common.c:464
+#: tsp-svn-helper/tsh-common.c:495 tsp-svn-helper/tsh-common.c:502
 msgid "Completed"
 msgstr "مکمل"
 
-#: tsp-svn-helper/tsh-common.c:469
+#: tsp-svn-helper/tsh-common.c:499
 msgid "External"
 msgstr "خارجی"
 
+#: tsp-svn-helper/tsh-common.c:508
+msgid "Modified"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:517
+msgid "Replaced"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:526
+#, fuzzy
+msgid "Locked"
+msgstr "قفل"
+
+#: tsp-svn-helper/tsh-common.c:529
+#, fuzzy
+msgid "Unlocked"
+msgstr "غیر مقفل"
+
+#: tsp-svn-helper/tsh-common.c:532
+msgid "Lock failed"
+msgstr ""
+
+#: tsp-svn-helper/tsh-common.c:535
+#, fuzzy
+msgid "Unlock failed"
+msgstr "غیر مقفل"
+
+#: tsp-svn-helper/tsh-common.c:538
+msgid "Unknown"
+msgstr ""
+
 #: tsp-svn-helper/tsh-file-dialog.c:60
 msgid "_Certificate:"
 msgstr ""

Modified: thunar-svn-plugin/trunk/thunar-svn-plugin/tsp-provider.c
===================================================================
--- thunar-svn-plugin/trunk/thunar-svn-plugin/tsp-provider.c	2007-12-25 21:46:13 UTC (rev 3753)
+++ thunar-svn-plugin/trunk/thunar-svn-plugin/tsp-provider.c	2007-12-27 16:17:52 UTC (rev 3754)
@@ -401,6 +401,7 @@
 													 "name", "Tsp::import",
 													 "label", _("SVN _Import"),
 													 NULL);
+		g_signal_connect_object (action, "activate", G_CALLBACK (tsp_action_unimplemented), N_("Import"), G_CONNECT_AFTER);
 		actions = g_list_append (actions, action);
 	}
 	if (parent_wc || directory_is_wc)

Modified: thunar-svn-plugin/trunk/thunar-svn-plugin/tsp-svn-action.c
===================================================================
--- thunar-svn-plugin/trunk/thunar-svn-plugin/tsp-svn-action.c	2007-12-25 21:46:13 UTC (rev 3753)
+++ thunar-svn-plugin/trunk/thunar-svn-plugin/tsp-svn-action.c	2007-12-27 16:17:52 UTC (rev 3754)
@@ -78,6 +78,12 @@
 
 
 
+void tsp_action_add (GtkMenuItem *item, TspSvnAction *action);
+
+void tsp_action_cleanup (GtkMenuItem *item, TspSvnAction *action);
+
+void tsp_action_commit (GtkMenuItem *item, TspSvnAction *action);
+
 void tsp_action_update (GtkMenuItem *item, TspSvnAction *action);
 
 
@@ -223,6 +229,7 @@
 	if (!tsp_action->property.is_parent && tsp_action->property.parent_version_control && (tsp_action->property.directory_no_version_control || tsp_action->property.file_no_version_control)) 
 	{
 		subitem = gtk_menu_item_new_with_label (_("Add"));
+		g_signal_connect_object (subitem, "activate", G_CALLBACK (tsp_action_add), action, G_CONNECT_AFTER);
 		gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem);
 		gtk_widget_show(subitem);
 	}
@@ -230,21 +237,25 @@
 	if (tsp_action->property.file_version_control)
 	{
 		subitem = gtk_menu_item_new_with_label (_("Blame"));
+		g_signal_connect_after (subitem, "activate", G_CALLBACK (tsp_action_unimplemented), "Blame");
 		gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem);
 		gtk_widget_show(subitem);
 	}
 /* No need
 	subitem = gtk_menu_item_new_with_label (_("Cat"));
+		g_signal_connect_after (subitem, "activate", G_CALLBACK (tsp_action_unimplemented), "Cat");
 	gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem);
 	gtk_widget_show(subitem);
 *//* Not here
 	subitem = gtk_menu_item_new_with_label (_("Checkout"));
+		g_signal_connect_after (subitem, "activate", G_CALLBACK (tsp_action_unimplemented), "Checkout");
 	gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem);
 	gtk_widget_show(subitem);
 *//* Version control (parent) */
 	if (tsp_action->property.is_parent && tsp_action->property.parent_version_control)
 	{
 		subitem = gtk_menu_item_new_with_label (_("Cleanup"));
+		g_signal_connect_object (subitem, "activate", G_CALLBACK (tsp_action_cleanup), action, G_CONNECT_AFTER);
 		gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem);
 		gtk_widget_show(subitem);
 	}
@@ -252,17 +263,20 @@
 	if ((tsp_action->property.is_parent && tsp_action->property.parent_version_control) || tsp_action->property.directory_version_control || tsp_action->property.file_version_control)
 	{
 		subitem = gtk_menu_item_new_with_label (_("Commit"));
+		g_signal_connect_object (subitem, "activate", G_CALLBACK (tsp_action_commit), action, G_CONNECT_AFTER);
 		gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem);
 		gtk_widget_show(subitem);
 	}
 /* Ehmm ...
 	subitem = gtk_menu_item_new_with_label (_("Copy"));
+		g_signal_connect_after (subitem, "activate", G_CALLBACK (tsp_action_unimplemented), action);
 	gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem);
 	gtk_widget_show(subitem);
 *//* Version control (no parent) */
 	if (!tsp_action->property.is_parent && tsp_action->property.parent_version_control && (tsp_action->property.directory_version_control || tsp_action->property.file_version_control))
 	{
 		subitem = gtk_menu_item_new_with_label (_("Delete"));
+		g_signal_connect_after (subitem, "activate", G_CALLBACK (tsp_action_unimplemented), "Delete");
 		gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem);
 		gtk_widget_show(subitem);
 	}
@@ -270,6 +284,7 @@
 	if (tsp_action->property.file_version_control) 
 	{
 		subitem = gtk_menu_item_new_with_label (_("Diff"));
+		g_signal_connect_after (subitem, "activate", G_CALLBACK (tsp_action_unimplemented), "Diff");
 		gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem);
 		gtk_widget_show(subitem);
 	}
@@ -277,28 +292,33 @@
 	if ((tsp_action->property.is_parent && tsp_action->property.parent_version_control) || tsp_action->property.directory_version_control || tsp_action->property.file_version_control)
 	{
 		subitem = gtk_menu_item_new_with_label (_("Export"));
+		g_signal_connect_after (subitem, "activate", G_CALLBACK (tsp_action_unimplemented), "Export");
 		gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem);
 		gtk_widget_show(subitem);
 	}
 /* Not here
 	subitem = gtk_menu_item_new_with_label (_("Import"));
+		g_signal_connect_after (subitem, "activate", G_CALLBACK (tsp_action_unimplemented), "Import");
 	gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem);
 	gtk_widget_show(subitem);
 *//* Version control (all) */
 	if ((tsp_action->property.is_parent && tsp_action->property.parent_version_control) || tsp_action->property.directory_version_control || tsp_action->property.file_version_control)
 	{
 		subitem = gtk_menu_item_new_with_label (_("Info"));
+		g_signal_connect_after (subitem, "activate", G_CALLBACK (tsp_action_unimplemented), "Info");
 		gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem);
 		gtk_widget_show(subitem);
 	}
 /* Ehmm...
 	subitem = gtk_menu_item_new_with_label (_("List"));
+		g_signal_connect_after (subitem, "activate", G_CALLBACK (tsp_action_unimplemented), "List");
 	gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem);
 	gtk_widget_show(subitem);
 *//* Version control (all) */
 	if ((tsp_action->property.is_parent && tsp_action->property.parent_version_control) || tsp_action->property.directory_version_control || tsp_action->property.file_version_control)
 	{
 		subitem = gtk_menu_item_new_with_label (_("Lock"));
+		g_signal_connect_after (subitem, "activate", G_CALLBACK (tsp_action_unimplemented), "Lock");
 		gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem);
 		gtk_widget_show(subitem);
 	}
@@ -306,19 +326,23 @@
 	if ((tsp_action->property.is_parent && tsp_action->property.parent_version_control) || tsp_action->property.directory_version_control || tsp_action->property.file_version_control)
 	{
 		subitem = gtk_menu_item_new_with_label (_("Log"));
+		g_signal_connect_after (subitem, "activate", G_CALLBACK (tsp_action_unimplemented), "Log");
 		gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem);
 		gtk_widget_show(subitem);
 	}
 /* Ehmm ...
 	subitem = gtk_menu_item_new_with_label (_("Merge"));
+		g_signal_connect_after (subitem, "activate", G_CALLBACK (tsp_action_unimplemented), "Merge");
 	gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem);
 	gtk_widget_show(subitem);
 *//* No need
 	subitem = gtk_menu_item_new_with_label (_("Make Dir"));
+		g_signal_connect_after (subitem, "activate", G_CALLBACK (tsp_action_unimplemented), "Make Dir");
 	gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem);
 	gtk_widget_show(subitem);
 *//* Ehmm ...
 	subitem = gtk_menu_item_new_with_label (_("Move"));
+		g_signal_connect_after (subitem, "activate", G_CALLBACK (tsp_action_unimplemented), "Move");
 	gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem);
 	gtk_widget_show(subitem);
 *//* Merged
@@ -331,6 +355,7 @@
 	if ((tsp_action->property.is_parent && tsp_action->property.parent_version_control) || tsp_action->property.directory_version_control || tsp_action->property.file_version_control)
 	{
 		subitem = gtk_menu_item_new_with_label (_("Edit Properties"));
+		g_signal_connect_after (subitem, "activate", G_CALLBACK (tsp_action_unimplemented), "Edit Properties");
 		gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem);
 		gtk_widget_show(subitem);
 	}
@@ -340,6 +365,7 @@
 	if (tsp_action->property.file_version_control)
 	{
 		subitem = gtk_menu_item_new_with_label (_("Resolve"));
+		g_signal_connect_after (subitem, "activate", G_CALLBACK (tsp_action_unimplemented), "Resolve");
 		gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem);
 		gtk_widget_show(subitem);
 	}
@@ -347,6 +373,7 @@
 	if ((tsp_action->property.is_parent && tsp_action->property.parent_version_control) || tsp_action->property.directory_version_control || tsp_action->property.file_version_control)
 	{
 		subitem = gtk_menu_item_new_with_label (_("Revert"));
+		g_signal_connect_after (subitem, "activate", G_CALLBACK (tsp_action_unimplemented), "Revert");
 		gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem);
 		gtk_widget_show(subitem);
 	}
@@ -354,6 +381,7 @@
 	if ((tsp_action->property.is_parent && tsp_action->property.parent_version_control) || tsp_action->property.directory_version_control || tsp_action->property.file_version_control)
 	{
 		subitem = gtk_menu_item_new_with_label (_("Status"));
+		g_signal_connect_after (subitem, "activate", G_CALLBACK (tsp_action_unimplemented), "Status");
 		gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem);
 		gtk_widget_show(subitem);
 	}
@@ -361,6 +389,7 @@
 	if (tsp_action->property.is_parent && tsp_action->property.parent_version_control)
 	{
 		subitem = gtk_menu_item_new_with_label (_("Switch"));
+		g_signal_connect_after (subitem, "activate", G_CALLBACK (tsp_action_unimplemented), "Switch");
 		gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem);
 		gtk_widget_show(subitem);
 	}
@@ -368,6 +397,7 @@
 	if ((tsp_action->property.is_parent && tsp_action->property.parent_version_control) || tsp_action->property.directory_version_control || tsp_action->property.file_version_control)
 	{
 		subitem = gtk_menu_item_new_with_label (_("Unlock"));
+		g_signal_connect_after (subitem, "activate", G_CALLBACK (tsp_action_unimplemented), "Unlock");
 		gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem);
 		gtk_widget_show(subitem);
 	}
@@ -385,8 +415,17 @@
 
 
 
-void tsp_action_update (GtkMenuItem *item, TspSvnAction *action)
+void tsp_action_unimplemented (GtkMenuItem *item, const gchar *action)
 {
+  GtkWidget *dialog = gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE, _("Action %s is unimplemented"), gettext(action));
+  gtk_dialog_run (GTK_DIALOG (dialog));
+  gtk_widget_destroy(dialog);
+}
+
+
+
+void tsp_action_add (GtkMenuItem *item, TspSvnAction *action)
+{
 	guint size, i;
 	gchar **argv;
 	GList *iter;
@@ -404,7 +443,7 @@
 	argv = g_new (gchar *, size + 3);
 
 	argv[0] = g_strdup (TSP_SVN_HELPER);
-	argv[1] = g_strdup ("--update");
+	argv[1] = g_strdup ("--add");
 	argv[size + 2] = NULL;
 
 	for (i = 0; i < size; i++)
@@ -531,3 +570,225 @@
 	g_strfreev (argv);
 }
 
+
+
+void tsp_action_cleanup (GtkMenuItem *item, TspSvnAction *action)
+{
+	guint size, i;
+	gchar **argv;
+	GList *iter;
+	gchar *uri;
+	gchar *filename;
+	gchar *file;
+	gint pid;
+	GError *error = NULL;
+	GdkScreen *screen = gtk_window_get_screen (GTK_WINDOW (action->window));
+
+	iter = action->files;
+
+	size = g_list_length (iter);
+
+	argv = g_new (gchar *, size + 3);
+
+	argv[0] = g_strdup (TSP_SVN_HELPER);
+	argv[1] = g_strdup ("--cleanup");
+	argv[size + 2] = NULL;
+
+	for (i = 0; i < size; i++)
+	{
+		/* determine the URI for the file info */
+		uri = thunarx_file_info_get_uri (iter->data);
+		if (G_LIKELY (uri != NULL))
+    {
+      /* determine the local filename for the URI */
+      filename = g_filename_from_uri (uri, NULL, NULL);
+      if (G_LIKELY (filename != NULL))
+			{
+				file = filename;
+				/* strip the "file://" part of the uri */
+				if (strncmp (file, "file://", 7) == 0)
+				{
+					file += 7;
+				}
+
+				file = g_strdup (file);
+
+				/* remove trailing '/' cause svn can't handle that */
+				if (file[strlen (file) - 1] == '/')
+				{
+					file[strlen (file) - 1] = '\0';
+				}
+
+				argv[i+2] = file;
+
+				/* release the filename */
+				g_free (filename);
+			}
+
+      /* release the URI */
+      g_free (uri);
+    }
+
+		iter = g_list_next (iter);
+	}
+
+	if (!gdk_spawn_on_screen (screen, NULL, argv, NULL, 0, NULL, NULL, &pid, &error))
+	{
+		GtkWidget *dialog = gtk_message_dialog_new (GTK_WINDOW (action->window), GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "Could not spawn \'" TSP_SVN_HELPER "\'");
+		gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog), "%s.", error->message);
+		gtk_dialog_run (GTK_DIALOG (dialog));
+		gtk_widget_destroy (dialog);
+		g_error_free (error);
+	}
+
+	g_strfreev (argv);
+}
+
+
+
+void tsp_action_commit (GtkMenuItem *item, TspSvnAction *action)
+{
+	guint size, i;
+	gchar **argv;
+	GList *iter;
+	gchar *uri;
+	gchar *filename;
+	gchar *file;
+	gint pid;
+	GError *error = NULL;
+	GdkScreen *screen = gtk_window_get_screen (GTK_WINDOW (action->window));
+
+	iter = action->files;
+
+	size = g_list_length (iter);
+
+	argv = g_new (gchar *, size + 3);
+
+	argv[0] = g_strdup (TSP_SVN_HELPER);
+	argv[1] = g_strdup ("--commit");
+	argv[size + 2] = NULL;
+
+	for (i = 0; i < size; i++)
+	{
+		/* determine the URI for the file info */
+		uri = thunarx_file_info_get_uri (iter->data);
+		if (G_LIKELY (uri != NULL))
+    {
+      /* determine the local filename for the URI */
+      filename = g_filename_from_uri (uri, NULL, NULL);
+      if (G_LIKELY (filename != NULL))
+			{
+				file = filename;
+				/* strip the "file://" part of the uri */
+				if (strncmp (file, "file://", 7) == 0)
+				{
+					file += 7;
+				}
+
+				file = g_strdup (file);
+
+				/* remove trailing '/' cause svn can't handle that */
+				if (file[strlen (file) - 1] == '/')
+				{
+					file[strlen (file) - 1] = '\0';
+				}
+
+				argv[i+2] = file;
+
+				/* release the filename */
+				g_free (filename);
+			}
+
+      /* release the URI */
+      g_free (uri);
+    }
+
+		iter = g_list_next (iter);
+	}
+
+	if (!gdk_spawn_on_screen (screen, NULL, argv, NULL, 0, NULL, NULL, &pid, &error))
+	{
+		GtkWidget *dialog = gtk_message_dialog_new (GTK_WINDOW (action->window), GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "Could not spawn \'" TSP_SVN_HELPER "\'");
+		gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog), "%s.", error->message);
+		gtk_dialog_run (GTK_DIALOG (dialog));
+		gtk_widget_destroy (dialog);
+		g_error_free (error);
+	}
+
+	g_strfreev (argv);
+}
+
+
+
+void tsp_action_update (GtkMenuItem *item, TspSvnAction *action)
+{
+	guint size, i;
+	gchar **argv;
+	GList *iter;
+	gchar *uri;
+	gchar *filename;
+	gchar *file;
+	gint pid;
+	GError *error = NULL;
+	GdkScreen *screen = gtk_window_get_screen (GTK_WINDOW (action->window));
+
+	iter = action->files;
+
+	size = g_list_length (iter);
+
+	argv = g_new (gchar *, size + 3);
+
+	argv[0] = g_strdup (TSP_SVN_HELPER);
+	argv[1] = g_strdup ("--update");
+	argv[size + 2] = NULL;
+
+	for (i = 0; i < size; i++)
+	{
+		/* determine the URI for the file info */
+		uri = thunarx_file_info_get_uri (iter->data);
+		if (G_LIKELY (uri != NULL))
+    {
+      /* determine the local filename for the URI */
+      filename = g_filename_from_uri (uri, NULL, NULL);
+      if (G_LIKELY (filename != NULL))
+			{
+				file = filename;
+				/* strip the "file://" part of the uri */
+				if (strncmp (file, "file://", 7) == 0)
+				{
+					file += 7;
+				}
+
+				file = g_strdup (file);
+
+				/* remove trailing '/' cause svn can't handle that */
+				if (file[strlen (file) - 1] == '/')
+				{
+					file[strlen (file) - 1] = '\0';
+				}
+
+				argv[i+2] = file;
+
+				/* release the filename */
+				g_free (filename);
+			}
+
+      /* release the URI */
+      g_free (uri);
+    }
+
+		iter = g_list_next (iter);
+	}
+
+	if (!gdk_spawn_on_screen (screen, NULL, argv, NULL, 0, NULL, NULL, &pid, &error))
+	{
+		GtkWidget *dialog = gtk_message_dialog_new (GTK_WINDOW (action->window), GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "Could not spawn \'" TSP_SVN_HELPER "\'");
+		gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog), "%s.", error->message);
+		gtk_dialog_run (GTK_DIALOG (dialog));
+		gtk_widget_destroy (dialog);
+		g_error_free (error);
+	}
+
+	g_strfreev (argv);
+}
+

Modified: thunar-svn-plugin/trunk/thunar-svn-plugin/tsp-svn-action.h
===================================================================
--- thunar-svn-plugin/trunk/thunar-svn-plugin/tsp-svn-action.h	2007-12-25 21:46:13 UTC (rev 3753)
+++ thunar-svn-plugin/trunk/thunar-svn-plugin/tsp-svn-action.h	2007-12-27 16:17:52 UTC (rev 3754)
@@ -51,5 +51,6 @@
 
 
 void tsp_action_checkout (GtkMenuItem *, TspSvnAction *);
+void tsp_action_unimplemented (GtkMenuItem *, const gchar *);
 
 #endif /* !__TSP_SVN_ACTION_H__ */

Modified: thunar-svn-plugin/trunk/tsp-svn-helper/Makefile.am
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/Makefile.am	2007-12-25 21:46:13 UTC (rev 3753)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/Makefile.am	2007-12-27 16:17:52 UTC (rev 3754)
@@ -16,10 +16,16 @@
 	main.c								\
 	tsh-common.h							\
 	tsh-common.c							\
+	tsh-add.h							\
+	tsh-add.c							\
+	tsh-checkout.h							\
+	tsh-checkout.c							\
+	tsh-cleanup.h							\
+	tsh-cleanup.c							\
+	tsh-commit.h							\
+	tsh-commit.c							\
 	tsh-update.h							\
 	tsh-update.c							\
-	tsh-checkout.h							\
-	tsh-checkout.c							\
 	gtkfilechooserentry.h						\
 	gtkfilechooserentry.c						\
 	gtkfilechooserutils.h						\
@@ -39,6 +45,8 @@
 	tsh-trust-dialog.c						\
 	tsh-notify-dialog.h						\
 	tsh-notify-dialog.c						\
+	tsh-log-message-dialog.h					\
+	tsh-log-message-dialog.c					\
 	tsh-checkout-dialog.h						\
 	tsh-checkout-dialog.c
 

Modified: thunar-svn-plugin/trunk/tsp-svn-helper/gtkfilechooserentry.c
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/gtkfilechooserentry.c	2007-12-25 21:46:13 UTC (rev 3753)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/gtkfilechooserentry.c	2007-12-27 16:17:52 UTC (rev 3754)
@@ -173,6 +173,8 @@
 
 /* GtkFileChooserIface Functions */
 static void     gtk_file_chooser_entry_file_chooser_iface_init  (GtkFileChooserIface *iface);
+//static GtkFileSystem *gtk_file_chooser_entry_get_file_system    (GtkFileChooser      *chooser);
+//static GSList  *gtk_file_chooser_entry_get_paths                (GtkFileChooser      *chooser);
 static gboolean gtk_file_chooser_entry_add_shortcut_folder      (GtkFileChooser      *chooser,
                                                                  const GtkFilePath   *path,
                                                                  GError             **error);
@@ -502,10 +504,28 @@
 {
   _gtk_file_chooser_delegate_iface_init (iface);
 
+  //iface->get_file_system = gtk_file_chooser_entry_get_file_system;
+  //iface->get_paths = gtk_file_chooser_entry_get_paths;
   iface->add_shortcut_folder = gtk_file_chooser_entry_add_shortcut_folder;
   iface->remove_shortcut_folder = gtk_file_chooser_entry_remove_shortcut_folder;
 }
+/*
+static GtkFileSystem *
+gtk_file_chooser_entry_get_file_system (GtkFileChooser *chooser)
+{
+  GtkFileChooserEntry *entry = GTK_FILE_CHOOSER_ENTRY (chooser);
+  GtkFileChooserEntryPrivate *priv = entry->priv;
+  return priv->fake_fs;
+}
 
+static GSList *
+gtk_file_chooser_entry_get_paths (GtkFileChooser *chooser)
+{
+  GtkFileChooserEntry *entry = GTK_FILE_CHOOSER_ENTRY (chooser);
+  GtkFileChooserEntryPrivate *priv = entry->priv;
+  return priv->
+}
+*/
 static gboolean
 gtk_file_chooser_entry_add_shortcut_folder (GtkFileChooser     *chooser,
                                              const GtkFilePath  *path,
@@ -527,12 +547,12 @@
 
     pos = model_get_type_position (entry, ROW_TYPE_SHORTCUT);
     pos += priv->n_shortcuts;
-g_debug(gtk_file_system_path_to_filename (entry->priv->fs, path));
+
     gtk_list_store_insert (GTK_LIST_STORE (priv->model), &iter, pos);
     gtk_list_store_set (GTK_LIST_STORE (priv->model), &iter,
                         ICON_COLUMN, NULL,
                         DISPLAY_NAME_COLUMN, _(FALLBACK_DISPLAY_NAME),
-                        FULL_PATH_COLUMN, gtk_file_system_path_to_filename (entry->priv->fs, path),
+                        FULL_PATH_COLUMN, gtk_file_system_path_to_uri (entry->priv->fs, path),
                         TYPE_COLUMN, ROW_TYPE_SHORTCUT,
                         DATA_COLUMN, gtk_file_path_copy (path),
                         IS_FOLDER_COLUMN, FALSE,
@@ -1683,7 +1703,7 @@
     gtk_list_store_set (store, &iter,
                         ICON_COLUMN, NULL,
                         DISPLAY_NAME_COLUMN, NULL,
-                        FULL_PATH_COLUMN, gtk_file_system_path_to_filename (entry->priv->fs, path),
+                        FULL_PATH_COLUMN, gtk_file_system_path_to_uri (entry->priv->fs, path),
                         TYPE_COLUMN, ROW_TYPE_SPECIAL,
                         DATA_COLUMN, path,
                         IS_FOLDER_COLUMN, TRUE,
@@ -1727,7 +1747,7 @@
                         TYPE_COLUMN, ROW_TYPE_SPECIAL,
                         ICON_COLUMN, NULL,
                         DISPLAY_NAME_COLUMN, _(DESKTOP_DISPLAY_NAME),
-                        FULL_PATH_COLUMN, gtk_file_system_path_to_filename (entry->priv->fs, path),
+                        FULL_PATH_COLUMN, gtk_file_system_path_to_uri (entry->priv->fs, path),
                         DATA_COLUMN, path,
                         IS_FOLDER_COLUMN, TRUE,
                         HANDLE_COLUMN, handle,
@@ -1799,7 +1819,7 @@
     gtk_list_store_set (store, &iter,
                         ICON_COLUMN, pixbuf,
                         DISPLAY_NAME_COLUMN, display_name,
-                        FULL_PATH_COLUMN, gtk_file_system_path_to_filename (file_system, path),
+                        FULL_PATH_COLUMN, gtk_file_system_path_to_uri (file_system, path),
                         TYPE_COLUMN, ROW_TYPE_VOLUME,
                         DATA_COLUMN, volume,
                         IS_FOLDER_COLUMN, TRUE,
@@ -1845,7 +1865,7 @@
       gtk_list_store_set (store, &iter,
                           ICON_COLUMN, NULL,
                           DISPLAY_NAME_COLUMN, _(FALLBACK_DISPLAY_NAME),
-                          FULL_PATH_COLUMN, gtk_file_system_path_to_filename (entry->priv->fs, path),
+                          FULL_PATH_COLUMN, gtk_file_system_path_to_uri (entry->priv->fs, path),
                           TYPE_COLUMN, ROW_TYPE_BOOKMARK,
                           DATA_COLUMN, gtk_file_path_copy (path),
                           IS_FOLDER_COLUMN, FALSE,
@@ -1884,7 +1904,7 @@
       gtk_list_store_set (store, &iter,
                           ICON_COLUMN, pixbuf,
                           DISPLAY_NAME_COLUMN, label,
-                          FULL_PATH_COLUMN, gtk_file_system_path_to_filename (entry->priv->fs, path),
+                          FULL_PATH_COLUMN, gtk_file_system_path_to_uri (entry->priv->fs, path),
                           TYPE_COLUMN, ROW_TYPE_BOOKMARK,
                           DATA_COLUMN, gtk_file_path_copy (path),
                           IS_FOLDER_COLUMN, TRUE,
@@ -1961,7 +1981,7 @@
     gtk_list_store_set (store, &iter,
                         ICON_COLUMN, NULL,
                         DISPLAY_NAME_COLUMN, _(FALLBACK_DISPLAY_NAME),
-                        FULL_PATH_COLUMN, gtk_file_system_path_to_filename (entry->priv->fs, path),
+                        FULL_PATH_COLUMN, gtk_file_system_path_to_uri (entry->priv->fs, path),
                         TYPE_COLUMN, ROW_TYPE_CURRENT_FOLDER,
                         DATA_COLUMN, gtk_file_path_copy (path),
                         IS_FOLDER_COLUMN, FALSE,
@@ -1996,7 +2016,7 @@
     gtk_list_store_set (store, &iter,
                         ICON_COLUMN, pixbuf,
                         DISPLAY_NAME_COLUMN, label,
-                        FULL_PATH_COLUMN, gtk_file_system_path_to_filename (entry->priv->fs, path),
+                        FULL_PATH_COLUMN, gtk_file_system_path_to_uri (entry->priv->fs, path),
                         TYPE_COLUMN, ROW_TYPE_CURRENT_FOLDER,
                         DATA_COLUMN, gtk_file_path_copy (path),
                         IS_FOLDER_COLUMN, TRUE,
@@ -2517,46 +2537,46 @@
     gchar type;
     gpointer data;
 
-      type = ROW_TYPE_INVALID;
-      data = NULL;
+    type = ROW_TYPE_INVALID;
+    data = NULL;
 
-      gtk_tree_model_get (priv->filter_model, &iter,
-                          TYPE_COLUMN, &type,
-                          DATA_COLUMN, &data,
-                          -1);
+    gtk_tree_model_get (priv->filter_model, &iter,
+                        TYPE_COLUMN, &type,
+                        DATA_COLUMN, &data,
+                        -1);
 
-      switch (type)
+    switch (type)
+    {
+      case ROW_TYPE_SPECIAL:
+      case ROW_TYPE_SHORTCUT:
+      case ROW_TYPE_BOOKMARK:
+      case ROW_TYPE_CURRENT_FOLDER:
+        gtk_file_chooser_unselect_all (GTK_FILE_CHOOSER (priv->dialog));
+        if (data)
+          _gtk_file_chooser_set_current_folder_path (GTK_FILE_CHOOSER (priv->dialog),
+                                                     data, NULL);
+        break;
+      case ROW_TYPE_VOLUME:
       {
-        case ROW_TYPE_SPECIAL:
-        case ROW_TYPE_SHORTCUT:
-        case ROW_TYPE_BOOKMARK:
-        case ROW_TYPE_CURRENT_FOLDER:
-          gtk_file_chooser_unselect_all (GTK_FILE_CHOOSER (priv->dialog));
-          if (data)
-            _gtk_file_chooser_set_current_folder_path (GTK_FILE_CHOOSER (priv->dialog),
-                                                       data, NULL);
-          break;
-        case ROW_TYPE_VOLUME:
+        GtkFilePath *base_path;
+
+        gtk_file_chooser_unselect_all (GTK_FILE_CHOOSER (priv->dialog));
+        base_path = gtk_file_system_volume_get_base_path (priv->fs, data);
+        if (base_path)
         {
-          GtkFilePath *base_path;
-
-          gtk_file_chooser_unselect_all (GTK_FILE_CHOOSER (priv->dialog));
-          base_path = gtk_file_system_volume_get_base_path (priv->fs, data);
-          if (base_path)
-          {
-            _gtk_file_chooser_set_current_folder_path (GTK_FILE_CHOOSER (priv->dialog),
-                                                       base_path, NULL);
-            gtk_file_path_free (base_path);
-          }
+          _gtk_file_chooser_set_current_folder_path (GTK_FILE_CHOOSER (priv->dialog),
+                                                     base_path, NULL);
+          gtk_file_path_free (base_path);
         }
+      }
+      break;
+      case ROW_TYPE_OTHER:
+        open_dialog (user_data);
         break;
-        case ROW_TYPE_OTHER:
-          open_dialog (user_data);
-          break;
-        default:
-          break;
-      }
+      default:
+        break;
     }
+  }
 }
 
 /* Button */
@@ -2924,5 +2944,21 @@
   return entry->priv->focus_on_click;
 }
 
+gchar *
+gtk_file_chooser_entry_get_uri (GtkFileChooserEntry *entry)
+{
+  gchar *path = gtk_combo_box_get_active_text (GTK_COMBO_BOX (entry->priv->combo_box));
+  gchar *uri = path;
+  gchar *ptr;
+  for(ptr = path; g_ascii_isalnum(*ptr); ptr++);
+  /* No uri, guessing localfilename */
+  if(*ptr != ':')
+  {
+    uri = g_filename_to_uri(path, NULL, NULL);
+    g_free(path);
+  }
+  return uri;
+}
+
 #define __GTK_FILE_CHOOSER_ENTRY_C__
 //#include "gtkaliasdef.c"

Modified: thunar-svn-plugin/trunk/tsp-svn-helper/gtkfilechooserentry.h
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/gtkfilechooserentry.h	2007-12-25 21:46:13 UTC (rev 3753)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/gtkfilechooserentry.h	2007-12-27 16:17:52 UTC (rev 3754)
@@ -86,6 +86,8 @@
 void                  gtk_file_chooser_entry_set_focus_on_click (GtkFileChooserEntry  *entry,
                                                                  gboolean              focus_on_click);
 
+gchar                *gtk_file_chooser_entry_get_uri            (GtkFileChooserEntry  *entry);
+
 G_END_DECLS
 
 #endif /* !__GTK_FILE_CHOOSER_ENTRY_H__ */

Modified: thunar-svn-plugin/trunk/tsp-svn-helper/main.c
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/main.c	2007-12-25 21:46:13 UTC (rev 3753)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/main.c	2007-12-27 16:17:52 UTC (rev 3754)
@@ -34,8 +34,11 @@
 #include <subversion-1/svn_config.h>
 
 #include "tsh-common.h"
+#include "tsh-add.h"
+#include "tsh-checkout.h"
+#include "tsh-cleanup.h"
+#include "tsh-commit.h"
 #include "tsh-update.h"
-#include "tsh-checkout.h"
 
 int main (int argc, char *argv[])
 {
@@ -48,7 +51,10 @@
 
 	/* CMD-line options */
 	gboolean print_version = FALSE;
+	gboolean add = FALSE;
 	gboolean checkout = FALSE;
+	gboolean cleanup = FALSE;
+	gboolean commit = FALSE;
 	gboolean update = FALSE;
 	gchar **files = NULL;
 	GError *error = NULL;
@@ -60,12 +66,30 @@
 		{ NULL, '\0', 0, 0, NULL, NULL, NULL }
 	};
 
+	GOptionEntry add_options_table[] =
+	{
+		{ "add", '\0', 0, G_OPTION_ARG_NONE, &add, N_("Execute add action"), NULL },
+		{ NULL, '\0', 0, 0, NULL, NULL, NULL }
+	};
+
 	GOptionEntry checkout_options_table[] =
 	{
 		{ "checkout", '\0', 0, G_OPTION_ARG_NONE, &checkout, N_("Execute checkout action"), NULL },
 		{ NULL, '\0', 0, 0, NULL, NULL, NULL }
 	};
 
+	GOptionEntry cleanup_options_table[] =
+	{
+		{ "cleanup", '\0', 0, G_OPTION_ARG_NONE, &cleanup, N_("Execute cleanup action"), NULL },
+		{ NULL, '\0', 0, 0, NULL, NULL, NULL }
+	};
+
+	GOptionEntry commit_options_table[] =
+	{
+		{ "commit", '\0', 0, G_OPTION_ARG_NONE, &commit, N_("Execute commit action"), NULL },
+		{ NULL, '\0', 0, 0, NULL, NULL, NULL }
+	};
+
 	GOptionEntry update_options_table[] =
 	{
 		{ "update", '\0', 0, G_OPTION_ARG_NONE, &update, N_("Execute update action"), NULL },
@@ -78,11 +102,23 @@
 	g_option_context_add_main_entries(option_context, general_options_table, GETTEXT_PACKAGE);
 	g_option_context_add_group(option_context, gtk_get_option_group(TRUE));
 
-	option_group = g_option_group_new("checkout", "Checkout Related Opions:", "Checkout", NULL, NULL);
+	option_group = g_option_group_new("add", N_("Add Related Opions:"), N_("Add"), NULL, NULL);
+	g_option_group_add_entries(option_group, add_options_table);
+	g_option_context_add_group(option_context, option_group);
+
+	option_group = g_option_group_new("checkout", N_("Checkout Related Opions:"), N_("Checkout"), NULL, NULL);
 	g_option_group_add_entries(option_group, checkout_options_table);
 	g_option_context_add_group(option_context, option_group);
 
-	option_group = g_option_group_new("update", "Update Related Opions:", "Update", NULL, NULL);
+	option_group = g_option_group_new("cleanup", N_("Cleanup Related Opions:"), N_("Cleanup"), NULL, NULL);
+	g_option_group_add_entries(option_group, cleanup_options_table);
+	g_option_context_add_group(option_context, option_group);
+
+	option_group = g_option_group_new("commit", N_("Commit Related Opions:"), N_("Commit"), NULL, NULL);
+	g_option_group_add_entries(option_group, commit_options_table);
+	g_option_context_add_group(option_context, option_group);
+
+	option_group = g_option_group_new("update", N_("Update Related Opions:"), N_("Update"), NULL, NULL);
 	g_option_group_add_entries(option_group, update_options_table);
 	g_option_context_add_group(option_context, option_group);
 
@@ -124,9 +160,9 @@
 		return EXIT_FAILURE;
 	}
 
-	if(update)
+	if(add)
 	{
-		thread = tsh_update(files, svn_ctx, pool);
+		thread = tsh_add(files, svn_ctx, pool);
 	}
 
 	if(checkout)
@@ -134,6 +170,21 @@
 		thread = tsh_checkout(files, svn_ctx, pool);
 	}
 
+	if(cleanup)
+	{
+		thread = tsh_cleanup(files, svn_ctx, pool);
+	}
+
+	if(commit)
+	{
+		thread = tsh_commit(files, svn_ctx, pool);
+	}
+
+	if(update)
+	{
+		thread = tsh_update(files, svn_ctx, pool);
+	}
+
 	if(thread)
 	{
 		gtk_main ();

Added: thunar-svn-plugin/trunk/tsp-svn-helper/tsh-add.c
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/tsh-add.c	                        (rev 0)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/tsh-add.c	2007-12-27 16:17:52 UTC (rev 3754)
@@ -0,0 +1,112 @@
+/*-
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+ * Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+
+#include <glib.h>
+#include <gtk/gtk.h>
+
+#include <thunar-vfs/thunar-vfs.h>
+
+#include <subversion-1/svn_cmdline.h>
+#include <subversion-1/svn_client.h>
+#include <subversion-1/svn_pools.h>
+#include <subversion-1/svn_config.h>
+#include <subversion-1/svn_fs.h>
+
+#include "tsh-common.h"
+#include "tsh-dialog-common.h"
+#include "tsh-notify-dialog.h"
+
+#include "tsh-add.h"
+
+struct thread_args {
+	svn_client_ctx_t *ctx;
+	apr_pool_t *pool;
+	TshNotifyDialog *dialog;
+	gchar **files;
+};
+
+static gpointer add_thread (gpointer user_data)
+{
+	struct thread_args *args = user_data;
+  gboolean result = TRUE;
+	svn_error_t *err;
+	svn_client_ctx_t *ctx = args->ctx;
+	apr_pool_t *pool = args->pool;
+	TshNotifyDialog *dialog = args->dialog;
+	gchar **files = args->files;
+	gint size, i;
+
+	g_free (args);
+
+	size = files?g_strv_length(files):0;
+
+	if(size)
+	{
+		for (i = 0; i < size; i++)
+		{
+      if ((err = svn_client_add3(files[i], TRUE, FALSE, FALSE, ctx, pool)))
+      {
+        svn_handle_error2(err, stderr, FALSE, G_LOG_DOMAIN ": ");
+        svn_error_clear(err);
+        result = FALSE;
+      }
+		}
+	}
+	else
+	{
+    if ((err = svn_client_add3("", TRUE, FALSE, FALSE, ctx, pool)))
+    {
+      svn_handle_error2(err, stderr, FALSE, G_LOG_DOMAIN ": ");
+      svn_error_clear(err);
+      result = FALSE;
+    }
+	}
+
+	gdk_threads_enter();
+	tsh_notify_dialog_done (dialog);
+	gdk_threads_leave();
+	
+	return GINT_TO_POINTER (result);
+}
+
+GThread *tsh_add (gchar **files, svn_client_ctx_t *ctx, apr_pool_t *pool)
+{
+	GtkWidget *dialog;
+	struct thread_args *args;
+
+	dialog = tsh_notify_dialog_new (_("Add"), NULL, 0);
+	tsh_dialog_start (GTK_DIALOG (dialog), TRUE);
+
+	ctx->notify_func2 = tsh_notify_func2;
+	ctx->notify_baton2 = dialog;
+
+	args = g_malloc (sizeof (struct thread_args));
+	args->ctx = ctx;
+	args->pool = pool;
+	args->dialog = TSH_NOTIFY_DIALOG (dialog);
+	args->files = files;
+
+	return g_thread_create (add_thread, args, TRUE, NULL);
+}
+

Added: thunar-svn-plugin/trunk/tsp-svn-helper/tsh-add.h
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/tsh-add.h	                        (rev 0)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/tsh-add.h	2007-12-27 16:17:52 UTC (rev 3754)
@@ -0,0 +1,27 @@
+/*-
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+ * Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#ifndef __TSH_ADD_H__
+#define __TSH_ADD_H__
+
+G_BEGIN_DECLS
+
+GThread *tsh_add (gchar**, svn_client_ctx_t*, apr_pool_t*);
+
+G_END_DECLS
+
+#endif /*__TSH_ADD_H__*/
+

Modified: thunar-svn-plugin/trunk/tsp-svn-helper/tsh-checkout-dialog.c
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/tsh-checkout-dialog.c	2007-12-25 21:46:13 UTC (rev 3753)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/tsh-checkout-dialog.c	2007-12-27 16:17:52 UTC (rev 3754)
@@ -149,3 +149,13 @@
 	return GTK_WIDGET(dialog);
 }
 
+gchar* tsh_checkout_dialog_get_reposetory (TshCheckoutDialog *dialog)
+{
+	return gtk_file_chooser_entry_get_uri(GTK_FILE_CHOOSER_ENTRY(dialog->repository));
+}
+
+gchar* tsh_checkout_dialog_get_directory (TshCheckoutDialog *dialog)
+{
+	return gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog->path));
+}
+

Modified: thunar-svn-plugin/trunk/tsp-svn-helper/tsh-checkout-dialog.h
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/tsh-checkout-dialog.h	2007-12-25 21:46:13 UTC (rev 3753)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/tsh-checkout-dialog.h	2007-12-27 16:17:52 UTC (rev 3754)
@@ -41,6 +41,9 @@
                                          GtkDialogFlags flags,
 																				 const gchar *checkout_dir) G_GNUC_MALLOC G_GNUC_INTERNAL;
 
+gchar* tsh_checkout_dialog_get_reposetory (TshCheckoutDialog*);
+gchar* tsh_checkout_dialog_get_directory (TshCheckoutDialog*);
+
 G_END_DECLS;
 
 #endif /* !__TSH_CHECKOUT_DIALOG_H__ */

Modified: thunar-svn-plugin/trunk/tsp-svn-helper/tsh-checkout.c
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/tsh-checkout.c	2007-12-25 21:46:13 UTC (rev 3753)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/tsh-checkout.c	2007-12-27 16:17:52 UTC (rev 3754)
@@ -48,7 +48,7 @@
 	gchar *url;
 };
 
-gpointer checkout_thread (gpointer user_data)
+static gpointer checkout_thread (gpointer user_data)
 {
 	struct thread_args *args = user_data;
   svn_opt_revision_t revision;
@@ -84,13 +84,21 @@
 {
 	GtkWidget *dialog;
 	struct thread_args *args;
+  gchar *repository;
+  gchar *path;
 
 	dialog = tsh_checkout_dialog_new (NULL, NULL, 0, files?files[0]:NULL);
-	gtk_dialog_run (GTK_DIALOG (dialog));
+	if(gtk_dialog_run (GTK_DIALOG (dialog)) != GTK_RESPONSE_OK)
+  {
+    gtk_widget_destroy (dialog);
+    return NULL;
+  }
+
+  repository = tsh_checkout_dialog_get_reposetory(TSH_CHECKOUT_DIALOG(dialog));
+  path = tsh_checkout_dialog_get_directory(TSH_CHECKOUT_DIALOG(dialog));
+
 	gtk_widget_destroy (dialog);
 
-	return NULL;
-
 	dialog = tsh_notify_dialog_new (_("Checkout"), NULL, 0);
 	tsh_dialog_start (GTK_DIALOG (dialog), TRUE);
 
@@ -101,8 +109,8 @@
 	args->ctx = ctx;
 	args->pool = pool;
 	args->dialog = TSH_NOTIFY_DIALOG (dialog);
-	args->path = files[0];
-	args->url =	"http://svn.xfce.org/svn/goodies/thunar-svn-plugin/trunk/tsp-svn-helper";
+	args->path = path;
+	args->url =	repository;
 
 	return g_thread_create (checkout_thread, args, TRUE, NULL);
 }

Added: thunar-svn-plugin/trunk/tsp-svn-helper/tsh-cleanup.c
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/tsh-cleanup.c	                        (rev 0)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/tsh-cleanup.c	2007-12-27 16:17:52 UTC (rev 3754)
@@ -0,0 +1,98 @@
+/*-
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+ * Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+
+#include <glib.h>
+#include <gtk/gtk.h>
+
+#include <thunar-vfs/thunar-vfs.h>
+
+#include <subversion-1/svn_cmdline.h>
+#include <subversion-1/svn_client.h>
+#include <subversion-1/svn_pools.h>
+#include <subversion-1/svn_config.h>
+#include <subversion-1/svn_fs.h>
+
+#include "tsh-common.h"
+#include "tsh-dialog-common.h"
+
+#include "tsh-cleanup.h"
+
+struct thread_args {
+	svn_client_ctx_t *ctx;
+	apr_pool_t *pool;
+  GtkWidget *dialog;
+	gchar *path;
+};
+
+static gpointer cleanup_thread (gpointer user_data)
+{
+	struct thread_args *args = user_data;
+	svn_error_t *err;
+	svn_client_ctx_t *ctx = args->ctx;
+	apr_pool_t *pool = args->pool;
+  GtkWidget *dialog = args->dialog;
+	gchar *path = args->path;
+
+	g_free (args);
+
+  if(!path)
+    path = "";
+
+	if ((err = svn_client_cleanup(path, ctx, pool)))
+	{
+		svn_handle_error2(err, stderr, FALSE, G_LOG_DOMAIN ": ");
+		svn_error_clear(err);
+		return GINT_TO_POINTER (FALSE);
+	}
+
+	gdk_threads_enter();
+  gtk_widget_destroy(dialog);
+  dialog = gtk_message_dialog_new(NULL, 0, GTK_MESSAGE_OTHER, GTK_BUTTONS_CLOSE, _("Cleanup finnished"));
+  tsh_dialog_start(GTK_DIALOG(dialog), TRUE);
+	gdk_threads_leave();
+
+	return GINT_TO_POINTER (TRUE);
+}
+
+GThread *tsh_cleanup (gchar **files, svn_client_ctx_t *ctx, apr_pool_t *pool)
+{
+	struct thread_args *args;
+  GtkWidget *dialog;
+  gchar *path;
+
+  dialog = gtk_message_dialog_new(NULL, 0, GTK_MESSAGE_OTHER, GTK_BUTTONS_CANCEL, _("Cleaning up ..."));
+	g_signal_connect (G_OBJECT (dialog), "response", G_CALLBACK (tsh_cancel), NULL);
+  tsh_dialog_start(GTK_DIALOG(dialog), TRUE);
+
+	path = files?files[0]:NULL;
+
+	args = g_malloc (sizeof (struct thread_args));
+	args->ctx = ctx;
+	args->pool = pool;
+  args->dialog = dialog;
+	args->path = path;
+
+	return g_thread_create (cleanup_thread, args, TRUE, NULL);
+}
+

Added: thunar-svn-plugin/trunk/tsp-svn-helper/tsh-cleanup.h
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/tsh-cleanup.h	                        (rev 0)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/tsh-cleanup.h	2007-12-27 16:17:52 UTC (rev 3754)
@@ -0,0 +1,27 @@
+/*-
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+ * Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#ifndef __TSH_CLEANUP_H__
+#define __TSH_CLEANUP_H__
+
+G_BEGIN_DECLS
+
+GThread *tsh_cleanup (gchar**, svn_client_ctx_t*, apr_pool_t*);
+
+G_END_DECLS
+
+#endif /*__TSH_CLEANUP_H__*/
+

Added: thunar-svn-plugin/trunk/tsp-svn-helper/tsh-commit.c
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/tsh-commit.c	                        (rev 0)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/tsh-commit.c	2007-12-27 16:17:52 UTC (rev 3754)
@@ -0,0 +1,183 @@
+/*-
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+ * Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+
+#include <glib.h>
+#include <gtk/gtk.h>
+
+#include <thunar-vfs/thunar-vfs.h>
+
+#include <subversion-1/svn_cmdline.h>
+#include <subversion-1/svn_client.h>
+#include <subversion-1/svn_pools.h>
+#include <subversion-1/svn_config.h>
+#include <subversion-1/svn_fs.h>
+
+#include "tsh-common.h"
+#include "tsh-dialog-common.h"
+#include "tsh-notify-dialog.h"
+#include "tsh-log-message-dialog.h"
+
+#include "tsh-commit.h"
+
+struct thread_args {
+	svn_client_ctx_t *ctx;
+	apr_pool_t *pool;
+	TshNotifyDialog *dialog;
+  gchar **files;
+};
+
+static gpointer commit_thread (gpointer user_data)
+{
+	struct thread_args *args = user_data;
+	svn_error_t *err;
+  svn_commit_info_t *commit_info;
+  apr_array_header_t *paths;
+	svn_client_ctx_t *ctx = args->ctx;
+	apr_pool_t *pool = args->pool;
+	TshNotifyDialog *dialog = args->dialog;
+  gchar **files = args->files;
+  gint size, i;
+
+	g_free (args);
+
+  size = files?g_strv_length(files):0;
+
+  if(size)
+  {
+    paths = apr_array_make (pool, size, sizeof (const char *));
+
+    for (i = 0; i < size; i++)
+    {
+      APR_ARRAY_PUSH (paths, const char *) = files[i];
+    }
+  }
+  else
+  {
+    paths = apr_array_make (pool, 1, sizeof (const char *));
+
+    APR_ARRAY_PUSH (paths, const char *) = ""; // current directory
+  }
+
+	if ((err = svn_client_commit3(&commit_info, paths, TRUE, FALSE, ctx, pool)))
+	{
+		gdk_threads_enter();
+		tsh_notify_dialog_done (dialog);
+		gdk_threads_leave();
+
+		svn_handle_error2(err, stderr, FALSE, G_LOG_DOMAIN ": ");
+		svn_error_clear(err);
+		return GINT_TO_POINTER (FALSE);
+	}
+
+	gdk_threads_enter();
+	tsh_notify_dialog_done (dialog);
+	gdk_threads_leave();
+	
+	return GINT_TO_POINTER (TRUE);
+}
+
+static svn_error_t*
+tsh_log_msg_func(const char **log_msg, const char **tmp_file, const apr_array_header_t *commit_items, void *baton, apr_pool_t *pool)
+{
+  int i;
+  GtkWidget *dialog = baton;
+
+  gdk_threads_enter();
+	gtk_widget_show (dialog);
+  gdk_threads_leave();
+
+  if(commit_items)
+  {
+    for(i = 0; i < commit_items->nelts; i++)
+    {
+      const gchar *state = _("Unknown");
+      svn_client_commit_item2_t *item = APR_ARRAY_IDX(commit_items, i, svn_client_commit_item2_t*);
+      if((item->state_flags & SVN_CLIENT_COMMIT_ITEM_ADD) &&
+        (item->state_flags & SVN_CLIENT_COMMIT_ITEM_DELETE))
+        state = _("Replaced");
+      else if(item->state_flags & SVN_CLIENT_COMMIT_ITEM_ADD)
+        state = _("Added");
+      else if(item->state_flags & SVN_CLIENT_COMMIT_ITEM_DELETE)
+        state = _("Deleted");
+      else if((item->state_flags & SVN_CLIENT_COMMIT_ITEM_TEXT_MODS) ||
+        (item->state_flags & SVN_CLIENT_COMMIT_ITEM_PROP_MODS))
+        state = _("Modified");
+      //else if(item->state_flags & SVN_CLIENT_COMMIT_ITEM_PROP_MODS)
+      //  state = _("Modified");
+      else if(item->state_flags & SVN_CLIENT_COMMIT_ITEM_IS_COPY)
+        state = _("Copied");
+      else if(item->state_flags & SVN_CLIENT_COMMIT_ITEM_LOCK_TOKEN)
+        state = _("Unlocked");
+      gdk_threads_enter();
+      tsh_log_message_dialog_add(TSH_LOG_MESSAGE_DIALOG(dialog), state, item->path);
+      gdk_threads_leave();
+    }
+    gdk_threads_enter();
+    if(gtk_dialog_run(GTK_DIALOG(dialog)) != GTK_RESPONSE_OK)
+    {
+      gdk_threads_leave();
+      tsh_cancel();
+      //gtk_widget_destroy(dialog);
+      gdk_threads_enter();
+      gtk_widget_hide (dialog);
+      gdk_threads_leave();
+      return svn_error_create(SVN_ERR_CANCELLED, NULL, NULL);
+    }
+    gdk_threads_leave();
+    gdk_threads_enter();
+    *log_msg = tsh_log_message_dialog_get_message(TSH_LOG_MESSAGE_DIALOG(dialog));
+    gdk_threads_leave();
+    //gtk_widget_destroy(dialog);
+  }
+
+  gdk_threads_enter();
+	gtk_widget_hide (dialog);
+  gdk_threads_leave();
+
+	return SVN_NO_ERROR;
+}
+
+GThread *tsh_commit (gchar **files, svn_client_ctx_t *ctx, apr_pool_t *pool)
+{
+	GtkWidget *dialog;
+	struct thread_args *args;
+
+	dialog = tsh_notify_dialog_new (_("Commit"), NULL, 0);
+	tsh_dialog_start (GTK_DIALOG (dialog), TRUE);
+
+  ctx->log_msg_func2 = tsh_log_msg_func;
+  ctx->log_msg_baton2 = tsh_log_message_dialog_new (_("Commit Message"), GTK_WINDOW (dialog), GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT);
+
+	ctx->notify_func2 = tsh_notify_func2;
+	ctx->notify_baton2 = dialog;
+
+	args = g_malloc (sizeof (struct thread_args));
+	args->ctx = ctx;
+	args->pool = pool;
+	args->dialog = TSH_NOTIFY_DIALOG (dialog);
+	args->files = files;
+
+	return g_thread_create (commit_thread, args, TRUE, NULL);
+}
+

Added: thunar-svn-plugin/trunk/tsp-svn-helper/tsh-commit.h
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/tsh-commit.h	                        (rev 0)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/tsh-commit.h	2007-12-27 16:17:52 UTC (rev 3754)
@@ -0,0 +1,27 @@
+/*-
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+ * Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#ifndef __TSH_COMMIT_H__
+#define __TSH_COMMIT_H__
+
+G_BEGIN_DECLS
+
+GThread *tsh_commit (gchar**, svn_client_ctx_t*, apr_pool_t*);
+
+G_END_DECLS
+
+#endif /*__TSH_COMMIT_H__*/
+

Modified: thunar-svn-plugin/trunk/tsp-svn-helper/tsh-common.c
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/tsh-common.c	2007-12-25 21:46:13 UTC (rev 3753)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/tsh-common.c	2007-12-27 16:17:52 UTC (rev 3754)
@@ -263,7 +263,7 @@
 
 		gtk_widget_destroy(dialog);
 
-		cancelled = TRUE;
+		tsh_cancel();
 		return svn_error_create(SVN_ERR_CANCELLED, NULL, NULL);
 	}
 
@@ -300,7 +300,7 @@
 
 		gtk_widget_destroy(dialog);
 
-		cancelled = TRUE;
+		tsh_cancel();
 		return svn_error_create(SVN_ERR_CANCELLED, NULL, NULL);
 	}
 
@@ -338,7 +338,7 @@
 
 		gtk_widget_destroy(dialog);
 
-		cancelled = TRUE;
+		tsh_cancel();
 		return svn_error_create(SVN_ERR_CANCELLED, NULL, NULL);
 	}
 
@@ -374,7 +374,7 @@
 
 		gtk_widget_destroy(dialog);
 
-		cancelled = TRUE;
+		tsh_cancel();
 		return svn_error_create(SVN_ERR_CANCELLED, NULL, NULL);
 	}
 
@@ -410,7 +410,7 @@
 
 		gtk_widget_destroy(dialog);
 
-		cancelled = TRUE;
+		tsh_cancel();
 		return svn_error_create(SVN_ERR_CANCELLED, NULL, NULL);
 	}
 
@@ -427,6 +427,12 @@
 	return SVN_NO_ERROR;
 }
 
+void
+tsh_cancel()
+{
+  cancelled = TRUE;
+}
+
 static svn_error_t*
 tsh_check_cancel(void *baton)
 {
@@ -441,18 +447,44 @@
 	TshNotifyDialog *dialog = TSH_NOTIFY_DIALOG (baton);
 	char buffer[256];
 
+  gdk_threads_enter();
 	switch(notify->action)
 	{
+		case svn_wc_notify_add:
+    case svn_wc_notify_update_add:
+    case svn_wc_notify_commit_added:
+			tsh_notify_dialog_add(dialog, _("Added"), notify->path, notify->mime_type);
+			break;
+    case svn_wc_notify_copy:
+			tsh_notify_dialog_add(dialog, _("Copied"), notify->path, notify->mime_type);
+      break;
+    case svn_wc_notify_delete:
 		case svn_wc_notify_update_delete:
-			gdk_threads_enter();
+		case svn_wc_notify_commit_deleted:
 			tsh_notify_dialog_add(dialog, _("Deleted"), notify->path, notify->mime_type);
-			gdk_threads_leave();
-			break;
-		case svn_wc_notify_update_add:
-			gdk_threads_enter();
-			tsh_notify_dialog_add(dialog, _("Added"), notify->path, notify->mime_type);
-			gdk_threads_leave();
-			break;
+      break;
+    case svn_wc_notify_restore:
+			tsh_notify_dialog_add(dialog, _("Restored"), notify->path, notify->mime_type);
+      break;
+    case svn_wc_notify_revert:
+			tsh_notify_dialog_add(dialog, _("Reverted"), notify->path, notify->mime_type);
+      break;
+    case svn_wc_notify_failed_revert:
+			tsh_notify_dialog_add(dialog, _("Revert failed"), notify->path, notify->mime_type);
+      break;
+    case svn_wc_notify_resolved:
+			tsh_notify_dialog_add(dialog, _("Resolved"), notify->path, notify->mime_type);
+      break;
+    case svn_wc_notify_skip:
+			tsh_notify_dialog_add(dialog, _("Skipped"), notify->path, notify->mime_type);
+      break;
+		//case svn_wc_notify_update_delete:
+		//	tsh_notify_dialog_add(dialog, _("Deleted"), notify->path, notify->mime_type);
+		//	gdk_threads_leave();
+		//	break;
+		//case svn_wc_notify_update_add:
+		//	tsh_notify_dialog_add(dialog, _("Added"), notify->path, notify->mime_type);
+		//	break;
 		case svn_wc_notify_update_update:
 			gdk_threads_enter();
 			tsh_notify_dialog_add(dialog, _("Updated"), notify->path, notify->mime_type);
@@ -460,17 +492,52 @@
 			break;
 		case svn_wc_notify_update_completed:
 			g_snprintf(buffer, 256, _("At revision: %li"), notify->revision);
-			gdk_threads_enter();
 			tsh_notify_dialog_add(dialog, _("Completed"), buffer, NULL);
-			gdk_threads_leave();
 			break;
 		case svn_wc_notify_update_external:
-			gdk_threads_enter();
+    case svn_wc_notify_status_external:
 			tsh_notify_dialog_add(dialog, _("External"), notify->path, notify->mime_type);
-			gdk_threads_leave();
 			break;
+    case svn_wc_notify_status_completed:
+			tsh_notify_dialog_add(dialog, _("Completed"), notify->path, notify->mime_type);
+      break;
+    //case svn_wc_notify_status_external:
+		//	tsh_notify_dialog_add(dialog, _("External"), notify->path, notify->mime_type);
+		//	break;
+    case svn_wc_notify_commit_modified:
+			tsh_notify_dialog_add(dialog, _("Modified"), notify->path, notify->mime_type);
+      break;
+    //case svn_wc_notify_commit_added:
+		//	tsh_notify_dialog_add(dialog, _("Added"), notify->path, notify->mime_type);
+		//	break;
+		//case svn_wc_notify_commit_deleted:
+		//	tsh_notify_dialog_add(dialog, _("Deleted"), notify->path, notify->mime_type);
+    //  break;
+    case svn_wc_notify_commit_replaced:
+			tsh_notify_dialog_add(dialog, _("Replaced"), notify->path, notify->mime_type);
+      break;
+    case svn_wc_notify_commit_postfix_txdelta:
+			tsh_notify_dialog_add(dialog, ("Transmitting"), notify->path, notify->mime_type);
+      break;
+    case svn_wc_notify_blame_revision:
+			tsh_notify_dialog_add(dialog, ("Revision"), notify->path, notify->mime_type);
+      break;
+    case svn_wc_notify_locked:
+			tsh_notify_dialog_add(dialog, _("Locked"), notify->path, notify->mime_type);
+			break;
+    case svn_wc_notify_unlocked:
+			tsh_notify_dialog_add(dialog, _("Unlocked"), notify->path, notify->mime_type);
+			break;
+    case svn_wc_notify_failed_lock:
+			tsh_notify_dialog_add(dialog, _("Lock failed"), notify->path, notify->mime_type);
+			break;
+    case svn_wc_notify_failed_unlock:
+			tsh_notify_dialog_add(dialog, _("Unlock failed"), notify->path, notify->mime_type);
+			break;
 		default:
+			tsh_notify_dialog_add(dialog, _("Unknown"), notify->path, notify->mime_type);
 			break;
 	}
+  gdk_threads_leave();
 }
 

Modified: thunar-svn-plugin/trunk/tsp-svn-helper/tsh-common.h
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/tsh-common.h	2007-12-25 21:46:13 UTC (rev 3753)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/tsh-common.h	2007-12-27 16:17:52 UTC (rev 3754)
@@ -21,6 +21,8 @@
 
 gboolean tsh_init (apr_pool_t**, svn_error_t**);
 
+void tsh_cancel();
+
 gboolean tsh_create_context (svn_client_ctx_t**, apr_pool_t*, svn_error_t**);
 
 void tsh_notify_func2(void *, const svn_wc_notify_t *, apr_pool_t *);

Modified: thunar-svn-plugin/trunk/tsp-svn-helper/tsh-file-dialog.c
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/tsh-file-dialog.c	2007-12-25 21:46:13 UTC (rev 3753)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/tsh-file-dialog.c	2007-12-27 16:17:52 UTC (rev 3754)
@@ -121,7 +121,7 @@
 	return GTK_WIDGET(dialog);
 }
 
-const gchar*
+gchar*
 tsh_file_dialog_get_filename (TshFileDialog *dialog)
 {
 	return gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog->filename));

Modified: thunar-svn-plugin/trunk/tsp-svn-helper/tsh-file-dialog.h
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/tsh-file-dialog.h	2007-12-25 21:46:13 UTC (rev 3753)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/tsh-file-dialog.h	2007-12-27 16:17:52 UTC (rev 3754)
@@ -41,7 +41,7 @@
                                       GtkDialogFlags flags,
                                       gboolean may_save) G_GNUC_MALLOC G_GNUC_INTERNAL;
 
-const gchar* tsh_file_dialog_get_filename (TshFileDialog*);
+gchar*       tsh_file_dialog_get_filename (TshFileDialog*);
 gboolean     tsh_file_dialog_get_may_save (TshFileDialog*);
 
 G_END_DECLS;

Added: thunar-svn-plugin/trunk/tsp-svn-helper/tsh-log-message-dialog.c
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/tsh-log-message-dialog.c	                        (rev 0)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/tsh-log-message-dialog.c	2007-12-27 16:17:52 UTC (rev 3754)
@@ -0,0 +1,174 @@
+/*-
+ * Copyright (c) 2006 Peter de Ridder <peter at xfce.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <thunar-vfs/thunar-vfs.h>
+#include <gtk/gtk.h>
+
+#include "tsh-log-message-dialog.h"
+
+struct _TshLogMessageDialog
+{
+	GtkDialog dialog;
+
+  GtkWidget *vpane;
+	GtkWidget *text_view;
+	GtkWidget *tree_view;
+};
+
+struct _TshLogMessageDialogClass
+{
+	GtkDialogClass dialog_class;
+};
+
+G_DEFINE_TYPE (TshLogMessageDialog, tsh_log_message_dialog, GTK_TYPE_DIALOG)
+
+static void
+tsh_log_message_dialog_class_init (TshLogMessageDialogClass *klass)
+{
+}
+
+enum {
+	COLUMN_STATE = 0,
+	COLUMN_PATH,
+	COLUMN_COUNT
+};
+
+static void
+tsh_log_message_dialog_init (TshLogMessageDialog *dialog)
+{
+	GtkWidget *text_view;
+	GtkWidget *tree_view;
+	GtkWidget *scroll_window;
+  GtkWidget *vpane;
+	GtkCellRenderer *renderer;
+	GtkTreeModel *model;
+
+  dialog->vpane = vpane = gtk_vpaned_new ();
+
+	scroll_window = gtk_scrolled_window_new (NULL, NULL);
+	gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroll_window), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
+
+  dialog->text_view = text_view = gtk_text_view_new ();
+
+	gtk_container_add (GTK_CONTAINER (scroll_window), text_view);
+  gtk_paned_pack1 (GTK_PANED(vpane), scroll_window, TRUE, FALSE);
+	gtk_widget_show (text_view);
+	gtk_widget_show (scroll_window);
+
+	scroll_window = gtk_scrolled_window_new (NULL, NULL);
+	gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroll_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+
+	dialog->tree_view = tree_view = gtk_tree_view_new ();
+	
+	renderer = gtk_cell_renderer_text_new ();
+	gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (tree_view),
+	                                             -1, _("State"),
+	                                             renderer, "text",
+	                                             COLUMN_STATE, NULL);
+
+	renderer = gtk_cell_renderer_text_new ();
+	gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (tree_view),
+	                                             -1, _("Path"),
+	                                             renderer, "text",
+	                                             COLUMN_PATH, NULL);
+
+	model = GTK_TREE_MODEL (gtk_list_store_new (COLUMN_COUNT, G_TYPE_STRING, G_TYPE_STRING));
+
+	gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view), model);
+
+	g_object_unref (model);
+
+	gtk_container_add (GTK_CONTAINER (scroll_window), tree_view);
+  gtk_paned_pack2 (GTK_PANED(vpane), scroll_window, TRUE, FALSE);
+	gtk_widget_show (tree_view);
+	gtk_widget_show (scroll_window);
+
+	gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), vpane, TRUE, TRUE, 0);
+	gtk_widget_show (vpane);
+
+	gtk_window_set_title (GTK_WINDOW (dialog), _("Log Message"));
+
+  gtk_dialog_add_buttons (GTK_DIALOG (dialog),
+                          GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+                          GTK_STOCK_OK, GTK_RESPONSE_OK,
+                          NULL);
+  gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog), GTK_RESPONSE_OK, GTK_RESPONSE_CANCEL, -1);
+  gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
+
+	gtk_window_set_default_size (GTK_WINDOW (dialog), 300, 200);
+}
+
+GtkWidget*
+tsh_log_message_dialog_new (const gchar *title, GtkWindow *parent, GtkDialogFlags flags)
+{
+	TshLogMessageDialog *dialog = g_object_new (TSH_TYPE_LOG_MESSAGE_DIALOG, NULL);
+
+	if(title)
+		gtk_window_set_title (GTK_WINDOW(dialog), title);
+
+	if(parent)
+		gtk_window_set_transient_for (GTK_WINDOW(dialog), parent);
+
+	if(flags & GTK_DIALOG_MODAL)
+		gtk_window_set_modal (GTK_WINDOW(dialog), TRUE);
+
+	if(flags & GTK_DIALOG_DESTROY_WITH_PARENT)
+		gtk_window_set_destroy_with_parent (GTK_WINDOW(dialog), TRUE);
+
+	if(flags & GTK_DIALOG_NO_SEPARATOR)
+		gtk_dialog_set_has_separator (GTK_DIALOG(dialog), FALSE);
+
+	return GTK_WIDGET(dialog);
+}
+
+void       
+tsh_log_message_dialog_add (TshLogMessageDialog *dialog, const char *state, const char *file)
+{
+	GtkTreeModel *model;
+	GtkTreeIter iter;
+	GtkTreePath *path;
+
+	model = gtk_tree_view_get_model (GTK_TREE_VIEW (dialog->tree_view));
+
+	gtk_list_store_append (GTK_LIST_STORE (model), &iter);
+	gtk_list_store_set (GTK_LIST_STORE (model), &iter,
+	                    COLUMN_STATE, state,
+	                    COLUMN_PATH, file,
+	                    -1);
+
+	path = gtk_tree_model_get_path (model, &iter);
+	gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW (dialog->tree_view), path, NULL, FALSE, 0, 0);
+
+	gtk_tree_path_free (path);
+}
+
+gchar *
+tsh_log_message_dialog_get_message (TshLogMessageDialog *dialog)
+{
+  GtkTextIter start, end;
+  GtkTextBuffer *buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (dialog->text_view));
+  gtk_text_buffer_get_start_iter (buffer, &start);
+  gtk_text_buffer_get_end_iter (buffer, &end);
+  return gtk_text_buffer_get_text (buffer, &start, &end, FALSE);
+}
+

Added: thunar-svn-plugin/trunk/tsp-svn-helper/tsh-log-message-dialog.h
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/tsh-log-message-dialog.h	                        (rev 0)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/tsh-log-message-dialog.h	2007-12-27 16:17:52 UTC (rev 3754)
@@ -0,0 +1,51 @@
+/*-
+ * Copyright (c) 2006 Peter de Ridder <peter at xfce.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __TSH_LOG_MESSAGE_DIALOG_H__
+#define __TSH_LOG_MESSAGE_DIALOG_H__
+
+#include <gtk/gtk.h>
+
+G_BEGIN_DECLS;
+
+typedef struct _TshLogMessageDialogClass TshLogMessageDialogClass;
+typedef struct _TshLogMessageDialog      TshLogMessageDialog;
+
+#define TSH_TYPE_LOG_MESSAGE_DIALOG             (tsh_log_message_dialog_get_type ())
+#define TSH_LOG_MESSAGE_DIALOG(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), TSH_TYPE_LOG_MESSAGE_DIALOG, TshLogMessageDialog))
+#define TSH_LOG_MESSAGE_DIALOG_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass), TSH_TYPE_LOG_MESSAGE_DIALOG, TshLogMessageDialogClass))
+#define TSH_IS_LOG_MESSAGE_DIALOG(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TSH_TYPE_LOG_MESSAGE_DIALOG))
+#define TSH_IS_LOG_MESSAGE_DIALOG_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), TSH_TYPE_LOG_MESSAGE_DIALOG))
+#define TSH_LOG_MESSAGE_DIALOG_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), TSH_TYPE_LOG_MESSAGE_DIALOG, TshLogMessageDialogClass))
+
+GType      tsh_log_message_dialog_get_type    (void) G_GNUC_CONST G_GNUC_INTERNAL;
+
+GtkWidget* tsh_log_message_dialog_new         (const gchar *title,
+                                               GtkWindow *parent,
+                                               GtkDialogFlags flags) G_GNUC_MALLOC G_GNUC_INTERNAL;
+
+void       tsh_log_message_dialog_add         (TshLogMessageDialog *dialog,
+                                               const char *state,
+                                               const char *file);
+
+gchar *    tsh_log_message_dialog_get_message (TshLogMessageDialog *dialog);
+
+G_END_DECLS;
+
+#endif /* !__TSH_LOG_MESSAGE_DIALOG_H__ */

Modified: thunar-svn-plugin/trunk/tsp-svn-helper/tsh-login-dialog.c
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/tsh-login-dialog.c	2007-12-25 21:46:13 UTC (rev 3753)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/tsh-login-dialog.c	2007-12-27 16:17:52 UTC (rev 3754)
@@ -159,16 +159,16 @@
 	return GTK_WIDGET(dialog);
 }
 
-const gchar*
+gchar*
 tsh_login_dialog_get_username (TshLoginDialog *dialog)
 {
-	return gtk_entry_get_text(GTK_ENTRY(dialog->username));
+	return g_strdup(gtk_entry_get_text(GTK_ENTRY(dialog->username)));
 }
 
-const gchar*
+gchar*
 tsh_login_dialog_get_password (TshLoginDialog *dialog)
 {
-	return gtk_entry_get_text(GTK_ENTRY(dialog->password));
+	return g_strdup(gtk_entry_get_text(GTK_ENTRY(dialog->password)));
 }
 
 gboolean

Modified: thunar-svn-plugin/trunk/tsp-svn-helper/tsh-login-dialog.h
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/tsh-login-dialog.h	2007-12-25 21:46:13 UTC (rev 3753)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/tsh-login-dialog.h	2007-12-27 16:17:52 UTC (rev 3754)
@@ -43,8 +43,8 @@
                                       gboolean password,
                                       gboolean may_save) G_GNUC_MALLOC G_GNUC_INTERNAL;
 
-const gchar* tsh_login_dialog_get_username (TshLoginDialog*);
-const gchar* tsh_login_dialog_get_password (TshLoginDialog*);
+gchar*       tsh_login_dialog_get_username (TshLoginDialog*);
+gchar*       tsh_login_dialog_get_password (TshLoginDialog*);
 gboolean     tsh_login_dialog_get_may_save (TshLoginDialog*);
 
 G_END_DECLS;

Modified: thunar-svn-plugin/trunk/tsp-svn-helper/tsh-notify-dialog.c
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/tsh-notify-dialog.c	2007-12-25 21:46:13 UTC (rev 3753)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/tsh-notify-dialog.c	2007-12-27 16:17:52 UTC (rev 3754)
@@ -115,7 +115,7 @@
 GtkWidget*
 tsh_notify_dialog_new (const gchar *title, GtkWindow *parent, GtkDialogFlags flags)
 {
-	TshNotifyDialog *dialog = g_object_new (TSH_TYPE_UPDATE_DIALOG, NULL);
+	TshNotifyDialog *dialog = g_object_new (TSH_TYPE_NOTIFY_DIALOG, NULL);
 
 	if(title)
 		gtk_window_set_title (GTK_WINDOW(dialog), title);

Modified: thunar-svn-plugin/trunk/tsp-svn-helper/tsh-notify-dialog.h
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/tsh-notify-dialog.h	2007-12-25 21:46:13 UTC (rev 3753)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/tsh-notify-dialog.h	2007-12-27 16:17:52 UTC (rev 3754)
@@ -27,12 +27,12 @@
 typedef struct _TshNotifyDialogClass TshNotifyDialogClass;
 typedef struct _TshNotifyDialog      TshNotifyDialog;
 
-#define TSH_TYPE_UPDATE_DIALOG             (tsh_notify_dialog_get_type ())
-#define TSH_NOTIFY_DIALOG(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), TSH_TYPE_UPDATE_DIALOG, TshNotifyDialog))
-#define TSH_NOTIFY_DIALOG_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass), TSH_TYPE_UPDATE_DIALOG, TshNotifyDialogClass))
-#define TSH_IS_UPDATE_DIALOG(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TSH_TYPE_UPDATE_DIALOG))
-#define TSH_IS_UPDATE_DIALOG_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), TSH_TYPE_UPDATE_DIALOG))
-#define TSH_NOTIFY_DIALOG_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), TSH_TYPE_UPDATE_DIALOG, TshNotifyDialogClass))
+#define TSH_TYPE_NOTIFY_DIALOG             (tsh_notify_dialog_get_type ())
+#define TSH_NOTIFY_DIALOG(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), TSH_TYPE_NOTIFY_DIALOG, TshNotifyDialog))
+#define TSH_NOTIFY_DIALOG_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass), TSH_TYPE_NOTIFY_DIALOG, TshNotifyDialogClass))
+#define TSH_IS_NOTIFY_DIALOG(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TSH_TYPE_NOTIFY_DIALOG))
+#define TSH_IS_NOTIFY_DIALOG_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), TSH_TYPE_NOTIFY_DIALOG))
+#define TSH_NOTIFY_DIALOG_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), TSH_TYPE_NOTIFY_DIALOG, TshNotifyDialogClass))
 
 GType      tsh_notify_dialog_get_type (void) G_GNUC_CONST G_GNUC_INTERNAL;
 

Modified: thunar-svn-plugin/trunk/tsp-svn-helper/tsh-update.c
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/tsh-update.c	2007-12-25 21:46:13 UTC (rev 3753)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/tsh-update.c	2007-12-27 16:17:52 UTC (rev 3754)
@@ -46,7 +46,7 @@
 	gchar **files;
 };
 
-gpointer update_thread (gpointer user_data)
+static gpointer update_thread (gpointer user_data)
 {
 	struct thread_args *args = user_data;
   svn_opt_revision_t revision;




More information about the Goodies-commits mailing list