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

Peter de Ridder peter at xfce.org
Mon Dec 31 16:41:21 CET 2007


Author: peter
Date: 2007-12-31 15:41:20 +0000 (Mon, 31 Dec 2007)
New Revision: 3763

Added:
   thunar-svn-plugin/trunk/tsp-svn-helper/tsh-copy.c
   thunar-svn-plugin/trunk/tsp-svn-helper/tsh-copy.h
   thunar-svn-plugin/trunk/tsp-svn-helper/tsh-lock-dialog.c
   thunar-svn-plugin/trunk/tsp-svn-helper/tsh-lock-dialog.h
   thunar-svn-plugin/trunk/tsp-svn-helper/tsh-lock.c
   thunar-svn-plugin/trunk/tsp-svn-helper/tsh-lock.h
   thunar-svn-plugin/trunk/tsp-svn-helper/tsh-move.c
   thunar-svn-plugin/trunk/tsp-svn-helper/tsh-move.h
   thunar-svn-plugin/trunk/tsp-svn-helper/tsh-resolved.c
   thunar-svn-plugin/trunk/tsp-svn-helper/tsh-resolved.h
Modified:
   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-svn-action.c
   thunar-svn-plugin/trunk/tsp-svn-helper/Makefile.am
   thunar-svn-plugin/trunk/tsp-svn-helper/main.c
   thunar-svn-plugin/trunk/tsp-svn-helper/tsh-common.c
Log:
* Actions added:
  - lock
  - unlock
  - move
  - copy
  - resolved
* Updated translation

Modified: thunar-svn-plugin/trunk/po/POTFILES.in
===================================================================
--- thunar-svn-plugin/trunk/po/POTFILES.in	2007-12-31 00:55:55 UTC (rev 3762)
+++ thunar-svn-plugin/trunk/po/POTFILES.in	2007-12-31 15:41:20 UTC (rev 3763)
@@ -12,17 +12,24 @@
 tsp-svn-helper/tsh-cleanup.c
 tsp-svn-helper/tsh-commit.c
 tsp-svn-helper/tsh-common.c
+tsp-svn-helper/tsh-copy.c
+tsp-svn-helper/tsh-copy.c
 tsp-svn-helper/tsh-delete.c
 tsp-svn-helper/tsh-dialog-common.c
 tsp-svn-helper/tsh-export.c
 tsp-svn-helper/tsh-file-dialog.c
 tsp-svn-helper/tsh-import.c
+tsp-svn-helper/tsh-lock.c
+tsp-svn-helper/tsh-lock-dialog.c
 tsp-svn-helper/tsh-log-message-dialog.c
 tsp-svn-helper/tsh-login-dialog.c
+tsp-svn-helper/tsh-move.c
 tsp-svn-helper/tsh-notify-dialog.c
+tsp-svn-helper/tsh-resolved.c
 tsp-svn-helper/tsh-revert.c
 tsp-svn-helper/tsh-status.c
 tsp-svn-helper/tsh-status-dialog.c
 tsp-svn-helper/tsh-transfer-dialog.c
 tsp-svn-helper/tsh-trust-dialog.c
+tsp-svn-helper/tsh-unlock.c
 tsp-svn-helper/tsh-update.c 

Modified: thunar-svn-plugin/trunk/po/fr.po
===================================================================
--- thunar-svn-plugin/trunk/po/fr.po	2007-12-31 00:55:55 UTC (rev 3762)
+++ thunar-svn-plugin/trunk/po/fr.po	2007-12-31 15:41:20 UTC (rev 3763)
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: xfce-i 18n\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-12-31 02:00+0100\n"
+"POT-Creation-Date: 2007-12-31 16:43+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"
@@ -36,82 +36,101 @@
 msgid "SVN _Export"
 msgstr "SVN _Importer"
 
-#: thunar-svn-plugin/tsp-svn-action.c:237 tsp-svn-helper/main.c:151
+#: thunar-svn-plugin/tsp-svn-action.c:247 tsp-svn-helper/main.c:191
 #: tsp-svn-helper/tsh-add.c:94
 msgid "Add"
 msgstr "Ajouter"
 
-#: thunar-svn-plugin/tsp-svn-action.c:245
+#: thunar-svn-plugin/tsp-svn-action.c:255
 msgid "Blame"
 msgstr "Différences détaillées"
 
-#: thunar-svn-plugin/tsp-svn-action.c:263 tsp-svn-helper/main.c:159
+#: thunar-svn-plugin/tsp-svn-action.c:273 tsp-svn-helper/main.c:199
 msgid "Cleanup"
 msgstr "Nettoyer les verrous"
 
-#: thunar-svn-plugin/tsp-svn-action.c:271 tsp-svn-helper/main.c:163
+#: thunar-svn-plugin/tsp-svn-action.c:281 tsp-svn-helper/main.c:203
 #: tsp-svn-helper/tsh-commit.c:101
 msgid "Commit"
 msgstr "Envoyer"
 
-#: thunar-svn-plugin/tsp-svn-action.c:284 tsp-svn-helper/main.c:167
+#: thunar-svn-plugin/tsp-svn-action.c:289 tsp-svn-helper/main.c:207
+#: tsp-svn-helper/tsh-copy.c:127
+#, fuzzy
+msgid "Copy"
+msgstr "Complété"
+
+#: thunar-svn-plugin/tsp-svn-action.c:297 tsp-svn-helper/main.c:211
 #: tsp-svn-helper/tsh-delete.c:101
 msgid "Delete"
 msgstr "Effacer"
 
-#: thunar-svn-plugin/tsp-svn-action.c:292
+#: thunar-svn-plugin/tsp-svn-action.c:305
 msgid "Diff"
 msgstr "Différences"
 
-#: thunar-svn-plugin/tsp-svn-action.c:300 tsp-svn-helper/main.c:171
+#: thunar-svn-plugin/tsp-svn-action.c:313 tsp-svn-helper/main.c:215
 #: tsp-svn-helper/tsh-export.c:95 tsp-svn-helper/tsh-export.c:113
 msgid "Export"
 msgstr "Exporter"
 
-#: thunar-svn-plugin/tsp-svn-action.c:313
+#: thunar-svn-plugin/tsp-svn-action.c:326
 msgid "Info"
 msgstr "Information"
 
-#: thunar-svn-plugin/tsp-svn-action.c:326
+#: thunar-svn-plugin/tsp-svn-action.c:339 tsp-svn-helper/main.c:223
+#: tsp-svn-helper/tsh-lock.c:118 tsp-svn-helper/tsh-lock-dialog.c:71
 msgid "Lock"
 msgstr "Bloquer"
 
-#: thunar-svn-plugin/tsp-svn-action.c:334
+#: thunar-svn-plugin/tsp-svn-action.c:347
 msgid "Log"
 msgstr "Journal"
 
-#: thunar-svn-plugin/tsp-svn-action.c:363
+#: thunar-svn-plugin/tsp-svn-action.c:365 tsp-svn-helper/main.c:227
+#: tsp-svn-helper/tsh-move.c:126
+msgid "Move"
+msgstr ""
+
+#: thunar-svn-plugin/tsp-svn-action.c:379
 msgid "Edit Properties"
 msgstr "Éditer les propriétés"
 
-#: thunar-svn-plugin/tsp-svn-action.c:373
+#: thunar-svn-plugin/tsp-svn-action.c:388 tsp-svn-helper/main.c:231
+#: tsp-svn-helper/tsh-common.c:455 tsp-svn-helper/tsh-resolved.c:94
+#, fuzzy
+msgid "Resolved"
+msgstr "Fixer comme résolu"
+
+#: thunar-svn-plugin/tsp-svn-action.c:396
 msgid "Resolve"
 msgstr "Fixer comme résolu"
 
-#: thunar-svn-plugin/tsp-svn-action.c:381 tsp-svn-helper/main.c:179
+#: thunar-svn-plugin/tsp-svn-action.c:404 tsp-svn-helper/main.c:235
 #: tsp-svn-helper/tsh-revert.c:99
 msgid "Revert"
 msgstr "Restaurer"
 
-#: thunar-svn-plugin/tsp-svn-action.c:389 tsp-svn-helper/main.c:183
+#: thunar-svn-plugin/tsp-svn-action.c:412 tsp-svn-helper/main.c:239
 #: tsp-svn-helper/tsh-status-dialog.c:159
 msgid "Status"
 msgstr "État"
 
-#: thunar-svn-plugin/tsp-svn-action.c:397
+#: thunar-svn-plugin/tsp-svn-action.c:420
 msgid "Switch"
 msgstr "Modifier l'adresse du dépôt"
 
-#: thunar-svn-plugin/tsp-svn-action.c:405
+#: thunar-svn-plugin/tsp-svn-action.c:428 tsp-svn-helper/main.c:243
+#: tsp-svn-helper/tsh-unlock.c:99
 msgid "Unlock"
 msgstr "Débloquer"
 
-#: thunar-svn-plugin/tsp-svn-action.c:413 tsp-svn-helper/main.c:187
+#: thunar-svn-plugin/tsp-svn-action.c:436 tsp-svn-helper/main.c:247
 #: tsp-svn-helper/tsh-status.c:95 tsp-svn-helper/tsh-update.c:101
 msgid "Update"
 msgstr "Mettre à jour"
 
-#: thunar-svn-plugin/tsp-svn-action.c:426
+#: thunar-svn-plugin/tsp-svn-action.c:449
 #, c-format
 msgid "Action %s is unimplemented"
 msgstr ""
@@ -173,110 +192,155 @@
 msgid "Other..."
 msgstr ""
 
-#: tsp-svn-helper/main.c:80
+#: tsp-svn-helper/main.c:90
 msgid "Print version information"
 msgstr "Afficher l'information sur la version"
 
-#: tsp-svn-helper/main.c:87
+#: tsp-svn-helper/main.c:97
 #, fuzzy
 msgid "Execute add action"
 msgstr "Exécuter une mise à jour"
 
-#: tsp-svn-helper/main.c:93
+#: tsp-svn-helper/main.c:103
 msgid "Execute checkout action"
 msgstr "Exécuter une extraction"
 
-#: tsp-svn-helper/main.c:99
+#: tsp-svn-helper/main.c:109
 #, fuzzy
 msgid "Execute cleanup action"
 msgstr "Exécuter une extraction"
 
-#: tsp-svn-helper/main.c:105
+#: tsp-svn-helper/main.c:115
 #, fuzzy
 msgid "Execute commit action"
 msgstr "Exécuter une extraction"
 
-#: tsp-svn-helper/main.c:111
+#: tsp-svn-helper/main.c:121
 #, fuzzy
+msgid "Execute copy action"
+msgstr "Exécuter une extraction"
+
+#: tsp-svn-helper/main.c:127
+#, fuzzy
 msgid "Execute delete action"
 msgstr "Exécuter une mise à jour"
 
-#: tsp-svn-helper/main.c:117
+#: tsp-svn-helper/main.c:133
 #, fuzzy
 msgid "Execute export action"
 msgstr "Exécuter une extraction"
 
-#: tsp-svn-helper/main.c:123
+#: tsp-svn-helper/main.c:139
 #, fuzzy
 msgid "Execute import action"
 msgstr "Exécuter une extraction"
 
-#: tsp-svn-helper/main.c:129
+#: tsp-svn-helper/main.c:145
 #, fuzzy
+msgid "Execute lock action"
+msgstr "Exécuter une mise à jour"
+
+#: tsp-svn-helper/main.c:151
+#, fuzzy
+msgid "Execute move action"
+msgstr "Exécuter une extraction"
+
+#: tsp-svn-helper/main.c:157
+#, fuzzy
+msgid "Execute resolved action"
+msgstr "Exécuter une extraction"
+
+#: tsp-svn-helper/main.c:163
+#, fuzzy
 msgid "Execute revert action"
 msgstr "Exécuter une extraction"
 
-#: tsp-svn-helper/main.c:135
+#: tsp-svn-helper/main.c:169
 #, fuzzy
 msgid "Execute status action"
 msgstr "Exécuter une mise à jour"
 
-#: tsp-svn-helper/main.c:141
+#: tsp-svn-helper/main.c:175
+#, fuzzy
+msgid "Execute unlock action"
+msgstr "Exécuter une extraction"
+
+#: tsp-svn-helper/main.c:181
 msgid "Execute update action"
 msgstr "Exécuter une mise à jour"
 
-#: tsp-svn-helper/main.c:151
+#: tsp-svn-helper/main.c:191
 msgid "Add Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:155
+#: tsp-svn-helper/main.c:195
 msgid "Checkout Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:155 tsp-svn-helper/tsh-checkout.c:86
+#: tsp-svn-helper/main.c:195 tsp-svn-helper/tsh-checkout.c:86
 #: tsp-svn-helper/tsh-checkout.c:98
 msgid "Checkout"
 msgstr "Extraction"
 
-#: tsp-svn-helper/main.c:159
+#: tsp-svn-helper/main.c:199
 msgid "Cleanup Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:163
+#: tsp-svn-helper/main.c:203
 msgid "Commit Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:167
+#: tsp-svn-helper/main.c:207
+msgid "Copy Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:211
 msgid "Delete Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:171
+#: tsp-svn-helper/main.c:215
 msgid "Export Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:175
+#: tsp-svn-helper/main.c:219
 msgid "Import Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:175 tsp-svn-helper/tsh-import.c:86
+#: tsp-svn-helper/main.c:219 tsp-svn-helper/tsh-import.c:86
 #: tsp-svn-helper/tsh-import.c:104
 #, fuzzy
 msgid "Import"
 msgstr "SVN _Importer"
 
-#: tsp-svn-helper/main.c:179
+#: tsp-svn-helper/main.c:223
+msgid "Lock Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:227
+msgid "Move Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:231
+msgid "Resolved Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:235
 msgid "Revert Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:183
+#: tsp-svn-helper/main.c:239
 msgid "Status Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:187
+#: tsp-svn-helper/main.c:243
+msgid "Unlock Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:247
 msgid "Update Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:233
+#: tsp-svn-helper/main.c:293
 msgid "Not enough arguments provided"
 msgstr ""
 
@@ -326,11 +390,6 @@
 msgid "Revert failed"
 msgstr "Restaurer"
 
-#: tsp-svn-helper/tsh-common.c:455
-#, fuzzy
-msgid "Resolved"
-msgstr "Fixer comme résolu"
-
 #: tsp-svn-helper/tsh-common.c:456
 msgid "Skipped"
 msgstr ""
@@ -423,6 +482,10 @@
 msgid "At revision: %li"
 msgstr "À la révision : %li"
 
+#: tsp-svn-helper/tsh-copy.c:109
+msgid "Copy To"
+msgstr ""
+
 #: tsp-svn-helper/tsh-delete.c:106
 #, fuzzy
 msgid "Delete Message"
@@ -478,6 +541,10 @@
 msgid "Login"
 msgstr "Se connecter"
 
+#: tsp-svn-helper/tsh-move.c:106
+msgid "Move To"
+msgstr ""
+
 #: tsp-svn-helper/tsh-notify-dialog.c:88
 msgid "Action"
 msgstr "Action"

Modified: thunar-svn-plugin/trunk/po/hu.po
===================================================================
--- thunar-svn-plugin/trunk/po/hu.po	2007-12-31 00:55:55 UTC (rev 3762)
+++ thunar-svn-plugin/trunk/po/hu.po	2007-12-31 15:41:20 UTC (rev 3763)
@@ -2,7 +2,7 @@
 msgstr ""
 "Project-Id-Version: Thunar SVN plugin\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-12-31 02:00+0100\n"
+"POT-Creation-Date: 2007-12-31 16:43+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"
@@ -32,82 +32,101 @@
 msgid "SVN _Export"
 msgstr "SVN _Import"
 
-#: thunar-svn-plugin/tsp-svn-action.c:237 tsp-svn-helper/main.c:151
+#: thunar-svn-plugin/tsp-svn-action.c:247 tsp-svn-helper/main.c:191
 #: tsp-svn-helper/tsh-add.c:94
 msgid "Add"
 msgstr "Hozzáad"
 
-#: thunar-svn-plugin/tsp-svn-action.c:245
+#: thunar-svn-plugin/tsp-svn-action.c:255
 msgid "Blame"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:263 tsp-svn-helper/main.c:159
+#: thunar-svn-plugin/tsp-svn-action.c:273 tsp-svn-helper/main.c:199
 msgid "Cleanup"
 msgstr "Tisztít"
 
-#: thunar-svn-plugin/tsp-svn-action.c:271 tsp-svn-helper/main.c:163
+#: thunar-svn-plugin/tsp-svn-action.c:281 tsp-svn-helper/main.c:203
 #: tsp-svn-helper/tsh-commit.c:101
 msgid "Commit"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:284 tsp-svn-helper/main.c:167
+#: thunar-svn-plugin/tsp-svn-action.c:289 tsp-svn-helper/main.c:207
+#: tsp-svn-helper/tsh-copy.c:127
+#, fuzzy
+msgid "Copy"
+msgstr "Kész"
+
+#: thunar-svn-plugin/tsp-svn-action.c:297 tsp-svn-helper/main.c:211
 #: tsp-svn-helper/tsh-delete.c:101
 msgid "Delete"
 msgstr "Töröl"
 
-#: thunar-svn-plugin/tsp-svn-action.c:292
+#: thunar-svn-plugin/tsp-svn-action.c:305
 msgid "Diff"
 msgstr "Különbség"
 
-#: thunar-svn-plugin/tsp-svn-action.c:300 tsp-svn-helper/main.c:171
+#: thunar-svn-plugin/tsp-svn-action.c:313 tsp-svn-helper/main.c:215
 #: tsp-svn-helper/tsh-export.c:95 tsp-svn-helper/tsh-export.c:113
 msgid "Export"
 msgstr "Export"
 
-#: thunar-svn-plugin/tsp-svn-action.c:313
+#: thunar-svn-plugin/tsp-svn-action.c:326
 msgid "Info"
 msgstr "Adatok"
 
-#: thunar-svn-plugin/tsp-svn-action.c:326
+#: thunar-svn-plugin/tsp-svn-action.c:339 tsp-svn-helper/main.c:223
+#: tsp-svn-helper/tsh-lock.c:118 tsp-svn-helper/tsh-lock-dialog.c:71
 msgid "Lock"
 msgstr "Zár"
 
-#: thunar-svn-plugin/tsp-svn-action.c:334
+#: thunar-svn-plugin/tsp-svn-action.c:347
 msgid "Log"
 msgstr "Napló"
 
-#: thunar-svn-plugin/tsp-svn-action.c:363
+#: thunar-svn-plugin/tsp-svn-action.c:365 tsp-svn-helper/main.c:227
+#: tsp-svn-helper/tsh-move.c:126
+msgid "Move"
+msgstr ""
+
+#: thunar-svn-plugin/tsp-svn-action.c:379
 msgid "Edit Properties"
 msgstr "Tulajdonságok szerkesztése"
 
-#: thunar-svn-plugin/tsp-svn-action.c:373
+#: thunar-svn-plugin/tsp-svn-action.c:388 tsp-svn-helper/main.c:231
+#: tsp-svn-helper/tsh-common.c:455 tsp-svn-helper/tsh-resolved.c:94
+#, fuzzy
+msgid "Resolved"
+msgstr "Megold"
+
+#: thunar-svn-plugin/tsp-svn-action.c:396
 msgid "Resolve"
 msgstr "Megold"
 
-#: thunar-svn-plugin/tsp-svn-action.c:381 tsp-svn-helper/main.c:179
+#: thunar-svn-plugin/tsp-svn-action.c:404 tsp-svn-helper/main.c:235
 #: tsp-svn-helper/tsh-revert.c:99
 msgid "Revert"
 msgstr "Visszaállít"
 
-#: thunar-svn-plugin/tsp-svn-action.c:389 tsp-svn-helper/main.c:183
+#: thunar-svn-plugin/tsp-svn-action.c:412 tsp-svn-helper/main.c:239
 #: tsp-svn-helper/tsh-status-dialog.c:159
 msgid "Status"
 msgstr "Állapot"
 
-#: thunar-svn-plugin/tsp-svn-action.c:397
+#: thunar-svn-plugin/tsp-svn-action.c:420
 msgid "Switch"
 msgstr "Vált"
 
-#: thunar-svn-plugin/tsp-svn-action.c:405
+#: thunar-svn-plugin/tsp-svn-action.c:428 tsp-svn-helper/main.c:243
+#: tsp-svn-helper/tsh-unlock.c:99
 msgid "Unlock"
 msgstr "Felold"
 
-#: thunar-svn-plugin/tsp-svn-action.c:413 tsp-svn-helper/main.c:187
+#: thunar-svn-plugin/tsp-svn-action.c:436 tsp-svn-helper/main.c:247
 #: tsp-svn-helper/tsh-status.c:95 tsp-svn-helper/tsh-update.c:101
 msgid "Update"
 msgstr "Frissít"
 
-#: thunar-svn-plugin/tsp-svn-action.c:426
+#: thunar-svn-plugin/tsp-svn-action.c:449
 #, c-format
 msgid "Action %s is unimplemented"
 msgstr ""
@@ -169,111 +188,156 @@
 msgid "Other..."
 msgstr ""
 
-#: tsp-svn-helper/main.c:80
+#: tsp-svn-helper/main.c:90
 msgid "Print version information"
 msgstr "Verzió kiírása"
 
-#: tsp-svn-helper/main.c:87
+#: tsp-svn-helper/main.c:97
 #, fuzzy
 msgid "Execute add action"
 msgstr "Frissítési művelet futtatása"
 
-#: tsp-svn-helper/main.c:93
+#: tsp-svn-helper/main.c:103
 msgid "Execute checkout action"
 msgstr "Checkout művelet futtatása"
 
-#: tsp-svn-helper/main.c:99
+#: tsp-svn-helper/main.c:109
 #, fuzzy
 msgid "Execute cleanup action"
 msgstr "Checkout művelet futtatása"
 
-#: tsp-svn-helper/main.c:105
+#: tsp-svn-helper/main.c:115
 #, fuzzy
 msgid "Execute commit action"
 msgstr "Checkout művelet futtatása"
 
-#: tsp-svn-helper/main.c:111
+#: tsp-svn-helper/main.c:121
 #, fuzzy
+msgid "Execute copy action"
+msgstr "Checkout művelet futtatása"
+
+#: tsp-svn-helper/main.c:127
+#, fuzzy
 msgid "Execute delete action"
 msgstr "Frissítési művelet futtatása"
 
-#: tsp-svn-helper/main.c:117
+#: tsp-svn-helper/main.c:133
 #, fuzzy
 msgid "Execute export action"
 msgstr "Checkout művelet futtatása"
 
-#: tsp-svn-helper/main.c:123
+#: tsp-svn-helper/main.c:139
 #, fuzzy
 msgid "Execute import action"
 msgstr "Checkout művelet futtatása"
 
-#: tsp-svn-helper/main.c:129
+#: tsp-svn-helper/main.c:145
 #, fuzzy
+msgid "Execute lock action"
+msgstr "Frissítési művelet futtatása"
+
+#: tsp-svn-helper/main.c:151
+#, fuzzy
+msgid "Execute move action"
+msgstr "Checkout művelet futtatása"
+
+#: tsp-svn-helper/main.c:157
+#, fuzzy
+msgid "Execute resolved action"
+msgstr "Checkout művelet futtatása"
+
+#: tsp-svn-helper/main.c:163
+#, fuzzy
 msgid "Execute revert action"
 msgstr "Checkout művelet futtatása"
 
-#: tsp-svn-helper/main.c:135
+#: tsp-svn-helper/main.c:169
 #, fuzzy
 msgid "Execute status action"
 msgstr "Frissítési művelet futtatása"
 
-#: tsp-svn-helper/main.c:141
+#: tsp-svn-helper/main.c:175
+#, fuzzy
+msgid "Execute unlock action"
+msgstr "Checkout művelet futtatása"
+
+#: tsp-svn-helper/main.c:181
 msgid "Execute update action"
 msgstr "Frissítési művelet futtatása"
 
-#: tsp-svn-helper/main.c:151
+#: tsp-svn-helper/main.c:191
 msgid "Add Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:155
+#: tsp-svn-helper/main.c:195
 msgid "Checkout Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:155 tsp-svn-helper/tsh-checkout.c:86
+#: tsp-svn-helper/main.c:195 tsp-svn-helper/tsh-checkout.c:86
 #: tsp-svn-helper/tsh-checkout.c:98
 #, fuzzy
 msgid "Checkout"
 msgstr "SVN _Checkout"
 
-#: tsp-svn-helper/main.c:159
+#: tsp-svn-helper/main.c:199
 msgid "Cleanup Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:163
+#: tsp-svn-helper/main.c:203
 msgid "Commit Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:167
+#: tsp-svn-helper/main.c:207
+msgid "Copy Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:211
 msgid "Delete Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:171
+#: tsp-svn-helper/main.c:215
 msgid "Export Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:175
+#: tsp-svn-helper/main.c:219
 msgid "Import Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:175 tsp-svn-helper/tsh-import.c:86
+#: tsp-svn-helper/main.c:219 tsp-svn-helper/tsh-import.c:86
 #: tsp-svn-helper/tsh-import.c:104
 #, fuzzy
 msgid "Import"
 msgstr "SVN _Import"
 
-#: tsp-svn-helper/main.c:179
+#: tsp-svn-helper/main.c:223
+msgid "Lock Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:227
+msgid "Move Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:231
+msgid "Resolved Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:235
 msgid "Revert Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:183
+#: tsp-svn-helper/main.c:239
 msgid "Status Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:187
+#: tsp-svn-helper/main.c:243
+msgid "Unlock Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:247
 msgid "Update Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:233
+#: tsp-svn-helper/main.c:293
 msgid "Not enough arguments provided"
 msgstr ""
 
@@ -322,11 +386,6 @@
 msgid "Revert failed"
 msgstr "Visszaállít"
 
-#: tsp-svn-helper/tsh-common.c:455
-#, fuzzy
-msgid "Resolved"
-msgstr "Megold"
-
 #: tsp-svn-helper/tsh-common.c:456
 msgid "Skipped"
 msgstr ""
@@ -419,6 +478,10 @@
 msgid "At revision: %li"
 msgstr "E verziónál: %li"
 
+#: tsp-svn-helper/tsh-copy.c:109
+msgid "Copy To"
+msgstr ""
+
 #: tsp-svn-helper/tsh-delete.c:106
 #, fuzzy
 msgid "Delete Message"
@@ -473,6 +536,10 @@
 msgid "Login"
 msgstr "Bejelentkezés"
 
+#: tsp-svn-helper/tsh-move.c:106
+msgid "Move To"
+msgstr ""
+
 #: tsp-svn-helper/tsh-notify-dialog.c:88
 msgid "Action"
 msgstr "Művelet"

Modified: thunar-svn-plugin/trunk/po/lv.po
===================================================================
--- thunar-svn-plugin/trunk/po/lv.po	2007-12-31 00:55:55 UTC (rev 3762)
+++ thunar-svn-plugin/trunk/po/lv.po	2007-12-31 15:41:20 UTC (rev 3763)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: thunar-svn-plugin\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-12-31 02:00+0100\n"
+"POT-Creation-Date: 2007-12-31 16:43+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"
@@ -34,82 +34,101 @@
 msgid "SVN _Export"
 msgstr "SVN _Imports"
 
-#: thunar-svn-plugin/tsp-svn-action.c:237 tsp-svn-helper/main.c:151
+#: thunar-svn-plugin/tsp-svn-action.c:247 tsp-svn-helper/main.c:191
 #: tsp-svn-helper/tsh-add.c:94
 msgid "Add"
 msgstr "Pievienot"
 
-#: thunar-svn-plugin/tsp-svn-action.c:245
+#: thunar-svn-plugin/tsp-svn-action.c:255
 msgid "Blame"
 msgstr "Vainot"
 
-#: thunar-svn-plugin/tsp-svn-action.c:263 tsp-svn-helper/main.c:159
+#: thunar-svn-plugin/tsp-svn-action.c:273 tsp-svn-helper/main.c:199
 msgid "Cleanup"
 msgstr "Uzkopt"
 
-#: thunar-svn-plugin/tsp-svn-action.c:271 tsp-svn-helper/main.c:163
+#: thunar-svn-plugin/tsp-svn-action.c:281 tsp-svn-helper/main.c:203
 #: tsp-svn-helper/tsh-commit.c:101
 msgid "Commit"
 msgstr "Apstiprināt"
 
-#: thunar-svn-plugin/tsp-svn-action.c:284 tsp-svn-helper/main.c:167
+#: thunar-svn-plugin/tsp-svn-action.c:289 tsp-svn-helper/main.c:207
+#: tsp-svn-helper/tsh-copy.c:127
+#, fuzzy
+msgid "Copy"
+msgstr "Pabeigts"
+
+#: thunar-svn-plugin/tsp-svn-action.c:297 tsp-svn-helper/main.c:211
 #: tsp-svn-helper/tsh-delete.c:101
 msgid "Delete"
 msgstr "Dzēst"
 
-#: thunar-svn-plugin/tsp-svn-action.c:292
+#: thunar-svn-plugin/tsp-svn-action.c:305
 msgid "Diff"
 msgstr "Atšķirība"
 
-#: thunar-svn-plugin/tsp-svn-action.c:300 tsp-svn-helper/main.c:171
+#: thunar-svn-plugin/tsp-svn-action.c:313 tsp-svn-helper/main.c:215
 #: tsp-svn-helper/tsh-export.c:95 tsp-svn-helper/tsh-export.c:113
 msgid "Export"
 msgstr "Eksportēt"
 
-#: thunar-svn-plugin/tsp-svn-action.c:313
+#: thunar-svn-plugin/tsp-svn-action.c:326
 msgid "Info"
 msgstr "Informācija"
 
-#: thunar-svn-plugin/tsp-svn-action.c:326
+#: thunar-svn-plugin/tsp-svn-action.c:339 tsp-svn-helper/main.c:223
+#: tsp-svn-helper/tsh-lock.c:118 tsp-svn-helper/tsh-lock-dialog.c:71
 msgid "Lock"
 msgstr "Slēgt"
 
-#: thunar-svn-plugin/tsp-svn-action.c:334
+#: thunar-svn-plugin/tsp-svn-action.c:347
 msgid "Log"
 msgstr "Reģistrēt"
 
-#: thunar-svn-plugin/tsp-svn-action.c:363
+#: thunar-svn-plugin/tsp-svn-action.c:365 tsp-svn-helper/main.c:227
+#: tsp-svn-helper/tsh-move.c:126
+msgid "Move"
+msgstr ""
+
+#: thunar-svn-plugin/tsp-svn-action.c:379
 msgid "Edit Properties"
 msgstr "Rediģēt Rekvizītus"
 
-#: thunar-svn-plugin/tsp-svn-action.c:373
+#: thunar-svn-plugin/tsp-svn-action.c:388 tsp-svn-helper/main.c:231
+#: tsp-svn-helper/tsh-common.c:455 tsp-svn-helper/tsh-resolved.c:94
+#, fuzzy
+msgid "Resolved"
+msgstr "Atpazīt"
+
+#: thunar-svn-plugin/tsp-svn-action.c:396
 msgid "Resolve"
 msgstr "Atpazīt"
 
-#: thunar-svn-plugin/tsp-svn-action.c:381 tsp-svn-helper/main.c:179
+#: thunar-svn-plugin/tsp-svn-action.c:404 tsp-svn-helper/main.c:235
 #: tsp-svn-helper/tsh-revert.c:99
 msgid "Revert"
 msgstr "Atgriezt"
 
-#: thunar-svn-plugin/tsp-svn-action.c:389 tsp-svn-helper/main.c:183
+#: thunar-svn-plugin/tsp-svn-action.c:412 tsp-svn-helper/main.c:239
 #: tsp-svn-helper/tsh-status-dialog.c:159
 msgid "Status"
 msgstr "Status"
 
-#: thunar-svn-plugin/tsp-svn-action.c:397
+#: thunar-svn-plugin/tsp-svn-action.c:420
 msgid "Switch"
 msgstr "Pārslēgt"
 
-#: thunar-svn-plugin/tsp-svn-action.c:405
+#: thunar-svn-plugin/tsp-svn-action.c:428 tsp-svn-helper/main.c:243
+#: tsp-svn-helper/tsh-unlock.c:99
 msgid "Unlock"
 msgstr "Atslēgt"
 
-#: thunar-svn-plugin/tsp-svn-action.c:413 tsp-svn-helper/main.c:187
+#: thunar-svn-plugin/tsp-svn-action.c:436 tsp-svn-helper/main.c:247
 #: tsp-svn-helper/tsh-status.c:95 tsp-svn-helper/tsh-update.c:101
 msgid "Update"
 msgstr "Atjaunot"
 
-#: thunar-svn-plugin/tsp-svn-action.c:426
+#: thunar-svn-plugin/tsp-svn-action.c:449
 #, c-format
 msgid "Action %s is unimplemented"
 msgstr ""
@@ -171,110 +190,155 @@
 msgid "Other..."
 msgstr ""
 
-#: tsp-svn-helper/main.c:80
+#: tsp-svn-helper/main.c:90
 msgid "Print version information"
 msgstr "Izdrukāt versijas informāciju"
 
-#: tsp-svn-helper/main.c:87
+#: tsp-svn-helper/main.c:97
 #, fuzzy
 msgid "Execute add action"
 msgstr "Izpildīt atjaunošanas darbību"
 
-#: tsp-svn-helper/main.c:93
+#: tsp-svn-helper/main.c:103
 msgid "Execute checkout action"
 msgstr "Izpildīt izrakstīšanas darbību"
 
-#: tsp-svn-helper/main.c:99
+#: tsp-svn-helper/main.c:109
 #, fuzzy
 msgid "Execute cleanup action"
 msgstr "Izpildīt izrakstīšanas darbību"
 
-#: tsp-svn-helper/main.c:105
+#: tsp-svn-helper/main.c:115
 #, fuzzy
 msgid "Execute commit action"
 msgstr "Izpildīt izrakstīšanas darbību"
 
-#: tsp-svn-helper/main.c:111
+#: tsp-svn-helper/main.c:121
 #, fuzzy
+msgid "Execute copy action"
+msgstr "Izpildīt izrakstīšanas darbību"
+
+#: tsp-svn-helper/main.c:127
+#, fuzzy
 msgid "Execute delete action"
 msgstr "Izpildīt atjaunošanas darbību"
 
-#: tsp-svn-helper/main.c:117
+#: tsp-svn-helper/main.c:133
 #, fuzzy
 msgid "Execute export action"
 msgstr "Izpildīt izrakstīšanas darbību"
 
-#: tsp-svn-helper/main.c:123
+#: tsp-svn-helper/main.c:139
 #, fuzzy
 msgid "Execute import action"
 msgstr "Izpildīt izrakstīšanas darbību"
 
-#: tsp-svn-helper/main.c:129
+#: tsp-svn-helper/main.c:145
 #, fuzzy
+msgid "Execute lock action"
+msgstr "Izpildīt atjaunošanas darbību"
+
+#: tsp-svn-helper/main.c:151
+#, fuzzy
+msgid "Execute move action"
+msgstr "Izpildīt izrakstīšanas darbību"
+
+#: tsp-svn-helper/main.c:157
+#, fuzzy
+msgid "Execute resolved action"
+msgstr "Izpildīt izrakstīšanas darbību"
+
+#: tsp-svn-helper/main.c:163
+#, fuzzy
 msgid "Execute revert action"
 msgstr "Izpildīt izrakstīšanas darbību"
 
-#: tsp-svn-helper/main.c:135
+#: tsp-svn-helper/main.c:169
 #, fuzzy
 msgid "Execute status action"
 msgstr "Izpildīt atjaunošanas darbību"
 
-#: tsp-svn-helper/main.c:141
+#: tsp-svn-helper/main.c:175
+#, fuzzy
+msgid "Execute unlock action"
+msgstr "Izpildīt izrakstīšanas darbību"
+
+#: tsp-svn-helper/main.c:181
 msgid "Execute update action"
 msgstr "Izpildīt atjaunošanas darbību"
 
-#: tsp-svn-helper/main.c:151
+#: tsp-svn-helper/main.c:191
 msgid "Add Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:155
+#: tsp-svn-helper/main.c:195
 msgid "Checkout Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:155 tsp-svn-helper/tsh-checkout.c:86
+#: tsp-svn-helper/main.c:195 tsp-svn-helper/tsh-checkout.c:86
 #: tsp-svn-helper/tsh-checkout.c:98
 msgid "Checkout"
 msgstr "Izrakstīt"
 
-#: tsp-svn-helper/main.c:159
+#: tsp-svn-helper/main.c:199
 msgid "Cleanup Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:163
+#: tsp-svn-helper/main.c:203
 msgid "Commit Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:167
+#: tsp-svn-helper/main.c:207
+msgid "Copy Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:211
 msgid "Delete Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:171
+#: tsp-svn-helper/main.c:215
 msgid "Export Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:175
+#: tsp-svn-helper/main.c:219
 msgid "Import Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:175 tsp-svn-helper/tsh-import.c:86
+#: tsp-svn-helper/main.c:219 tsp-svn-helper/tsh-import.c:86
 #: tsp-svn-helper/tsh-import.c:104
 #, fuzzy
 msgid "Import"
 msgstr "SVN _Imports"
 
-#: tsp-svn-helper/main.c:179
+#: tsp-svn-helper/main.c:223
+msgid "Lock Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:227
+msgid "Move Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:231
+msgid "Resolved Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:235
 msgid "Revert Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:183
+#: tsp-svn-helper/main.c:239
 msgid "Status Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:187
+#: tsp-svn-helper/main.c:243
+msgid "Unlock Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:247
 msgid "Update Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:233
+#: tsp-svn-helper/main.c:293
 msgid "Not enough arguments provided"
 msgstr ""
 
@@ -324,11 +388,6 @@
 msgid "Revert failed"
 msgstr "Atgriezt"
 
-#: tsp-svn-helper/tsh-common.c:455
-#, fuzzy
-msgid "Resolved"
-msgstr "Atpazīt"
-
 #: tsp-svn-helper/tsh-common.c:456
 msgid "Skipped"
 msgstr ""
@@ -421,6 +480,10 @@
 msgid "At revision: %li"
 msgstr "Revizija: %li"
 
+#: tsp-svn-helper/tsh-copy.c:109
+msgid "Copy To"
+msgstr ""
+
 #: tsp-svn-helper/tsh-delete.c:106
 #, fuzzy
 msgid "Delete Message"
@@ -476,6 +539,10 @@
 msgid "Login"
 msgstr "Pieteikties"
 
+#: tsp-svn-helper/tsh-move.c:106
+msgid "Move To"
+msgstr ""
+
 #: tsp-svn-helper/tsh-notify-dialog.c:88
 msgid "Action"
 msgstr "Darbība"

Modified: thunar-svn-plugin/trunk/po/nl.po
===================================================================
--- thunar-svn-plugin/trunk/po/nl.po	2007-12-31 00:55:55 UTC (rev 3762)
+++ thunar-svn-plugin/trunk/po/nl.po	2007-12-31 15:41:20 UTC (rev 3763)
@@ -7,8 +7,8 @@
 msgstr ""
 "Project-Id-Version: thunar-svn-plugin\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-12-31 02:00+0100\n"
-"PO-Revision-Date: 2007-12-31 01:59+0100\n"
+"POT-Creation-Date: 2007-12-31 16:43+0100\n"
+"PO-Revision-Date: 2007-12-31 16:44+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"
@@ -33,82 +33,99 @@
 msgid "SVN _Export"
 msgstr "SVN _Exporteren"
 
-#: thunar-svn-plugin/tsp-svn-action.c:237 tsp-svn-helper/main.c:151
+#: thunar-svn-plugin/tsp-svn-action.c:247 tsp-svn-helper/main.c:191
 #: tsp-svn-helper/tsh-add.c:94
 msgid "Add"
 msgstr "Toevoegen"
 
-#: thunar-svn-plugin/tsp-svn-action.c:245
+#: thunar-svn-plugin/tsp-svn-action.c:255
 msgid "Blame"
 msgstr "Beschuldigen"
 
-#: thunar-svn-plugin/tsp-svn-action.c:263 tsp-svn-helper/main.c:159
+#: thunar-svn-plugin/tsp-svn-action.c:273 tsp-svn-helper/main.c:199
 msgid "Cleanup"
 msgstr "Opschonen"
 
-#: thunar-svn-plugin/tsp-svn-action.c:271 tsp-svn-helper/main.c:163
+#: thunar-svn-plugin/tsp-svn-action.c:281 tsp-svn-helper/main.c:203
 #: tsp-svn-helper/tsh-commit.c:101
 msgid "Commit"
 msgstr "Versturen"
 
-#: thunar-svn-plugin/tsp-svn-action.c:284 tsp-svn-helper/main.c:167
+#: thunar-svn-plugin/tsp-svn-action.c:289 tsp-svn-helper/main.c:207
+#: tsp-svn-helper/tsh-copy.c:127
+msgid "Copy"
+msgstr "Kopieeren"
+
+#: thunar-svn-plugin/tsp-svn-action.c:297 tsp-svn-helper/main.c:211
 #: tsp-svn-helper/tsh-delete.c:101
 msgid "Delete"
 msgstr "Verwijderen"
 
-#: thunar-svn-plugin/tsp-svn-action.c:292
+#: thunar-svn-plugin/tsp-svn-action.c:305
 msgid "Diff"
 msgstr "Verschillen"
 
-#: thunar-svn-plugin/tsp-svn-action.c:300 tsp-svn-helper/main.c:171
+#: thunar-svn-plugin/tsp-svn-action.c:313 tsp-svn-helper/main.c:215
 #: tsp-svn-helper/tsh-export.c:95 tsp-svn-helper/tsh-export.c:113
 msgid "Export"
 msgstr "Exporteren"
 
-#: thunar-svn-plugin/tsp-svn-action.c:313
+#: thunar-svn-plugin/tsp-svn-action.c:326
 msgid "Info"
 msgstr "Informatie"
 
-#: thunar-svn-plugin/tsp-svn-action.c:326
+#: thunar-svn-plugin/tsp-svn-action.c:339 tsp-svn-helper/main.c:223
+#: tsp-svn-helper/tsh-lock.c:118 tsp-svn-helper/tsh-lock-dialog.c:71
 msgid "Lock"
 msgstr "Vast Zetten"
 
-#: thunar-svn-plugin/tsp-svn-action.c:334
+#: thunar-svn-plugin/tsp-svn-action.c:347
 msgid "Log"
 msgstr "Geschiedenis"
 
-#: thunar-svn-plugin/tsp-svn-action.c:363
+#: thunar-svn-plugin/tsp-svn-action.c:365 tsp-svn-helper/main.c:227
+#: tsp-svn-helper/tsh-move.c:126
+msgid "Move"
+msgstr "Verplaatsen"
+
+#: thunar-svn-plugin/tsp-svn-action.c:379
 msgid "Edit Properties"
 msgstr "Attributen Wijzigen"
 
-#: thunar-svn-plugin/tsp-svn-action.c:373
+#: thunar-svn-plugin/tsp-svn-action.c:388 tsp-svn-helper/main.c:231
+#: tsp-svn-helper/tsh-common.c:455 tsp-svn-helper/tsh-resolved.c:94
+msgid "Resolved"
+msgstr "Opgelost"
+
+#: thunar-svn-plugin/tsp-svn-action.c:396
 msgid "Resolve"
 msgstr "Verhelpen"
 
-#: thunar-svn-plugin/tsp-svn-action.c:381 tsp-svn-helper/main.c:179
+#: thunar-svn-plugin/tsp-svn-action.c:404 tsp-svn-helper/main.c:235
 #: tsp-svn-helper/tsh-revert.c:99
 msgid "Revert"
 msgstr "Terug Halen"
 
-#: thunar-svn-plugin/tsp-svn-action.c:389 tsp-svn-helper/main.c:183
+#: thunar-svn-plugin/tsp-svn-action.c:412 tsp-svn-helper/main.c:239
 #: tsp-svn-helper/tsh-status-dialog.c:159
 msgid "Status"
 msgstr "Status"
 
-#: thunar-svn-plugin/tsp-svn-action.c:397
+#: thunar-svn-plugin/tsp-svn-action.c:420
 msgid "Switch"
 msgstr "Omschakelen"
 
-#: thunar-svn-plugin/tsp-svn-action.c:405
+#: thunar-svn-plugin/tsp-svn-action.c:428 tsp-svn-helper/main.c:243
+#: tsp-svn-helper/tsh-unlock.c:99
 msgid "Unlock"
 msgstr "Vrijgeven"
 
-#: thunar-svn-plugin/tsp-svn-action.c:413 tsp-svn-helper/main.c:187
+#: thunar-svn-plugin/tsp-svn-action.c:436 tsp-svn-helper/main.c:247
 #: tsp-svn-helper/tsh-status.c:95 tsp-svn-helper/tsh-update.c:101
 msgid "Update"
 msgstr "Bijwerken"
 
-#: thunar-svn-plugin/tsp-svn-action.c:426
+#: thunar-svn-plugin/tsp-svn-action.c:449
 #, c-format
 msgid "Action %s is unimplemented"
 msgstr "Actie %s is niet geimplementeerd"
@@ -170,101 +187,141 @@
 msgid "Other..."
 msgstr "Andere..."
 
-#: tsp-svn-helper/main.c:80
+#: tsp-svn-helper/main.c:90
 msgid "Print version information"
 msgstr "Versie informatie tonen"
 
-#: tsp-svn-helper/main.c:87
+#: tsp-svn-helper/main.c:97
 msgid "Execute add action"
 msgstr "Toevoeg actie uitvoeren"
 
-#: tsp-svn-helper/main.c:93
+#: tsp-svn-helper/main.c:103
 msgid "Execute checkout action"
 msgstr "Ophaal actie uitvoeren"
 
-#: tsp-svn-helper/main.c:99
+#: tsp-svn-helper/main.c:109
 msgid "Execute cleanup action"
 msgstr "Opschoon actie uitvoeren"
 
-#: tsp-svn-helper/main.c:105
+#: tsp-svn-helper/main.c:115
 msgid "Execute commit action"
 msgstr "Verstuur actie uitvoeren"
 
-#: tsp-svn-helper/main.c:111
+#: tsp-svn-helper/main.c:121
+msgid "Execute copy action"
+msgstr "Kopieer actie uitvoeren"
+
+#: tsp-svn-helper/main.c:127
 msgid "Execute delete action"
 msgstr "Verwijder actie uitvoeren"
 
-#: tsp-svn-helper/main.c:117
+#: tsp-svn-helper/main.c:133
 msgid "Execute export action"
 msgstr "Exporteer actie uitvoeren"
 
-#: tsp-svn-helper/main.c:123
+#: tsp-svn-helper/main.c:139
 msgid "Execute import action"
 msgstr "Importeer actie uitvoeren"
 
-#: tsp-svn-helper/main.c:129
+#: tsp-svn-helper/main.c:145
+msgid "Execute lock action"
+msgstr "Vast zet actie uitvoeren"
+
+#: tsp-svn-helper/main.c:151
+msgid "Execute move action"
+msgstr "Verplaats actie uitvoeren"
+
+#: tsp-svn-helper/main.c:157
+msgid "Execute resolved action"
+msgstr "Verholpen actie uitvoeren"
+
+#: tsp-svn-helper/main.c:163
 msgid "Execute revert action"
 msgstr "Terug haal actie uitvoeren"
 
-#: tsp-svn-helper/main.c:135
+#: tsp-svn-helper/main.c:169
 msgid "Execute status action"
 msgstr "Status actie uitvoeren"
 
-#: tsp-svn-helper/main.c:141
+#: tsp-svn-helper/main.c:175
+msgid "Execute unlock action"
+msgstr "Vrijgeef actie uitvoeren"
+
+#: tsp-svn-helper/main.c:181
 msgid "Execute update action"
 msgstr "Bijwerk actie uitvoeren"
 
-#: tsp-svn-helper/main.c:151
+#: tsp-svn-helper/main.c:191
 msgid "Add Related Opions:"
 msgstr "Toevoegen gerelateerde opties:"
 
-#: tsp-svn-helper/main.c:155
+#: tsp-svn-helper/main.c:195
 msgid "Checkout Related Opions:"
 msgstr "Ophalen gerelateerde opties:"
 
-#: tsp-svn-helper/main.c:155 tsp-svn-helper/tsh-checkout.c:86
+#: tsp-svn-helper/main.c:195 tsp-svn-helper/tsh-checkout.c:86
 #: tsp-svn-helper/tsh-checkout.c:98
 msgid "Checkout"
 msgstr "Ophalen"
 
-#: tsp-svn-helper/main.c:159
+#: tsp-svn-helper/main.c:199
 msgid "Cleanup Related Opions:"
 msgstr "Opschonen gerelateerde opties:"
 
-#: tsp-svn-helper/main.c:163
+#: tsp-svn-helper/main.c:203
 msgid "Commit Related Opions:"
 msgstr "Versturen gerelateerde opties:"
 
-#: tsp-svn-helper/main.c:167
+#: tsp-svn-helper/main.c:207
+msgid "Copy Related Opions:"
+msgstr "Kopieer gerelateerde opties:"
+
+#: tsp-svn-helper/main.c:211
 msgid "Delete Related Opions:"
 msgstr "Verwijder gerelateerde opties:"
 
-#: tsp-svn-helper/main.c:171
+#: tsp-svn-helper/main.c:215
 msgid "Export Related Opions:"
 msgstr "Exporteer gerelateerde opties:"
 
-#: tsp-svn-helper/main.c:175
+#: tsp-svn-helper/main.c:219
 msgid "Import Related Opions:"
 msgstr "Importeer gerelateerde opties:"
 
-#: tsp-svn-helper/main.c:175 tsp-svn-helper/tsh-import.c:86
+#: tsp-svn-helper/main.c:219 tsp-svn-helper/tsh-import.c:86
 #: tsp-svn-helper/tsh-import.c:104
 msgid "Import"
 msgstr "Importeren"
 
-#: tsp-svn-helper/main.c:179
+#: tsp-svn-helper/main.c:223
+msgid "Lock Related Opions:"
+msgstr "Vast zetten gerelateerde opties:"
+
+#: tsp-svn-helper/main.c:227
+msgid "Move Related Opions:"
+msgstr "Verplaats gerelateerde opties:"
+
+#: tsp-svn-helper/main.c:231
+msgid "Resolved Related Opions:"
+msgstr "Verholpen gerelateerde opties:"
+
+#: tsp-svn-helper/main.c:235
 msgid "Revert Related Opions:"
 msgstr "Terug haal gerelateerde opties:"
 
-#: tsp-svn-helper/main.c:183
+#: tsp-svn-helper/main.c:239
 msgid "Status Related Opions:"
 msgstr "Status gerelateerde opties:"
 
-#: tsp-svn-helper/main.c:187
+#: tsp-svn-helper/main.c:243
+msgid "Unlock Related Opions:"
+msgstr "Vrijgeven gerelateerde opties:"
+
+#: tsp-svn-helper/main.c:247
 msgid "Update Related Opions:"
 msgstr "Bijwerken gerelateerde opties:"
 
-#: tsp-svn-helper/main.c:233
+#: tsp-svn-helper/main.c:293
 msgid "Not enough arguments provided"
 msgstr "Onvoldoende argumenten meegegeven"
 
@@ -308,10 +365,6 @@
 msgid "Revert failed"
 msgstr "Terug halen gefaald"
 
-#: tsp-svn-helper/tsh-common.c:455
-msgid "Resolved"
-msgstr "Opgelost"
-
 #: tsp-svn-helper/tsh-common.c:456
 msgid "Skipped"
 msgstr "Overgeslagen"
@@ -399,6 +452,10 @@
 msgid "At revision: %li"
 msgstr "Op versie: %li"
 
+#: tsp-svn-helper/tsh-copy.c:109
+msgid "Copy To"
+msgstr "Kopieeren naar"
+
 #: tsp-svn-helper/tsh-delete.c:106
 msgid "Delete Message"
 msgstr ""
@@ -450,6 +507,10 @@
 msgid "Login"
 msgstr "Aanmelden"
 
+#: tsp-svn-helper/tsh-move.c:106
+msgid "Move To"
+msgstr "Verplaatsen naar"
+
 #: tsp-svn-helper/tsh-notify-dialog.c:88
 msgid "Action"
 msgstr "Actie"

Modified: thunar-svn-plugin/trunk/po/pt_BR.po
===================================================================
--- thunar-svn-plugin/trunk/po/pt_BR.po	2007-12-31 00:55:55 UTC (rev 3762)
+++ thunar-svn-plugin/trunk/po/pt_BR.po	2007-12-31 15:41:20 UTC (rev 3763)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: thunar-svn-plugin\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-12-31 02:00+0100\n"
+"POT-Creation-Date: 2007-12-31 16:43+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"
@@ -35,82 +35,101 @@
 msgid "SVN _Export"
 msgstr "_Importar SVN"
 
-#: thunar-svn-plugin/tsp-svn-action.c:237 tsp-svn-helper/main.c:151
+#: thunar-svn-plugin/tsp-svn-action.c:247 tsp-svn-helper/main.c:191
 #: tsp-svn-helper/tsh-add.c:94
 msgid "Add"
 msgstr "Adicionar"
 
-#: thunar-svn-plugin/tsp-svn-action.c:245
+#: thunar-svn-plugin/tsp-svn-action.c:255
 msgid "Blame"
 msgstr "Falha"
 
-#: thunar-svn-plugin/tsp-svn-action.c:263 tsp-svn-helper/main.c:159
+#: thunar-svn-plugin/tsp-svn-action.c:273 tsp-svn-helper/main.c:199
 msgid "Cleanup"
 msgstr "Limpar"
 
-#: thunar-svn-plugin/tsp-svn-action.c:271 tsp-svn-helper/main.c:163
+#: thunar-svn-plugin/tsp-svn-action.c:281 tsp-svn-helper/main.c:203
 #: tsp-svn-helper/tsh-commit.c:101
 msgid "Commit"
 msgstr "Enviar"
 
-#: thunar-svn-plugin/tsp-svn-action.c:284 tsp-svn-helper/main.c:167
+#: thunar-svn-plugin/tsp-svn-action.c:289 tsp-svn-helper/main.c:207
+#: tsp-svn-helper/tsh-copy.c:127
+#, fuzzy
+msgid "Copy"
+msgstr "Completado"
+
+#: thunar-svn-plugin/tsp-svn-action.c:297 tsp-svn-helper/main.c:211
 #: tsp-svn-helper/tsh-delete.c:101
 msgid "Delete"
 msgstr "Apagar"
 
-#: thunar-svn-plugin/tsp-svn-action.c:292
+#: thunar-svn-plugin/tsp-svn-action.c:305
 msgid "Diff"
 msgstr "Diferença"
 
-#: thunar-svn-plugin/tsp-svn-action.c:300 tsp-svn-helper/main.c:171
+#: thunar-svn-plugin/tsp-svn-action.c:313 tsp-svn-helper/main.c:215
 #: tsp-svn-helper/tsh-export.c:95 tsp-svn-helper/tsh-export.c:113
 msgid "Export"
 msgstr "Exportar"
 
-#: thunar-svn-plugin/tsp-svn-action.c:313
+#: thunar-svn-plugin/tsp-svn-action.c:326
 msgid "Info"
 msgstr "Informações"
 
-#: thunar-svn-plugin/tsp-svn-action.c:326
+#: thunar-svn-plugin/tsp-svn-action.c:339 tsp-svn-helper/main.c:223
+#: tsp-svn-helper/tsh-lock.c:118 tsp-svn-helper/tsh-lock-dialog.c:71
 msgid "Lock"
 msgstr "Travar"
 
-#: thunar-svn-plugin/tsp-svn-action.c:334
+#: thunar-svn-plugin/tsp-svn-action.c:347
 msgid "Log"
 msgstr "Log"
 
-#: thunar-svn-plugin/tsp-svn-action.c:363
+#: thunar-svn-plugin/tsp-svn-action.c:365 tsp-svn-helper/main.c:227
+#: tsp-svn-helper/tsh-move.c:126
+msgid "Move"
+msgstr ""
+
+#: thunar-svn-plugin/tsp-svn-action.c:379
 msgid "Edit Properties"
 msgstr "Editar Propriedades"
 
-#: thunar-svn-plugin/tsp-svn-action.c:373
+#: thunar-svn-plugin/tsp-svn-action.c:388 tsp-svn-helper/main.c:231
+#: tsp-svn-helper/tsh-common.c:455 tsp-svn-helper/tsh-resolved.c:94
+#, fuzzy
+msgid "Resolved"
+msgstr "Resolver"
+
+#: thunar-svn-plugin/tsp-svn-action.c:396
 msgid "Resolve"
 msgstr "Resolver"
 
-#: thunar-svn-plugin/tsp-svn-action.c:381 tsp-svn-helper/main.c:179
+#: thunar-svn-plugin/tsp-svn-action.c:404 tsp-svn-helper/main.c:235
 #: tsp-svn-helper/tsh-revert.c:99
 msgid "Revert"
 msgstr "Reverter"
 
-#: thunar-svn-plugin/tsp-svn-action.c:389 tsp-svn-helper/main.c:183
+#: thunar-svn-plugin/tsp-svn-action.c:412 tsp-svn-helper/main.c:239
 #: tsp-svn-helper/tsh-status-dialog.c:159
 msgid "Status"
 msgstr "Status"
 
-#: thunar-svn-plugin/tsp-svn-action.c:397
+#: thunar-svn-plugin/tsp-svn-action.c:420
 msgid "Switch"
 msgstr "Alternar"
 
-#: thunar-svn-plugin/tsp-svn-action.c:405
+#: thunar-svn-plugin/tsp-svn-action.c:428 tsp-svn-helper/main.c:243
+#: tsp-svn-helper/tsh-unlock.c:99
 msgid "Unlock"
 msgstr "Destravar"
 
-#: thunar-svn-plugin/tsp-svn-action.c:413 tsp-svn-helper/main.c:187
+#: thunar-svn-plugin/tsp-svn-action.c:436 tsp-svn-helper/main.c:247
 #: tsp-svn-helper/tsh-status.c:95 tsp-svn-helper/tsh-update.c:101
 msgid "Update"
 msgstr "Atualizar"
 
-#: thunar-svn-plugin/tsp-svn-action.c:426
+#: thunar-svn-plugin/tsp-svn-action.c:449
 #, c-format
 msgid "Action %s is unimplemented"
 msgstr ""
@@ -172,110 +191,155 @@
 msgid "Other..."
 msgstr ""
 
-#: tsp-svn-helper/main.c:80
+#: tsp-svn-helper/main.c:90
 msgid "Print version information"
 msgstr "Imprimir informação da versão"
 
-#: tsp-svn-helper/main.c:87
+#: tsp-svn-helper/main.c:97
 #, fuzzy
 msgid "Execute add action"
 msgstr "Executar ação de atualização"
 
-#: tsp-svn-helper/main.c:93
+#: tsp-svn-helper/main.c:103
 msgid "Execute checkout action"
 msgstr "Executar ação de checkout"
 
-#: tsp-svn-helper/main.c:99
+#: tsp-svn-helper/main.c:109
 #, fuzzy
 msgid "Execute cleanup action"
 msgstr "Executar ação de checkout"
 
-#: tsp-svn-helper/main.c:105
+#: tsp-svn-helper/main.c:115
 #, fuzzy
 msgid "Execute commit action"
 msgstr "Executar ação de checkout"
 
-#: tsp-svn-helper/main.c:111
+#: tsp-svn-helper/main.c:121
 #, fuzzy
+msgid "Execute copy action"
+msgstr "Executar ação de checkout"
+
+#: tsp-svn-helper/main.c:127
+#, fuzzy
 msgid "Execute delete action"
 msgstr "Executar ação de atualização"
 
-#: tsp-svn-helper/main.c:117
+#: tsp-svn-helper/main.c:133
 #, fuzzy
 msgid "Execute export action"
 msgstr "Executar ação de checkout"
 
-#: tsp-svn-helper/main.c:123
+#: tsp-svn-helper/main.c:139
 #, fuzzy
 msgid "Execute import action"
 msgstr "Executar ação de checkout"
 
-#: tsp-svn-helper/main.c:129
+#: tsp-svn-helper/main.c:145
 #, fuzzy
+msgid "Execute lock action"
+msgstr "Executar ação de atualização"
+
+#: tsp-svn-helper/main.c:151
+#, fuzzy
+msgid "Execute move action"
+msgstr "Executar ação de checkout"
+
+#: tsp-svn-helper/main.c:157
+#, fuzzy
+msgid "Execute resolved action"
+msgstr "Executar ação de checkout"
+
+#: tsp-svn-helper/main.c:163
+#, fuzzy
 msgid "Execute revert action"
 msgstr "Executar ação de checkout"
 
-#: tsp-svn-helper/main.c:135
+#: tsp-svn-helper/main.c:169
 #, fuzzy
 msgid "Execute status action"
 msgstr "Executar ação de atualização"
 
-#: tsp-svn-helper/main.c:141
+#: tsp-svn-helper/main.c:175
+#, fuzzy
+msgid "Execute unlock action"
+msgstr "Executar ação de checkout"
+
+#: tsp-svn-helper/main.c:181
 msgid "Execute update action"
 msgstr "Executar ação de atualização"
 
-#: tsp-svn-helper/main.c:151
+#: tsp-svn-helper/main.c:191
 msgid "Add Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:155
+#: tsp-svn-helper/main.c:195
 msgid "Checkout Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:155 tsp-svn-helper/tsh-checkout.c:86
+#: tsp-svn-helper/main.c:195 tsp-svn-helper/tsh-checkout.c:86
 #: tsp-svn-helper/tsh-checkout.c:98
 msgid "Checkout"
 msgstr "Checkout"
 
-#: tsp-svn-helper/main.c:159
+#: tsp-svn-helper/main.c:199
 msgid "Cleanup Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:163
+#: tsp-svn-helper/main.c:203
 msgid "Commit Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:167
+#: tsp-svn-helper/main.c:207
+msgid "Copy Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:211
 msgid "Delete Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:171
+#: tsp-svn-helper/main.c:215
 msgid "Export Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:175
+#: tsp-svn-helper/main.c:219
 msgid "Import Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:175 tsp-svn-helper/tsh-import.c:86
+#: tsp-svn-helper/main.c:219 tsp-svn-helper/tsh-import.c:86
 #: tsp-svn-helper/tsh-import.c:104
 #, fuzzy
 msgid "Import"
 msgstr "_Importar SVN"
 
-#: tsp-svn-helper/main.c:179
+#: tsp-svn-helper/main.c:223
+msgid "Lock Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:227
+msgid "Move Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:231
+msgid "Resolved Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:235
 msgid "Revert Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:183
+#: tsp-svn-helper/main.c:239
 msgid "Status Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:187
+#: tsp-svn-helper/main.c:243
+msgid "Unlock Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:247
 msgid "Update Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:233
+#: tsp-svn-helper/main.c:293
 msgid "Not enough arguments provided"
 msgstr ""
 
@@ -325,11 +389,6 @@
 msgid "Revert failed"
 msgstr "Reverter"
 
-#: tsp-svn-helper/tsh-common.c:455
-#, fuzzy
-msgid "Resolved"
-msgstr "Resolver"
-
 #: tsp-svn-helper/tsh-common.c:456
 msgid "Skipped"
 msgstr ""
@@ -422,6 +481,10 @@
 msgid "At revision: %li"
 msgstr "Na revisão: %li"
 
+#: tsp-svn-helper/tsh-copy.c:109
+msgid "Copy To"
+msgstr ""
+
 #: tsp-svn-helper/tsh-delete.c:106
 #, fuzzy
 msgid "Delete Message"
@@ -477,6 +540,10 @@
 msgid "Login"
 msgstr "Login"
 
+#: tsp-svn-helper/tsh-move.c:106
+msgid "Move To"
+msgstr ""
+
 #: tsp-svn-helper/tsh-notify-dialog.c:88
 msgid "Action"
 msgstr "Ação"

Modified: thunar-svn-plugin/trunk/po/thunar-svn-plugin.pot
===================================================================
--- thunar-svn-plugin/trunk/po/thunar-svn-plugin.pot	2007-12-31 00:55:55 UTC (rev 3762)
+++ thunar-svn-plugin/trunk/po/thunar-svn-plugin.pot	2007-12-31 15:41:20 UTC (rev 3763)
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-12-31 02:00+0100\n"
+"POT-Creation-Date: 2007-12-31 16:43+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"
@@ -34,82 +34,99 @@
 msgid "SVN _Export"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:237 tsp-svn-helper/main.c:151
+#: thunar-svn-plugin/tsp-svn-action.c:247 tsp-svn-helper/main.c:191
 #: tsp-svn-helper/tsh-add.c:94
 msgid "Add"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:245
+#: thunar-svn-plugin/tsp-svn-action.c:255
 msgid "Blame"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:263 tsp-svn-helper/main.c:159
+#: thunar-svn-plugin/tsp-svn-action.c:273 tsp-svn-helper/main.c:199
 msgid "Cleanup"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:271 tsp-svn-helper/main.c:163
+#: thunar-svn-plugin/tsp-svn-action.c:281 tsp-svn-helper/main.c:203
 #: tsp-svn-helper/tsh-commit.c:101
 msgid "Commit"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:284 tsp-svn-helper/main.c:167
+#: thunar-svn-plugin/tsp-svn-action.c:289 tsp-svn-helper/main.c:207
+#: tsp-svn-helper/tsh-copy.c:127
+msgid "Copy"
+msgstr ""
+
+#: thunar-svn-plugin/tsp-svn-action.c:297 tsp-svn-helper/main.c:211
 #: tsp-svn-helper/tsh-delete.c:101
 msgid "Delete"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:292
+#: thunar-svn-plugin/tsp-svn-action.c:305
 msgid "Diff"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:300 tsp-svn-helper/main.c:171
+#: thunar-svn-plugin/tsp-svn-action.c:313 tsp-svn-helper/main.c:215
 #: tsp-svn-helper/tsh-export.c:95 tsp-svn-helper/tsh-export.c:113
 msgid "Export"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:313
+#: thunar-svn-plugin/tsp-svn-action.c:326
 msgid "Info"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:326
+#: thunar-svn-plugin/tsp-svn-action.c:339 tsp-svn-helper/main.c:223
+#: tsp-svn-helper/tsh-lock.c:118 tsp-svn-helper/tsh-lock-dialog.c:71
 msgid "Lock"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:334
+#: thunar-svn-plugin/tsp-svn-action.c:347
 msgid "Log"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:363
+#: thunar-svn-plugin/tsp-svn-action.c:365 tsp-svn-helper/main.c:227
+#: tsp-svn-helper/tsh-move.c:126
+msgid "Move"
+msgstr ""
+
+#: thunar-svn-plugin/tsp-svn-action.c:379
 msgid "Edit Properties"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:373
+#: thunar-svn-plugin/tsp-svn-action.c:388 tsp-svn-helper/main.c:231
+#: tsp-svn-helper/tsh-common.c:455 tsp-svn-helper/tsh-resolved.c:94
+msgid "Resolved"
+msgstr ""
+
+#: thunar-svn-plugin/tsp-svn-action.c:396
 msgid "Resolve"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:381 tsp-svn-helper/main.c:179
+#: thunar-svn-plugin/tsp-svn-action.c:404 tsp-svn-helper/main.c:235
 #: tsp-svn-helper/tsh-revert.c:99
 msgid "Revert"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:389 tsp-svn-helper/main.c:183
+#: thunar-svn-plugin/tsp-svn-action.c:412 tsp-svn-helper/main.c:239
 #: tsp-svn-helper/tsh-status-dialog.c:159
 msgid "Status"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:397
+#: thunar-svn-plugin/tsp-svn-action.c:420
 msgid "Switch"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:405
+#: thunar-svn-plugin/tsp-svn-action.c:428 tsp-svn-helper/main.c:243
+#: tsp-svn-helper/tsh-unlock.c:99
 msgid "Unlock"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:413 tsp-svn-helper/main.c:187
+#: thunar-svn-plugin/tsp-svn-action.c:436 tsp-svn-helper/main.c:247
 #: tsp-svn-helper/tsh-status.c:95 tsp-svn-helper/tsh-update.c:101
 msgid "Update"
 msgstr ""
 
-#: thunar-svn-plugin/tsp-svn-action.c:426
+#: thunar-svn-plugin/tsp-svn-action.c:449
 #, c-format
 msgid "Action %s is unimplemented"
 msgstr ""
@@ -171,101 +188,141 @@
 msgid "Other..."
 msgstr ""
 
-#: tsp-svn-helper/main.c:80
+#: tsp-svn-helper/main.c:90
 msgid "Print version information"
 msgstr ""
 
-#: tsp-svn-helper/main.c:87
+#: tsp-svn-helper/main.c:97
 msgid "Execute add action"
 msgstr ""
 
-#: tsp-svn-helper/main.c:93
+#: tsp-svn-helper/main.c:103
 msgid "Execute checkout action"
 msgstr ""
 
-#: tsp-svn-helper/main.c:99
+#: tsp-svn-helper/main.c:109
 msgid "Execute cleanup action"
 msgstr ""
 
-#: tsp-svn-helper/main.c:105
+#: tsp-svn-helper/main.c:115
 msgid "Execute commit action"
 msgstr ""
 
-#: tsp-svn-helper/main.c:111
+#: tsp-svn-helper/main.c:121
+msgid "Execute copy action"
+msgstr ""
+
+#: tsp-svn-helper/main.c:127
 msgid "Execute delete action"
 msgstr ""
 
-#: tsp-svn-helper/main.c:117
+#: tsp-svn-helper/main.c:133
 msgid "Execute export action"
 msgstr ""
 
-#: tsp-svn-helper/main.c:123
+#: tsp-svn-helper/main.c:139
 msgid "Execute import action"
 msgstr ""
 
-#: tsp-svn-helper/main.c:129
+#: tsp-svn-helper/main.c:145
+msgid "Execute lock action"
+msgstr ""
+
+#: tsp-svn-helper/main.c:151
+msgid "Execute move action"
+msgstr ""
+
+#: tsp-svn-helper/main.c:157
+msgid "Execute resolved action"
+msgstr ""
+
+#: tsp-svn-helper/main.c:163
 msgid "Execute revert action"
 msgstr ""
 
-#: tsp-svn-helper/main.c:135
+#: tsp-svn-helper/main.c:169
 msgid "Execute status action"
 msgstr ""
 
-#: tsp-svn-helper/main.c:141
+#: tsp-svn-helper/main.c:175
+msgid "Execute unlock action"
+msgstr ""
+
+#: tsp-svn-helper/main.c:181
 msgid "Execute update action"
 msgstr ""
 
-#: tsp-svn-helper/main.c:151
+#: tsp-svn-helper/main.c:191
 msgid "Add Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:155
+#: tsp-svn-helper/main.c:195
 msgid "Checkout Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:155 tsp-svn-helper/tsh-checkout.c:86
+#: tsp-svn-helper/main.c:195 tsp-svn-helper/tsh-checkout.c:86
 #: tsp-svn-helper/tsh-checkout.c:98
 msgid "Checkout"
 msgstr ""
 
-#: tsp-svn-helper/main.c:159
+#: tsp-svn-helper/main.c:199
 msgid "Cleanup Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:163
+#: tsp-svn-helper/main.c:203
 msgid "Commit Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:167
+#: tsp-svn-helper/main.c:207
+msgid "Copy Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:211
 msgid "Delete Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:171
+#: tsp-svn-helper/main.c:215
 msgid "Export Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:175
+#: tsp-svn-helper/main.c:219
 msgid "Import Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:175 tsp-svn-helper/tsh-import.c:86
+#: tsp-svn-helper/main.c:219 tsp-svn-helper/tsh-import.c:86
 #: tsp-svn-helper/tsh-import.c:104
 msgid "Import"
 msgstr ""
 
-#: tsp-svn-helper/main.c:179
+#: tsp-svn-helper/main.c:223
+msgid "Lock Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:227
+msgid "Move Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:231
+msgid "Resolved Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:235
 msgid "Revert Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:183
+#: tsp-svn-helper/main.c:239
 msgid "Status Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:187
+#: tsp-svn-helper/main.c:243
+msgid "Unlock Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:247
 msgid "Update Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:233
+#: tsp-svn-helper/main.c:293
 msgid "Not enough arguments provided"
 msgstr ""
 
@@ -309,10 +366,6 @@
 msgid "Revert failed"
 msgstr ""
 
-#: tsp-svn-helper/tsh-common.c:455
-msgid "Resolved"
-msgstr ""
-
 #: tsp-svn-helper/tsh-common.c:456
 msgid "Skipped"
 msgstr ""
@@ -400,6 +453,10 @@
 msgid "At revision: %li"
 msgstr ""
 
+#: tsp-svn-helper/tsh-copy.c:109
+msgid "Copy To"
+msgstr ""
+
 #: tsp-svn-helper/tsh-delete.c:106
 msgid "Delete Message"
 msgstr ""
@@ -451,6 +508,10 @@
 msgid "Login"
 msgstr ""
 
+#: tsp-svn-helper/tsh-move.c:106
+msgid "Move To"
+msgstr ""
+
 #: tsp-svn-helper/tsh-notify-dialog.c:88
 msgid "Action"
 msgstr ""

Modified: thunar-svn-plugin/trunk/po/ur.po
===================================================================
--- thunar-svn-plugin/trunk/po/ur.po	2007-12-31 00:55:55 UTC (rev 3762)
+++ thunar-svn-plugin/trunk/po/ur.po	2007-12-31 15:41:20 UTC (rev 3763)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: thunar-svn-plugin\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-12-31 02:00+0100\n"
+"POT-Creation-Date: 2007-12-31 16:43+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"
@@ -37,82 +37,101 @@
 msgid "SVN _Export"
 msgstr "SVN _درآمد"
 
-#: thunar-svn-plugin/tsp-svn-action.c:237 tsp-svn-helper/main.c:151
+#: thunar-svn-plugin/tsp-svn-action.c:247 tsp-svn-helper/main.c:191
 #: tsp-svn-helper/tsh-add.c:94
 msgid "Add"
 msgstr "شامل کریں"
 
-#: thunar-svn-plugin/tsp-svn-action.c:245
+#: thunar-svn-plugin/tsp-svn-action.c:255
 msgid "Blame"
 msgstr "Blame"
 
-#: thunar-svn-plugin/tsp-svn-action.c:263 tsp-svn-helper/main.c:159
+#: thunar-svn-plugin/tsp-svn-action.c:273 tsp-svn-helper/main.c:199
 msgid "Cleanup"
 msgstr "صاف کریں"
 
-#: thunar-svn-plugin/tsp-svn-action.c:271 tsp-svn-helper/main.c:163
+#: thunar-svn-plugin/tsp-svn-action.c:281 tsp-svn-helper/main.c:203
 #: tsp-svn-helper/tsh-commit.c:101
 msgid "Commit"
 msgstr "تبصرہ"
 
-#: thunar-svn-plugin/tsp-svn-action.c:284 tsp-svn-helper/main.c:167
+#: thunar-svn-plugin/tsp-svn-action.c:289 tsp-svn-helper/main.c:207
+#: tsp-svn-helper/tsh-copy.c:127
+#, fuzzy
+msgid "Copy"
+msgstr "مکمل"
+
+#: thunar-svn-plugin/tsp-svn-action.c:297 tsp-svn-helper/main.c:211
 #: tsp-svn-helper/tsh-delete.c:101
 msgid "Delete"
 msgstr "حذف"
 
-#: thunar-svn-plugin/tsp-svn-action.c:292
+#: thunar-svn-plugin/tsp-svn-action.c:305
 msgid "Diff"
 msgstr "فرق"
 
-#: thunar-svn-plugin/tsp-svn-action.c:300 tsp-svn-helper/main.c:171
+#: thunar-svn-plugin/tsp-svn-action.c:313 tsp-svn-helper/main.c:215
 #: tsp-svn-helper/tsh-export.c:95 tsp-svn-helper/tsh-export.c:113
 msgid "Export"
 msgstr "برآمد"
 
-#: thunar-svn-plugin/tsp-svn-action.c:313
+#: thunar-svn-plugin/tsp-svn-action.c:326
 msgid "Info"
 msgstr "معلومات"
 
-#: thunar-svn-plugin/tsp-svn-action.c:326
+#: thunar-svn-plugin/tsp-svn-action.c:339 tsp-svn-helper/main.c:223
+#: tsp-svn-helper/tsh-lock.c:118 tsp-svn-helper/tsh-lock-dialog.c:71
 msgid "Lock"
 msgstr "قفل"
 
-#: thunar-svn-plugin/tsp-svn-action.c:334
+#: thunar-svn-plugin/tsp-svn-action.c:347
 msgid "Log"
 msgstr "Log"
 
-#: thunar-svn-plugin/tsp-svn-action.c:363
+#: thunar-svn-plugin/tsp-svn-action.c:365 tsp-svn-helper/main.c:227
+#: tsp-svn-helper/tsh-move.c:126
+msgid "Move"
+msgstr ""
+
+#: thunar-svn-plugin/tsp-svn-action.c:379
 msgid "Edit Properties"
 msgstr "خصوصیات مدون کریں"
 
-#: thunar-svn-plugin/tsp-svn-action.c:373
+#: thunar-svn-plugin/tsp-svn-action.c:388 tsp-svn-helper/main.c:231
+#: tsp-svn-helper/tsh-common.c:455 tsp-svn-helper/tsh-resolved.c:94
+#, fuzzy
+msgid "Resolved"
+msgstr "Resolve"
+
+#: thunar-svn-plugin/tsp-svn-action.c:396
 msgid "Resolve"
 msgstr "Resolve"
 
-#: thunar-svn-plugin/tsp-svn-action.c:381 tsp-svn-helper/main.c:179
+#: thunar-svn-plugin/tsp-svn-action.c:404 tsp-svn-helper/main.c:235
 #: tsp-svn-helper/tsh-revert.c:99
 msgid "Revert"
 msgstr "واپس"
 
-#: thunar-svn-plugin/tsp-svn-action.c:389 tsp-svn-helper/main.c:183
+#: thunar-svn-plugin/tsp-svn-action.c:412 tsp-svn-helper/main.c:239
 #: tsp-svn-helper/tsh-status-dialog.c:159
 msgid "Status"
 msgstr "حالت"
 
-#: thunar-svn-plugin/tsp-svn-action.c:397
+#: thunar-svn-plugin/tsp-svn-action.c:420
 msgid "Switch"
 msgstr "تبدیل"
 
-#: thunar-svn-plugin/tsp-svn-action.c:405
+#: thunar-svn-plugin/tsp-svn-action.c:428 tsp-svn-helper/main.c:243
+#: tsp-svn-helper/tsh-unlock.c:99
 msgid "Unlock"
 msgstr "غیر مقفل"
 
-#: thunar-svn-plugin/tsp-svn-action.c:413 tsp-svn-helper/main.c:187
+#: thunar-svn-plugin/tsp-svn-action.c:436 tsp-svn-helper/main.c:247
 #: tsp-svn-helper/tsh-status.c:95 tsp-svn-helper/tsh-update.c:101
 msgid "Update"
 msgstr "تجدید"
 
-#: thunar-svn-plugin/tsp-svn-action.c:426
+#: thunar-svn-plugin/tsp-svn-action.c:449
 #, c-format
 msgid "Action %s is unimplemented"
 msgstr ""
@@ -174,110 +193,155 @@
 msgid "Other..."
 msgstr ""
 
-#: tsp-svn-helper/main.c:80
+#: tsp-svn-helper/main.c:90
 msgid "Print version information"
 msgstr "ورژن معلومات طبع کریں"
 
-#: tsp-svn-helper/main.c:87
+#: tsp-svn-helper/main.c:97
 #, fuzzy
 msgid "Execute add action"
 msgstr "تجدید کریں"
 
-#: tsp-svn-helper/main.c:93
+#: tsp-svn-helper/main.c:103
 msgid "Execute checkout action"
 msgstr "چیک کریں"
 
-#: tsp-svn-helper/main.c:99
+#: tsp-svn-helper/main.c:109
 #, fuzzy
 msgid "Execute cleanup action"
 msgstr "چیک کریں"
 
-#: tsp-svn-helper/main.c:105
+#: tsp-svn-helper/main.c:115
 #, fuzzy
 msgid "Execute commit action"
 msgstr "چیک کریں"
 
-#: tsp-svn-helper/main.c:111
+#: tsp-svn-helper/main.c:121
 #, fuzzy
+msgid "Execute copy action"
+msgstr "چیک کریں"
+
+#: tsp-svn-helper/main.c:127
+#, fuzzy
 msgid "Execute delete action"
 msgstr "تجدید کریں"
 
-#: tsp-svn-helper/main.c:117
+#: tsp-svn-helper/main.c:133
 #, fuzzy
 msgid "Execute export action"
 msgstr "چیک کریں"
 
-#: tsp-svn-helper/main.c:123
+#: tsp-svn-helper/main.c:139
 #, fuzzy
 msgid "Execute import action"
 msgstr "چیک کریں"
 
-#: tsp-svn-helper/main.c:129
+#: tsp-svn-helper/main.c:145
 #, fuzzy
+msgid "Execute lock action"
+msgstr "تجدید کریں"
+
+#: tsp-svn-helper/main.c:151
+#, fuzzy
+msgid "Execute move action"
+msgstr "چیک کریں"
+
+#: tsp-svn-helper/main.c:157
+#, fuzzy
+msgid "Execute resolved action"
+msgstr "چیک کریں"
+
+#: tsp-svn-helper/main.c:163
+#, fuzzy
 msgid "Execute revert action"
 msgstr "چیک کریں"
 
-#: tsp-svn-helper/main.c:135
+#: tsp-svn-helper/main.c:169
 #, fuzzy
 msgid "Execute status action"
 msgstr "تجدید کریں"
 
-#: tsp-svn-helper/main.c:141
+#: tsp-svn-helper/main.c:175
+#, fuzzy
+msgid "Execute unlock action"
+msgstr "چیک کریں"
+
+#: tsp-svn-helper/main.c:181
 msgid "Execute update action"
 msgstr "تجدید کریں"
 
-#: tsp-svn-helper/main.c:151
+#: tsp-svn-helper/main.c:191
 msgid "Add Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:155
+#: tsp-svn-helper/main.c:195
 msgid "Checkout Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:155 tsp-svn-helper/tsh-checkout.c:86
+#: tsp-svn-helper/main.c:195 tsp-svn-helper/tsh-checkout.c:86
 #: tsp-svn-helper/tsh-checkout.c:98
 msgid "Checkout"
 msgstr "چیک کریں"
 
-#: tsp-svn-helper/main.c:159
+#: tsp-svn-helper/main.c:199
 msgid "Cleanup Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:163
+#: tsp-svn-helper/main.c:203
 msgid "Commit Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:167
+#: tsp-svn-helper/main.c:207
+msgid "Copy Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:211
 msgid "Delete Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:171
+#: tsp-svn-helper/main.c:215
 msgid "Export Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:175
+#: tsp-svn-helper/main.c:219
 msgid "Import Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:175 tsp-svn-helper/tsh-import.c:86
+#: tsp-svn-helper/main.c:219 tsp-svn-helper/tsh-import.c:86
 #: tsp-svn-helper/tsh-import.c:104
 #, fuzzy
 msgid "Import"
 msgstr "SVN _درآمد"
 
-#: tsp-svn-helper/main.c:179
+#: tsp-svn-helper/main.c:223
+msgid "Lock Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:227
+msgid "Move Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:231
+msgid "Resolved Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:235
 msgid "Revert Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:183
+#: tsp-svn-helper/main.c:239
 msgid "Status Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:187
+#: tsp-svn-helper/main.c:243
+msgid "Unlock Related Opions:"
+msgstr ""
+
+#: tsp-svn-helper/main.c:247
 msgid "Update Related Opions:"
 msgstr ""
 
-#: tsp-svn-helper/main.c:233
+#: tsp-svn-helper/main.c:293
 msgid "Not enough arguments provided"
 msgstr ""
 
@@ -327,11 +391,6 @@
 msgid "Revert failed"
 msgstr "واپس"
 
-#: tsp-svn-helper/tsh-common.c:455
-#, fuzzy
-msgid "Resolved"
-msgstr "Resolve"
-
 #: tsp-svn-helper/tsh-common.c:456
 msgid "Skipped"
 msgstr ""
@@ -424,6 +483,10 @@
 msgid "At revision: %li"
 msgstr "ورژن: %li"
 
+#: tsp-svn-helper/tsh-copy.c:109
+msgid "Copy To"
+msgstr ""
+
 #: tsp-svn-helper/tsh-delete.c:106
 #, fuzzy
 msgid "Delete Message"
@@ -479,6 +542,10 @@
 msgid "Login"
 msgstr "لاگ ان"
 
+#: tsp-svn-helper/tsh-move.c:106
+msgid "Move To"
+msgstr ""
+
 #: tsp-svn-helper/tsh-notify-dialog.c:88
 msgid "Action"
 msgstr "حرکت"

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-31 00:55:55 UTC (rev 3762)
+++ thunar-svn-plugin/trunk/thunar-svn-plugin/tsp-svn-action.c	2007-12-31 15:41:20 UTC (rev 3763)
@@ -84,12 +84,22 @@
 
 void tsp_action_commit (GtkMenuItem *item, TspSvnAction *action);
 
+void tsp_action_copy (GtkMenuItem *item, TspSvnAction *action);
+
 void tsp_action_delete (GtkMenuItem *item, TspSvnAction *action);
 
+void tsp_action_lock (GtkMenuItem *item, TspSvnAction *action);
+
+void tsp_action_move (GtkMenuItem *item, TspSvnAction *action);
+
+void tsp_action_resolved (GtkMenuItem *item, TspSvnAction *action);
+
 void tsp_action_revert (GtkMenuItem *item, TspSvnAction *action);
 
 void tsp_action_status (GtkMenuItem *item, TspSvnAction *action);
 
+void tsp_action_unlock (GtkMenuItem *item, TspSvnAction *action);
+
 void tsp_action_update (GtkMenuItem *item, TspSvnAction *action);
 
 
@@ -273,13 +283,16 @@
 		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) */
+  /* 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 (_("Copy"));
+		g_signal_connect_object (subitem, "activate", G_CALLBACK (tsp_action_copy), action, G_CONNECT_AFTER);
+    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_object (subitem, "activate", G_CALLBACK (tsp_action_delete), action, G_CONNECT_AFTER);
@@ -324,7 +337,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 (_("Lock"));
-		g_signal_connect_after (subitem, "activate", G_CALLBACK (tsp_action_unimplemented), "Lock");
+		g_signal_connect_object (subitem, "activate", G_CALLBACK (tsp_action_lock), action, G_CONNECT_AFTER);
 		gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem);
 		gtk_widget_show(subitem);
 	}
@@ -346,12 +359,15 @@
 		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
+*//* 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 (_("Move"));
+		g_signal_connect_object (subitem, "activate", G_CALLBACK (tsp_action_move), action, G_CONNECT_AFTER);
+    gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem);
+    gtk_widget_show(subitem);
+  }
+/* Merged
 	subitem = gtk_menu_item_new_with_label (_("Delete Properties"));
 	subitem = gtk_menu_item_new_with_label (_("Edit Properties"));
 	subitem = gtk_menu_item_new_with_label (_("Get Properties"));
@@ -367,6 +383,13 @@
 	}
 /* Changed
 	subitem = gtk_menu_item_new_with_label (_("Mark Resolved"));
+*/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 (_("Resolved"));
+		g_signal_connect_object (subitem, "activate", G_CALLBACK (tsp_action_resolved), action, G_CONNECT_AFTER);
+		gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem);
+		gtk_widget_show(subitem);
+	}/*
 *//* Version control (file) */
 	if (tsp_action->property.file_version_control)
 	{
@@ -403,7 +426,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");
+		g_signal_connect_object (subitem, "activate", G_CALLBACK (tsp_action_unlock), action, G_CONNECT_AFTER);
 		gtk_menu_shell_append (GTK_MENU_SHELL (menu), subitem);
 		gtk_widget_show(subitem);
 	}
@@ -726,6 +749,80 @@
 
 
 
+void tsp_action_copy (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 ("--copy");
+	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_delete (GtkMenuItem *item, TspSvnAction *action)
 {
 	guint size, i;
@@ -948,6 +1045,228 @@
 
 
 
+void tsp_action_lock (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 ("--lock");
+	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_move (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 ("--move");
+	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_resolved (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 ("--resolved");
+	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_revert (GtkMenuItem *item, TspSvnAction *action)
 {
 	guint size, i;
@@ -1096,6 +1415,80 @@
 
 
 
+void tsp_action_unlock (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 ("--unlock");
+	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;

Modified: thunar-svn-plugin/trunk/tsp-svn-helper/Makefile.am
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/Makefile.am	2007-12-31 00:55:55 UTC (rev 3762)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/Makefile.am	2007-12-31 15:41:20 UTC (rev 3763)
@@ -24,16 +24,26 @@
 	tsh-cleanup.c							\
 	tsh-commit.h							\
 	tsh-commit.c							\
+	tsh-copy.h							\
+	tsh-copy.c							\
 	tsh-delete.h							\
 	tsh-delete.c							\
 	tsh-export.h							\
 	tsh-export.c							\
 	tsh-import.h							\
 	tsh-import.c							\
+	tsh-lock.h							\
+	tsh-lock.c							\
+	tsh-move.h							\
+	tsh-move.c							\
+	tsh-resolved.h							\
+	tsh-resolved.c							\
 	tsh-revert.h							\
 	tsh-revert.c							\
 	tsh-status.h							\
 	tsh-status.c							\
+	tsh-unlock.h							\
+	tsh-unlock.c							\
 	tsh-update.h							\
 	tsh-update.c							\
 	gtkfilechooserentry.h						\
@@ -57,6 +67,8 @@
 	tsh-notify-dialog.c						\
 	tsh-status-dialog.h						\
 	tsh-status-dialog.c						\
+	tsh-lock-dialog.h						\
+	tsh-lock-dialog.c						\
 	tsh-log-message-dialog.h					\
 	tsh-log-message-dialog.c					\
 	tsh-transfer-dialog.h						\

Modified: thunar-svn-plugin/trunk/tsp-svn-helper/main.c
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/main.c	2007-12-31 00:55:55 UTC (rev 3762)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/main.c	2007-12-31 15:41:20 UTC (rev 3763)
@@ -36,11 +36,16 @@
 #include "tsh-checkout.h"
 #include "tsh-cleanup.h"
 #include "tsh-commit.h"
+#include "tsh-copy.h"
 #include "tsh-delete.h"
 #include "tsh-export.h"
 #include "tsh-import.h"
+#include "tsh-lock.h"
+#include "tsh-move.h"
+#include "tsh-resolved.h"
 #include "tsh-revert.h"
 #include "tsh-status.h"
+#include "tsh-unlock.h"
 #include "tsh-update.h"
 
 static GThread *thread = NULL;
@@ -66,11 +71,16 @@
 	gboolean checkout = FALSE;
 	gboolean cleanup = FALSE;
 	gboolean commit = FALSE;
+	gboolean copy = FALSE;
 	gboolean delete = FALSE;
 	gboolean export = FALSE;
 	gboolean import = FALSE;
+	gboolean lock = FALSE;
+	gboolean move = FALSE;
+  gboolean resolved = FALSE;
   gboolean revert = FALSE;
   gboolean status = FALSE;
+	gboolean unlock = FALSE;
 	gboolean update = FALSE;
 	gchar **files = NULL;
 	GError *error = NULL;
@@ -106,6 +116,12 @@
 		{ NULL, '\0', 0, 0, NULL, NULL, NULL }
 	};
 
+	GOptionEntry copy_options_table[] =
+	{
+		{ "copy", '\0', 0, G_OPTION_ARG_NONE, &copy, N_("Execute copy action"), NULL },
+		{ NULL, '\0', 0, 0, NULL, NULL, NULL }
+	};
+
 	GOptionEntry delete_options_table[] =
 	{
 		{ "delete", '\0', 0, G_OPTION_ARG_NONE, &delete, N_("Execute delete action"), NULL },
@@ -124,6 +140,24 @@
 		{ NULL, '\0', 0, 0, NULL, NULL, NULL }
 	};
 
+	GOptionEntry lock_options_table[] =
+	{
+		{ "lock", '\0', 0, G_OPTION_ARG_NONE, &lock, N_("Execute lock action"), NULL },
+		{ NULL, '\0', 0, 0, NULL, NULL, NULL }
+	};
+
+	GOptionEntry move_options_table[] =
+	{
+		{ "move", '\0', 0, G_OPTION_ARG_NONE, &move, N_("Execute move action"), NULL },
+		{ NULL, '\0', 0, 0, NULL, NULL, NULL }
+	};
+
+	GOptionEntry resolved_options_table[] =
+	{
+		{ "resolved", '\0', 0, G_OPTION_ARG_NONE, &resolved, N_("Execute resolved action"), NULL },
+		{ NULL, '\0', 0, 0, NULL, NULL, NULL }
+	};
+
 	GOptionEntry revert_options_table[] =
 	{
 		{ "revert", '\0', 0, G_OPTION_ARG_NONE, &revert, N_("Execute revert action"), NULL },
@@ -136,6 +170,12 @@
 		{ NULL, '\0', 0, 0, NULL, NULL, NULL }
 	};
 
+	GOptionEntry unlock_options_table[] =
+	{
+		{ "unlock", '\0', 0, G_OPTION_ARG_NONE, &unlock, N_("Execute unlock 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 },
@@ -164,6 +204,10 @@
 	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("copy", N_("Copy Related Opions:"), N_("Copy"), NULL, NULL);
+	g_option_group_add_entries(option_group, copy_options_table);
+	g_option_context_add_group(option_context, option_group);
+
 	option_group = g_option_group_new("delete", N_("Delete Related Opions:"), N_("Delete"), NULL, NULL);
 	g_option_group_add_entries(option_group, delete_options_table);
 	g_option_context_add_group(option_context, option_group);
@@ -176,6 +220,18 @@
 	g_option_group_add_entries(option_group, import_options_table);
 	g_option_context_add_group(option_context, option_group);
 
+	option_group = g_option_group_new("lock", N_("Lock Related Opions:"), N_("Lock"), NULL, NULL);
+	g_option_group_add_entries(option_group, lock_options_table);
+	g_option_context_add_group(option_context, option_group);
+
+	option_group = g_option_group_new("move", N_("Move Related Opions:"), N_("Move"), NULL, NULL);
+	g_option_group_add_entries(option_group, move_options_table);
+	g_option_context_add_group(option_context, option_group);
+
+	option_group = g_option_group_new("resolved", N_("Resolved Related Opions:"), N_("Resolved"), NULL, NULL);
+	g_option_group_add_entries(option_group, resolved_options_table);
+	g_option_context_add_group(option_context, option_group);
+
 	option_group = g_option_group_new("revert", N_("Revert Related Opions:"), N_("Revert"), NULL, NULL);
 	g_option_group_add_entries(option_group, revert_options_table);
 	g_option_context_add_group(option_context, option_group);
@@ -184,6 +240,10 @@
 	g_option_group_add_entries(option_group, status_options_table);
 	g_option_context_add_group(option_context, option_group);
 
+	option_group = g_option_group_new("unlock", N_("Unlock Related Opions:"), N_("Unlock"), NULL, NULL);
+	g_option_group_add_entries(option_group, unlock_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);
@@ -226,7 +286,7 @@
 		return EXIT_FAILURE;
 	}
 
-  if(add || delete || revert)
+  if(add || delete || revert || resolved)
   {
     if(!g_strv_length(files))
     {
@@ -255,6 +315,11 @@
 		thread = tsh_commit(files, svn_ctx, pool);
 	}
 
+	if(copy)
+	{
+		thread = tsh_copy(files, svn_ctx, pool);
+	}
+
 	if(delete)
 	{
 		thread = tsh_delete(files, svn_ctx, pool);
@@ -270,6 +335,21 @@
 		thread = tsh_import(files, svn_ctx, pool);
 	}
 
+	if(lock)
+	{
+		thread = tsh_lock(files, svn_ctx, pool);
+	}
+
+	if(move)
+	{
+		thread = tsh_move(files, svn_ctx, pool);
+	}
+
+	if(resolved)
+	{
+		thread = tsh_resolved(files, svn_ctx, pool);
+	}
+
 	if(revert)
 	{
 		thread = tsh_revert(files, svn_ctx, pool);
@@ -280,6 +360,11 @@
     thread = tsh_status(files, svn_ctx, pool);
   }
 
+	if(unlock)
+	{
+		thread = tsh_unlock(files, svn_ctx, pool);
+	}
+
 	if(update)
 	{
 		thread = tsh_update(files, svn_ctx, pool);

Modified: thunar-svn-plugin/trunk/tsp-svn-helper/tsh-common.c
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/tsh-common.c	2007-12-31 00:55:55 UTC (rev 3762)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/tsh-common.c	2007-12-31 15:41:20 UTC (rev 3763)
@@ -570,7 +570,7 @@
 	{
 		case svn_wc_notify_update_completed:
 			g_snprintf(buffer, 256, _("At revision: %li"), notify->revision);
-      action = buffer;
+      path = buffer;
 			break;
     default:
       break;

Added: thunar-svn-plugin/trunk/tsp-svn-helper/tsh-copy.c
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/tsh-copy.c	                        (rev 0)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/tsh-copy.c	2007-12-31 15:41:20 UTC (rev 3763)
@@ -0,0 +1,143 @@
+/*-
+ * 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 <dirent.h>
+
+#include <thunar-vfs/thunar-vfs.h>
+
+#include <subversion-1/svn_client.h>
+
+#include "tsh-common.h"
+#include "tsh-dialog-common.h"
+#include "tsh-notify-dialog.h"
+
+#include "tsh-copy.h"
+
+struct thread_args {
+	svn_client_ctx_t *ctx;
+	apr_pool_t *pool;
+  TshNotifyDialog *dialog;
+	gchar *from;
+	gchar *to;
+};
+
+static gpointer copy_thread (gpointer user_data)
+{
+	struct thread_args *args = user_data;
+	svn_error_t *err;
+  svn_opt_revision_t revision;
+  svn_commit_info_t *commit_info;
+	svn_client_ctx_t *ctx = args->ctx;
+	apr_pool_t *pool = args->pool;
+  TshNotifyDialog *dialog = args->dialog;
+	gchar *from = args->from;
+	gchar *to = args->to;
+
+	g_free (args);
+
+  revision.kind = svn_opt_revision_unspecified;
+	if ((err = svn_client_copy3(&commit_info, from, &revision, to, 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);
+}
+
+GThread *tsh_copy (gchar **files, svn_client_ctx_t *ctx, apr_pool_t *pool)
+{
+	struct thread_args *args;
+  GtkWidget *dialog;
+  gchar *from;
+  gchar *to;
+
+	from = files?files[0]:"";
+
+  gboolean isdir = TRUE;
+  gchar *absolute = NULL;
+  if(!g_path_is_absolute (from))
+  {
+    //TODO: ".."
+    gchar *currdir = g_get_current_dir();
+    absolute = g_build_filename(currdir, (from[0] == '.' && (!from[1] || from[1] == G_DIR_SEPARATOR || from[1] == '/'))?&from[1]:from, NULL);
+    g_free (currdir);
+  }
+  DIR *dir = opendir(absolute?absolute:from);
+  FILE *fp;
+  if(dir)
+    closedir(dir);
+  else if((fp = fopen(absolute?absolute:from, "r")))
+  {
+    fclose(fp);
+    isdir = FALSE;
+  }
+  g_free (absolute);
+
+  dialog = gtk_file_chooser_dialog_new (_("Copy To"), NULL,
+                               isdir?GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER:GTK_FILE_CHOOSER_ACTION_SAVE,
+                               GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+                               GTK_STOCK_OK, GTK_RESPONSE_OK,
+                               NULL);
+
+  gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dialog), isdir?(absolute?absolute:from):g_path_get_dirname(absolute?absolute:from));
+
+	if(gtk_dialog_run (GTK_DIALOG (dialog)) != GTK_RESPONSE_OK)
+  {
+    gtk_widget_destroy (dialog);
+    return NULL;
+  }
+
+  to = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
+
+	gtk_widget_destroy (dialog);
+
+  dialog = tsh_notify_dialog_new(_("Copy"), NULL, 0);
+	g_signal_connect (dialog, "cancel-clicked", tsh_cancel, NULL);
+  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->from = from;
+	args->to = to;
+
+	return g_thread_create (copy_thread, args, TRUE, NULL);
+}
+

Added: thunar-svn-plugin/trunk/tsp-svn-helper/tsh-copy.h
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/tsh-copy.h	                        (rev 0)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/tsh-copy.h	2007-12-31 15:41:20 UTC (rev 3763)
@@ -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_COPY_H__
+#define __TSH_COPY_H__
+
+G_BEGIN_DECLS
+
+GThread *tsh_copy (gchar**, svn_client_ctx_t*, apr_pool_t*);
+
+G_END_DECLS
+
+#endif /*__TSH_COPY_H__*/
+

Added: thunar-svn-plugin/trunk/tsp-svn-helper/tsh-lock-dialog.c
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/tsh-lock-dialog.c	                        (rev 0)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/tsh-lock-dialog.c	2007-12-31 15:41:20 UTC (rev 3763)
@@ -0,0 +1,126 @@
+/*-
+ * 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-lock-dialog.h"
+
+struct _TshLockDialog
+{
+	GtkDialog dialog;
+
+	GtkWidget *text_view;
+  GtkWidget *steal;
+};
+
+struct _TshLockDialogClass
+{
+	GtkDialogClass dialog_class;
+};
+
+G_DEFINE_TYPE (TshLockDialog, tsh_lock_dialog, GTK_TYPE_DIALOG)
+
+static void
+tsh_lock_dialog_class_init (TshLockDialogClass *klass)
+{
+}
+
+static void
+tsh_lock_dialog_init (TshLockDialog *dialog)
+{
+	GtkWidget *text_view;
+	GtkWidget *scroll_window;
+  GtkWidget *steal;
+
+	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_widget_show (text_view);
+
+	gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), scroll_window, TRUE, TRUE, 0);
+	gtk_widget_show (scroll_window);
+
+  dialog->steal = steal = gtk_check_button_new_with_label("Steal Lock");
+	gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), steal, FALSE, FALSE, 0);
+	gtk_widget_show (steal);
+
+	gtk_window_set_title (GTK_WINDOW (dialog), _("Lock"));
+
+  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_lock_dialog_new (const gchar *title, GtkWindow *parent, GtkDialogFlags flags)
+{
+	TshLockDialog *dialog = g_object_new (TSH_TYPE_LOCK_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);
+}
+
+gchar *
+tsh_lock_dialog_get_message (TshLockDialog *dialog)
+{
+  GtkTextIter start, end;
+
+  g_return_val_if_fail (TSH_IS_LOCK_DIALOG (dialog), NULL);
+
+  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);
+}
+
+gboolean
+tsh_lock_dialog_get_steal (TshLockDialog *dialog)
+{
+  g_return_val_if_fail (TSH_IS_LOCK_DIALOG (dialog), FALSE);
+
+  return gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (dialog->steal));
+}
+

Added: thunar-svn-plugin/trunk/tsp-svn-helper/tsh-lock-dialog.h
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/tsh-lock-dialog.h	                        (rev 0)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/tsh-lock-dialog.h	2007-12-31 15:41:20 UTC (rev 3763)
@@ -0,0 +1,48 @@
+/*-
+ * 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_LOCK_DIALOG_H__
+#define __TSH_LOCK_DIALOG_H__
+
+#include <gtk/gtk.h>
+
+G_BEGIN_DECLS;
+
+typedef struct _TshLockDialogClass TshLockDialogClass;
+typedef struct _TshLockDialog      TshLockDialog;
+
+#define TSH_TYPE_LOCK_DIALOG             (tsh_lock_dialog_get_type ())
+#define TSH_LOCK_DIALOG(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), TSH_TYPE_LOCK_DIALOG, TshLockDialog))
+#define TSH_LOCK_DIALOG_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass), TSH_TYPE_LOCK_DIALOG, TshLockDialogClass))
+#define TSH_IS_LOCK_DIALOG(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TSH_TYPE_LOCK_DIALOG))
+#define TSH_IS_LOCK_DIALOG_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), TSH_TYPE_LOCK_DIALOG))
+#define TSH_LOCK_DIALOG_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), TSH_TYPE_LOCK_DIALOG, TshLockDialogClass))
+
+GType      tsh_lock_dialog_get_type    (void) G_GNUC_CONST G_GNUC_INTERNAL;
+
+GtkWidget* tsh_lock_dialog_new         (const gchar *title,
+                                        GtkWindow *parent,
+                                        GtkDialogFlags flags) G_GNUC_MALLOC G_GNUC_INTERNAL;
+
+gchar *    tsh_lock_dialog_get_message (TshLockDialog *dialog);
+gboolean   tsh_lock_dialog_get_steal   (TshLockDialog *dialog);
+
+G_END_DECLS;
+
+#endif /* !__TSH_LOCK_DIALOG_H__ */

Added: thunar-svn-plugin/trunk/tsp-svn-helper/tsh-lock.c
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/tsh-lock.c	                        (rev 0)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/tsh-lock.c	2007-12-31 15:41:20 UTC (rev 3763)
@@ -0,0 +1,135 @@
+/*-
+ * 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_client.h>
+
+#include "tsh-common.h"
+#include "tsh-dialog-common.h"
+#include "tsh-notify-dialog.h"
+#include "tsh-lock-dialog.h"
+
+#include "tsh-delete.h"
+
+struct thread_args {
+	svn_client_ctx_t *ctx;
+	apr_pool_t *pool;
+	TshNotifyDialog *dialog;
+  gchar **files;
+  gchar *message;
+  gboolean steal;
+};
+
+static gpointer lock_thread (gpointer user_data)
+{
+	struct thread_args *args = user_data;
+	svn_error_t *err;
+  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;
+  gchar *message = args->message;
+  gboolean steal = args->steal;
+  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_lock(paths, message, steal, 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);
+}
+
+GThread *tsh_lock (gchar **files, svn_client_ctx_t *ctx, apr_pool_t *pool)
+{
+	GtkWidget *dialog;
+	struct thread_args *args;
+  gchar *message;
+  gboolean steal;
+
+  dialog = tsh_lock_dialog_new (NULL, NULL, 0);
+	if(gtk_dialog_run (GTK_DIALOG (dialog)) != GTK_RESPONSE_OK)
+  {
+    gtk_widget_destroy (dialog);
+    return NULL;
+  }
+
+  message = tsh_lock_dialog_get_message (TSH_LOCK_DIALOG (dialog));
+  steal = tsh_lock_dialog_get_steal (TSH_LOCK_DIALOG (dialog));
+
+  gtk_widget_destroy (dialog);
+
+	dialog = tsh_notify_dialog_new (_("Lock"), NULL, 0);
+  g_signal_connect(dialog, "cancel-clicked", tsh_cancel, NULL);
+	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;
+  args->message = message;
+  args->steal = steal;
+
+	return g_thread_create (lock_thread, args, TRUE, NULL);
+}
+

Added: thunar-svn-plugin/trunk/tsp-svn-helper/tsh-lock.h
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/tsh-lock.h	                        (rev 0)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/tsh-lock.h	2007-12-31 15:41:20 UTC (rev 3763)
@@ -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_LOCK_H__
+#define __TSH_LOCK_H__
+
+G_BEGIN_DECLS
+
+GThread *tsh_lock (gchar**, svn_client_ctx_t*, apr_pool_t*);
+
+G_END_DECLS
+
+#endif /*__TSH_LOCK_H__*/
+

Added: thunar-svn-plugin/trunk/tsp-svn-helper/tsh-move.c
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/tsh-move.c	                        (rev 0)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/tsh-move.c	2007-12-31 15:41:20 UTC (rev 3763)
@@ -0,0 +1,142 @@
+/*-
+ * 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 <dirent.h>
+
+#include <thunar-vfs/thunar-vfs.h>
+
+#include <subversion-1/svn_client.h>
+
+#include "tsh-common.h"
+#include "tsh-dialog-common.h"
+#include "tsh-notify-dialog.h"
+
+#include "tsh-move.h"
+
+struct thread_args {
+	svn_client_ctx_t *ctx;
+	apr_pool_t *pool;
+  TshNotifyDialog *dialog;
+	gchar *from;
+	gchar *to;
+};
+
+static gpointer move_thread (gpointer user_data)
+{
+	struct thread_args *args = user_data;
+	svn_error_t *err;
+  svn_commit_info_t *commit_info;
+	svn_client_ctx_t *ctx = args->ctx;
+	apr_pool_t *pool = args->pool;
+  TshNotifyDialog *dialog = args->dialog;
+	gchar *from = args->from;
+	gchar *to = args->to;
+
+	g_free (args);
+
+	if ((err = svn_client_move4(&commit_info, from, to, 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);
+}
+
+GThread *tsh_move (gchar **files, svn_client_ctx_t *ctx, apr_pool_t *pool)
+{
+	struct thread_args *args;
+  GtkWidget *dialog;
+  gchar *from;
+  gchar *to;
+
+	from = files?files[0]:"";
+
+  gboolean isdir = TRUE;
+  gchar *absolute = NULL;
+  if(!g_path_is_absolute (from))
+  {
+    //TODO: ".."
+    gchar *currdir = g_get_current_dir();
+    absolute = g_build_filename(currdir, (from[0] == '.' && (!from[1] || from[1] == G_DIR_SEPARATOR || from[1] == '/'))?&from[1]:from, NULL);
+    g_free (currdir);
+  }
+  DIR *dir = opendir(absolute?absolute:from);
+  FILE *fp;
+  if(dir)
+    closedir(dir);
+  else if((fp = fopen(absolute?absolute:from, "r")))
+  {
+    fclose(fp);
+    isdir = FALSE;
+  }
+
+  dialog = gtk_file_chooser_dialog_new (_("Move To"), NULL,
+                               isdir?GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER:GTK_FILE_CHOOSER_ACTION_SAVE,
+                               GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+                               GTK_STOCK_OK, GTK_RESPONSE_OK,
+                               NULL);
+
+  gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dialog), isdir?(absolute?absolute:from):g_path_get_dirname(absolute?absolute:from));
+
+  g_free (absolute);
+
+	if(gtk_dialog_run (GTK_DIALOG (dialog)) != GTK_RESPONSE_OK)
+  {
+    gtk_widget_destroy (dialog);
+    return NULL;
+  }
+
+  to = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
+
+	gtk_widget_destroy (dialog);
+
+  dialog = tsh_notify_dialog_new(_("Move"), NULL, 0);
+	g_signal_connect (dialog, "cancel-clicked", tsh_cancel, NULL);
+  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->from = from;
+	args->to = to;
+
+	return g_thread_create (move_thread, args, TRUE, NULL);
+}
+

Added: thunar-svn-plugin/trunk/tsp-svn-helper/tsh-move.h
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/tsh-move.h	                        (rev 0)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/tsh-move.h	2007-12-31 15:41:20 UTC (rev 3763)
@@ -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_MOVE_H__
+#define __TSH_MOVE_H__
+
+G_BEGIN_DECLS
+
+GThread *tsh_move (gchar**, svn_client_ctx_t*, apr_pool_t*);
+
+G_END_DECLS
+
+#endif /*__TSH_MOVE_H__*/
+

Added: thunar-svn-plugin/trunk/tsp-svn-helper/tsh-resolved.c
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/tsh-resolved.c	                        (rev 0)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/tsh-resolved.c	2007-12-31 15:41:20 UTC (rev 3763)
@@ -0,0 +1,109 @@
+/*-
+ * 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_client.h>
+
+#include "tsh-common.h"
+#include "tsh-dialog-common.h"
+#include "tsh-notify-dialog.h"
+
+#include "tsh-resolved.h"
+
+struct thread_args {
+	svn_client_ctx_t *ctx;
+	apr_pool_t *pool;
+	TshNotifyDialog *dialog;
+	gchar **files;
+};
+
+static gpointer resolved_thread (gpointer user_data)
+{
+	struct thread_args *args = user_data;
+	svn_error_t *err;
+  gboolean result;
+	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_resolved(files[i], TRUE, ctx, pool)))
+      {
+        svn_handle_error2(err, stderr, FALSE, G_LOG_DOMAIN ": ");
+        svn_error_clear(err);
+        result = FALSE;
+      }
+		}
+	}
+	else
+	{
+    if ((err = svn_client_resolved("", TRUE, 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_resolved (gchar **files, svn_client_ctx_t *ctx, apr_pool_t *pool)
+{
+	GtkWidget *dialog;
+	struct thread_args *args;
+
+	dialog = tsh_notify_dialog_new (_("Resolved"), NULL, 0);
+  g_signal_connect(dialog, "cancel-clicked", tsh_cancel, NULL);
+	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 (resolved_thread, args, TRUE, NULL);
+}
+

Added: thunar-svn-plugin/trunk/tsp-svn-helper/tsh-resolved.h
===================================================================
--- thunar-svn-plugin/trunk/tsp-svn-helper/tsh-resolved.h	                        (rev 0)
+++ thunar-svn-plugin/trunk/tsp-svn-helper/tsh-resolved.h	2007-12-31 15:41:20 UTC (rev 3763)
@@ -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_RESOLVED_H__
+#define __TSH_RESOLVED_H__
+
+G_BEGIN_DECLS
+
+GThread *tsh_resolved (gchar**, svn_client_ctx_t*, apr_pool_t*);
+
+G_END_DECLS
+
+#endif /*__TSH_RESOLVED_H__*/
+




More information about the Goodies-commits mailing list