From ff94d46e423398804d2ae63faeb114c2cf604fc4 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Sun, 27 Jan 2013 01:05:39 -0600 Subject: Rename a number of libraries and executables to avoid conflicts with KDE4 --- CMakeLists.txt | 8 +- cervisia/ChangeLog | 4 +- cervisia/Makefile.am | 2 +- cervisia/addrepositorydlg.cpp | 2 +- cervisia/annotateview.cpp | 2 +- cervisia/cervisiapart.cpp | 4 +- cervisia/cervisiashell.cpp | 2 +- cervisia/changelogdlg.cpp | 2 +- cervisia/checkoutdlg.cpp | 2 +- cervisia/commitdlg.cpp | 2 +- cervisia/cvsinitdlg.cpp | 2 +- cervisia/cvsservice/CMakeLists.txt | 2 +- cervisia/cvsservice/cvsservice.cpp | 2 +- cervisia/cvsservice/repository.cpp | 2 +- cervisia/diffdlg.cpp | 4 +- cervisia/diffview.cpp | 2 +- cervisia/historydlg.cpp | 2 +- cervisia/logdlg.cpp | 4 +- cervisia/main.cpp | 2 +- cervisia/misc.cpp | 2 +- cervisia/progressdlg.cpp | 2 +- cervisia/protocolview.cpp | 2 +- cervisia/repositories.cpp | 2 +- cervisia/repositorydlg.cpp | 2 +- cervisia/resolvedlg.cpp | 2 +- cervisia/settingsdlg.cpp | 2 +- cervisia/updateview.cpp | 2 +- cervisia/watchersdlg.cpp | 2 +- kapptemplate/kapp/app.cpp | 6 +- kapptemplate/kpartapp/app.cpp | 4 +- kapptemplate/kpartapp/app_part.cpp | 2 +- kbabel/addons/CMakeLists.txt | 2 +- kbabel/addons/Makefile.am | 2 +- kbabel/addons/kfile-plugins/CMakeLists.txt | 35 - kbabel/addons/kfile-plugins/Makefile.am | 22 - kbabel/addons/kfile-plugins/kfile_po.cpp | 81 - kbabel/addons/kfile-plugins/kfile_po.desktop | 61 - kbabel/addons/kfile-plugins/kfile_po.h | 50 - kbabel/addons/preview/pothumbcreator.h | 2 +- kbabel/addons/tdefile-plugins/CMakeLists.txt | 35 + kbabel/addons/tdefile-plugins/Makefile.am | 22 + kbabel/addons/tdefile-plugins/tdefile_po.cpp | 81 + kbabel/addons/tdefile-plugins/tdefile_po.desktop | 61 + kbabel/addons/tdefile-plugins/tdefile_po.h | 50 + kbabel/catalogmanager/CMakeLists.txt | 2 +- kbabel/catalogmanager/catalogmanager.cpp | 4 +- kbabel/catalogmanager/catalogmanagerview.cpp | 6 +- kbabel/catalogmanager/findinfilesdialog.cpp | 2 +- kbabel/catalogmanager/libcvs/cvsdialog.cpp | 2 +- kbabel/catalogmanager/libsvn/svndialog.cpp | 2 +- kbabel/catalogmanager/markpatterndialog.cpp | 2 +- kbabel/common/CMakeLists.txt | 2 +- kbabel/common/Makefile.am | 2 +- kbabel/common/catalog.cpp | 4 +- kbabel/common/catalogsettings.cpp | 2 +- kbabel/common/kbmailer.cpp | 2 +- kbabel/common/kbproject.h | 2 +- kbabel/common/poinfo.cpp | 2 +- kbabel/common/tagextractor.cpp | 2 +- kbabel/commonui/context.cpp | 4 +- kbabel/commonui/finddialog.cpp | 2 +- kbabel/commonui/projectpref.h | 2 +- kbabel/commonui/projectprefwidgets.cpp | 2 +- kbabel/commonui/roughtransdlg.cpp | 2 +- kbabel/datatools/accelerators/main.cc | 2 +- kbabel/datatools/arguments/main.cc | 2 +- kbabel/datatools/context/main.cc | 2 +- kbabel/datatools/equations/main.cc | 2 +- kbabel/datatools/length/main.cc | 2 +- kbabel/datatools/not-translated/main.cc | 2 +- kbabel/datatools/pluralforms/main.cc | 2 +- kbabel/datatools/punctuation/main.cc | 2 +- kbabel/datatools/regexp/main.cc | 2 +- kbabel/datatools/whitespace/main.cc | 2 +- kbabel/datatools/xml/main.cc | 2 +- kbabel/kbabel/Makefile.am | 2 +- kbabel/kbabel/charselectview.cpp | 2 +- kbabel/kbabel/commentview.cpp | 2 +- kbabel/kbabel/headereditor.cpp | 2 +- kbabel/kbabel/kbabel.cpp | 4 +- kbabel/kbabel/kbabelpref.h | 2 +- kbabel/kbabel/kbabelview.cpp | 8 +- kbabel/kbabel/kbabelview.h | 2 +- kbabel/kbabel/kbabelview2.cpp | 4 +- kbabel/kbabel/kbcataloglistview.h | 2 +- kbabel/kbabel/kbcharselect.cpp | 2 +- kbabel/kbabel/kbhighlighting.cpp | 2 +- kbabel/kbabel/spelldlg.cpp | 2 +- kbabel/kbabeldict/dictchooser.cpp | 2 +- kbabel/kbabeldict/kbabeldict.cpp | 2 +- kbabel/kbabeldict/kbabeldictbox.cpp | 2 +- kbabel/kbabeldict/kbabeldictview.cpp | 2 +- .../modules/dbsearchengine/KDBSearchEngine.cpp | 6 +- .../kbabeldict/modules/dbsearchengine/database.cpp | 2 +- .../modules/dbsearchengine/preferenceswidget.cpp | 2 +- .../kbabeldict/modules/dbsearchengine2/dbscan.cpp | 2 +- .../modules/dbsearchengine2/preferenceswidget.cpp | 2 +- .../modules/poauxiliary/preferenceswidget.cpp | 2 +- .../modules/pocompendium/pocompendium.cpp | 2 +- .../modules/pocompendium/preferenceswidget.cpp | 2 +- .../kbabeldict/modules/tmx/preferenceswidget.cpp | 2 +- kbabel/kbabeldict/modules/tmx/tmxcompendium.cpp | 2 +- .../kbabeldict/modules/tmx/tmxcompendiumdata.cpp | 2 +- kbabel/kbabeldict/searchengine.h | 2 +- kbugbuster/CMakeLists.txt | 2 +- kbugbuster/backend/bugcommand.cpp | 2 +- kbugbuster/backend/bugjob.cpp | 2 +- kbugbuster/backend/bugjob.h | 2 +- kbugbuster/backend/bugserverconfig.cpp | 2 +- kbugbuster/backend/bugsystem.cpp | 2 +- kbugbuster/backend/kbbprefs.cpp | 2 +- kbugbuster/backend/kbbprefs.h | 2 +- kbugbuster/gui/centralwidget.cpp | 2 +- kbugbuster/gui/kbbmainwindow.cpp | 2 +- kbugbuster/gui/loadallbugsdlg.cpp | 2 +- kbugbuster/tderesources/CMakeLists.txt | 2 +- kbugbuster/tderesources/kcalresource.cpp | 2 +- kbugbuster/tderesources/kcalresource.h | 2 +- kbugbuster/tderesources/resourceprefs.kcfgc | 2 +- kfile-plugins/CMakeLists.txt | 14 - kfile-plugins/Makefile.am | 1 - kfile-plugins/c++/CMakeLists.txt | 35 - kfile-plugins/c++/Makefile.am | 22 - kfile-plugins/c++/kfile_cpp.cpp | 130 -- kfile-plugins/c++/kfile_cpp.desktop | 60 - kfile-plugins/c++/kfile_cpp.h | 41 - kfile-plugins/c++/kfile_h.desktop | 58 - kfile-plugins/diff/CMakeLists.txt | 34 - kfile-plugins/diff/Makefile.am | 22 - kfile-plugins/diff/kfile_diff.cpp | 610 -------- kfile-plugins/diff/kfile_diff.desktop | 57 - kfile-plugins/diff/kfile_diff.h | 53 - kfile-plugins/ts/CMakeLists.txt | 35 - kfile-plugins/ts/Makefile.am | 21 - kfile-plugins/ts/kfile_ts.cpp | 93 -- kfile-plugins/ts/kfile_ts.desktop | 54 - kfile-plugins/ts/kfile_ts.h | 40 - kioslave/CMakeLists.txt | 12 - kioslave/Makefile.am | 6 - kioslave/svn/AUTHORS | 1 - kioslave/svn/CMakeLists.txt | 46 - kioslave/svn/COPYING | 481 ------ kioslave/svn/ConfigureChecks.cmake | 54 - kioslave/svn/Makefile.am | 15 - kioslave/svn/README | 40 - kioslave/svn/TODO | 74 - kioslave/svn/configure.in.bot | 9 - kioslave/svn/configure.in.in | 158 -- kioslave/svn/icons/CMakeLists.txt | 12 - kioslave/svn/icons/Makefile.am | 1 - kioslave/svn/icons/cr128-action-svn_add.png | Bin 12287 -> 0 bytes kioslave/svn/icons/cr128-action-svn_branch.png | Bin 12256 -> 0 bytes kioslave/svn/icons/cr128-action-svn_merge.png | Bin 5183 -> 0 bytes kioslave/svn/icons/cr128-action-svn_remove.png | Bin 12607 -> 0 bytes kioslave/svn/icons/cr128-action-svn_status.png | Bin 14500 -> 0 bytes kioslave/svn/icons/cr128-action-svn_switch.png | Bin 12428 -> 0 bytes kioslave/svn/icons/cr16-action-svn_add.png | Bin 801 -> 0 bytes kioslave/svn/icons/cr16-action-svn_branch.png | Bin 858 -> 0 bytes kioslave/svn/icons/cr16-action-svn_merge.png | Bin 565 -> 0 bytes kioslave/svn/icons/cr16-action-svn_remove.png | Bin 660 -> 0 bytes kioslave/svn/icons/cr16-action-svn_status.png | Bin 926 -> 0 bytes kioslave/svn/icons/cr16-action-svn_switch.png | Bin 752 -> 0 bytes kioslave/svn/icons/cr22-action-svn_add.png | Bin 1232 -> 0 bytes kioslave/svn/icons/cr22-action-svn_branch.png | Bin 1261 -> 0 bytes kioslave/svn/icons/cr22-action-svn_merge.png | Bin 924 -> 0 bytes kioslave/svn/icons/cr22-action-svn_remove.png | Bin 1041 -> 0 bytes kioslave/svn/icons/cr22-action-svn_status.png | Bin 1392 -> 0 bytes kioslave/svn/icons/cr22-action-svn_switch.png | Bin 1257 -> 0 bytes kioslave/svn/icons/cr32-action-svn_add.png | Bin 1888 -> 0 bytes kioslave/svn/icons/cr32-action-svn_branch.png | Bin 2093 -> 0 bytes kioslave/svn/icons/cr32-action-svn_merge.png | Bin 1347 -> 0 bytes kioslave/svn/icons/cr32-action-svn_remove.png | Bin 1694 -> 0 bytes kioslave/svn/icons/cr32-action-svn_status.png | Bin 2326 -> 0 bytes kioslave/svn/icons/cr32-action-svn_switch.png | Bin 2048 -> 0 bytes kioslave/svn/icons/cr48-action-svn_add.png | Bin 3318 -> 0 bytes kioslave/svn/icons/cr48-action-svn_branch.png | Bin 3527 -> 0 bytes kioslave/svn/icons/cr48-action-svn_merge.png | Bin 2004 -> 0 bytes kioslave/svn/icons/cr48-action-svn_remove.png | Bin 3064 -> 0 bytes kioslave/svn/icons/cr48-action-svn_status.png | Bin 4072 -> 0 bytes kioslave/svn/icons/cr48-action-svn_switch.png | Bin 3524 -> 0 bytes kioslave/svn/icons/cr64-action-svn_add.png | Bin 4653 -> 0 bytes kioslave/svn/icons/cr64-action-svn_branch.png | Bin 5140 -> 0 bytes kioslave/svn/icons/cr64-action-svn_merge.png | Bin 2624 -> 0 bytes kioslave/svn/icons/cr64-action-svn_remove.png | Bin 4472 -> 0 bytes kioslave/svn/icons/cr64-action-svn_status.png | Bin 6036 -> 0 bytes kioslave/svn/icons/cr64-action-svn_switch.png | Bin 5161 -> 0 bytes kioslave/svn/icons/crsc-action-svn_add.svgz | Bin 81728 -> 0 bytes kioslave/svn/icons/crsc-action-svn_branch.svgz | Bin 7200 -> 0 bytes kioslave/svn/icons/crsc-action-svn_merge.svgz | Bin 9170 -> 0 bytes kioslave/svn/icons/crsc-action-svn_remove.svgz | Bin 82210 -> 0 bytes kioslave/svn/icons/crsc-action-svn_status.svgz | Bin 3590 -> 0 bytes kioslave/svn/icons/crsc-action-svn_switch.svgz | Bin 8258 -> 0 bytes kioslave/svn/ksvnd/CMakeLists.txt | 36 - kioslave/svn/ksvnd/Makefile.am | 13 - kioslave/svn/ksvnd/commitdlg.ui | 116 -- kioslave/svn/ksvnd/commitdlg.ui.h | 30 - kioslave/svn/ksvnd/ksvnd.cpp | 351 ----- kioslave/svn/ksvnd/ksvnd.desktop | 50 - kioslave/svn/ksvnd/ksvnd.h | 70 - kioslave/svn/svn+file.protocol | 43 - kioslave/svn/svn+http.protocol | 43 - kioslave/svn/svn+https.protocol | 43 - kioslave/svn/svn+ssh.protocol | 43 - kioslave/svn/svn.cpp | 1593 -------------------- kioslave/svn/svn.h | 140 -- kioslave/svn/svn.protocol | 43 - kioslave/svn/svnhelper/CMakeLists.txt | 38 - kioslave/svn/svnhelper/Makefile.am | 18 - kioslave/svn/svnhelper/apply_patch.desktop | 94 -- kioslave/svn/svnhelper/kio_svn_helper.cpp | 292 ---- kioslave/svn/svnhelper/kio_svn_helper.h | 42 - kioslave/svn/svnhelper/subversion.desktop | 919 ----------- kioslave/svn/svnhelper/subversion_toplevel.desktop | 97 -- kioslave/svn/svnhelper/subversioncheckout.ui | 204 --- kioslave/svn/svnhelper/subversiondiff.ui | 100 -- kioslave/svn/svnhelper/subversionlog.ui | 100 -- kioslave/svn/svnhelper/subversionswitch.ui | 204 --- kompare/CMakeLists.txt | 2 +- kompare/ChangeLog | 2 +- kompare/TODO | 2 +- kompare/kompare_shell.cpp | 2 +- kompare/komparepart/kompare_part.cpp | 6 +- kompare/komparepart/komparesaveoptionswidget.cpp | 2 +- kompare/libdialogpages/diffsettings.cpp | 2 +- kompare/libdialogpages/filespage.cpp | 2 +- kompare/libdialogpages/filessettings.cpp | 2 +- kompare/libdialogpages/pagebase.h | 2 +- kompare/libdialogpages/viewsettings.cpp | 2 +- kompare/libdiff2/komparemodellist.cpp | 2 +- kompare/main.cpp | 2 +- kompare/tests/subversion/contextm.diff | 2 +- kompare/tests/subversion/normalm.diff | 2 +- kompare/tests/subversion/unifiedm.diff | 2 +- kuiviewer/kuiviewer.cpp | 2 +- kuiviewer/kuiviewer_part.cpp | 4 +- kuiviewer/quicreator.h | 2 +- poxml/CMakeLists.txt | 10 +- scripts/completions/zsh/_kcmshell | 16 - scripts/completions/zsh/_tdecmshell | 16 + scripts/fixheaders | 10 +- scripts/kde-devel-vim.vim | 2 +- scripts/kde-emacs/klaralv.el | 2 +- scripts/tdesvn-build | 2 +- tdecachegrind/tdecachegrind/CMakeLists.txt | 2 +- tdecachegrind/tdecachegrind/callgraphview.cpp | 4 +- tdecachegrind/tdecachegrind/callmapview.cpp | 2 +- tdecachegrind/tdecachegrind/configdlg.cpp | 2 +- tdecachegrind/tdecachegrind/configuration.cpp | 22 +- tdecachegrind/tdecachegrind/instrview.cpp | 2 +- tdecachegrind/tdecachegrind/multiview.cpp | 2 +- tdecachegrind/tdecachegrind/partselection.cpp | 2 +- tdecachegrind/tdecachegrind/tabview.cpp | 2 +- tdecachegrind/tdecachegrind/toplevel.cpp | 26 +- tdecachegrind/tdecachegrind/traceitemview.cpp | 2 +- tdecachegrind/tdecachegrind/treemap.cpp | 2 +- tdefile-plugins/CMakeLists.txt | 14 + tdefile-plugins/Makefile.am | 1 + tdefile-plugins/c++/CMakeLists.txt | 35 + tdefile-plugins/c++/Makefile.am | 22 + tdefile-plugins/c++/tdefile_cpp.cpp | 130 ++ tdefile-plugins/c++/tdefile_cpp.desktop | 60 + tdefile-plugins/c++/tdefile_cpp.h | 41 + tdefile-plugins/c++/tdefile_h.desktop | 58 + tdefile-plugins/diff/CMakeLists.txt | 34 + tdefile-plugins/diff/Makefile.am | 22 + tdefile-plugins/diff/tdefile_diff.cpp | 610 ++++++++ tdefile-plugins/diff/tdefile_diff.desktop | 57 + tdefile-plugins/diff/tdefile_diff.h | 53 + tdefile-plugins/ts/CMakeLists.txt | 35 + tdefile-plugins/ts/Makefile.am | 21 + tdefile-plugins/ts/tdefile_ts.cpp | 93 ++ tdefile-plugins/ts/tdefile_ts.desktop | 54 + tdefile-plugins/ts/tdefile_ts.h | 40 + tdeioslave/CMakeLists.txt | 12 + tdeioslave/Makefile.am | 6 + tdeioslave/svn/AUTHORS | 1 + tdeioslave/svn/CMakeLists.txt | 46 + tdeioslave/svn/COPYING | 481 ++++++ tdeioslave/svn/ConfigureChecks.cmake | 54 + tdeioslave/svn/Makefile.am | 15 + tdeioslave/svn/README | 40 + tdeioslave/svn/TODO | 74 + tdeioslave/svn/configure.in.bot | 9 + tdeioslave/svn/configure.in.in | 158 ++ tdeioslave/svn/icons/CMakeLists.txt | 12 + tdeioslave/svn/icons/Makefile.am | 1 + tdeioslave/svn/icons/cr128-action-svn_add.png | Bin 0 -> 12287 bytes tdeioslave/svn/icons/cr128-action-svn_branch.png | Bin 0 -> 12256 bytes tdeioslave/svn/icons/cr128-action-svn_merge.png | Bin 0 -> 5183 bytes tdeioslave/svn/icons/cr128-action-svn_remove.png | Bin 0 -> 12607 bytes tdeioslave/svn/icons/cr128-action-svn_status.png | Bin 0 -> 14500 bytes tdeioslave/svn/icons/cr128-action-svn_switch.png | Bin 0 -> 12428 bytes tdeioslave/svn/icons/cr16-action-svn_add.png | Bin 0 -> 801 bytes tdeioslave/svn/icons/cr16-action-svn_branch.png | Bin 0 -> 858 bytes tdeioslave/svn/icons/cr16-action-svn_merge.png | Bin 0 -> 565 bytes tdeioslave/svn/icons/cr16-action-svn_remove.png | Bin 0 -> 660 bytes tdeioslave/svn/icons/cr16-action-svn_status.png | Bin 0 -> 926 bytes tdeioslave/svn/icons/cr16-action-svn_switch.png | Bin 0 -> 752 bytes tdeioslave/svn/icons/cr22-action-svn_add.png | Bin 0 -> 1232 bytes tdeioslave/svn/icons/cr22-action-svn_branch.png | Bin 0 -> 1261 bytes tdeioslave/svn/icons/cr22-action-svn_merge.png | Bin 0 -> 924 bytes tdeioslave/svn/icons/cr22-action-svn_remove.png | Bin 0 -> 1041 bytes tdeioslave/svn/icons/cr22-action-svn_status.png | Bin 0 -> 1392 bytes tdeioslave/svn/icons/cr22-action-svn_switch.png | Bin 0 -> 1257 bytes tdeioslave/svn/icons/cr32-action-svn_add.png | Bin 0 -> 1888 bytes tdeioslave/svn/icons/cr32-action-svn_branch.png | Bin 0 -> 2093 bytes tdeioslave/svn/icons/cr32-action-svn_merge.png | Bin 0 -> 1347 bytes tdeioslave/svn/icons/cr32-action-svn_remove.png | Bin 0 -> 1694 bytes tdeioslave/svn/icons/cr32-action-svn_status.png | Bin 0 -> 2326 bytes tdeioslave/svn/icons/cr32-action-svn_switch.png | Bin 0 -> 2048 bytes tdeioslave/svn/icons/cr48-action-svn_add.png | Bin 0 -> 3318 bytes tdeioslave/svn/icons/cr48-action-svn_branch.png | Bin 0 -> 3527 bytes tdeioslave/svn/icons/cr48-action-svn_merge.png | Bin 0 -> 2004 bytes tdeioslave/svn/icons/cr48-action-svn_remove.png | Bin 0 -> 3064 bytes tdeioslave/svn/icons/cr48-action-svn_status.png | Bin 0 -> 4072 bytes tdeioslave/svn/icons/cr48-action-svn_switch.png | Bin 0 -> 3524 bytes tdeioslave/svn/icons/cr64-action-svn_add.png | Bin 0 -> 4653 bytes tdeioslave/svn/icons/cr64-action-svn_branch.png | Bin 0 -> 5140 bytes tdeioslave/svn/icons/cr64-action-svn_merge.png | Bin 0 -> 2624 bytes tdeioslave/svn/icons/cr64-action-svn_remove.png | Bin 0 -> 4472 bytes tdeioslave/svn/icons/cr64-action-svn_status.png | Bin 0 -> 6036 bytes tdeioslave/svn/icons/cr64-action-svn_switch.png | Bin 0 -> 5161 bytes tdeioslave/svn/icons/crsc-action-svn_add.svgz | Bin 0 -> 81728 bytes tdeioslave/svn/icons/crsc-action-svn_branch.svgz | Bin 0 -> 7200 bytes tdeioslave/svn/icons/crsc-action-svn_merge.svgz | Bin 0 -> 9170 bytes tdeioslave/svn/icons/crsc-action-svn_remove.svgz | Bin 0 -> 82210 bytes tdeioslave/svn/icons/crsc-action-svn_status.svgz | Bin 0 -> 3590 bytes tdeioslave/svn/icons/crsc-action-svn_switch.svgz | Bin 0 -> 8258 bytes tdeioslave/svn/ksvnd/CMakeLists.txt | 36 + tdeioslave/svn/ksvnd/Makefile.am | 13 + tdeioslave/svn/ksvnd/commitdlg.ui | 116 ++ tdeioslave/svn/ksvnd/commitdlg.ui.h | 30 + tdeioslave/svn/ksvnd/ksvnd.cpp | 351 +++++ tdeioslave/svn/ksvnd/ksvnd.desktop | 50 + tdeioslave/svn/ksvnd/ksvnd.h | 70 + tdeioslave/svn/svn+file.protocol | 43 + tdeioslave/svn/svn+http.protocol | 43 + tdeioslave/svn/svn+https.protocol | 43 + tdeioslave/svn/svn+ssh.protocol | 43 + tdeioslave/svn/svn.cpp | 1593 ++++++++++++++++++++ tdeioslave/svn/svn.h | 140 ++ tdeioslave/svn/svn.protocol | 43 + tdeioslave/svn/svnhelper/CMakeLists.txt | 38 + tdeioslave/svn/svnhelper/Makefile.am | 18 + tdeioslave/svn/svnhelper/apply_patch.desktop | 94 ++ tdeioslave/svn/svnhelper/kio_svn_helper.cpp | 292 ++++ tdeioslave/svn/svnhelper/kio_svn_helper.h | 42 + tdeioslave/svn/svnhelper/subversion.desktop | 919 +++++++++++ .../svn/svnhelper/subversion_toplevel.desktop | 97 ++ tdeioslave/svn/svnhelper/subversioncheckout.ui | 204 +++ tdeioslave/svn/svnhelper/subversiondiff.ui | 100 ++ tdeioslave/svn/svnhelper/subversionlog.ui | 100 ++ tdeioslave/svn/svnhelper/subversionswitch.ui | 204 +++ umbrello/umbrello/CMakeLists.txt | 2 +- umbrello/umbrello/autolayout/autolayoutdlg.h | 2 +- umbrello/umbrello/codegenerationpolicy.cpp | 2 +- .../codegenerators/cppcodegenerationform.cpp | 2 +- .../codegenerators/cppcodegenerationpolicy.cpp | 2 +- .../umbrello/codegenerators/cppcodegenerator.cpp | 2 +- .../codegenerators/javacodegenerationpolicy.cpp | 2 +- .../umbrello/codegenerators/javacodegenerator.cpp | 2 +- .../codegenerators/rubycodegenerationpolicy.cpp | 2 +- .../umbrello/codegenerators/rubycodegenerator.cpp | 2 +- umbrello/umbrello/configurable.cpp | 2 +- .../umbrello/dialogs/codegenerationoptionspage.cpp | 2 +- umbrello/umbrello/dialogs/exportallviewsdialog.cpp | 2 +- umbrello/umbrello/dialogs/settingsdlg.cpp | 2 +- .../umbrello/docgenerators/docbookgenerator.cpp | 2 +- umbrello/umbrello/docgenerators/main.cpp | 2 +- umbrello/umbrello/docgenerators/xhtmlgenerator.cpp | 2 +- umbrello/umbrello/main.cpp | 2 +- umbrello/umbrello/plugin.cpp | 2 +- umbrello/umbrello/uml.cpp | 4 +- umbrello/umbrello/umldoc.cpp | 4 +- umbrello/umbrello/umllistview.cpp | 2 +- umbrello/umbrello/umlview.cpp | 4 +- umbrello/umbrello/umlviewimageexporter.cpp | 4 +- umbrello/umbrello/umlviewimageexporterall.cpp | 2 +- umbrello/umbrello/umlviewimageexportermodel.cpp | 2 +- 379 files changed, 7507 insertions(+), 7507 deletions(-) delete mode 100644 kbabel/addons/kfile-plugins/CMakeLists.txt delete mode 100644 kbabel/addons/kfile-plugins/Makefile.am delete mode 100644 kbabel/addons/kfile-plugins/kfile_po.cpp delete mode 100644 kbabel/addons/kfile-plugins/kfile_po.desktop delete mode 100644 kbabel/addons/kfile-plugins/kfile_po.h create mode 100644 kbabel/addons/tdefile-plugins/CMakeLists.txt create mode 100644 kbabel/addons/tdefile-plugins/Makefile.am create mode 100644 kbabel/addons/tdefile-plugins/tdefile_po.cpp create mode 100644 kbabel/addons/tdefile-plugins/tdefile_po.desktop create mode 100644 kbabel/addons/tdefile-plugins/tdefile_po.h delete mode 100644 kfile-plugins/CMakeLists.txt delete mode 100644 kfile-plugins/Makefile.am delete mode 100644 kfile-plugins/c++/CMakeLists.txt delete mode 100644 kfile-plugins/c++/Makefile.am delete mode 100644 kfile-plugins/c++/kfile_cpp.cpp delete mode 100644 kfile-plugins/c++/kfile_cpp.desktop delete mode 100644 kfile-plugins/c++/kfile_cpp.h delete mode 100644 kfile-plugins/c++/kfile_h.desktop delete mode 100644 kfile-plugins/diff/CMakeLists.txt delete mode 100644 kfile-plugins/diff/Makefile.am delete mode 100644 kfile-plugins/diff/kfile_diff.cpp delete mode 100644 kfile-plugins/diff/kfile_diff.desktop delete mode 100644 kfile-plugins/diff/kfile_diff.h delete mode 100644 kfile-plugins/ts/CMakeLists.txt delete mode 100644 kfile-plugins/ts/Makefile.am delete mode 100644 kfile-plugins/ts/kfile_ts.cpp delete mode 100644 kfile-plugins/ts/kfile_ts.desktop delete mode 100644 kfile-plugins/ts/kfile_ts.h delete mode 100644 kioslave/CMakeLists.txt delete mode 100644 kioslave/Makefile.am delete mode 100644 kioslave/svn/AUTHORS delete mode 100644 kioslave/svn/CMakeLists.txt delete mode 100644 kioslave/svn/COPYING delete mode 100644 kioslave/svn/ConfigureChecks.cmake delete mode 100644 kioslave/svn/Makefile.am delete mode 100644 kioslave/svn/README delete mode 100644 kioslave/svn/TODO delete mode 100644 kioslave/svn/configure.in.bot delete mode 100644 kioslave/svn/configure.in.in delete mode 100644 kioslave/svn/icons/CMakeLists.txt delete mode 100644 kioslave/svn/icons/Makefile.am delete mode 100644 kioslave/svn/icons/cr128-action-svn_add.png delete mode 100644 kioslave/svn/icons/cr128-action-svn_branch.png delete mode 100644 kioslave/svn/icons/cr128-action-svn_merge.png delete mode 100644 kioslave/svn/icons/cr128-action-svn_remove.png delete mode 100644 kioslave/svn/icons/cr128-action-svn_status.png delete mode 100644 kioslave/svn/icons/cr128-action-svn_switch.png delete mode 100644 kioslave/svn/icons/cr16-action-svn_add.png delete mode 100644 kioslave/svn/icons/cr16-action-svn_branch.png delete mode 100644 kioslave/svn/icons/cr16-action-svn_merge.png delete mode 100644 kioslave/svn/icons/cr16-action-svn_remove.png delete mode 100644 kioslave/svn/icons/cr16-action-svn_status.png delete mode 100644 kioslave/svn/icons/cr16-action-svn_switch.png delete mode 100644 kioslave/svn/icons/cr22-action-svn_add.png delete mode 100644 kioslave/svn/icons/cr22-action-svn_branch.png delete mode 100644 kioslave/svn/icons/cr22-action-svn_merge.png delete mode 100644 kioslave/svn/icons/cr22-action-svn_remove.png delete mode 100644 kioslave/svn/icons/cr22-action-svn_status.png delete mode 100644 kioslave/svn/icons/cr22-action-svn_switch.png delete mode 100644 kioslave/svn/icons/cr32-action-svn_add.png delete mode 100644 kioslave/svn/icons/cr32-action-svn_branch.png delete mode 100644 kioslave/svn/icons/cr32-action-svn_merge.png delete mode 100644 kioslave/svn/icons/cr32-action-svn_remove.png delete mode 100644 kioslave/svn/icons/cr32-action-svn_status.png delete mode 100644 kioslave/svn/icons/cr32-action-svn_switch.png delete mode 100644 kioslave/svn/icons/cr48-action-svn_add.png delete mode 100644 kioslave/svn/icons/cr48-action-svn_branch.png delete mode 100644 kioslave/svn/icons/cr48-action-svn_merge.png delete mode 100644 kioslave/svn/icons/cr48-action-svn_remove.png delete mode 100644 kioslave/svn/icons/cr48-action-svn_status.png delete mode 100644 kioslave/svn/icons/cr48-action-svn_switch.png delete mode 100644 kioslave/svn/icons/cr64-action-svn_add.png delete mode 100644 kioslave/svn/icons/cr64-action-svn_branch.png delete mode 100644 kioslave/svn/icons/cr64-action-svn_merge.png delete mode 100644 kioslave/svn/icons/cr64-action-svn_remove.png delete mode 100644 kioslave/svn/icons/cr64-action-svn_status.png delete mode 100644 kioslave/svn/icons/cr64-action-svn_switch.png delete mode 100644 kioslave/svn/icons/crsc-action-svn_add.svgz delete mode 100644 kioslave/svn/icons/crsc-action-svn_branch.svgz delete mode 100644 kioslave/svn/icons/crsc-action-svn_merge.svgz delete mode 100644 kioslave/svn/icons/crsc-action-svn_remove.svgz delete mode 100644 kioslave/svn/icons/crsc-action-svn_status.svgz delete mode 100644 kioslave/svn/icons/crsc-action-svn_switch.svgz delete mode 100644 kioslave/svn/ksvnd/CMakeLists.txt delete mode 100644 kioslave/svn/ksvnd/Makefile.am delete mode 100644 kioslave/svn/ksvnd/commitdlg.ui delete mode 100644 kioslave/svn/ksvnd/commitdlg.ui.h delete mode 100644 kioslave/svn/ksvnd/ksvnd.cpp delete mode 100644 kioslave/svn/ksvnd/ksvnd.desktop delete mode 100644 kioslave/svn/ksvnd/ksvnd.h delete mode 100644 kioslave/svn/svn+file.protocol delete mode 100644 kioslave/svn/svn+http.protocol delete mode 100644 kioslave/svn/svn+https.protocol delete mode 100644 kioslave/svn/svn+ssh.protocol delete mode 100644 kioslave/svn/svn.cpp delete mode 100644 kioslave/svn/svn.h delete mode 100644 kioslave/svn/svn.protocol delete mode 100644 kioslave/svn/svnhelper/CMakeLists.txt delete mode 100644 kioslave/svn/svnhelper/Makefile.am delete mode 100644 kioslave/svn/svnhelper/apply_patch.desktop delete mode 100644 kioslave/svn/svnhelper/kio_svn_helper.cpp delete mode 100644 kioslave/svn/svnhelper/kio_svn_helper.h delete mode 100644 kioslave/svn/svnhelper/subversion.desktop delete mode 100644 kioslave/svn/svnhelper/subversion_toplevel.desktop delete mode 100644 kioslave/svn/svnhelper/subversioncheckout.ui delete mode 100644 kioslave/svn/svnhelper/subversiondiff.ui delete mode 100644 kioslave/svn/svnhelper/subversionlog.ui delete mode 100644 kioslave/svn/svnhelper/subversionswitch.ui delete mode 100644 scripts/completions/zsh/_kcmshell create mode 100644 scripts/completions/zsh/_tdecmshell create mode 100644 tdefile-plugins/CMakeLists.txt create mode 100644 tdefile-plugins/Makefile.am create mode 100644 tdefile-plugins/c++/CMakeLists.txt create mode 100644 tdefile-plugins/c++/Makefile.am create mode 100644 tdefile-plugins/c++/tdefile_cpp.cpp create mode 100644 tdefile-plugins/c++/tdefile_cpp.desktop create mode 100644 tdefile-plugins/c++/tdefile_cpp.h create mode 100644 tdefile-plugins/c++/tdefile_h.desktop create mode 100644 tdefile-plugins/diff/CMakeLists.txt create mode 100644 tdefile-plugins/diff/Makefile.am create mode 100644 tdefile-plugins/diff/tdefile_diff.cpp create mode 100644 tdefile-plugins/diff/tdefile_diff.desktop create mode 100644 tdefile-plugins/diff/tdefile_diff.h create mode 100644 tdefile-plugins/ts/CMakeLists.txt create mode 100644 tdefile-plugins/ts/Makefile.am create mode 100644 tdefile-plugins/ts/tdefile_ts.cpp create mode 100644 tdefile-plugins/ts/tdefile_ts.desktop create mode 100644 tdefile-plugins/ts/tdefile_ts.h create mode 100644 tdeioslave/CMakeLists.txt create mode 100644 tdeioslave/Makefile.am create mode 100644 tdeioslave/svn/AUTHORS create mode 100644 tdeioslave/svn/CMakeLists.txt create mode 100644 tdeioslave/svn/COPYING create mode 100644 tdeioslave/svn/ConfigureChecks.cmake create mode 100644 tdeioslave/svn/Makefile.am create mode 100644 tdeioslave/svn/README create mode 100644 tdeioslave/svn/TODO create mode 100644 tdeioslave/svn/configure.in.bot create mode 100644 tdeioslave/svn/configure.in.in create mode 100644 tdeioslave/svn/icons/CMakeLists.txt create mode 100644 tdeioslave/svn/icons/Makefile.am create mode 100644 tdeioslave/svn/icons/cr128-action-svn_add.png create mode 100644 tdeioslave/svn/icons/cr128-action-svn_branch.png create mode 100644 tdeioslave/svn/icons/cr128-action-svn_merge.png create mode 100644 tdeioslave/svn/icons/cr128-action-svn_remove.png create mode 100644 tdeioslave/svn/icons/cr128-action-svn_status.png create mode 100644 tdeioslave/svn/icons/cr128-action-svn_switch.png create mode 100644 tdeioslave/svn/icons/cr16-action-svn_add.png create mode 100644 tdeioslave/svn/icons/cr16-action-svn_branch.png create mode 100644 tdeioslave/svn/icons/cr16-action-svn_merge.png create mode 100644 tdeioslave/svn/icons/cr16-action-svn_remove.png create mode 100644 tdeioslave/svn/icons/cr16-action-svn_status.png create mode 100644 tdeioslave/svn/icons/cr16-action-svn_switch.png create mode 100644 tdeioslave/svn/icons/cr22-action-svn_add.png create mode 100644 tdeioslave/svn/icons/cr22-action-svn_branch.png create mode 100644 tdeioslave/svn/icons/cr22-action-svn_merge.png create mode 100644 tdeioslave/svn/icons/cr22-action-svn_remove.png create mode 100644 tdeioslave/svn/icons/cr22-action-svn_status.png create mode 100644 tdeioslave/svn/icons/cr22-action-svn_switch.png create mode 100644 tdeioslave/svn/icons/cr32-action-svn_add.png create mode 100644 tdeioslave/svn/icons/cr32-action-svn_branch.png create mode 100644 tdeioslave/svn/icons/cr32-action-svn_merge.png create mode 100644 tdeioslave/svn/icons/cr32-action-svn_remove.png create mode 100644 tdeioslave/svn/icons/cr32-action-svn_status.png create mode 100644 tdeioslave/svn/icons/cr32-action-svn_switch.png create mode 100644 tdeioslave/svn/icons/cr48-action-svn_add.png create mode 100644 tdeioslave/svn/icons/cr48-action-svn_branch.png create mode 100644 tdeioslave/svn/icons/cr48-action-svn_merge.png create mode 100644 tdeioslave/svn/icons/cr48-action-svn_remove.png create mode 100644 tdeioslave/svn/icons/cr48-action-svn_status.png create mode 100644 tdeioslave/svn/icons/cr48-action-svn_switch.png create mode 100644 tdeioslave/svn/icons/cr64-action-svn_add.png create mode 100644 tdeioslave/svn/icons/cr64-action-svn_branch.png create mode 100644 tdeioslave/svn/icons/cr64-action-svn_merge.png create mode 100644 tdeioslave/svn/icons/cr64-action-svn_remove.png create mode 100644 tdeioslave/svn/icons/cr64-action-svn_status.png create mode 100644 tdeioslave/svn/icons/cr64-action-svn_switch.png create mode 100644 tdeioslave/svn/icons/crsc-action-svn_add.svgz create mode 100644 tdeioslave/svn/icons/crsc-action-svn_branch.svgz create mode 100644 tdeioslave/svn/icons/crsc-action-svn_merge.svgz create mode 100644 tdeioslave/svn/icons/crsc-action-svn_remove.svgz create mode 100644 tdeioslave/svn/icons/crsc-action-svn_status.svgz create mode 100644 tdeioslave/svn/icons/crsc-action-svn_switch.svgz create mode 100644 tdeioslave/svn/ksvnd/CMakeLists.txt create mode 100644 tdeioslave/svn/ksvnd/Makefile.am create mode 100644 tdeioslave/svn/ksvnd/commitdlg.ui create mode 100644 tdeioslave/svn/ksvnd/commitdlg.ui.h create mode 100644 tdeioslave/svn/ksvnd/ksvnd.cpp create mode 100644 tdeioslave/svn/ksvnd/ksvnd.desktop create mode 100644 tdeioslave/svn/ksvnd/ksvnd.h create mode 100644 tdeioslave/svn/svn+file.protocol create mode 100644 tdeioslave/svn/svn+http.protocol create mode 100644 tdeioslave/svn/svn+https.protocol create mode 100644 tdeioslave/svn/svn+ssh.protocol create mode 100644 tdeioslave/svn/svn.cpp create mode 100644 tdeioslave/svn/svn.h create mode 100644 tdeioslave/svn/svn.protocol create mode 100644 tdeioslave/svn/svnhelper/CMakeLists.txt create mode 100644 tdeioslave/svn/svnhelper/Makefile.am create mode 100644 tdeioslave/svn/svnhelper/apply_patch.desktop create mode 100644 tdeioslave/svn/svnhelper/kio_svn_helper.cpp create mode 100644 tdeioslave/svn/svnhelper/kio_svn_helper.h create mode 100644 tdeioslave/svn/svnhelper/subversion.desktop create mode 100644 tdeioslave/svn/svnhelper/subversion_toplevel.desktop create mode 100644 tdeioslave/svn/svnhelper/subversioncheckout.ui create mode 100644 tdeioslave/svn/svnhelper/subversiondiff.ui create mode 100644 tdeioslave/svn/svnhelper/subversionlog.ui create mode 100644 tdeioslave/svn/svnhelper/subversionswitch.ui diff --git a/CMakeLists.txt b/CMakeLists.txt index 23f3d9d4..23bc2811 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -57,8 +57,8 @@ option( BUILD_KAPPTEMPLATE "Build kapptemplate" ${BUILD_ALL} ) option( BUILD_KBABEL "Build kbabel" ${BUILD_ALL} ) option( BUILD_KBUGBUSTER "Build kbugbuster" ${BUILD_ALL} ) option( BUILD_KDEACCOUNTS_PLUGIN "Build kdeaccounts-plugin" ${BUILD_ALL} ) -option( BUILD_KFILE_PLUGINS "Build kfile-plugins" ${BUILD_ALL} ) -option( BUILD_KIOSLAVE "Build kioslave" ${BUILD_ALL} ) +option( BUILD_KFILE_PLUGINS "Build tdefile-plugins" ${BUILD_ALL} ) +option( BUILD_KIOSLAVE "Build tdeioslave" ${BUILD_ALL} ) option( BUILD_KMTRACE "Build kmtrace" ${BUILD_ALL} ) option( BUILD_KOMPARE "Build kompare" ${BUILD_ALL} ) option( BUILD_KPROFILEMETHOD "Build kprofilemethod" ${BUILD_ALL} ) @@ -97,8 +97,8 @@ tde_conditional_add_subdirectory( BUILD_KAPPTEMPLATE kapptemplate ) tde_conditional_add_subdirectory( BUILD_KBABEL kbabel ) tde_conditional_add_subdirectory( BUILD_KBUGBUSTER kbugbuster ) tde_conditional_add_subdirectory( BUILD_KDEACCOUNTS_PLUGIN kdeaccounts-plugin ) -tde_conditional_add_subdirectory( BUILD_KFILE_PLUGINS kfile-plugins ) -tde_conditional_add_subdirectory( BUILD_KIOSLAVE kioslave ) +tde_conditional_add_subdirectory( BUILD_KFILE_PLUGINS tdefile-plugins ) +tde_conditional_add_subdirectory( BUILD_KIOSLAVE tdeioslave ) tde_conditional_add_subdirectory( BUILD_KMTRACE kmtrace ) tde_conditional_add_subdirectory( BUILD_KOMPARE kompare ) tde_conditional_add_subdirectory( BUILD_KPROFILEMETHOD kprofilemethod ) diff --git a/cervisia/ChangeLog b/cervisia/ChangeLog index 7c378f87..fdecfd90 100644 --- a/cervisia/ChangeLog +++ b/cervisia/ChangeLog @@ -643,7 +643,7 @@ * Extract AddRepositoryDialog from repositorydlg.cpp * Save and read repository configuration to/from the configuration file of the cvs DCOP service - * Added kconf_update script to copy repository configuration + * Added tdeconf_update script to copy repository configuration to cvsservicerc 2002-12-28 Christian Loose @@ -656,7 +656,7 @@ uses the new cvs DCOP service * Save and read cvs client and global compression level configuration to/from the configuration file of the cvs DCOP service - * Added kconf_update script + * Added tdeconf_update script 2002-12-26 André Wöbbeking diff --git a/cervisia/Makefile.am b/cervisia/Makefile.am index 8d2b87a4..9131ac3b 100644 --- a/cervisia/Makefile.am +++ b/cervisia/Makefile.am @@ -54,7 +54,7 @@ shellrc_DATA = cervisiashellui.rc eventsrc update_DATA = cervisia.upd update_SCRIPTS = move_repositories.pl change_colors.pl cervisia-normalize_cvsroot.pl cervisia-change_repos_list.pl -updatedir = $(kde_datadir)/kconf_update +updatedir = $(kde_datadir)/tdeconf_update messages: rc.cpp $(EXTRACTRC) *.rc >> rc.cpp diff --git a/cervisia/addrepositorydlg.cpp b/cervisia/addrepositorydlg.cpp index 342f52b2..32a38c77 100644 --- a/cervisia/addrepositorydlg.cpp +++ b/cervisia/addrepositorydlg.cpp @@ -26,7 +26,7 @@ #include #include -#include +#include #include #include #include diff --git a/cervisia/annotateview.cpp b/cervisia/annotateview.cpp index 174ade20..a46e52b1 100644 --- a/cervisia/annotateview.cpp +++ b/cervisia/annotateview.cpp @@ -21,7 +21,7 @@ #include #include -#include +#include #include #include "loginfo.h" diff --git a/cervisia/cervisiapart.cpp b/cervisia/cervisiapart.cpp index e3eb4e95..34d4bfc6 100644 --- a/cervisia/cervisiapart.cpp +++ b/cervisia/cervisiapart.cpp @@ -27,7 +27,7 @@ #include #include #include -#include +#include #include #include #include @@ -41,7 +41,7 @@ #include #include #include -#include +#include #include "progressdlg.h" #include "logdlg.h" diff --git a/cervisia/cervisiashell.cpp b/cervisia/cervisiashell.cpp index 0805d8dc..b3f1539b 100644 --- a/cervisia/cervisiashell.cpp +++ b/cervisia/cervisiashell.cpp @@ -22,7 +22,7 @@ #include "cervisiashell.h" #include -#include +#include #include #include #include diff --git a/cervisia/changelogdlg.cpp b/cervisia/changelogdlg.cpp index 943d7dd0..80a3c729 100644 --- a/cervisia/changelogdlg.cpp +++ b/cervisia/changelogdlg.cpp @@ -23,7 +23,7 @@ #include #include -#include +#include #include #include #include diff --git a/cervisia/checkoutdlg.cpp b/cervisia/checkoutdlg.cpp index 0fe06352..2f63dcd5 100644 --- a/cervisia/checkoutdlg.cpp +++ b/cervisia/checkoutdlg.cpp @@ -28,7 +28,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/cervisia/commitdlg.cpp b/cervisia/commitdlg.cpp index 485547fc..e1fb43f0 100644 --- a/cervisia/commitdlg.cpp +++ b/cervisia/commitdlg.cpp @@ -28,7 +28,7 @@ #include #include #include -#include +#include #include #include "cvsservice_stub.h" diff --git a/cervisia/cvsinitdlg.cpp b/cervisia/cvsinitdlg.cpp index cf0b4641..e29f0615 100644 --- a/cervisia/cvsinitdlg.cpp +++ b/cervisia/cvsinitdlg.cpp @@ -23,7 +23,7 @@ #include #include -#include +#include #include #include #include diff --git a/cervisia/cvsservice/CMakeLists.txt b/cervisia/cvsservice/CMakeLists.txt index cfb739cf..f3181c04 100644 --- a/cervisia/cvsservice/CMakeLists.txt +++ b/cervisia/cvsservice/CMakeLists.txt @@ -55,7 +55,7 @@ tde_add_tdeinit_executable( cvsservice AUTOMOC cvsjob.skel cvsjob.stub repository.cpp repository.skel repository.stub sshagent.cpp cvsserviceutils.cpp cvsloginjob.cpp cvsloginjob.skel cvsloginjob.stub - LINK kio-shared + LINK tdeio-shared ) diff --git a/cervisia/cvsservice/cvsservice.cpp b/cervisia/cvsservice/cvsservice.cpp index 70cb283d..8aa5c2a6 100644 --- a/cervisia/cvsservice/cvsservice.cpp +++ b/cervisia/cvsservice/cvsservice.cpp @@ -26,7 +26,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/cervisia/cvsservice/repository.cpp b/cervisia/cvsservice/repository.cpp index 92a56baa..7f5d54ee 100644 --- a/cervisia/cvsservice/repository.cpp +++ b/cervisia/cvsservice/repository.cpp @@ -25,7 +25,7 @@ #include #include -#include +#include #include #include diff --git a/cervisia/diffdlg.cpp b/cervisia/diffdlg.cpp index bdf34841..35615507 100644 --- a/cervisia/diffdlg.cpp +++ b/cervisia/diffdlg.cpp @@ -27,8 +27,8 @@ #include #include #include -#include -#include +#include +#include #include #include #include diff --git a/cervisia/diffview.cpp b/cervisia/diffview.cpp index c3e43862..84863bf8 100644 --- a/cervisia/diffview.cpp +++ b/cervisia/diffview.cpp @@ -27,7 +27,7 @@ #include #include -#include +#include #include #include #include diff --git a/cervisia/historydlg.cpp b/cervisia/historydlg.cpp index 8f2ffee2..78d0b73b 100644 --- a/cervisia/historydlg.cpp +++ b/cervisia/historydlg.cpp @@ -25,7 +25,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/cervisia/logdlg.cpp b/cervisia/logdlg.cpp index bb0b9223..51ef228b 100644 --- a/cervisia/logdlg.cpp +++ b/cervisia/logdlg.cpp @@ -30,9 +30,9 @@ #include #include #include -#include +#include #include -#include +#include #include #include #include diff --git a/cervisia/main.cpp b/cervisia/main.cpp index e5aa2120..215f1320 100644 --- a/cervisia/main.cpp +++ b/cervisia/main.cpp @@ -24,7 +24,7 @@ #include #include #include -#include +#include #include #include diff --git a/cervisia/misc.cpp b/cervisia/misc.cpp index 7a13b15c..11e60e5e 100644 --- a/cervisia/misc.cpp +++ b/cervisia/misc.cpp @@ -29,7 +29,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/cervisia/progressdlg.cpp b/cervisia/progressdlg.cpp index a7e34018..d3d1d7dc 100644 --- a/cervisia/progressdlg.cpp +++ b/cervisia/progressdlg.cpp @@ -30,7 +30,7 @@ #include #include #include -#include +#include #include "cervisiasettings.h" diff --git a/cervisia/protocolview.cpp b/cervisia/protocolview.cpp index 62e15dde..a94be9f5 100644 --- a/cervisia/protocolview.cpp +++ b/cervisia/protocolview.cpp @@ -24,7 +24,7 @@ #include #include #include -#include +#include #include #include diff --git a/cervisia/repositories.cpp b/cervisia/repositories.cpp index 28302ce3..820d468b 100644 --- a/cervisia/repositories.cpp +++ b/cervisia/repositories.cpp @@ -23,7 +23,7 @@ #include #include #include -#include +#include #include "repositories.h" #include "cervisiapart.h" diff --git a/cervisia/repositorydlg.cpp b/cervisia/repositorydlg.cpp index 54694307..0d29cbea 100644 --- a/cervisia/repositorydlg.cpp +++ b/cervisia/repositorydlg.cpp @@ -24,7 +24,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/cervisia/resolvedlg.cpp b/cervisia/resolvedlg.cpp index d9652bf1..93c915fc 100644 --- a/cervisia/resolvedlg.cpp +++ b/cervisia/resolvedlg.cpp @@ -29,7 +29,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/cervisia/settingsdlg.cpp b/cervisia/settingsdlg.cpp index 6e677e95..dca2730c 100644 --- a/cervisia/settingsdlg.cpp +++ b/cervisia/settingsdlg.cpp @@ -32,7 +32,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/cervisia/updateview.cpp b/cervisia/updateview.cpp index c05c1c3f..19311a0e 100644 --- a/cervisia/updateview.cpp +++ b/cervisia/updateview.cpp @@ -25,7 +25,7 @@ #include #include #include -#include +#include #include #include "cervisiasettings.h" diff --git a/cervisia/watchersdlg.cpp b/cervisia/watchersdlg.cpp index fec97848..a3ca17ed 100644 --- a/cervisia/watchersdlg.cpp +++ b/cervisia/watchersdlg.cpp @@ -21,7 +21,7 @@ #include #include -#include +#include #include #include diff --git a/kapptemplate/kapp/app.cpp b/kapptemplate/kapp/app.cpp index 7f69e8e8..df8cc8ed 100644 --- a/kapptemplate/kapp/app.cpp +++ b/kapptemplate/kapp/app.cpp @@ -20,9 +20,9 @@ cat << EOF > $LOCATION_ROOT/${APP_NAME_LC}/${APP_NAME_LC}.cpp #include #include #include -#include -#include -#include +#include +#include +#include #include #include #include diff --git a/kapptemplate/kpartapp/app.cpp b/kapptemplate/kpartapp/app.cpp index 77beb4fc..be995d83 100644 --- a/kapptemplate/kpartapp/app.cpp +++ b/kapptemplate/kpartapp/app.cpp @@ -9,7 +9,7 @@ cat << EOF > $LOCATION_ROOT/${APP_NAME_LC}/${APP_NAME_LC}.cpp #include "${APP_NAME_LC}.moc" #include -#include +#include #include #include @@ -19,7 +19,7 @@ cat << EOF > $LOCATION_ROOT/${APP_NAME_LC}/${APP_NAME_LC}.cpp #include #include -#include +#include #include ${APP_NAME}::${APP_NAME}() diff --git a/kapptemplate/kpartapp/app_part.cpp b/kapptemplate/kpartapp/app_part.cpp index 07843be0..7ef6e964 100644 --- a/kapptemplate/kpartapp/app_part.cpp +++ b/kapptemplate/kpartapp/app_part.cpp @@ -7,7 +7,7 @@ cat << EOF > $LOCATION_ROOT/${APP_NAME_LC}/${APP_NAME_LC}_part.cpp #include #include #include -#include +#include #include #include diff --git a/kbabel/addons/CMakeLists.txt b/kbabel/addons/CMakeLists.txt index 8b387853..6cf70a4c 100644 --- a/kbabel/addons/CMakeLists.txt +++ b/kbabel/addons/CMakeLists.txt @@ -10,4 +10,4 @@ ################################################# add_subdirectory( preview ) -add_subdirectory( kfile-plugins ) +add_subdirectory( tdefile-plugins ) diff --git a/kbabel/addons/Makefile.am b/kbabel/addons/Makefile.am index 291996f0..ea1e5c4e 100644 --- a/kbabel/addons/Makefile.am +++ b/kbabel/addons/Makefile.am @@ -1,3 +1,3 @@ AUTOMAKE_OPTIONS = foreign 1.4 -SUBDIRS = preview kfile-plugins +SUBDIRS = preview tdefile-plugins diff --git a/kbabel/addons/kfile-plugins/CMakeLists.txt b/kbabel/addons/kfile-plugins/CMakeLists.txt deleted file mode 100644 index f6fffd65..00000000 --- a/kbabel/addons/kfile-plugins/CMakeLists.txt +++ /dev/null @@ -1,35 +0,0 @@ -################################################# -# -# (C) 2010-2011 Serghei Amelian -# serghei (DOT) amelian (AT) gmail.com -# -# Improvements and feedback are welcome -# -# This file is released under GPL >= 2 -# -################################################# - -include_directories( - ${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/../../common - ${TDE_INCLUDE_DIR} - ${TQT_INCLUDE_DIRS} -) - -link_directories( - ${TQT_LIBRARY_DIRS} -) - - -##### other data ################################ - -install( FILES kfile_po.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) - - -##### kfile_po (module) ######################### - -tde_add_kpart( kfile_po AUTOMOC - SOURCES kfile_po.cpp - LINK kbabelcommon-shared - DESTINATION ${PLUGIN_INSTALL_DIR} -) diff --git a/kbabel/addons/kfile-plugins/Makefile.am b/kbabel/addons/kfile-plugins/Makefile.am deleted file mode 100644 index fab776e0..00000000 --- a/kbabel/addons/kfile-plugins/Makefile.am +++ /dev/null @@ -1,22 +0,0 @@ -## Makefile.am for po file meta info plugin - -# set the include path for X, qt and KDE -INCLUDES = -I$(srcdir)/../../common/ $(all_includes) - -# these are the headers for the project -noinst_HEADERS = kfile_po.h - -kde_module_LTLIBRARIES = kfile_po.la - -kfile_po_la_SOURCES = kfile_po.cpp -kfile_po_la_LDFLAGS = $(all_libraries) -module $(KDE_PLUGIN) -kfile_po_la_LIBADD = ../../common/libkbabelcommon.la $(LIB_KIO) - -# let automoc handle all of the meta source files (moc) -METASOURCES = AUTO - -messages: rc.cpp - $(XGETTEXT) kfile_po.cpp -o $(podir)/kfile_po.pot - -services_DATA = kfile_po.desktop -servicesdir = $(kde_servicesdir) diff --git a/kbabel/addons/kfile-plugins/kfile_po.cpp b/kbabel/addons/kfile-plugins/kfile_po.cpp deleted file mode 100644 index 156f52c1..00000000 --- a/kbabel/addons/kfile-plugins/kfile_po.cpp +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright (C) 2002 Marco Wegner - * - * 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 version 2. - * - * 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; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - * - In addition, as a special exception, the copyright holders give - permission to link the code of this program with any edition of - the TQt library by Trolltech AS, Norway (or with modified versions - of TQt that use the same license as TQt), and distribute linked - combinations including the two. You must obey the GNU General - Public License in all respects for all of the code used other than - TQt. If you modify this file, you may extend this exception to - your version of the file, but you are not obligated to do so. If - you do not wish to do so, delete this exception statement from - your version. - */ - - -#include "kfile_po.h" - -#include - -#include "poinfo.h" -#include - -using namespace KBabel; - -typedef KGenericFactory POFactory; -K_EXPORT_COMPONENT_FACTORY(kfile_po, POFactory("kfile_po")) - -KPoPlugin::KPoPlugin(TQObject *parent, const char *name, - const TQStringList& args) - : KFilePlugin(parent, name, args) -{ - KFileMimeTypeInfo* info = addMimeTypeInfo("application/x-gettext"); - - KFileMimeTypeInfo::GroupInfo* group = - addGroupInfo(info, "CatalogInfo", i18n("Catalog Information")); - - KFileMimeTypeInfo::ItemInfo* item; - item = addItemInfo(group, "Total", i18n("Total Messages"), TQVariant::Int); - item = addItemInfo(group, "Fuzzy", i18n("Fuzzy Messages"), TQVariant::Int); - item = addItemInfo(group, "Untranslated", i18n("Untranslated Messages"), TQVariant::Int); - item = addItemInfo(group, "LastTranslator", i18n("Last Translator"), TQVariant::String); - item = addItemInfo(group, "LanguageTeam", i18n("Language Team"), TQVariant::String); - item = addItemInfo(group, "Revision", i18n("Revision"), TQVariant::String); -} - -bool KPoPlugin::readInfo(KFileMetaInfo& metaInfo, uint) -{ - PoInfo poInfo; - TQStringList wordList; - ConversionStatus status = PoInfo::info(metaInfo.path(), poInfo, wordList, false, false, false); - if (status == OK) { - KFileMetaInfoGroup group = appendGroup(metaInfo, "CatalogInfo"); - - appendItem(group, "Total", poInfo.total); - appendItem(group, "Fuzzy", poInfo.fuzzy); - appendItem(group, "Untranslated", poInfo.untranslated); - appendItem(group, "LastTranslator", poInfo.lastTranslator); - appendItem(group, "LanguageTeam", poInfo.languageTeam); - appendItem(group, "Revision", poInfo.revision); - - return true; - } - return false; -} - -#include "kfile_po.moc" diff --git a/kbabel/addons/kfile-plugins/kfile_po.desktop b/kbabel/addons/kfile-plugins/kfile_po.desktop deleted file mode 100644 index f844f531..00000000 --- a/kbabel/addons/kfile-plugins/kfile_po.desktop +++ /dev/null @@ -1,61 +0,0 @@ -[Desktop Entry] -Type=Service -Name=Catalog Information -Name[af]=Katalogus Informasie -Name[bg]=Информация за каталог -Name[br]=Titouroù diwar-benn ar c'hatalog -Name[bs]=Katalog informacije -Name[ca]=Informació de catàleg -Name[cs]=Informace o katalogu -Name[cy]=Gwybodaeth Catalog -Name[da]=Kataloginformation -Name[de]=Katalog-Information -Name[el]=Πληροφορίες καταλόγου -Name[en_GB]=Catalogue Information -Name[eo]=Kataloginformoj -Name[es]=Información de catálogo -Name[et]=Kataloogi info -Name[eu]=Katalogo informatizioa -Name[fa]=اطلاعات فهرست -Name[fi]=Käännöspaketin tiedot -Name[fr]=Informations du catalogue -Name[ga]=Eolas Catalóga -Name[gl]=Información do Catálogo -Name[he]=מידע קטלוג -Name[hi]=केटलॉग जानकारी -Name[hr]=Informacije o katalogu -Name[hu]=Katalógusjellemzők -Name[is]=Upplýsingar um þýðingaskrár -Name[it]=Informazioni sul catalogo -Name[ja]=カタログ情報 -Name[ka]=კატალოგის ინფორმაცია -Name[kk]=Каталог мәліметі -Name[lt]=Katalogo informacija -Name[ms]=Maklumat Katalog -Name[nb]=Kataloginformasjon -Name[nds]=Katalooginformatschoon -Name[ne]=विवरणिका सूचना -Name[nl]=Catalogusinformatie -Name[nn]=Kataloginformasjon -Name[pa]=ਸੂਚੀ ਜਾਣਕਾਰੀ -Name[pl]=Informacje o tłumaczeniu -Name[pt]=Informações do Catálogo -Name[pt_BR]=Informação do Catálogo -Name[ru]=Сведения о файле сообщений -Name[sk]=Informácie o katalógu -Name[sl]=Informacije o katalogu -Name[sr]=Информације о каталогу -Name[sr@Latn]=Informacije o katalogu -Name[sv]=Kataloginformation -Name[ta]=விவரப்பட்டி தகவல் -Name[tg]=Маълумот дар бораи каталог -Name[tr]=Katalog Bilgisi -Name[uk]=Інформація каталогу -Name[xh]=Ulwazi Lwencwadi yemifanekiso -Name[zh_CN]=目录信息 -Name[zh_TW]=類別資訊 -ServiceTypes=KFilePlugin -X-TDE-Library=kfile_po -MimeType=application/x-gettext -PreferredGroups=CatalogInfo -PreferredItems=Total,Fuzzy,Untranslated,LastTranslator,LanguageTeam,Revision diff --git a/kbabel/addons/kfile-plugins/kfile_po.h b/kbabel/addons/kfile-plugins/kfile_po.h deleted file mode 100644 index 63e740aa..00000000 --- a/kbabel/addons/kfile-plugins/kfile_po.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (C) 2002 Marco Wegner - * - * 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 version 2. - * - * 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; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - * - In addition, as a special exception, the copyright holders give - permission to link the code of this program with any edition of - the TQt library by Trolltech AS, Norway (or with modified versions - of TQt that use the same license as TQt), and distribute linked - combinations including the two. You must obey the GNU General - Public License in all respects for all of the code used other than - TQt. If you modify this file, you may extend this exception to - your version of the file, but you are not obligated to do so. If - you do not wish to do so, delete this exception statement from - your version. - - */ - - -#ifndef KFILE_PO_H -#define KFILE_PO_H - -#include - -class TQStringList; - - -class KPoPlugin : public KFilePlugin -{ - Q_OBJECT - - - public: - KPoPlugin(TQObject *parent, const char *name, const TQStringList& args); - virtual bool readInfo(KFileMetaInfo& info, uint); -}; - -#endif // KFILE_PO_H diff --git a/kbabel/addons/preview/pothumbcreator.h b/kbabel/addons/preview/pothumbcreator.h index f975b554..d74a8ccd 100644 --- a/kbabel/addons/preview/pothumbcreator.h +++ b/kbabel/addons/preview/pothumbcreator.h @@ -35,7 +35,7 @@ #ifndef POTHUMBCREATOR_H #define POTHUMBCREATOR_H -#include +#include class KPixmapSplitter; diff --git a/kbabel/addons/tdefile-plugins/CMakeLists.txt b/kbabel/addons/tdefile-plugins/CMakeLists.txt new file mode 100644 index 00000000..57fe6f65 --- /dev/null +++ b/kbabel/addons/tdefile-plugins/CMakeLists.txt @@ -0,0 +1,35 @@ +################################################# +# +# (C) 2010-2011 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +include_directories( + ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/../../common + ${TDE_INCLUDE_DIR} + ${TQT_INCLUDE_DIRS} +) + +link_directories( + ${TQT_LIBRARY_DIRS} +) + + +##### other data ################################ + +install( FILES tdefile_po.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) + + +##### tdefile_po (module) ######################### + +tde_add_kpart( tdefile_po AUTOMOC + SOURCES tdefile_po.cpp + LINK kbabelcommon-shared + DESTINATION ${PLUGIN_INSTALL_DIR} +) diff --git a/kbabel/addons/tdefile-plugins/Makefile.am b/kbabel/addons/tdefile-plugins/Makefile.am new file mode 100644 index 00000000..2d2b252f --- /dev/null +++ b/kbabel/addons/tdefile-plugins/Makefile.am @@ -0,0 +1,22 @@ +## Makefile.am for po file meta info plugin + +# set the include path for X, qt and KDE +INCLUDES = -I$(srcdir)/../../common/ $(all_includes) + +# these are the headers for the project +noinst_HEADERS = tdefile_po.h + +kde_module_LTLIBRARIES = tdefile_po.la + +tdefile_po_la_SOURCES = tdefile_po.cpp +tdefile_po_la_LDFLAGS = $(all_libraries) -module $(KDE_PLUGIN) +tdefile_po_la_LIBADD = ../../common/libkbabelcommon.la $(LIB_KIO) + +# let automoc handle all of the meta source files (moc) +METASOURCES = AUTO + +messages: rc.cpp + $(XGETTEXT) tdefile_po.cpp -o $(podir)/tdefile_po.pot + +services_DATA = tdefile_po.desktop +servicesdir = $(kde_servicesdir) diff --git a/kbabel/addons/tdefile-plugins/tdefile_po.cpp b/kbabel/addons/tdefile-plugins/tdefile_po.cpp new file mode 100644 index 00000000..248f6fc1 --- /dev/null +++ b/kbabel/addons/tdefile-plugins/tdefile_po.cpp @@ -0,0 +1,81 @@ +/* + * Copyright (C) 2002 Marco Wegner + * + * 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 version 2. + * + * 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; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + * + In addition, as a special exception, the copyright holders give + permission to link the code of this program with any edition of + the TQt library by Trolltech AS, Norway (or with modified versions + of TQt that use the same license as TQt), and distribute linked + combinations including the two. You must obey the GNU General + Public License in all respects for all of the code used other than + TQt. If you modify this file, you may extend this exception to + your version of the file, but you are not obligated to do so. If + you do not wish to do so, delete this exception statement from + your version. + */ + + +#include "tdefile_po.h" + +#include + +#include "poinfo.h" +#include + +using namespace KBabel; + +typedef KGenericFactory POFactory; +K_EXPORT_COMPONENT_FACTORY(tdefile_po, POFactory("tdefile_po")) + +KPoPlugin::KPoPlugin(TQObject *parent, const char *name, + const TQStringList& args) + : KFilePlugin(parent, name, args) +{ + KFileMimeTypeInfo* info = addMimeTypeInfo("application/x-gettext"); + + KFileMimeTypeInfo::GroupInfo* group = + addGroupInfo(info, "CatalogInfo", i18n("Catalog Information")); + + KFileMimeTypeInfo::ItemInfo* item; + item = addItemInfo(group, "Total", i18n("Total Messages"), TQVariant::Int); + item = addItemInfo(group, "Fuzzy", i18n("Fuzzy Messages"), TQVariant::Int); + item = addItemInfo(group, "Untranslated", i18n("Untranslated Messages"), TQVariant::Int); + item = addItemInfo(group, "LastTranslator", i18n("Last Translator"), TQVariant::String); + item = addItemInfo(group, "LanguageTeam", i18n("Language Team"), TQVariant::String); + item = addItemInfo(group, "Revision", i18n("Revision"), TQVariant::String); +} + +bool KPoPlugin::readInfo(KFileMetaInfo& metaInfo, uint) +{ + PoInfo poInfo; + TQStringList wordList; + ConversionStatus status = PoInfo::info(metaInfo.path(), poInfo, wordList, false, false, false); + if (status == OK) { + KFileMetaInfoGroup group = appendGroup(metaInfo, "CatalogInfo"); + + appendItem(group, "Total", poInfo.total); + appendItem(group, "Fuzzy", poInfo.fuzzy); + appendItem(group, "Untranslated", poInfo.untranslated); + appendItem(group, "LastTranslator", poInfo.lastTranslator); + appendItem(group, "LanguageTeam", poInfo.languageTeam); + appendItem(group, "Revision", poInfo.revision); + + return true; + } + return false; +} + +#include "tdefile_po.moc" diff --git a/kbabel/addons/tdefile-plugins/tdefile_po.desktop b/kbabel/addons/tdefile-plugins/tdefile_po.desktop new file mode 100644 index 00000000..7661ed91 --- /dev/null +++ b/kbabel/addons/tdefile-plugins/tdefile_po.desktop @@ -0,0 +1,61 @@ +[Desktop Entry] +Type=Service +Name=Catalog Information +Name[af]=Katalogus Informasie +Name[bg]=Информация за каталог +Name[br]=Titouroù diwar-benn ar c'hatalog +Name[bs]=Katalog informacije +Name[ca]=Informació de catàleg +Name[cs]=Informace o katalogu +Name[cy]=Gwybodaeth Catalog +Name[da]=Kataloginformation +Name[de]=Katalog-Information +Name[el]=Πληροφορίες καταλόγου +Name[en_GB]=Catalogue Information +Name[eo]=Kataloginformoj +Name[es]=Información de catálogo +Name[et]=Kataloogi info +Name[eu]=Katalogo informatizioa +Name[fa]=اطلاعات فهرست +Name[fi]=Käännöspaketin tiedot +Name[fr]=Informations du catalogue +Name[ga]=Eolas Catalóga +Name[gl]=Información do Catálogo +Name[he]=מידע קטלוג +Name[hi]=केटलॉग जानकारी +Name[hr]=Informacije o katalogu +Name[hu]=Katalógusjellemzők +Name[is]=Upplýsingar um þýðingaskrár +Name[it]=Informazioni sul catalogo +Name[ja]=カタログ情報 +Name[ka]=კატალოგის ინფორმაცია +Name[kk]=Каталог мәліметі +Name[lt]=Katalogo informacija +Name[ms]=Maklumat Katalog +Name[nb]=Kataloginformasjon +Name[nds]=Katalooginformatschoon +Name[ne]=विवरणिका सूचना +Name[nl]=Catalogusinformatie +Name[nn]=Kataloginformasjon +Name[pa]=ਸੂਚੀ ਜਾਣਕਾਰੀ +Name[pl]=Informacje o tłumaczeniu +Name[pt]=Informações do Catálogo +Name[pt_BR]=Informação do Catálogo +Name[ru]=Сведения о файле сообщений +Name[sk]=Informácie o katalógu +Name[sl]=Informacije o katalogu +Name[sr]=Информације о каталогу +Name[sr@Latn]=Informacije o katalogu +Name[sv]=Kataloginformation +Name[ta]=விவரப்பட்டி தகவல் +Name[tg]=Маълумот дар бораи каталог +Name[tr]=Katalog Bilgisi +Name[uk]=Інформація каталогу +Name[xh]=Ulwazi Lwencwadi yemifanekiso +Name[zh_CN]=目录信息 +Name[zh_TW]=類別資訊 +ServiceTypes=KFilePlugin +X-TDE-Library=tdefile_po +MimeType=application/x-gettext +PreferredGroups=CatalogInfo +PreferredItems=Total,Fuzzy,Untranslated,LastTranslator,LanguageTeam,Revision diff --git a/kbabel/addons/tdefile-plugins/tdefile_po.h b/kbabel/addons/tdefile-plugins/tdefile_po.h new file mode 100644 index 00000000..75ed429b --- /dev/null +++ b/kbabel/addons/tdefile-plugins/tdefile_po.h @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2002 Marco Wegner + * + * 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 version 2. + * + * 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; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + * + In addition, as a special exception, the copyright holders give + permission to link the code of this program with any edition of + the TQt library by Trolltech AS, Norway (or with modified versions + of TQt that use the same license as TQt), and distribute linked + combinations including the two. You must obey the GNU General + Public License in all respects for all of the code used other than + TQt. If you modify this file, you may extend this exception to + your version of the file, but you are not obligated to do so. If + you do not wish to do so, delete this exception statement from + your version. + + */ + + +#ifndef KFILE_PO_H +#define KFILE_PO_H + +#include + +class TQStringList; + + +class KPoPlugin : public KFilePlugin +{ + Q_OBJECT + + + public: + KPoPlugin(TQObject *parent, const char *name, const TQStringList& args); + virtual bool readInfo(KFileMetaInfo& info, uint); +}; + +#endif // KFILE_PO_H diff --git a/kbabel/catalogmanager/CMakeLists.txt b/kbabel/catalogmanager/CMakeLists.txt index c9d8443e..646a0f78 100644 --- a/kbabel/catalogmanager/CMakeLists.txt +++ b/kbabel/catalogmanager/CMakeLists.txt @@ -46,7 +46,7 @@ tde_add_executable( catalogmanager LINK catalogmanager-static catalogmanagercvs-static catalogmanagersvn-static kbabelcommonui-static kbabeldict-static - kbabelcommon-shared kbabeldictplugin-shared kio-shared + kbabelcommon-shared kbabeldictplugin-shared tdeio-shared DESTINATION ${BIN_INSTALL_DIR} ) diff --git a/kbabel/catalogmanager/catalogmanager.cpp b/kbabel/catalogmanager/catalogmanager.cpp index e2992d21..41c18005 100644 --- a/kbabel/catalogmanager/catalogmanager.cpp +++ b/kbabel/catalogmanager/catalogmanager.cpp @@ -52,12 +52,12 @@ #include #include #include -#include +#include #include #include #include //#include -#include +#include #include #include #include diff --git a/kbabel/catalogmanager/catalogmanagerview.cpp b/kbabel/catalogmanager/catalogmanagerview.cpp index c2fffb9e..de3ebf60 100644 --- a/kbabel/catalogmanager/catalogmanagerview.cpp +++ b/kbabel/catalogmanager/catalogmanagerview.cpp @@ -60,14 +60,14 @@ #include #include #include -#include +#include #include #include #include #include #include -#include -#include +#include +#include #include #include #include diff --git a/kbabel/catalogmanager/findinfilesdialog.cpp b/kbabel/catalogmanager/findinfilesdialog.cpp index b035666a..be293012 100644 --- a/kbabel/catalogmanager/findinfilesdialog.cpp +++ b/kbabel/catalogmanager/findinfilesdialog.cpp @@ -37,7 +37,7 @@ #include #include -#include +#include #include #include #include diff --git a/kbabel/catalogmanager/libcvs/cvsdialog.cpp b/kbabel/catalogmanager/libcvs/cvsdialog.cpp index 054e8489..27eee88f 100644 --- a/kbabel/catalogmanager/libcvs/cvsdialog.cpp +++ b/kbabel/catalogmanager/libcvs/cvsdialog.cpp @@ -46,7 +46,7 @@ #include #include // KDE include files -#include +#include #include #include #include diff --git a/kbabel/catalogmanager/libsvn/svndialog.cpp b/kbabel/catalogmanager/libsvn/svndialog.cpp index c5f8c24a..083ce22d 100644 --- a/kbabel/catalogmanager/libsvn/svndialog.cpp +++ b/kbabel/catalogmanager/libsvn/svndialog.cpp @@ -45,7 +45,7 @@ #include #include // KDE include files -#include +#include #include #include #include diff --git a/kbabel/catalogmanager/markpatterndialog.cpp b/kbabel/catalogmanager/markpatterndialog.cpp index 21e5eadc..7b033235 100644 --- a/kbabel/catalogmanager/markpatterndialog.cpp +++ b/kbabel/catalogmanager/markpatterndialog.cpp @@ -38,7 +38,7 @@ #include #include -#include +#include #include #include #include diff --git a/kbabel/common/CMakeLists.txt b/kbabel/common/CMakeLists.txt index f6b6fd96..d0377a65 100644 --- a/kbabel/common/CMakeLists.txt +++ b/kbabel/common/CMakeLists.txt @@ -58,6 +58,6 @@ tde_add_library( kbabelcommon SHARED AUTOMOC exportplugin.cpp kbproject.cpp kbprojectmanager.cpp kbprojectsettings.kcfgc projectsettings.cpp stringdistance.cpp VERSION 3.2.0 - LINK gettext-static kio-shared + LINK gettext-static tdeio-shared DESTINATION ${LIB_INSTALL_DIR} ) diff --git a/kbabel/common/Makefile.am b/kbabel/common/Makefile.am index 7d073444..eb455a7a 100644 --- a/kbabel/common/Makefile.am +++ b/kbabel/common/Makefile.am @@ -56,7 +56,7 @@ catalog.lo: version.h # updating of project settings for default project update_DATA = kbabel-projectrename.upd -updatedir = $(kde_datadir)/kconf_update +updatedir = $(kde_datadir)/tdeconf_update api: mkdir -p API && kdoc -d API -u $$PWD/API -p -ltdecore -lqt-mt -ldcop $(pkginclude_HEADERS) diff --git a/kbabel/common/catalog.cpp b/kbabel/common/catalog.cpp index adf845fe..86f47c29 100644 --- a/kbabel/common/catalog.cpp +++ b/kbabel/common/catalog.cpp @@ -40,7 +40,7 @@ #include #include -#include +#include #include #include #include @@ -48,7 +48,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/kbabel/common/catalogsettings.cpp b/kbabel/common/catalogsettings.cpp index d16bc9cc..64185d09 100644 --- a/kbabel/common/catalogsettings.cpp +++ b/kbabel/common/catalogsettings.cpp @@ -33,7 +33,7 @@ **************************************************************************** */ #include "catalogsettings.h" #include "kbprojectsettings.h" -#include +#include #include #include #include diff --git a/kbabel/common/kbmailer.cpp b/kbabel/common/kbmailer.cpp index 156754d0..3fbc12c2 100644 --- a/kbabel/common/kbmailer.cpp +++ b/kbabel/common/kbmailer.cpp @@ -40,7 +40,7 @@ #include #include -#include +#include #include #include #include diff --git a/kbabel/common/kbproject.h b/kbabel/common/kbproject.h index 3b2040ed..cedc97c8 100644 --- a/kbabel/common/kbproject.h +++ b/kbabel/common/kbproject.h @@ -35,7 +35,7 @@ #include -#include +#include #include "catalogsettings.h" #include "projectsettings.h" diff --git a/kbabel/common/poinfo.cpp b/kbabel/common/poinfo.cpp index 81bfd8b9..6fc27b55 100644 --- a/kbabel/common/poinfo.cpp +++ b/kbabel/common/poinfo.cpp @@ -38,7 +38,7 @@ #include "resources.h" #include -#include +#include #include #include diff --git a/kbabel/common/tagextractor.cpp b/kbabel/common/tagextractor.cpp index 594ec948..bbf9ee1d 100644 --- a/kbabel/common/tagextractor.cpp +++ b/kbabel/common/tagextractor.cpp @@ -36,7 +36,7 @@ #include "tagextractor.h" #include -#include +#include using namespace KBabel; diff --git a/kbabel/commonui/context.cpp b/kbabel/commonui/context.cpp index cf79f4b1..70a020a8 100644 --- a/kbabel/commonui/context.cpp +++ b/kbabel/commonui/context.cpp @@ -46,14 +46,14 @@ #include #include -#include +#include #include #include #include #include #include #include -#include +#include #include #include diff --git a/kbabel/commonui/finddialog.cpp b/kbabel/commonui/finddialog.cpp index 222fbea1..4c3f3f55 100644 --- a/kbabel/commonui/finddialog.cpp +++ b/kbabel/commonui/finddialog.cpp @@ -44,7 +44,7 @@ #include #include -#include +#include #include #include #include diff --git a/kbabel/commonui/projectpref.h b/kbabel/commonui/projectpref.h index ca99bdea..0a72bf02 100644 --- a/kbabel/commonui/projectpref.h +++ b/kbabel/commonui/projectpref.h @@ -35,7 +35,7 @@ #ifndef PROJECTPREF_H #define PROJECTPREF_H -#include +#include #include class SavePreferences; diff --git a/kbabel/commonui/projectprefwidgets.cpp b/kbabel/commonui/projectprefwidgets.cpp index d4785445..63579dc8 100644 --- a/kbabel/commonui/projectprefwidgets.cpp +++ b/kbabel/commonui/projectprefwidgets.cpp @@ -45,7 +45,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/kbabel/commonui/roughtransdlg.cpp b/kbabel/commonui/roughtransdlg.cpp index f19747e3..caf919e3 100644 --- a/kbabel/commonui/roughtransdlg.cpp +++ b/kbabel/commonui/roughtransdlg.cpp @@ -52,7 +52,7 @@ #include #include -#include +#include #include #include #include diff --git a/kbabel/datatools/accelerators/main.cc b/kbabel/datatools/accelerators/main.cc index 75ca871d..275a6289 100644 --- a/kbabel/datatools/accelerators/main.cc +++ b/kbabel/datatools/accelerators/main.cc @@ -35,7 +35,7 @@ #include "catalogsettings.h" #include "main.h" -#include +#include #include #include #include diff --git a/kbabel/datatools/arguments/main.cc b/kbabel/datatools/arguments/main.cc index f12bfac8..e125d792 100644 --- a/kbabel/datatools/arguments/main.cc +++ b/kbabel/datatools/arguments/main.cc @@ -35,7 +35,7 @@ #include "catalogsettings.h" #include "main.h" -#include +#include #include #include #include diff --git a/kbabel/datatools/context/main.cc b/kbabel/datatools/context/main.cc index 95736dbd..3288aa96 100644 --- a/kbabel/datatools/context/main.cc +++ b/kbabel/datatools/context/main.cc @@ -35,7 +35,7 @@ #include "catalogsettings.h" #include "main.h" -#include +#include #include #include #include diff --git a/kbabel/datatools/equations/main.cc b/kbabel/datatools/equations/main.cc index 5abd7fed..a5c9688c 100644 --- a/kbabel/datatools/equations/main.cc +++ b/kbabel/datatools/equations/main.cc @@ -35,7 +35,7 @@ #include "catalogsettings.h" #include "main.h" -#include +#include #include #include #include diff --git a/kbabel/datatools/length/main.cc b/kbabel/datatools/length/main.cc index be809ffb..ec4bab17 100644 --- a/kbabel/datatools/length/main.cc +++ b/kbabel/datatools/length/main.cc @@ -38,7 +38,7 @@ #include "main.h" #include -#include +#include #include #include #include diff --git a/kbabel/datatools/not-translated/main.cc b/kbabel/datatools/not-translated/main.cc index d14530b6..4bcdd416 100644 --- a/kbabel/datatools/not-translated/main.cc +++ b/kbabel/datatools/not-translated/main.cc @@ -37,7 +37,7 @@ #include "catalogsettings.h" #include "main.h" -#include +#include #include #include #include diff --git a/kbabel/datatools/pluralforms/main.cc b/kbabel/datatools/pluralforms/main.cc index 34782cfe..cdc6e990 100644 --- a/kbabel/datatools/pluralforms/main.cc +++ b/kbabel/datatools/pluralforms/main.cc @@ -36,7 +36,7 @@ #include "catalogsettings.h" #include "main.h" -#include +#include #include #include #include diff --git a/kbabel/datatools/punctuation/main.cc b/kbabel/datatools/punctuation/main.cc index 80f14c53..7a05aabe 100644 --- a/kbabel/datatools/punctuation/main.cc +++ b/kbabel/datatools/punctuation/main.cc @@ -35,7 +35,7 @@ #include "catalogsettings.h" #include "main.h" -#include +#include #include #include #include diff --git a/kbabel/datatools/regexp/main.cc b/kbabel/datatools/regexp/main.cc index 7d3c3120..9f948e03 100644 --- a/kbabel/datatools/regexp/main.cc +++ b/kbabel/datatools/regexp/main.cc @@ -32,7 +32,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/kbabel/datatools/whitespace/main.cc b/kbabel/datatools/whitespace/main.cc index 1b4eacf8..e838770f 100644 --- a/kbabel/datatools/whitespace/main.cc +++ b/kbabel/datatools/whitespace/main.cc @@ -37,7 +37,7 @@ #include "catalogsettings.h" #include "main.h" -#include +#include #include #include #include diff --git a/kbabel/datatools/xml/main.cc b/kbabel/datatools/xml/main.cc index da80d7d1..2f32db9a 100644 --- a/kbabel/datatools/xml/main.cc +++ b/kbabel/datatools/xml/main.cc @@ -37,7 +37,7 @@ #include -#include +#include #include #include #include diff --git a/kbabel/kbabel/Makefile.am b/kbabel/kbabel/Makefile.am index fd67a78d..54e99daf 100644 --- a/kbabel/kbabel/Makefile.am +++ b/kbabel/kbabel/Makefile.am @@ -72,7 +72,7 @@ rcdir = $(kde_datadir)/kbabel rc_DATA = kbabelui.rc update_DATA = kbabel-project.upd kbabel-difftoproject.upd -updatedir = $(kde_datadir)/kconf_update +updatedir = $(kde_datadir)/tdeconf_update api: mkdir -p API && kdoc -d API -u $$PWD/API -p -ltdeui -ltdecore -lqt -ldcop $(noinst_HEADERS) diff --git a/kbabel/kbabel/charselectview.cpp b/kbabel/kbabel/charselectview.cpp index 9f591f17..d4a7c473 100644 --- a/kbabel/kbabel/charselectview.cpp +++ b/kbabel/kbabel/charselectview.cpp @@ -39,7 +39,7 @@ #include #include -#include +#include #include #include #include diff --git a/kbabel/kbabel/commentview.cpp b/kbabel/kbabel/commentview.cpp index 8394909b..9a32da70 100644 --- a/kbabel/kbabel/commentview.cpp +++ b/kbabel/kbabel/commentview.cpp @@ -42,7 +42,7 @@ #include #include -#include +#include #include #include #include diff --git a/kbabel/kbabel/headereditor.cpp b/kbabel/kbabel/headereditor.cpp index 11c7eba1..38b11920 100644 --- a/kbabel/kbabel/headereditor.cpp +++ b/kbabel/kbabel/headereditor.cpp @@ -35,7 +35,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/kbabel/kbabel/kbabel.cpp b/kbabel/kbabel/kbabel.cpp index 4935f9dd..79b21501 100644 --- a/kbabel/kbabel/kbabel.cpp +++ b/kbabel/kbabel/kbabel.cpp @@ -69,8 +69,8 @@ #include #include #include -#include -#include +#include +#include #include #include #include diff --git a/kbabel/kbabel/kbabelpref.h b/kbabel/kbabel/kbabelpref.h index e126f1e7..72732d12 100644 --- a/kbabel/kbabel/kbabelpref.h +++ b/kbabel/kbabel/kbabelpref.h @@ -35,7 +35,7 @@ #ifndef KBABELPREF_H #define KBABELPREF_H -#include +#include #include class SearchPreferences; diff --git a/kbabel/kbabel/kbabelview.cpp b/kbabel/kbabel/kbabelview.cpp index 830d17ce..8380ad85 100644 --- a/kbabel/kbabel/kbabelview.cpp +++ b/kbabel/kbabel/kbabelview.cpp @@ -59,18 +59,18 @@ #include #include #include -#include +#include #include #include #include #include #include -#include -#include +#include +#include #include #include #include -#include +#include #include #include #include diff --git a/kbabel/kbabel/kbabelview.h b/kbabel/kbabel/kbabelview.h index 6af2da00..205f34a8 100644 --- a/kbabel/kbabel/kbabelview.h +++ b/kbabel/kbabel/kbabelview.h @@ -64,7 +64,7 @@ struct ModuleInfo; #include #include -#include +#include #include #include #include diff --git a/kbabel/kbabel/kbabelview2.cpp b/kbabel/kbabel/kbabelview2.cpp index c3d95520..02462e19 100644 --- a/kbabel/kbabel/kbabelview2.cpp +++ b/kbabel/kbabel/kbabelview2.cpp @@ -35,13 +35,13 @@ #include #include -#include +#include #include #include #include #include #include -#include +#include #include #include diff --git a/kbabel/kbabel/kbcataloglistview.h b/kbabel/kbabel/kbcataloglistview.h index 8a134178..c1fcd005 100644 --- a/kbabel/kbabel/kbcataloglistview.h +++ b/kbabel/kbabel/kbcataloglistview.h @@ -25,7 +25,7 @@ #include #include -#include +#include #include //#include #include diff --git a/kbabel/kbabel/kbcharselect.cpp b/kbabel/kbabel/kbcharselect.cpp index a1ad6c18..0f50f630 100644 --- a/kbabel/kbabel/kbcharselect.cpp +++ b/kbabel/kbabel/kbcharselect.cpp @@ -32,7 +32,7 @@ **************************************************************************** */ #include "kbcharselect.h" -#include +#include #include #include #include diff --git a/kbabel/kbabel/kbhighlighting.cpp b/kbabel/kbabel/kbhighlighting.cpp index 0240153d..957d7bd8 100644 --- a/kbabel/kbabel/kbhighlighting.cpp +++ b/kbabel/kbabel/kbhighlighting.cpp @@ -40,7 +40,7 @@ #include #include "kapplication.h" -#include +#include #include #include #include diff --git a/kbabel/kbabel/spelldlg.cpp b/kbabel/kbabel/spelldlg.cpp index e887fce5..7bb43851 100644 --- a/kbabel/kbabel/spelldlg.cpp +++ b/kbabel/kbabel/spelldlg.cpp @@ -36,7 +36,7 @@ #include #include -#include +#include #include #include diff --git a/kbabel/kbabeldict/dictchooser.cpp b/kbabel/kbabeldict/dictchooser.cpp index f5a3701f..a7803320 100644 --- a/kbabel/kbabeldict/dictchooser.cpp +++ b/kbabel/kbabeldict/dictchooser.cpp @@ -38,7 +38,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/kbabel/kbabeldict/kbabeldict.cpp b/kbabel/kbabeldict/kbabeldict.cpp index cb2ed323..7453bcaf 100644 --- a/kbabel/kbabeldict/kbabeldict.cpp +++ b/kbabel/kbabeldict/kbabeldict.cpp @@ -33,7 +33,7 @@ #include -#include +#include #include #include #include "kbabeldict.h" diff --git a/kbabel/kbabeldict/kbabeldictbox.cpp b/kbabel/kbabeldict/kbabeldictbox.cpp index 35abc555..4d0f4b2d 100644 --- a/kbabel/kbabeldict/kbabeldictbox.cpp +++ b/kbabel/kbabeldict/kbabeldictbox.cpp @@ -45,7 +45,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/kbabel/kbabeldict/kbabeldictview.cpp b/kbabel/kbabeldict/kbabeldictview.cpp index 437de9e5..7ed294c9 100644 --- a/kbabel/kbabeldict/kbabeldictview.cpp +++ b/kbabel/kbabeldict/kbabeldictview.cpp @@ -50,7 +50,7 @@ #include #include -#include +#include #include #include #include diff --git a/kbabel/kbabeldict/modules/dbsearchengine/KDBSearchEngine.cpp b/kbabel/kbabeldict/modules/dbsearchengine/KDBSearchEngine.cpp index 72042e16..126c8c10 100644 --- a/kbabel/kbabeldict/modules/dbsearchengine/KDBSearchEngine.cpp +++ b/kbabel/kbabeldict/modules/dbsearchengine/KDBSearchEngine.cpp @@ -35,9 +35,9 @@ #include #include #include -#include +#include #include -#include +#include #include #include @@ -55,7 +55,7 @@ #include #include #include -#include +#include #include #include diff --git a/kbabel/kbabeldict/modules/dbsearchengine/database.cpp b/kbabel/kbabeldict/modules/dbsearchengine/database.cpp index 4ee016cd..8d48df58 100644 --- a/kbabel/kbabeldict/modules/dbsearchengine/database.cpp +++ b/kbabel/kbabeldict/modules/dbsearchengine/database.cpp @@ -39,7 +39,7 @@ #include #include -#include +#include WordItem::WordItem (char *data, TQString w) { diff --git a/kbabel/kbabeldict/modules/dbsearchengine/preferenceswidget.cpp b/kbabel/kbabeldict/modules/dbsearchengine/preferenceswidget.cpp index 41ae81f2..9958b409 100644 --- a/kbabel/kbabeldict/modules/dbsearchengine/preferenceswidget.cpp +++ b/kbabel/kbabeldict/modules/dbsearchengine/preferenceswidget.cpp @@ -5,7 +5,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/kbabel/kbabeldict/modules/dbsearchengine2/dbscan.cpp b/kbabel/kbabeldict/modules/dbsearchengine2/dbscan.cpp index 9ba90514..b5b20967 100644 --- a/kbabel/kbabeldict/modules/dbsearchengine2/dbscan.cpp +++ b/kbabel/kbabeldict/modules/dbsearchengine2/dbscan.cpp @@ -17,7 +17,7 @@ */ #include "dbscan.h" -#include +#include #include #include #include diff --git a/kbabel/kbabeldict/modules/dbsearchengine2/preferenceswidget.cpp b/kbabel/kbabeldict/modules/dbsearchengine2/preferenceswidget.cpp index d8489400..5e49a996 100644 --- a/kbabel/kbabeldict/modules/dbsearchengine2/preferenceswidget.cpp +++ b/kbabel/kbabeldict/modules/dbsearchengine2/preferenceswidget.cpp @@ -5,7 +5,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/kbabel/kbabeldict/modules/poauxiliary/preferenceswidget.cpp b/kbabel/kbabeldict/modules/poauxiliary/preferenceswidget.cpp index 51e5f6e6..116d3c69 100644 --- a/kbabel/kbabeldict/modules/poauxiliary/preferenceswidget.cpp +++ b/kbabel/kbabeldict/modules/poauxiliary/preferenceswidget.cpp @@ -34,7 +34,7 @@ #include #include -#include +#include #include #include #include diff --git a/kbabel/kbabeldict/modules/pocompendium/pocompendium.cpp b/kbabel/kbabeldict/modules/pocompendium/pocompendium.cpp index e7a82d9a..57be4624 100644 --- a/kbabel/kbabeldict/modules/pocompendium/pocompendium.cpp +++ b/kbabel/kbabeldict/modules/pocompendium/pocompendium.cpp @@ -39,7 +39,7 @@ #include #include #include -#include +#include #include #include diff --git a/kbabel/kbabeldict/modules/pocompendium/preferenceswidget.cpp b/kbabel/kbabeldict/modules/pocompendium/preferenceswidget.cpp index 8af71c48..893a1f1b 100644 --- a/kbabel/kbabeldict/modules/pocompendium/preferenceswidget.cpp +++ b/kbabel/kbabeldict/modules/pocompendium/preferenceswidget.cpp @@ -34,7 +34,7 @@ #include #include -#include +#include #include #include #include diff --git a/kbabel/kbabeldict/modules/tmx/preferenceswidget.cpp b/kbabel/kbabeldict/modules/tmx/preferenceswidget.cpp index 3e9f112d..eeeb53c0 100644 --- a/kbabel/kbabeldict/modules/tmx/preferenceswidget.cpp +++ b/kbabel/kbabeldict/modules/tmx/preferenceswidget.cpp @@ -36,7 +36,7 @@ #include #include -#include +#include #include #include #include diff --git a/kbabel/kbabeldict/modules/tmx/tmxcompendium.cpp b/kbabel/kbabeldict/modules/tmx/tmxcompendium.cpp index 913402d8..e97d1430 100644 --- a/kbabel/kbabeldict/modules/tmx/tmxcompendium.cpp +++ b/kbabel/kbabeldict/modules/tmx/tmxcompendium.cpp @@ -39,7 +39,7 @@ #include #include #include -#include +#include #include #include diff --git a/kbabel/kbabeldict/modules/tmx/tmxcompendiumdata.cpp b/kbabel/kbabeldict/modules/tmx/tmxcompendiumdata.cpp index 0f849e9c..bc4001fb 100644 --- a/kbabel/kbabeldict/modules/tmx/tmxcompendiumdata.cpp +++ b/kbabel/kbabeldict/modules/tmx/tmxcompendiumdata.cpp @@ -43,7 +43,7 @@ #include #include #include -#include +#include using namespace KBabel; diff --git a/kbabel/kbabeldict/searchengine.h b/kbabel/kbabeldict/searchengine.h index ca729469..5d823cc0 100644 --- a/kbabel/kbabeldict/searchengine.h +++ b/kbabel/kbabeldict/searchengine.h @@ -40,7 +40,7 @@ #include #include #include -#include +#include /* diff --git a/kbugbuster/CMakeLists.txt b/kbugbuster/CMakeLists.txt index 6cac4696..6f71829d 100644 --- a/kbugbuster/CMakeLists.txt +++ b/kbugbuster/CMakeLists.txt @@ -39,6 +39,6 @@ tde_add_executable( kbugbuster SOURCES main.cpp LINK kbbmainwindow-static kbbbackend_nopic-static - tdeutils-shared kio-shared tdehtml-shared + tdeutils-shared tdeio-shared tdehtml-shared DESTINATION ${BIN_INSTALL_DIR} ) diff --git a/kbugbuster/backend/bugcommand.cpp b/kbugbuster/backend/bugcommand.cpp index f8b55ac9..399eab55 100644 --- a/kbugbuster/backend/bugcommand.cpp +++ b/kbugbuster/backend/bugcommand.cpp @@ -1,5 +1,5 @@ #include -#include +#include #include #include "bugcommand.h" diff --git a/kbugbuster/backend/bugjob.cpp b/kbugbuster/backend/bugjob.cpp index 90828ceb..dbc21e5d 100644 --- a/kbugbuster/backend/bugjob.cpp +++ b/kbugbuster/backend/bugjob.cpp @@ -3,7 +3,7 @@ #include "kbbprefs.h" -#include +#include #include #include diff --git a/kbugbuster/backend/bugjob.h b/kbugbuster/backend/bugjob.h index 981283db..44bd7ee2 100644 --- a/kbugbuster/backend/bugjob.h +++ b/kbugbuster/backend/bugjob.h @@ -1,7 +1,7 @@ #ifndef KBB_BUGJOB_H #define KBB_BUGJOB_H -#include +#include #include "bugserver.h" diff --git a/kbugbuster/backend/bugserverconfig.cpp b/kbugbuster/backend/bugserverconfig.cpp index 203c60a9..f24a7724 100644 --- a/kbugbuster/backend/bugserverconfig.cpp +++ b/kbugbuster/backend/bugserverconfig.cpp @@ -27,7 +27,7 @@ #include "kbbprefs.h" #include -#include +#include BugServerConfig::BugServerConfig() { diff --git a/kbugbuster/backend/bugsystem.cpp b/kbugbuster/backend/bugsystem.cpp index 808a45f6..699a7204 100644 --- a/kbugbuster/backend/bugsystem.cpp +++ b/kbugbuster/backend/bugsystem.cpp @@ -12,7 +12,7 @@ #include #include #include -#include +#include #include "packageimpl.h" #include "bugimpl.h" diff --git a/kbugbuster/backend/kbbprefs.cpp b/kbugbuster/backend/kbbprefs.cpp index 0fa2d5af..393f1ac2 100644 --- a/kbugbuster/backend/kbbprefs.cpp +++ b/kbugbuster/backend/kbbprefs.cpp @@ -27,7 +27,7 @@ #include #include -#include +#include #include "bugsystem.h" #include "bugserver.h" diff --git a/kbugbuster/backend/kbbprefs.h b/kbugbuster/backend/kbbprefs.h index e3e2718d..721002fe 100644 --- a/kbugbuster/backend/kbbprefs.h +++ b/kbugbuster/backend/kbbprefs.h @@ -26,7 +26,7 @@ #include -#include +#include #include "mailsender.h" diff --git a/kbugbuster/gui/centralwidget.cpp b/kbugbuster/gui/centralwidget.cpp index fa1cb864..ca5c3b66 100644 --- a/kbugbuster/gui/centralwidget.cpp +++ b/kbugbuster/gui/centralwidget.cpp @@ -40,7 +40,7 @@ #include "bugserver.h" #include "centralwidget.h" -#include +#include #include #include "loadallbugsdlg.h" diff --git a/kbugbuster/gui/kbbmainwindow.cpp b/kbugbuster/gui/kbbmainwindow.cpp index 05e6cc0f..34d4b0f2 100644 --- a/kbugbuster/gui/kbbmainwindow.cpp +++ b/kbugbuster/gui/kbbmainwindow.cpp @@ -27,7 +27,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/kbugbuster/gui/loadallbugsdlg.cpp b/kbugbuster/gui/loadallbugsdlg.cpp index 3a5dd65d..cea52ef1 100644 --- a/kbugbuster/gui/loadallbugsdlg.cpp +++ b/kbugbuster/gui/loadallbugsdlg.cpp @@ -17,7 +17,7 @@ #include "bugsystem.h" #include "bugcache.h" #include -#include +#include #include LoadAllBugsDlg::LoadAllBugsDlg( const Package& pkg, const TQString &component ) diff --git a/kbugbuster/tderesources/CMakeLists.txt b/kbugbuster/tderesources/CMakeLists.txt index ec5956a3..52f67209 100644 --- a/kbugbuster/tderesources/CMakeLists.txt +++ b/kbugbuster/tderesources/CMakeLists.txt @@ -38,6 +38,6 @@ tde_add_kpart( kcal_bugzilla AUTOMOC SOURCES kcalresource.cpp kcalresourceconfig.cpp kcalresource_plugin.cpp resourceprefs.kcfgc - LINK kbbbackend_pic-static tdecore-shared kio-shared kabc kcal tderesources + LINK kbbbackend_pic-static tdecore-shared tdeio-shared kabc kcal tderesources DESTINATION ${PLUGIN_INSTALL_DIR} ) diff --git a/kbugbuster/tderesources/kcalresource.cpp b/kbugbuster/tderesources/kcalresource.cpp index 62051bc5..1eb04c9c 100644 --- a/kbugbuster/tderesources/kcalresource.cpp +++ b/kbugbuster/tderesources/kcalresource.cpp @@ -28,7 +28,7 @@ #include #include -#include +#include #include #include diff --git a/kbugbuster/tderesources/kcalresource.h b/kbugbuster/tderesources/kcalresource.h index cfa4e2a6..4c8c7353 100644 --- a/kbugbuster/tderesources/kcalresource.h +++ b/kbugbuster/tderesources/kcalresource.h @@ -26,7 +26,7 @@ #include #include -#include +#include #include #include diff --git a/kbugbuster/tderesources/resourceprefs.kcfgc b/kbugbuster/tderesources/resourceprefs.kcfgc index 88125829..7dbb3cea 100644 --- a/kbugbuster/tderesources/resourceprefs.kcfgc +++ b/kbugbuster/tderesources/resourceprefs.kcfgc @@ -1,4 +1,4 @@ -# Code generation options for kconfig_compiler +# Code generation options for tdeconfig_compiler File=tderesources_kcal_bugzilla.kcfg ClassName=ResourcePrefs NameSpace=KBB diff --git a/kfile-plugins/CMakeLists.txt b/kfile-plugins/CMakeLists.txt deleted file mode 100644 index 6b769e5c..00000000 --- a/kfile-plugins/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -################################################# -# -# (C) 2012 Serghei Amelian -# serghei (DOT) amelian (AT) gmail.com -# -# Improvements and feedback are welcome -# -# This file is released under GPL >= 2 -# -################################################# - -add_subdirectory( diff ) -add_subdirectory( c++ ) -add_subdirectory( ts ) diff --git a/kfile-plugins/Makefile.am b/kfile-plugins/Makefile.am deleted file mode 100644 index aa4d2f43..00000000 --- a/kfile-plugins/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -SUBDIRS=diff c++ ts diff --git a/kfile-plugins/c++/CMakeLists.txt b/kfile-plugins/c++/CMakeLists.txt deleted file mode 100644 index 9b56e9d8..00000000 --- a/kfile-plugins/c++/CMakeLists.txt +++ /dev/null @@ -1,35 +0,0 @@ -################################################# -# -# (C) 2012 Serghei Amelian -# serghei (DOT) amelian (AT) gmail.com -# -# Improvements and feedback are welcome -# -# This file is released under GPL >= 2 -# -################################################# - -include_directories( - ${CMAKE_CURRENT_BINARY_DIR} - ${TDE_INCLUDE_DIR} - ${TQT_INCLUDE_DIRS} -) - -link_directories( - ${TQT_LIBRARY_DIRS} -) - - -##### other data ################################ - -install( FILES kfile_cpp.desktop kfile_h.desktop - DESTINATION ${SERVICES_INSTALL_DIR} ) - - -##### kfile_cpp (module) ######################## - -tde_add_kpart( kfile_cpp AUTOMOC - SOURCES kfile_cpp.cpp - LINK kio-shared - DESTINATION ${PLUGIN_INSTALL_DIR} -) diff --git a/kfile-plugins/c++/Makefile.am b/kfile-plugins/c++/Makefile.am deleted file mode 100644 index 4770b509..00000000 --- a/kfile-plugins/c++/Makefile.am +++ /dev/null @@ -1,22 +0,0 @@ -## Makefile.am for c++ file meta info plugin - -# set the include path for X, qt and KDE -INCLUDES = $(all_includes) - -# these are the headers for your project -noinst_HEADERS = kfile_cpp.h - -kde_module_LTLIBRARIES = kfile_cpp.la - -kfile_cpp_la_SOURCES = kfile_cpp.cpp -kfile_cpp_la_LDFLAGS = $(all_libraries) -module $(KDE_PLUGIN) -kfile_cpp_la_LIBADD = $(LIB_KIO) - -# let automoc handle all of the meta source files (moc) -METASOURCES = AUTO - -messages: - $(XGETTEXT) *.cpp -o $(podir)/kfile_cpp.pot - -services_DATA = kfile_cpp.desktop kfile_h.desktop -servicesdir = $(kde_servicesdir) diff --git a/kfile-plugins/c++/kfile_cpp.cpp b/kfile-plugins/c++/kfile_cpp.cpp deleted file mode 100644 index 0840ab7f..00000000 --- a/kfile-plugins/c++/kfile_cpp.cpp +++ /dev/null @@ -1,130 +0,0 @@ -/* This file is part of the KDE project - * Copyright (C) 2002 Rolf Magnus - * - * 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 version 2. - * - * 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; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - * - */ - -#include "kfile_cpp.h" - -#include -#include -#include -#include - -#include -#include - -typedef KGenericFactory CppFactory; - -K_EXPORT_COMPONENT_FACTORY(kfile_cpp, CppFactory("kfile_cpp")) - -KCppPlugin::KCppPlugin(TQObject *parent, const char *name, - const TQStringList &args) - : KFilePlugin(parent, name, args) -{ - kdDebug(7034) << "c++ plugin\n"; - makeMimeTypeInfo("text/x-c++src"); - makeMimeTypeInfo("text/x-chdr"); -} - -void KCppPlugin::makeMimeTypeInfo(const TQString& mimetype) -{ - KFileMimeTypeInfo* info = addMimeTypeInfo( mimetype ); - - KFileMimeTypeInfo::GroupInfo* group = - addGroupInfo(info, "General", i18n("General")); - - KFileMimeTypeInfo::ItemInfo* item; - item = addItemInfo(group, "Lines", i18n("Lines"), TQVariant::Int); - setAttributes(item, KFileMimeTypeInfo::Averaged); - item = addItemInfo(group, "Code", i18n("Code"), TQVariant::Int); - setAttributes(item, KFileMimeTypeInfo::Averaged); - item = addItemInfo(group, "Comment", i18n("Comment"), TQVariant::Int); - setAttributes(item, KFileMimeTypeInfo::Averaged); - item = addItemInfo(group, "Blank", i18n("Blank"), TQVariant::Int); - setAttributes(item, KFileMimeTypeInfo::Averaged); - item = addItemInfo(group, "Strings", i18n("Strings"), TQVariant::Int); - setAttributes(item, KFileMimeTypeInfo::Averaged); - item = addItemInfo(group, "i18n Strings", i18n("i18n Strings"), TQVariant::Int); - setAttributes(item, KFileMimeTypeInfo::Averaged); - item = addItemInfo(group, "Included Files", i18n("Included Files"), TQVariant::Int); - setAttributes(item, KFileMimeTypeInfo::Averaged); -} - -bool KCppPlugin::readInfo( KFileMetaInfo& info, uint ) -{ - TQFile f(info.path()); - if (!f.open(IO_ReadOnly)) - return false; - - int codeLines = 0; - int commentLines = 0; - int totalLines = 0; - int emptyLines = 0; - int Strings = 0; - int Stringsi18n = 0; - int Includes = 0; - - bool inComment = false; - - TQString line; - - TQTextStream stream( &f ); - while (!stream.eof()) - { - line = stream.readLine(); - totalLines++; - - if (line.stripWhiteSpace().isEmpty()) - { - emptyLines++; - continue; - } - - if (line.contains("/*")) inComment = true; - - if (!inComment) - { - codeLines++; - if (line.contains(TQRegExp("^\\s*#\\s*include"))) Includes++; - - int pos = line.find("//"); - if (pos>=0) commentLines++; - // truncate the comment - we don't want to count strings in it - line.truncate(pos); - - Strings+=line.contains(TQRegExp("\".*\"")); - Stringsi18n+=line.contains(TQRegExp("(?:i18n|I18N_NOOP)\\s*\\(")); - } - else - commentLines++; - - if (line.contains("*/")) inComment = false; - } - - KFileMetaInfoGroup group = appendGroup(info, "General"); - - appendItem(group, "Lines", int(totalLines)); - appendItem(group, "Code", int(codeLines)); - appendItem(group, "Comment", int(commentLines)); - appendItem(group, "Blank", int(emptyLines)); - appendItem(group, "Strings", int(Strings)); - appendItem(group, "i18n Strings", int(Stringsi18n)); - appendItem(group, "Included Files", int(Includes)); - return true; -} - -#include "kfile_cpp.moc" diff --git a/kfile-plugins/c++/kfile_cpp.desktop b/kfile-plugins/c++/kfile_cpp.desktop deleted file mode 100644 index e550a223..00000000 --- a/kfile-plugins/c++/kfile_cpp.desktop +++ /dev/null @@ -1,60 +0,0 @@ -[Desktop Entry] -Type=Service -Name=C++ Info -Name[af]=C++ Inligting -Name[bg]=Изходен код на C++ -Name[br]=Titouroù C++ -Name[ca]=Informació C++ -Name[cs]=C++ info -Name[cy]=Gwybodaeth C++ -Name[da]=C++-info -Name[de]=C++-Info -Name[el]=Πληροφορίες C++ -Name[eo]=C++-informo -Name[es]=Info de C++ -Name[et]=C++ info -Name[eu]=C++ informazioa -Name[fa]=اطلاعات C++ -Name[fi]=C++-tiedot -Name[fo]=C++-upplýsingar -Name[fr]=Informations C++ -Name[ga]=Eolas C++ -Name[gl]=Información de C++ -Name[he]=מידע ++C -Name[hi]=C++ जानकारी -Name[hr]=C++ informacije -Name[hu]=C++-jellemzők -Name[is]=C++ upplýsingar -Name[it]=Informazioni C++ -Name[ja]=C++ 情報 -Name[ka]=C++ ინფორმაცია -Name[kk]=C++ мәліметі -Name[lt]=C++ Informacija -Name[ms]=Info C++ -Name[nds]=C++-Datei-Info -Name[nl]=C++-info -Name[nn]=C++-info -Name[pa]=C++ ਜਾਣਕਾਰੀ -Name[pl]=Informacja z C++ -Name[pt]=Informação de C++ -Name[pt_BR]=Informações C++ -Name[ro]=Informaţii C++ -Name[ru]=Информация C++ -Name[sk]=Informácie o C++ -Name[sl]=Informacije o C++ -Name[sr]=C++ информације -Name[sr@Latn]=C++ informacije -Name[sv]=C++-information -Name[ta]= =C/C++ தகவல் -Name[tg]=Ахбороти C++ -Name[th]=ข้อมูล C++ -Name[tr]=C++ Bilgisi -Name[uk]=Інформація про C++ -Name[xh]=C++ Ulwazi -Name[zh_CN]=C++ 信息 -Name[zh_TW]=C++ 資訊 -ServiceTypes=KFilePlugin -X-TDE-Library=kfile_cpp -MimeType=text/x-c++src;text/x-chdr -PreferredGroups=General -PreferredItems=Lines,Code,Comment,Blank,Strings,i18n Strings,Included Files diff --git a/kfile-plugins/c++/kfile_cpp.h b/kfile-plugins/c++/kfile_cpp.h deleted file mode 100644 index 849dfabb..00000000 --- a/kfile-plugins/c++/kfile_cpp.h +++ /dev/null @@ -1,41 +0,0 @@ -/* This file is part of the KDE project - * Copyright (C) 2002 Rolf Magnus - * - * 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 version 2. - * - * 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; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - * - */ - -#ifndef __KFILE_CPP_H__ -#define __KFILE_CPP_H__ - -#include -#include - -class TQStringList; - -class KCppPlugin: public KFilePlugin -{ - Q_OBJECT - - -public: - KCppPlugin(TQObject *parent, const char *name, const TQStringList& args); - virtual bool readInfo(KFileMetaInfo& info, uint what); - -private: - void makeMimeTypeInfo(const TQString& mimetype); -}; - -#endif diff --git a/kfile-plugins/c++/kfile_h.desktop b/kfile-plugins/c++/kfile_h.desktop deleted file mode 100644 index 7eaa9ea6..00000000 --- a/kfile-plugins/c++/kfile_h.desktop +++ /dev/null @@ -1,58 +0,0 @@ -[Desktop Entry] -Type=Service -Name=C/C++ Header Info -Name[af]=C/C++ Opskrif Inligting -Name[bg]=Информация за заглавната част на C/C++ -Name[br]=Titouriñ diwar-benn ar reollin C/C++ -Name[ca]=Informació de capçaleres C/C++ -Name[cs]=Informace o C/C++ hlavičce -Name[cy]=Gwybodaeth Pennawd C/C++ -Name[da]=C/C++-headerinfo -Name[de]=C++-Header-Info -Name[el]=Πληροφορίες κεφαλίδων C/C++ -Name[es]=Info de cabecera C/C++ -Name[et]=C/C++ päise info -Name[eu]=C/C++ goiburuen informazioa -Name[fa]=اطلاعات سرآیند C/C++ -Name[fi]=C/C++-otsikkotiedot -Name[fr]=Informations d'en-tête C/C++ -Name[gl]=Información da cabeceira de C/C++ -Name[he]=מידע כותרות ++C/C -Name[hi]=C/C++ हेडर जानकारी -Name[hr]=Informacije o C++ zaglavljima -Name[hu]=C/C++ header fájl jellemzői -Name[is]=C/C++ haus upplýsingar -Name[it]=Informazioni intestazioni C/C++ -Name[ja]=C/C++ ヘッダ情報 -Name[ka]=C/C++ ზედა კოლონტიტულის ინფორმაცია -Name[kk]=C/C++ айдар мәліметі -Name[lt]=C/C++ antraščių informacija -Name[ms]=Info Pengepala C/C++ -Name[nb]=C++-deklarasjonsfilinfo -Name[nds]=C/C++-Koppdatei-Info -Name[ne]=C/C++ Header info -Name[nl]=C/C++ Header-info -Name[nn]=C/C++-deklarasjonsinfo -Name[pa]=C/C++ Header ਜਾਣਕਾਰੀ -Name[pl]=Informacja z nagłówka C/C++ -Name[pt]=Informações do Cabeçalho de C/C++ -Name[pt_BR]=Informações sobre Cabeçalhos C/C++ -Name[ro]=Informaţii antet C/C++ -Name[ru]=Информация о файлах заголовков C/C++ -Name[sk]=Informácie o hlavičkách C/C++ -Name[sl]=Informacije o glavi C/C++ -Name[sr]=Информације о C/C++ заглављу -Name[sr@Latn]=Informacije o C/C++ zaglavlju -Name[sv]=Information om C/C++-deklarationsfiler -Name[ta]= =C/C++ தலைப்பு தகவல் -Name[tg]=Ахборот дар бораи сарлавҳаи файлҳои C/C++ -Name[th]=ข้อมูลแฟ้มส่วนหัว C/C++ -Name[tr]=C/C++ Başlık Bilgisi -Name[uk]=Інформація по заголовкам C++ -Name[xh]=C/C++ Ulwazi lokubhaliweyo okuphezulu -Name[zh_CN]=C/C++ 头文件信息 -Name[zh_TW]=C/C++ 檔頭資訊 -ServiceTypes=KFilePlugin -X-TDE-Library=kfile_cpp -MimeType=text/x-chdr -PreferredItems=Lines,Code,Comment,Blank,Strings,i18n Strings,Included Files diff --git a/kfile-plugins/diff/CMakeLists.txt b/kfile-plugins/diff/CMakeLists.txt deleted file mode 100644 index 292372c3..00000000 --- a/kfile-plugins/diff/CMakeLists.txt +++ /dev/null @@ -1,34 +0,0 @@ -################################################# -# -# (C) 2012 Serghei Amelian -# serghei (DOT) amelian (AT) gmail.com -# -# Improvements and feedback are welcome -# -# This file is released under GPL >= 2 -# -################################################# - -include_directories( - ${CMAKE_CURRENT_BINARY_DIR} - ${TDE_INCLUDE_DIR} - ${TQT_INCLUDE_DIRS} -) - -link_directories( - ${TQT_LIBRARY_DIRS} -) - - -##### other data ################################ - -install( FILES kfile_diff.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) - - -##### kfile_diff (module) ####################### - -tde_add_kpart( kfile_diff AUTOMOC - SOURCES kfile_diff.cpp - LINK kio-shared - DESTINATION ${PLUGIN_INSTALL_DIR} -) diff --git a/kfile-plugins/diff/Makefile.am b/kfile-plugins/diff/Makefile.am deleted file mode 100644 index ea6cccc0..00000000 --- a/kfile-plugins/diff/Makefile.am +++ /dev/null @@ -1,22 +0,0 @@ -## Makefile.am for diff file meta info plugin - -# set the include path for X, qt and KDE -INCLUDES = $(all_includes) - -# these are the headers for your project -noinst_HEADERS = kfile_diff.h - -kde_module_LTLIBRARIES = kfile_diff.la - -kfile_diff_la_SOURCES = kfile_diff.cpp -kfile_diff_la_LDFLAGS = $(all_libraries) -module $(KDE_PLUGIN) -kfile_diff_la_LIBADD = $(LIB_KSYCOCA) - -# let automoc handle all of the meta source files (moc) -METASOURCES = AUTO - -messages: - $(XGETTEXT) *.cpp *.h -o $(podir)/kfile_diff.pot - -services_DATA = kfile_diff.desktop -servicesdir = $(kde_servicesdir) diff --git a/kfile-plugins/diff/kfile_diff.cpp b/kfile-plugins/diff/kfile_diff.cpp deleted file mode 100644 index 957d0574..00000000 --- a/kfile-plugins/diff/kfile_diff.cpp +++ /dev/null @@ -1,610 +0,0 @@ -/************************************************************************** -** kfile_diff.cpp -** ------------------- -** begin : Sun Jan 20 23:25:44 2002 -** copyright : (C) 2002-2003 by Otto Bruggeman -** email : otto.bruggeman@home.nl -** -***************************************************************************/ -/*************************************************************************** -** -** 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. -** -***************************************************************************/ - -/* -** Patch by Volker Augustin for empty diff files. Februari 8, 2002 -** -** Patched to work with CVS from after February 26, 2002 Otto -** -** Patched to work with CVS from after March 24, 2002 Otto -** -** Added support for Perforce diffs, April 26, 2003 Otto Bruggeman -** -** Added support for Subversion diffs, September 11, 2003 Otto Bruggeman -*/ - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include "kfile_diff.h" - -K_EXPORT_COMPONENT_FACTORY(kfile_diff, KGenericFactory("kfile_diff")) - -KDiffPlugin::KDiffPlugin(TQObject *parent, const char *name, - const TQStringList &preferredItems) - : KFilePlugin(parent, name, preferredItems) -{ - kdDebug(7034) << "diff plugin" << endl; - - KFileMimeTypeInfo* info = addMimeTypeInfo( "text/x-diff" ); - - KFileMimeTypeInfo::GroupInfo* group; - group = addGroupInfo( info, "General", i18n( "General" ) ); - addItemInfo( group, "Files", i18n( "Files" ), TQVariant::UInt ); - addItemInfo( group, "First", i18n( "First File" ), TQVariant::String ); - addItemInfo( group, "Format", i18n( "Format" ), TQVariant::String ); - addItemInfo( group, "DiffProgram", i18n( "Diff Program" ), TQVariant::String ); - addItemInfo( group, "Hunks", i18n( "Hunks" ), TQVariant::UInt ); - group = addGroupInfo( info, "Statistics", i18n( "Statistics" ) ); - addItemInfo( group, "Insert", i18n( "Insertions" ), TQVariant::UInt ); - addItemInfo( group, "Modify", i18n( "Changes" ), TQVariant::UInt ); - addItemInfo( group, "Delete", i18n( "Deletions" ), TQVariant::UInt ); -} - -bool KDiffPlugin::readInfo( KFileMetaInfo& info, uint what ) -{ - // This is a hack to avoid using the what stuff, since it is not yet implemented - what = 0; - - // Used to determine if false or true should be returned - bool dataSet = false; - - KFileMetaInfoGroup group; - - TQFile file( info.path() ); - TQStringList lines; - - if( file.open( IO_ReadOnly ) ) - { - TQTextStream stream( &file ); - while (!stream.eof()) - { - lines.append( stream.readLine() ); - } - file.close(); - } - - TQString format; - TQString program; - - enum KDiffPlugin::Format diffFormat; - enum KDiffPlugin::DiffProgram diffProgram; - - diffFormat = determineDiffFormat ( lines ); - - format = determineI18nedFormat( diffFormat ); - - diffProgram = determineDiffProgram( lines ); - - program = determineI18nedProgram( diffProgram ); - - int numberOfAdditions = 0; - int numberOfDeletions = 0; - int numberOfChanges = 0; - int numberOfHunks = 0; - int numberOfFiles = 0; - - - if ( what != KFileMetaInfo::Fastest ) - { - determineDiffInfo( lines, diffFormat, &numberOfFiles, &numberOfHunks, &numberOfAdditions, &numberOfChanges, &numberOfDeletions ); - } - - TQString filename; - TQRegExp firstFile( "^Index: (.*)" ); - TQStringList::ConstIterator it = lines.begin(); - - it = lines.begin(); - while ( it != lines.end() ) - { - if ( firstFile.exactMatch( (*it) ) ) - { - filename = firstFile.cap(1); - // only interested in the first filename - break; - } - ++it; - } - - kdDebug(7034) << "Diff Format : " << format << endl; // i18n-ed but that is not a problem unless i get i18n-ed debug output ah well, we'll figure something out when then happens - - if (what != KFileMetaInfo::Fastest ) - { - // These dont get calculated in fastest mode... - kdDebug(7034) << "Number of additions : " << numberOfAdditions << endl; - kdDebug(7034) << "Number of deletions : " << numberOfDeletions << endl; - kdDebug(7034) << "Number of changes : " << numberOfChanges << endl; - kdDebug(7034) << "Number of hunks : " << numberOfHunks << endl; - } - - group = appendGroup( info, "General" ); - - if ( numberOfFiles != 0 && what != KFileMetaInfo::Fastest ) - { - appendItem( group, "Files", numberOfFiles ); - dataSet = true; - } - - if ( !filename.isEmpty() ) - { - appendItem( group, "First", filename ); - dataSet = true; - } - - if ( !format.isEmpty() ) - { - appendItem( group, "Format", format ); - dataSet = true; - } - - if ( !program.isEmpty() ) - { - appendItem( group, "DiffProgram", program ); - dataSet = true; - } - - if ( numberOfHunks != 0 && what != KFileMetaInfo::Fastest ) - { - appendItem( group, "Hunks", numberOfHunks ); - dataSet = true; - } - - group = appendGroup( info, "Statistics" ); - - if ( numberOfAdditions != 0 && what != KFileMetaInfo::Fastest ) - { - appendItem( group, "Insert", numberOfAdditions ); - dataSet = true; - } - - if ( numberOfChanges != 0 && what != KFileMetaInfo::Fastest ) - { - appendItem( group, "Modify", numberOfChanges ); - dataSet = true; - } - - if ( numberOfDeletions != 0 && what != KFileMetaInfo::Fastest ) - { - appendItem( group, "Delete", numberOfDeletions ); - dataSet = true; - } - - return dataSet; -} - -enum KDiffPlugin::Format KDiffPlugin::determineDiffFormat( const TQStringList lines ) const -{ - TQString line; - - if ( lines.count() == 0 ) - { - return KDiffPlugin::Empty; - } - - TQStringList::ConstIterator it = lines.begin(); - - while ( it != lines.end() ) - { - line = (*it); - if ( line.find( TQRegExp( "^[0-9]+[0-9,]*[acd][0-9]+[0-9,]*$" ), 0 ) == 0 ) - { - return KDiffPlugin::Normal; - } - else if ( line.find( TQRegExp( "^--- " ), 0 ) == 0 ) - { - // unified has first a '^--- ' line, then a '^+++ ' line - return KDiffPlugin::Unified; - } - else if ( line.find( TQRegExp( "^\\*\\*\\* [^\\t]+\\t" ), 0 ) == 0 ) - { - // context has first a '^*** ' line, then a '^--- ' line - return KDiffPlugin::Context; - } - else if ( line.find( TQRegExp( "^[acd][0-9]+ [0-9]+" ), 0 ) == 0 ) - { - return KDiffPlugin::RCS; - } - else if ( line.find( TQRegExp( "^[0-9]+[0-9,]*[acd]" ), 0 ) == 0 ) - { - return KDiffPlugin::Ed; - } - ++it; - } - return KDiffPlugin::Unknown; -} - -enum KDiffPlugin::DiffProgram KDiffPlugin::determineDiffProgram( const TQStringList lines ) const -{ - if ( lines.count() == 0 ) - { - return KDiffPlugin::Undeterminable; - } - - TQStringList::ConstIterator it = lines.begin(); - // very crude, might need some more refining - TQRegExp diffRE( "^diff .*" ); - TQRegExp p4sRE("^==== "); - - bool indexFound = false; - - while ( it != lines.end() ) - { - if ( (*it).startsWith( "Index:" ) ) - indexFound = true; - else if ( (*it).startsWith( "retrieving revision") ) - return KDiffPlugin::CVSDiff; - else if ( diffRE.exactMatch( *it ) ) - return KDiffPlugin::Diff; - else if ( p4sRE.exactMatch( *it ) ) - return KDiffPlugin::Perforce; - - ++it; - } - - if ( indexFound ) // but no "retrieving revision" found like only cvs diff adds. - return KDiffPlugin::SubVersion; - - return KDiffPlugin::Undeterminable; -} - -const TQString KDiffPlugin::determineI18nedFormat( enum KDiffPlugin::Format diffFormat ) const -{ - TQString format; - switch( diffFormat ) - { - case KDiffPlugin::Context: - format = i18n( "Context" ); - break; - case KDiffPlugin::Ed: - format = i18n( "Ed" ); - break; - case KDiffPlugin::Normal: - format = i18n( "Normal" ); - break; - case KDiffPlugin::RCS: - format = i18n( "RCS" ); - break; - case KDiffPlugin::Unified: - format = i18n( "Unified" ); - break; - case KDiffPlugin::Empty: - format = i18n( "Not Available (file empty)" ); - break; - case KDiffPlugin::Unknown: - format = i18n( "Unknown" ); - break; - case KDiffPlugin::SideBySide: - format = i18n( "Side by Side" ); - } - return format; -} - -const TQString KDiffPlugin::determineI18nedProgram( enum KDiffPlugin::DiffProgram diffProgram ) const -{ - TQString program; - - switch( diffProgram ) - { - case KDiffPlugin::CVSDiff: - program = i18n( "CVSDiff" ); - break; - case KDiffPlugin::Diff: - program = i18n( "Diff" ); - break; - case KDiffPlugin::Diff3: - program = i18n( "Diff3" ); - break; - case KDiffPlugin::Perforce: - program = i18n( "Perforce" ); - break; - case KDiffPlugin::SubVersion: - program = i18n( "SubVersion" ); - break; - case KDiffPlugin::Undeterminable: - program = i18n( "Unknown" ); - break; - } - return program; -} - -void KDiffPlugin::determineDiffInfo( const TQStringList lines, - enum KDiffPlugin::Format diffFormat, - int* numberOfFiles, - int* numberOfHunks, - int* numberOfAdditions, - int* numberOfChanges, - int* numberOfDeletions ) -{ - TQString line; - - TQRegExp edAdd( "([0-9]+)(|,([0-9]+))a" ); - TQRegExp edDel( "([0-9]+)(|,([0-9]+))d" ); - TQRegExp edMod( "([0-9]+)(|,([0-9]+))c" ); - - TQRegExp normalAdd( "[0-9]+a([0-9]+)(|,([0-9]+))" ); - TQRegExp normalDel( "([0-9]+)(|,([0-9]+))d(|[0-9]+)" ); - TQRegExp normalMod( "([0-9]+)(|,([0-9]+))c([0-9]+)(|,([0-9]+))" ); - - TQRegExp rcsAdd( "a[0-9]+ ([0-9]+)" ); - TQRegExp rcsDel( "d[0-9]+ ([0-9]+)" ); - - TQStringList::ConstIterator it = lines.begin(); - - switch( diffFormat ) - { - case KDiffPlugin::Context: - while ( it != lines.end() ) - { - if ( (*it).startsWith("***************") ) - { - (*numberOfHunks)++; -// kdDebug(7034) << "Context Hunk : " << (*it) << endl; - } - else if ( (*it).startsWith("***") ) - { - (*numberOfFiles)++; -// kdDebug(7034) << "Context File : " << (*it) << endl; - } - else if ( (*it).startsWith("---") ) {} // ignore - else if ( (*it).startsWith("+") ) - { - (*numberOfAdditions)++; -// kdDebug(7034) << "Context Insertion : " << (*it) << endl; - } - else if ( (*it).startsWith("-") ) - { - (*numberOfDeletions)++; -// kdDebug(7034) << "Context Deletion : " << (*it) << endl; - } - else if ( (*it).startsWith("!") ) - { - (*numberOfChanges)++; -// kdDebug(7034) << "Context Modified : " << (*it) << endl; - } - else if ( (*it).startsWith(" ") ) - { -// kdDebug(7034) << "Context Context : " << (*it) << endl; - } - else - { -// kdDebug(7034) << "Context Unknown : " << (*it) << endl; - } - - ++it; - } - (*numberOfChanges) /= 2; // changes are in both parts of the hunks - (*numberOfFiles) -= (*numberOfHunks); // it counts old parts of a hunk as files :( - break; - case KDiffPlugin::Ed: - while ( it != lines.end() ) - { - if ( (*it).startsWith( "diff" ) ) - { - (*numberOfFiles)++; -// kdDebug(7034) << "Ed File : " << (*it) << endl; - } - else if ( edAdd.exactMatch( (*it) ) ) - { -// kdDebug(7034) << "Ed Insertion : " << (*it) << endl; - (*numberOfHunks)++; - ++it; - while( it != lines.end() && !(*it).startsWith(".") ) - { - (*numberOfAdditions)++; -// kdDebug(7034) << "Ed Insertion : " << (*it) << endl; - ++it; - } - } - else if ( edDel.exactMatch( (*it) ) ) - { -// kdDebug(7034) << "Ed Deletion : " << (*it) << endl; - (*numberOfHunks)++; - (*numberOfDeletions) += (edDel.cap(3).isEmpty() ? 1 : edDel.cap(3).toInt() - edDel.cap(1).toInt() + 1); -// kdDebug(7034) << "Ed noOfLines : " << (edDel.cap(3).isEmpty() ? 1 : edDel.cap(3).toInt() - edDel.cap(1).toInt() + 1) << endl; - } - else if ( edMod.exactMatch( (*it) ) ) - { -// kdDebug(7034) << "Ed Modification : " << (*it) << endl; - if ( edMod.cap(3).isEmpty() ) - (*numberOfDeletions)++; - else - (*numberOfDeletions) += edMod.cap(3).toInt() - edMod.cap(1).toInt() + 1; - (*numberOfHunks)++; - ++it; - while( it != lines.end() && !(*it).startsWith(".") ) - { - (*numberOfAdditions)++; -// kdDebug(7034) << "Ed Modification : " << (*it) << endl; - ++it; - } - } - else - { -// kdDebug(7034) << "Ed Unknown : " << (*it) << endl; - } - - ++it; - } - break; - case KDiffPlugin::Normal: - while ( it != lines.end() ) - { - if ( (*it).startsWith( "diff" ) ) - { - (*numberOfFiles)++; -// kdDebug(7034) << "Normal File : " << (*it) << endl; - } - else if ( normalAdd.exactMatch( *it ) ) - { -// kdDebug(7034) << "Normal Insertion : " << (*it) << endl; - (*numberOfHunks)++; - if ( normalAdd.cap(3).isEmpty() ) - { - (*numberOfAdditions)++; -// kdDebug(7034) << "Normal Addition : " << 1 << endl; - } - else - { - (*numberOfAdditions) += normalAdd.cap(3).toInt() - normalAdd.cap(1).toInt() + 1; -// kdDebug(7034) << "Normal Addition : " << normalAdd.cap(3).toInt() - normalAdd.cap(1).toInt() + 1 << endl; - } - } - else if ( normalDel.exactMatch( *it ) ) - { -// kdDebug(7034) << "Normal Deletion : " << (*it) << endl; - (*numberOfHunks)++; - if ( normalDel.cap(3).isEmpty() ) - { - (*numberOfDeletions)++; -// kdDebug(7034) << "Normal Deletion : " << 1 << endl; - } - else - { - (*numberOfDeletions) += normalDel.cap(3).toInt() - normalDel.cap(1).toInt() + 1; -// kdDebug(7034) << "Normal Deletion : " << normalDel.cap(3).toInt() - normalDel.cap(1).toInt() + 1 << endl; - } - } - else if ( normalMod.exactMatch( *it ) ) - { -// kdDebug(7034) << "Normal Modification : " << (*it) << endl; - (*numberOfHunks)++; - if ( normalMod.cap(3).isEmpty() ) - { - (*numberOfDeletions)++; -// kdDebug(7034) << "Normal Deletion : " << 1 << endl; - } - else - { - (*numberOfDeletions) += normalMod.cap(3).toInt() - normalMod.cap(1).toInt() + 1; -// kdDebug(7034) << "Normal Deletion : " << normalMod.cap(3).toInt() - normalMod.cap(1).toInt() + 1 << endl; - } - if ( normalMod.cap(6).isEmpty() ) - { - (*numberOfAdditions)++; -// kdDebug(7034) << "Normal Addition : " << 1 << endl; - } - else - { - (*numberOfAdditions) += normalMod.cap(6).toInt() - normalMod.cap(4).toInt() + 1; -// kdDebug(7034) << "Normal Addition : " << normalMod.cap(6).toInt() - normalMod.cap(4).toInt() + 1 << endl; - } - } - else if ( (*it).startsWith(">") ) - { -// numberOfAdditions++; -// kdDebug(7034) << "Normal Insertion : " << (*it) << endl; - } - else if ( (*it).startsWith("<") ) - { -// numberOfDeletions++; -// kdDebug(7034) << "Normal Deletion : " << (*it) << endl; - } - else - { -// kdDebug(7034) << "Normal Unknown : " << (*it) << endl; - } - - ++it; - } - break; - case KDiffPlugin::RCS: - while ( it != lines.end() ) - { - if ( (*it).startsWith( "diff" ) ) // works for cvs diff, have to test for normal diff - { -// kdDebug(7034) << "RCS File : " << (*it) << endl; - (*numberOfFiles)++; - } - else if ( rcsAdd.exactMatch( *it ) ) - { -// kdDebug(7034) << "RCS Insertion : " << (*it) << endl; - (*numberOfHunks)++; - (*numberOfAdditions) += rcsAdd.cap(1).toInt(); -// kdDebug(7034) << "RCS noOfLines : " << rcsAdd.cap(1).toInt() << endl; - } - else if ( rcsDel.exactMatch( *it ) ) - { -// kdDebug(7034) << "RCS Deletion : " << (*it) << endl; - (*numberOfHunks)++; - (*numberOfDeletions) += rcsDel.cap(1).toInt(); -// kdDebug(7034) << "RCS noOfLines : " << rcsDel.cap(1).toInt() << endl; - } - else - { -// kdDebug(7034) << "RCS Unknown : " << (*it) << endl; - } - - ++it; - } - break; - case KDiffPlugin::Unified: - while ( it != lines.end() ) - { - if ( (*it).startsWith("@@ ") ) - { - (*numberOfHunks)++; -// kdDebug(7034) << "Unified Hunk : " << (*it) << endl; - } - else if ( (*it).startsWith("---") ) - { - (*numberOfFiles)++; -// kdDebug(7034) << "Unified File : " << (*it) << endl; - } - else if ( (*it).startsWith("+++") ) {} // ignore (dont count as insertion) - else if ( (*it).startsWith("+") ) - { - (*numberOfAdditions)++; -// kdDebug(7034) << "Unified Insertion : " << (*it) << endl; - } - else if ( (*it).startsWith("-") ) - { - (*numberOfDeletions)++; -// kdDebug(7034) << "Unified Deletion : " << (*it) << endl; - } - else if ( (*it).startsWith(" ") ) - { -// kdDebug(7034) << "Unified Context : " << (*it) << endl; - } - else - { -// kdDebug(7034) << "Unified Unknown : " << (*it) << endl; - } - - ++it; - } - break; - case KDiffPlugin::Empty: - case KDiffPlugin::Unknown: - case KDiffPlugin::SideBySide: - break; - } -} - -#include "kfile_diff.moc" - -/* vim: set ts=4 sw=4 noet: */ - diff --git a/kfile-plugins/diff/kfile_diff.desktop b/kfile-plugins/diff/kfile_diff.desktop deleted file mode 100644 index a76557ff..00000000 --- a/kfile-plugins/diff/kfile_diff.desktop +++ /dev/null @@ -1,57 +0,0 @@ -[Desktop Entry] -Type=Service -Name=Diff Stats -Name[af]=Diff Statistiek -Name[bg]=Статистика за разлики -Name[br]=Stadegoù Diff -Name[bs]=Diff statistika -Name[ca]=Estadístiques de diff -Name[cs]=Statistika rozdílů -Name[cy]=Ystadegau Gwahaniaethau -Name[da]=Diff-stats -Name[de]=Diff-Statistiken -Name[el]=Στατιστικά diff -Name[es]=Estadísticas Diff -Name[et]=Võrdlemise tulemused -Name[eu]=Desberdintasun estatistikak -Name[fa]=آمارهای Diff -Name[fi]=Diff-tilastot -Name[fr]=Statistiques de diff -Name[ga]=Staitistic Diff -Name[gl]=Estatísticas de diff -Name[he]=סטטיסטיקת Diff -Name[hi]=डिफ स्टेट्स -Name[hr]=Diff statistike -Name[hu]=Diff statisztika -Name[it]=Statistiche di confronto -Name[ja]=Diff 統計 -Name[kk]=Diff статистикасы -Name[lt]=Skirtumų statistika -Name[ms]=Stat Diff -Name[nb]=Diff-statistikk -Name[nds]=Verscheelstatistiken -Name[ne]=भिन्न तथ्याङ्क -Name[nl]=Diff-statistieken -Name[nn]=Diff-statistikk -Name[pa]=ਅੰਤਰ ਹਾਲਤ -Name[pl]=Statystyka różnic -Name[pt]=Estatísticas do diff -Name[pt_BR]=Estados do Diff -Name[ro]=Statistici Diff -Name[ru]=Статистика различий -Name[sk]=Štatistiky Diff -Name[sl]=Statistike diff -Name[sr]=Статистика разликовања -Name[sr@Latn]=Statistika razlikovanja -Name[sv]=Diff-statistik -Name[ta]=டிப் ஸ்டட்ஸ் -Name[tg]=Статистикаи фарқият -Name[th]=สถานะแตกต่าง -Name[tr]=Diff İstatistikleri -Name[uk]=Статистика відмінностей -Name[zh_CN]=Diff 统计 -Name[zh_TW]=Diff 狀態 -ServiceTypes=KFilePlugin -X-TDE-Library=kfile_diff -MimeType=text/x-diff -PreferredItems=Files,First,Format,Hunks,Insert,Modify,Delete diff --git a/kfile-plugins/diff/kfile_diff.h b/kfile-plugins/diff/kfile_diff.h deleted file mode 100644 index 5249a8ac..00000000 --- a/kfile-plugins/diff/kfile_diff.h +++ /dev/null @@ -1,53 +0,0 @@ -/************************************************************************** -** kfile_diff.h -** ------------------- -** begin : Sun Jan 20 23:25:29 2002 -** copyright : (C) 2002 by Otto Bruggeman -** email : otto.bruggeman@home.nl -** -***************************************************************************/ -/*************************************************************************** -** -** 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. -** -***************************************************************************/ - -#ifndef __KFILE_PDF_H__ -#define __KFILE_PDF_H__ - -#include - -class TQStringList; - -class KDiffPlugin: public KFilePlugin -{ - Q_OBJECT - - -public: - KDiffPlugin( TQObject *parent, const char *name, - const TQStringList& preferredItems ); - - - virtual bool readInfo( KFileMetaInfo& info, uint what ); - -public: - enum Format { Context, Ed, Normal, RCS, Unified, Empty, SideBySide, Unknown }; - enum DiffProgram { CVSDiff, Diff, Diff3, Perforce, SubVersion, Undeterminable }; // cant use Unknown again :( - -private: - enum Format determineDiffFormat ( const TQStringList lines ) const; - enum DiffProgram determineDiffProgram ( const TQStringList lines ) const; - const TQString determineI18nedFormat ( enum KDiffPlugin::Format diffFormat ) const; - const TQString determineI18nedProgram( enum KDiffPlugin::DiffProgram diffProgram ) const; - // yes ugly, it's better to use a struct or classmembers to pass these parameters around - void determineDiffInfo ( const TQStringList lines, - enum KDiffPlugin::Format diffFormat, int* numberOfFiles, - int* numberOfHunks, int* numberOfAdditions, - int* numberOfChanges, int* numberOfDeletions ); -}; - -#endif diff --git a/kfile-plugins/ts/CMakeLists.txt b/kfile-plugins/ts/CMakeLists.txt deleted file mode 100644 index 4e68beb6..00000000 --- a/kfile-plugins/ts/CMakeLists.txt +++ /dev/null @@ -1,35 +0,0 @@ -################################################# -# -# (C) 2012 Serghei Amelian -# serghei (DOT) amelian (AT) gmail.com -# -# Improvements and feedback are welcome -# -# This file is released under GPL >= 2 -# -################################################# - -include_directories( - ${CMAKE_CURRENT_BINARY_DIR} - ${TDE_INCLUDE_DIR} - ${TQT_INCLUDE_DIRS} -) - -link_directories( - ${TQT_LIBRARY_DIRS} -) - - -##### other data ################################ - -install( FILES kfile_ts.desktop - DESTINATION ${SERVICES_INSTALL_DIR} ) - - -##### kfile_ts (module) ######################### - -tde_add_kpart( kfile_ts AUTOMOC - SOURCES kfile_ts.cpp - LINK kio-shared - DESTINATION ${PLUGIN_INSTALL_DIR} -) diff --git a/kfile-plugins/ts/Makefile.am b/kfile-plugins/ts/Makefile.am deleted file mode 100644 index dd64ec48..00000000 --- a/kfile-plugins/ts/Makefile.am +++ /dev/null @@ -1,21 +0,0 @@ -## Makefile.am for text file meta info plugin - -# set the include path for X, qt and KDE -INCLUDES = $(all_includes) - -noinst_HEADERS = kfile_ts.h - -kde_module_LTLIBRARIES = kfile_ts.la - -kfile_ts_la_SOURCES = kfile_ts.cpp -kfile_ts_la_LDFLAGS = $(all_libraries) -module $(KDE_PLUGIN) -kfile_ts_la_LIBADD = $(LIB_KIO) - -# let automoc handle all of the meta source files (moc) -METASOURCES = AUTO - -messages: - $(XGETTEXT) *.cpp -o $(podir)/kfile_ts.pot - -services_DATA = kfile_ts.desktop -servicesdir = $(kde_servicesdir) diff --git a/kfile-plugins/ts/kfile_ts.cpp b/kfile-plugins/ts/kfile_ts.cpp deleted file mode 100644 index 0d6f5dc1..00000000 --- a/kfile-plugins/ts/kfile_ts.cpp +++ /dev/null @@ -1,93 +0,0 @@ -/* This file is part of the KDE project - * Copyright (C) 2002 Carsten Niehaus - * - * 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 version 2. - * - * 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; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - * - */ - -#include "kfile_ts.h" - -#include -#include - -#include -#include - -typedef KGenericFactory TsFactory; - -K_EXPORT_COMPONENT_FACTORY(kfile_ts, TsFactory("kfile_ts")) - -KTsPlugin::KTsPlugin(TQObject *parent, const char *name, - const TQStringList &args) : KFilePlugin(parent, name, args) -{ - makeMimeTypeInfo( "application/x-linguist" ); -} - -void KTsPlugin::makeMimeTypeInfo(const TQString& mimeType) -{ - KFileMimeTypeInfo* info = addMimeTypeInfo(mimeType); - - KFileMimeTypeInfo::GroupInfo* group = - addGroupInfo(info, "General", i18n("General")); - - KFileMimeTypeInfo::ItemInfo* item; - item = addItemInfo(group, "Messages", i18n("Messages"), TQVariant::Int); - setAttributes(item, KFileMimeTypeInfo::Averaged); - item = addItemInfo(group, "Translated", i18n("Translated"), TQVariant::Int); - setAttributes(item, KFileMimeTypeInfo::Averaged); - item = addItemInfo(group, "Untranslated", i18n("Untranslated"), TQVariant::Int); - setAttributes(item, KFileMimeTypeInfo::Averaged); - item = addItemInfo(group, "Obsolete", i18n("Obsolete"), TQVariant::Int); -} - -bool KTsPlugin::readInfo(KFileMetaInfo& info, uint) -{ - TQFile f(info.path()); - if (!f.open(IO_ReadOnly)) - return false; - - int messages = 0; - int untranslated = 0; - int obsolete = 0; - - TQTextStream stream( &f ); - TQString line = stream.readLine(); - - // is it really a linguist file? - if (!line.contains("", false)) - return false; - - while (!stream.eof()) - { - line = stream.readLine(); - - if (line.contains("type=\"obsolete\"")) obsolete++; - - if (line.contains("")) messages++; - - if (line.contains("type=\"unfinished\"")) untranslated++; - - } - - KFileMetaInfoGroup group = appendGroup(info, "General"); - appendItem(group, "Messages", messages); - appendItem(group, "Translated", messages-untranslated-obsolete); - appendItem(group, "Untranslated", untranslated); - appendItem(group, "Obsolete", obsolete); - - return true; -} - -#include "kfile_ts.moc" diff --git a/kfile-plugins/ts/kfile_ts.desktop b/kfile-plugins/ts/kfile_ts.desktop deleted file mode 100644 index be4954ad..00000000 --- a/kfile-plugins/ts/kfile_ts.desktop +++ /dev/null @@ -1,54 +0,0 @@ -[Desktop Entry] -Type=Service -Name=Qt Linguist File Info -Name[bg]=Информация за файла Qt Linguist -Name[br]=Restr titouroù Qt Linguist -Name[bs]=Qt Linguist informacije o datoteci -Name[ca]=Informació fitxer de Qt Linguist -Name[cs]=Info o souboru Qt Linguist -Name[cy]=Gwybodaeth Ffeil Qt Linguist -Name[da]=Qt Linguist Fil-info -Name[de]=Qt Linguist-Dateiinfo -Name[el]=Πληροφορίες αρχείου Qt Linguist -Name[es]=Información de archivo de Qt Linguist -Name[et]=Qt Linguisti faili info -Name[eu]=Qt Linguist fitxategi informazioa -Name[fa]=اطلاعات پروندۀ زبان‌شناسQt -Name[fi]=Qt Linquist -tiedoston tiedot -Name[fr]=Fichier d'informations Qt Linguist -Name[ga]=Eolas faoi Chomhad Qt Linguist -Name[gl]=Información do Ficheiro de Qt Linguist -Name[hi]=क्यूटी लिंग्विस्ट फ़ाइल जानकारी -Name[hu]=Qt Linguist fájljellemzők -Name[is]=Qt Linguist skráarupplýsingar -Name[it]=Informazioni file per Qt Linguist -Name[ja]=Qt Linguist ファイル情報 -Name[ka]=Qt Linguist ფაილის ინფორმაცია -Name[kk]=Qt Linguist файл мәліметі -Name[lt]=Qt Linguist bylos informacija -Name[nb]=Informasjon om Qt Linguist-fil -Name[nds]=QtLinguist-Datei-Info -Name[ne]=Qt बहुभाषी फाइल सूचना -Name[nl]=Qt Linquïst-bestandsinformatie -Name[nn]=Informasjon om Qt Linguist-fil -Name[pa]=Qt Linguist ਫਾਇਲ ਜਾਣਕਾਰੀ -Name[pl]=Informacja pliku Qt Linguist -Name[pt]=Informação do Ficheiro do Qt Linguist -Name[pt_BR]=Arquivo de Informações de Lingüística do Qt -Name[ru]=Информация о файле в формате Qt Linguist -Name[sk]=Informácie pre Qt Linguist -Name[sl]=Informacije o Qt Linguist -Name[sr]=Информације о фајлу Qt Linguist-а -Name[sr@Latn]=Informacije o fajlu Qt Linguist-a -Name[sv]=Qt Linguist-filinformation -Name[ta]=Qt மொழியியல் கோப்புகள் தகவல் -Name[tg]=Ахборот дар бораи файл дар формати Qt Linguist -Name[tr]=Qt Dilbilimci Dosya Bilgisi -Name[uk]=інформація про файл формату Qt Linguist -Name[zh_CN]=Qt 语言大师文件信息 -Name[zh_TW]=Qt 語言檔資訊 -ServiceTypes=KFilePlugin -X-TDE-Library=kfile_ts -MimeType=application/x-linguist -PreferredGroups=General -PreferredItems=Messages,Translated,Untranslated,Fuzzi diff --git a/kfile-plugins/ts/kfile_ts.h b/kfile-plugins/ts/kfile_ts.h deleted file mode 100644 index f60972e1..00000000 --- a/kfile-plugins/ts/kfile_ts.h +++ /dev/null @@ -1,40 +0,0 @@ -/* This file is part of the KDE project - * Copyright (C) 2002 Carsten Niehaus - * - * 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 version 2. - * - * 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; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - * - */ - -#ifndef __KFILE_TS_H_ -#define __KFILE_TS_H_ - -#include - -class TQStringList; - -class KTsPlugin: public KFilePlugin -{ - Q_OBJECT - - -public: - KTsPlugin(TQObject *parent, const char *name, const TQStringList& args); - virtual bool readInfo(KFileMetaInfo& info, uint what); - -private: - void makeMimeTypeInfo(const TQString& mimeType); -}; - -#endif diff --git a/kioslave/CMakeLists.txt b/kioslave/CMakeLists.txt deleted file mode 100644 index a23a176c..00000000 --- a/kioslave/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ -################################################# -# -# (C) 2012 Serghei Amelian -# serghei (DOT) amelian (AT) gmail.com -# -# Improvements and feedback are welcome -# -# This file is released under GPL >= 2 -# -################################################# - -add_subdirectory( svn ) diff --git a/kioslave/Makefile.am b/kioslave/Makefile.am deleted file mode 100644 index 93c6570c..00000000 --- a/kioslave/Makefile.am +++ /dev/null @@ -1,6 +0,0 @@ -if include_kioslave_svn -SVN_SUBDIR = svn -endif - -SUBDIRS= $(SVN_SUBDIR) - diff --git a/kioslave/svn/AUTHORS b/kioslave/svn/AUTHORS deleted file mode 100644 index 75a6fbc9..00000000 --- a/kioslave/svn/AUTHORS +++ /dev/null @@ -1 +0,0 @@ -Mickael Marchand diff --git a/kioslave/svn/CMakeLists.txt b/kioslave/svn/CMakeLists.txt deleted file mode 100644 index 9d3c496c..00000000 --- a/kioslave/svn/CMakeLists.txt +++ /dev/null @@ -1,46 +0,0 @@ -################################################# -# -# (C) 2012 Serghei Amelian -# serghei (DOT) amelian (AT) gmail.com -# -# Improvements and feedback are welcome -# -# This file is released under GPL >= 2 -# -################################################# - -include( ConfigureChecks.cmake ) - -add_subdirectory( ksvnd ) -add_subdirectory( svnhelper ) -add_subdirectory( icons ) - -include_directories( - ${TDE_INCLUDE_DIR} - ${TQT_INCLUDE_DIRS} - ${APR_INCLUDE_DIRS} - ${SVN_INCLUDE_DIR} -) - -link_directories( - ${TQT_LIBRARY_DIRS} - ${APR_LIBRARY_DIRS} - ${SVN_LIBRARY_DIR} -) - - -##### other data ################################ - -install( FILES - svn+http.protocol svn+https.protocol svn+file.protocol - svn+ssh.protocol svn.protocol - DESTINATION ${SERVICES_INSTALL_DIR} ) - - -##### kio_svn (module) ########################## - -tde_add_kpart( kio_svn - SOURCES svn.cpp - LINK kio-shared ${APR_LIBRARIES} ${SVN_LIBRARIES} - DESTINATION ${PLUGIN_INSTALL_DIR} -) diff --git a/kioslave/svn/COPYING b/kioslave/svn/COPYING deleted file mode 100644 index 38db8225..00000000 --- a/kioslave/svn/COPYING +++ /dev/null @@ -1,481 +0,0 @@ - GNU LIBRARY GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1991 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the library GPL. It is - numbered 2 because it goes with version 2 of the ordinary GPL.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Library General Public License, applies to some -specially designated Free Software Foundation software, and to any -other libraries whose authors decide to use it. You can use it for -your libraries, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if -you distribute copies of the library, or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link a program with the library, you must provide -complete object files to the recipients so that they can relink them -with the library, after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - Our method of protecting your rights has two steps: (1) copyright -the library, and (2) offer you this license which gives you legal -permission to copy, distribute and/or modify the library. - - Also, for each distributor's protection, we want to make certain -that everyone understands that there is no warranty for this free -library. If the library is modified by someone else and passed on, we -want its recipients to know that what they have is not the original -version, so that any problems introduced by others will not reflect on -the original authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that companies distributing free -software will individually obtain patent licenses, thus in effect -transforming the program into proprietary software. To prevent this, -we have made it clear that any patent must be licensed for everyone's -free use or not licensed at all. - - Most GNU software, including some libraries, is covered by the ordinary -GNU General Public License, which was designed for utility programs. This -license, the GNU Library General Public License, applies to certain -designated libraries. This license is quite different from the ordinary -one; be sure to read it in full, and don't assume that anything in it is -the same as in the ordinary license. - - The reason we have a separate public license for some libraries is that -they blur the distinction we usually make between modifying or adding to a -program and simply using it. Linking a program with a library, without -changing the library, is in some sense simply using the library, and is -analogous to running a utility program or application program. However, in -a textual and legal sense, the linked executable is a combined work, a -derivative of the original library, and the ordinary General Public License -treats it as such. - - Because of this blurred distinction, using the ordinary General -Public License for libraries did not effectively promote software -sharing, because most developers did not use the libraries. We -concluded that weaker conditions might promote sharing better. - - However, unrestricted linking of non-free programs would deprive the -users of those programs of all benefit from the free status of the -libraries themselves. This Library General Public License is intended to -permit developers of non-free programs to use free libraries, while -preserving your freedom as a user of such programs to change the free -libraries that are incorporated in them. (We have not seen how to achieve -this as regards changes in header files, but we have achieved it as regards -changes in the actual functions of the Library.) The hope is that this -will lead to faster development of free libraries. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, while the latter only -works together with the library. - - Note that it is possible for a library to be covered by the ordinary -General Public License rather than by this special one. - - GNU LIBRARY GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library which -contains a notice placed by the copyright holder or other authorized -party saying it may be distributed under the terms of this Library -General Public License (also called "this License"). Each licensee is -addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also compile or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - c) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - d) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the source code distributed need not include anything that is normally -distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Library General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! diff --git a/kioslave/svn/ConfigureChecks.cmake b/kioslave/svn/ConfigureChecks.cmake deleted file mode 100644 index 3d46c748..00000000 --- a/kioslave/svn/ConfigureChecks.cmake +++ /dev/null @@ -1,54 +0,0 @@ -################################################# -# -# (C) 2010-2011 Serghei Amelian -# serghei (DOT) amelian (AT) gmail.com -# -# Improvements and feedback are welcome -# -# This file is released under GPL >= 2 -# -################################################# - -pkg_search_module( APR apr-1 ) -if( APR_FOUND ) - set( HAVE_APR 1 ) -else( ) - tde_message_fatal( "apr-1 is required, but was not found on your system" ) -endif( ) - - -# check for subversion library - -check_library_exists( "svn_client-1" "svn_pool_create_ex" "${SVN_LIBRARY_DIR}" HAVE_SVN_POOL_CREATE_EX_SVN_CLIENT ) -if( HAVE_SVN_POOL_CREATE_EX_SVN_CLIENT ) - set( SVN_LIBRARIES "svn_client-1;svn_subr-1;svn_ra-1" ) -else( ) - check_library_exists( "svn_subr-1" "svn_pool_create_ex" "${SVN_LIBRARY_DIR}" HAVE_SVN_POOL_CREATE_EX_SUBR ) - if( HAVE_SVN_POOL_CREATE_EX_SUBR ) - set( SVN_LIBRARIES "svn_client-1;svn_subr-1;svn_ra-1" ) - else( ) - tde_message_fatal( "svn_client-1 or svn_subr-1 library was not found on your system.\n Subversion is installed?\n Try to set SVN_LIBRARY_DIR to subversion library directory." ) - endif( ) -endif( ) - - -# check for subversion headers - -tde_save_and_set( CMAKE_REQUIRED_FLAGS "-I${APR_INCLUDE_DIRS}" ) -tde_save_and_set( CMAKE_REQUIRED_DEFINITIONS "${APR_CFLAGS}" ) - -if( SVN_INCLUDE_DIR ) - set_and_save( CMAKE_REQUIRED_INCLUDES "${SVN_INCLUDE_DIR}" ) - check_include_file( "svn_types.h" HAVE_SVN_TYPES_H ) - tde_restore( CMAKE_REQUIRED_INCLUDES ) -else( ) - # FIXME must be improved - check_include_file( "/usr/include/subversion-1/svn_types.h" HAVE_SVN_TYPES_H ) - set( SVN_INCLUDE_DIR "/usr/include/subversion-1" ) -endif( ) - -tde_restore( CMAKE_REQUIRED_FLAGS CMAKE_REQUIRED_DEFINITIONS ) - -if( NOT HAVE_SVN_TYPES_H ) - tde_message_fatal( "svn_types.h file was not found on your system.\n Subversion devel files are installed?\n Try to set SVN_INCLUDE_DIR to subversion include directory." ) -endif( ) diff --git a/kioslave/svn/Makefile.am b/kioslave/svn/Makefile.am deleted file mode 100644 index 1253820d..00000000 --- a/kioslave/svn/Makefile.am +++ /dev/null @@ -1,15 +0,0 @@ -SUBDIRS = ksvnd svnhelper icons - -INCLUDES = $(SVN_INCLUDE) $(all_includes) - -kde_module_LTLIBRARIES = kio_svn.la - -kio_svn_la_SOURCES = svn.cpp -kio_svn_la_LIBADD = -lkio -kio_svn_la_LDFLAGS = -avoid-version -module $(all_libraries) $(KDE_PLUGIN) $(SVNLD) $(SVN_LIB) - -protocol_DATA = svn+http.protocol svn+https.protocol svn+file.protocol svn+ssh.protocol svn.protocol -protocoldir = $(kde_servicesdir) - -messages: rc.cpp - $(XGETTEXT) *.cpp -o $(podir)/kio_svn.pot diff --git a/kioslave/svn/README b/kioslave/svn/README deleted file mode 100644 index 6d851afa..00000000 --- a/kioslave/svn/README +++ /dev/null @@ -1,40 +0,0 @@ -This is a kio_subversion. It allows you to browse a (remote) Subversion repository. -The expected URLs are something like : svn+http://svn.collab.net/repos/svn -This will show you the current HEAD version of the repository (just like the one you would get -with http://svn.collab.net/repos/svn). -You can also try : svn+http://svn.collab.net/repos/svn?rev=500 so that it displays the revision 500. - -REQUIREMENTS: ------------- -Subversion libraries >= 0.37.0 (http://subversion.tigris.org) - -FEATURES: ---------- -Supported protocols : -svn+http://hostname/path?rev=revision_number -svn+https://hostname/path?rev=revision_number -svn+ssh://hostname/path?rev=revision_number -svn://hostname/path?rev=revision_number -svn+file://repository/path?rev=revision_number - -INSTALL: --------- -you need the svn client library which is distributed by subversion. -on Debian : apt-get install libsvn0-dev will do everything you need. - -you can pass the following arguments to configure to help it find your -subversion/apr installations : - ---with-apr-config=FILE Use the given path to apr-config when determining APR configuration; defaults to "apr-config" ---with-apu-config=FILE Use the given path to apu-config when determining APR util configuration; defaults to "apu-config" ---with-subversion-dir=DIR where Subversion is installed ---with-svn-include=DIR Use the given path to the subversion headers. ---with-svn-lib=DIR Use the given path to the subversion libraries. - -BUGS: ------ -- file modifications time are wrong in konqui -- kio_svn crashes often with subversion 1.2-rc2, needs investigation -any other ? -please report - diff --git a/kioslave/svn/TODO b/kioslave/svn/TODO deleted file mode 100644 index b5bbe683..00000000 --- a/kioslave/svn/TODO +++ /dev/null @@ -1,74 +0,0 @@ -For the menu options, tortoise SVN has something like below. -We can follow this to some extent: - -Folder not in SVN at all: - -SVN Checkout -Svn: - Export - Create Repository here - Import - ---- - Settings... - Help - -A folder and a file in an SVN folder and in the SVN repository - -SVN Update -SVN Commit.... -Svn: - Show Log - Check for modifications - Revision Graph - ---- - Update to revision... - Rename... - Delete - Revert - Cleanup - ---- - Branch/tag... - Switch... - Merge... - Export... - Relocate... - ---- - Add (?) - ---- - Create Patch... - Apply Patch... - ---- - Settings... - Help - -A file in an SVN folder and in SVN repository - -SVN Update -SVN Commit.... -Svn: - Show Log - Check for modifications - Revision Graph - ---- - Update to revision... - Rename... - Delete - Revert - Cleanup - ---- - Branch/tag... - Switch... - Merge... - Blame... - ---- - Settings... - Help - - -A file in SVN folder, but not in repos - -Svn: - Add - Add to ignore list - - diff --git a/kioslave/svn/configure.in.bot b/kioslave/svn/configure.in.bot deleted file mode 100644 index ccab94db..00000000 --- a/kioslave/svn/configure.in.bot +++ /dev/null @@ -1,9 +0,0 @@ -if test "x$with_subversion" = xcheck && test -z "$SVN_SUBDIR"; then - echo "" - echo "You're missing Subversion libraries (1.x)" - echo "KDE will not be able to browse Subversion repositories without it," - echo "consider installing it." - echo "Look at kioslave/svn/README for more information" - echo "" - all_tests=bad -fi diff --git a/kioslave/svn/configure.in.in b/kioslave/svn/configure.in.in deleted file mode 100644 index 13fceb85..00000000 --- a/kioslave/svn/configure.in.in +++ /dev/null @@ -1,158 +0,0 @@ -AC_ARG_WITH(subversion, - [AC_HELP_STRING(--with-subversion, - [enable support for subversion @<:@default=check@:>@])], - [], with_subversion=check) - -SVN_SUBDIR="" -if test "x$with_subversion" != xno; then - -APR_CONFIGS="apr-config apr-1-config /usr/local/apr/bin/apr-config" -SVN_SUBDIR="svn" -AC_ARG_WITH(apr-config, -[[ --with-apr-config=FILE Use the given path to apr-config when determining - APR configuration; defaults to "apr-config"]], -[ - if test "$withval" != "yes" -a "$withval" != ""; then - APR_CONFIGS=$withval - fi -]) -AC_MSG_CHECKING([for APR]) -APR_CONFIG="" -for VALUE in $APR_CONFIGS ; do - if $VALUE --cflags > /dev/null; then - APR_CONFIG=$VALUE - break - fi -done -test $VALUE && APR_CONFIG=$VALUE -if test $APR_CONFIG ; then - AC_MSG_RESULT([found]) -else - AC_MSG_RESULT([not found]) - SVN_SUBDIR= -dnl AC_MSG_ERROR([APR is required. Try --with-apr-config.]) -fi - -APR_CPPFLAGS="`$APR_CONFIG --cppflags`" -APR_INCLUDE="`$APR_CONFIG --includes`" -APR_LIBS="`$APR_CONFIG --link-ld --libs`" - -dnl -dnl APR util -dnl - -APU_CONFIGS="apu-config apu-1-config /usr/local/apr/bin/apu-config" -AC_ARG_WITH(apu-config, -[[ --with-apu-config=FILE Use the given path to apu-config when determining - APR util configuration; defaults to "apu-config"]], -[ - if test "$withval" != "yes" -a "$withval" != ""; then - APU_CONFIGS=$withval - fi -]) -AC_MSG_CHECKING([for APR util]) -APU_CONFIG="" -for VALUE in $APU_CONFIGS ; do - if $VALUE --includes > /dev/null; then - APU_CONFIG=$VALUE - break - fi -done -if test $APU_CONFIG ; then - AC_MSG_RESULT([found]) -else - AC_MSG_RESULT([not found]) - SVN_SUBDIR= -dnl AC_MSG_ERROR([APR util is required. Try --with-apu-config.]) -fi -dnl APR_CPPFLAGS="$APR_CPPFLAGS `$APU_CONFIG --includes`" -APR_INCLUDE="$APR_INCLUDE `$APU_CONFIG --includes`" -APR_LIBS="$APR_LIBS `$APU_CONFIG --link-ld --libs`" - -AC_MSG_CHECKING(for Subversion svn-config) -AC_ARG_WITH(subversion-dir, - [ --with-subversion-dir=DIR where Subversion is installed ], - [ - SVNCONFIG="$withval/bin/svn-config" - ]) - -if test -z "$SVNCONFIG"; then - _SVNCONFIG="`svn-config --prefix 2> /dev/null`" - if test -n "$_SVNCONFIG"; then - SVNCONFIG="$_SVNCONFIG/bin/svn-config" - fi -fi - -AC_SUBST(SVNCONFIG) -if test -x "$SVNCONFIG"; then - SVNLD="`$SVNCONFIG --ldflags`" - SVN_LIB="`$SVNCONFIG --libs` -lsvn_client-1" - SVN_CPPFLAGS="`$SVNCONFIG --cppflags`" - dnl ugly hack for subversion svn-config problems in 0.14.x, to be removed when svn-config is fixed - SVN_INCLUDE="`$SVNCONFIG --includes` -I$_SVNCONFIG/include/subversion-1/" - AC_MSG_RESULT(yes) -else - AC_MSG_RESULT(not found) - SVNLD="" - dnl just a fallback to debian's config so that it works for me :) - SVN_INCLUDES="/usr/local/include /usr/include" - AC_ARG_WITH(svn-include, - [[ --with-svn-include=DIR Use the given path to the subversion headers.]], - [ - if test "$withval" != "yes" -a "$withval" != ""; then - SVN_INCLUDES=$withval - fi - ]) - AC_MSG_CHECKING([for Subversion headers]) - SVN_INCLUDE="" - for VALUE in $SVN_INCLUDES ; do - if test -f $VALUE/subversion-1/svn_types.h ; then - SVN_INCLUDE="-I$VALUE" - break - fi - done - if test $SVN_INCLUDE ; then - AC_MSG_RESULT([found]) - else - AC_MSG_RESULT([not found]) - SVN_SUBDIR= -dnl AC_MSG_ERROR([Subversion headers are required. Try --with-svn-include.]) - fi - SVN_MULTIARCH_LIBS="`find /usr/lib/ -maxdepth 1 -type d | xargs echo`" - SVN_LIBS="/usr/local/lib /usr/lib /usr/lib64 $SVN_MULTIARCH_LIBS" - AC_ARG_WITH(svn-lib, - [[ --with-svn-lib=DIR Use the given path to the subversion libraries.]], - [ - if test "$withval" != "yes" -a "$withval" != ""; then - SVN_LIBS=$withval - fi - ]) - AC_MSG_CHECKING([for Subversion libraries]) - SVN_LIB="" - for VALUE in $SVN_LIBS ; do - if ls $VALUE/libsvn_client-1.* 1>/dev/null 2>&1; then - SVN_LIB="-L$VALUE" - break - fi - done - if test $SVN_LIB ; then - AC_MSG_RESULT([found]) - else - AC_MSG_RESULT([not found]) - SVN_SUBDIR= - fi -fi -SVN_LIB="$SVN_LIB $APR_LIBS -lsvn_client-1" -SVN_INCLUDE="$SVN_INCLUDE $APR_INCLUDE" -SVN_CPPFLAGS="$APR_CPPFLAGS $SVN_CPPFLAGS" - -if test "x$with_subversion" != xcheck && test -z "$SVN_SUBDIR"; then - AC_MSG_ERROR([--with-subversion was given, but test for subversion failed]) -fi -fi - -AC_SUBST(SVN_INCLUDE) -AC_SUBST(SVN_LIB) -AC_SUBST(SVN_CPPFLAGS) -AC_SUBST(SVNLD) -AM_CONDITIONAL(include_kioslave_svn, test -n "$SVN_SUBDIR") diff --git a/kioslave/svn/icons/CMakeLists.txt b/kioslave/svn/icons/CMakeLists.txt deleted file mode 100644 index 96bca44c..00000000 --- a/kioslave/svn/icons/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ -################################################# -# -# (C) 2012 Serghei Amelian -# serghei (DOT) amelian (AT) gmail.com -# -# Improvements and feedback are welcome -# -# This file is released under GPL >= 2 -# -################################################# - -tde_install_icons( ) diff --git a/kioslave/svn/icons/Makefile.am b/kioslave/svn/icons/Makefile.am deleted file mode 100644 index a4b97f06..00000000 --- a/kioslave/svn/icons/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -KDE_ICON=AUTO diff --git a/kioslave/svn/icons/cr128-action-svn_add.png b/kioslave/svn/icons/cr128-action-svn_add.png deleted file mode 100644 index 0b26fdbc..00000000 Binary files a/kioslave/svn/icons/cr128-action-svn_add.png and /dev/null differ diff --git a/kioslave/svn/icons/cr128-action-svn_branch.png b/kioslave/svn/icons/cr128-action-svn_branch.png deleted file mode 100644 index 9fafce71..00000000 Binary files a/kioslave/svn/icons/cr128-action-svn_branch.png and /dev/null differ diff --git a/kioslave/svn/icons/cr128-action-svn_merge.png b/kioslave/svn/icons/cr128-action-svn_merge.png deleted file mode 100644 index 8d534b3a..00000000 Binary files a/kioslave/svn/icons/cr128-action-svn_merge.png and /dev/null differ diff --git a/kioslave/svn/icons/cr128-action-svn_remove.png b/kioslave/svn/icons/cr128-action-svn_remove.png deleted file mode 100644 index 2af59d2f..00000000 Binary files a/kioslave/svn/icons/cr128-action-svn_remove.png and /dev/null differ diff --git a/kioslave/svn/icons/cr128-action-svn_status.png b/kioslave/svn/icons/cr128-action-svn_status.png deleted file mode 100644 index bcbfaaa3..00000000 Binary files a/kioslave/svn/icons/cr128-action-svn_status.png and /dev/null differ diff --git a/kioslave/svn/icons/cr128-action-svn_switch.png b/kioslave/svn/icons/cr128-action-svn_switch.png deleted file mode 100644 index 74fbded1..00000000 Binary files a/kioslave/svn/icons/cr128-action-svn_switch.png and /dev/null differ diff --git a/kioslave/svn/icons/cr16-action-svn_add.png b/kioslave/svn/icons/cr16-action-svn_add.png deleted file mode 100644 index 70769a36..00000000 Binary files a/kioslave/svn/icons/cr16-action-svn_add.png and /dev/null differ diff --git a/kioslave/svn/icons/cr16-action-svn_branch.png b/kioslave/svn/icons/cr16-action-svn_branch.png deleted file mode 100644 index f8c701f0..00000000 Binary files a/kioslave/svn/icons/cr16-action-svn_branch.png and /dev/null differ diff --git a/kioslave/svn/icons/cr16-action-svn_merge.png b/kioslave/svn/icons/cr16-action-svn_merge.png deleted file mode 100644 index 1321a5fd..00000000 Binary files a/kioslave/svn/icons/cr16-action-svn_merge.png and /dev/null differ diff --git a/kioslave/svn/icons/cr16-action-svn_remove.png b/kioslave/svn/icons/cr16-action-svn_remove.png deleted file mode 100644 index 8f6f3040..00000000 Binary files a/kioslave/svn/icons/cr16-action-svn_remove.png and /dev/null differ diff --git a/kioslave/svn/icons/cr16-action-svn_status.png b/kioslave/svn/icons/cr16-action-svn_status.png deleted file mode 100644 index 8ad00fd7..00000000 Binary files a/kioslave/svn/icons/cr16-action-svn_status.png and /dev/null differ diff --git a/kioslave/svn/icons/cr16-action-svn_switch.png b/kioslave/svn/icons/cr16-action-svn_switch.png deleted file mode 100644 index c28b3b98..00000000 Binary files a/kioslave/svn/icons/cr16-action-svn_switch.png and /dev/null differ diff --git a/kioslave/svn/icons/cr22-action-svn_add.png b/kioslave/svn/icons/cr22-action-svn_add.png deleted file mode 100644 index 249005eb..00000000 Binary files a/kioslave/svn/icons/cr22-action-svn_add.png and /dev/null differ diff --git a/kioslave/svn/icons/cr22-action-svn_branch.png b/kioslave/svn/icons/cr22-action-svn_branch.png deleted file mode 100644 index db729c2a..00000000 Binary files a/kioslave/svn/icons/cr22-action-svn_branch.png and /dev/null differ diff --git a/kioslave/svn/icons/cr22-action-svn_merge.png b/kioslave/svn/icons/cr22-action-svn_merge.png deleted file mode 100644 index 08b1a53f..00000000 Binary files a/kioslave/svn/icons/cr22-action-svn_merge.png and /dev/null differ diff --git a/kioslave/svn/icons/cr22-action-svn_remove.png b/kioslave/svn/icons/cr22-action-svn_remove.png deleted file mode 100644 index 3005c2ac..00000000 Binary files a/kioslave/svn/icons/cr22-action-svn_remove.png and /dev/null differ diff --git a/kioslave/svn/icons/cr22-action-svn_status.png b/kioslave/svn/icons/cr22-action-svn_status.png deleted file mode 100644 index 5561af4b..00000000 Binary files a/kioslave/svn/icons/cr22-action-svn_status.png and /dev/null differ diff --git a/kioslave/svn/icons/cr22-action-svn_switch.png b/kioslave/svn/icons/cr22-action-svn_switch.png deleted file mode 100644 index e6a92dcc..00000000 Binary files a/kioslave/svn/icons/cr22-action-svn_switch.png and /dev/null differ diff --git a/kioslave/svn/icons/cr32-action-svn_add.png b/kioslave/svn/icons/cr32-action-svn_add.png deleted file mode 100644 index 63b987bd..00000000 Binary files a/kioslave/svn/icons/cr32-action-svn_add.png and /dev/null differ diff --git a/kioslave/svn/icons/cr32-action-svn_branch.png b/kioslave/svn/icons/cr32-action-svn_branch.png deleted file mode 100644 index 4fbd9c3f..00000000 Binary files a/kioslave/svn/icons/cr32-action-svn_branch.png and /dev/null differ diff --git a/kioslave/svn/icons/cr32-action-svn_merge.png b/kioslave/svn/icons/cr32-action-svn_merge.png deleted file mode 100644 index 0b2b42e2..00000000 Binary files a/kioslave/svn/icons/cr32-action-svn_merge.png and /dev/null differ diff --git a/kioslave/svn/icons/cr32-action-svn_remove.png b/kioslave/svn/icons/cr32-action-svn_remove.png deleted file mode 100644 index 5a213d57..00000000 Binary files a/kioslave/svn/icons/cr32-action-svn_remove.png and /dev/null differ diff --git a/kioslave/svn/icons/cr32-action-svn_status.png b/kioslave/svn/icons/cr32-action-svn_status.png deleted file mode 100644 index 5fb3df96..00000000 Binary files a/kioslave/svn/icons/cr32-action-svn_status.png and /dev/null differ diff --git a/kioslave/svn/icons/cr32-action-svn_switch.png b/kioslave/svn/icons/cr32-action-svn_switch.png deleted file mode 100644 index 28724155..00000000 Binary files a/kioslave/svn/icons/cr32-action-svn_switch.png and /dev/null differ diff --git a/kioslave/svn/icons/cr48-action-svn_add.png b/kioslave/svn/icons/cr48-action-svn_add.png deleted file mode 100644 index 4f4f7f34..00000000 Binary files a/kioslave/svn/icons/cr48-action-svn_add.png and /dev/null differ diff --git a/kioslave/svn/icons/cr48-action-svn_branch.png b/kioslave/svn/icons/cr48-action-svn_branch.png deleted file mode 100644 index d7fe093e..00000000 Binary files a/kioslave/svn/icons/cr48-action-svn_branch.png and /dev/null differ diff --git a/kioslave/svn/icons/cr48-action-svn_merge.png b/kioslave/svn/icons/cr48-action-svn_merge.png deleted file mode 100644 index a052acb1..00000000 Binary files a/kioslave/svn/icons/cr48-action-svn_merge.png and /dev/null differ diff --git a/kioslave/svn/icons/cr48-action-svn_remove.png b/kioslave/svn/icons/cr48-action-svn_remove.png deleted file mode 100644 index df562606..00000000 Binary files a/kioslave/svn/icons/cr48-action-svn_remove.png and /dev/null differ diff --git a/kioslave/svn/icons/cr48-action-svn_status.png b/kioslave/svn/icons/cr48-action-svn_status.png deleted file mode 100644 index f98d11eb..00000000 Binary files a/kioslave/svn/icons/cr48-action-svn_status.png and /dev/null differ diff --git a/kioslave/svn/icons/cr48-action-svn_switch.png b/kioslave/svn/icons/cr48-action-svn_switch.png deleted file mode 100644 index 131d897d..00000000 Binary files a/kioslave/svn/icons/cr48-action-svn_switch.png and /dev/null differ diff --git a/kioslave/svn/icons/cr64-action-svn_add.png b/kioslave/svn/icons/cr64-action-svn_add.png deleted file mode 100644 index 54091c32..00000000 Binary files a/kioslave/svn/icons/cr64-action-svn_add.png and /dev/null differ diff --git a/kioslave/svn/icons/cr64-action-svn_branch.png b/kioslave/svn/icons/cr64-action-svn_branch.png deleted file mode 100644 index 74deadc6..00000000 Binary files a/kioslave/svn/icons/cr64-action-svn_branch.png and /dev/null differ diff --git a/kioslave/svn/icons/cr64-action-svn_merge.png b/kioslave/svn/icons/cr64-action-svn_merge.png deleted file mode 100644 index b73ec742..00000000 Binary files a/kioslave/svn/icons/cr64-action-svn_merge.png and /dev/null differ diff --git a/kioslave/svn/icons/cr64-action-svn_remove.png b/kioslave/svn/icons/cr64-action-svn_remove.png deleted file mode 100644 index db521dc3..00000000 Binary files a/kioslave/svn/icons/cr64-action-svn_remove.png and /dev/null differ diff --git a/kioslave/svn/icons/cr64-action-svn_status.png b/kioslave/svn/icons/cr64-action-svn_status.png deleted file mode 100644 index fba134bc..00000000 Binary files a/kioslave/svn/icons/cr64-action-svn_status.png and /dev/null differ diff --git a/kioslave/svn/icons/cr64-action-svn_switch.png b/kioslave/svn/icons/cr64-action-svn_switch.png deleted file mode 100644 index 84fd6ee5..00000000 Binary files a/kioslave/svn/icons/cr64-action-svn_switch.png and /dev/null differ diff --git a/kioslave/svn/icons/crsc-action-svn_add.svgz b/kioslave/svn/icons/crsc-action-svn_add.svgz deleted file mode 100644 index 8092028e..00000000 Binary files a/kioslave/svn/icons/crsc-action-svn_add.svgz and /dev/null differ diff --git a/kioslave/svn/icons/crsc-action-svn_branch.svgz b/kioslave/svn/icons/crsc-action-svn_branch.svgz deleted file mode 100644 index 1622c9f6..00000000 Binary files a/kioslave/svn/icons/crsc-action-svn_branch.svgz and /dev/null differ diff --git a/kioslave/svn/icons/crsc-action-svn_merge.svgz b/kioslave/svn/icons/crsc-action-svn_merge.svgz deleted file mode 100644 index 56f18c44..00000000 Binary files a/kioslave/svn/icons/crsc-action-svn_merge.svgz and /dev/null differ diff --git a/kioslave/svn/icons/crsc-action-svn_remove.svgz b/kioslave/svn/icons/crsc-action-svn_remove.svgz deleted file mode 100644 index cf0db832..00000000 Binary files a/kioslave/svn/icons/crsc-action-svn_remove.svgz and /dev/null differ diff --git a/kioslave/svn/icons/crsc-action-svn_status.svgz b/kioslave/svn/icons/crsc-action-svn_status.svgz deleted file mode 100644 index 1a6ba518..00000000 Binary files a/kioslave/svn/icons/crsc-action-svn_status.svgz and /dev/null differ diff --git a/kioslave/svn/icons/crsc-action-svn_switch.svgz b/kioslave/svn/icons/crsc-action-svn_switch.svgz deleted file mode 100644 index 4717aac2..00000000 Binary files a/kioslave/svn/icons/crsc-action-svn_switch.svgz and /dev/null differ diff --git a/kioslave/svn/ksvnd/CMakeLists.txt b/kioslave/svn/ksvnd/CMakeLists.txt deleted file mode 100644 index d377ee72..00000000 --- a/kioslave/svn/ksvnd/CMakeLists.txt +++ /dev/null @@ -1,36 +0,0 @@ -################################################# -# -# (C) 2012 Serghei Amelian -# serghei (DOT) amelian (AT) gmail.com -# -# Improvements and feedback are welcome -# -# This file is released under GPL >= 2 -# -################################################# - -include_directories( - ${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_BINARY_DIR} - ${TDE_INCLUDE_DIR} - ${TQT_INCLUDE_DIRS} -) - -link_directories( - ${TQT_LIBRARY_DIRS} -) - - -##### other data ################################ - -install( FILES ksvnd.desktop - DESTINATION ${SERVICES_INSTALL_DIR}/kded ) - - -##### kded_ksvnd (module) ####################### - -tde_add_kpart( kded_ksvnd AUTOMOC - SOURCES commitdlg.ui ksvnd.cpp ksvnd.skel - LINK kio-shared tdeinit_kded-shared - DESTINATION ${PLUGIN_INSTALL_DIR} -) diff --git a/kioslave/svn/ksvnd/Makefile.am b/kioslave/svn/ksvnd/Makefile.am deleted file mode 100644 index 54eb2bee..00000000 --- a/kioslave/svn/ksvnd/Makefile.am +++ /dev/null @@ -1,13 +0,0 @@ -#INCLUDES= -I$(top_srcdir)/tdewallet/client $(all_includes) -INCLUDES= $(all_includes) - -kde_module_LTLIBRARIES = kded_ksvnd.la - -kded_ksvnd_la_SOURCES = commitdlg.ui ksvnd.cpp ksvnd.skel -kded_ksvnd_la_METASOURCES = AUTO -kded_ksvnd_la_LDFLAGS = $(all_libraries) -module -avoid-version -#kded_ksvnd_la_LIBADD = $(top_builddir)/tdewallet/client/libtdewalletclient.la $(LIB_KIO) -kded_ksvnd_la_LIBADD = $(LIB_KIO) - -kded_DATA = ksvnd.desktop -kdeddir = $(kde_servicesdir)/kded diff --git a/kioslave/svn/ksvnd/commitdlg.ui b/kioslave/svn/ksvnd/commitdlg.ui deleted file mode 100644 index fb45eda1..00000000 --- a/kioslave/svn/ksvnd/commitdlg.ui +++ /dev/null @@ -1,116 +0,0 @@ - -CommitDlg - - - CommitDlg - - - - 0 - 0 - 451 - 337 - - - - Log Message - - - - unnamed - - - - layout2 - - - - unnamed - - - - textMessage - - - - - listMessage - - - true - - - - - layout1 - - - - unnamed - - - - spacer1 - - - Horizontal - - - Expanding - - - - 220 - 20 - - - - - - pushButton1 - - - &OK - - - - - pushButton2 - - - &Cancel - - - - - - - - - - - pushButton1 - clicked() - CommitDlg - accept() - - - pushButton2 - clicked() - CommitDlg - reject() - - - - commitdlg.ui.h - - - setLog( const TQString & comment ) - logMessage() const - - - - ktextedit.h - ktextedit.h - - diff --git a/kioslave/svn/ksvnd/commitdlg.ui.h b/kioslave/svn/ksvnd/commitdlg.ui.h deleted file mode 100644 index 317476a5..00000000 --- a/kioslave/svn/ksvnd/commitdlg.ui.h +++ /dev/null @@ -1,30 +0,0 @@ -/* This file is part of the KDE project - Copyright (C) 2004 Mickael Marchand - - 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; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - - -void CommitDlg::setLog( const TQString & comment ) -{ -listMessage->setText(comment); -} - - -TQString CommitDlg::logMessage() const -{ -return textMessage->text(); -} diff --git a/kioslave/svn/ksvnd/ksvnd.cpp b/kioslave/svn/ksvnd/ksvnd.cpp deleted file mode 100644 index ddc7fb3e..00000000 --- a/kioslave/svn/ksvnd/ksvnd.cpp +++ /dev/null @@ -1,351 +0,0 @@ -/* - This file is part of the KDE Project - - Copyright (C) 2003, 2004 Mickael Marchand - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - version 2 as published by the Free Software Foundation. - - This software 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 library; see the file COPYING. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#include -#include -#include -#include -#include -#include - -#include "config.h" - -#include "ksvnd.h" -#include "commitdlg.h" - -extern "C" { - KDE_EXPORT KDEDModule *create_ksvnd(const TQCString &name) { - return new KSvnd(name); - } -} - -KSvnd::KSvnd(const TQCString &name) - : KDEDModule(name) { -} - -KSvnd::~KSvnd() { -} - -TQString KSvnd::commitDialog(TQString modifiedFiles) { - CommitDlg commitDlg; - commitDlg.setLog( modifiedFiles ); - int result = commitDlg.exec(); - if ( result == TQDialog::Accepted ) { - return commitDlg.logMessage(); - } else - return TQString(); -} - -bool KSvnd::AreAnyFilesInSvn( const KURL::List& wclist ) { - for ( TQValueListConstIterator it = wclist.begin(); it != wclist.end() ; ++it ) { - kdDebug( 7128 ) << "Checking file " << ( *it ) << endl; - TQDir bdir ( ( *it ).path() ); - if ( bdir.exists() && TQFile::exists( ( *it ).path() + "/.svn/entries" ) ) { - return true; - } else if ( !bdir.exists() ) { - if ( isFileInSvnEntries( ( *it ).fileName(), ( *it ).directory() + "/.svn/entries" ) || isFileInExternals ( ( *it ).fileName(), ( *it ).directory()+"/.svn/dir-props" ) ) - return true; - } - } - return false; -} - -bool KSvnd::AreAnyFilesNotInSvn( const KURL::List& wclist ) { - for ( TQValueListConstIterator it = wclist.begin(); it != wclist.end() ; ++it ) { - kdDebug( 7128 ) << "Checking file " << ( *it ) << endl; - TQDir bdir ( ( *it ).path() ); - if ( bdir.exists() && !TQFile::exists( ( *it ).path() + "/.svn/entries" ) ) { - return true; - } else if ( !bdir.exists() ) { - if ( !isFileInSvnEntries( ( *it ).fileName(),( *it ).directory() + "/.svn/entries" ) && !isFileInExternals ( ( *it ).fileName(), ( *it ).directory()+"/.svn/dir-props" ) ) - return true; - } - } - return false; -} - -bool KSvnd::AreAllFilesInSvn( const KURL::List& wclist ) { - for ( TQValueListConstIterator it = wclist.begin(); it != wclist.end() ; ++it ) { - kdDebug( 7128 ) << "Checking file " << ( *it ) << endl; - TQDir bdir ( ( *it ).path() ); - if ( bdir.exists() && !TQFile::exists( ( *it ).path() + "/.svn/entries" ) ) { - return false; - } else if ( !bdir.exists() ) { - if ( !isFileInSvnEntries( ( *it ).fileName(),( *it ).directory() + "/.svn/entries" ) && !isFileInExternals ( ( *it ).fileName(), ( *it ).directory()+"/.svn/dir-props" ) ) - return false; - } - } - return true; -} - -bool KSvnd::AreAllFilesNotInSvn( const KURL::List& wclist ) { - for ( TQValueListConstIterator it = wclist.begin(); it != wclist.end() ; ++it ) { - kdDebug( 7128 ) << "Checking file " << ( *it ) << endl; - TQDir bdir ( ( *it ).path() ); - if ( bdir.exists() && TQFile::exists( ( *it ).path() + "/.svn/entries" ) ) { - return false; - } else if ( !bdir.exists() ) { - if ( isFileInSvnEntries( ( *it ).fileName(),( *it ).directory() + "/.svn/entries" ) || isFileInExternals ( ( *it ).fileName(), ( *it ).directory()+"/.svn/dir-props" ) ) - return false; - } - } - return true; -} - -bool KSvnd::isFileInSvnEntries ( const TQString filename, const TQString entfile ) { - TQFile file( entfile ); - if ( file.open( IO_ReadOnly ) ) { - TQTextStream stream( &file ); - TQString line; - while ( !stream.atEnd() ) { - line = stream.readLine().simplifyWhiteSpace(); - if ( line == "name=\""+ filename + "\"" ) { - file.close(); - return true; - } - } - file.close(); - } - return false; -} - -bool KSvnd::isFileInExternals ( const TQString filename, const TQString propfile ) { - TQFile file( propfile ); - if ( file.open( IO_ReadOnly ) ) { - TQTextStream stream( &file ); - TQStringList line; - while ( !stream.atEnd() ) - line << stream.readLine().simplifyWhiteSpace(); - for ( uint i = 0 ; i < line.count(); i++ ) { - if ( line[ i ] == "K 13" && line[ i+1 ] == "svn:externals" ) { //Key 13 : svn:externals - //next line should be "V xx" - if ( line [ i+2 ].startsWith( "V " ) ) { - //ok browse the values now - i+=2; - while ( i < line.count() ) { - if ( line[ i ].startsWith( filename+" " ) ) { //found it ! - file.close( ); - return true; - } else if ( line[ i ].isEmpty() ) { - file.close( ); - return false; //we are out of svn:externals now... - } - i++; - } - } - } - } - file.close(); - } - return false; -} - -bool KSvnd::anyNotValidWorkingCopy( const KURL::List& wclist ) { - bool result = true; //one negative match is enough - for ( TQValueListConstIterator it = wclist.begin(); it != wclist.end() ; ++it ) { - //exception for .svn dirs - if ( ( *it ).path(-1).endsWith( "/.svn" ) ) - return true; - //if is a directory check whether it contains a .svn/entries file - TQDir dir( ( *it ).path() ); - if ( dir.exists() ) { //it's a dir - if ( !TQFile::exists( ( *it ).path() + "/.svn/entries" ) ) - result = false; - } - - //else check if ./.svn/entries exists - if ( !TQFile::exists( ( *it ).directory() + "/.svn/entries" ) ) - result = false; - } - return result; -} - -bool KSvnd::anyValidWorkingCopy( const KURL::List& wclist ) { - for ( TQValueListConstIterator it = wclist.begin(); it != wclist.end() ; ++it ) { - //skip .svn dirs - if ( ( *it ).path(-1).endsWith( "/.svn" ) ) - continue; - //if is a directory check whether it contains a .svn/entries file - TQDir dir( ( *it ).path() ); - if ( dir.exists() ) { //it's a dir - if ( TQFile::exists( ( *it ).path() + "/.svn/entries" ) ) - return true; - } - - //else check if ./.svn/entries exists - if ( TQFile::exists( ( *it ).directory() + "/.svn/entries" ) ) - return true; - } - return false; -} - -int KSvnd::getStatus( const KURL::List& list ) { - int result = 0; - uint files = 0, folders = 0, parentsentries = 0, parentshavesvn = 0, subdirhavesvn = 0, external = 0; - for ( TQValueListConstIterator it = list.begin(); it != list.end() ; ++it ) { - if ( isFolder ( ( *it ) ) ) { - folders++; - } else { - files++; - } - if ( isFileInSvnEntries ( (*it).filename(),( *it ).directory() + "/.svn/entries" ) ) { // normal subdir known in the working copy - parentsentries++; - } else if ( isFolder( *it ) ) { // other subfolders (either another module checkouted or an external, or something not known at all) - if ( TQFile::exists( ( *it ).path() + "/.svn/entries" ) ) - subdirhavesvn++; - if ( isFileInExternals( (*it).filename(), ( *it ).directory() + "/.svn/dir-props" ) ) { - external++; - } - } - if ( ( isFolder( ( *it ) ) && TQFile::exists( ( *it ).directory() + "../.svn/entries" ) ) || TQFile::exists( ( *it ).directory() + "/.svn/entries" ) ) //parent has a .svn ? - parentshavesvn++; - } - if ( files > 0 ) - result |= SomeAreFiles; - if ( folders == list.count() ) { - result |= AllAreFolders; - result |= SomeAreFolders; - } - if ( folders > 0 ) - result |= SomeAreFolders; - if ( parentsentries == list.count() ) { - result |= AllAreInParentsEntries; - result |= SomeAreInParentsEntries; - } else if ( parentsentries != 0 ) - result |= SomeAreInParentsEntries; - if ( parentshavesvn == list.count() ) { - result |= AllParentsHaveSvn; - result |= SomeParentsHaveSvn; - } else if ( parentshavesvn > 0 ) - result |= SomeParentsHaveSvn; - if ( subdirhavesvn == list.count() ) { - result |= AllHaveSvn; - result |= SomeHaveSvn; - } else if ( subdirhavesvn > 0 ) - result |= SomeHaveSvn; - if ( external == list.count() ) { - result |= AllAreExternalToParent; - result |= SomeAreExternalToParent; - } else if ( external > 0 ) - result |= SomeAreExternalToParent; - - return result; -} - -bool KSvnd::isFolder( const KURL& url ) { - TQDir d( url.path() ); - return d.exists(); -} - -TQStringList KSvnd::getActionMenu ( const KURL::List &list ) { - TQStringList result; - int listStatus = getStatus( list ); - - if ( !(listStatus & SomeAreInParentsEntries) && - !(listStatus & SomeAreExternalToParent) && - !(listStatus & SomeHaveSvn)) { - if( list.size() == 1 && listStatus & SomeAreFolders) { - result << "Checkout"; - result << "Export"; -// result << "CreateRepository"; - result << "Import"; - } - } else if ( (listStatus & AllAreInParentsEntries) ) { - result << "Diff"; - //In SVN -// result << "ShowLog"; -// result << "CheckForModifications"; -// result << "RevisionGraph"; -// result << "_SEPARATOR_"; -// result << "Update to revision..." - result << "Rename"; - result << "Delete"; - if( listStatus & SomeAreFolders && !(listStatus & SomeAreFiles)) { - result << "Revert"; -// result << "Cleanup"; - } - result << "_SEPARATOR_"; -// result << "BranchTag"; - result << "Switch"; - result << "Merge"; - if( listStatus & SomeAreFolders && !(listStatus & SomeAreFiles)) { -// result << "Export"; -// result << "Relocate"; - result << "_SEPARATOR_"; - result << "Add"; - } - result << "_SEPARATOR_"; - if( listStatus & SomeAreFiles && !(listStatus & SomeAreFolders)) { - result << "Blame"; - } - result << "CreatePatch"; - - if( list.size() == 1 && listStatus & SomeAreFolders) { -// result << "ApplyPatchToFolder"; - } - } - return result; -} - -TQStringList KSvnd::getTopLevelActionMenu ( const KURL::List &list ) { - TQStringList result; - int listStatus = getStatus( list ); - - - if ( ( listStatus & AllParentsHaveSvn && - ( ( listStatus & SomeAreExternalToParent ) || ( listStatus & SomeAreInParentsEntries ) ) - || ( listStatus & SomeHaveSvn ) ) - ) { - result << "Update"; - result << "Commit"; - } - - return result; -} - -#if 0 -void KSvnd::notify(const TQString& path, int action, int kind, const TQString& mime_type, int content_state, int prop_state, long int revision, const TQString& userstring) { - kdDebug(7128) << "KDED/Subversion : notify " << path << " action : " << action << " mime_type : " << mime_type << " content_state : " << content_state << " prop_state : " << prop_state << " revision : " << revision << " userstring : " << userstring << endl; - TQByteArray params; - - TQDataStream stream(params, IO_WriteOnly); - stream << path << action << kind << mime_type << content_state << prop_state << revision << userstring; - - emitDCOPSignal( "subversionNotify(TQString,int,int,TQString,int,int,long int,TQString)", params ); -} - -void KSvnd::status(const TQString& path, int text_status, int prop_status, int repos_text_status, int repos_prop_status, long int rev ) { - kdDebug(7128) << "KDED/Subversion : status " << path << " " << text_status << " " << prop_status << " " - << repos_text_status << " " << repos_prop_status << " " << rev << endl; - TQByteArray params; - - TQDataStream stream(params, IO_WriteOnly); - stream << path << text_status << prop_status << repos_text_status << repos_prop_status << rev; - - emitDCOPSignal( "subversionStatus(TQString,int,int,int,int,long int)", params ); -} - -void KSvnd::popupMessage( const TQString& message ) { - kdDebug(7128) << "KDED/Subversion : popupMessage" << message << endl; - KMessageBox::information(0, message, i18n( "Subversion" ) ); -} -#endif - -#include "ksvnd.moc" diff --git a/kioslave/svn/ksvnd/ksvnd.desktop b/kioslave/svn/ksvnd/ksvnd.desktop deleted file mode 100644 index 31f37700..00000000 --- a/kioslave/svn/ksvnd/ksvnd.desktop +++ /dev/null @@ -1,50 +0,0 @@ -[Desktop Entry] -Type=Service -Name=KDED Subversion Module -Name[bg]=Модул KDED Subversion -Name[br]=Mollad Subversion KDED -Name[ca]=Mòdul KDED de Subversion -Name[cs]=KDED Subversion modul -Name[da]=KDED Subversion modul -Name[de]=Subversion-Unterstützung -Name[el]=Άρθρωμα KDED Subversion -Name[es]=Módulo de Subversion de KDED -Name[et]=KDED Subversioni moodul -Name[eu]=KDED Subversion modulua -Name[fa]=پیمانۀ زیرنسخۀ KDED -Name[fi]=KDED Subversion -moduuli -Name[fr]=Module KDED Subversion -Name[ga]=Modúl Subversion KDED -Name[gl]=Módulo KDED Subversion -Name[hu]=KDED Subversion modul -Name[is]=KDED Subversion eining -Name[it]=Modulo Subversion di KDED -Name[ja]=KDED Subversion モジュール -Name[ka]=KDED Subversion მოდული -Name[kk]=KDED Subversion қызмет модулі -Name[lt]=KDED Subversion modulis -Name[nb]=KDED Subversion-modul -Name[nds]=KDED Subversion-Moduul -Name[ne]=केडीईडी उप संस्करण मोड्युल -Name[nl]=KDED Subversion-module -Name[nn]=KDED Subversion-modul -Name[pa]=KDED ਸਬ-ਵਰਜਨ ਮੈਡੀਊਲ -Name[pl]=Moduł Subversion dla KDED -Name[pt]=Módulo KDED Subversion -Name[pt_BR]=Módulo de Sub-versão KDED -Name[ru]=Служба Subversion -Name[sk]=KDED Subversion modul -Name[sl]=Modul Subversion za KDED -Name[sr]=KDED модул за Subversion -Name[sr@Latn]=KDED modul za Subversion -Name[sv]=KDED Subversion-modul -Name[tr]=KDED Alt Versiyon Modülü -Name[uk]=Модуль KDED Subversion -Name[zh_CN]=KDED Subversion 模块 -Name[zh_TW]=KDED Subversion 模組 -ServiceTypes=KDEDModule -X-TDE-ModuleType=Library -X-TDE-Library=ksvnd -X-TDE-FactoryName=ksvnd -X-TDE-Kded-autoload=true -X-TDE-Kded-load-on-demand=true diff --git a/kioslave/svn/ksvnd/ksvnd.h b/kioslave/svn/ksvnd/ksvnd.h deleted file mode 100644 index 90612937..00000000 --- a/kioslave/svn/ksvnd/ksvnd.h +++ /dev/null @@ -1,70 +0,0 @@ -/* - This file is part of the KDE Project - - Copyright (C) 2003-2005 Mickael Marchand - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - version 2 as published by the Free Software Foundation. - - This software 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 library; see the file COPYING. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#ifndef KSVND_H -#define KSVND_H - -#include -#include -#include -#include - -class KSvnd : public KDEDModule -{ - Q_OBJECT -// - K_DCOP - - //note: InSVN means parent is added. InRepos means itself is added - enum { SomeAreFiles = 1, SomeAreFolders = 2, SomeAreInParentsEntries = 4, SomeParentsHaveSvn = 8, SomeHaveSvn = 16, SomeAreExternalToParent = 32, AllAreInParentsEntries = 64, AllParentsHaveSvn = 128, AllHaveSvn = 256, AllAreExternalToParent = 512, AllAreFolders = 1024 }; -public: - KSvnd(const TQCString &); - ~KSvnd(); - -k_dcop: -// void addAuthInfo(TDEIO::AuthInfo, long); - TQString commitDialog(TQString); - bool anyNotValidWorkingCopy( const KURL::List& wclist ); - bool anyValidWorkingCopy( const KURL::List& wclist ); - bool AreAnyFilesNotInSvn( const KURL::List& wclist ); - bool AreAnyFilesInSvn( const KURL::List& wclist ); - bool AreAllFilesNotInSvn( const KURL::List& wclist ); - bool AreAllFilesInSvn( const KURL::List& wclist ); - TQStringList getActionMenu ( const KURL::List& list ); - TQStringList getTopLevelActionMenu ( const KURL::List &list ); -// void notify(const TQString&, int ,int, const TQString& , int , int, long int, const TQString&); -// void status(const TQString& path, int text_status, int prop_status, int repos_text_status, int repos_prop_status ,long int rev); -// void popupMessage( const TQString& message ); - -k_dcop_signals: - //emitted whenever something happens using subversion ;) -// void subversionNotify(const TQString&, int ,int, const TQString& , int , int, long int, const TQString&); -// void subversionStatus(const TQString&,int,int,int,int,long int); - -public slots: - -protected: - bool isFileInSvnEntries ( const TQString filename, const TQString entfile ); - bool isFileInExternals ( const TQString filename, const TQString propfile ); - bool isFolder( const KURL& url ); - int getStatus( const KURL::List& list ); -}; - -#endif diff --git a/kioslave/svn/svn+file.protocol b/kioslave/svn/svn+file.protocol deleted file mode 100644 index ff8edc5e..00000000 --- a/kioslave/svn/svn+file.protocol +++ /dev/null @@ -1,43 +0,0 @@ -[Protocol] -exec=kio_svn -protocol=svn+file -input=none -output=filesystem -reading=true -writing=true -deleting=true -makedir=true -linking=false -moving=true -listing=Name,Size,Date,Owner -defaultMimetype=application/octet-stream -Icon=remote -Description=Subversion ioslave -Description[br]=Sklav E/D Subversion -Description[ca]=Ioslave de Subversion -Description[cs]=Subversion protokol -Description[de]=Ein-/Ausgabemodul für Subversion -Description[es]=El ioslave de Subversion -Description[et]=Subversioni IO-moodul -Description[fr]=ioslave subversion -Description[ga]=ioslave Subversion -Description[gl]=Ioslave para Subversíon -Description[hu]=Subversion KDE-protokoll -Description[it]=Slave I/O di Subversion -Description[lt]=Subversion įvesties-išvesties priedas -Description[nb]=Subversion-iu-slave -Description[nds]=In-/Utgaavmoduul för Subversion -Description[ne]=उप संस्करण ioslave -Description[nn]=Subversion-iu-slave -Description[pl]=Wtyczka protokołu Subversion -Description[pt]='Ioslave' para Subversion -Description[pt_BR]=ioslave de Subversão -Description[ru]=Доступ к хранилищу Subversion -Description[sl]=ioslave za Subversion -Description[sr]=IOSlave за Subversion -Description[sr@Latn]=IOSlave za Subversion -Description[sv]=Subversion I/O-slav -Description[tr]=Alt Version ioslave -Description[uk]=Підлеглий В/В Subversion -maxInstances=5 -class=:internet diff --git a/kioslave/svn/svn+http.protocol b/kioslave/svn/svn+http.protocol deleted file mode 100644 index 656fa217..00000000 --- a/kioslave/svn/svn+http.protocol +++ /dev/null @@ -1,43 +0,0 @@ -[Protocol] -exec=kio_svn -protocol=svn+http -input=none -output=filesystem -reading=true -writing=true -deleting=true -makedir=true -linking=false -moving=true -listing=Name,Size,Date,Owner -defaultMimetype=application/octet-stream -Icon=remote -Description=Subversion ioslave -Description[br]=Sklav E/D Subversion -Description[ca]=Ioslave de Subversion -Description[cs]=Subversion protokol -Description[de]=Ein-/Ausgabemodul für Subversion -Description[es]=El ioslave de Subversion -Description[et]=Subversioni IO-moodul -Description[fr]=ioslave subversion -Description[ga]=ioslave Subversion -Description[gl]=Ioslave para Subversíon -Description[hu]=Subversion KDE-protokoll -Description[it]=Slave I/O di Subversion -Description[lt]=Subversion įvesties-išvesties priedas -Description[nb]=Subversion-iu-slave -Description[nds]=In-/Utgaavmoduul för Subversion -Description[ne]=उप संस्करण ioslave -Description[nn]=Subversion-iu-slave -Description[pl]=Wtyczka protokołu Subversion -Description[pt]='Ioslave' para Subversion -Description[pt_BR]=ioslave de Subversão -Description[ru]=Доступ к хранилищу Subversion -Description[sl]=ioslave za Subversion -Description[sr]=IOSlave за Subversion -Description[sr@Latn]=IOSlave za Subversion -Description[sv]=Subversion I/O-slav -Description[tr]=Alt Version ioslave -Description[uk]=Підлеглий В/В Subversion -maxInstances=5 -class=:internet diff --git a/kioslave/svn/svn+https.protocol b/kioslave/svn/svn+https.protocol deleted file mode 100644 index e299958c..00000000 --- a/kioslave/svn/svn+https.protocol +++ /dev/null @@ -1,43 +0,0 @@ -[Protocol] -exec=kio_svn -protocol=svn+https -input=none -output=filesystem -reading=true -writing=true -deleting=true -makedir=true -linking=false -moving=true -listing=Name,Size,Date,Owner -defaultMimetype=application/octet-stream -Icon=remote -Description=Subversion ioslave -Description[br]=Sklav E/D Subversion -Description[ca]=Ioslave de Subversion -Description[cs]=Subversion protokol -Description[de]=Ein-/Ausgabemodul für Subversion -Description[es]=El ioslave de Subversion -Description[et]=Subversioni IO-moodul -Description[fr]=ioslave subversion -Description[ga]=ioslave Subversion -Description[gl]=Ioslave para Subversíon -Description[hu]=Subversion KDE-protokoll -Description[it]=Slave I/O di Subversion -Description[lt]=Subversion įvesties-išvesties priedas -Description[nb]=Subversion-iu-slave -Description[nds]=In-/Utgaavmoduul för Subversion -Description[ne]=उप संस्करण ioslave -Description[nn]=Subversion-iu-slave -Description[pl]=Wtyczka protokołu Subversion -Description[pt]='Ioslave' para Subversion -Description[pt_BR]=ioslave de Subversão -Description[ru]=Доступ к хранилищу Subversion -Description[sl]=ioslave za Subversion -Description[sr]=IOSlave за Subversion -Description[sr@Latn]=IOSlave za Subversion -Description[sv]=Subversion I/O-slav -Description[tr]=Alt Version ioslave -Description[uk]=Підлеглий В/В Subversion -maxInstances=5 -class=:internet diff --git a/kioslave/svn/svn+ssh.protocol b/kioslave/svn/svn+ssh.protocol deleted file mode 100644 index 7c985da9..00000000 --- a/kioslave/svn/svn+ssh.protocol +++ /dev/null @@ -1,43 +0,0 @@ -[Protocol] -exec=kio_svn -protocol=svn+ssh -input=none -output=filesystem -reading=true -writing=true -deleting=true -makedir=true -linking=false -moving=true -listing=Name,Size,Date,Owner -defaultMimetype=application/octet-stream -Icon=remote -Description=Subversion ioslave -Description[br]=Sklav E/D Subversion -Description[ca]=Ioslave de Subversion -Description[cs]=Subversion protokol -Description[de]=Ein-/Ausgabemodul für Subversion -Description[es]=El ioslave de Subversion -Description[et]=Subversioni IO-moodul -Description[fr]=ioslave subversion -Description[ga]=ioslave Subversion -Description[gl]=Ioslave para Subversíon -Description[hu]=Subversion KDE-protokoll -Description[it]=Slave I/O di Subversion -Description[lt]=Subversion įvesties-išvesties priedas -Description[nb]=Subversion-iu-slave -Description[nds]=In-/Utgaavmoduul för Subversion -Description[ne]=उप संस्करण ioslave -Description[nn]=Subversion-iu-slave -Description[pl]=Wtyczka protokołu Subversion -Description[pt]='Ioslave' para Subversion -Description[pt_BR]=ioslave de Subversão -Description[ru]=Доступ к хранилищу Subversion -Description[sl]=ioslave za Subversion -Description[sr]=IOSlave за Subversion -Description[sr@Latn]=IOSlave za Subversion -Description[sv]=Subversion I/O-slav -Description[tr]=Alt Version ioslave -Description[uk]=Підлеглий В/В Subversion -maxInstances=5 -class=:internet diff --git a/kioslave/svn/svn.cpp b/kioslave/svn/svn.cpp deleted file mode 100644 index becef81e..00000000 --- a/kioslave/svn/svn.cpp +++ /dev/null @@ -1,1593 +0,0 @@ -/* This file is part of the KDE project - Copyright (C) 2003 Mickael Marchand - - 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; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include -#include - -#include "svn.h" -#include - -using namespace TDEIO; - -typedef struct -{ - /* Holds the directory that corresponds to the REPOS_URL at RA->open() - * time. When callbacks specify a relative path, they are joined with - * this base directory. */ - const char *base_dir; - svn_wc_adm_access_t *base_access; - - /* An array of svn_client_commit_item_t * structures, present only - * during working copy commits. */ - apr_array_header_t *commit_items; - - /* A hash of svn_config_t's, keyed off file name (i.e. the contents of - * ~/.subversion/config end up keyed off of 'config'). */ - apr_hash_t *config; - - /* The pool to use for session-related items. */ - apr_pool_t *pool; - -} svn_client__callback_baton_t; - -static svn_error_t * -open_tmp_file (apr_file_t **fp, - void *callback_baton, - apr_pool_t *pool) -{ - svn_client__callback_baton_t *cb = (svn_client__callback_baton_t *) callback_baton; - const char *truepath; - const char *ignored_filename; - - if (cb->base_dir) - truepath = apr_pstrdup (pool, cb->base_dir); - else - truepath = ""; - - /* Tack on a made-up filename. */ - truepath = svn_path_join (truepath, "tempfile", pool); - - /* Open a unique file; use APR_DELONCLOSE. */ - SVN_ERR (svn_io_open_unique_file (fp, &ignored_filename, - truepath, ".tmp", TRUE, pool)); - - return SVN_NO_ERROR; -} - -static svn_error_t *write_to_string(void *baton, const char *data, apr_size_t *len) { - kbaton *tb = ( kbaton* )baton; - svn_stringbuf_appendbytes(tb->target_string, data, *len); - return SVN_NO_ERROR; -} - -static int -compare_items_as_paths (const svn_sort__item_t*a, const svn_sort__item_t*b) { - return svn_path_compare_paths ((const char *)a->key, (const char *)b->key); -} - -kio_svnProtocol::kio_svnProtocol(const TQCString &pool_socket, const TQCString &app_socket) - : SlaveBase("kio_svn", pool_socket, app_socket) { - kdDebug(7128) << "kio_svnProtocol::kio_svnProtocol()" << endl; - - m_counter = 0; - - apr_initialize(); - // CleanUP ctx preventing crash in svn_client_update and other - memset(&ctx, 0, sizeof(ctx)); - pool = svn_pool_create (NULL); - - svn_error_t *err = svn_client_create_context(&ctx, pool); - if ( err ) { - kdDebug(7128) << "kio_svnProtocol::kio_svnProtocol() create_context ERROR" << endl; - error( TDEIO::ERR_SLAVE_DEFINED, err->message ); - return; - } - - err = svn_config_ensure (NULL,pool); - if ( err ) { - kdDebug(7128) << "kio_svnProtocol::kio_svnProtocol() configensure ERROR" << endl; - error( TDEIO::ERR_SLAVE_DEFINED, err->message ); - return; - } - svn_config_get_config (&ctx->config, NULL, pool); - - ctx->log_msg_func = kio_svnProtocol::commitLogPrompt; - ctx->log_msg_baton = this; //pass this so that we can get a dcopClient from it - //TODO - ctx->cancel_func = NULL; - - apr_array_header_t *providers = apr_array_make(pool, 9, sizeof(svn_auth_provider_object_t *)); - - svn_auth_provider_object_t *provider; - - //disk cache - svn_client_get_simple_provider(&provider,pool); - APR_ARRAY_PUSH(providers, svn_auth_provider_object_t*) = provider; - svn_client_get_username_provider(&provider,pool); - APR_ARRAY_PUSH(providers, svn_auth_provider_object_t*) = provider; - - //interactive prompt - svn_client_get_simple_prompt_provider (&provider,kio_svnProtocol::checkAuth,this,2,pool); - APR_ARRAY_PUSH(providers, svn_auth_provider_object_t*) = provider; - //we always ask user+pass, no need for a user only question -/* svn_client_get_username_prompt_provider - * (&provider,kio_svnProtocol::checkAuth,this,2,pool); - APR_ARRAY_PUSH(providers, svn_auth_provider_object_t*) = provider;*/ - - //SSL disk cache, keep that one, because it does nothing bad :) - svn_client_get_ssl_server_trust_file_provider (&provider, pool); - APR_ARRAY_PUSH (providers, svn_auth_provider_object_t *) = provider; - svn_client_get_ssl_client_cert_file_provider (&provider, pool); - APR_ARRAY_PUSH (providers, svn_auth_provider_object_t *) = provider; - svn_client_get_ssl_client_cert_pw_file_provider (&provider, pool); - APR_ARRAY_PUSH (providers, svn_auth_provider_object_t *) = provider; - - //SSL interactive prompt, where things get hard - svn_client_get_ssl_server_trust_prompt_provider (&provider, kio_svnProtocol::trustSSLPrompt, NULL, pool); - APR_ARRAY_PUSH (providers, svn_auth_provider_object_t *) = provider; - svn_client_get_ssl_client_cert_prompt_provider (&provider, kio_svnProtocol::clientCertSSLPrompt, NULL, 2, pool); - APR_ARRAY_PUSH (providers, svn_auth_provider_object_t *) = provider; - svn_client_get_ssl_client_cert_pw_prompt_provider (&provider, kio_svnProtocol::clientCertPasswdPrompt, NULL, 2, pool); - APR_ARRAY_PUSH (providers, svn_auth_provider_object_t *) = provider; - - svn_auth_open(&ctx->auth_baton, providers, pool); -} - -kio_svnProtocol::~kio_svnProtocol(){ - kdDebug(7128) << "kio_svnProtocol::~kio_svnProtocol()" << endl; - svn_pool_destroy(pool); - apr_terminate(); -} - -void kio_svnProtocol::initNotifier(bool is_checkout, bool is_export, bool suppress_final_line, apr_pool_t *spool) { - m_counter=0;//reset counter - ctx->notify_func = kio_svnProtocol::notify; - struct notify_baton *nb = ( struct notify_baton* )apr_palloc(spool, sizeof( *nb ) ); - nb->master = this; - nb->received_some_change = FALSE; - nb->sent_first_txdelta = FALSE; - nb->is_checkout = is_checkout; - nb->is_export = is_export; - nb->suppress_final_line = suppress_final_line; - nb->in_external = FALSE; - nb->had_print_error = FALSE; - nb->pool = svn_pool_create (spool); - - ctx->notify_baton = nb; -} - -svn_error_t* kio_svnProtocol::checkAuth(svn_auth_cred_simple_t **cred, void *baton, const char *realm, const char *username, svn_boolean_t /*may_save*/, apr_pool_t *pool) { - kdDebug(7128) << "kio_svnProtocol::checkAuth() for " << realm << endl; - kio_svnProtocol *p = ( kio_svnProtocol* )baton; - svn_auth_cred_simple_t *ret = (svn_auth_cred_simple_t*)apr_pcalloc (pool, sizeof (*ret)); - -// p->info.keepPassword = true; - p->info.verifyPath=true; - kdDebug(7128 ) << "auth current URL : " << p->myURL.url() << endl; - p->info.url = p->myURL; - p->info.username = username; //( const char* )svn_auth_get_parameter( p->ctx->auth_baton, SVN_AUTH_PARAM_DEFAULT_USERNAME ); -// if ( !p->checkCachedAuthentication( p->info ) ){ - p->openPassDlg( p->info ); -// } - ret->username = apr_pstrdup(pool, p->info.username.utf8()); - ret->password = apr_pstrdup(pool, p->info.password.utf8()); - ret->may_save = true; - *cred = ret; - return SVN_NO_ERROR; -} - -void kio_svnProtocol::recordCurrentURL(const KURL& url) { - myURL = url; -} - -//don't implement mimeType() until we don't need to download the whole file - -void kio_svnProtocol::get(const KURL& url ){ - kdDebug(7128) << "kio_svn::get(const KURL& url)" << endl ; - - TQString remoteServer = url.host(); - infoMessage(i18n("Looking for %1...").arg( remoteServer ) ); - - apr_pool_t *subpool = svn_pool_create (pool); - kbaton *bt = (kbaton*)apr_pcalloc(subpool, sizeof(*bt)); - bt->target_string = svn_stringbuf_create("", subpool); - bt->string_stream = svn_stream_create(bt,subpool); - svn_stream_set_write(bt->string_stream,write_to_string); - - TQString target = makeSvnURL( url ); - kdDebug(7128) << "SvnURL: " << target << endl; - recordCurrentURL( KURL( target ) ); - - //find the requested revision - svn_opt_revision_t rev; - svn_opt_revision_t endrev; - int idx = target.findRev( "?rev=" ); - if ( idx != -1 ) { - TQString revstr = target.mid( idx+5 ); -#if 0 - kdDebug(7128) << "revision string found " << revstr << endl; - if ( revstr == "HEAD" ) { - rev.kind = svn_opt_revision_head; - kdDebug(7128) << "revision searched : HEAD" << endl; - } else { - rev.kind = svn_opt_revision_number; - rev.value.number = revstr.toLong(); - kdDebug(7128) << "revision searched : " << rev.value.number << endl; - } -#endif - svn_opt_parse_revision( &rev, &endrev, revstr.utf8(), subpool ); - target = target.left( idx ); - kdDebug(7128) << "new target : " << target << endl; - } else { - kdDebug(7128) << "no revision given. searching HEAD " << endl; - rev.kind = svn_opt_revision_head; - } - initNotifier(false, false, false, subpool); - - svn_error_t *err = svn_client_cat (bt->string_stream, svn_path_canonicalize( target.utf8(),subpool ),&rev,ctx, subpool); - if ( err ) { - error( TDEIO::ERR_SLAVE_DEFINED, err->message ); - svn_pool_destroy( subpool ); - return; - } - - // Send the mimeType as soon as it is known - TQByteArray *cp = new TQByteArray(); - cp->setRawData( bt->target_string->data, bt->target_string->len ); - KMimeType::Ptr mt = KMimeType::findByContent(*cp); - kdDebug(7128) << "KMimeType returned : " << mt->name() << endl; - mimeType( mt->name() ); - - totalSize(bt->target_string->len); - - //send data - data(*cp); - - data(TQByteArray()); // empty array means we're done sending the data - finished(); - svn_pool_destroy (subpool); -} - -void kio_svnProtocol::stat(const KURL & url){ - kdDebug(7128) << "kio_svn::stat(const KURL& url) : " << url.url() << endl ; - - void *ra_baton, *session; - svn_ra_plugin_t *ra_lib; - svn_node_kind_t kind; - apr_pool_t *subpool = svn_pool_create (pool); - - TQString target = makeSvnURL( url); - kdDebug(7128) << "SvnURL: " << target << endl; - recordCurrentURL( KURL( target ) ); - - //find the requested revision - svn_opt_revision_t rev; - svn_opt_revision_t endrev; - int idx = target.findRev( "?rev=" ); - if ( idx != -1 ) { - TQString revstr = target.mid( idx+5 ); -#if 0 - kdDebug(7128) << "revision string found " << revstr << endl; - if ( revstr == "HEAD" ) { - rev.kind = svn_opt_revision_head; - kdDebug(7128) << "revision searched : HEAD" << endl; - } else { - rev.kind = svn_opt_revision_number; - rev.value.number = revstr.toLong(); - kdDebug(7128) << "revision searched : " << rev.value.number << endl; - } -#endif - svn_opt_parse_revision( &rev, &endrev, revstr.utf8( ), subpool ); - target = target.left( idx ); - kdDebug(7128) << "new target : " << target << endl; - } else { - kdDebug(7128) << "no revision given. searching HEAD " << endl; - rev.kind = svn_opt_revision_head; - } - - //init - svn_error_t *err = svn_ra_init_ra_libs(&ra_baton,subpool); - if ( err ) { - kdDebug(7128) << "init RA libs failed : " << err->message << endl; - return; - } - //find RA libs - err = svn_ra_get_ra_library(&ra_lib,ra_baton,svn_path_canonicalize( target.utf8(), subpool ),subpool); - if ( err ) { - kdDebug(7128) << "RA get libs failed : " << err->message << endl; - return; - } - kdDebug(7128) << "RA init completed" << endl; - - //start session - svn_ra_callbacks_t *cbtable = (svn_ra_callbacks_t*)apr_pcalloc(subpool, sizeof(*cbtable)); - kio_svn_callback_baton_t *callbackbt = (kio_svn_callback_baton_t*)apr_pcalloc(subpool, sizeof( *callbackbt )); - - cbtable->open_tmp_file = open_tmp_file; - cbtable->get_wc_prop = NULL; - cbtable->set_wc_prop = NULL; - cbtable->push_wc_prop = NULL; - cbtable->auth_baton = ctx->auth_baton; - - callbackbt->base_dir = target.utf8(); - callbackbt->pool = subpool; - callbackbt->config = ctx->config; - - err = ra_lib->open(&session,svn_path_canonicalize( target.utf8(), subpool ),cbtable,callbackbt,ctx->config,subpool); - if ( err ) { - kdDebug(7128)<< "Open session " << err->message << endl; - return; - } - kdDebug(7128) << "Session opened to " << target << endl; - //find number for HEAD - if (rev.kind == svn_opt_revision_head) { - err = ra_lib->get_latest_revnum(session,&rev.value.number,subpool); - if ( err ) { - kdDebug(7128)<< "Latest RevNum " << err->message << endl; - return; - } - kdDebug(7128) << "Got rev " << rev.value.number << endl; - } - - //get it - ra_lib->check_path(session,"",rev.value.number,&kind,subpool); - kdDebug(7128) << "Checked Path" << endl; - UDSEntry entry; - switch ( kind ) { - case svn_node_file: - kdDebug(7128) << "::stat result : file" << endl; - createUDSEntry(url.filename(),"",0,false,0,entry); - statEntry( entry ); - break; - case svn_node_dir: - kdDebug(7128) << "::stat result : directory" << endl; - createUDSEntry(url.filename(),"",0,true,0,entry); - statEntry( entry ); - break; - case svn_node_unknown: - case svn_node_none: - //error XXX - default: - kdDebug(7128) << "::stat result : UNKNOWN ==> WOW :)" << endl; - ; - } - finished(); - svn_pool_destroy( subpool ); -} - -void kio_svnProtocol::listDir(const KURL& url){ - kdDebug(7128) << "kio_svn::listDir(const KURL& url) : " << url.url() << endl ; - - apr_pool_t *subpool = svn_pool_create (pool); - apr_hash_t *dirents; - - TQString target = makeSvnURL( url); - kdDebug(7128) << "SvnURL: " << target << endl; - recordCurrentURL( KURL( target ) ); - - //find the requested revision - svn_opt_revision_t rev; - svn_opt_revision_t endrev; - int idx = target.findRev( "?rev=" ); - if ( idx != -1 ) { - TQString revstr = target.mid( idx+5 ); - svn_opt_parse_revision( &rev, &endrev, revstr.utf8(), subpool ); -#if 0 - kdDebug(7128) << "revision string found " << revstr << endl; - if ( revstr == "HEAD" ) { - rev.kind = svn_opt_revision_head; - kdDebug(7128) << "revision searched : HEAD" << endl; - } else { - rev.kind = svn_opt_revision_number; - rev.value.number = revstr.toLong(); - kdDebug(7128) << "revision searched : " << rev.value.number << endl; - } -#endif - target = target.left( idx ); - kdDebug(7128) << "new target : " << target << endl; - } else { - kdDebug(7128) << "no revision given. searching HEAD " << endl; - rev.kind = svn_opt_revision_head; - } - - initNotifier(false, false, false, subpool); - svn_error_t *err = svn_client_ls (&dirents, svn_path_canonicalize( target.utf8(), subpool ), &rev, false, ctx, subpool); - if ( err ) { - error( TDEIO::ERR_SLAVE_DEFINED, err->message ); - svn_pool_destroy( subpool ); - return; - } - - apr_array_header_t *array; - int i; - - array = svn_sort__hash (dirents, compare_items_as_paths, subpool); - - UDSEntry entry; - for (i = 0; i < array->nelts; ++i) { - entry.clear(); - const char *utf8_entryname, *native_entryname; - svn_dirent_t *dirent; - svn_sort__item_t *item; - - item = &APR_ARRAY_IDX (array, i, svn_sort__item_t); - - utf8_entryname = (const char*)item->key; - - dirent = (svn_dirent_t*)apr_hash_get (dirents, utf8_entryname, item->klen); - - svn_utf_cstring_from_utf8 (&native_entryname, utf8_entryname, subpool); - const char *native_author = NULL; - - //XXX BUGGY -/* apr_time_exp_t timexp; - apr_time_exp_lt(&timexp, dirent->time); - apr_os_exp_time_t *ostime; - apr_os_exp_time_get( &ostime, &timexp); - - time_t mtime = mktime( ostime );*/ - - if (dirent->last_author) - svn_utf_cstring_from_utf8 (&native_author, dirent->last_author, subpool); - - if ( createUDSEntry(TQString( native_entryname ), TQString( native_author ), dirent->size, - dirent->kind==svn_node_dir ? true : false, 0, entry) ) - listEntry( entry, false ); - } - listEntry( entry, true ); - - finished(); - svn_pool_destroy (subpool); -} - -bool kio_svnProtocol::createUDSEntry( const TQString& filename, const TQString& user, long long int size, bool isdir, time_t mtime, UDSEntry& entry) { - kdDebug(7128) << "MTime : " << ( long )mtime << endl; - kdDebug(7128) << "UDS filename : " << filename << endl; - UDSAtom atom; - atom.m_uds = TDEIO::UDS_NAME; - atom.m_str = filename; - entry.append( atom ); - - atom.m_uds = TDEIO::UDS_FILE_TYPE; - atom.m_long = isdir ? S_IFDIR : S_IFREG; - entry.append( atom ); - - atom.m_uds = TDEIO::UDS_SIZE; - atom.m_long = size; - entry.append( atom ); - - atom.m_uds = TDEIO::UDS_MODIFICATION_TIME; - atom.m_long = mtime; - entry.append( atom ); - - atom.m_uds = TDEIO::UDS_USER; - atom.m_str = user; - entry.append( atom ); - - return true; -} - -void kio_svnProtocol::copy(const KURL & src, const KURL& dest, int /*permissions*/, bool /*overwrite*/) { - kdDebug(7128) << "kio_svnProtocol::copy() Source : " << src.url() << " Dest : " << dest.url() << endl; - - apr_pool_t *subpool = svn_pool_create (pool); - svn_client_commit_info_t *commit_info = NULL; - - KURL nsrc = src; - KURL ndest = dest; - nsrc.setProtocol( chooseProtocol( src.protocol() ) ); - ndest.setProtocol( chooseProtocol( dest.protocol() ) ); - TQString srcsvn = nsrc.url(); - TQString destsvn = ndest.url(); - - recordCurrentURL( nsrc ); - - //find the requested revision - svn_opt_revision_t rev; - int idx = srcsvn.findRev( "?rev=" ); - if ( idx != -1 ) { - TQString revstr = srcsvn.mid( idx+5 ); - kdDebug(7128) << "revision string found " << revstr << endl; - if ( revstr == "HEAD" ) { - rev.kind = svn_opt_revision_head; - kdDebug(7128) << "revision searched : HEAD" << endl; - } else { - rev.kind = svn_opt_revision_number; - rev.value.number = revstr.toLong(); - kdDebug(7128) << "revision searched : " << rev.value.number << endl; - } - srcsvn = srcsvn.left( idx ); - kdDebug(7128) << "new src : " << srcsvn << endl; - } else { - kdDebug(7128) << "no revision given. searching HEAD " << endl; - rev.kind = svn_opt_revision_head; - } - - initNotifier(false, false, false, subpool); - svn_error_t *err = svn_client_copy(&commit_info, srcsvn.utf8(), &rev, destsvn.utf8(), ctx, subpool); - if ( err ) { - error( TDEIO::ERR_SLAVE_DEFINED, err->message ); - } - - finished(); - svn_pool_destroy (subpool); -} - -void kio_svnProtocol::mkdir( const KURL::List& list, int /*permissions*/ ) { - kdDebug(7128) << "kio_svnProtocol::mkdir(LIST) : " << list << endl; - - apr_pool_t *subpool = svn_pool_create (pool); - svn_client_commit_info_t *commit_info = NULL; - - recordCurrentURL( list[ 0 ] ); - - apr_array_header_t *targets = apr_array_make(subpool, list.count()+1, sizeof(const char *)); - - KURL::List::const_iterator it = list.begin(), end = list.end(); - for ( ; it != end; ++it ) { - TQString cur = makeSvnURL( *it ); - kdDebug( 7128 ) << "kio_svnProtocol::mkdir raw url for subversion : " << cur << endl; - const char *_target = apr_pstrdup( subpool, svn_path_canonicalize( apr_pstrdup( subpool, cur.utf8() ), subpool ) ); - (*(( const char ** )apr_array_push(( apr_array_header_t* )targets)) ) = _target; - } - - initNotifier(false, false, false, subpool); - svn_error_t *err = svn_client_mkdir(&commit_info,targets,ctx,subpool); - if ( err ) { - error( TDEIO::ERR_COULD_NOT_MKDIR, err->message ); - } - - finished(); - svn_pool_destroy (subpool); -} - -void kio_svnProtocol::mkdir( const KURL& url, int /*permissions*/ ) { - kdDebug(7128) << "kio_svnProtocol::mkdir() : " << url.url() << endl; - - apr_pool_t *subpool = svn_pool_create (pool); - svn_client_commit_info_t *commit_info = NULL; - - TQString target = makeSvnURL( url); - kdDebug(7128) << "SvnURL: " << target << endl; - recordCurrentURL( KURL( target ) ); - - apr_array_header_t *targets = apr_array_make(subpool, 2, sizeof(const char *)); - (*(( const char ** )apr_array_push(( apr_array_header_t* )targets)) ) = apr_pstrdup( subpool, target.utf8() ); - - initNotifier(false, false, false, subpool); - svn_error_t *err = svn_client_mkdir(&commit_info,targets,ctx,subpool); - if ( err ) { - error( TDEIO::ERR_COULD_NOT_MKDIR, err->message ); - } - - finished(); - svn_pool_destroy (subpool); -} - -void kio_svnProtocol::del( const KURL& url, bool /*isfile*/ ) { - kdDebug(7128) << "kio_svnProtocol::del() : " << url.url() << endl; - - apr_pool_t *subpool = svn_pool_create (pool); - svn_client_commit_info_t *commit_info = NULL; - - TQString target = makeSvnURL(url); - kdDebug(7128) << "SvnURL: " << target << endl; - recordCurrentURL( KURL( target ) ); - - apr_array_header_t *targets = apr_array_make(subpool, 2, sizeof(const char *)); - (*(( const char ** )apr_array_push(( apr_array_header_t* )targets)) ) = apr_pstrdup( subpool, target.utf8() ); - - initNotifier(false, false, false, subpool); - svn_error_t *err = svn_client_delete(&commit_info,targets,false/*force remove locally modified files in wc*/,ctx,subpool); - if ( err ) { - error( TDEIO::ERR_CANNOT_DELETE, err->message ); - } - - finished(); - svn_pool_destroy (subpool); -} - -void kio_svnProtocol::rename(const KURL& src, const KURL& dest, bool /*overwrite*/) { - kdDebug(7128) << "kio_svnProtocol::rename() Source : " << src.url() << " Dest : " << dest.url() << endl; - - apr_pool_t *subpool = svn_pool_create (pool); - svn_client_commit_info_t *commit_info = NULL; - - KURL nsrc = src; - KURL ndest = dest; - nsrc.setProtocol( chooseProtocol( src.protocol() ) ); - ndest.setProtocol( chooseProtocol( dest.protocol() ) ); - TQString srcsvn = nsrc.url(); - TQString destsvn = ndest.url(); - - recordCurrentURL( nsrc ); - - //find the requested revision - svn_opt_revision_t rev; - int idx = srcsvn.findRev( "?rev=" ); - if ( idx != -1 ) { - TQString revstr = srcsvn.mid( idx+5 ); - kdDebug(7128) << "revision string found " << revstr << endl; - if ( revstr == "HEAD" ) { - rev.kind = svn_opt_revision_head; - kdDebug(7128) << "revision searched : HEAD" << endl; - } else { - rev.kind = svn_opt_revision_number; - rev.value.number = revstr.toLong(); - kdDebug(7128) << "revision searched : " << rev.value.number << endl; - } - srcsvn = srcsvn.left( idx ); - kdDebug(7128) << "new src : " << srcsvn << endl; - } else { - kdDebug(7128) << "no revision given. searching HEAD " << endl; - rev.kind = svn_opt_revision_head; - } - - initNotifier(false, false, false, subpool); - svn_error_t *err = svn_client_move(&commit_info, srcsvn.utf8(), &rev, destsvn.utf8(), false/*force remove locally modified files in wc*/, ctx, subpool); - if ( err ) { - error( TDEIO::ERR_CANNOT_RENAME, err->message ); - } - - finished(); - svn_pool_destroy (subpool); -} - -void kio_svnProtocol::special( const TQByteArray& data ) { - kdDebug(7128) << "kio_svnProtocol::special" << endl; - - TQDataStream stream(data, IO_ReadOnly); - int tmp; - - stream >> tmp; - kdDebug(7128) << "kio_svnProtocol::special " << tmp << endl; - - switch ( tmp ) { - case SVN_CHECKOUT: - { - KURL repository, wc; - int revnumber; - TQString revkind; - stream >> repository; - stream >> wc; - stream >> revnumber; - stream >> revkind; - kdDebug(7128) << "kio_svnProtocol CHECKOUT from " << repository.url() << " to " << wc.url() << " at " << revnumber << " or " << revkind << endl; - checkout( repository, wc, revnumber, revkind ); - break; - } - case SVN_UPDATE: - { - KURL wc; - int revnumber; - TQString revkind; - stream >> wc; - stream >> revnumber; - stream >> revkind; - kdDebug(7128) << "kio_svnProtocol UPDATE " << wc.url() << " at " << revnumber << " or " << revkind << endl; - update(wc, revnumber, revkind ); - break; - } - case SVN_COMMIT: - { - KURL::List wclist; - while ( !stream.atEnd() ) { - KURL tmp; - stream >> tmp; - wclist << tmp; - } - kdDebug(7128) << "kio_svnProtocol COMMIT" << endl; - commit( wclist ); - break; - } - case SVN_LOG: - { - kdDebug(7128) << "kio_svnProtocol LOG" << endl; - int revstart, revend; - TQString revkindstart, revkindend; - KURL::List targets; - stream >> revstart; - stream >> revkindstart; - stream >> revend; - stream >> revkindend; - while ( !stream.atEnd() ) { - KURL tmp; - stream >> tmp; - targets << tmp; - } - svn_log( revstart, revkindstart, revend, revkindend, targets ); - break; - } - case SVN_IMPORT: - { - KURL wc,repos; - stream >> repos; - stream >> wc; - kdDebug(7128) << "kio_svnProtocol IMPORT" << endl; - import(repos,wc); - break; - } - case SVN_ADD: - { - KURL wc; - stream >> wc; - kdDebug(7128) << "kio_svnProtocol ADD" << endl; - add(wc); - break; - } - case SVN_DEL: - { - KURL::List wclist; - while ( !stream.atEnd() ) { - KURL tmp; - stream >> tmp; - wclist << tmp; - } - kdDebug(7128) << "kio_svnProtocol DEL" << endl; - wc_delete(wclist); - break; - } - case SVN_REVERT: - { - KURL::List wclist; - while ( !stream.atEnd() ) { - KURL tmp; - stream >> tmp; - wclist << tmp; - } - kdDebug(7128) << "kio_svnProtocol REVERT" << endl; - wc_revert(wclist); - break; - } - case SVN_STATUS: - { - KURL wc; - int checkRepos=false; - int fullRecurse=false; - stream >> wc; - stream >> checkRepos; - stream >> fullRecurse; - kdDebug(7128) << "kio_svnProtocol STATUS" << endl; - wc_status(wc,checkRepos,fullRecurse); - break; - } - case SVN_MKDIR: - { - KURL::List list; - stream >> list; - kdDebug(7128) << "kio_svnProtocol MKDIR" << endl; - mkdir(list,0); - break; - } - case SVN_RESOLVE: - { - KURL url; - bool recurse; - stream >> url; - stream >> recurse; - kdDebug(7128) << "kio_svnProtocol RESOLVE" << endl; - wc_resolve(url,recurse); - break; - } - case SVN_SWITCH: - { - KURL wc,url; - bool recurse; - int revnumber; - TQString revkind; - stream >> wc; - stream >> url; - stream >> recurse; - stream >> revnumber; - stream >> revkind; - kdDebug(7128) << "kio_svnProtocol SWITCH" << endl; - svn_switch(wc,url,revnumber,revkind,recurse); - break; - } - case SVN_DIFF: - { - KURL url1,url2; - int rev1, rev2; - bool recurse; - TQString revkind1, revkind2; - stream >> url1; - stream >> url2; - stream >> rev1; - stream >> revkind1; - stream >> rev2; - stream >> revkind2; - stream >> recurse; - kdDebug(7128) << "kio_svnProtocol DIFF" << endl; - svn_diff(url1,url2,rev1,rev2,revkind1,revkind2,recurse); - break; - } - default: - { - kdDebug(7128) << "kio_svnProtocol DEFAULT" << endl; - break; - } - } -} - -void kio_svnProtocol::popupMessage( const TQString& message ) { - TQByteArray params; - TQDataStream stream(params, IO_WriteOnly); - stream << message; - - if ( !dcopClient()->send( "kded","ksvnd","popupMessage(TQString)", params ) ) - kdWarning() << "Communication with KDED:KSvnd failed" << endl; -} - -void kio_svnProtocol::svn_log( int revstart, const TQString& revkindstart, int revend, const TQString& revkindend, const KURL::List& targets ) { - kdDebug(7128) << "kio_svn::log : " << targets << " from revision " << revstart << " or " << revkindstart << " to " - " revision " << revend << " or " << revkindend - << endl; - - apr_pool_t *subpool = svn_pool_create (pool); - - svn_opt_revision_t rev1 = createRevision( revstart, revkindstart, subpool ); - svn_opt_revision_t rev2 = createRevision( revend, revkindend, subpool ); - - //TODO - - finished(); - svn_pool_destroy (subpool); -} - -svn_opt_revision_t kio_svnProtocol::createRevision( int revision, const TQString& revkind, apr_pool_t *pool ) { - svn_opt_revision_t result,endrev; - - if ( revision != -1 ) { - result.value.number = revision; - result.kind = svn_opt_revision_number; - } else if ( revkind == "WORKING" ) { - result.kind = svn_opt_revision_working; - } else if ( revkind == "BASE" ) { - result.kind = svn_opt_revision_base; - } else if ( !revkind.isNull() ) { - svn_opt_parse_revision(&result,&endrev,revkind.utf8(),pool); - } - return result; -} - -void kio_svnProtocol::svn_diff(const KURL & url1, const KURL& url2,int rev1, int rev2,const TQString& revkind1,const TQString& revkind2,bool recurse) { - kdDebug(7128) << "kio_svn::diff : " << url1.path() << " at revision " << rev1 << " or " << revkind1 << " with " - << url2.path() << " at revision " << rev2 << " or " << revkind2 - << endl ; - - apr_pool_t *subpool = svn_pool_create (pool); - apr_array_header_t *options = svn_cstring_split( "", "\t\r\n", TRUE, subpool ); - - KURL nurl1 = url1; - KURL nurl2 = url2; - nurl1.setProtocol( chooseProtocol( url1.protocol() ) ); //svn+https -> https for eg - nurl2.setProtocol( chooseProtocol( url2.protocol() ) ); - recordCurrentURL( nurl1 ); - TQString source = makeSvnURL( nurl1 ); - TQString target = makeSvnURL( nurl2 ); - - const char *path1 = svn_path_canonicalize( apr_pstrdup( subpool, source.utf8() ), subpool ); - const char *path2 = svn_path_canonicalize( apr_pstrdup( subpool, target.utf8() ), subpool ); - //remove file:/// so we can diff for working copies, needs a better check (so we support URL for file:/// _repositories_ ) - if ( nurl1.protocol() == "file" ) { - path1 = svn_path_canonicalize( apr_pstrdup( subpool, nurl1.path().utf8() ), subpool ); - } - if ( nurl2.protocol() == "file" ) { - path2 = svn_path_canonicalize( apr_pstrdup( subpool, nurl2.path().utf8() ), subpool ); - } - kdDebug( 7128 ) << "1 : " << path1 << " 2: " << path2 << endl; - - svn_opt_revision_t revision1,revision2; - revision1 = createRevision(rev1, revkind1, subpool); - revision2 = createRevision(rev2, revkind2, subpool); - - char *templ; - templ = apr_pstrdup ( subpool, "/tmp/tmpfile_XXXXXX" ); - apr_file_t *outfile = NULL; - apr_file_mktemp( &outfile, templ , APR_READ|APR_WRITE|APR_CREATE|APR_TRUNCATE, subpool ); - - initNotifier(false, false, false, subpool); - svn_error_t *err = svn_client_diff (options, path1, &revision1, path2, &revision2, recurse, false, true, outfile, NULL, ctx, subpool); - if ( err ) - error( TDEIO::ERR_SLAVE_DEFINED, err->message ); - //read the content of the outfile now - TQStringList tmp; - apr_file_close(outfile); - TQFile file(templ); - if ( file.open( IO_ReadOnly ) ) { - TQTextStream stream( &file ); - TQString line; - while ( !stream.atEnd() ) { - line = stream.readLine(); - tmp << line; - } - file.close(); - } - for ( TQStringList::Iterator itt = tmp.begin(); itt != tmp.end(); itt++ ) { - setMetaData(TQString::number( m_counter ).rightJustify( 10,'0' )+ "diffresult", ( *itt ) ); - m_counter++; - } - //delete temp file - file.remove(); - - finished(); - svn_pool_destroy (subpool); -} - -void kio_svnProtocol::svn_switch( const KURL& wc, const KURL& repos, int revnumber, const TQString& revkind, bool recurse) { - kdDebug(7128) << "kio_svn::switch : " << wc.path() << " at revision " << revnumber << " or " << revkind << endl ; - - apr_pool_t *subpool = svn_pool_create (pool); - - KURL nurl = repos; - KURL dest = wc; - nurl.setProtocol( chooseProtocol( repos.protocol() ) ); - dest.setProtocol( "file" ); - recordCurrentURL( nurl ); - TQString source = dest.path(); - TQString target = makeSvnURL( repos ); - - const char *path = svn_path_canonicalize( apr_pstrdup( subpool, source.utf8() ), subpool ); - const char *url = svn_path_canonicalize( apr_pstrdup( subpool, target.utf8() ), subpool ); - - svn_opt_revision_t rev = createRevision( revnumber, revkind, subpool ); - - initNotifier(false, false, false, subpool); - svn_error_t *err = svn_client_switch (NULL/*result revision*/, path, url, &rev, recurse, ctx, subpool); - if ( err ) - error( TDEIO::ERR_SLAVE_DEFINED, err->message ); - - finished(); - svn_pool_destroy (subpool); -} - -void kio_svnProtocol::update( const KURL& wc, int revnumber, const TQString& revkind ) { - kdDebug(7128) << "kio_svn::update : " << wc.path() << " at revision " << revnumber << " or " << revkind << endl ; - - apr_pool_t *subpool = svn_pool_create (pool); - KURL dest = wc; - dest.setProtocol( "file" ); - TQString target = dest.path(); - recordCurrentURL( dest ); - - svn_opt_revision_t rev = createRevision( revnumber, revkind, subpool ); - - initNotifier(false, false, false, subpool); - svn_error_t *err = svn_client_update (NULL, svn_path_canonicalize( target.utf8(), subpool ), &rev, true, ctx, subpool); - if ( err ) - error( TDEIO::ERR_SLAVE_DEFINED, err->message ); - - finished(); - svn_pool_destroy (subpool); -} - -void kio_svnProtocol::import( const KURL& repos, const KURL& wc ) { - kdDebug(7128) << "kio_svnProtocol::import() : " << wc.url() << " into " << repos.url() << endl; - - apr_pool_t *subpool = svn_pool_create (pool); - svn_client_commit_info_t *commit_info = NULL; - bool nonrecursive = false; - - KURL nurl = repos; - KURL dest = wc; - nurl.setProtocol( chooseProtocol( repos.protocol() ) ); - dest.setProtocol( "file" ); - recordCurrentURL( nurl ); - dest.cleanPath( true ); // remove doubled '/' - TQString source = dest.path(-1); - TQString target = makeSvnURL( repos ); - - const char *path = svn_path_canonicalize( apr_pstrdup( subpool, source.utf8() ), subpool ); - const char *url = svn_path_canonicalize( apr_pstrdup( subpool, target.utf8() ), subpool ); - - initNotifier(false, false, false, subpool); - svn_error_t *err = svn_client_import(&commit_info,path,url,nonrecursive,ctx,subpool); - if ( err ) - error( TDEIO::ERR_SLAVE_DEFINED, err->message ); - - finished(); - svn_pool_destroy (subpool); -} - -void kio_svnProtocol::checkout( const KURL& repos, const KURL& wc, int revnumber, const TQString& revkind ) { - kdDebug(7128) << "kio_svn::checkout : " << repos.url() << " into " << wc.path() << " at revision " << revnumber << " or " << revkind << endl ; - - apr_pool_t *subpool = svn_pool_create (pool); - KURL nurl = repos; - KURL dest = wc; - nurl.setProtocol( chooseProtocol( repos.protocol() ) ); - dest.setProtocol( "file" ); - TQString target = makeSvnURL( repos ); - recordCurrentURL( nurl ); - TQString dpath = dest.path(); - - //find the requested revision - svn_opt_revision_t rev = createRevision( revnumber, revkind, subpool ); - - initNotifier(true, false, false, subpool); - svn_error_t *err = svn_client_checkout (NULL/* rev actually checkedout */, svn_path_canonicalize( target.utf8(), subpool ), svn_path_canonicalize ( dpath.utf8(), subpool ), &rev, true, ctx, subpool); - if ( err ) - error( TDEIO::ERR_SLAVE_DEFINED, err->message ); - - finished(); - svn_pool_destroy (subpool); -} - -void kio_svnProtocol::commit(const KURL::List& wc) { - kdDebug(7128) << "kio_svnProtocol::commit() : " << wc << endl; - - apr_pool_t *subpool = svn_pool_create (pool); - svn_client_commit_info_t *commit_info = NULL; - bool nonrecursive = false; - - apr_array_header_t *targets = apr_array_make(subpool, 1+wc.count(), sizeof(const char *)); - - for ( TQValueListConstIterator it = wc.begin(); it != wc.end() ; ++it ) { - KURL nurl = *it; - nurl.setProtocol( "file" ); - recordCurrentURL( nurl ); - (*(( const char ** )apr_array_push(( apr_array_header_t* )targets)) ) = svn_path_canonicalize( nurl.path().utf8(), subpool ); - } - - initNotifier(false, false, false, subpool); - svn_error_t *err = svn_client_commit(&commit_info,targets,nonrecursive,ctx,subpool); - if ( err ) - error( TDEIO::ERR_SLAVE_DEFINED, err->message ); - - if ( commit_info ) { - for ( TQValueListConstIterator it = wc.begin(); it != wc.end() ; ++it ) { - KURL nurl = *it; - nurl.setProtocol( "file" ); - - TQString userstring = i18n ( "Nothing to commit." ); - if ( SVN_IS_VALID_REVNUM( commit_info->revision ) ) - userstring = i18n( "Committed revision %1." ).arg(commit_info->revision); - setMetaData(TQString::number( m_counter ).rightJustify( 10,'0' )+ "path", nurl.path() ); - setMetaData(TQString::number( m_counter ).rightJustify( 10,'0' )+ "action", "0" ); - setMetaData(TQString::number( m_counter ).rightJustify( 10,'0' )+ "kind", "0" ); - setMetaData(TQString::number( m_counter ).rightJustify( 10,'0' )+ "mime_t", "" ); - setMetaData(TQString::number( m_counter ).rightJustify( 10,'0' )+ "content", "0" ); - setMetaData(TQString::number( m_counter ).rightJustify( 10,'0' )+ "prop", "0" ); - setMetaData(TQString::number( m_counter ).rightJustify( 10,'0' )+ "rev" , TQString::number( commit_info->revision ) ); - setMetaData(TQString::number( m_counter ).rightJustify( 10,'0' )+ "string", userstring ); - m_counter++; - } - } - - finished(); - svn_pool_destroy (subpool); -} - -void kio_svnProtocol::add(const KURL& wc) { - kdDebug(7128) << "kio_svnProtocol::add() : " << wc.url() << endl; - - apr_pool_t *subpool = svn_pool_create (pool); - bool nonrecursive = false; - - KURL nurl = wc; - nurl.setProtocol( "file" ); - TQString target = nurl.url(); - recordCurrentURL( nurl ); - - initNotifier(false, false, false, subpool); - svn_error_t *err = svn_client_add(svn_path_canonicalize( nurl.path().utf8(), subpool ),nonrecursive,ctx,subpool); - if ( err ) - error( TDEIO::ERR_SLAVE_DEFINED, err->message ); - - finished(); - svn_pool_destroy (subpool); -} - -void kio_svnProtocol::wc_delete(const KURL::List& wc) { - kdDebug(7128) << "kio_svnProtocol::wc_delete() : " << wc << endl; - - apr_pool_t *subpool = svn_pool_create (pool); - svn_client_commit_info_t *commit_info = NULL; - bool nonrecursive = false; - - apr_array_header_t *targets = apr_array_make(subpool, 1+wc.count(), sizeof(const char *)); - - for ( TQValueListConstIterator it = wc.begin(); it != wc.end() ; ++it ) { - KURL nurl = *it; - nurl.setProtocol( "file" ); - recordCurrentURL( nurl ); - (*(( const char ** )apr_array_push(( apr_array_header_t* )targets)) ) = svn_path_canonicalize( nurl.path().utf8(), subpool ); - } - - initNotifier(false, false, false, subpool); - svn_error_t *err = svn_client_delete(&commit_info,targets,nonrecursive,ctx,subpool); - - if ( err ) - error( TDEIO::ERR_SLAVE_DEFINED, err->message ); - - finished(); - svn_pool_destroy (subpool); -} - -void kio_svnProtocol::wc_revert(const KURL::List& wc) { - kdDebug(7128) << "kio_svnProtocol::revert() : " << wc << endl; - - apr_pool_t *subpool = svn_pool_create (pool); - bool nonrecursive = false; - - apr_array_header_t *targets = apr_array_make(subpool, 1 + wc.count(), sizeof(const char *)); - - for ( TQValueListConstIterator it = wc.begin(); it != wc.end() ; ++it ) { - KURL nurl = *it; - nurl.setProtocol( "file" ); - recordCurrentURL( nurl ); - (*(( const char ** )apr_array_push(( apr_array_header_t* )targets)) ) = svn_path_canonicalize( nurl.path().utf8(), subpool ); - } - - initNotifier(false, false, false, subpool); - svn_error_t *err = svn_client_revert(targets,nonrecursive,ctx,subpool); - if ( err ) - error( TDEIO::ERR_SLAVE_DEFINED, err->message ); - - finished(); - svn_pool_destroy (subpool); -} - -void kio_svnProtocol::wc_status(const KURL& wc, bool checkRepos, bool fullRecurse, bool getAll, int revnumber, const TQString& revkind) { - kdDebug(7128) << "kio_svnProtocol::status() : " << wc.url() << endl; - - apr_pool_t *subpool = svn_pool_create (pool); - svn_revnum_t result_rev; - bool no_ignore = FALSE; - - KURL nurl = wc; - nurl.setProtocol( "file" ); - recordCurrentURL( nurl ); - - svn_opt_revision_t rev = createRevision( revnumber, revkind, subpool ); - - initNotifier(false, false, false, subpool); - - svn_error_t *err = svn_client_status(&result_rev, svn_path_canonicalize( nurl.path().utf8(), subpool ), &rev, kio_svnProtocol::status, this, fullRecurse, getAll, checkRepos, no_ignore, ctx, subpool); - - if ( err ) - error( TDEIO::ERR_SLAVE_DEFINED, err->message ); - - finished(); - svn_pool_destroy (subpool); -} - -//change the proto and remove trailing / -//remove double / also -TQString kio_svnProtocol::makeSvnURL ( const KURL& url ) const { - TQString kproto = url.protocol(); - KURL tpURL = url; - tpURL.cleanPath( true ); - TQString svnUrl; - if ( kproto == "svn+http" ) { - kdDebug(7128) << "http:/ " << url.url() << endl; - tpURL.setProtocol("http"); - svnUrl = tpURL.url(-1); - return svnUrl; - } - else if ( kproto == "svn+https" ) { - kdDebug(7128) << "https:/ " << url.url() << endl; - tpURL.setProtocol("https"); - svnUrl = tpURL.url(-1); - return svnUrl; - } - else if ( kproto == "svn+ssh" ) { - kdDebug(7128) << "svn+ssh:/ " << url.url() << endl; - tpURL.setProtocol("svn+ssh"); - svnUrl = tpURL.url(-1); - return svnUrl; - } - else if ( kproto == "svn" ) { - kdDebug(7128) << "svn:/ " << url.url() << endl; - tpURL.setProtocol("svn"); - svnUrl = tpURL.url(-1); - return svnUrl; - } - else if ( kproto == "svn+file" ) { - kdDebug(7128) << "file:/ " << url.url() << endl; - tpURL.setProtocol("file"); - svnUrl = tpURL.url(-1); - //hack : add one more / after file:/ - int idx = svnUrl.find("/"); - svnUrl.insert( idx, "//" ); - return svnUrl; - } - return tpURL.url(-1); -} - -TQString kio_svnProtocol::chooseProtocol ( const TQString& kproto ) const { - if ( kproto == "svn+http" ) return TQString( "http" ); - else if ( kproto == "svn+https" ) return TQString( "https" ); - else if ( kproto == "svn+ssh" ) return TQString( "svn+ssh" ); - else if ( kproto == "svn" ) return TQString( "svn" ); - else if ( kproto == "svn+file" ) return TQString( "file" ); - return kproto; -} - -svn_error_t *kio_svnProtocol::trustSSLPrompt(svn_auth_cred_ssl_server_trust_t **cred_p, void *, const char */*realm*/, apr_uint32_t /*failures*/, const svn_auth_ssl_server_cert_info_t */*cert_info*/, svn_boolean_t /*may_save*/, apr_pool_t *pool) { - //when ksvnd is ready make it prompt for the SSL certificate ... XXX - *cred_p = (svn_auth_cred_ssl_server_trust_t*)apr_pcalloc (pool, sizeof (**cred_p)); - (*cred_p)->may_save = FALSE; - return SVN_NO_ERROR; -} - -svn_error_t *kio_svnProtocol::clientCertSSLPrompt(svn_auth_cred_ssl_client_cert_t **/*cred_p*/, void *, const char */*realm*/, svn_boolean_t /*may_save*/, apr_pool_t */*pool*/) { - //when ksvnd is ready make it prompt for the SSL certificate ... XXX -/* *cred_p = apr_palloc (pool, sizeof(**cred_p)); - (*cred_p)->cert_file = cert_file;*/ - return SVN_NO_ERROR; -} - -svn_error_t *kio_svnProtocol::clientCertPasswdPrompt(svn_auth_cred_ssl_client_cert_pw_t **/*cred_p*/, void *, const char */*realm*/, svn_boolean_t /*may_save*/, apr_pool_t */*pool*/) { - //when ksvnd is ready make it prompt for the SSL certificate password ... XXX - return SVN_NO_ERROR; -} - -svn_error_t *kio_svnProtocol::commitLogPrompt( const char **log_msg, const char **/*file*/, apr_array_header_t *commit_items, void *baton, apr_pool_t *pool ) { - TQCString replyType; - TQByteArray params; - TQByteArray reply; - TQString result; - TQStringList slist; - kio_svnProtocol *p = ( kio_svnProtocol* )baton; - svn_stringbuf_t *message = NULL; - - for (int i = 0; i < commit_items->nelts; i++) { - TQString list; - svn_client_commit_item_t *item = ((svn_client_commit_item_t **) commit_items->elts)[i]; - const char *path = item->path; - char text_mod = '_', prop_mod = ' '; - - if (! path) - path = item->url; - else if (! *path) - path = "."; - - if (! path) - path = "."; - - if ((item->state_flags & SVN_CLIENT_COMMIT_ITEM_DELETE) && (item->state_flags & SVN_CLIENT_COMMIT_ITEM_ADD)) - text_mod = 'R'; - else if (item->state_flags & SVN_CLIENT_COMMIT_ITEM_ADD) - text_mod = 'A'; - else if (item->state_flags & SVN_CLIENT_COMMIT_ITEM_DELETE) - text_mod = 'D'; - else if (item->state_flags & SVN_CLIENT_COMMIT_ITEM_TEXT_MODS) - text_mod = 'M'; - if (item->state_flags & SVN_CLIENT_COMMIT_ITEM_PROP_MODS) - prop_mod = 'M'; - - list += text_mod; - list += " "; - list += prop_mod; - list += " "; - list += path; - kdDebug(7128) << " Commiting items : " << list << endl; - slist << list; - } - - TQDataStream stream(params, IO_WriteOnly); - stream << slist.join("\n"); - - if ( !p->dcopClient()->call( "kded","ksvnd","commitDialog(TQString)", params, replyType, reply ) ) { - kdWarning() << "Communication with KDED:KSvnd failed" << endl; - return SVN_NO_ERROR; - } - - if ( replyType != TQSTRING_OBJECT_NAME_STRING ) { - kdWarning() << "Unexpected reply type" << endl; - return SVN_NO_ERROR; - } - - TQDataStream stream2 ( reply, IO_ReadOnly ); - stream2 >> result; - - if ( result.isNull() ) { //cancelled - *log_msg = NULL; - return SVN_NO_ERROR; - } - - message = svn_stringbuf_create( result.utf8(), pool ); - *log_msg = message->data; - - return SVN_NO_ERROR; -} - -void kio_svnProtocol::notify(void *baton, const char *path, svn_wc_notify_action_t action, svn_node_kind_t kind, const char *mime_type, svn_wc_notify_state_t content_state, svn_wc_notify_state_t prop_state, svn_revnum_t revision) { - kdDebug(7128) << "NOTIFY : " << path << " updated at revision " << revision << " action : " << action << ", kind : " << kind << " , content_state : " << content_state << ", prop_state : " << prop_state << endl; - - TQString userstring; - struct notify_baton *nb = ( struct notify_baton* ) baton; - - //// Convert notification to a user readable string - switch ( action ) { - case svn_wc_notify_add : //add - if (mime_type && (svn_mime_type_is_binary (mime_type))) - userstring = i18n( "A (bin) %1" ).arg( path ); - else - userstring = i18n( "A %1" ).arg( path ); - break; - case svn_wc_notify_copy: //copy - break; - case svn_wc_notify_delete: //delete - nb->received_some_change = TRUE; - userstring = i18n( "D %1" ).arg( path ); - break; - case svn_wc_notify_restore : //restore - userstring=i18n( "Restored %1." ).arg( path ); - break; - case svn_wc_notify_revert : //revert - userstring=i18n( "Reverted %1." ).arg( path ); - break; - case svn_wc_notify_failed_revert: //failed revert - userstring=i18n( "Failed to revert %1.\nTry updating instead." ).arg( path ); - break; - case svn_wc_notify_resolved: //resolved - userstring=i18n( "Resolved conflicted state of %1." ).arg( path ); - break; - case svn_wc_notify_skip: //skip - if ( content_state == svn_wc_notify_state_missing ) - userstring=i18n("Skipped missing target %1.").arg( path ); - else - userstring=i18n("Skipped %1.").arg( path ); - break; - case svn_wc_notify_update_delete: //update_delete - nb->received_some_change = TRUE; - userstring=i18n( "D %1" ).arg( path ); - break; - case svn_wc_notify_update_add: //update_add - nb->received_some_change = TRUE; - userstring=i18n( "A %1" ).arg( path ); - break; - case svn_wc_notify_update_update: //update_update - { - /* If this is an inoperative dir change, do no notification. - An inoperative dir change is when a directory gets closed - without any props having been changed. */ - if (! ((kind == svn_node_dir) - && ((prop_state == svn_wc_notify_state_inapplicable) - || (prop_state == svn_wc_notify_state_unknown) - || (prop_state == svn_wc_notify_state_unchanged)))) { - nb->received_some_change = TRUE; - - if (kind == svn_node_file) { - if (content_state == svn_wc_notify_state_conflicted) - userstring = "C"; - else if (content_state == svn_wc_notify_state_merged) - userstring = "G"; - else if (content_state == svn_wc_notify_state_changed) - userstring = "U"; - } - - if (prop_state == svn_wc_notify_state_conflicted) - userstring += "C"; - else if (prop_state == svn_wc_notify_state_merged) - userstring += "G"; - else if (prop_state == svn_wc_notify_state_changed) - userstring += "U"; - else - userstring += " "; - - if (! ((content_state == svn_wc_notify_state_unchanged - || content_state == svn_wc_notify_state_unknown) - && (prop_state == svn_wc_notify_state_unchanged - || prop_state == svn_wc_notify_state_unknown))) - userstring += TQString( " " ) + path; - } - break; - } - case svn_wc_notify_update_completed: //update_completed - { - if (! nb->suppress_final_line) { - if (SVN_IS_VALID_REVNUM (revision)) { - if (nb->is_export) { - if ( nb->in_external ) - userstring = i18n("Exported external at revision %1.").arg( revision ); - else - userstring = i18n("Exported revision %1.").arg( revision ); - } else if (nb->is_checkout) { - if ( nb->in_external ) - userstring = i18n("Checked out external at revision %1.").arg( revision ); - else - userstring = i18n("Checked out revision %1.").arg( revision); - } else { - if (nb->received_some_change) { - if ( nb->in_external ) - userstring=i18n("Updated external to revision %1.").arg( revision ); - else - userstring = i18n("Updated to revision %1.").arg( revision); - } else { - if ( nb->in_external ) - userstring = i18n("External at revision %1.").arg( revision ); - else - userstring = i18n("At revision %1.").arg( revision); - } - } - } else /* no revision */ { - if (nb->is_export) { - if ( nb->in_external ) - userstring = i18n("External export complete."); - else - userstring = i18n("Export complete."); - } else if (nb->is_checkout) { - if ( nb->in_external ) - userstring = i18n("External checkout complete."); - else - userstring = i18n("Checkout complete."); - } else { - if ( nb->in_external ) - userstring = i18n("External update complete."); - else - userstring = i18n("Update complete."); - } - } - } - } - if (nb->in_external) - nb->in_external = FALSE; - break; - case svn_wc_notify_update_external: //update_external - nb->in_external = TRUE; - userstring = i18n("Fetching external item into %1." ).arg( path ); - break; - case svn_wc_notify_status_completed: //status_completed - if (SVN_IS_VALID_REVNUM (revision)) - userstring = i18n( "Status against revision: %1.").arg( revision ); - break; - case svn_wc_notify_status_external: //status_external - userstring = i18n("Performing status on external item at %1.").arg( path ); - break; - case svn_wc_notify_commit_modified: //commit_modified - userstring = i18n( "Sending %1").arg( path ); - break; - case svn_wc_notify_commit_added: //commit_added - if (mime_type && svn_mime_type_is_binary (mime_type)) { - userstring = i18n( "Adding (bin) %1.").arg( path ); - } else { - userstring = i18n( "Adding %1.").arg( path ); - } - break; - case svn_wc_notify_commit_deleted: //commit_deleted - userstring = i18n( "Deleting %1.").arg( path ); - break; - case svn_wc_notify_commit_replaced: //commit_replaced - userstring = i18n( "Replacing %1.").arg( path ); - break; - case svn_wc_notify_commit_postfix_txdelta: //commit_postfix_txdelta - if (! nb->sent_first_txdelta) { - nb->sent_first_txdelta = TRUE; - userstring=i18n("Transmitting file data "); - } else { - userstring="."; - } - break; - - break; - case svn_wc_notify_blame_revision: //blame_revision - break; - default: - break; - } - //// End convert - - kio_svnProtocol *p = ( kio_svnProtocol* )nb->master; - - p->setMetaData(TQString::number( p->counter() ).rightJustify( 10,'0' )+ "path" , TQString::fromUtf8( path )); - p->setMetaData(TQString::number( p->counter() ).rightJustify( 10,'0' )+ "action", TQString::number( action )); - p->setMetaData(TQString::number( p->counter() ).rightJustify( 10,'0' )+ "kind", TQString::number( kind )); - p->setMetaData(TQString::number( p->counter() ).rightJustify( 10,'0' )+ "mime_t", TQString::fromUtf8( mime_type )); - p->setMetaData(TQString::number( p->counter() ).rightJustify( 10,'0' )+ "content", TQString::number( content_state )); - p->setMetaData(TQString::number( p->counter() ).rightJustify( 10,'0' )+ "prop", TQString::number( prop_state )); - p->setMetaData(TQString::number( p->counter() ).rightJustify( 10,'0' )+ "rev", TQString::number( revision )); - p->setMetaData(TQString::number( p->counter() ).rightJustify( 10,'0' )+ "string", userstring ); - p->incCounter(); -} - -void kio_svnProtocol::status(void *baton, const char *path, svn_wc_status_t *status) { - kdDebug(7128) << "STATUS : " << path << ", wc text status : " << status->text_status - << ", wc prop status : " << status->prop_status - << ", repos text status : " << status->repos_text_status - << ", repos prop status : " << status->repos_prop_status - << endl; - - TQByteArray params; - kio_svnProtocol *p = ( kio_svnProtocol* )baton; - - TQDataStream stream(params, IO_WriteOnly); - long int rev = status->entry ? status->entry->revision : 0; - stream << TQString::fromUtf8( path ) << status->text_status << status->prop_status << status->repos_text_status << status->repos_prop_status << rev; - - p->setMetaData(TQString::number( p->counter() ).rightJustify( 10,'0' )+ "path", TQString::fromUtf8( path )); - p->setMetaData(TQString::number( p->counter() ).rightJustify( 10,'0' )+ "text", TQString::number( status->text_status )); - p->setMetaData(TQString::number( p->counter() ).rightJustify( 10,'0' )+ "prop", TQString::number( status->prop_status )); - p->setMetaData(TQString::number( p->counter() ).rightJustify( 10,'0' )+ "reptxt", TQString::number( status->repos_text_status )); - p->setMetaData(TQString::number( p->counter() ).rightJustify( 10,'0' )+ "repprop", TQString::number( status->repos_prop_status )); - p->setMetaData(TQString::number( p->counter() ).rightJustify( 10,'0' )+ "rev", TQString::number( rev )); - p->incCounter(); -} - - -void kio_svnProtocol::wc_resolve( const KURL& wc, bool recurse ) { - kdDebug(7128) << "kio_svnProtocol::wc_resolve() : " << wc.url() << endl; - - apr_pool_t *subpool = svn_pool_create (pool); - - KURL nurl = wc; - nurl.setProtocol( "file" ); - recordCurrentURL( nurl ); - - initNotifier(false, false, false, subpool); - svn_error_t *err = svn_client_resolved(svn_path_canonicalize( nurl.path().utf8(), subpool ), recurse,ctx,subpool); - if ( err ) - error( TDEIO::ERR_SLAVE_DEFINED, err->message ); - - finished(); - svn_pool_destroy (subpool); -} - -extern "C" -{ - KDE_EXPORT int kdemain(int argc, char **argv) { - TDEInstance instance( "kio_svn" ); - - kdDebug(7128) << "*** Starting kio_svn " << endl; - - if (argc != 4) { - kdDebug(7128) << "Usage: kio_svn protocol domain-socket1 domain-socket2" << endl; - exit(-1); - } - - kio_svnProtocol slave(argv[2], argv[3]); - slave.dispatchLoop(); - - kdDebug(7128) << "*** kio_svn Done" << endl; - return 0; - } -} - diff --git a/kioslave/svn/svn.h b/kioslave/svn/svn.h deleted file mode 100644 index d3156663..00000000 --- a/kioslave/svn/svn.h +++ /dev/null @@ -1,140 +0,0 @@ -/* This file is part of the KDE project - Copyright (C) 2003 Mickael Marchand - - 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; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#ifndef _svn_H_ -#define _svn_H_ - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -class TQCString; -class kio_svnProtocol; - -typedef struct kbaton { - svn_stream_t *target_stream; - svn_stringbuf_t *target_string; - svn_stream_t *string_stream; -} kbaton; - -typedef struct kio_svn_callback_baton_t { - const char* base_dir; - apr_hash_t *config; - apr_pool_t *pool; -} kio_svn_callback_baton_t; - -typedef struct notify_baton { - svn_boolean_t received_some_change; - svn_boolean_t is_checkout; - svn_boolean_t is_export; - svn_boolean_t suppress_final_line; - svn_boolean_t sent_first_txdelta; - svn_boolean_t in_external; - svn_boolean_t had_print_error; /* Used to not keep printing error messages - when we've already had one print error. */ - apr_pool_t *pool; /* this pool is cleared after every notification, - so don't keep anything here! */ - kio_svnProtocol *master; -} notify_baton; - - -class kio_svnProtocol : public TDEIO::SlaveBase -{ - public: - kio_svnProtocol(const TQCString &pool_socket, const TQCString &app_socket); - virtual ~kio_svnProtocol(); - virtual void special( const TQByteArray& data ); - virtual void get(const KURL& url); - virtual void listDir(const KURL& url); - virtual void stat(const KURL& url); - virtual void mkdir(const KURL& url, int permissions); - virtual void mkdir(const KURL::List& list, int permissions); - virtual void del( const KURL& url, bool isfile ); - virtual void copy(const KURL & src, const KURL& dest, int permissions, bool overwrite); - virtual void rename(const KURL& src, const KURL& dest, bool overwrite); - void checkout( const KURL& repos, const KURL& wc, int revnumber, const TQString& revkind ); - void import( const KURL& repos, const KURL& wc ); - void svn_switch( const KURL& wc, const KURL& url, int revnumber, const TQString& revkind, bool recurse); - void svn_log( int revstart, const TQString& revkindstart, int revend, const TQString& revkindend, const KURL::List& targets ); - void svn_diff( const KURL& url1, const KURL& url2, int rev1, int rev2, const TQString& revkind1, const TQString& revkind2, bool recurse); - //TODO fix with svn 1.2 : support a KURL::List -> svn_client_update2() - void update( const KURL& wc, int revnumber, const TQString& revkind ); - void commit( const KURL::List& wc ); - void add( const KURL& wc ); - //these work using the working copy - void wc_resolve( const KURL& wc, bool recurse = true ); - void wc_delete( const KURL::List& wc ); - void wc_revert( const KURL::List& wc ); - void wc_status(const KURL& wc, bool checkRepos=false, bool fullRecurse=true, bool getAll=true, int revnumber=-1, const TQString& revkind="HEAD"); - - static svn_error_t* checkAuth(svn_auth_cred_simple_t **cred, void *baton, const char *realm, const char *username, svn_boolean_t may_save, apr_pool_t *pool); - static svn_error_t *trustSSLPrompt(svn_auth_cred_ssl_server_trust_t **cred_p, void *, const char *realm, apr_uint32_t failures, const svn_auth_ssl_server_cert_info_t *cert_info, svn_boolean_t may_save, apr_pool_t *pool); - static svn_error_t *clientCertSSLPrompt(svn_auth_cred_ssl_client_cert_t **cred_p, void *, const char *realm, svn_boolean_t may_save, apr_pool_t *pool); - static svn_error_t *clientCertPasswdPrompt(svn_auth_cred_ssl_client_cert_pw_t **cred_p, void *, const char *realm, svn_boolean_t may_save, apr_pool_t *pool); - static svn_error_t *commitLogPrompt( const char **log_msg, const char **tmp_file, apr_array_header_t *commit_items, void *baton, apr_pool_t *pool ); - static void notify(void *baton, const char *path, svn_wc_notify_action_t action, svn_node_kind_t kind, const char *mime_type, svn_wc_notify_state_t content_state, svn_wc_notify_state_t prop_state, svn_revnum_t revision); - static void status(void *baton, const char *path, svn_wc_status_t *status); - - TQString chooseProtocol ( const TQString& kproto ) const; - TQString makeSvnURL ( const KURL& url ) const; - void initNotifier(bool is_checkout, bool is_export, bool suppress_final_line, apr_pool_t *spool); - - void recordCurrentURL(const KURL& url); - void popupMessage( const TQString& message ); - int counter() { return m_counter; } - void incCounter() { m_counter++; } - svn_opt_revision_t createRevision( int revision, const TQString& revkind, apr_pool_t *pool ); - - KURL myURL; - svn_client_ctx_t *ctx; - TDEIO::AuthInfo info; - - enum SVN_METHOD { - SVN_CHECKOUT=1, //KURL repository, KURL workingcopy, int revnumber=-1, TQString revkind(HEAD, ...) //revnumber==-1 => use of revkind - SVN_UPDATE=2, // KURL wc (svn:///tmp/test, int revnumber=-1, TQString revkind(HEAD, ...) // revnumber==-1 => use of revkind - SVN_COMMIT=3, - SVN_LOG=4, - SVN_IMPORT=5, - SVN_ADD=6, - SVN_DEL=7, - SVN_REVERT=8, - SVN_STATUS=9, - SVN_MKDIR=10, - SVN_RESOLVE=11, - SVN_SWITCH=12, - SVN_DIFF=13 - }; - - private: - bool createUDSEntry( const TQString& filename, const TQString& user, long long int size, bool isdir, time_t mtime, TDEIO::UDSEntry& entry); - apr_pool_t *pool; - int m_counter; -}; - -#endif diff --git a/kioslave/svn/svn.protocol b/kioslave/svn/svn.protocol deleted file mode 100644 index abd77fb3..00000000 --- a/kioslave/svn/svn.protocol +++ /dev/null @@ -1,43 +0,0 @@ -[Protocol] -exec=kio_svn -protocol=svn -input=none -output=filesystem -reading=true -writing=true -deleting=true -makedir=true -linking=false -moving=true -listing=Name,Size,Date,Owner -defaultMimetype=application/octet-stream -Icon=remote -Description=Subversion ioslave -Description[br]=Sklav E/D Subversion -Description[ca]=Ioslave de Subversion -Description[cs]=Subversion protokol -Description[de]=Ein-/Ausgabemodul für Subversion -Description[es]=El ioslave de Subversion -Description[et]=Subversioni IO-moodul -Description[fr]=ioslave subversion -Description[ga]=ioslave Subversion -Description[gl]=Ioslave para Subversíon -Description[hu]=Subversion KDE-protokoll -Description[it]=Slave I/O di Subversion -Description[lt]=Subversion įvesties-išvesties priedas -Description[nb]=Subversion-iu-slave -Description[nds]=In-/Utgaavmoduul för Subversion -Description[ne]=उप संस्करण ioslave -Description[nn]=Subversion-iu-slave -Description[pl]=Wtyczka protokołu Subversion -Description[pt]='Ioslave' para Subversion -Description[pt_BR]=ioslave de Subversão -Description[ru]=Доступ к хранилищу Subversion -Description[sl]=ioslave za Subversion -Description[sr]=IOSlave за Subversion -Description[sr@Latn]=IOSlave za Subversion -Description[sv]=Subversion I/O-slav -Description[tr]=Alt Version ioslave -Description[uk]=Підлеглий В/В Subversion -maxInstances=5 -class=:internet diff --git a/kioslave/svn/svnhelper/CMakeLists.txt b/kioslave/svn/svnhelper/CMakeLists.txt deleted file mode 100644 index ad82d38e..00000000 --- a/kioslave/svn/svnhelper/CMakeLists.txt +++ /dev/null @@ -1,38 +0,0 @@ -################################################# -# -# (C) 2012 Serghei Amelian -# serghei (DOT) amelian (AT) gmail.com -# -# Improvements and feedback are welcome -# -# This file is released under GPL >= 2 -# -################################################# - -include_directories( - ${CMAKE_CURRENT_BINARY_DIR} - ${TDE_INCLUDE_DIR} - ${TQT_INCLUDE_DIRS} -) - -link_directories( - ${TQT_LIBRARY_DIRS} -) - - -##### other data ################################ - -install( FILES - subversion.desktop subversion_toplevel.desktop - DESTINATION ${DATA_INSTALL_DIR}/konqueror/servicemenus ) - - -##### kio_svn_helper (executable) ############### - -tde_add_executable( kio_svn_helper AUTOMOC - SOURCES - kio_svn_helper.cpp subversioncheckout.ui subversionswitch.ui - subversionlog.ui subversiondiff.ui - LINK kio-shared - DESTINATION ${BIN_INSTALL_DIR} -) diff --git a/kioslave/svn/svnhelper/Makefile.am b/kioslave/svn/svnhelper/Makefile.am deleted file mode 100644 index db03a3ae..00000000 --- a/kioslave/svn/svnhelper/Makefile.am +++ /dev/null @@ -1,18 +0,0 @@ -bin_PROGRAMS = kio_svn_helper - -INCLUDES = $(all_includes) -AM_LDFLAGS = $(all_libraries) - -kio_svn_helper_SOURCES = kio_svn_helper.cpp subversioncheckout.ui subversionswitch.ui subversionlog.ui subversiondiff.ui - -kio_svn_helper_LDFLAGS = $(KDE_RPATH) $(LIB_QT) -lDCOP $(LIB_TDECORE) $(LIB_TDEUI) $(LIB_KSYCOCA) $(LIB_KIO) $(all_libraries) - -servicemenudir = \ - $(kde_datadir)/konqueror/servicemenus - -servicemenu_DATA = \ - subversion.desktop subversion_toplevel.desktop - - -METASOURCES = AUTO - diff --git a/kioslave/svn/svnhelper/apply_patch.desktop b/kioslave/svn/svnhelper/apply_patch.desktop deleted file mode 100644 index 872f6136..00000000 --- a/kioslave/svn/svnhelper/apply_patch.desktop +++ /dev/null @@ -1,94 +0,0 @@ -[Desktop Entry] -ServiceTypes=text/x-diff -#uncomment when Exec is implemented -#Actions=Apply -X-TDE-Priority=TopLevel - -[Desktop Action Apply] -Name=Apply Patch... -Name[bg]=Прилагане на кръпка... -Name[ca]=Aplica pedaç... -Name[cs]=Aplikovat záplatu... -Name[da]=Anvend rettelse... -Name[de]=Patch einspielen ... -Name[el]=Εφαρμογή επιδιόρθωσης... -Name[eo]=Apliki Flikon... -Name[es]=Aplicar parche... -Name[et]=Paiga rakendamine... -Name[eu]=Aplikatu adabakia... -Name[fa]=اعمال کژنه... -Name[fi]=Toteuta korjaus... -Name[fr]=Appliquer le correctif... -Name[ga]=Cuir Paiste i bhFeidhm... -Name[gl]=Aplicar un parche... -Name[he]=החל את הטלאי... -Name[hu]=Folt alkalmazása... -Name[is]=Virkja plástur... -Name[it]=Applica correzione... -Name[ja]=パッチを適用... -Name[ka]=ბებკის გააქტიურება... -Name[kk]=Жамауды қолдану... -Name[lt]=Pritaikyti pataisymą... -Name[nb]=Bruk lapp … -Name[nds]=Kodeplaster inspelen... -Name[ne]=लागू प्याच... -Name[nl]=Patch toepassen... -Name[nn]=Bruk lapp … -Name[pa]=ਪੈਂਚ ਲਾਗੂ... -Name[pl]=Nałóż łatę... -Name[pt]=Aplicar um 'Patch'... -Name[pt_BR]=Aplicar um 'Patch'... -Name[ru]=Применить заплатку... -Name[sk]=Aplikovať záplatu... -Name[sl]=Uveljavi popravek ... -Name[sr]=Примени закрпу... -Name[sr@Latn]=Primeni zakrpu... -Name[sv]=Utför programfix... -Name[tr]=Yamayı Uygula... -Name[uk]=Застосувати латку... -Name[zh_CN]=应用补丁... -Name[zh_TW]=套用修補... -Icon=apply -Exec= -Comment=Apply the patch to another folder/file -Comment[bg]=Прилагане на кръпка към друга директория/файл -Comment[ca]=Aplica el pedaç a una altra carpeta o fitxer -Comment[cs]=Aplikovat záplatu na jiný soubor/složku -Comment[da]=Anvend rettelsen på en anden mappe/fil -Comment[de]=Spielt den Patch in einen/eine andere(n) Ordner/Datei ein -Comment[el]=Εφαρμογή της επιδιόρθωσης σε άλλο φάκελο/αρχείο -Comment[es]=Aplicar el parche a otra carpeta o archivo -Comment[et]=Paiga rakendamine teisele kataloogile/failile -Comment[eu]=Aplikatu adabakia beste karpeta/fitxategi bati -Comment[fa]=اعمال کژنه به پوشه/پروندۀ دیگر -Comment[fi]=Toteuta korjaus toiseen kansioon/tiedostoon -Comment[fr]=Appliquer le correctif sur un autre dossier / fichier -Comment[ga]=Cuir an paiste i bhfeidhm ar fhillteán/chomhad eile -Comment[gl]=Aplicar o parche noutro cartafol/ficheiro -Comment[hu]=A folt alkalmazása másik könyvtárra vagy fájlra -Comment[is]=Virkja plásturinn á aðra möppu/skrá -Comment[it]=Applica la correzione a un'altra cartella o file -Comment[ja]=他のフォルダやファイルへパッチを適用します。 -Comment[ka]=ბებკის სხვა საქაღალდეზე/ფაილზე გააქტიურება -Comment[kk]=Басқа қапшық/файлға жамауды қолдану -Comment[lt]=Pritaikyti pataisymą kitam aplankui/bylai -Comment[nb]=Bruk lappen på en annen mappe/fil -Comment[nds]=Kodeplaster op en anner Orner/Datei anwennen -Comment[ne]=अन्य फोल्डर/फाइलमा प्याच लागू गर्नुहोस् -Comment[nl]=Patch toepassen op een andere map of een ander bestand -Comment[nn]=Bruk lappen på ei anna mappe/fil -Comment[pa]=ਹੋਰ ਫੋਲਡਰ/ਫਾਇਲ ਲਈ ਪੈਂਚ ਲਾਗੂ -Comment[pl]=Nałożenie łaty na inny plik/katalog -Comment[pt]=Aplicar o 'patch' (actualização) noutra pasta/ficheiro -Comment[pt_BR]=Aplicar o 'patch' (atualização) noutra pasta/arquivo -Comment[ru]=Применить заплатку к другой папке или файлу -Comment[sk]=Aplikovať záplatu na iný priečinok/súbor -Comment[sl]=Uveljavi popravek za drugo mapo/datoteko -Comment[sr]=Примени закрпу на другу фасциклу/фајл -Comment[sr@Latn]=Primeni zakrpu na drugu fasciklu/fajl -Comment[sv]=Utför en programfix för en annan katalog eller fil -Comment[tr]=Yamayı diğer dizine/dosyaya uygula -Comment[uk]=Застосувати латку до іншої теки файла -Comment[zh_CN]=将补丁应用到其它文件夹/文件 -Comment[zh_TW]=套用修補到另一個資料夾/檔案 - diff --git a/kioslave/svn/svnhelper/kio_svn_helper.cpp b/kioslave/svn/svnhelper/kio_svn_helper.cpp deleted file mode 100644 index 64b51d1a..00000000 --- a/kioslave/svn/svnhelper/kio_svn_helper.cpp +++ /dev/null @@ -1,292 +0,0 @@ -/* This file is part of the KDE project - Copyright (c) 2005 Mickael Marchand - - 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; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "kio_svn_helper.h" -#include "subversioncheckout.h" -#include "subversionswitch.h" -#include "subversiondiff.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include - -SvnHelper::SvnHelper():TDEApplication() { - TDECmdLineArgs *args = TDECmdLineArgs::parsedArgs(); - KWinModule wm ( TQT_TQOBJECT(this) ); - m_id = wm.activeWindow(); - - KURL::List list; - for ( int i = 0 ; i < args->count() ; i++ ) - list << args->url(i); - - if (args->isSet("u")) { - kdDebug(7128) << "update " << list << endl; - KURL servURL = "svn+http://this_is_a_fake_URL_and_this_is_normal/"; - //FIXME when 1.2 is out (move the loop inside kio_svn's ::update) - for ( TQValueListConstIterator it = list.begin(); it != list.end() ; ++it ) { - TQByteArray parms; - TQDataStream s( parms, IO_WriteOnly ); - int cmd = 2; - int rev = -1; - kdDebug(7128) << "updating : " << (*it).prettyURL() << endl; - s << cmd << *it << rev << TQString( "HEAD" ); - TDEIO::SimpleJob * job = TDEIO::special(servURL, parms, true); - connect( job, TQT_SIGNAL( result( TDEIO::Job * ) ), this, TQT_SLOT( slotResult( TDEIO::Job * ) ) ); - TDEIO::NetAccess::synchronousRun( job, 0 ); - } - } else if (args->isSet("c")) { - kdDebug(7128) << "commit " << list << endl; - KURL servURL = "svn+http://this_is_a_fake_URL_and_this_is_normal/"; - TQByteArray parms; - TQDataStream s( parms, IO_WriteOnly ); - int cmd = 3; - s< it = list.begin(); it != list.end() ; ++it ) { - kdDebug(7128) << "commiting : " << (*it).prettyURL() << endl; - s << *it; - } - TDEIO::SimpleJob * job = TDEIO::special(servURL, parms, true); - connect( job, TQT_SIGNAL( result( TDEIO::Job * ) ), this, TQT_SLOT( slotResult( TDEIO::Job * ) ) ); - TDEIO::NetAccess::synchronousRun( job, 0 ); - } else if (args->isSet("a")) { - kdDebug(7128) << "add " << list << endl; - KURL servURL = "svn+http://this_is_a_fake_URL_and_this_is_normal/"; - for ( TQValueListConstIterator it = list.begin(); it != list.end() ; ++it ) { - TQByteArray parms; - TQDataStream s( parms, IO_WriteOnly ); - int cmd = 6; - kdDebug(7128) << "adding : " << (*it).prettyURL() << endl; - s << cmd << *it; - TDEIO::SimpleJob * job = TDEIO::special(servURL, parms, true); - connect( job, TQT_SIGNAL( result( TDEIO::Job * ) ), this, TQT_SLOT( slotResult( TDEIO::Job * ) ) ); - TDEIO::NetAccess::synchronousRun( job, 0 ); - } - } else if (args->isSet("D")) { - kdDebug(7128) << "diff " << list << endl; - KURL servURL = "svn+http://this_is_a_fake_URL_and_this_is_normal/"; - for ( TQValueListConstIterator it = list.begin(); it != list.end() ; ++it ) { - TQByteArray parms; - TQDataStream s( parms, IO_WriteOnly ); - int cmd = 13; - kdDebug(7128) << "diffing : " << (*it).prettyURL() << endl; - int rev1=-1; - int rev2=-1; - TQString revkind1 = "BASE"; - TQString revkind2 = "WORKING"; - s << cmd << *it << *it << rev1 << revkind1 << rev2 << revkind2 << true ; - TDEIO::SimpleJob * job = TDEIO::special(servURL, parms, true); - connect( job, TQT_SIGNAL( result( TDEIO::Job * ) ), this, TQT_SLOT( slotResult( TDEIO::Job * ) ) ); - TDEIO::NetAccess::synchronousRun( job, 0 ); - if ( diffresult.count() > 0 ) { - //check kompare is available - if ( !KStandardDirs::findExe( "kompare" ).isNull() ) { - KTempFile *tmp = new KTempFile; - tmp->setAutoDelete(true); - TQTextStream *stream = tmp->textStream(); - stream->setCodec( TQTextCodec::codecForName( "utf8" ) ); - for ( TQStringList::Iterator it2 = diffresult.begin();it2 != diffresult.end() ; ++it2 ) { - ( *stream ) << ( *it2 ) << "\n"; - } - tmp->close(); - TDEProcess *p = new TDEProcess; - *p << "kompare" << "-n" << "-o" << tmp->name(); - p->start(); - } else { //else do it with message box - Subversion_Diff df; - for ( TQStringList::Iterator it2 = diffresult.begin();it2 != diffresult.end() ; ++it2 ) { - df.text->append( *it2 ); - } - TQFont f = df.font(); - f.setFixedPitch( true ); - df.text->setFont( f ); - df.exec(); - } - } - diffresult.clear(); - } - } else if (args->isSet("d")) { - kdDebug(7128) << "delete " << list << endl; - KURL servURL = "svn+http://this_is_a_fake_URL_and_this_is_normal/"; - TQByteArray parms; - TQDataStream s( parms, IO_WriteOnly ); - int cmd = 7; - s< it = list.begin(); it != list.end() ; ++it ) { - kdDebug(7128) << "deleting : " << (*it).prettyURL() << endl; - s << *it; - } - TDEIO::SimpleJob * job = TDEIO::special(servURL, parms, true); - connect( job, TQT_SIGNAL( result( TDEIO::Job * ) ), this, TQT_SLOT( slotResult( TDEIO::Job * ) ) ); - TDEIO::NetAccess::synchronousRun( job, 0 ); - } else if (args->isSet("s")) { - kdDebug(7128) << "switch " << list << endl; - SubversionSwitch d; - int result = d.exec(); - if ( result == TQDialog::Accepted ) { - for ( TQValueListConstIterator it = list.begin(); it != list.end() ; ++it ) { - kdDebug(7128) << "switching : " << (*it).prettyURL() << endl; - KURL servURL = "svn+http://this_is_a_fake_URL_and_this_is_normal/"; - TQByteArray parms; - TQDataStream s( parms, IO_WriteOnly ); - int revnumber = -1; - TQString revkind = "HEAD"; - if ( d.revision->value() != 0 ) { - revnumber = d.revision->value(); - revkind = ""; - } - bool recurse=true; - int cmd = 12; - s << cmd; - s << *it; - s << KURL( d.url->url() ); - s << recurse; - s << revnumber; - s << revkind; - TDEIO::SimpleJob * job = TDEIO::special(servURL, parms, true); - connect( job, TQT_SIGNAL( result( TDEIO::Job * ) ), this, TQT_SLOT( slotResult( TDEIO::Job * ) ) ); - TDEIO::NetAccess::synchronousRun( job, 0 ); - } - } - } else if (args->isSet("r")) { - kdDebug(7128) << "revert " << list << endl; - KURL servURL = "svn+http://this_is_a_fake_URL_and_this_is_normal/"; - TQByteArray parms; - TQDataStream s( parms, IO_WriteOnly ); - int cmd = 8; - s< it = list.begin(); it != list.end() ; ++it ) { - kdDebug(7128) << "reverting : " << (*it).prettyURL() << endl; - s << *it; - } - TDEIO::SimpleJob * job = TDEIO::special(servURL, parms, true); - connect( job, TQT_SIGNAL( result( TDEIO::Job * ) ), this, TQT_SLOT( slotResult( TDEIO::Job * ) ) ); - TDEIO::NetAccess::synchronousRun( job, 0 ); - } else if (args->isSet("C")) { - kdDebug(7128) << "checkout " << list << endl; - SubversionCheckout d; - int result = d.exec(); - if ( result == TQDialog::Accepted ) { - for ( TQValueListConstIterator it = list.begin(); it != list.end() ; ++it ) { - KURL servURL = "svn+http://this_is_a_fake_URL_and_this_is_normal/"; - TQByteArray parms; - TQDataStream s( parms, IO_WriteOnly ); - int cmd = 1; - int rev = -1; - TQString revkind = "HEAD"; - if ( d.revision->value() != 0 ) { - rev = d.revision->value(); - revkind = ""; - } - s<url() ); - s << ( *it ); - s << rev; - s << revkind; - kdDebug(7128) << "checkouting : " << d.url->url() << " into " << (*it).prettyURL() << " at rev : " << rev << " or " << revkind << endl; - TDEIO::SimpleJob * job = TDEIO::special(servURL, parms, true); - connect( job, TQT_SIGNAL( result( TDEIO::Job * ) ), this, TQT_SLOT( slotResult( TDEIO::Job * ) ) ); - TDEIO::NetAccess::synchronousRun( job, 0 ); - } - } - } else { - KMessageBox::sorry(0, "Sorry, request not recognised. Perhaps not implemented yet?", "Feature Not Implemented"); - } - TQTimer::singleShot( 0, this, TQT_SLOT( finished() ) ); -} - -void SvnHelper::slotResult( TDEIO::Job* job ) { - if ( job->error() ) - job->showErrorDialog( ); - - TDEIO::MetaData ma = job->metaData(); - TQValueList keys = ma.keys(); - qHeapSort( keys ); - TQValueList::Iterator begin = keys.begin(), end = keys.end(), it; - - TQStringList message; - for ( it = begin; it != end; ++it ) { - // kdDebug(7128) << "METADATA helper : " << *it << ":" << ma[ *it ] << endl; - if ( ( *it ).endsWith( "string" ) ) { - if ( ma[ *it ].length() > 2 ) { - message << ma[ *it ]; - } - } - //extra check to retrieve the diff output in case with run a diff command - if ( ( *it ).endsWith( "diffresult" ) ) { - diffresult << ma[ *it ]; - } - } - if ( message.count() > 0 ) - KMessageBox::informationListWId(m_id, "", message, "Subversion"); -} - -void SvnHelper::finished() { - kapp->quit(); -} - -static KCmdLineOptions options[] = { - { "u", I18N_NOOP("Update given URL"), 0 }, - { "c", I18N_NOOP("Commit given URL"), 0 }, - { "C", I18N_NOOP("Checkout in given directory"), 0 }, - { "a", I18N_NOOP("Add given URL to the working copy"), 0 }, - { "d", I18N_NOOP("Delete given URL from the working copy"), 0 }, - { "s", I18N_NOOP("Switch given working copy to another branch"), 0 }, - { "r", I18N_NOOP("Revert local changes"), 0 }, - { "m", I18N_NOOP("Merge changes between two branches"), 0 }, - { "D", I18N_NOOP("Show locally made changements with diff"), 0 }, - {"!+URL", I18N_NOOP("URL to update/commit/add/delete from Subversion"), 0 }, - KCmdLineLastOption -}; - -int main(int argc, char **argv) { - TDECmdLineArgs::init(argc, argv, "kio_svn_helper", I18N_NOOP("Subversion Helper"), "TDE frontend for SVN", "0.1"); - - TDECmdLineArgs::addCmdLineOptions( options ); - TDEGlobal::locale()->setMainCatalogue("kio_svn"); - TDEApplication::addCmdLineOptions(); - - if ( TDECmdLineArgs::parsedArgs()->count()==0 ) - TDECmdLineArgs::usage(); - TDEApplication *app = new SvnHelper(); - -// app->dcopClient()->attach(); - app->exec(); -} - -#include "kio_svn_helper.moc" diff --git a/kioslave/svn/svnhelper/kio_svn_helper.h b/kioslave/svn/svnhelper/kio_svn_helper.h deleted file mode 100644 index b10dcaaf..00000000 --- a/kioslave/svn/svnhelper/kio_svn_helper.h +++ /dev/null @@ -1,42 +0,0 @@ -/* This file is part of the KDE project - Copyright (c) 2005 Mickael Marchand - - 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; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#ifndef _KIO_SVN_HELPER_H_ -#define _KIO_SVN_HELPER_H_ - -#include -#include -#include -#include - -class SvnHelper:public TDEApplication { - Q_OBJECT - - -public: - SvnHelper(); -private slots: - void finished(); - void slotResult( TDEIO::Job *); -private: - WId m_id; - TQStringList diffresult; //for diff commands ;) -}; - -#endif diff --git a/kioslave/svn/svnhelper/subversion.desktop b/kioslave/svn/svnhelper/subversion.desktop deleted file mode 100644 index 7d95fbec..00000000 --- a/kioslave/svn/svnhelper/subversion.desktop +++ /dev/null @@ -1,919 +0,0 @@ -[Desktop Entry] -ServiceTypes=inode/directory,all/all -X-TDE-Submenu=Subversion -X-TDE-Submenu[fa]=زیرنسخه -X-TDE-Submenu[ne]=उप संस्करण -X-TDE-Submenu[pa]=ਸਬ-ਵਰਜਨ -X-TDE-Submenu[pt_BR]=Subversão -#X-TDE-ShowIfDcopCall=kded ksvnd anyValidWorkingCopy(KURL::List) - -#Return type of below is a QStringList with a list of Actions which is appended to the Actions above -X-TDE-GetActionMenu=kded ksvnd getActionMenu(KURL::List) - -[Desktop Action Add] -Name=Add to Repository -Name[bg]=Добавяне в хранилището -Name[br]=Ouzhpennañ d'an daveiñ -Name[ca]=Afegeix al repositori -Name[cs]=Přidat do repository -Name[da]=Tilføj til lager -Name[de]=Zum SVN-Archiv hinzufügen -Name[el]=Προσθήκη στο χώρο αποθήκευσης -Name[es]=Añadir al repositorio -Name[et]=Hoidlasse lisamine -Name[eu]=Gehitu biltegira -Name[fa]=افزودن به مخزن -Name[fi]=Lisää versionhallintaan -Name[fr]=Ajouter au référentiel -Name[ga]=Cuir leis an Stór -Name[gl]=Engadir ao repositorio -Name[he]=הוסף למאגר -Name[hu]=Hozzáadás az adattárhoz -Name[is]=Bæta við geymslu -Name[it]=Aggiungi al deposito -Name[ja]=リポジトリへ追加 -Name[ka]=რეპოზიტორიისთვის დმატება -Name[kk]=Қоймасына қосу -Name[lt]=Įdėti į saugyklą -Name[nb]=Legg til lager -Name[nds]=Na't Archiv tofögen -Name[ne]=भण्डारमा थप्नुहोस् -Name[nl]=Toevoegen aan repository -Name[nn]=Legg til lager -Name[pa]=ਰਿਪੋਜ਼ਟਰੀ 'ਚ ਸ਼ਾਮਲ -Name[pl]=Dodaj do repozytorium -Name[pt]=Adicionar ao Repositório -Name[pt_BR]=Adicionar ao Repositório -Name[ru]=Добавить в хранилище -Name[sk]=Pridať do archívu -Name[sl]=Dodaj v skladišče -Name[sr]=Додај у складиште -Name[sr@Latn]=Dodaj u skladište -Name[sv]=Lägg till i arkiv -Name[tr]=Depoya Ekle -Name[uk]=Додати до сховища -Name[zh_CN]=添加到仓库 -Name[zh_TW]=新增到主目錄 -Icon=svn_add -Exec=kio_svn_helper -a %U - -[Desktop Action Delete] -Name=Delete From Repository -Name[bg]=Изтриване от хранилището -Name[br]=Lemel eus an daveiñ -Name[ca]=Elimina del repositori -Name[cs]=Smazat z repository -Name[da]=Slet fra lager -Name[de]=Aus dem SVN-Archiv löschen -Name[el]=Διαγραφή από το χώρο αποθήκευσης -Name[es]=Eliminar del repositorio -Name[et]=Hoidlast kustutamine -Name[eu]=Ezabatu biltegitik -Name[fa]=حذف از مخزن -Name[fi]=Poista versionhallinnasta -Name[fr]=Supprimer du référentiel -Name[ga]=Scrios ón Stór -Name[gl]=Eliminar do repositorio -Name[he]=מחק ממאגר -Name[hu]=Törlés az adattárból -Name[is]=Eyða frá geymslu -Name[it]=Elimina dal deposito -Name[ja]=リポジトリから削除 -Name[ka]=რეპოზირტორიიდან წაშლა -Name[kk]=Қоймасынан өшіру -Name[lt]=Pašalinti iš saugyklos -Name[nb]=Slett fra lager -Name[nds]=Ut Archiv wegdoon -Name[ne]=भण्डारबाट मेट्नुहोस् -Name[nl]=Verwijderen uit repository -Name[nn]=Slett frå lager -Name[pa]=ਰਿਪੋਜ਼ਟਰੀ ਤੋਂ ਹਟਾਓ -Name[pl]=Usuń z repozytorium -Name[pt]=Remover do Repositório -Name[pt_BR]=Remover do Repositório -Name[ru]=Удалить из хранилища -Name[sk]=Odstrániť z archívu -Name[sl]=Izbriši iz skladišča -Name[sr]=Обриши из складишта -Name[sr@Latn]=Obriši iz skladišta -Name[sv]=Ta bort från arkiv -Name[tr]=Depodan Sil -Name[uk]=Видалити зі сховища -Name[zh_CN]=从仓库删除 -Name[zh_TW]=從主目錄刪除 -Icon=svn_remove -Exec=kio_svn_helper -d %U - -[Desktop Action Revert] -Name=Revert Local Changes -Name[bg]=Връщане на локалните промени -Name[ca]=Reverteix els canvis locals -Name[cs]=Vrátit místní změny -Name[da]=Vend lokale ændringer om -Name[de]=Lokale Änderungen zurücknehmen -Name[el]=Επαναφορά τοπικών αλλαγών -Name[es]=Revertir cambios locales -Name[et]=Kohalike muudatuste tühistamine -Name[eu]=Leheneratu aldaketa lokalak -Name[fa]=بازگشت تغییرات محلی -Name[fi]=Palauta paikalliset muutokset -Name[fr]=Annuler les modifications locales -Name[gl]=Anular as modificacións locais -Name[he]=נקה שינויים מקומיים -Name[hu]=A helyi módosítások visszavonása -Name[is]=Afturkalla staðbundnar breytingar -Name[it]=Annulla i cambiamenti locali -Name[ja]=ローカルでの変更を元に戻す -Name[ka]=ლოკალური ცვლილებების შებრუნება -Name[kk]=Жергілікті өзгерістерінен қайту -Name[lt]=Atšaukti vietinius pakeitimus -Name[nb]=Tilbakestill lokale endringer -Name[nds]=Lokaal Ännern torüchnehmen -Name[ne]=उल्टो स्थानीय परिवर्तन -Name[nl]=Lokale wijzigingen ongedaan maken -Name[nn]=Tilbakestill lokale endringar -Name[pa]=ਉਲਟ ਸਥਾਨਕ ਤਬਦੀਲੀਆਂ -Name[pl]=Cofnij lokalne zmiany -Name[pt]=Reverter as Modificações Locais -Name[pt_BR]=Reverter as Modificações Locais -Name[ru]=Отменить локальные изменения -Name[sk]=Vrátiť lokálne zmeny -Name[sl]=Povrni krajevne spremembe -Name[sr]=Одбаци локалне измене -Name[sr@Latn]=Odbaci lokalne izmene -Name[sv]=Återställ lokal ändring -Name[tr]=Yerel Değişiklikleri Ters Çevir -Name[uk]=Повернути локальні зміни -Name[zh_CN]=恢复本地更改 -Name[zh_TW]=回復本地端變更 -Icon=undo -Exec=kio_svn_helper -r %U -Comment=Remove any changes made locally. Warning - this cannot be undone. -Comment[bg]=Премахване на направените локални промени. Предупреждение - данните ще се загубят безвъзвратно. -Comment[ca]=Elimina qualsevol canvi local. Avís: No es pot desfer. -Comment[cs]=Odstraní změny provedené lokálně; nelze vrátit, pozor. -Comment[da]=Fjern alle ændringer der er lavet lokalt. Advarsel - dette kan ikke fortrydes. -Comment[de]=Nimmt alle lokal durchgeführten Änderungen zurück. Warnung: Dieser Vorgang kann nicht rückgängig gemacht werden. -Comment[el]=Αφαίρεση κάθε τροποποίησης που έγινε τοπικά. Προειδοποίηση ότι αυτό δε μπορεί να αναιρεθεί. -Comment[es]=Eliminar cualquier cambio local. Atención: esto no se puede deshacer. -Comment[et]=Eemaldab kõik kohalikud muudatused. Hoiatus: seda ei saa tagasi võtta. -Comment[eu]=Kendu lokalki egindako aldaketak. Abisua: ekintza hau ezin da desegin. -Comment[fa]=حذف همۀ تغییرات ایجادشدۀ محلی. اخطار - این نمی‌تواند انجام نشود. -Comment[fi]=Poista kaikki paikallisesti tehdyt muutokset. Varoitus - muutosta ei voi perua. -Comment[fr]=Annuler toutes les modifications effectuées localement. Attention, cela ne peut pas être annulé. -Comment[gl]=Borra as alteracións feitas a nível local. Atención - isto non pode ser anulado. -Comment[hu]=A helyi módosítások visszavonása. Ez a művelet nem vonható vissza! -Comment[is]=Fjarlægja allar breytingar sem voru gerðar hér. Athugið - það er ekki hægt að afturkalla þetta. -Comment[it]=Rimuovi ogni cambiamento fatto localmente. Attenzione: non si può tornare indietro. -Comment[ja]=ローカルで行われた変更を削除します。注意: この操作は元に戻せません。 -Comment[ka]=ნებისმიერი ლოკალურად გაკეთებული ცვლილებების წაშლა. გაფრთხილება - ამის უკუქცევა შეუძლებელია. -Comment[kk]=Жергілікті (яғни тапсырылмаған) өзгерістерден айну. Абайлаңыз - бұл амалдан қайта алмайсыз. -Comment[lt]=Panaikinti visus vietoje atliktus pakeitimus. Perspėjimas: to nebebus galima atšaukti. -Comment[nb]=Fjern alle endringer som er gjort lokalt. MERK – dette kan ikke angres. -Comment[nds]=All lokaal Ännern wegdoon. Wohrschoen - Dit lett sik nich torüchnehmen. -Comment[ne]=कुनै पनि स्थानीय परिवर्तन हटाउनुहोस् । चेतावनी - यसलाई पूर्वावस्थामा फर्काउन सकिने छैन । -Comment[nl]=Lokale wijzigingen ongedaan maken. Let op: dit kan niet teruggedraaid worden. -Comment[nn]=Fjern alle endringar som er gjorde lokalt. MERK – dette kan ikkje angrast. -Comment[pl]=Usuwa wszystkie zmiany dokonane lokalnie. Uwaga - tej operacji nie można cofnąć. -Comment[pt]=Remover as alterações que tenham sido feitas a nível local. Atenção - isto não pode ser anulado. -Comment[pt_BR]=Remover as alterações que tenham sido feitas localmente. Atenção - isto não pode ser desfeito. -Comment[ru]=Отменить все не опубликованные изменения. Эта операция не подлежит отмене. -Comment[sk]=Odstráni lokálne zmeny. Upozornenie - toto sa nedá už vrátiť. -Comment[sl]=Odstrani vse spremembe, opravljene krajevno. Opozorilo - tega ni mogoče razveljaviti. -Comment[sr]=Уклони све локално направљене измене. Упозорење: ово се не може опозвати. -Comment[sr@Latn]=Ukloni sve lokalno napravljene izmene. Upozorenje: ovo se ne može opozvati. -Comment[sv]=Tar bort alla ändringar som gjorts lokalt. Varning: detta kan inte ångras. -Comment[tr]=Yerel olarak yapılan değişiklikleri kaldır. Dikkat - bu işlem geri alınamaz. -Comment[uk]=Вилучити всі зміни, які було зроблено локально. Попередження - зміни буде вилучено назавжди. -Comment[zh_CN]=删除本地进行的任何更改。警告 - 此操作无法撤消。 -Comment[zh_TW]=移除任何已做的變更。警告:無法再復原。 - -[Desktop Action Rename] -Name=Rename... -Name[bg]=Преименуване... -Name[br]=Adenvel ... -Name[ca]=Reanomena... -Name[cs]=Přejmenovat... -Name[cy]=Ail-enwi... -Name[da]=Omdøb... -Name[de]=Umbenennen ... -Name[el]=Μετονομασία... -Name[eo]=Alinomigi... -Name[es]=Cambiar nombre... -Name[et]=Ümbernimetamine... -Name[eu]=Berrizendatu... -Name[fa]=تغییر نام... -Name[fi]=Nimeä uudelleen... -Name[fr]=Renommer... -Name[ga]=Athainmnigh... -Name[gl]=Mudar o nome... -Name[he]=שנה שם... -Name[hu]=Átnevezés... -Name[is]=Endurnefna... -Name[it]=Rinomina... -Name[ja]=名前変更... -Name[ka]=სახელის გადარქმევა... -Name[kk]=Қайта атау... -Name[lt]=Pervadinti... -Name[nb]=Endre navn … -Name[nds]=Ümnömen... -Name[ne]=पुन: नामकरण गर्नुहोस्... -Name[nl]=Hernoemen... -Name[nn]=Endra namn … -Name[pa]=ਨਾਂ-ਤਬਦੀਲ... -Name[pl]=Zmień nazwę... -Name[pt]=Mudar o Nome... -Name[pt_BR]=Renomear... -Name[ru]=Переименовать... -Name[sk]=Premenovať... -Name[sl]=Preimenuj ... -Name[sr]=Преименуј... -Name[sr@Latn]=Preimenuj... -Name[sv]=Byt namn... -Name[tr]=Yeniden Adlandır... -Name[uk]=Перейменувати... -Name[zh_CN]=重命名... -Name[zh_TW]=重新命名... -Icon=pencil -Exec=kio_svn_helper -r %U -Comment=Rename a file locally and in the repository. Use this rather than adding and deleting to rename a file. -Comment[bg]=Преименуване на файл локално и в хранилището. За предпочитане е да използвате този метод вместо изтриване и добавяне. -Comment[ca]=Reanomena un fitxer localment i en el repositori. Use-ho en comptes d'afegir i eliminar per a reanomenar un fitxer. -Comment[cs]=Přejmenovat soubor lokálně a v repository. Použijte raději než přidání a smazání souboru k docílení jeho přejmenování. -Comment[da]=Omdøb en fil lokalt og i lageret. Brug dette i stedet for at tilføje og slette for at omdøbe en fil. -Comment[de]=Benennt eine Datei lokal und im SVN-Archiv um. Verwenden Sie besser diese Funktion zum Umbenennen einer Datei als Hinzufügen und Löschen. -Comment[el]=Μετονομασία ενός αρχείου τοπικά και στο χώρο αποθήκευσης. Χρησιμοποιήστε αυτό αντί της προσθήκης και αφαίρεσης για τη μετονομασία ενός αρχείου. -Comment[es]=Cambiar el nombre de un archivo localmente y en el repositorio. Use esto en lugar de añadir y eliminar para cambiar el nombre de un archivo. -Comment[et]=Faili ümbernimetamine nii kohalikult kui hoidlas. See on eelistatud viis faili ümbernimetamisel lisamise ja kustutamise asemel. -Comment[eu]=Berrizendatu fitxategi bat lokalki eta biltegian. Erabili hau fitxategia ezabatu eta berriro gehitu ordez. -Comment[fa]=تغییر نام پروندۀ محلی و در مخزن. به جای افزودن و حذف، برای تغییر نام پرونده از این استفاده کنید. -Comment[fi]=Nimeä uudelleen paikallinen ja versionhallinnassa oleva tiedosto. Nimeä tiedosto uudelleen mieluummin näin kuin lisäämällä ja poistamalla. -Comment[fr]=Renommer un fichier localement et dans le référentiel. Utilisez cette option pour renommer un fichier, au lieu de le supprimer puis l'ajouter sous le nouveau nom. -Comment[gl]=Muda o nome dun ficheiro tanto localmente como no repositorio. Use isto en vez de engadir e eliminar o ficheiro para mudar o nome. -Comment[hu]=Fájl átnevezése helyben és az adattárban. Ezt érdemes használni hozzáadás és törlés helyett. -Comment[is]=Endurnefna skrá hér og í geymslunni. Notist heldur við þetta í stað þess að bæta við og eyða til að endurnefna skrá. -Comment[it]=Rinomina un file localmente e nel deposito. Usa questo invece di aggiungere e rimuovere un file per rinominarlo. -Comment[ja]=ローカルとリポジトリのファイルを改名します。名前の変更の際に追加と削除をしないで、この方法を使用してください。 -Comment[ka]=ფაილის სახელის გადარქმევა ლოკალურად და რეპოზიტორიასი. დამატების და წაშლის ნაცვლად ეს გამოიყენეთ. -Comment[kk]=Файлдың жергілікті де, қоймасындағы да атауын өзгерту. Өшіріп қайта қосудан гөрі осыны қолданған дұрыс. -Comment[lt]=Pervadinti bylą vietoje ir saugykloje. Naudokite šią parinktį užuot ištrindami ir įrašydami nauju vardu norimą pervadinti bylą. -Comment[nb]=Gi en fil nytt navn lokalt og i arkivet. Bruk dette heller enn å slette og legge inn på nytt for å endre navn på en fil. -Comment[nds]=En Datei lokaal un in't Archiv ümnömen. Bruuk beter dit, as "Tofögen" un "Wegdoon". -Comment[ne]=फाइलालाई स्थानीय रुपमा र भण्डारमा पुन: नामकरण गर्नुहोस् । फाइललाई पुन: नामकरण गर्न थप्ने र मेट्ने भन्दा यसलाई प्रयोग गर्नुहोस् । -Comment[nl]=Hernoem een bestand lokaal en in de repository. Gebruik dit bij voorkeur boven het verwijderen van een bestand en het toevoegen onder een andere naam. -Comment[nn]=Gi ei fil nytt namn lokalt og i arkivet. Bruk dette heller enn å sletta og leggja inn på nytt for å endra namn på ei fil. -Comment[pl]=Zmienia nazwę pliku lokalnie i w repozytorium. Należy tego używać zamiast dodawania i usuwania pliku. -Comment[pt]=Muda o nome de um ficheiro a nível local e no repositório. Use isto em vez de adicionar e remover o ficheiro para mudar o nome. -Comment[pt_BR]=Muda o nome de um arquivo localmente e no repositório. Use isto em vez de adicionar e remover o arquivo para mudar o nome. -Comment[ru]=Переименовать файл с отражением этого в хранилище. -Comment[sk]=Premenuje súbor lokálne aj v archíve. Použite radšej toto ako pridanie a odstránenie súboru. -Comment[sl]=Preimenuj datoteko krajevno in v skladišču. Uporabite to namesto brisanja in dodajanja datoteke. -Comment[sr]=Преименуј фајл локално и у складишту. Користите ово уместо трика са додавањем и брисањем фајла. -Comment[sr@Latn]=Preimenuj fajl lokalno i u skladištu. Koristite ovo umesto trika sa dodavanjem i brisanjem fajla. -Comment[sv]=Byt namn på en fil lokalt och i arkivet. Använd detta istället för att lägga till och ta bort för att byta namn på en fil. -Comment[uk]=Перейменувати файл локально і в сховищі. Вживайте замість додавання і видалення файла, щоб його перейменувати. -Comment[zh_CN]=在本地和仓库中重命名文件。使用此功能来取代对文件的添加和删除。 -Comment[zh_TW]=在本地端與主目錄中重新命名檔案。不必先新增再刪除檔案。 - -[Desktop Action Import] -Name=Import Repository -Name[bg]=Импортиране на директория -Name[br]=Enporzh an daveiñ -Name[ca]=Importa repositori -Name[cs]=Importovat repository -Name[da]=Importér lager -Name[de]=SVN-Archiv importieren -Name[el]=Εισαγωγή χώρου αποθήκευσης -Name[eo]=Importi Deponejon -Name[es]=Importar repositorio -Name[et]=Hoidla import -Name[eu]=Inportatu biltegia -Name[fa]=مخزن واردات -Name[fi]=Tuo versionhallinta -Name[fr]=Importer dans un référentiel -Name[ga]=Iompórtáil Stór -Name[gl]=Importar un repositorio -Name[hu]=Adattár importálása -Name[is]=Flytja inn geymslu -Name[it]=Importa deposito -Name[ja]=リポジトリのインポート -Name[ka]=რეპოზიტორიის იმპორტი -Name[kk]=Қоймасына импорттау -Name[lt]=Importuoti saugyklą -Name[nb]=Importer lager -Name[nds]=Archiv importeren -Name[ne]=आयात भण्डार -Name[nl]=Repository importeren -Name[nn]=Importer lager -Name[pa]=ਰਿਪੋਜ਼ਟਰੀ ਅਯਾਤ -Name[pl]=Importuj repozytorium -Name[pt]=Importar um Repositório -Name[pt_BR]=Importar um Repositório -Name[ru]=Импортировать в хранилище -Name[sk]=Importovať archív -Name[sl]=Uvozi skladišče -Name[sr]=Увези складиште -Name[sr@Latn]=Uvezi skladište -Name[sv]=Importera arkiv -Name[tr]=Depoyu İçe Aktar -Name[uk]=Імпортувати сховище -Name[zh_CN]=导入仓库 -Name[zh_TW]=匯入主目錄 -Icon=svn_import -Exec=kio_svn_helper -i %U -Comment=Put folder into an existing repository to put it under revision control. -Comment[bg]=Поставяне на директория в съществуващо хранилище. -Comment[ca]=Situa la carpeta en un repositori existent per a posar-la sota el control de revisions. -Comment[cs]=Zařadit složku do repository a správy verzí -Comment[da]=Put mappe ind i et eksisterende lager for at få den ind under revisionskontrol. -Comment[de]=Schiebt den Ordner in ein existierendes SVN-Archiv, um ihn in die Versionsverwaltung aufzunehmen. -Comment[el]=Εισαγωγή φακέλου σε έναν υπάρχον χώρο αποθήκευσης για τον έλεγχο εκδόσεων. -Comment[es]=Situar la carpeta en un repositorio existente para ponerla bajo control de revisión. -Comment[et]=Kataloogi lisamine olemasolevasse versioonikontrolli süsteemi hoidlasse. -Comment[eu]=Jarri karpeta biltegi batean errebisio kontrolpean edukitzeko. -Comment[fa]=گذاشتن پوشه در مخزن موجود جهت قراردادن آن تحت کنترل بازبینی. -Comment[fi]=Laita kansio versionhallintaan viemällä se olemassa olevaan versionhallintavarastoon. -Comment[fr]=Place le dossier dans un référentiel existant afin de le mettre sous contrôle de version. -Comment[gl]=Pon o cartafol nun repositorio existente para pólo baixo control de versións. -Comment[hu]=Könyvtár felvétele a verziókövető rendszer felügyelete alá. -Comment[is]=Setja möppu í geymslu sem finnst fyrir til að setja hana undir breytingarstjórn. -Comment[it]=Metti una cartella in un deposito esistente per metterla sotto controllo di revisione. -Comment[ja]=既存のリポジトリにフォルダを置き、リビジョン管理の対象とします。 -Comment[ka]=რევიზიის კონტროლისთვის ჩადეთ საქაღალდე არსებულ რეპოზიტორიაში. -Comment[kk]=Қапшықты қоймасына, нұсқалар есебін қадағалап, көшіру. -Comment[lt]=Įdėti aplanką į egzistuojančią saugyklą ir įjungti jį į keitimų sekimo sistemą. -Comment[nb]=Legg mappe inn i et eksisterende arkiv slik at det får revisjonskontroll. -Comment[nds]=Verschufft en Orner na en vörhannen Archiv, so dat he ünner Verschoonkuntrull kummt -Comment[ne]=फोल्डलाई पुनरावोलकन नियन्त्रण गर्न अवस्थित भण्डारमा राख्नुहोस् । -Comment[nl]=Plaats een map in een bestaande repository zodat het onder het versiebeheer system valt. -Comment[nn]=Legg ei mappe inn i eit eksisterande lager slik at det får revisjonskontroll. -Comment[pl]=Dodaje katalog do istniejącego repozytorium, aby umieścić go w systemie kontrolowania wersji. -Comment[pt]=Coloca a pasta num repositório existente para a colocar sob controlo de versões. -Comment[pt_BR]=Coloca a pasta num repositório existente para colocá-lo sob controle de versões. -Comment[ru]=Поместить папку в существующее хранилище для добавления этой папки в систему контроля ревизий -Comment[sk]=Vloží priečinok do existujúceho archívu ako novú revíziu. -Comment[sl]=Uvozi mapo v obstoječe skladišče. Mapa tako postane del revizijskega nadzora. -Comment[sr]=Стави фасциклу у постојеће складиште, ради стављања под контролу ревизија. -Comment[sr@Latn]=Stavi fasciklu u postojeće skladište, radi stavljanja pod kontrolu revizija. -Comment[sv]=Lägg till katalog i ett befintligt arkiv för att få den under versionskontroll -Comment[tr]=Dizini başka bie alt düzeltme controlünde var olan bir depo içine koy. -Comment[uk]=Вставити теку в існуюче сховище, щоб уможливити для неї керування версіями. -Comment[zh_CN]=将文件夹放入现有仓库,以便让其受到版本控制。 -Comment[zh_TW]=將資料夾放進現存的主目錄,並開始做版本控制。 - -[Desktop Action Checkout] -Name=Checkout From Repository... -Name[bg]=Изтегляне от хранилището... -Name[ca]=Obtenir del repositori... -Name[cs]=Získat z repository... -Name[da]=Tjek ud fra lager... -Name[de]=Aus SVN-Archiv herausholen ... -Name[el]=Έλεγχος εξόδου από το χώρο αποθήκευσης... -Name[eo]=Ekpreni el Deponejo... -Name[es]=Obtener del repositorio... -Name[et]=Hoidla väljavõte... -Name[eu]=Deskargatu biltegitik... -Name[fa]=وارسی از مخزن... -Name[fi]=Nouda versionhallinnasta... -Name[fr]=Extraire depuis un référentiel... -Name[gl]=Obter do repositorio... -Name[hu]=Kimásolás az adattárból... -Name[is]=Ná í frá geymslu... -Name[it]=Ritira dal deposito... -Name[ja]=リポジトリからチェックアウト... -Name[ka]=რეპოზიტორიიდან ამონიშვნა... -Name[kk]=Қоймасынан көшіріп алу... -Name[lt]=Atsisiųsti iš saugyklos... -Name[nb]=Sjekk ut fra lager … -Name[nds]=Ut Archiv daalladen... -Name[ne]=भण्डारबाट जाँच... -Name[nl]=Repository uitchecken... -Name[nn]=Sjekk ut frå lager … -Name[pa]=ਰਿਪੋਜ਼ਟਰੀ ਤੋਂ ਚੈਕਆਉਟ... -Name[pl]=Pobierz z repozytorium... -Name[pt]=Obter do Repositório... -Name[pt_BR]=Obter do Repositório... -Name[ru]=Загрузить из хранилища... -Name[sk]=Získať z archívu... -Name[sl]=Prevzemi iz skladišča ... -Name[sr]=Довуци из складишта... -Name[sr@Latn]=Dovuci iz skladišta... -Name[sv]=Checka ut från ett arkiv... -Name[tr]=Depodan Kontrol Et... -Name[uk]=Взяти зі сховища... -Name[zh_CN]=从仓库中检出... -Name[zh_TW]=從主目錄取出... -Icon=svn_checkout -Exec=kio_svn_helper -C %U -Comment=Checkout out files from an existing repository into this folder. -Comment[bg]=Изтегляне на файлове от хранилището в текущата директория. -Comment[ca]=Obté fitxers des d'un repositori existent cap aquesta carpeta. -Comment[cs]=Získat soubory z existující repository do této složky. -Comment[da]=Tjek filer ud fra et eksisterende lager til denne mappe. -Comment[de]=Legt Dateien aus einem existierenden SVN-Archiv in diesem Ordner ab. -Comment[el]=΄Έλεγχος εξόδου των αρχείων από έναν υπάρχον χώρο αποθήκευσης σε αυτόν τον φάκελο. -Comment[es]=Descargar archivos de un repositorio existente en esta carpeta. -Comment[et]=Olemasoleva hoidla failide väljavõte sellesse kataloogi. -Comment[eu]=Deskargatu fitxategiak biltegi batetik karpeta honetara. -Comment[fa]=وارسی پرونده‌های بیرونی از مخزن موجود در این پوشه -Comment[fi]=Nouda tiedostot olemassa olevasta versionhallinnasta tähän kansioon. -Comment[fr]=Extraire dans ce dossier les fichiers d'un référentiel existant -Comment[gl]=Obtén todos os ficheiros dun repositorio existente para este cartafol. -Comment[hu]=Fájlok kimásolása az adattárból ebbe a könyvtárba. -Comment[is]=Ná í skrár frá geymslu og setja í þessa möppu. -Comment[it]=Ritira i file da un deposito esistente in questa cartella. -Comment[ja]=既存のリポジトリから、このディレクトリへファイルをチェックアウトします。 -Comment[ka]=არსებული რეპოზიტორიიდან ფაილები ამ საქაღალდეში ამონიშნეთ. -Comment[kk]=Файлдарды қоймасынан көрсетілген қапшыққа көшіріп алу. -Comment[lt]=Atsisiųsti bylas iš egzistuojančios saugyklos į šį aplanką. -Comment[nb]=Sjekk ut filer fra et arkiv inn i denne mappa -Comment[nds]=Laadt Dateien ut en vörhannen Archiv na dissen Orner daal. -Comment[ne]=यो फोल्डरमा अवस्थित भण्डार बाहिरका फाइललाई जाँच गर्नुहोस् । -Comment[nl]=Bestanden van een bestaande repository uitchecken in deze map. -Comment[nn]=Sjekk ut filer frå eit arkiv inn i denne mappa. -Comment[pl]=Pobranie plików z istniejącego repozytorium do tego katalogu. -Comment[pt]=Obtém todos os ficheiros de um repositório existente para esta pasta. -Comment[pt_BR]=Obtém todos os arquivos de um repositório existente para esta pasta. -Comment[ru]=Загрузить файлы из существующего хранилища в указанную папку -Comment[sk]=Získa súbory z existujúceho archívu do tohoto priečinku. -Comment[sl]=Prevzemi datoteke iz obstoječega skladišča v to mapo. -Comment[sr]=Довуци фајлове из постојећег складишта у ову фасциклу. -Comment[sr@Latn]=Dovuci fajlove iz postojećeg skladišta u ovu fasciklu. -Comment[sv]=Checka ut filer från ett befintligt arkiv till katalogen. -Comment[tr]=Bu dizinde var olan bir depodan hatalı dosyaları kontrol et. -Comment[uk]=Взяти файли з існуючого сховища і покласти в цю теку. -Comment[zh_CN]=从已有仓库中检出文件并存放至此文件夹。 -Comment[zh_TW]=從現存的主目錄取出檔案到此資料夾。 - -[Desktop Action Switch] -Name=Switch... -Name[bg]=Превключване... -Name[br]=Gwintañ ... -Name[ca]=Canvia... -Name[cs]=Přepnout... -Name[de]=Wechseln (switch) -Name[el]=Εναλλαγή... -Name[eo]=Ŝalti... -Name[es]=Cambiar... -Name[et]=Lülitumine... -Name[eu]=Aldatu... -Name[fa]=سودهی... -Name[fi]=Vaihda... -Name[fr]=Basculer... -Name[gl]=Mudar... -Name[he]=החלף... -Name[hu]=Váltás... -Name[is]=Skipta... -Name[it]=Passa... -Name[ja]=スイッチ... -Name[ka]=გადრთვა... -Name[kk]=Ауысу... -Name[lt]=Perjungti... -Name[nb]=Bytt … -Name[nds]=Telg wesseln... -Name[ne]=स्विच... -Name[nl]=Omzetten (switch)... -Name[nn]=Byt … -Name[pa]=ਤਬਦੀਲ... -Name[pl]=Przełącz... -Name[pt]=Mudar... -Name[pt_BR]=Mudar... -Name[ru]=Сменить адрес хранилища... -Name[sk]=Vymeniť... -Name[sl]=Preklopi ... -Name[sr]=Пребаци... -Name[sr@Latn]=Prebaci... -Name[sv]=Byt... -Name[tr]=Değiştir... -Name[uk]=Перемкнути... -Name[zh_CN]=切换... -Name[zh_TW]=切換... -Icon=svn_switch -Comment=Switch given working copy to another branch -Comment[bg]=Превключване на работното копие към друго разклонение. -Comment[ca]=Canvia una còpia de treball indicada a una altra branca -Comment[cs]=Přepnout danou pracovní kopii na jinou větev -Comment[da]=Skift given arbejdskopi til en anden gren. -Comment[de]=Wechselt von der vorhandenen Arbeitskopie zu einer anderen Verzweigung (branch). -Comment[el]=Εναλλαγή του δοσμένου αντιγράφου εργασίας σε άλλον κλάδο -Comment[es]=Cambiar una determinada copia de trabajo a otra rama -Comment[et]=Antud töökoopia lülitamine teise harru -Comment[eu]=aldatu laneko kopia bat beste adar batekin -Comment[fa]=سودهی رونوشت کار داده‌شده به شاخۀ دیگر -Comment[fi]=Vaihda annettu työkopio toiseen haaraan -Comment[fr]=Basculer la copie de travail vers une autre branche -Comment[gl]=Muda a copia de traballo actual para outra ramificación -Comment[hu]=A munkamásolat átváltása másik ágra -Comment[is]=Skipta núverandi vinnuafriti yfir í aðra grein -Comment[it]=Passa la copia di lavoro a un altro ramo -Comment[ja]=作業中のコピーを他のブランチへ切り換えます。 -Comment[ka]=მიმდინარე სამუშაო ასლის სხვა ტოტზე გაკეთება -Comment[kk]=Жұмыс көшірмені жобаның басқа саласына (яғни қоймасына) ауыстыру -Comment[lt]=Perjungti esamą vietinį saugyklos aplanką į kitą atšaką -Comment[nb]=Byt arbeidskopien til en annen gren -Comment[nds]=Arbeitkopie na en annern Telg verschuven -Comment[ne]=दिइएको कार्य प्रतिलाई अन्य शाखामा स्विच गर्नुहोस् -Comment[nl]=Zet een bestaande copy om naar een andere branch -Comment[nn]=Byt arbeidskopien til ei anna grein -Comment[pl]=Przełącza katalog roboczy na inną gałąź -Comment[pt]=Muda a cópia de trabalho actual para outra ramificação -Comment[pt_BR]=Muda a cópia de trabalho atual para outra ramificação -Comment[ru]=Сменить адрес хранилища, например перейти от стабильной ветки к ветке разработки -Comment[sk]=Vymení danú pracovnú kópiu zo inú vetvu -Comment[sl]=Preklopi dano delovno kopijo na drugo vejo -Comment[sr]=Пребаци дату радну копију на другу грану -Comment[sr@Latn]=Prebaci datu radnu kopiju na drugu granu -Comment[sv]=Byt angiven arbetskopia till en annan gren -Comment[tr]=Çalışan belirli bir kopyayı başka bölüme değiştir -Comment[uk]=Перемкнути поточну робочу копію на іншу гілку -Comment[zh_CN]=将工作副本切换到另外一个分支 -Comment[zh_TW]=將指定的工作複本切換到另一個分支 -Exec=kio_svn_helper -s %U - -[Desktop Action Merge] -Name=Merge... -Name[bg]=Смесване... -Name[br]=D&astum ... -Name[ca]=Fusiona... -Name[cs]=Sloučit... -Name[da]=Indflet... -Name[de]=Zusammenführen ... -Name[el]=Συγχώνευση... -Name[eo]=Kunfandi... -Name[es]=Mezclar... -Name[et]=Ühendamine... -Name[eu]=Bateratu... -Name[fa]=ادغام... -Name[fi]=Yhdistä... -Name[fr]=Fusionner... -Name[ga]=Cumaisc... -Name[gl]=Fusionar... -Name[he]=מזג... -Name[hu]=Összeolvasztás... -Name[is]=Bræða saman... -Name[it]=Fondi... -Name[ja]=マージ... -Name[ka]=შერწყმა... -Name[kk]=Біріктіру... -Name[lt]=Sulieti... -Name[nb]=Flett … -Name[nds]=Tosamenföhren... -Name[ne]=गाभिनु... -Name[nl]=Samenvoegen... -Name[nn]=Flett … -Name[pa]=ਮਿਲਾਨ... -Name[pl]=Połącz... -Name[pt]=Reunir... -Name[pt_BR]=Mesclar... -Name[ru]=Объединить... -Name[sk]=Spojiť... -Name[sl]=Združi ... -Name[sr]=Стопи... -Name[sr@Latn]=Stopi... -Name[sv]=Sammanfoga... -Name[tr]=Birleştir... -Name[uk]=Об'єднати... -Name[zh_CN]=合并... -Name[zh_TW]=合併... -Icon=svn_merge -Comment=Merge changes between this and another branch -Comment[bg]=Смесване на промените от това разклонение с друго разклонение. -Comment[ca]=Fusiona els canvis entre aquesta i una altra branca -Comment[cs]=Sloučit změny mezi touto a jinou větví -Comment[da]=Indflet ændringer mellem denne og en anden gren -Comment[de]=Führt Änderungen aus dieser und einer anderen Verzweigung zusammen -Comment[el]=Συγχώνευση αλλαγών μεταξύ του τρέχοντος και κάποιου άλλου κλάδου -Comment[es]=Mezclar los cambios entre esta y otra rama -Comment[et]=Selle ja teise haru muudatuste ühendamine -Comment[eu]=Bateratu hau eta beste adar baten arteko aldaketak -Comment[fa]=تغییرات بین این شاخه و شاخۀ دیگر را ادغام می‌کند -Comment[fi]=Yhdistä tämän ja toisen haaran väliset muutokset -Comment[fr]=Fusionner les modifications entre cette branche et une autre -Comment[gl]=Fusiona as modificacións entre esta ramificación e outra -Comment[hu]=A módosítások összefésülése egy másik ággal -Comment[is]=Bræða saman breytingar milli þessarar og annarar greinar -Comment[it]=Fondi i cambiamenti tra questo e un altro ramo -Comment[ja]=このブランチと他のブランチの間で、変更をマージします。 -Comment[ka]=ამ და სხვა ტოტების ცვლილებების შერწყმა -Comment[kk]=Осы және өзге салалардағы өзгерістерін біріктіру -Comment[lt]=Sulieti pakeitimus tarp šios ir kitos atšakos -Comment[nb]=Flett sammen endringer mellom denne og en annen gren -Comment[nds]=Ännern twischen dissen un en annern Telg tosamenföhren -Comment[ne]=यो र अन्य शाखा बीचका परिवर्तन गाभ्नुहोस् -Comment[nl]=Deze en een andere tak samenvoegen -Comment[nn]=Flett saman endringar mellom denne og ei anna grein -Comment[pl]=Łączy zmiany między tą i inną gałęzią -Comment[pt]=Junta as modificações entre esta ramificação e outra -Comment[pt_BR]=Mescla as modificações entre esta ramificação e outra -Comment[ru]=Объеденить изменения между этой и другой ветками -Comment[sk]=Spojí zmeny medzi touto a inou vetvou -Comment[sl]=Združi spremembe med to in drugo vejo -Comment[sr]=Стопи измене између ове и друге гране -Comment[sr@Latn]=Stopi izmene između ove i druge grane -Comment[sv]=Sammanfoga ändringar mellan den här och en annan gren -Comment[tr]=Bu ve başka bölüm arasındaki değişiklikleri birleştir -Comment[uk]=Об'єднати зміни в цій та іншій гілках -Comment[zh_CN]=合并本地和另外一个分支的更改 -Comment[zh_TW]=將這個與另一個分支合併 -Exec=kio_svn_helper -m %U - -[Desktop Action Blame] -Name=Blame... -Name[bg]=Информация... -Name[ca]=Responsabilitza... -Name[cs]=Obvinit... -Name[de]=Blame ... -Name[el]=Συσχέτιση... -Name[eo]=Kulpigi... -Name[es]=Responsabilizar... -Name[et]=Autorsus... -Name[eu]=Erruduna... -Name[fa]=...سرزنش کردن -Name[fr]=Blâmer... -Name[gl]=Autorías... -Name[he]=האשם... -Name[hu]=Ki tette ezt... -Name[is]=Kenna um... -Name[it]=Traccia... -Name[ja]=ブレイム... -Name[ka]=ბრალი... -Name[kk]=Кім екен... -Name[lt]=Nustatyti... -Name[nb]=Skyld på … -Name[nds]=Naspören... -Name[ne]=दोष... -Name[nl]=Annotatie... -Name[nn]=Skuld på … -Name[pa]=ਬਲਾਮੀ... -Name[pl]=Obwiń... -Name[pt]=Culpar... -Name[pt_BR]=Culpar... -Name[ru]=Определить авторов... -Name[sk]=Žalovať... -Name[sl]=Odgovornost ... -Name[sr]=Окриви... -Name[sr@Latn]=Okrivi... -Name[sv]=Klandra... -Name[uk]=Вина... -Name[zh_CN]=历史... -Name[zh_TW]=最後狀態註記... -Icon=svn_blame -Comment=See who wrote each line of the file and in what revision -Comment[bg]=Информация за това кой е написал файла и в коя версия -Comment[ca]=Veu qui va escriure cada línia del fitxer i en qui l'ha revisat -Comment[cs]=Zobrazit, kdo napsal kterou řádku souboru spolu s revizí -Comment[da]=Se hvem der skrev hver linje i filen og i hvilken revision -Comment[de]=Zeigt an, wer die Zeilen einer Datei wann geändert hat. -Comment[el]=Δείτε ποιος έγραψε κάθε γραμμή του αρχείου και σε ποια αναθεώρηση -Comment[es]=Ver quién escribió cada línea del archivo y en qué revisión -Comment[et]=Vaatamine, kes ja millises versioonis mingi faili rea kirjutas -Comment[eu]=Ikusi nork idatzi duen lerro bakoitza eta zer errebisiotan -Comment[fa]=ببینید چه کسی هر خط پرونده را و در چه بازبینی نوشته است -Comment[fi]=Tarkista kuka on kirjoittanut tiedoston rivit missäkin versiossa -Comment[fr]=Voir qui a écrit chacune des lignes du fichier, et dans quelle version. -Comment[gl]=Consulta quen escribiu unha liña dada no ficheiro e en que versión -Comment[hu]=A fájlok készítőinek megtekintése soronként, verzió szerint -Comment[is]=Sjá hver skrifaði hvaða línu og í hvaða útgáfu -Comment[it]=Vedi chi ha scritto ogni riga del file e in quale revisione -Comment[ja]=誰がどのリビジョンの、どのファイルの、どの行を書いたのかを見ます。 -Comment[ka]=ნახეთ თუ ვინ ჩაწერა ფაილის ყოველი ხაზი და რომელ რევიზიაში -Comment[kk]=Файлдағы жолды кім және қай нұсқасында жазғанын білу -Comment[lt]=Patikrinti, kas parašė kiekvieną eilutę ir kurio keitimo metu tai buvo atlikta -Comment[nb]=Se hvem som skrev hver linje i fila og i hvilken revisjon -Comment[nds]=Wiest, wokeen wannehr welke Dateiregen ännert hett -Comment[ne]=प्रत्येक फाइल कसले लेखेको छ र के दोहोरिएको छ हेर्नुहोस् -Comment[nl]=Bekijk wie welke regel van het bestand geschreven heeft en in welke revisie -Comment[nn]=Sjå kven som skreiv kvar linje i fila og i kva revisjon -Comment[pl]=Pokazuje, kto ostatni zmienił każdą linię w pliku i w której wersji -Comment[pt]=Vê quem escreveu uma dada linha no ficheiro e em que versão -Comment[pt_BR]=Vê quem escreveu uma determinada linha no arquivo e em que versão -Comment[ru]=Просмотреть авторов каждой строки в файле и в выбранной ревизии -Comment[sk]=Pozrite sa, kto a v ktorej revízii napísal každý riadok súboru -Comment[sl]=Prikaži, kdo je napisal katero vrstico in v kateri reviziji -Comment[sr]=Прикажи за сваку линију фајла ко ју је написао и у којој ревизији -Comment[sr@Latn]=Prikaži za svaku liniju fajla ko ju je napisao i u kojoj reviziji -Comment[sv]=Se vem som skrev varje rad i filen och för vilken version -Comment[uk]=Подивитись хто написав кожний рядок файла і в якій модифікації -Comment[zh_CN]=查看谁在哪次修订中写了文件的哪一行 -Comment[zh_TW]=看檔案中的每一行是誰寫的,其版本為何 -Exec=kio_svn_helper -b %U - -[Desktop Action CreatePatch] -Name=Create Patch... -Name[bg]=Създаване на кръпка... -Name[ca]=Crea pedaç... -Name[cs]=Vytvořit záplatu... -Name[da]=Lav rettelse... -Name[de]=Patch erstellen ... -Name[el]=Δημιουργία διόρθωσης... -Name[eo]=Krei Flikon... -Name[es]=Crear parche... -Name[et]=Paiga loomine... -Name[eu]=Sortu adabakia... -Name[fa]=ایجاد کژنه... -Name[fi]=Luo korjaus... -Name[fr]=Créer un correctif... -Name[ga]=Cruthaigh Paiste... -Name[gl]=Criar un parche... -Name[he]=צור טלאי... -Name[hu]=Folt készítése... -Name[is]=Búa til plástur... -Name[it]=Crea correzione... -Name[ja]=パッチの作成... -Name[ka]=ბებკის შექმნა... -Name[kk]=Жамауды құру... -Name[lt]=Kurti pataisymą... -Name[nb]=Lag lapp … -Name[nds]=Kodeplaster opstellen... -Name[ne]=प्याच सिर्जना... -Name[nl]=Patch aanmaken... -Name[nn]=Lag lapp … -Name[pa]=ਪੈਂਚ ਬਣਾਓ... -Name[pl]=Stwórz łatę... -Name[pt]=Criar um 'Patch'... -Name[pt_BR]=Criar um 'Patch'... -Name[ru]=Создать заплатку... -Name[sk]=Vytvoriť záplatu... -Name[sl]=Ustvari popravek ... -Name[sr]=Направи закрпу... -Name[sr@Latn]=Napravi zakrpu... -Name[sv]=Skapa programfix... -Name[tr]=Yama Oluştur... -Name[uk]=Створити латку... -Name[zh_CN]=创建补丁... -Name[zh_TW]=建立修補檔... -Exec=kio_svn_helper -p %U - -[Desktop Action Export] -Name=Export... -Name[bg]=Експортиране... -Name[br]=Ezporzh ... -Name[ca]=Exporta... -Name[cs]=Exportovat... -Name[cy]=Allforio... -Name[da]=Eksportér... -Name[de]=Exportieren ... -Name[el]=Εξαγωγή... -Name[eo]=Eksporti... -Name[es]=Exportar... -Name[et]=Eksport... -Name[eu]=Esportatu... -Name[fa]=صادرات... -Name[fi]=Vie... -Name[fr]=Exporter... -Name[ga]=Easpórtáil... -Name[gl]=Exportar... -Name[he]=ייצא.... -Name[hu]=Exportálás... -Name[is]=Flytja út... -Name[it]=Esporta... -Name[ja]=エクスポート... -Name[ka]=ექსპორტი... -Name[kk]=Экспорттау... -Name[lt]=Eksportuoti... -Name[nb]=Eksporter … -Name[nds]=Exporteren... -Name[ne]=निर्यात... -Name[nl]=Exporteren... -Name[nn]=Eksporter … -Name[pa]=ਨਿਰਯਾਤ... -Name[pl]=Eksportuj... -Name[pt]=Exportar... -Name[pt_BR]=Exportar... -Name[ru]=Экспорт... -Name[sk]=Exportovať... -Name[sl]=Izvozi ... -Name[sr]=Извези... -Name[sr@Latn]=Izvezi... -Name[sv]=Exportera... -Name[tr]=Dışa Aktar... -Name[uk]=Експортувати... -Name[zh_CN]=导出... -Name[zh_TW]=匯出... -Icon=svn_export -Exec=kio_svn_helper -e %U -Comment=Checkout out an unversioned copy of a tree from a repository -Comment[bg]=Изтегляне на копие на дървото от хранилището. -Comment[ca]=Exporta una còpia sense versió d'un arbre del repositori -Comment[cs]=Získat z repository kopii stromu bez verze -Comment[da]=Tjek en kopi uden version ud af et træ fra et lager -Comment[de]=Herausholen eines Baums aus dem SVN-Archiv ohne Versionsinformationen -Comment[el]=Έλεγχος εξόδου ενός αντιγράφου χωρίς έκδοση από ένα δέντρο του χώρου αποθήκευσης -Comment[es]=Exporta una copia no versionada de un árbol de un repositorio -Comment[et]=Hoidla failipuu versioonita koopia väljavõte -Comment[eu]=Deskargatu bertsio-gabeko zuhaitz baten kopia bat biltegitik -Comment[fa]=وارسی یک رونوشت کلی درخت از مخزن -Comment[fi]=Nouda versioimaton kopio versionhallinnan puusta -Comment[fr]=Extraire une copie sans contrôle de version d'une arborescence depuis un référentiel -Comment[gl]=Obtén unha copia sen control de versións dunha árbore do repositorio -Comment[hu]=Verzió nélküli másolat készítése az adattárból -Comment[is]=Ná í afrit af tré án útgáfunúmers frá geymslu -Comment[it]=Ritira una copia senza versione di un albero da un deposito -Comment[ja]=リポジトリから非バージョン管理ツリーとしてチェックアウトします。 -Comment[ka]=რეპოზიტტორიიდან ხის უვერსიო ასლის შემოწმება -Comment[kk]=Жоба бұтағын қоймасынан, нұсқалар есебін қадағалауынан тыс көшіріп алу -Comment[lt]=Atsisiųsti bylas iš egzistuojančios saugyklos be keitimų sekimo. -Comment[nb]=Sjekk ut en kopi av et tre uten versjon fra et lager -Comment[nds]=En Boomkopie ahn Verschooninformatschoon ut en Archiv daalladen -Comment[ne]=भण्डारबाट संस्करण ननिकालिएको ट्री बाहिरको प्रति जाँच गर्नुहोस् -Comment[nl]=Een niet onder versiebeheer vallende kopie uitchecken van een tak uit de repository -Comment[nn]=Sjekk ut ein kopi av eit tre utan versjon frå eit lager -Comment[pl]=Pobiera kopię drzewa z repozytorium bez informacji do kontroli wersji -Comment[pt]=Obtém uma cópia sem controlo de versões de uma árvore do repositório -Comment[pt_BR]=Obtém uma cópia sem controle de versões de uma árvore do repositório -Comment[ru]=Загрузить копию дерева без служебной информации системы управления версиями -Comment[sk]=Získa neverzionovanú kópiu stromu z archívu -Comment[sl]=Iz skladišča prevzemi kopijo drevesa brez različice -Comment[sr]=Довуци неверзирану копију стабла из складишта -Comment[sr@Latn]=Dovuci neverziranu kopiju stabla iz skladišta -Comment[sv]=Checka ut en kopia utan versionskontroll från ett arkiv -Comment[tr]=Depodaki bir ağaçtan kusurlu bir versionsuz kopyayı kontrol et -Comment[uk]=Взяти зі сховища копію дерева без версій -Comment[zh_CN]=从仓库中检出无版本副本 -Comment[zh_TW]=從主目錄中取出不含版本資訊的工作複本 - -[Desktop Action Diff] -Name=Diff (local) -Name[bg]=Разлика (локално) -Name[cs]=Rozdíl (místní) -Name[da]=Diff (lokal) -Name[de]=Diff (lokal) -Name[el]=Διαφορές (τοπικά) -Name[es]=Diferencias (locales) -Name[et]=Võrdlemine (kohalik) -Name[eu]=Desberdintasunak (lokala) -Name[fa]=Diff (محلی) -Name[fi]=Diff (paikallinen) -Name[fr]=Différences (locales) -Name[ga]=Diff (logánta) -Name[gl]=Diferenzas (local) -Name[he]=Diff (מקומי) -Name[hu]=Diff (helyi) -Name[is]=Bera saman (staðbundið) -Name[it]=Differenza (locale) -Name[ja]=Diff (ローカル) -Name[ka]=Diff (ლოკალური) -Name[kk]=Жергілікті өзгерістер -Name[lt]=Diff (vietinis) -Name[ms]=Diff (tempatan) -Name[nb]=Diff (lokal) -Name[nds]=Verscheel (lokaal) -Name[ne]=Diff (स्थानीय) -Name[nl]=Diff (lokaal) -Name[nn]=Diff (lokal) -Name[pa]=ਅੰਤਰ (ਸਥਾਨਕ) -Name[pl]=Różnice (lokalne) -Name[pt]=Diferenças (local) -Name[pt_BR]=Diferenças (local) -Name[ru]=Локальные изменения -Name[sk]=Rozdiel (lokálne) -Name[sl]=Diff (krajevno) -Name[sr]=Разликуј (локално) -Name[sr@Latn]=Razlikuj (lokalno) -Name[sv]=Jämför (lokalt) -Name[tr]=Diff (yerel) -Name[uk]=Розбіжності (локальні) -Name[zh_CN]=Diff (本地) -Name[zh_TW]=比較(本地端) -Icon=svn_diff -Exec=kio_svn_helper -D %U -Comment=Show local changes since last update -Comment[bg]=Показване на локалните промени след последното обновяване. -Comment[ca]=Mostra els canvis locals des de l'última actualització -Comment[cs]=Zobrazit lokální změny od poslední aktualizace -Comment[da]=Vis lokale ændringer siden sidste opdatering -Comment[de]=Zeigt die lokal durchgeführten Änderungen seit der letzten Aktualisierung -Comment[el]=Εμφάνιση τοπικών αλλαγών από την τελευταία ενημέρωση -Comment[es]=Mostrar los cambios locales desde la última actualización -Comment[et]=Kohalike muudatuste näitamine pärast viimast uuendamist -Comment[eu]=Erakutsi azken aldaketatik gertatu diren aldaketa lokalak -Comment[fa]=نمایش تغییرات محلی از آخرین به‌روزرسانی -Comment[fi]=Näytä viimeisen päivityksen jälkeen tehdyt paikalliset muutokset -Comment[fr]=Afficher les changements locaux effectués depuis la dernière mise à jour -Comment[gl]=Mostra as modificacións locais desde a última actualización -Comment[hu]=A helyi módosítások mutatása (az utolsó frissítés óta) -Comment[is]=Sýna staðbundnar breytingar frá seinustu uppfærslu -Comment[it]=Mostra i cambiamenti locali dall'ultimo aggiornamento -Comment[ja]=最終アップデートからローカルにどのような変更があったのかを表示します。 -Comment[ka]=უკანასკნელი განახლების შემდეგ ლოკალური ცვლილებების ჩვენება -Comment[kk]=Қоймасына әлі тапсырылмаған жергілікті өзгерістерді көрсету -Comment[lt]=Rodyti vietinius pakeitimus nuo paskutinio atnaujinimo -Comment[nb]=Vis lokale endringer siden siste oppdatering -Comment[nds]=Lokaal Ännern na de verleden Opfrischen wiesen -Comment[ne]=अन्तिम अद्यावधिक पछिका स्थानीय परिवर्तन देखाउनुहोस् -Comment[nl]=Lokale wijzigingen sinds de laatste update tonen -Comment[nn]=Vis lokale endringar sidan siste oppdatering -Comment[pl]=Pokazuje lokalne zmiany od ostatniego uaktualnienia -Comment[pt]=Mostra as modificações locais desde a última actualização -Comment[pt_BR]=Mostra as modificações locais desde a última atualização -Comment[ru]=Определить изменения, не внесенные в общее хранилище -Comment[sk]=Zobrazí lokálne zmeny od poslednej aktualizácie -Comment[sl]=Prikaži krajevne spremembe od zadnje posodobitve -Comment[sr]=Прикажи локалне измене од последњег ажурирања -Comment[sr@Latn]=Prikaži lokalne izmene od poslednjeg ažuriranja -Comment[sv]=Visa lokala ändringar sedan senaste uppdateringen -Comment[tr]=Son güncellemeden sonraki yerel değişiklikleri göster -Comment[uk]=Показати локальні зміни з часу останнього оновлення -Comment[zh_CN]=显示上次更新后本地的更改 -Comment[zh_TW]=顯示最後一次更新之後於本地端所做的改變 - diff --git a/kioslave/svn/svnhelper/subversion_toplevel.desktop b/kioslave/svn/svnhelper/subversion_toplevel.desktop deleted file mode 100644 index 0a024c91..00000000 --- a/kioslave/svn/svnhelper/subversion_toplevel.desktop +++ /dev/null @@ -1,97 +0,0 @@ -[Desktop Entry] -ServiceTypes=inode/directory,all/all -X-TDE-Priority=TopLevel - -X-TDE-GetActionMenu=kded ksvnd getTopLevelActionMenu(KURL::List) - -[Desktop Action Update] -Name=SVN Update -Name[bg]=Обновяване SVN -Name[ca]=Actualitza SVN -Name[cs]=SVN update -Name[da]=SVN Opdatér -Name[de]=Aktualisieren (SVN) -Name[el]=Ενημέρωση SVN -Name[es]=Actualizar SVN -Name[et]=SVN uuendamine -Name[eu]=SVN eguneratu -Name[fa]=به‌روزرسانی SVN -Name[fi]=SVN-päivitys (Update) -Name[fr]=Mise à jour SVN -Name[gl]=Actualización SVN -Name[he]=עדכון SVN -Name[hu]=SVN frissítés -Name[is]=Uppfæra SVN -Name[it]=Aggiornamento SVN -Name[ja]=SVN アップデート -Name[ka]=SVN განახლება -Name[kk]=SVN жаңарту -Name[lt]=SVN atnaujinti -Name[ms]=Kemaskini SVN -Name[nb]=SVN oppdater -Name[nds]=SVN-Archiv opfrischen -Name[ne]=एसभीएन अद्यावधिक -Name[nl]=SVN bijwerken -Name[nn]=SVN oppdater -Name[pa]=SVN ਅੱਪਡੇਟ -Name[pl]=Uaktualnij -Name[pt]=Actualização do SVN -Name[pt_BR]=Atualização a partir do SVN -Name[ru]=Обновить -Name[sk]=SVN aktualizácia -Name[sl]=Posodobitev SVN -Name[sr]=SVN ажурирање -Name[sr@Latn]=SVN ažuriranje -Name[sv]=SVN-uppdatera -Name[tr]=SVN Güncelleme -Name[uk]=SVN-оновлення -Name[zh_CN]=SVN 更新 -Name[zh_TW]=SVN 更新 -Icon=redo -Exec=kio_svn_helper -u %U - -[Desktop Action Commit] -Name=SVN Commit -Name[bg]=Изпращане SVN -Name[ca]=Entrega SVN -Name[cs]=SVN commit -Name[de]=Einspielen (SVN) -Name[el]=Καταχώρηση SVN -Name[es]=Entrega SVN -Name[et]=SVN sissekanne -Name[eu]=SVN entregatu -Name[fa]=تصدیق SVN -Name[fi]=SVN-toimitus (Commit) -Name[fr]=Validation SVN -Name[ga]=SVN Cur i bhFeidhm -Name[gl]=Entrega SVN -Name[he]=שליחת שינויים של ה־SVN -Name[hu]=SVN eltárolás -Name[is]=Setja inn í SVN -Name[it]=Deposito SVN -Name[ja]=SVN コミット -Name[ka]=SVN შესრულება -Name[kk]=SVN тапсыру -Name[lt]=SVN išsiųsti -Name[nb]=SVN meld inn -Name[nds]=Na SVN-Archiv inspelen -Name[ne]=एसभीएन कमिट -Name[nl]=SVN vastleggen -Name[nn]=SVN meld inn -Name[pa]=SVN ਕਮਿਟ -Name[pl]=Wyślij -Name[pt]=Envio do SVN -Name[pt_BR]=Envio para o SVN -Name[ru]=Опубликовать -Name[sk]=SVN potvrdenie -Name[sl]=Udejanjanje SVN -Name[sr]=SVN предаја -Name[sr@Latn]=SVN predaja -Name[sv]=SVN-arkivera -Name[tr]=SVN Teslim Etme -Name[uk]=SVN-передання -Name[zh_CN]=SVN 提交 -Name[zh_TW]=SVN 提交 -Icon=undo -Exec=kio_svn_helper -c %U - diff --git a/kioslave/svn/svnhelper/subversioncheckout.ui b/kioslave/svn/svnhelper/subversioncheckout.ui deleted file mode 100644 index 8f583932..00000000 --- a/kioslave/svn/svnhelper/subversioncheckout.ui +++ /dev/null @@ -1,204 +0,0 @@ - -SubversionCheckout - - - SubversionCheckout - - - - 0 - 0 - 498 - 133 - - - - - 1 - 1 - 0 - 0 - - - - Subversion Checkout - - - true - - - - unnamed - - - - layout8 - - - - unnamed - - - - Layout1 - - - - unnamed - - - 0 - - - 6 - - - - buttonHelp - - - &Help - - - F1 - - - true - - - - - Horizontal Spacing2 - - - Horizontal - - - Expanding - - - - 20 - 20 - - - - - - buttonOk - - - &OK - - - - - - true - - - true - - - - - buttonCancel - - - &Cancel - - - - - - true - - - - - - - url - - - - 7 - 5 - 0 - 0 - - - - - - layout4 - - - - unnamed - - - - textLabel1 - - - Revision (0 for HEAD): - - - - - spacer2 - - - Horizontal - - - Expanding - - - - 121 - 20 - - - - - - revision - - - - 3 - 0 - 0 - 0 - - - - - - - - - - - - buttonOk - clicked() - SubversionCheckout - accept() - - - buttonCancel - clicked() - SubversionCheckout - reject() - - - - - kurlrequester.h - klineedit.h - kpushbutton.h - - diff --git a/kioslave/svn/svnhelper/subversiondiff.ui b/kioslave/svn/svnhelper/subversiondiff.ui deleted file mode 100644 index a624e6bb..00000000 --- a/kioslave/svn/svnhelper/subversiondiff.ui +++ /dev/null @@ -1,100 +0,0 @@ - -Subversion_Diff - - - Subversion_Diff - - - - 0 - 0 - 511 - 282 - - - - Subversion Diff - - - true - - - - unnamed - - - - text - - - PlainText - - - NoWrap - - - AutoAll - - - - - Layout1 - - - - unnamed - - - 0 - - - 6 - - - - Horizontal Spacing2 - - - Horizontal - - - Expanding - - - - 20 - 20 - - - - - - buttonOk - - - &OK - - - - - - true - - - true - - - - - - - - - buttonOk - clicked() - Subversion_Diff - accept() - - - - diff --git a/kioslave/svn/svnhelper/subversionlog.ui b/kioslave/svn/svnhelper/subversionlog.ui deleted file mode 100644 index e6135a8e..00000000 --- a/kioslave/svn/svnhelper/subversionlog.ui +++ /dev/null @@ -1,100 +0,0 @@ - -Subversion_Log - - - Subversion_Log - - - - 0 - 0 - 511 - 282 - - - - Subversion Log - - - true - - - - unnamed - - - - text - - - PlainText - - - NoWrap - - - AutoAll - - - - - Layout1 - - - - unnamed - - - 0 - - - 6 - - - - Horizontal Spacing2 - - - Horizontal - - - Expanding - - - - 20 - 20 - - - - - - buttonOk - - - &OK - - - - - - true - - - true - - - - - - - - - buttonOk - clicked() - Subversion_Log - accept() - - - - diff --git a/kioslave/svn/svnhelper/subversionswitch.ui b/kioslave/svn/svnhelper/subversionswitch.ui deleted file mode 100644 index 1e48b29e..00000000 --- a/kioslave/svn/svnhelper/subversionswitch.ui +++ /dev/null @@ -1,204 +0,0 @@ - -SubversionSwitch - - - SubversionSwitch - - - - 0 - 0 - 498 - 133 - - - - - 1 - 1 - 0 - 0 - - - - Subversion Switch - - - true - - - - unnamed - - - - layout8 - - - - unnamed - - - - Layout1 - - - - unnamed - - - 0 - - - 6 - - - - buttonHelp - - - &Help - - - F1 - - - true - - - - - Horizontal Spacing2 - - - Horizontal - - - Expanding - - - - 20 - 20 - - - - - - buttonOk - - - &OK - - - - - - true - - - true - - - - - buttonCancel - - - &Cancel - - - - - - true - - - - - - - url - - - - 7 - 5 - 0 - 0 - - - - - - layout4 - - - - unnamed - - - - textLabel1 - - - Revision (0 for HEAD) : - - - - - spacer2 - - - Horizontal - - - Expanding - - - - 121 - 20 - - - - - - revision - - - - 3 - 0 - 0 - 0 - - - - - - - - - - - - buttonOk - clicked() - SubversionSwitch - accept() - - - buttonCancel - clicked() - SubversionSwitch - reject() - - - - - kurlrequester.h - klineedit.h - kpushbutton.h - - diff --git a/kompare/CMakeLists.txt b/kompare/CMakeLists.txt index 2f35d2a6..4977eb71 100644 --- a/kompare/CMakeLists.txt +++ b/kompare/CMakeLists.txt @@ -49,7 +49,7 @@ tde_add_executable( kompare AUTOMOC SOURCES main.cpp kompare_shell.cpp kompareurldialog.cpp LINK - dialogpages-static kompareinterface-shared kio-shared + dialogpages-static kompareinterface-shared tdeio-shared tdeparts-shared tdetexteditor-shared DESTINATION ${BIN_INSTALL_DIR} ) diff --git a/kompare/ChangeLog b/kompare/ChangeLog index d7f82d98..2781e875 100644 --- a/kompare/ChangeLog +++ b/kompare/ChangeLog @@ -197,7 +197,7 @@ Jun 29, 2003 : Otto Bruggeman different enum value, so i hope i did it the right way, session management may be broken now when the session was stored with 3.1.2 and restarted with 3.1.3. But that is unfortunately unfixable with a - kconf_update script. + tdeconf_update script. Jun 29, 2003 : Otto Bruggeman * Removed a lot of commented code since it is no longer used and will diff --git a/kompare/TODO b/kompare/TODO index e87a574f..3fa2d6d3 100644 --- a/kompare/TODO +++ b/kompare/TODO @@ -1,5 +1,5 @@ !!! Must do before a merge back into HEAD !!! -* Write a kconfupdate script to convert the kconfigfile +* Write a tdeconfupdate script to convert the tdeconfigfile * the diff options now have their own group * the view options now have their own group * the Recent Files group has been renamed to Recent Compare Files diff --git a/kompare/kompare_shell.cpp b/kompare/kompare_shell.cpp index 5e6522cf..a903f6d4 100644 --- a/kompare/kompare_shell.cpp +++ b/kompare/kompare_shell.cpp @@ -344,7 +344,7 @@ void KompareShell::readProperties(TDEConfig* config) else { // just in case something weird has happened, dont restore the diff then // Bruggie: or when some idiot like me changes the possible values for mode - // IOW, a nice candidate for a kconf_update thingy :) + // IOW, a nice candidate for a tdeconf_update thingy :) m_viewPart->readProperties( config ); } } diff --git a/kompare/komparepart/kompare_part.cpp b/kompare/komparepart/kompare_part.cpp index 52de1f5f..097eb5db 100644 --- a/kompare/komparepart/kompare_part.cpp +++ b/kompare/komparepart/kompare_part.cpp @@ -27,8 +27,8 @@ #include #include #include -#include -#include +#include +#include #include #include #include @@ -37,7 +37,7 @@ #include //#include -#include +#include #include "diffmodel.h" #include "komparelistview.h" diff --git a/kompare/komparepart/komparesaveoptionswidget.cpp b/kompare/komparepart/komparesaveoptionswidget.cpp index 723093ac..95a641cb 100644 --- a/kompare/komparepart/komparesaveoptionswidget.cpp +++ b/kompare/komparepart/komparesaveoptionswidget.cpp @@ -24,7 +24,7 @@ #include #include -#include +#include #include #include "diffsettings.h" diff --git a/kompare/libdialogpages/diffsettings.cpp b/kompare/libdialogpages/diffsettings.cpp index 26239d78..582fb106 100644 --- a/kompare/libdialogpages/diffsettings.cpp +++ b/kompare/libdialogpages/diffsettings.cpp @@ -15,7 +15,7 @@ ** ****************************************************************************/ -#include +#include #include "diffsettings.h" diff --git a/kompare/libdialogpages/filespage.cpp b/kompare/libdialogpages/filespage.cpp index 9fa58a35..f1981c9a 100644 --- a/kompare/libdialogpages/filespage.cpp +++ b/kompare/libdialogpages/filespage.cpp @@ -21,7 +21,7 @@ #include #include -#include +#include #include #include #include diff --git a/kompare/libdialogpages/filessettings.cpp b/kompare/libdialogpages/filessettings.cpp index 966d5fcd..3808edb0 100644 --- a/kompare/libdialogpages/filessettings.cpp +++ b/kompare/libdialogpages/filessettings.cpp @@ -17,7 +17,7 @@ ****************************************************************************/ #include -#include +#include #include "filessettings.h" diff --git a/kompare/libdialogpages/pagebase.h b/kompare/libdialogpages/pagebase.h index 1521db96..564e2f90 100644 --- a/kompare/libdialogpages/pagebase.h +++ b/kompare/libdialogpages/pagebase.h @@ -23,7 +23,7 @@ #include #include -#include +#include #include #include "kompare.h" diff --git a/kompare/libdialogpages/viewsettings.cpp b/kompare/libdialogpages/viewsettings.cpp index 8bbd8895..902f4091 100644 --- a/kompare/libdialogpages/viewsettings.cpp +++ b/kompare/libdialogpages/viewsettings.cpp @@ -19,7 +19,7 @@ #include -#include +#include #include #include "viewsettings.h" diff --git a/kompare/libdiff2/komparemodellist.cpp b/kompare/libdiff2/komparemodellist.cpp index 20d7e551..c6cf587c 100644 --- a/kompare/libdiff2/komparemodellist.cpp +++ b/kompare/libdiff2/komparemodellist.cpp @@ -29,7 +29,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/kompare/main.cpp b/kompare/main.cpp index 84a21fab..5f3cb223 100644 --- a/kompare/main.cpp +++ b/kompare/main.cpp @@ -21,7 +21,7 @@ #include #include #include -#include +#include #include #include diff --git a/kompare/tests/subversion/contextm.diff b/kompare/tests/subversion/contextm.diff index 6d63c9fe..481dc794 100644 --- a/kompare/tests/subversion/contextm.diff +++ b/kompare/tests/subversion/contextm.diff @@ -71,7 +71,7 @@ Index: README ! ln -s vimwidgetrc share/config/vimwidgetrc ! ! 8. Update the desktop mimetype database: -! kbuildsycoca +! tdebuildsycoca ! ! To test it, run VimPartShell. Or run konqueror from this dir and click on a ! text file. diff --git a/kompare/tests/subversion/normalm.diff b/kompare/tests/subversion/normalm.diff index 6ea65004..4fdb55bf 100644 --- a/kompare/tests/subversion/normalm.diff +++ b/kompare/tests/subversion/normalm.diff @@ -65,7 +65,7 @@ Index: README < ln -s vimwidgetrc share/config/vimwidgetrc < < 8. Update the desktop mimetype database: -< kbuildsycoca +< tdebuildsycoca < < To test it, run VimPartShell. Or run konqueror from this dir and click on a < text file. diff --git a/kompare/tests/subversion/unifiedm.diff b/kompare/tests/subversion/unifiedm.diff index 1c5c873c..875adc4d 100644 --- a/kompare/tests/subversion/unifiedm.diff +++ b/kompare/tests/subversion/unifiedm.diff @@ -68,7 +68,7 @@ Index: README -ln -s vimwidgetrc share/config/vimwidgetrc - -8. Update the desktop mimetype database: --kbuildsycoca +-tdebuildsycoca - -To test it, run VimPartShell. Or run konqueror from this dir and click on a -text file. diff --git a/kuiviewer/kuiviewer.cpp b/kuiviewer/kuiviewer.cpp index 99797f91..b3bb14af 100644 --- a/kuiviewer/kuiviewer.cpp +++ b/kuiviewer/kuiviewer.cpp @@ -39,7 +39,7 @@ #include #include #include -#include +#include KUIViewer::KUIViewer() : KParts::MainWindow( 0L, "KUIViewer" ) diff --git a/kuiviewer/kuiviewer_part.cpp b/kuiviewer/kuiviewer_part.cpp index dcd33c30..617823f9 100644 --- a/kuiviewer/kuiviewer_part.cpp +++ b/kuiviewer/kuiviewer_part.cpp @@ -24,12 +24,12 @@ #include #include -#include +#include #include #include #include #include -#include +#include #include #include #include diff --git a/kuiviewer/quicreator.h b/kuiviewer/quicreator.h index 45f13f07..686017d9 100644 --- a/kuiviewer/quicreator.h +++ b/kuiviewer/quicreator.h @@ -22,7 +22,7 @@ #ifndef UICREATOR_H #define UICREATOR_H -#include +#include class QUICreator : public ThumbCreator { diff --git a/poxml/CMakeLists.txt b/poxml/CMakeLists.txt index ed6c1aeb..54958c88 100644 --- a/poxml/CMakeLists.txt +++ b/poxml/CMakeLists.txt @@ -29,7 +29,7 @@ link_directories( tde_add_executable( split2po SOURCES split.cpp parser.cpp - LINK kio-shared + LINK tdeio-shared DESTINATION ${BIN_INSTALL_DIR} ) @@ -38,7 +38,7 @@ tde_add_executable( split2po tde_add_executable( xml2pot SOURCES xml2pot.cpp parser.cpp - LINK kio-shared + LINK tdeio-shared DESTINATION ${BIN_INSTALL_DIR} ) @@ -47,7 +47,7 @@ tde_add_executable( xml2pot tde_add_executable( po2xml SOURCES GettextLexer.cpp GettextParser.cpp po2xml.cpp parser.cpp - LINK antlr-static kio-shared + LINK antlr-static tdeio-shared DESTINATION ${BIN_INSTALL_DIR} ) @@ -56,7 +56,7 @@ tde_add_executable( po2xml tde_add_executable( swappo SOURCES GettextLexer.cpp GettextParser.cpp swappo.cpp parser.cpp - LINK antlr-static kio-shared + LINK antlr-static tdeio-shared DESTINATION ${BIN_INSTALL_DIR} ) @@ -65,6 +65,6 @@ tde_add_executable( swappo tde_add_executable( transxx SOURCES GettextLexer.cpp GettextParser.cpp transxx.cpp parser.cpp - LINK antlr-static kio-shared + LINK antlr-static tdeio-shared DESTINATION ${BIN_INSTALL_DIR} ) diff --git a/scripts/completions/zsh/_kcmshell b/scripts/completions/zsh/_kcmshell deleted file mode 100644 index 4bc964c7..00000000 --- a/scripts/completions/zsh/_kcmshell +++ /dev/null @@ -1,16 +0,0 @@ -#compdef kcmshell=kcmshell appletproxy=appletproxy - -local i resource tmp dir flags -if [ "$service" = "kcmshell" ]; then - resource="apps"; - dir="/Settings"; - flags=":t:r"; -else - resource="data"; - dir="/kicker/applets"; - flags=":t" -fi -for i in `tde-config --path $resource| sed -e 's/:/ /g'`; do - tmp=($i/$dir/**/*.desktop($flags)) - compadd -a tmp -done diff --git a/scripts/completions/zsh/_tdecmshell b/scripts/completions/zsh/_tdecmshell new file mode 100644 index 00000000..f9c62814 --- /dev/null +++ b/scripts/completions/zsh/_tdecmshell @@ -0,0 +1,16 @@ +#compdef tdecmshell=tdecmshell appletproxy=appletproxy + +local i resource tmp dir flags +if [ "$service" = "tdecmshell" ]; then + resource="apps"; + dir="/Settings"; + flags=":t:r"; +else + resource="data"; + dir="/kicker/applets"; + flags=":t" +fi +for i in `tde-config --path $resource| sed -e 's/:/ /g'`; do + tmp=($i/$dir/**/*.desktop($flags)) + compadd -a tmp +done diff --git a/scripts/fixheaders b/scripts/fixheaders index b5a5e902..a5debd94 100644 --- a/scripts/fixheaders +++ b/scripts/fixheaders @@ -28,21 +28,21 @@ $lastdir = '.'; '`QTextStream\' undeclared \(first use this function\)' => "qtextstream", '`QTextStream\' was not declared in this scope' => "qtextstream", 'incomplete type `QSocketNotifier\'' => "qsocketnotifier", - 'no matching function for call to `TDEConfig' => "kconfig", - 'variable `class TDEConfig \S*\' has initializer but incomplete type' => "kconfig", + 'no matching function for call to `TDEConfig' => "tdeconfig", + 'variable `class TDEConfig \S*\' has initializer but incomplete type' => "tdeconfig", 'implicit declaration of function `int kdDebug' => "kdebug", 'implicit declaration of function `int kdWarning' => "kdebug", '`QFile\' undeclared \(first use this function' => "qfile", 'variable `QFile \S*\' has initializer but incomplete type' => "qfile", - 'type `TDEConfigBase\' is not a base type for type `TDEConfig' => "kconfig", + 'type `TDEConfigBase\' is not a base type for type `TDEConfig' => "tdeconfig", 'invalid use of undefined type `class QAccel' => "qaccel", 'invalid use of undefined type `class TDEAboutData' => "kaboutdata", 'incomplete type `TDEAboutData\'' => "kaboutdata", 'incomplete type `QGrid\'' => "qgrid", 'invalid use of undefined type `class QGrid\'' => "qgrid", - 'aggregate `class TDEConfig \S*\' has incomplete type' => "kconfig", + 'aggregate `class TDEConfig \S*\' has incomplete type' => "tdeconfig", '`stderr\' undeclared \(first use this function' => "stdio", - 'invalid use of undefined type `class TDEConfig' => "kconfig", + 'invalid use of undefined type `class TDEConfig' => "tdeconfig", 'implicit declaration of function `int f?printf' => "stdio", 'no method `TDEGlobal::' => "kglobal", '`TDEGlobal\' undeclared \(first use this function\)' => "kglobal", diff --git a/scripts/kde-devel-vim.vim b/scripts/kde-devel-vim.vim index 141434ef..c57122b6 100644 --- a/scripts/kde-devel-vim.vim +++ b/scripts/kde-devel-vim.vim @@ -235,7 +235,7 @@ function! MapIdentHeader( ident ) elseif a:ident == 'K\(Double\|Int\)\(NumInput\|SpinBox\)' return '' elseif a:ident == 'TDEConfigGroup' - return '' + return '' elseif a:ident == 'KListViewItem' return '' elseif a:ident =~ 'kd\(Debug\|Warning\|Error\|Fatal\|Backtrace\)' diff --git a/scripts/kde-emacs/klaralv.el b/scripts/kde-emacs/klaralv.el index 5ebc5a4a..a0a1e848 100644 --- a/scripts/kde-emacs/klaralv.el +++ b/scripts/kde-emacs/klaralv.el @@ -121,7 +121,7 @@ ; KDE (kdebug.h kdDebug kdWarning kdError kdFatal kdBacktrace) - (kconfig.h TDEConfigGroup) + (tdeconfig.h TDEConfigGroup) (kiconloader.h BarIcon SmallIcon DesktopIcon KIcon) (kicondialog.h KIconCanvas KIconButton) (knuminput.h KDoubleNumInput KIntNumInput) diff --git a/scripts/tdesvn-build b/scripts/tdesvn-build index 05c1b655..657b0390 100755 --- a/scripts/tdesvn-build +++ b/scripts/tdesvn-build @@ -231,7 +231,7 @@ reporting bugs. You can find additional information at B home page, F, or using tdesvn-build -docbook documentation, using the help kioslave, F. +docbook documentation, using the help tdeioslave, F. =head1 AUTHOR diff --git a/tdecachegrind/tdecachegrind/CMakeLists.txt b/tdecachegrind/tdecachegrind/CMakeLists.txt index 1e5ff51c..3906452e 100644 --- a/tdecachegrind/tdecachegrind/CMakeLists.txt +++ b/tdecachegrind/tdecachegrind/CMakeLists.txt @@ -45,6 +45,6 @@ tde_add_executable( tdecachegrind AUTOMOC multiview.cpp callitem.cpp coverageitem.cpp sourceitem.cpp costlistitem.cpp partlistitem.cpp functionitem.cpp instritem.cpp stackitem.cpp callgraphview.cpp - LINK kio-shared + LINK tdeio-shared DESTINATION ${BIN_INSTALL_DIR} ) diff --git a/tdecachegrind/tdecachegrind/callgraphview.cpp b/tdecachegrind/tdecachegrind/callgraphview.cpp index 12da360b..77a612c5 100644 --- a/tdecachegrind/tdecachegrind/callgraphview.cpp +++ b/tdecachegrind/tdecachegrind/callgraphview.cpp @@ -37,11 +37,11 @@ #include #include -#include +#include #include #include #include -#include +#include #include "configuration.h" #include "callgraphview.h" diff --git a/tdecachegrind/tdecachegrind/callmapview.cpp b/tdecachegrind/tdecachegrind/callmapview.cpp index 0bc70c7c..7f5eff57 100644 --- a/tdecachegrind/tdecachegrind/callmapview.cpp +++ b/tdecachegrind/tdecachegrind/callmapview.cpp @@ -26,7 +26,7 @@ #include #include #include -#include +#include #include "callmapview.h" #include "configuration.h" diff --git a/tdecachegrind/tdecachegrind/configdlg.cpp b/tdecachegrind/tdecachegrind/configdlg.cpp index 0ce58df6..0523d976 100644 --- a/tdecachegrind/tdecachegrind/configdlg.cpp +++ b/tdecachegrind/tdecachegrind/configdlg.cpp @@ -28,7 +28,7 @@ #include #include -#include +#include #include #include diff --git a/tdecachegrind/tdecachegrind/configuration.cpp b/tdecachegrind/tdecachegrind/configuration.cpp index b18440d2..78736b66 100644 --- a/tdecachegrind/tdecachegrind/configuration.cpp +++ b/tdecachegrind/tdecachegrind/configuration.cpp @@ -20,7 +20,7 @@ * Configuration for KCachegrind */ -#include +#include #include #include @@ -130,12 +130,12 @@ Configuration* Configuration::config() } -void Configuration::saveOptions(TDEConfig* kconfig) +void Configuration::saveOptions(TDEConfig* tdeconfig) { Configuration* c = config(); // color options - TDEConfigGroup colorConfig(kconfig, TQCString("CostColors")); + TDEConfigGroup colorConfig(tdeconfig, TQCString("CostColors")); TQDictIterator it( c->_colors ); int count = 1; for( ; it.current(); ++it ) { @@ -152,7 +152,7 @@ void Configuration::saveOptions(TDEConfig* kconfig) colorConfig.writeEntry( "Count", count-1); // source options - TDEConfigGroup sourceConfig(kconfig, TQCString("Source")); + TDEConfigGroup sourceConfig(tdeconfig, TQCString("Source")); sourceConfig.writeEntry("Dirs", c->_generalSourceDirs, ':'); TQDictIterator it2( c->_objectSourceDirs ); count = 1; @@ -166,7 +166,7 @@ void Configuration::saveOptions(TDEConfig* kconfig) sourceConfig.writeEntry( "Count", count-1); // general options - TDEConfigGroup generalConfig(kconfig, TQCString("General")); + TDEConfigGroup generalConfig(tdeconfig, TQCString("General")); generalConfig.writeEntry("ShowPercentage", c->_showPercentage); generalConfig.writeEntry("ShowExpanded", c->_showExpanded); generalConfig.writeEntry("ShowCycles", c->_showCycles); @@ -179,7 +179,7 @@ void Configuration::saveOptions(TDEConfig* kconfig) generalConfig.writeEntry("Context", c->_context); generalConfig.writeEntry("NoCostInside", c->_noCostInside); - TDEConfigGroup ctConfig(kconfig, TQCString("CostTypes")); + TDEConfigGroup ctConfig(tdeconfig, TQCString("CostTypes")); int ctCount = TraceCostType::knownTypeCount(); ctConfig.writeEntry( "Count", ctCount); for (int i=0; icolor("CostType-Dr")->color = TQColor(40,40,180); c->color("CostType-Dw")->color = TQColor(80,80,120); - TDEConfigGroup colorConfig(kconfig, TQCString("CostColors")); + TDEConfigGroup colorConfig(tdeconfig, TQCString("CostColors")); count = colorConfig.readNumEntry("Count", 0); for (i=1;i<=count;i++) { TQString n = colorConfig.readEntry(TQString("Name%1").arg(i)); @@ -245,7 +245,7 @@ void Configuration::readOptions(TDEConfig* kconfig) } // source options - TDEConfigGroup sourceConfig(kconfig, TQCString("Source")); + TDEConfigGroup sourceConfig(tdeconfig, TQCString("Source")); TQStringList dirs; dirs = sourceConfig.readListEntry("Dirs", ':'); if (dirs.count()>0) c->_generalSourceDirs = dirs; @@ -263,7 +263,7 @@ void Configuration::readOptions(TDEConfig* kconfig) // general options - TDEConfigGroup generalConfig(kconfig, TQCString("General")); + TDEConfigGroup generalConfig(tdeconfig, TQCString("General")); c->_showPercentage = generalConfig.readBoolEntry("ShowPercentage", true); c->_showExpanded = generalConfig.readBoolEntry("ShowExpanded", false); c->_showCycles = generalConfig.readBoolEntry("ShowCycles", true); @@ -279,7 +279,7 @@ void Configuration::readOptions(TDEConfig* kconfig) // known cost types if (TraceCostType::knownTypeCount()==0) { - TDEConfigGroup ctConfig(kconfig, TQCString("CostTypes")); + TDEConfigGroup ctConfig(tdeconfig, TQCString("CostTypes")); int ctCount = ctConfig.readNumEntry("Count", 0); if (ctCount>0) { for (int i=1;i<=ctCount;i++) { diff --git a/tdecachegrind/tdecachegrind/instrview.cpp b/tdecachegrind/tdecachegrind/instrview.cpp index 5b819d6c..9413508f 100644 --- a/tdecachegrind/tdecachegrind/instrview.cpp +++ b/tdecachegrind/tdecachegrind/instrview.cpp @@ -25,7 +25,7 @@ #include #include #include -#include +#include #include #include "configuration.h" diff --git a/tdecachegrind/tdecachegrind/multiview.cpp b/tdecachegrind/tdecachegrind/multiview.cpp index 9bf384b0..628eefab 100644 --- a/tdecachegrind/tdecachegrind/multiview.cpp +++ b/tdecachegrind/tdecachegrind/multiview.cpp @@ -24,7 +24,7 @@ */ #include -#include +#include #include #include "multiview.h" diff --git a/tdecachegrind/tdecachegrind/partselection.cpp b/tdecachegrind/tdecachegrind/partselection.cpp index 4f30e1fe..1b6ff153 100644 --- a/tdecachegrind/tdecachegrind/partselection.cpp +++ b/tdecachegrind/tdecachegrind/partselection.cpp @@ -30,7 +30,7 @@ #include #include -#include +#include #include #include "partselection.h" diff --git a/tdecachegrind/tdecachegrind/tabview.cpp b/tdecachegrind/tdecachegrind/tabview.cpp index 2c38aa4b..5a360110 100644 --- a/tdecachegrind/tdecachegrind/tabview.cpp +++ b/tdecachegrind/tdecachegrind/tabview.cpp @@ -29,7 +29,7 @@ #include #include -#include +#include #include "tabview.h" #include "costtypeview.h" diff --git a/tdecachegrind/tdecachegrind/toplevel.cpp b/tdecachegrind/tdecachegrind/toplevel.cpp index bb9db209..9efd6400 100644 --- a/tdecachegrind/tdecachegrind/toplevel.cpp +++ b/tdecachegrind/tdecachegrind/toplevel.cpp @@ -42,8 +42,8 @@ #include #include #include -#include -#include +#include +#include #include #include #include @@ -105,9 +105,9 @@ TopLevel::TopLevel(const char *name) #endif _statusbar->addWidget(_statusLabel, 1); - TDEConfig* kconfig = TDEGlobal::config(); - Configuration::readOptions( kconfig ); - _openRecent->loadEntries( kconfig ); + TDEConfig* tdeconfig = TDEGlobal::config(); + Configuration::readOptions( tdeconfig ); + _openRecent->loadEntries( tdeconfig ); // set toggle after reading configuration _showPercentage = Configuration::showPercentage(); @@ -201,20 +201,20 @@ void TopLevel::setupPartSelection(PartSelection* ps) */ void TopLevel::saveCurrentState(TQString postfix) { - TDEConfig* kconfig = TDEGlobal::config(); + TDEConfig* tdeconfig = TDEGlobal::config(); TQCString pf = postfix.ascii(); - TDEConfigGroup psConfig(kconfig, TQCString("PartOverview")+pf); + TDEConfigGroup psConfig(tdeconfig, TQCString("PartOverview")+pf); _partSelection->saveVisualisationConfig(&psConfig); - TDEConfigGroup stateConfig(kconfig, TQCString("CurrentState")+pf); + TDEConfigGroup stateConfig(tdeconfig, TQCString("CurrentState")+pf); stateConfig.writeEntry("CostType", _costType ? _costType->name() : TQString("?")); stateConfig.writeEntry("CostType2", _costType2 ? _costType2->name() : TQString("?")); stateConfig.writeEntry("GroupType", TraceItem::typeName(_groupType)); - _multiView->saveViewConfig(kconfig, TQString("MainView"), postfix, true); + _multiView->saveViewConfig(tdeconfig, TQString("MainView"), postfix, true); } /** @@ -253,17 +253,17 @@ void TopLevel::saveTraceSettings() */ void TopLevel::restoreCurrentState(TQString postfix) { - TDEConfig* kconfig = TDEGlobal::config(); - TQStringList gList = kconfig->groupList(); + TDEConfig* tdeconfig = TDEGlobal::config(); + TQStringList gList = tdeconfig->groupList(); TQCString pf = postfix.ascii(); // dock properties (not position, this should be have done before) TQCString group = TQCString("PartOverview"); if (gList.contains(group+pf)) group += pf; - TDEConfigGroup psConfig(kconfig, group); + TDEConfigGroup psConfig(tdeconfig, group); _partSelection->readVisualisationConfig(&psConfig); - _multiView->readViewConfig(kconfig, TQString("MainView"), postfix, true); + _multiView->readViewConfig(tdeconfig, TQString("MainView"), postfix, true); _taSplit->setChecked(_multiView->childCount()>1); _taSplitDir->setEnabled(_multiView->childCount()>1); _taSplitDir->setChecked(_multiView->orientation() == Qt::Horizontal); diff --git a/tdecachegrind/tdecachegrind/traceitemview.cpp b/tdecachegrind/tdecachegrind/traceitemview.cpp index 8df7297f..82f4e11f 100644 --- a/tdecachegrind/tdecachegrind/traceitemview.cpp +++ b/tdecachegrind/tdecachegrind/traceitemview.cpp @@ -21,7 +21,7 @@ */ #include -#include +#include #include #include diff --git a/tdecachegrind/tdecachegrind/treemap.cpp b/tdecachegrind/tdecachegrind/treemap.cpp index fe5965b2..46e661f6 100644 --- a/tdecachegrind/tdecachegrind/treemap.cpp +++ b/tdecachegrind/tdecachegrind/treemap.cpp @@ -30,7 +30,7 @@ #include #include -#include +#include #include #include "treemap.h" diff --git a/tdefile-plugins/CMakeLists.txt b/tdefile-plugins/CMakeLists.txt new file mode 100644 index 00000000..6b769e5c --- /dev/null +++ b/tdefile-plugins/CMakeLists.txt @@ -0,0 +1,14 @@ +################################################# +# +# (C) 2012 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +add_subdirectory( diff ) +add_subdirectory( c++ ) +add_subdirectory( ts ) diff --git a/tdefile-plugins/Makefile.am b/tdefile-plugins/Makefile.am new file mode 100644 index 00000000..aa4d2f43 --- /dev/null +++ b/tdefile-plugins/Makefile.am @@ -0,0 +1 @@ +SUBDIRS=diff c++ ts diff --git a/tdefile-plugins/c++/CMakeLists.txt b/tdefile-plugins/c++/CMakeLists.txt new file mode 100644 index 00000000..60ce0c29 --- /dev/null +++ b/tdefile-plugins/c++/CMakeLists.txt @@ -0,0 +1,35 @@ +################################################# +# +# (C) 2012 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +include_directories( + ${CMAKE_CURRENT_BINARY_DIR} + ${TDE_INCLUDE_DIR} + ${TQT_INCLUDE_DIRS} +) + +link_directories( + ${TQT_LIBRARY_DIRS} +) + + +##### other data ################################ + +install( FILES tdefile_cpp.desktop tdefile_h.desktop + DESTINATION ${SERVICES_INSTALL_DIR} ) + + +##### tdefile_cpp (module) ######################## + +tde_add_kpart( tdefile_cpp AUTOMOC + SOURCES tdefile_cpp.cpp + LINK tdeio-shared + DESTINATION ${PLUGIN_INSTALL_DIR} +) diff --git a/tdefile-plugins/c++/Makefile.am b/tdefile-plugins/c++/Makefile.am new file mode 100644 index 00000000..f74cf59e --- /dev/null +++ b/tdefile-plugins/c++/Makefile.am @@ -0,0 +1,22 @@ +## Makefile.am for c++ file meta info plugin + +# set the include path for X, qt and KDE +INCLUDES = $(all_includes) + +# these are the headers for your project +noinst_HEADERS = tdefile_cpp.h + +kde_module_LTLIBRARIES = tdefile_cpp.la + +tdefile_cpp_la_SOURCES = tdefile_cpp.cpp +tdefile_cpp_la_LDFLAGS = $(all_libraries) -module $(KDE_PLUGIN) +tdefile_cpp_la_LIBADD = $(LIB_KIO) + +# let automoc handle all of the meta source files (moc) +METASOURCES = AUTO + +messages: + $(XGETTEXT) *.cpp -o $(podir)/tdefile_cpp.pot + +services_DATA = tdefile_cpp.desktop tdefile_h.desktop +servicesdir = $(kde_servicesdir) diff --git a/tdefile-plugins/c++/tdefile_cpp.cpp b/tdefile-plugins/c++/tdefile_cpp.cpp new file mode 100644 index 00000000..31f777df --- /dev/null +++ b/tdefile-plugins/c++/tdefile_cpp.cpp @@ -0,0 +1,130 @@ +/* This file is part of the KDE project + * Copyright (C) 2002 Rolf Magnus + * + * 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 version 2. + * + * 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; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + * + */ + +#include "tdefile_cpp.h" + +#include +#include +#include +#include + +#include +#include + +typedef KGenericFactory CppFactory; + +K_EXPORT_COMPONENT_FACTORY(tdefile_cpp, CppFactory("tdefile_cpp")) + +KCppPlugin::KCppPlugin(TQObject *parent, const char *name, + const TQStringList &args) + : KFilePlugin(parent, name, args) +{ + kdDebug(7034) << "c++ plugin\n"; + makeMimeTypeInfo("text/x-c++src"); + makeMimeTypeInfo("text/x-chdr"); +} + +void KCppPlugin::makeMimeTypeInfo(const TQString& mimetype) +{ + KFileMimeTypeInfo* info = addMimeTypeInfo( mimetype ); + + KFileMimeTypeInfo::GroupInfo* group = + addGroupInfo(info, "General", i18n("General")); + + KFileMimeTypeInfo::ItemInfo* item; + item = addItemInfo(group, "Lines", i18n("Lines"), TQVariant::Int); + setAttributes(item, KFileMimeTypeInfo::Averaged); + item = addItemInfo(group, "Code", i18n("Code"), TQVariant::Int); + setAttributes(item, KFileMimeTypeInfo::Averaged); + item = addItemInfo(group, "Comment", i18n("Comment"), TQVariant::Int); + setAttributes(item, KFileMimeTypeInfo::Averaged); + item = addItemInfo(group, "Blank", i18n("Blank"), TQVariant::Int); + setAttributes(item, KFileMimeTypeInfo::Averaged); + item = addItemInfo(group, "Strings", i18n("Strings"), TQVariant::Int); + setAttributes(item, KFileMimeTypeInfo::Averaged); + item = addItemInfo(group, "i18n Strings", i18n("i18n Strings"), TQVariant::Int); + setAttributes(item, KFileMimeTypeInfo::Averaged); + item = addItemInfo(group, "Included Files", i18n("Included Files"), TQVariant::Int); + setAttributes(item, KFileMimeTypeInfo::Averaged); +} + +bool KCppPlugin::readInfo( KFileMetaInfo& info, uint ) +{ + TQFile f(info.path()); + if (!f.open(IO_ReadOnly)) + return false; + + int codeLines = 0; + int commentLines = 0; + int totalLines = 0; + int emptyLines = 0; + int Strings = 0; + int Stringsi18n = 0; + int Includes = 0; + + bool inComment = false; + + TQString line; + + TQTextStream stream( &f ); + while (!stream.eof()) + { + line = stream.readLine(); + totalLines++; + + if (line.stripWhiteSpace().isEmpty()) + { + emptyLines++; + continue; + } + + if (line.contains("/*")) inComment = true; + + if (!inComment) + { + codeLines++; + if (line.contains(TQRegExp("^\\s*#\\s*include"))) Includes++; + + int pos = line.find("//"); + if (pos>=0) commentLines++; + // truncate the comment - we don't want to count strings in it + line.truncate(pos); + + Strings+=line.contains(TQRegExp("\".*\"")); + Stringsi18n+=line.contains(TQRegExp("(?:i18n|I18N_NOOP)\\s*\\(")); + } + else + commentLines++; + + if (line.contains("*/")) inComment = false; + } + + KFileMetaInfoGroup group = appendGroup(info, "General"); + + appendItem(group, "Lines", int(totalLines)); + appendItem(group, "Code", int(codeLines)); + appendItem(group, "Comment", int(commentLines)); + appendItem(group, "Blank", int(emptyLines)); + appendItem(group, "Strings", int(Strings)); + appendItem(group, "i18n Strings", int(Stringsi18n)); + appendItem(group, "Included Files", int(Includes)); + return true; +} + +#include "tdefile_cpp.moc" diff --git a/tdefile-plugins/c++/tdefile_cpp.desktop b/tdefile-plugins/c++/tdefile_cpp.desktop new file mode 100644 index 00000000..7bbed693 --- /dev/null +++ b/tdefile-plugins/c++/tdefile_cpp.desktop @@ -0,0 +1,60 @@ +[Desktop Entry] +Type=Service +Name=C++ Info +Name[af]=C++ Inligting +Name[bg]=Изходен код на C++ +Name[br]=Titouroù C++ +Name[ca]=Informació C++ +Name[cs]=C++ info +Name[cy]=Gwybodaeth C++ +Name[da]=C++-info +Name[de]=C++-Info +Name[el]=Πληροφορίες C++ +Name[eo]=C++-informo +Name[es]=Info de C++ +Name[et]=C++ info +Name[eu]=C++ informazioa +Name[fa]=اطلاعات C++ +Name[fi]=C++-tiedot +Name[fo]=C++-upplýsingar +Name[fr]=Informations C++ +Name[ga]=Eolas C++ +Name[gl]=Información de C++ +Name[he]=מידע ++C +Name[hi]=C++ जानकारी +Name[hr]=C++ informacije +Name[hu]=C++-jellemzők +Name[is]=C++ upplýsingar +Name[it]=Informazioni C++ +Name[ja]=C++ 情報 +Name[ka]=C++ ინფორმაცია +Name[kk]=C++ мәліметі +Name[lt]=C++ Informacija +Name[ms]=Info C++ +Name[nds]=C++-Datei-Info +Name[nl]=C++-info +Name[nn]=C++-info +Name[pa]=C++ ਜਾਣਕਾਰੀ +Name[pl]=Informacja z C++ +Name[pt]=Informação de C++ +Name[pt_BR]=Informações C++ +Name[ro]=Informaţii C++ +Name[ru]=Информация C++ +Name[sk]=Informácie o C++ +Name[sl]=Informacije o C++ +Name[sr]=C++ информације +Name[sr@Latn]=C++ informacije +Name[sv]=C++-information +Name[ta]= =C/C++ தகவல் +Name[tg]=Ахбороти C++ +Name[th]=ข้อมูล C++ +Name[tr]=C++ Bilgisi +Name[uk]=Інформація про C++ +Name[xh]=C++ Ulwazi +Name[zh_CN]=C++ 信息 +Name[zh_TW]=C++ 資訊 +ServiceTypes=KFilePlugin +X-TDE-Library=tdefile_cpp +MimeType=text/x-c++src;text/x-chdr +PreferredGroups=General +PreferredItems=Lines,Code,Comment,Blank,Strings,i18n Strings,Included Files diff --git a/tdefile-plugins/c++/tdefile_cpp.h b/tdefile-plugins/c++/tdefile_cpp.h new file mode 100644 index 00000000..f289b09b --- /dev/null +++ b/tdefile-plugins/c++/tdefile_cpp.h @@ -0,0 +1,41 @@ +/* This file is part of the KDE project + * Copyright (C) 2002 Rolf Magnus + * + * 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 version 2. + * + * 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; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + * + */ + +#ifndef __KFILE_CPP_H__ +#define __KFILE_CPP_H__ + +#include +#include + +class TQStringList; + +class KCppPlugin: public KFilePlugin +{ + Q_OBJECT + + +public: + KCppPlugin(TQObject *parent, const char *name, const TQStringList& args); + virtual bool readInfo(KFileMetaInfo& info, uint what); + +private: + void makeMimeTypeInfo(const TQString& mimetype); +}; + +#endif diff --git a/tdefile-plugins/c++/tdefile_h.desktop b/tdefile-plugins/c++/tdefile_h.desktop new file mode 100644 index 00000000..539ff599 --- /dev/null +++ b/tdefile-plugins/c++/tdefile_h.desktop @@ -0,0 +1,58 @@ +[Desktop Entry] +Type=Service +Name=C/C++ Header Info +Name[af]=C/C++ Opskrif Inligting +Name[bg]=Информация за заглавната част на C/C++ +Name[br]=Titouriñ diwar-benn ar reollin C/C++ +Name[ca]=Informació de capçaleres C/C++ +Name[cs]=Informace o C/C++ hlavičce +Name[cy]=Gwybodaeth Pennawd C/C++ +Name[da]=C/C++-headerinfo +Name[de]=C++-Header-Info +Name[el]=Πληροφορίες κεφαλίδων C/C++ +Name[es]=Info de cabecera C/C++ +Name[et]=C/C++ päise info +Name[eu]=C/C++ goiburuen informazioa +Name[fa]=اطلاعات سرآیند C/C++ +Name[fi]=C/C++-otsikkotiedot +Name[fr]=Informations d'en-tête C/C++ +Name[gl]=Información da cabeceira de C/C++ +Name[he]=מידע כותרות ++C/C +Name[hi]=C/C++ हेडर जानकारी +Name[hr]=Informacije o C++ zaglavljima +Name[hu]=C/C++ header fájl jellemzői +Name[is]=C/C++ haus upplýsingar +Name[it]=Informazioni intestazioni C/C++ +Name[ja]=C/C++ ヘッダ情報 +Name[ka]=C/C++ ზედა კოლონტიტულის ინფორმაცია +Name[kk]=C/C++ айдар мәліметі +Name[lt]=C/C++ antraščių informacija +Name[ms]=Info Pengepala C/C++ +Name[nb]=C++-deklarasjonsfilinfo +Name[nds]=C/C++-Koppdatei-Info +Name[ne]=C/C++ Header info +Name[nl]=C/C++ Header-info +Name[nn]=C/C++-deklarasjonsinfo +Name[pa]=C/C++ Header ਜਾਣਕਾਰੀ +Name[pl]=Informacja z nagłówka C/C++ +Name[pt]=Informações do Cabeçalho de C/C++ +Name[pt_BR]=Informações sobre Cabeçalhos C/C++ +Name[ro]=Informaţii antet C/C++ +Name[ru]=Информация о файлах заголовков C/C++ +Name[sk]=Informácie o hlavičkách C/C++ +Name[sl]=Informacije o glavi C/C++ +Name[sr]=Информације о C/C++ заглављу +Name[sr@Latn]=Informacije o C/C++ zaglavlju +Name[sv]=Information om C/C++-deklarationsfiler +Name[ta]= =C/C++ தலைப்பு தகவல் +Name[tg]=Ахборот дар бораи сарлавҳаи файлҳои C/C++ +Name[th]=ข้อมูลแฟ้มส่วนหัว C/C++ +Name[tr]=C/C++ Başlık Bilgisi +Name[uk]=Інформація по заголовкам C++ +Name[xh]=C/C++ Ulwazi lokubhaliweyo okuphezulu +Name[zh_CN]=C/C++ 头文件信息 +Name[zh_TW]=C/C++ 檔頭資訊 +ServiceTypes=KFilePlugin +X-TDE-Library=tdefile_cpp +MimeType=text/x-chdr +PreferredItems=Lines,Code,Comment,Blank,Strings,i18n Strings,Included Files diff --git a/tdefile-plugins/diff/CMakeLists.txt b/tdefile-plugins/diff/CMakeLists.txt new file mode 100644 index 00000000..08493d8f --- /dev/null +++ b/tdefile-plugins/diff/CMakeLists.txt @@ -0,0 +1,34 @@ +################################################# +# +# (C) 2012 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +include_directories( + ${CMAKE_CURRENT_BINARY_DIR} + ${TDE_INCLUDE_DIR} + ${TQT_INCLUDE_DIRS} +) + +link_directories( + ${TQT_LIBRARY_DIRS} +) + + +##### other data ################################ + +install( FILES tdefile_diff.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) + + +##### tdefile_diff (module) ####################### + +tde_add_kpart( tdefile_diff AUTOMOC + SOURCES tdefile_diff.cpp + LINK tdeio-shared + DESTINATION ${PLUGIN_INSTALL_DIR} +) diff --git a/tdefile-plugins/diff/Makefile.am b/tdefile-plugins/diff/Makefile.am new file mode 100644 index 00000000..5e9b087f --- /dev/null +++ b/tdefile-plugins/diff/Makefile.am @@ -0,0 +1,22 @@ +## Makefile.am for diff file meta info plugin + +# set the include path for X, qt and KDE +INCLUDES = $(all_includes) + +# these are the headers for your project +noinst_HEADERS = tdefile_diff.h + +kde_module_LTLIBRARIES = tdefile_diff.la + +tdefile_diff_la_SOURCES = tdefile_diff.cpp +tdefile_diff_la_LDFLAGS = $(all_libraries) -module $(KDE_PLUGIN) +tdefile_diff_la_LIBADD = $(LIB_KSYCOCA) + +# let automoc handle all of the meta source files (moc) +METASOURCES = AUTO + +messages: + $(XGETTEXT) *.cpp *.h -o $(podir)/tdefile_diff.pot + +services_DATA = tdefile_diff.desktop +servicesdir = $(kde_servicesdir) diff --git a/tdefile-plugins/diff/tdefile_diff.cpp b/tdefile-plugins/diff/tdefile_diff.cpp new file mode 100644 index 00000000..2edee0a7 --- /dev/null +++ b/tdefile-plugins/diff/tdefile_diff.cpp @@ -0,0 +1,610 @@ +/************************************************************************** +** tdefile_diff.cpp +** ------------------- +** begin : Sun Jan 20 23:25:44 2002 +** copyright : (C) 2002-2003 by Otto Bruggeman +** email : otto.bruggeman@home.nl +** +***************************************************************************/ +/*************************************************************************** +** +** 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. +** +***************************************************************************/ + +/* +** Patch by Volker Augustin for empty diff files. Februari 8, 2002 +** +** Patched to work with CVS from after February 26, 2002 Otto +** +** Patched to work with CVS from after March 24, 2002 Otto +** +** Added support for Perforce diffs, April 26, 2003 Otto Bruggeman +** +** Added support for Subversion diffs, September 11, 2003 Otto Bruggeman +*/ + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "tdefile_diff.h" + +K_EXPORT_COMPONENT_FACTORY(tdefile_diff, KGenericFactory("tdefile_diff")) + +KDiffPlugin::KDiffPlugin(TQObject *parent, const char *name, + const TQStringList &preferredItems) + : KFilePlugin(parent, name, preferredItems) +{ + kdDebug(7034) << "diff plugin" << endl; + + KFileMimeTypeInfo* info = addMimeTypeInfo( "text/x-diff" ); + + KFileMimeTypeInfo::GroupInfo* group; + group = addGroupInfo( info, "General", i18n( "General" ) ); + addItemInfo( group, "Files", i18n( "Files" ), TQVariant::UInt ); + addItemInfo( group, "First", i18n( "First File" ), TQVariant::String ); + addItemInfo( group, "Format", i18n( "Format" ), TQVariant::String ); + addItemInfo( group, "DiffProgram", i18n( "Diff Program" ), TQVariant::String ); + addItemInfo( group, "Hunks", i18n( "Hunks" ), TQVariant::UInt ); + group = addGroupInfo( info, "Statistics", i18n( "Statistics" ) ); + addItemInfo( group, "Insert", i18n( "Insertions" ), TQVariant::UInt ); + addItemInfo( group, "Modify", i18n( "Changes" ), TQVariant::UInt ); + addItemInfo( group, "Delete", i18n( "Deletions" ), TQVariant::UInt ); +} + +bool KDiffPlugin::readInfo( KFileMetaInfo& info, uint what ) +{ + // This is a hack to avoid using the what stuff, since it is not yet implemented + what = 0; + + // Used to determine if false or true should be returned + bool dataSet = false; + + KFileMetaInfoGroup group; + + TQFile file( info.path() ); + TQStringList lines; + + if( file.open( IO_ReadOnly ) ) + { + TQTextStream stream( &file ); + while (!stream.eof()) + { + lines.append( stream.readLine() ); + } + file.close(); + } + + TQString format; + TQString program; + + enum KDiffPlugin::Format diffFormat; + enum KDiffPlugin::DiffProgram diffProgram; + + diffFormat = determineDiffFormat ( lines ); + + format = determineI18nedFormat( diffFormat ); + + diffProgram = determineDiffProgram( lines ); + + program = determineI18nedProgram( diffProgram ); + + int numberOfAdditions = 0; + int numberOfDeletions = 0; + int numberOfChanges = 0; + int numberOfHunks = 0; + int numberOfFiles = 0; + + + if ( what != KFileMetaInfo::Fastest ) + { + determineDiffInfo( lines, diffFormat, &numberOfFiles, &numberOfHunks, &numberOfAdditions, &numberOfChanges, &numberOfDeletions ); + } + + TQString filename; + TQRegExp firstFile( "^Index: (.*)" ); + TQStringList::ConstIterator it = lines.begin(); + + it = lines.begin(); + while ( it != lines.end() ) + { + if ( firstFile.exactMatch( (*it) ) ) + { + filename = firstFile.cap(1); + // only interested in the first filename + break; + } + ++it; + } + + kdDebug(7034) << "Diff Format : " << format << endl; // i18n-ed but that is not a problem unless i get i18n-ed debug output ah well, we'll figure something out when then happens + + if (what != KFileMetaInfo::Fastest ) + { + // These dont get calculated in fastest mode... + kdDebug(7034) << "Number of additions : " << numberOfAdditions << endl; + kdDebug(7034) << "Number of deletions : " << numberOfDeletions << endl; + kdDebug(7034) << "Number of changes : " << numberOfChanges << endl; + kdDebug(7034) << "Number of hunks : " << numberOfHunks << endl; + } + + group = appendGroup( info, "General" ); + + if ( numberOfFiles != 0 && what != KFileMetaInfo::Fastest ) + { + appendItem( group, "Files", numberOfFiles ); + dataSet = true; + } + + if ( !filename.isEmpty() ) + { + appendItem( group, "First", filename ); + dataSet = true; + } + + if ( !format.isEmpty() ) + { + appendItem( group, "Format", format ); + dataSet = true; + } + + if ( !program.isEmpty() ) + { + appendItem( group, "DiffProgram", program ); + dataSet = true; + } + + if ( numberOfHunks != 0 && what != KFileMetaInfo::Fastest ) + { + appendItem( group, "Hunks", numberOfHunks ); + dataSet = true; + } + + group = appendGroup( info, "Statistics" ); + + if ( numberOfAdditions != 0 && what != KFileMetaInfo::Fastest ) + { + appendItem( group, "Insert", numberOfAdditions ); + dataSet = true; + } + + if ( numberOfChanges != 0 && what != KFileMetaInfo::Fastest ) + { + appendItem( group, "Modify", numberOfChanges ); + dataSet = true; + } + + if ( numberOfDeletions != 0 && what != KFileMetaInfo::Fastest ) + { + appendItem( group, "Delete", numberOfDeletions ); + dataSet = true; + } + + return dataSet; +} + +enum KDiffPlugin::Format KDiffPlugin::determineDiffFormat( const TQStringList lines ) const +{ + TQString line; + + if ( lines.count() == 0 ) + { + return KDiffPlugin::Empty; + } + + TQStringList::ConstIterator it = lines.begin(); + + while ( it != lines.end() ) + { + line = (*it); + if ( line.find( TQRegExp( "^[0-9]+[0-9,]*[acd][0-9]+[0-9,]*$" ), 0 ) == 0 ) + { + return KDiffPlugin::Normal; + } + else if ( line.find( TQRegExp( "^--- " ), 0 ) == 0 ) + { + // unified has first a '^--- ' line, then a '^+++ ' line + return KDiffPlugin::Unified; + } + else if ( line.find( TQRegExp( "^\\*\\*\\* [^\\t]+\\t" ), 0 ) == 0 ) + { + // context has first a '^*** ' line, then a '^--- ' line + return KDiffPlugin::Context; + } + else if ( line.find( TQRegExp( "^[acd][0-9]+ [0-9]+" ), 0 ) == 0 ) + { + return KDiffPlugin::RCS; + } + else if ( line.find( TQRegExp( "^[0-9]+[0-9,]*[acd]" ), 0 ) == 0 ) + { + return KDiffPlugin::Ed; + } + ++it; + } + return KDiffPlugin::Unknown; +} + +enum KDiffPlugin::DiffProgram KDiffPlugin::determineDiffProgram( const TQStringList lines ) const +{ + if ( lines.count() == 0 ) + { + return KDiffPlugin::Undeterminable; + } + + TQStringList::ConstIterator it = lines.begin(); + // very crude, might need some more refining + TQRegExp diffRE( "^diff .*" ); + TQRegExp p4sRE("^==== "); + + bool indexFound = false; + + while ( it != lines.end() ) + { + if ( (*it).startsWith( "Index:" ) ) + indexFound = true; + else if ( (*it).startsWith( "retrieving revision") ) + return KDiffPlugin::CVSDiff; + else if ( diffRE.exactMatch( *it ) ) + return KDiffPlugin::Diff; + else if ( p4sRE.exactMatch( *it ) ) + return KDiffPlugin::Perforce; + + ++it; + } + + if ( indexFound ) // but no "retrieving revision" found like only cvs diff adds. + return KDiffPlugin::SubVersion; + + return KDiffPlugin::Undeterminable; +} + +const TQString KDiffPlugin::determineI18nedFormat( enum KDiffPlugin::Format diffFormat ) const +{ + TQString format; + switch( diffFormat ) + { + case KDiffPlugin::Context: + format = i18n( "Context" ); + break; + case KDiffPlugin::Ed: + format = i18n( "Ed" ); + break; + case KDiffPlugin::Normal: + format = i18n( "Normal" ); + break; + case KDiffPlugin::RCS: + format = i18n( "RCS" ); + break; + case KDiffPlugin::Unified: + format = i18n( "Unified" ); + break; + case KDiffPlugin::Empty: + format = i18n( "Not Available (file empty)" ); + break; + case KDiffPlugin::Unknown: + format = i18n( "Unknown" ); + break; + case KDiffPlugin::SideBySide: + format = i18n( "Side by Side" ); + } + return format; +} + +const TQString KDiffPlugin::determineI18nedProgram( enum KDiffPlugin::DiffProgram diffProgram ) const +{ + TQString program; + + switch( diffProgram ) + { + case KDiffPlugin::CVSDiff: + program = i18n( "CVSDiff" ); + break; + case KDiffPlugin::Diff: + program = i18n( "Diff" ); + break; + case KDiffPlugin::Diff3: + program = i18n( "Diff3" ); + break; + case KDiffPlugin::Perforce: + program = i18n( "Perforce" ); + break; + case KDiffPlugin::SubVersion: + program = i18n( "SubVersion" ); + break; + case KDiffPlugin::Undeterminable: + program = i18n( "Unknown" ); + break; + } + return program; +} + +void KDiffPlugin::determineDiffInfo( const TQStringList lines, + enum KDiffPlugin::Format diffFormat, + int* numberOfFiles, + int* numberOfHunks, + int* numberOfAdditions, + int* numberOfChanges, + int* numberOfDeletions ) +{ + TQString line; + + TQRegExp edAdd( "([0-9]+)(|,([0-9]+))a" ); + TQRegExp edDel( "([0-9]+)(|,([0-9]+))d" ); + TQRegExp edMod( "([0-9]+)(|,([0-9]+))c" ); + + TQRegExp normalAdd( "[0-9]+a([0-9]+)(|,([0-9]+))" ); + TQRegExp normalDel( "([0-9]+)(|,([0-9]+))d(|[0-9]+)" ); + TQRegExp normalMod( "([0-9]+)(|,([0-9]+))c([0-9]+)(|,([0-9]+))" ); + + TQRegExp rcsAdd( "a[0-9]+ ([0-9]+)" ); + TQRegExp rcsDel( "d[0-9]+ ([0-9]+)" ); + + TQStringList::ConstIterator it = lines.begin(); + + switch( diffFormat ) + { + case KDiffPlugin::Context: + while ( it != lines.end() ) + { + if ( (*it).startsWith("***************") ) + { + (*numberOfHunks)++; +// kdDebug(7034) << "Context Hunk : " << (*it) << endl; + } + else if ( (*it).startsWith("***") ) + { + (*numberOfFiles)++; +// kdDebug(7034) << "Context File : " << (*it) << endl; + } + else if ( (*it).startsWith("---") ) {} // ignore + else if ( (*it).startsWith("+") ) + { + (*numberOfAdditions)++; +// kdDebug(7034) << "Context Insertion : " << (*it) << endl; + } + else if ( (*it).startsWith("-") ) + { + (*numberOfDeletions)++; +// kdDebug(7034) << "Context Deletion : " << (*it) << endl; + } + else if ( (*it).startsWith("!") ) + { + (*numberOfChanges)++; +// kdDebug(7034) << "Context Modified : " << (*it) << endl; + } + else if ( (*it).startsWith(" ") ) + { +// kdDebug(7034) << "Context Context : " << (*it) << endl; + } + else + { +// kdDebug(7034) << "Context Unknown : " << (*it) << endl; + } + + ++it; + } + (*numberOfChanges) /= 2; // changes are in both parts of the hunks + (*numberOfFiles) -= (*numberOfHunks); // it counts old parts of a hunk as files :( + break; + case KDiffPlugin::Ed: + while ( it != lines.end() ) + { + if ( (*it).startsWith( "diff" ) ) + { + (*numberOfFiles)++; +// kdDebug(7034) << "Ed File : " << (*it) << endl; + } + else if ( edAdd.exactMatch( (*it) ) ) + { +// kdDebug(7034) << "Ed Insertion : " << (*it) << endl; + (*numberOfHunks)++; + ++it; + while( it != lines.end() && !(*it).startsWith(".") ) + { + (*numberOfAdditions)++; +// kdDebug(7034) << "Ed Insertion : " << (*it) << endl; + ++it; + } + } + else if ( edDel.exactMatch( (*it) ) ) + { +// kdDebug(7034) << "Ed Deletion : " << (*it) << endl; + (*numberOfHunks)++; + (*numberOfDeletions) += (edDel.cap(3).isEmpty() ? 1 : edDel.cap(3).toInt() - edDel.cap(1).toInt() + 1); +// kdDebug(7034) << "Ed noOfLines : " << (edDel.cap(3).isEmpty() ? 1 : edDel.cap(3).toInt() - edDel.cap(1).toInt() + 1) << endl; + } + else if ( edMod.exactMatch( (*it) ) ) + { +// kdDebug(7034) << "Ed Modification : " << (*it) << endl; + if ( edMod.cap(3).isEmpty() ) + (*numberOfDeletions)++; + else + (*numberOfDeletions) += edMod.cap(3).toInt() - edMod.cap(1).toInt() + 1; + (*numberOfHunks)++; + ++it; + while( it != lines.end() && !(*it).startsWith(".") ) + { + (*numberOfAdditions)++; +// kdDebug(7034) << "Ed Modification : " << (*it) << endl; + ++it; + } + } + else + { +// kdDebug(7034) << "Ed Unknown : " << (*it) << endl; + } + + ++it; + } + break; + case KDiffPlugin::Normal: + while ( it != lines.end() ) + { + if ( (*it).startsWith( "diff" ) ) + { + (*numberOfFiles)++; +// kdDebug(7034) << "Normal File : " << (*it) << endl; + } + else if ( normalAdd.exactMatch( *it ) ) + { +// kdDebug(7034) << "Normal Insertion : " << (*it) << endl; + (*numberOfHunks)++; + if ( normalAdd.cap(3).isEmpty() ) + { + (*numberOfAdditions)++; +// kdDebug(7034) << "Normal Addition : " << 1 << endl; + } + else + { + (*numberOfAdditions) += normalAdd.cap(3).toInt() - normalAdd.cap(1).toInt() + 1; +// kdDebug(7034) << "Normal Addition : " << normalAdd.cap(3).toInt() - normalAdd.cap(1).toInt() + 1 << endl; + } + } + else if ( normalDel.exactMatch( *it ) ) + { +// kdDebug(7034) << "Normal Deletion : " << (*it) << endl; + (*numberOfHunks)++; + if ( normalDel.cap(3).isEmpty() ) + { + (*numberOfDeletions)++; +// kdDebug(7034) << "Normal Deletion : " << 1 << endl; + } + else + { + (*numberOfDeletions) += normalDel.cap(3).toInt() - normalDel.cap(1).toInt() + 1; +// kdDebug(7034) << "Normal Deletion : " << normalDel.cap(3).toInt() - normalDel.cap(1).toInt() + 1 << endl; + } + } + else if ( normalMod.exactMatch( *it ) ) + { +// kdDebug(7034) << "Normal Modification : " << (*it) << endl; + (*numberOfHunks)++; + if ( normalMod.cap(3).isEmpty() ) + { + (*numberOfDeletions)++; +// kdDebug(7034) << "Normal Deletion : " << 1 << endl; + } + else + { + (*numberOfDeletions) += normalMod.cap(3).toInt() - normalMod.cap(1).toInt() + 1; +// kdDebug(7034) << "Normal Deletion : " << normalMod.cap(3).toInt() - normalMod.cap(1).toInt() + 1 << endl; + } + if ( normalMod.cap(6).isEmpty() ) + { + (*numberOfAdditions)++; +// kdDebug(7034) << "Normal Addition : " << 1 << endl; + } + else + { + (*numberOfAdditions) += normalMod.cap(6).toInt() - normalMod.cap(4).toInt() + 1; +// kdDebug(7034) << "Normal Addition : " << normalMod.cap(6).toInt() - normalMod.cap(4).toInt() + 1 << endl; + } + } + else if ( (*it).startsWith(">") ) + { +// numberOfAdditions++; +// kdDebug(7034) << "Normal Insertion : " << (*it) << endl; + } + else if ( (*it).startsWith("<") ) + { +// numberOfDeletions++; +// kdDebug(7034) << "Normal Deletion : " << (*it) << endl; + } + else + { +// kdDebug(7034) << "Normal Unknown : " << (*it) << endl; + } + + ++it; + } + break; + case KDiffPlugin::RCS: + while ( it != lines.end() ) + { + if ( (*it).startsWith( "diff" ) ) // works for cvs diff, have to test for normal diff + { +// kdDebug(7034) << "RCS File : " << (*it) << endl; + (*numberOfFiles)++; + } + else if ( rcsAdd.exactMatch( *it ) ) + { +// kdDebug(7034) << "RCS Insertion : " << (*it) << endl; + (*numberOfHunks)++; + (*numberOfAdditions) += rcsAdd.cap(1).toInt(); +// kdDebug(7034) << "RCS noOfLines : " << rcsAdd.cap(1).toInt() << endl; + } + else if ( rcsDel.exactMatch( *it ) ) + { +// kdDebug(7034) << "RCS Deletion : " << (*it) << endl; + (*numberOfHunks)++; + (*numberOfDeletions) += rcsDel.cap(1).toInt(); +// kdDebug(7034) << "RCS noOfLines : " << rcsDel.cap(1).toInt() << endl; + } + else + { +// kdDebug(7034) << "RCS Unknown : " << (*it) << endl; + } + + ++it; + } + break; + case KDiffPlugin::Unified: + while ( it != lines.end() ) + { + if ( (*it).startsWith("@@ ") ) + { + (*numberOfHunks)++; +// kdDebug(7034) << "Unified Hunk : " << (*it) << endl; + } + else if ( (*it).startsWith("---") ) + { + (*numberOfFiles)++; +// kdDebug(7034) << "Unified File : " << (*it) << endl; + } + else if ( (*it).startsWith("+++") ) {} // ignore (dont count as insertion) + else if ( (*it).startsWith("+") ) + { + (*numberOfAdditions)++; +// kdDebug(7034) << "Unified Insertion : " << (*it) << endl; + } + else if ( (*it).startsWith("-") ) + { + (*numberOfDeletions)++; +// kdDebug(7034) << "Unified Deletion : " << (*it) << endl; + } + else if ( (*it).startsWith(" ") ) + { +// kdDebug(7034) << "Unified Context : " << (*it) << endl; + } + else + { +// kdDebug(7034) << "Unified Unknown : " << (*it) << endl; + } + + ++it; + } + break; + case KDiffPlugin::Empty: + case KDiffPlugin::Unknown: + case KDiffPlugin::SideBySide: + break; + } +} + +#include "tdefile_diff.moc" + +/* vim: set ts=4 sw=4 noet: */ + diff --git a/tdefile-plugins/diff/tdefile_diff.desktop b/tdefile-plugins/diff/tdefile_diff.desktop new file mode 100644 index 00000000..b1d0e9da --- /dev/null +++ b/tdefile-plugins/diff/tdefile_diff.desktop @@ -0,0 +1,57 @@ +[Desktop Entry] +Type=Service +Name=Diff Stats +Name[af]=Diff Statistiek +Name[bg]=Статистика за разлики +Name[br]=Stadegoù Diff +Name[bs]=Diff statistika +Name[ca]=Estadístiques de diff +Name[cs]=Statistika rozdílů +Name[cy]=Ystadegau Gwahaniaethau +Name[da]=Diff-stats +Name[de]=Diff-Statistiken +Name[el]=Στατιστικά diff +Name[es]=Estadísticas Diff +Name[et]=Võrdlemise tulemused +Name[eu]=Desberdintasun estatistikak +Name[fa]=آمارهای Diff +Name[fi]=Diff-tilastot +Name[fr]=Statistiques de diff +Name[ga]=Staitistic Diff +Name[gl]=Estatísticas de diff +Name[he]=סטטיסטיקת Diff +Name[hi]=डिफ स्टेट्स +Name[hr]=Diff statistike +Name[hu]=Diff statisztika +Name[it]=Statistiche di confronto +Name[ja]=Diff 統計 +Name[kk]=Diff статистикасы +Name[lt]=Skirtumų statistika +Name[ms]=Stat Diff +Name[nb]=Diff-statistikk +Name[nds]=Verscheelstatistiken +Name[ne]=भिन्न तथ्याङ्क +Name[nl]=Diff-statistieken +Name[nn]=Diff-statistikk +Name[pa]=ਅੰਤਰ ਹਾਲਤ +Name[pl]=Statystyka różnic +Name[pt]=Estatísticas do diff +Name[pt_BR]=Estados do Diff +Name[ro]=Statistici Diff +Name[ru]=Статистика различий +Name[sk]=Štatistiky Diff +Name[sl]=Statistike diff +Name[sr]=Статистика разликовања +Name[sr@Latn]=Statistika razlikovanja +Name[sv]=Diff-statistik +Name[ta]=டிப் ஸ்டட்ஸ் +Name[tg]=Статистикаи фарқият +Name[th]=สถานะแตกต่าง +Name[tr]=Diff İstatistikleri +Name[uk]=Статистика відмінностей +Name[zh_CN]=Diff 统计 +Name[zh_TW]=Diff 狀態 +ServiceTypes=KFilePlugin +X-TDE-Library=tdefile_diff +MimeType=text/x-diff +PreferredItems=Files,First,Format,Hunks,Insert,Modify,Delete diff --git a/tdefile-plugins/diff/tdefile_diff.h b/tdefile-plugins/diff/tdefile_diff.h new file mode 100644 index 00000000..15e9abeb --- /dev/null +++ b/tdefile-plugins/diff/tdefile_diff.h @@ -0,0 +1,53 @@ +/************************************************************************** +** tdefile_diff.h +** ------------------- +** begin : Sun Jan 20 23:25:29 2002 +** copyright : (C) 2002 by Otto Bruggeman +** email : otto.bruggeman@home.nl +** +***************************************************************************/ +/*************************************************************************** +** +** 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. +** +***************************************************************************/ + +#ifndef __KFILE_PDF_H__ +#define __KFILE_PDF_H__ + +#include + +class TQStringList; + +class KDiffPlugin: public KFilePlugin +{ + Q_OBJECT + + +public: + KDiffPlugin( TQObject *parent, const char *name, + const TQStringList& preferredItems ); + + + virtual bool readInfo( KFileMetaInfo& info, uint what ); + +public: + enum Format { Context, Ed, Normal, RCS, Unified, Empty, SideBySide, Unknown }; + enum DiffProgram { CVSDiff, Diff, Diff3, Perforce, SubVersion, Undeterminable }; // cant use Unknown again :( + +private: + enum Format determineDiffFormat ( const TQStringList lines ) const; + enum DiffProgram determineDiffProgram ( const TQStringList lines ) const; + const TQString determineI18nedFormat ( enum KDiffPlugin::Format diffFormat ) const; + const TQString determineI18nedProgram( enum KDiffPlugin::DiffProgram diffProgram ) const; + // yes ugly, it's better to use a struct or classmembers to pass these parameters around + void determineDiffInfo ( const TQStringList lines, + enum KDiffPlugin::Format diffFormat, int* numberOfFiles, + int* numberOfHunks, int* numberOfAdditions, + int* numberOfChanges, int* numberOfDeletions ); +}; + +#endif diff --git a/tdefile-plugins/ts/CMakeLists.txt b/tdefile-plugins/ts/CMakeLists.txt new file mode 100644 index 00000000..ff95bff9 --- /dev/null +++ b/tdefile-plugins/ts/CMakeLists.txt @@ -0,0 +1,35 @@ +################################################# +# +# (C) 2012 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +include_directories( + ${CMAKE_CURRENT_BINARY_DIR} + ${TDE_INCLUDE_DIR} + ${TQT_INCLUDE_DIRS} +) + +link_directories( + ${TQT_LIBRARY_DIRS} +) + + +##### other data ################################ + +install( FILES tdefile_ts.desktop + DESTINATION ${SERVICES_INSTALL_DIR} ) + + +##### tdefile_ts (module) ######################### + +tde_add_kpart( tdefile_ts AUTOMOC + SOURCES tdefile_ts.cpp + LINK tdeio-shared + DESTINATION ${PLUGIN_INSTALL_DIR} +) diff --git a/tdefile-plugins/ts/Makefile.am b/tdefile-plugins/ts/Makefile.am new file mode 100644 index 00000000..bb46c13c --- /dev/null +++ b/tdefile-plugins/ts/Makefile.am @@ -0,0 +1,21 @@ +## Makefile.am for text file meta info plugin + +# set the include path for X, qt and KDE +INCLUDES = $(all_includes) + +noinst_HEADERS = tdefile_ts.h + +kde_module_LTLIBRARIES = tdefile_ts.la + +tdefile_ts_la_SOURCES = tdefile_ts.cpp +tdefile_ts_la_LDFLAGS = $(all_libraries) -module $(KDE_PLUGIN) +tdefile_ts_la_LIBADD = $(LIB_KIO) + +# let automoc handle all of the meta source files (moc) +METASOURCES = AUTO + +messages: + $(XGETTEXT) *.cpp -o $(podir)/tdefile_ts.pot + +services_DATA = tdefile_ts.desktop +servicesdir = $(kde_servicesdir) diff --git a/tdefile-plugins/ts/tdefile_ts.cpp b/tdefile-plugins/ts/tdefile_ts.cpp new file mode 100644 index 00000000..2b136a09 --- /dev/null +++ b/tdefile-plugins/ts/tdefile_ts.cpp @@ -0,0 +1,93 @@ +/* This file is part of the KDE project + * Copyright (C) 2002 Carsten Niehaus + * + * 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 version 2. + * + * 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; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + * + */ + +#include "tdefile_ts.h" + +#include +#include + +#include +#include + +typedef KGenericFactory TsFactory; + +K_EXPORT_COMPONENT_FACTORY(tdefile_ts, TsFactory("tdefile_ts")) + +KTsPlugin::KTsPlugin(TQObject *parent, const char *name, + const TQStringList &args) : KFilePlugin(parent, name, args) +{ + makeMimeTypeInfo( "application/x-linguist" ); +} + +void KTsPlugin::makeMimeTypeInfo(const TQString& mimeType) +{ + KFileMimeTypeInfo* info = addMimeTypeInfo(mimeType); + + KFileMimeTypeInfo::GroupInfo* group = + addGroupInfo(info, "General", i18n("General")); + + KFileMimeTypeInfo::ItemInfo* item; + item = addItemInfo(group, "Messages", i18n("Messages"), TQVariant::Int); + setAttributes(item, KFileMimeTypeInfo::Averaged); + item = addItemInfo(group, "Translated", i18n("Translated"), TQVariant::Int); + setAttributes(item, KFileMimeTypeInfo::Averaged); + item = addItemInfo(group, "Untranslated", i18n("Untranslated"), TQVariant::Int); + setAttributes(item, KFileMimeTypeInfo::Averaged); + item = addItemInfo(group, "Obsolete", i18n("Obsolete"), TQVariant::Int); +} + +bool KTsPlugin::readInfo(KFileMetaInfo& info, uint) +{ + TQFile f(info.path()); + if (!f.open(IO_ReadOnly)) + return false; + + int messages = 0; + int untranslated = 0; + int obsolete = 0; + + TQTextStream stream( &f ); + TQString line = stream.readLine(); + + // is it really a linguist file? + if (!line.contains("", false)) + return false; + + while (!stream.eof()) + { + line = stream.readLine(); + + if (line.contains("type=\"obsolete\"")) obsolete++; + + if (line.contains("")) messages++; + + if (line.contains("type=\"unfinished\"")) untranslated++; + + } + + KFileMetaInfoGroup group = appendGroup(info, "General"); + appendItem(group, "Messages", messages); + appendItem(group, "Translated", messages-untranslated-obsolete); + appendItem(group, "Untranslated", untranslated); + appendItem(group, "Obsolete", obsolete); + + return true; +} + +#include "tdefile_ts.moc" diff --git a/tdefile-plugins/ts/tdefile_ts.desktop b/tdefile-plugins/ts/tdefile_ts.desktop new file mode 100644 index 00000000..1d4faebb --- /dev/null +++ b/tdefile-plugins/ts/tdefile_ts.desktop @@ -0,0 +1,54 @@ +[Desktop Entry] +Type=Service +Name=Qt Linguist File Info +Name[bg]=Информация за файла Qt Linguist +Name[br]=Restr titouroù Qt Linguist +Name[bs]=Qt Linguist informacije o datoteci +Name[ca]=Informació fitxer de Qt Linguist +Name[cs]=Info o souboru Qt Linguist +Name[cy]=Gwybodaeth Ffeil Qt Linguist +Name[da]=Qt Linguist Fil-info +Name[de]=Qt Linguist-Dateiinfo +Name[el]=Πληροφορίες αρχείου Qt Linguist +Name[es]=Información de archivo de Qt Linguist +Name[et]=Qt Linguisti faili info +Name[eu]=Qt Linguist fitxategi informazioa +Name[fa]=اطلاعات پروندۀ زبان‌شناسQt +Name[fi]=Qt Linquist -tiedoston tiedot +Name[fr]=Fichier d'informations Qt Linguist +Name[ga]=Eolas faoi Chomhad Qt Linguist +Name[gl]=Información do Ficheiro de Qt Linguist +Name[hi]=क्यूटी लिंग्विस्ट फ़ाइल जानकारी +Name[hu]=Qt Linguist fájljellemzők +Name[is]=Qt Linguist skráarupplýsingar +Name[it]=Informazioni file per Qt Linguist +Name[ja]=Qt Linguist ファイル情報 +Name[ka]=Qt Linguist ფაილის ინფორმაცია +Name[kk]=Qt Linguist файл мәліметі +Name[lt]=Qt Linguist bylos informacija +Name[nb]=Informasjon om Qt Linguist-fil +Name[nds]=QtLinguist-Datei-Info +Name[ne]=Qt बहुभाषी फाइल सूचना +Name[nl]=Qt Linquïst-bestandsinformatie +Name[nn]=Informasjon om Qt Linguist-fil +Name[pa]=Qt Linguist ਫਾਇਲ ਜਾਣਕਾਰੀ +Name[pl]=Informacja pliku Qt Linguist +Name[pt]=Informação do Ficheiro do Qt Linguist +Name[pt_BR]=Arquivo de Informações de Lingüística do Qt +Name[ru]=Информация о файле в формате Qt Linguist +Name[sk]=Informácie pre Qt Linguist +Name[sl]=Informacije o Qt Linguist +Name[sr]=Информације о фајлу Qt Linguist-а +Name[sr@Latn]=Informacije o fajlu Qt Linguist-a +Name[sv]=Qt Linguist-filinformation +Name[ta]=Qt மொழியியல் கோப்புகள் தகவல் +Name[tg]=Ахборот дар бораи файл дар формати Qt Linguist +Name[tr]=Qt Dilbilimci Dosya Bilgisi +Name[uk]=інформація про файл формату Qt Linguist +Name[zh_CN]=Qt 语言大师文件信息 +Name[zh_TW]=Qt 語言檔資訊 +ServiceTypes=KFilePlugin +X-TDE-Library=tdefile_ts +MimeType=application/x-linguist +PreferredGroups=General +PreferredItems=Messages,Translated,Untranslated,Fuzzi diff --git a/tdefile-plugins/ts/tdefile_ts.h b/tdefile-plugins/ts/tdefile_ts.h new file mode 100644 index 00000000..0f03fac1 --- /dev/null +++ b/tdefile-plugins/ts/tdefile_ts.h @@ -0,0 +1,40 @@ +/* This file is part of the KDE project + * Copyright (C) 2002 Carsten Niehaus + * + * 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 version 2. + * + * 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; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + * + */ + +#ifndef __KFILE_TS_H_ +#define __KFILE_TS_H_ + +#include + +class TQStringList; + +class KTsPlugin: public KFilePlugin +{ + Q_OBJECT + + +public: + KTsPlugin(TQObject *parent, const char *name, const TQStringList& args); + virtual bool readInfo(KFileMetaInfo& info, uint what); + +private: + void makeMimeTypeInfo(const TQString& mimeType); +}; + +#endif diff --git a/tdeioslave/CMakeLists.txt b/tdeioslave/CMakeLists.txt new file mode 100644 index 00000000..a23a176c --- /dev/null +++ b/tdeioslave/CMakeLists.txt @@ -0,0 +1,12 @@ +################################################# +# +# (C) 2012 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +add_subdirectory( svn ) diff --git a/tdeioslave/Makefile.am b/tdeioslave/Makefile.am new file mode 100644 index 00000000..68636cd9 --- /dev/null +++ b/tdeioslave/Makefile.am @@ -0,0 +1,6 @@ +if include_tdeioslave_svn +SVN_SUBDIR = svn +endif + +SUBDIRS= $(SVN_SUBDIR) + diff --git a/tdeioslave/svn/AUTHORS b/tdeioslave/svn/AUTHORS new file mode 100644 index 00000000..75a6fbc9 --- /dev/null +++ b/tdeioslave/svn/AUTHORS @@ -0,0 +1 @@ +Mickael Marchand diff --git a/tdeioslave/svn/CMakeLists.txt b/tdeioslave/svn/CMakeLists.txt new file mode 100644 index 00000000..5cba3f86 --- /dev/null +++ b/tdeioslave/svn/CMakeLists.txt @@ -0,0 +1,46 @@ +################################################# +# +# (C) 2012 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +include( ConfigureChecks.cmake ) + +add_subdirectory( ksvnd ) +add_subdirectory( svnhelper ) +add_subdirectory( icons ) + +include_directories( + ${TDE_INCLUDE_DIR} + ${TQT_INCLUDE_DIRS} + ${APR_INCLUDE_DIRS} + ${SVN_INCLUDE_DIR} +) + +link_directories( + ${TQT_LIBRARY_DIRS} + ${APR_LIBRARY_DIRS} + ${SVN_LIBRARY_DIR} +) + + +##### other data ################################ + +install( FILES + svn+http.protocol svn+https.protocol svn+file.protocol + svn+ssh.protocol svn.protocol + DESTINATION ${SERVICES_INSTALL_DIR} ) + + +##### kio_svn (module) ########################## + +tde_add_kpart( kio_svn + SOURCES svn.cpp + LINK tdeio-shared ${APR_LIBRARIES} ${SVN_LIBRARIES} + DESTINATION ${PLUGIN_INSTALL_DIR} +) diff --git a/tdeioslave/svn/COPYING b/tdeioslave/svn/COPYING new file mode 100644 index 00000000..38db8225 --- /dev/null +++ b/tdeioslave/svn/COPYING @@ -0,0 +1,481 @@ + GNU LIBRARY GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1991 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the library GPL. It is + numbered 2 because it goes with version 2 of the ordinary GPL.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Library General Public License, applies to some +specially designated Free Software Foundation software, and to any +other libraries whose authors decide to use it. You can use it for +your libraries, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if +you distribute copies of the library, or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link a program with the library, you must provide +complete object files to the recipients so that they can relink them +with the library, after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + Our method of protecting your rights has two steps: (1) copyright +the library, and (2) offer you this license which gives you legal +permission to copy, distribute and/or modify the library. + + Also, for each distributor's protection, we want to make certain +that everyone understands that there is no warranty for this free +library. If the library is modified by someone else and passed on, we +want its recipients to know that what they have is not the original +version, so that any problems introduced by others will not reflect on +the original authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that companies distributing free +software will individually obtain patent licenses, thus in effect +transforming the program into proprietary software. To prevent this, +we have made it clear that any patent must be licensed for everyone's +free use or not licensed at all. + + Most GNU software, including some libraries, is covered by the ordinary +GNU General Public License, which was designed for utility programs. This +license, the GNU Library General Public License, applies to certain +designated libraries. This license is quite different from the ordinary +one; be sure to read it in full, and don't assume that anything in it is +the same as in the ordinary license. + + The reason we have a separate public license for some libraries is that +they blur the distinction we usually make between modifying or adding to a +program and simply using it. Linking a program with a library, without +changing the library, is in some sense simply using the library, and is +analogous to running a utility program or application program. However, in +a textual and legal sense, the linked executable is a combined work, a +derivative of the original library, and the ordinary General Public License +treats it as such. + + Because of this blurred distinction, using the ordinary General +Public License for libraries did not effectively promote software +sharing, because most developers did not use the libraries. We +concluded that weaker conditions might promote sharing better. + + However, unrestricted linking of non-free programs would deprive the +users of those programs of all benefit from the free status of the +libraries themselves. This Library General Public License is intended to +permit developers of non-free programs to use free libraries, while +preserving your freedom as a user of such programs to change the free +libraries that are incorporated in them. (We have not seen how to achieve +this as regards changes in header files, but we have achieved it as regards +changes in the actual functions of the Library.) The hope is that this +will lead to faster development of free libraries. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, while the latter only +works together with the library. + + Note that it is possible for a library to be covered by the ordinary +General Public License rather than by this special one. + + GNU LIBRARY GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library which +contains a notice placed by the copyright holder or other authorized +party saying it may be distributed under the terms of this Library +General Public License (also called "this License"). Each licensee is +addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also compile or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + c) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + d) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the source code distributed need not include anything that is normally +distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Library General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/tdeioslave/svn/ConfigureChecks.cmake b/tdeioslave/svn/ConfigureChecks.cmake new file mode 100644 index 00000000..3d46c748 --- /dev/null +++ b/tdeioslave/svn/ConfigureChecks.cmake @@ -0,0 +1,54 @@ +################################################# +# +# (C) 2010-2011 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +pkg_search_module( APR apr-1 ) +if( APR_FOUND ) + set( HAVE_APR 1 ) +else( ) + tde_message_fatal( "apr-1 is required, but was not found on your system" ) +endif( ) + + +# check for subversion library + +check_library_exists( "svn_client-1" "svn_pool_create_ex" "${SVN_LIBRARY_DIR}" HAVE_SVN_POOL_CREATE_EX_SVN_CLIENT ) +if( HAVE_SVN_POOL_CREATE_EX_SVN_CLIENT ) + set( SVN_LIBRARIES "svn_client-1;svn_subr-1;svn_ra-1" ) +else( ) + check_library_exists( "svn_subr-1" "svn_pool_create_ex" "${SVN_LIBRARY_DIR}" HAVE_SVN_POOL_CREATE_EX_SUBR ) + if( HAVE_SVN_POOL_CREATE_EX_SUBR ) + set( SVN_LIBRARIES "svn_client-1;svn_subr-1;svn_ra-1" ) + else( ) + tde_message_fatal( "svn_client-1 or svn_subr-1 library was not found on your system.\n Subversion is installed?\n Try to set SVN_LIBRARY_DIR to subversion library directory." ) + endif( ) +endif( ) + + +# check for subversion headers + +tde_save_and_set( CMAKE_REQUIRED_FLAGS "-I${APR_INCLUDE_DIRS}" ) +tde_save_and_set( CMAKE_REQUIRED_DEFINITIONS "${APR_CFLAGS}" ) + +if( SVN_INCLUDE_DIR ) + set_and_save( CMAKE_REQUIRED_INCLUDES "${SVN_INCLUDE_DIR}" ) + check_include_file( "svn_types.h" HAVE_SVN_TYPES_H ) + tde_restore( CMAKE_REQUIRED_INCLUDES ) +else( ) + # FIXME must be improved + check_include_file( "/usr/include/subversion-1/svn_types.h" HAVE_SVN_TYPES_H ) + set( SVN_INCLUDE_DIR "/usr/include/subversion-1" ) +endif( ) + +tde_restore( CMAKE_REQUIRED_FLAGS CMAKE_REQUIRED_DEFINITIONS ) + +if( NOT HAVE_SVN_TYPES_H ) + tde_message_fatal( "svn_types.h file was not found on your system.\n Subversion devel files are installed?\n Try to set SVN_INCLUDE_DIR to subversion include directory." ) +endif( ) diff --git a/tdeioslave/svn/Makefile.am b/tdeioslave/svn/Makefile.am new file mode 100644 index 00000000..35efdfc7 --- /dev/null +++ b/tdeioslave/svn/Makefile.am @@ -0,0 +1,15 @@ +SUBDIRS = ksvnd svnhelper icons + +INCLUDES = $(SVN_INCLUDE) $(all_includes) + +kde_module_LTLIBRARIES = kio_svn.la + +kio_svn_la_SOURCES = svn.cpp +kio_svn_la_LIBADD = -lkio +kio_svn_la_LDFLAGS = -avoid-version -module $(all_libraries) $(KDE_PLUGIN) $(SVNLD) $(SVN_LIB) + +protocol_DATA = svn+http.protocol svn+https.protocol svn+file.protocol svn+ssh.protocol svn.protocol +protocoldir = $(kde_servicesdir) + +messages: rc.cpp + $(XGETTEXT) *.cpp -o $(podir)/tdeio_svn.pot diff --git a/tdeioslave/svn/README b/tdeioslave/svn/README new file mode 100644 index 00000000..6d851afa --- /dev/null +++ b/tdeioslave/svn/README @@ -0,0 +1,40 @@ +This is a kio_subversion. It allows you to browse a (remote) Subversion repository. +The expected URLs are something like : svn+http://svn.collab.net/repos/svn +This will show you the current HEAD version of the repository (just like the one you would get +with http://svn.collab.net/repos/svn). +You can also try : svn+http://svn.collab.net/repos/svn?rev=500 so that it displays the revision 500. + +REQUIREMENTS: +------------ +Subversion libraries >= 0.37.0 (http://subversion.tigris.org) + +FEATURES: +--------- +Supported protocols : +svn+http://hostname/path?rev=revision_number +svn+https://hostname/path?rev=revision_number +svn+ssh://hostname/path?rev=revision_number +svn://hostname/path?rev=revision_number +svn+file://repository/path?rev=revision_number + +INSTALL: +-------- +you need the svn client library which is distributed by subversion. +on Debian : apt-get install libsvn0-dev will do everything you need. + +you can pass the following arguments to configure to help it find your +subversion/apr installations : + +--with-apr-config=FILE Use the given path to apr-config when determining APR configuration; defaults to "apr-config" +--with-apu-config=FILE Use the given path to apu-config when determining APR util configuration; defaults to "apu-config" +--with-subversion-dir=DIR where Subversion is installed +--with-svn-include=DIR Use the given path to the subversion headers. +--with-svn-lib=DIR Use the given path to the subversion libraries. + +BUGS: +----- +- file modifications time are wrong in konqui +- kio_svn crashes often with subversion 1.2-rc2, needs investigation +any other ? +please report + diff --git a/tdeioslave/svn/TODO b/tdeioslave/svn/TODO new file mode 100644 index 00000000..b5bbe683 --- /dev/null +++ b/tdeioslave/svn/TODO @@ -0,0 +1,74 @@ +For the menu options, tortoise SVN has something like below. +We can follow this to some extent: + +Folder not in SVN at all: + +SVN Checkout +Svn: + Export + Create Repository here + Import + ---- + Settings... + Help + +A folder and a file in an SVN folder and in the SVN repository + +SVN Update +SVN Commit.... +Svn: + Show Log + Check for modifications + Revision Graph + ---- + Update to revision... + Rename... + Delete + Revert + Cleanup + ---- + Branch/tag... + Switch... + Merge... + Export... + Relocate... + ---- + Add (?) + ---- + Create Patch... + Apply Patch... + ---- + Settings... + Help + +A file in an SVN folder and in SVN repository + +SVN Update +SVN Commit.... +Svn: + Show Log + Check for modifications + Revision Graph + ---- + Update to revision... + Rename... + Delete + Revert + Cleanup + ---- + Branch/tag... + Switch... + Merge... + Blame... + ---- + Settings... + Help + + +A file in SVN folder, but not in repos + +Svn: + Add + Add to ignore list + + diff --git a/tdeioslave/svn/configure.in.bot b/tdeioslave/svn/configure.in.bot new file mode 100644 index 00000000..d89532c2 --- /dev/null +++ b/tdeioslave/svn/configure.in.bot @@ -0,0 +1,9 @@ +if test "x$with_subversion" = xcheck && test -z "$SVN_SUBDIR"; then + echo "" + echo "You're missing Subversion libraries (1.x)" + echo "KDE will not be able to browse Subversion repositories without it," + echo "consider installing it." + echo "Look at tdeioslave/svn/README for more information" + echo "" + all_tests=bad +fi diff --git a/tdeioslave/svn/configure.in.in b/tdeioslave/svn/configure.in.in new file mode 100644 index 00000000..c9f562d4 --- /dev/null +++ b/tdeioslave/svn/configure.in.in @@ -0,0 +1,158 @@ +AC_ARG_WITH(subversion, + [AC_HELP_STRING(--with-subversion, + [enable support for subversion @<:@default=check@:>@])], + [], with_subversion=check) + +SVN_SUBDIR="" +if test "x$with_subversion" != xno; then + +APR_CONFIGS="apr-config apr-1-config /usr/local/apr/bin/apr-config" +SVN_SUBDIR="svn" +AC_ARG_WITH(apr-config, +[[ --with-apr-config=FILE Use the given path to apr-config when determining + APR configuration; defaults to "apr-config"]], +[ + if test "$withval" != "yes" -a "$withval" != ""; then + APR_CONFIGS=$withval + fi +]) +AC_MSG_CHECKING([for APR]) +APR_CONFIG="" +for VALUE in $APR_CONFIGS ; do + if $VALUE --cflags > /dev/null; then + APR_CONFIG=$VALUE + break + fi +done +test $VALUE && APR_CONFIG=$VALUE +if test $APR_CONFIG ; then + AC_MSG_RESULT([found]) +else + AC_MSG_RESULT([not found]) + SVN_SUBDIR= +dnl AC_MSG_ERROR([APR is required. Try --with-apr-config.]) +fi + +APR_CPPFLAGS="`$APR_CONFIG --cppflags`" +APR_INCLUDE="`$APR_CONFIG --includes`" +APR_LIBS="`$APR_CONFIG --link-ld --libs`" + +dnl +dnl APR util +dnl + +APU_CONFIGS="apu-config apu-1-config /usr/local/apr/bin/apu-config" +AC_ARG_WITH(apu-config, +[[ --with-apu-config=FILE Use the given path to apu-config when determining + APR util configuration; defaults to "apu-config"]], +[ + if test "$withval" != "yes" -a "$withval" != ""; then + APU_CONFIGS=$withval + fi +]) +AC_MSG_CHECKING([for APR util]) +APU_CONFIG="" +for VALUE in $APU_CONFIGS ; do + if $VALUE --includes > /dev/null; then + APU_CONFIG=$VALUE + break + fi +done +if test $APU_CONFIG ; then + AC_MSG_RESULT([found]) +else + AC_MSG_RESULT([not found]) + SVN_SUBDIR= +dnl AC_MSG_ERROR([APR util is required. Try --with-apu-config.]) +fi +dnl APR_CPPFLAGS="$APR_CPPFLAGS `$APU_CONFIG --includes`" +APR_INCLUDE="$APR_INCLUDE `$APU_CONFIG --includes`" +APR_LIBS="$APR_LIBS `$APU_CONFIG --link-ld --libs`" + +AC_MSG_CHECKING(for Subversion svn-config) +AC_ARG_WITH(subversion-dir, + [ --with-subversion-dir=DIR where Subversion is installed ], + [ + SVNCONFIG="$withval/bin/svn-config" + ]) + +if test -z "$SVNCONFIG"; then + _SVNCONFIG="`svn-config --prefix 2> /dev/null`" + if test -n "$_SVNCONFIG"; then + SVNCONFIG="$_SVNCONFIG/bin/svn-config" + fi +fi + +AC_SUBST(SVNCONFIG) +if test -x "$SVNCONFIG"; then + SVNLD="`$SVNCONFIG --ldflags`" + SVN_LIB="`$SVNCONFIG --libs` -lsvn_client-1" + SVN_CPPFLAGS="`$SVNCONFIG --cppflags`" + dnl ugly hack for subversion svn-config problems in 0.14.x, to be removed when svn-config is fixed + SVN_INCLUDE="`$SVNCONFIG --includes` -I$_SVNCONFIG/include/subversion-1/" + AC_MSG_RESULT(yes) +else + AC_MSG_RESULT(not found) + SVNLD="" + dnl just a fallback to debian's config so that it works for me :) + SVN_INCLUDES="/usr/local/include /usr/include" + AC_ARG_WITH(svn-include, + [[ --with-svn-include=DIR Use the given path to the subversion headers.]], + [ + if test "$withval" != "yes" -a "$withval" != ""; then + SVN_INCLUDES=$withval + fi + ]) + AC_MSG_CHECKING([for Subversion headers]) + SVN_INCLUDE="" + for VALUE in $SVN_INCLUDES ; do + if test -f $VALUE/subversion-1/svn_types.h ; then + SVN_INCLUDE="-I$VALUE" + break + fi + done + if test $SVN_INCLUDE ; then + AC_MSG_RESULT([found]) + else + AC_MSG_RESULT([not found]) + SVN_SUBDIR= +dnl AC_MSG_ERROR([Subversion headers are required. Try --with-svn-include.]) + fi + SVN_MULTIARCH_LIBS="`find /usr/lib/ -maxdepth 1 -type d | xargs echo`" + SVN_LIBS="/usr/local/lib /usr/lib /usr/lib64 $SVN_MULTIARCH_LIBS" + AC_ARG_WITH(svn-lib, + [[ --with-svn-lib=DIR Use the given path to the subversion libraries.]], + [ + if test "$withval" != "yes" -a "$withval" != ""; then + SVN_LIBS=$withval + fi + ]) + AC_MSG_CHECKING([for Subversion libraries]) + SVN_LIB="" + for VALUE in $SVN_LIBS ; do + if ls $VALUE/libsvn_client-1.* 1>/dev/null 2>&1; then + SVN_LIB="-L$VALUE" + break + fi + done + if test $SVN_LIB ; then + AC_MSG_RESULT([found]) + else + AC_MSG_RESULT([not found]) + SVN_SUBDIR= + fi +fi +SVN_LIB="$SVN_LIB $APR_LIBS -lsvn_client-1" +SVN_INCLUDE="$SVN_INCLUDE $APR_INCLUDE" +SVN_CPPFLAGS="$APR_CPPFLAGS $SVN_CPPFLAGS" + +if test "x$with_subversion" != xcheck && test -z "$SVN_SUBDIR"; then + AC_MSG_ERROR([--with-subversion was given, but test for subversion failed]) +fi +fi + +AC_SUBST(SVN_INCLUDE) +AC_SUBST(SVN_LIB) +AC_SUBST(SVN_CPPFLAGS) +AC_SUBST(SVNLD) +AM_CONDITIONAL(include_tdeioslave_svn, test -n "$SVN_SUBDIR") diff --git a/tdeioslave/svn/icons/CMakeLists.txt b/tdeioslave/svn/icons/CMakeLists.txt new file mode 100644 index 00000000..96bca44c --- /dev/null +++ b/tdeioslave/svn/icons/CMakeLists.txt @@ -0,0 +1,12 @@ +################################################# +# +# (C) 2012 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +tde_install_icons( ) diff --git a/tdeioslave/svn/icons/Makefile.am b/tdeioslave/svn/icons/Makefile.am new file mode 100644 index 00000000..a4b97f06 --- /dev/null +++ b/tdeioslave/svn/icons/Makefile.am @@ -0,0 +1 @@ +KDE_ICON=AUTO diff --git a/tdeioslave/svn/icons/cr128-action-svn_add.png b/tdeioslave/svn/icons/cr128-action-svn_add.png new file mode 100644 index 00000000..0b26fdbc Binary files /dev/null and b/tdeioslave/svn/icons/cr128-action-svn_add.png differ diff --git a/tdeioslave/svn/icons/cr128-action-svn_branch.png b/tdeioslave/svn/icons/cr128-action-svn_branch.png new file mode 100644 index 00000000..9fafce71 Binary files /dev/null and b/tdeioslave/svn/icons/cr128-action-svn_branch.png differ diff --git a/tdeioslave/svn/icons/cr128-action-svn_merge.png b/tdeioslave/svn/icons/cr128-action-svn_merge.png new file mode 100644 index 00000000..8d534b3a Binary files /dev/null and b/tdeioslave/svn/icons/cr128-action-svn_merge.png differ diff --git a/tdeioslave/svn/icons/cr128-action-svn_remove.png b/tdeioslave/svn/icons/cr128-action-svn_remove.png new file mode 100644 index 00000000..2af59d2f Binary files /dev/null and b/tdeioslave/svn/icons/cr128-action-svn_remove.png differ diff --git a/tdeioslave/svn/icons/cr128-action-svn_status.png b/tdeioslave/svn/icons/cr128-action-svn_status.png new file mode 100644 index 00000000..bcbfaaa3 Binary files /dev/null and b/tdeioslave/svn/icons/cr128-action-svn_status.png differ diff --git a/tdeioslave/svn/icons/cr128-action-svn_switch.png b/tdeioslave/svn/icons/cr128-action-svn_switch.png new file mode 100644 index 00000000..74fbded1 Binary files /dev/null and b/tdeioslave/svn/icons/cr128-action-svn_switch.png differ diff --git a/tdeioslave/svn/icons/cr16-action-svn_add.png b/tdeioslave/svn/icons/cr16-action-svn_add.png new file mode 100644 index 00000000..70769a36 Binary files /dev/null and b/tdeioslave/svn/icons/cr16-action-svn_add.png differ diff --git a/tdeioslave/svn/icons/cr16-action-svn_branch.png b/tdeioslave/svn/icons/cr16-action-svn_branch.png new file mode 100644 index 00000000..f8c701f0 Binary files /dev/null and b/tdeioslave/svn/icons/cr16-action-svn_branch.png differ diff --git a/tdeioslave/svn/icons/cr16-action-svn_merge.png b/tdeioslave/svn/icons/cr16-action-svn_merge.png new file mode 100644 index 00000000..1321a5fd Binary files /dev/null and b/tdeioslave/svn/icons/cr16-action-svn_merge.png differ diff --git a/tdeioslave/svn/icons/cr16-action-svn_remove.png b/tdeioslave/svn/icons/cr16-action-svn_remove.png new file mode 100644 index 00000000..8f6f3040 Binary files /dev/null and b/tdeioslave/svn/icons/cr16-action-svn_remove.png differ diff --git a/tdeioslave/svn/icons/cr16-action-svn_status.png b/tdeioslave/svn/icons/cr16-action-svn_status.png new file mode 100644 index 00000000..8ad00fd7 Binary files /dev/null and b/tdeioslave/svn/icons/cr16-action-svn_status.png differ diff --git a/tdeioslave/svn/icons/cr16-action-svn_switch.png b/tdeioslave/svn/icons/cr16-action-svn_switch.png new file mode 100644 index 00000000..c28b3b98 Binary files /dev/null and b/tdeioslave/svn/icons/cr16-action-svn_switch.png differ diff --git a/tdeioslave/svn/icons/cr22-action-svn_add.png b/tdeioslave/svn/icons/cr22-action-svn_add.png new file mode 100644 index 00000000..249005eb Binary files /dev/null and b/tdeioslave/svn/icons/cr22-action-svn_add.png differ diff --git a/tdeioslave/svn/icons/cr22-action-svn_branch.png b/tdeioslave/svn/icons/cr22-action-svn_branch.png new file mode 100644 index 00000000..db729c2a Binary files /dev/null and b/tdeioslave/svn/icons/cr22-action-svn_branch.png differ diff --git a/tdeioslave/svn/icons/cr22-action-svn_merge.png b/tdeioslave/svn/icons/cr22-action-svn_merge.png new file mode 100644 index 00000000..08b1a53f Binary files /dev/null and b/tdeioslave/svn/icons/cr22-action-svn_merge.png differ diff --git a/tdeioslave/svn/icons/cr22-action-svn_remove.png b/tdeioslave/svn/icons/cr22-action-svn_remove.png new file mode 100644 index 00000000..3005c2ac Binary files /dev/null and b/tdeioslave/svn/icons/cr22-action-svn_remove.png differ diff --git a/tdeioslave/svn/icons/cr22-action-svn_status.png b/tdeioslave/svn/icons/cr22-action-svn_status.png new file mode 100644 index 00000000..5561af4b Binary files /dev/null and b/tdeioslave/svn/icons/cr22-action-svn_status.png differ diff --git a/tdeioslave/svn/icons/cr22-action-svn_switch.png b/tdeioslave/svn/icons/cr22-action-svn_switch.png new file mode 100644 index 00000000..e6a92dcc Binary files /dev/null and b/tdeioslave/svn/icons/cr22-action-svn_switch.png differ diff --git a/tdeioslave/svn/icons/cr32-action-svn_add.png b/tdeioslave/svn/icons/cr32-action-svn_add.png new file mode 100644 index 00000000..63b987bd Binary files /dev/null and b/tdeioslave/svn/icons/cr32-action-svn_add.png differ diff --git a/tdeioslave/svn/icons/cr32-action-svn_branch.png b/tdeioslave/svn/icons/cr32-action-svn_branch.png new file mode 100644 index 00000000..4fbd9c3f Binary files /dev/null and b/tdeioslave/svn/icons/cr32-action-svn_branch.png differ diff --git a/tdeioslave/svn/icons/cr32-action-svn_merge.png b/tdeioslave/svn/icons/cr32-action-svn_merge.png new file mode 100644 index 00000000..0b2b42e2 Binary files /dev/null and b/tdeioslave/svn/icons/cr32-action-svn_merge.png differ diff --git a/tdeioslave/svn/icons/cr32-action-svn_remove.png b/tdeioslave/svn/icons/cr32-action-svn_remove.png new file mode 100644 index 00000000..5a213d57 Binary files /dev/null and b/tdeioslave/svn/icons/cr32-action-svn_remove.png differ diff --git a/tdeioslave/svn/icons/cr32-action-svn_status.png b/tdeioslave/svn/icons/cr32-action-svn_status.png new file mode 100644 index 00000000..5fb3df96 Binary files /dev/null and b/tdeioslave/svn/icons/cr32-action-svn_status.png differ diff --git a/tdeioslave/svn/icons/cr32-action-svn_switch.png b/tdeioslave/svn/icons/cr32-action-svn_switch.png new file mode 100644 index 00000000..28724155 Binary files /dev/null and b/tdeioslave/svn/icons/cr32-action-svn_switch.png differ diff --git a/tdeioslave/svn/icons/cr48-action-svn_add.png b/tdeioslave/svn/icons/cr48-action-svn_add.png new file mode 100644 index 00000000..4f4f7f34 Binary files /dev/null and b/tdeioslave/svn/icons/cr48-action-svn_add.png differ diff --git a/tdeioslave/svn/icons/cr48-action-svn_branch.png b/tdeioslave/svn/icons/cr48-action-svn_branch.png new file mode 100644 index 00000000..d7fe093e Binary files /dev/null and b/tdeioslave/svn/icons/cr48-action-svn_branch.png differ diff --git a/tdeioslave/svn/icons/cr48-action-svn_merge.png b/tdeioslave/svn/icons/cr48-action-svn_merge.png new file mode 100644 index 00000000..a052acb1 Binary files /dev/null and b/tdeioslave/svn/icons/cr48-action-svn_merge.png differ diff --git a/tdeioslave/svn/icons/cr48-action-svn_remove.png b/tdeioslave/svn/icons/cr48-action-svn_remove.png new file mode 100644 index 00000000..df562606 Binary files /dev/null and b/tdeioslave/svn/icons/cr48-action-svn_remove.png differ diff --git a/tdeioslave/svn/icons/cr48-action-svn_status.png b/tdeioslave/svn/icons/cr48-action-svn_status.png new file mode 100644 index 00000000..f98d11eb Binary files /dev/null and b/tdeioslave/svn/icons/cr48-action-svn_status.png differ diff --git a/tdeioslave/svn/icons/cr48-action-svn_switch.png b/tdeioslave/svn/icons/cr48-action-svn_switch.png new file mode 100644 index 00000000..131d897d Binary files /dev/null and b/tdeioslave/svn/icons/cr48-action-svn_switch.png differ diff --git a/tdeioslave/svn/icons/cr64-action-svn_add.png b/tdeioslave/svn/icons/cr64-action-svn_add.png new file mode 100644 index 00000000..54091c32 Binary files /dev/null and b/tdeioslave/svn/icons/cr64-action-svn_add.png differ diff --git a/tdeioslave/svn/icons/cr64-action-svn_branch.png b/tdeioslave/svn/icons/cr64-action-svn_branch.png new file mode 100644 index 00000000..74deadc6 Binary files /dev/null and b/tdeioslave/svn/icons/cr64-action-svn_branch.png differ diff --git a/tdeioslave/svn/icons/cr64-action-svn_merge.png b/tdeioslave/svn/icons/cr64-action-svn_merge.png new file mode 100644 index 00000000..b73ec742 Binary files /dev/null and b/tdeioslave/svn/icons/cr64-action-svn_merge.png differ diff --git a/tdeioslave/svn/icons/cr64-action-svn_remove.png b/tdeioslave/svn/icons/cr64-action-svn_remove.png new file mode 100644 index 00000000..db521dc3 Binary files /dev/null and b/tdeioslave/svn/icons/cr64-action-svn_remove.png differ diff --git a/tdeioslave/svn/icons/cr64-action-svn_status.png b/tdeioslave/svn/icons/cr64-action-svn_status.png new file mode 100644 index 00000000..fba134bc Binary files /dev/null and b/tdeioslave/svn/icons/cr64-action-svn_status.png differ diff --git a/tdeioslave/svn/icons/cr64-action-svn_switch.png b/tdeioslave/svn/icons/cr64-action-svn_switch.png new file mode 100644 index 00000000..84fd6ee5 Binary files /dev/null and b/tdeioslave/svn/icons/cr64-action-svn_switch.png differ diff --git a/tdeioslave/svn/icons/crsc-action-svn_add.svgz b/tdeioslave/svn/icons/crsc-action-svn_add.svgz new file mode 100644 index 00000000..8092028e Binary files /dev/null and b/tdeioslave/svn/icons/crsc-action-svn_add.svgz differ diff --git a/tdeioslave/svn/icons/crsc-action-svn_branch.svgz b/tdeioslave/svn/icons/crsc-action-svn_branch.svgz new file mode 100644 index 00000000..1622c9f6 Binary files /dev/null and b/tdeioslave/svn/icons/crsc-action-svn_branch.svgz differ diff --git a/tdeioslave/svn/icons/crsc-action-svn_merge.svgz b/tdeioslave/svn/icons/crsc-action-svn_merge.svgz new file mode 100644 index 00000000..56f18c44 Binary files /dev/null and b/tdeioslave/svn/icons/crsc-action-svn_merge.svgz differ diff --git a/tdeioslave/svn/icons/crsc-action-svn_remove.svgz b/tdeioslave/svn/icons/crsc-action-svn_remove.svgz new file mode 100644 index 00000000..cf0db832 Binary files /dev/null and b/tdeioslave/svn/icons/crsc-action-svn_remove.svgz differ diff --git a/tdeioslave/svn/icons/crsc-action-svn_status.svgz b/tdeioslave/svn/icons/crsc-action-svn_status.svgz new file mode 100644 index 00000000..1a6ba518 Binary files /dev/null and b/tdeioslave/svn/icons/crsc-action-svn_status.svgz differ diff --git a/tdeioslave/svn/icons/crsc-action-svn_switch.svgz b/tdeioslave/svn/icons/crsc-action-svn_switch.svgz new file mode 100644 index 00000000..4717aac2 Binary files /dev/null and b/tdeioslave/svn/icons/crsc-action-svn_switch.svgz differ diff --git a/tdeioslave/svn/ksvnd/CMakeLists.txt b/tdeioslave/svn/ksvnd/CMakeLists.txt new file mode 100644 index 00000000..76e0731c --- /dev/null +++ b/tdeioslave/svn/ksvnd/CMakeLists.txt @@ -0,0 +1,36 @@ +################################################# +# +# (C) 2012 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +include_directories( + ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_BINARY_DIR} + ${TDE_INCLUDE_DIR} + ${TQT_INCLUDE_DIRS} +) + +link_directories( + ${TQT_LIBRARY_DIRS} +) + + +##### other data ################################ + +install( FILES ksvnd.desktop + DESTINATION ${SERVICES_INSTALL_DIR}/kded ) + + +##### kded_ksvnd (module) ####################### + +tde_add_kpart( kded_ksvnd AUTOMOC + SOURCES commitdlg.ui ksvnd.cpp ksvnd.skel + LINK tdeio-shared tdeinit_kded-shared + DESTINATION ${PLUGIN_INSTALL_DIR} +) diff --git a/tdeioslave/svn/ksvnd/Makefile.am b/tdeioslave/svn/ksvnd/Makefile.am new file mode 100644 index 00000000..54eb2bee --- /dev/null +++ b/tdeioslave/svn/ksvnd/Makefile.am @@ -0,0 +1,13 @@ +#INCLUDES= -I$(top_srcdir)/tdewallet/client $(all_includes) +INCLUDES= $(all_includes) + +kde_module_LTLIBRARIES = kded_ksvnd.la + +kded_ksvnd_la_SOURCES = commitdlg.ui ksvnd.cpp ksvnd.skel +kded_ksvnd_la_METASOURCES = AUTO +kded_ksvnd_la_LDFLAGS = $(all_libraries) -module -avoid-version +#kded_ksvnd_la_LIBADD = $(top_builddir)/tdewallet/client/libtdewalletclient.la $(LIB_KIO) +kded_ksvnd_la_LIBADD = $(LIB_KIO) + +kded_DATA = ksvnd.desktop +kdeddir = $(kde_servicesdir)/kded diff --git a/tdeioslave/svn/ksvnd/commitdlg.ui b/tdeioslave/svn/ksvnd/commitdlg.ui new file mode 100644 index 00000000..fb45eda1 --- /dev/null +++ b/tdeioslave/svn/ksvnd/commitdlg.ui @@ -0,0 +1,116 @@ + +CommitDlg + + + CommitDlg + + + + 0 + 0 + 451 + 337 + + + + Log Message + + + + unnamed + + + + layout2 + + + + unnamed + + + + textMessage + + + + + listMessage + + + true + + + + + layout1 + + + + unnamed + + + + spacer1 + + + Horizontal + + + Expanding + + + + 220 + 20 + + + + + + pushButton1 + + + &OK + + + + + pushButton2 + + + &Cancel + + + + + + + + + + + pushButton1 + clicked() + CommitDlg + accept() + + + pushButton2 + clicked() + CommitDlg + reject() + + + + commitdlg.ui.h + + + setLog( const TQString & comment ) + logMessage() const + + + + ktextedit.h + ktextedit.h + + diff --git a/tdeioslave/svn/ksvnd/commitdlg.ui.h b/tdeioslave/svn/ksvnd/commitdlg.ui.h new file mode 100644 index 00000000..317476a5 --- /dev/null +++ b/tdeioslave/svn/ksvnd/commitdlg.ui.h @@ -0,0 +1,30 @@ +/* This file is part of the KDE project + Copyright (C) 2004 Mickael Marchand + + 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; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + + +void CommitDlg::setLog( const TQString & comment ) +{ +listMessage->setText(comment); +} + + +TQString CommitDlg::logMessage() const +{ +return textMessage->text(); +} diff --git a/tdeioslave/svn/ksvnd/ksvnd.cpp b/tdeioslave/svn/ksvnd/ksvnd.cpp new file mode 100644 index 00000000..ddc7fb3e --- /dev/null +++ b/tdeioslave/svn/ksvnd/ksvnd.cpp @@ -0,0 +1,351 @@ +/* + This file is part of the KDE Project + + Copyright (C) 2003, 2004 Mickael Marchand + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + version 2 as published by the Free Software Foundation. + + This software 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 library; see the file COPYING. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#include +#include +#include +#include +#include +#include + +#include "config.h" + +#include "ksvnd.h" +#include "commitdlg.h" + +extern "C" { + KDE_EXPORT KDEDModule *create_ksvnd(const TQCString &name) { + return new KSvnd(name); + } +} + +KSvnd::KSvnd(const TQCString &name) + : KDEDModule(name) { +} + +KSvnd::~KSvnd() { +} + +TQString KSvnd::commitDialog(TQString modifiedFiles) { + CommitDlg commitDlg; + commitDlg.setLog( modifiedFiles ); + int result = commitDlg.exec(); + if ( result == TQDialog::Accepted ) { + return commitDlg.logMessage(); + } else + return TQString(); +} + +bool KSvnd::AreAnyFilesInSvn( const KURL::List& wclist ) { + for ( TQValueListConstIterator it = wclist.begin(); it != wclist.end() ; ++it ) { + kdDebug( 7128 ) << "Checking file " << ( *it ) << endl; + TQDir bdir ( ( *it ).path() ); + if ( bdir.exists() && TQFile::exists( ( *it ).path() + "/.svn/entries" ) ) { + return true; + } else if ( !bdir.exists() ) { + if ( isFileInSvnEntries( ( *it ).fileName(), ( *it ).directory() + "/.svn/entries" ) || isFileInExternals ( ( *it ).fileName(), ( *it ).directory()+"/.svn/dir-props" ) ) + return true; + } + } + return false; +} + +bool KSvnd::AreAnyFilesNotInSvn( const KURL::List& wclist ) { + for ( TQValueListConstIterator it = wclist.begin(); it != wclist.end() ; ++it ) { + kdDebug( 7128 ) << "Checking file " << ( *it ) << endl; + TQDir bdir ( ( *it ).path() ); + if ( bdir.exists() && !TQFile::exists( ( *it ).path() + "/.svn/entries" ) ) { + return true; + } else if ( !bdir.exists() ) { + if ( !isFileInSvnEntries( ( *it ).fileName(),( *it ).directory() + "/.svn/entries" ) && !isFileInExternals ( ( *it ).fileName(), ( *it ).directory()+"/.svn/dir-props" ) ) + return true; + } + } + return false; +} + +bool KSvnd::AreAllFilesInSvn( const KURL::List& wclist ) { + for ( TQValueListConstIterator it = wclist.begin(); it != wclist.end() ; ++it ) { + kdDebug( 7128 ) << "Checking file " << ( *it ) << endl; + TQDir bdir ( ( *it ).path() ); + if ( bdir.exists() && !TQFile::exists( ( *it ).path() + "/.svn/entries" ) ) { + return false; + } else if ( !bdir.exists() ) { + if ( !isFileInSvnEntries( ( *it ).fileName(),( *it ).directory() + "/.svn/entries" ) && !isFileInExternals ( ( *it ).fileName(), ( *it ).directory()+"/.svn/dir-props" ) ) + return false; + } + } + return true; +} + +bool KSvnd::AreAllFilesNotInSvn( const KURL::List& wclist ) { + for ( TQValueListConstIterator it = wclist.begin(); it != wclist.end() ; ++it ) { + kdDebug( 7128 ) << "Checking file " << ( *it ) << endl; + TQDir bdir ( ( *it ).path() ); + if ( bdir.exists() && TQFile::exists( ( *it ).path() + "/.svn/entries" ) ) { + return false; + } else if ( !bdir.exists() ) { + if ( isFileInSvnEntries( ( *it ).fileName(),( *it ).directory() + "/.svn/entries" ) || isFileInExternals ( ( *it ).fileName(), ( *it ).directory()+"/.svn/dir-props" ) ) + return false; + } + } + return true; +} + +bool KSvnd::isFileInSvnEntries ( const TQString filename, const TQString entfile ) { + TQFile file( entfile ); + if ( file.open( IO_ReadOnly ) ) { + TQTextStream stream( &file ); + TQString line; + while ( !stream.atEnd() ) { + line = stream.readLine().simplifyWhiteSpace(); + if ( line == "name=\""+ filename + "\"" ) { + file.close(); + return true; + } + } + file.close(); + } + return false; +} + +bool KSvnd::isFileInExternals ( const TQString filename, const TQString propfile ) { + TQFile file( propfile ); + if ( file.open( IO_ReadOnly ) ) { + TQTextStream stream( &file ); + TQStringList line; + while ( !stream.atEnd() ) + line << stream.readLine().simplifyWhiteSpace(); + for ( uint i = 0 ; i < line.count(); i++ ) { + if ( line[ i ] == "K 13" && line[ i+1 ] == "svn:externals" ) { //Key 13 : svn:externals + //next line should be "V xx" + if ( line [ i+2 ].startsWith( "V " ) ) { + //ok browse the values now + i+=2; + while ( i < line.count() ) { + if ( line[ i ].startsWith( filename+" " ) ) { //found it ! + file.close( ); + return true; + } else if ( line[ i ].isEmpty() ) { + file.close( ); + return false; //we are out of svn:externals now... + } + i++; + } + } + } + } + file.close(); + } + return false; +} + +bool KSvnd::anyNotValidWorkingCopy( const KURL::List& wclist ) { + bool result = true; //one negative match is enough + for ( TQValueListConstIterator it = wclist.begin(); it != wclist.end() ; ++it ) { + //exception for .svn dirs + if ( ( *it ).path(-1).endsWith( "/.svn" ) ) + return true; + //if is a directory check whether it contains a .svn/entries file + TQDir dir( ( *it ).path() ); + if ( dir.exists() ) { //it's a dir + if ( !TQFile::exists( ( *it ).path() + "/.svn/entries" ) ) + result = false; + } + + //else check if ./.svn/entries exists + if ( !TQFile::exists( ( *it ).directory() + "/.svn/entries" ) ) + result = false; + } + return result; +} + +bool KSvnd::anyValidWorkingCopy( const KURL::List& wclist ) { + for ( TQValueListConstIterator it = wclist.begin(); it != wclist.end() ; ++it ) { + //skip .svn dirs + if ( ( *it ).path(-1).endsWith( "/.svn" ) ) + continue; + //if is a directory check whether it contains a .svn/entries file + TQDir dir( ( *it ).path() ); + if ( dir.exists() ) { //it's a dir + if ( TQFile::exists( ( *it ).path() + "/.svn/entries" ) ) + return true; + } + + //else check if ./.svn/entries exists + if ( TQFile::exists( ( *it ).directory() + "/.svn/entries" ) ) + return true; + } + return false; +} + +int KSvnd::getStatus( const KURL::List& list ) { + int result = 0; + uint files = 0, folders = 0, parentsentries = 0, parentshavesvn = 0, subdirhavesvn = 0, external = 0; + for ( TQValueListConstIterator it = list.begin(); it != list.end() ; ++it ) { + if ( isFolder ( ( *it ) ) ) { + folders++; + } else { + files++; + } + if ( isFileInSvnEntries ( (*it).filename(),( *it ).directory() + "/.svn/entries" ) ) { // normal subdir known in the working copy + parentsentries++; + } else if ( isFolder( *it ) ) { // other subfolders (either another module checkouted or an external, or something not known at all) + if ( TQFile::exists( ( *it ).path() + "/.svn/entries" ) ) + subdirhavesvn++; + if ( isFileInExternals( (*it).filename(), ( *it ).directory() + "/.svn/dir-props" ) ) { + external++; + } + } + if ( ( isFolder( ( *it ) ) && TQFile::exists( ( *it ).directory() + "../.svn/entries" ) ) || TQFile::exists( ( *it ).directory() + "/.svn/entries" ) ) //parent has a .svn ? + parentshavesvn++; + } + if ( files > 0 ) + result |= SomeAreFiles; + if ( folders == list.count() ) { + result |= AllAreFolders; + result |= SomeAreFolders; + } + if ( folders > 0 ) + result |= SomeAreFolders; + if ( parentsentries == list.count() ) { + result |= AllAreInParentsEntries; + result |= SomeAreInParentsEntries; + } else if ( parentsentries != 0 ) + result |= SomeAreInParentsEntries; + if ( parentshavesvn == list.count() ) { + result |= AllParentsHaveSvn; + result |= SomeParentsHaveSvn; + } else if ( parentshavesvn > 0 ) + result |= SomeParentsHaveSvn; + if ( subdirhavesvn == list.count() ) { + result |= AllHaveSvn; + result |= SomeHaveSvn; + } else if ( subdirhavesvn > 0 ) + result |= SomeHaveSvn; + if ( external == list.count() ) { + result |= AllAreExternalToParent; + result |= SomeAreExternalToParent; + } else if ( external > 0 ) + result |= SomeAreExternalToParent; + + return result; +} + +bool KSvnd::isFolder( const KURL& url ) { + TQDir d( url.path() ); + return d.exists(); +} + +TQStringList KSvnd::getActionMenu ( const KURL::List &list ) { + TQStringList result; + int listStatus = getStatus( list ); + + if ( !(listStatus & SomeAreInParentsEntries) && + !(listStatus & SomeAreExternalToParent) && + !(listStatus & SomeHaveSvn)) { + if( list.size() == 1 && listStatus & SomeAreFolders) { + result << "Checkout"; + result << "Export"; +// result << "CreateRepository"; + result << "Import"; + } + } else if ( (listStatus & AllAreInParentsEntries) ) { + result << "Diff"; + //In SVN +// result << "ShowLog"; +// result << "CheckForModifications"; +// result << "RevisionGraph"; +// result << "_SEPARATOR_"; +// result << "Update to revision..." + result << "Rename"; + result << "Delete"; + if( listStatus & SomeAreFolders && !(listStatus & SomeAreFiles)) { + result << "Revert"; +// result << "Cleanup"; + } + result << "_SEPARATOR_"; +// result << "BranchTag"; + result << "Switch"; + result << "Merge"; + if( listStatus & SomeAreFolders && !(listStatus & SomeAreFiles)) { +// result << "Export"; +// result << "Relocate"; + result << "_SEPARATOR_"; + result << "Add"; + } + result << "_SEPARATOR_"; + if( listStatus & SomeAreFiles && !(listStatus & SomeAreFolders)) { + result << "Blame"; + } + result << "CreatePatch"; + + if( list.size() == 1 && listStatus & SomeAreFolders) { +// result << "ApplyPatchToFolder"; + } + } + return result; +} + +TQStringList KSvnd::getTopLevelActionMenu ( const KURL::List &list ) { + TQStringList result; + int listStatus = getStatus( list ); + + + if ( ( listStatus & AllParentsHaveSvn && + ( ( listStatus & SomeAreExternalToParent ) || ( listStatus & SomeAreInParentsEntries ) ) + || ( listStatus & SomeHaveSvn ) ) + ) { + result << "Update"; + result << "Commit"; + } + + return result; +} + +#if 0 +void KSvnd::notify(const TQString& path, int action, int kind, const TQString& mime_type, int content_state, int prop_state, long int revision, const TQString& userstring) { + kdDebug(7128) << "KDED/Subversion : notify " << path << " action : " << action << " mime_type : " << mime_type << " content_state : " << content_state << " prop_state : " << prop_state << " revision : " << revision << " userstring : " << userstring << endl; + TQByteArray params; + + TQDataStream stream(params, IO_WriteOnly); + stream << path << action << kind << mime_type << content_state << prop_state << revision << userstring; + + emitDCOPSignal( "subversionNotify(TQString,int,int,TQString,int,int,long int,TQString)", params ); +} + +void KSvnd::status(const TQString& path, int text_status, int prop_status, int repos_text_status, int repos_prop_status, long int rev ) { + kdDebug(7128) << "KDED/Subversion : status " << path << " " << text_status << " " << prop_status << " " + << repos_text_status << " " << repos_prop_status << " " << rev << endl; + TQByteArray params; + + TQDataStream stream(params, IO_WriteOnly); + stream << path << text_status << prop_status << repos_text_status << repos_prop_status << rev; + + emitDCOPSignal( "subversionStatus(TQString,int,int,int,int,long int)", params ); +} + +void KSvnd::popupMessage( const TQString& message ) { + kdDebug(7128) << "KDED/Subversion : popupMessage" << message << endl; + KMessageBox::information(0, message, i18n( "Subversion" ) ); +} +#endif + +#include "ksvnd.moc" diff --git a/tdeioslave/svn/ksvnd/ksvnd.desktop b/tdeioslave/svn/ksvnd/ksvnd.desktop new file mode 100644 index 00000000..31f37700 --- /dev/null +++ b/tdeioslave/svn/ksvnd/ksvnd.desktop @@ -0,0 +1,50 @@ +[Desktop Entry] +Type=Service +Name=KDED Subversion Module +Name[bg]=Модул KDED Subversion +Name[br]=Mollad Subversion KDED +Name[ca]=Mòdul KDED de Subversion +Name[cs]=KDED Subversion modul +Name[da]=KDED Subversion modul +Name[de]=Subversion-Unterstützung +Name[el]=Άρθρωμα KDED Subversion +Name[es]=Módulo de Subversion de KDED +Name[et]=KDED Subversioni moodul +Name[eu]=KDED Subversion modulua +Name[fa]=پیمانۀ زیرنسخۀ KDED +Name[fi]=KDED Subversion -moduuli +Name[fr]=Module KDED Subversion +Name[ga]=Modúl Subversion KDED +Name[gl]=Módulo KDED Subversion +Name[hu]=KDED Subversion modul +Name[is]=KDED Subversion eining +Name[it]=Modulo Subversion di KDED +Name[ja]=KDED Subversion モジュール +Name[ka]=KDED Subversion მოდული +Name[kk]=KDED Subversion қызмет модулі +Name[lt]=KDED Subversion modulis +Name[nb]=KDED Subversion-modul +Name[nds]=KDED Subversion-Moduul +Name[ne]=केडीईडी उप संस्करण मोड्युल +Name[nl]=KDED Subversion-module +Name[nn]=KDED Subversion-modul +Name[pa]=KDED ਸਬ-ਵਰਜਨ ਮੈਡੀਊਲ +Name[pl]=Moduł Subversion dla KDED +Name[pt]=Módulo KDED Subversion +Name[pt_BR]=Módulo de Sub-versão KDED +Name[ru]=Служба Subversion +Name[sk]=KDED Subversion modul +Name[sl]=Modul Subversion za KDED +Name[sr]=KDED модул за Subversion +Name[sr@Latn]=KDED modul za Subversion +Name[sv]=KDED Subversion-modul +Name[tr]=KDED Alt Versiyon Modülü +Name[uk]=Модуль KDED Subversion +Name[zh_CN]=KDED Subversion 模块 +Name[zh_TW]=KDED Subversion 模組 +ServiceTypes=KDEDModule +X-TDE-ModuleType=Library +X-TDE-Library=ksvnd +X-TDE-FactoryName=ksvnd +X-TDE-Kded-autoload=true +X-TDE-Kded-load-on-demand=true diff --git a/tdeioslave/svn/ksvnd/ksvnd.h b/tdeioslave/svn/ksvnd/ksvnd.h new file mode 100644 index 00000000..90612937 --- /dev/null +++ b/tdeioslave/svn/ksvnd/ksvnd.h @@ -0,0 +1,70 @@ +/* + This file is part of the KDE Project + + Copyright (C) 2003-2005 Mickael Marchand + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + version 2 as published by the Free Software Foundation. + + This software 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 library; see the file COPYING. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef KSVND_H +#define KSVND_H + +#include +#include +#include +#include + +class KSvnd : public KDEDModule +{ + Q_OBJECT +// + K_DCOP + + //note: InSVN means parent is added. InRepos means itself is added + enum { SomeAreFiles = 1, SomeAreFolders = 2, SomeAreInParentsEntries = 4, SomeParentsHaveSvn = 8, SomeHaveSvn = 16, SomeAreExternalToParent = 32, AllAreInParentsEntries = 64, AllParentsHaveSvn = 128, AllHaveSvn = 256, AllAreExternalToParent = 512, AllAreFolders = 1024 }; +public: + KSvnd(const TQCString &); + ~KSvnd(); + +k_dcop: +// void addAuthInfo(TDEIO::AuthInfo, long); + TQString commitDialog(TQString); + bool anyNotValidWorkingCopy( const KURL::List& wclist ); + bool anyValidWorkingCopy( const KURL::List& wclist ); + bool AreAnyFilesNotInSvn( const KURL::List& wclist ); + bool AreAnyFilesInSvn( const KURL::List& wclist ); + bool AreAllFilesNotInSvn( const KURL::List& wclist ); + bool AreAllFilesInSvn( const KURL::List& wclist ); + TQStringList getActionMenu ( const KURL::List& list ); + TQStringList getTopLevelActionMenu ( const KURL::List &list ); +// void notify(const TQString&, int ,int, const TQString& , int , int, long int, const TQString&); +// void status(const TQString& path, int text_status, int prop_status, int repos_text_status, int repos_prop_status ,long int rev); +// void popupMessage( const TQString& message ); + +k_dcop_signals: + //emitted whenever something happens using subversion ;) +// void subversionNotify(const TQString&, int ,int, const TQString& , int , int, long int, const TQString&); +// void subversionStatus(const TQString&,int,int,int,int,long int); + +public slots: + +protected: + bool isFileInSvnEntries ( const TQString filename, const TQString entfile ); + bool isFileInExternals ( const TQString filename, const TQString propfile ); + bool isFolder( const KURL& url ); + int getStatus( const KURL::List& list ); +}; + +#endif diff --git a/tdeioslave/svn/svn+file.protocol b/tdeioslave/svn/svn+file.protocol new file mode 100644 index 00000000..ff8edc5e --- /dev/null +++ b/tdeioslave/svn/svn+file.protocol @@ -0,0 +1,43 @@ +[Protocol] +exec=kio_svn +protocol=svn+file +input=none +output=filesystem +reading=true +writing=true +deleting=true +makedir=true +linking=false +moving=true +listing=Name,Size,Date,Owner +defaultMimetype=application/octet-stream +Icon=remote +Description=Subversion ioslave +Description[br]=Sklav E/D Subversion +Description[ca]=Ioslave de Subversion +Description[cs]=Subversion protokol +Description[de]=Ein-/Ausgabemodul für Subversion +Description[es]=El ioslave de Subversion +Description[et]=Subversioni IO-moodul +Description[fr]=ioslave subversion +Description[ga]=ioslave Subversion +Description[gl]=Ioslave para Subversíon +Description[hu]=Subversion KDE-protokoll +Description[it]=Slave I/O di Subversion +Description[lt]=Subversion įvesties-išvesties priedas +Description[nb]=Subversion-iu-slave +Description[nds]=In-/Utgaavmoduul för Subversion +Description[ne]=उप संस्करण ioslave +Description[nn]=Subversion-iu-slave +Description[pl]=Wtyczka protokołu Subversion +Description[pt]='Ioslave' para Subversion +Description[pt_BR]=ioslave de Subversão +Description[ru]=Доступ к хранилищу Subversion +Description[sl]=ioslave za Subversion +Description[sr]=IOSlave за Subversion +Description[sr@Latn]=IOSlave za Subversion +Description[sv]=Subversion I/O-slav +Description[tr]=Alt Version ioslave +Description[uk]=Підлеглий В/В Subversion +maxInstances=5 +class=:internet diff --git a/tdeioslave/svn/svn+http.protocol b/tdeioslave/svn/svn+http.protocol new file mode 100644 index 00000000..656fa217 --- /dev/null +++ b/tdeioslave/svn/svn+http.protocol @@ -0,0 +1,43 @@ +[Protocol] +exec=kio_svn +protocol=svn+http +input=none +output=filesystem +reading=true +writing=true +deleting=true +makedir=true +linking=false +moving=true +listing=Name,Size,Date,Owner +defaultMimetype=application/octet-stream +Icon=remote +Description=Subversion ioslave +Description[br]=Sklav E/D Subversion +Description[ca]=Ioslave de Subversion +Description[cs]=Subversion protokol +Description[de]=Ein-/Ausgabemodul für Subversion +Description[es]=El ioslave de Subversion +Description[et]=Subversioni IO-moodul +Description[fr]=ioslave subversion +Description[ga]=ioslave Subversion +Description[gl]=Ioslave para Subversíon +Description[hu]=Subversion KDE-protokoll +Description[it]=Slave I/O di Subversion +Description[lt]=Subversion įvesties-išvesties priedas +Description[nb]=Subversion-iu-slave +Description[nds]=In-/Utgaavmoduul för Subversion +Description[ne]=उप संस्करण ioslave +Description[nn]=Subversion-iu-slave +Description[pl]=Wtyczka protokołu Subversion +Description[pt]='Ioslave' para Subversion +Description[pt_BR]=ioslave de Subversão +Description[ru]=Доступ к хранилищу Subversion +Description[sl]=ioslave za Subversion +Description[sr]=IOSlave за Subversion +Description[sr@Latn]=IOSlave za Subversion +Description[sv]=Subversion I/O-slav +Description[tr]=Alt Version ioslave +Description[uk]=Підлеглий В/В Subversion +maxInstances=5 +class=:internet diff --git a/tdeioslave/svn/svn+https.protocol b/tdeioslave/svn/svn+https.protocol new file mode 100644 index 00000000..e299958c --- /dev/null +++ b/tdeioslave/svn/svn+https.protocol @@ -0,0 +1,43 @@ +[Protocol] +exec=kio_svn +protocol=svn+https +input=none +output=filesystem +reading=true +writing=true +deleting=true +makedir=true +linking=false +moving=true +listing=Name,Size,Date,Owner +defaultMimetype=application/octet-stream +Icon=remote +Description=Subversion ioslave +Description[br]=Sklav E/D Subversion +Description[ca]=Ioslave de Subversion +Description[cs]=Subversion protokol +Description[de]=Ein-/Ausgabemodul für Subversion +Description[es]=El ioslave de Subversion +Description[et]=Subversioni IO-moodul +Description[fr]=ioslave subversion +Description[ga]=ioslave Subversion +Description[gl]=Ioslave para Subversíon +Description[hu]=Subversion KDE-protokoll +Description[it]=Slave I/O di Subversion +Description[lt]=Subversion įvesties-išvesties priedas +Description[nb]=Subversion-iu-slave +Description[nds]=In-/Utgaavmoduul för Subversion +Description[ne]=उप संस्करण ioslave +Description[nn]=Subversion-iu-slave +Description[pl]=Wtyczka protokołu Subversion +Description[pt]='Ioslave' para Subversion +Description[pt_BR]=ioslave de Subversão +Description[ru]=Доступ к хранилищу Subversion +Description[sl]=ioslave za Subversion +Description[sr]=IOSlave за Subversion +Description[sr@Latn]=IOSlave za Subversion +Description[sv]=Subversion I/O-slav +Description[tr]=Alt Version ioslave +Description[uk]=Підлеглий В/В Subversion +maxInstances=5 +class=:internet diff --git a/tdeioslave/svn/svn+ssh.protocol b/tdeioslave/svn/svn+ssh.protocol new file mode 100644 index 00000000..7c985da9 --- /dev/null +++ b/tdeioslave/svn/svn+ssh.protocol @@ -0,0 +1,43 @@ +[Protocol] +exec=kio_svn +protocol=svn+ssh +input=none +output=filesystem +reading=true +writing=true +deleting=true +makedir=true +linking=false +moving=true +listing=Name,Size,Date,Owner +defaultMimetype=application/octet-stream +Icon=remote +Description=Subversion ioslave +Description[br]=Sklav E/D Subversion +Description[ca]=Ioslave de Subversion +Description[cs]=Subversion protokol +Description[de]=Ein-/Ausgabemodul für Subversion +Description[es]=El ioslave de Subversion +Description[et]=Subversioni IO-moodul +Description[fr]=ioslave subversion +Description[ga]=ioslave Subversion +Description[gl]=Ioslave para Subversíon +Description[hu]=Subversion KDE-protokoll +Description[it]=Slave I/O di Subversion +Description[lt]=Subversion įvesties-išvesties priedas +Description[nb]=Subversion-iu-slave +Description[nds]=In-/Utgaavmoduul för Subversion +Description[ne]=उप संस्करण ioslave +Description[nn]=Subversion-iu-slave +Description[pl]=Wtyczka protokołu Subversion +Description[pt]='Ioslave' para Subversion +Description[pt_BR]=ioslave de Subversão +Description[ru]=Доступ к хранилищу Subversion +Description[sl]=ioslave za Subversion +Description[sr]=IOSlave за Subversion +Description[sr@Latn]=IOSlave za Subversion +Description[sv]=Subversion I/O-slav +Description[tr]=Alt Version ioslave +Description[uk]=Підлеглий В/В Subversion +maxInstances=5 +class=:internet diff --git a/tdeioslave/svn/svn.cpp b/tdeioslave/svn/svn.cpp new file mode 100644 index 00000000..becef81e --- /dev/null +++ b/tdeioslave/svn/svn.cpp @@ -0,0 +1,1593 @@ +/* This file is part of the KDE project + Copyright (C) 2003 Mickael Marchand + + 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; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include +#include + +#include "svn.h" +#include + +using namespace TDEIO; + +typedef struct +{ + /* Holds the directory that corresponds to the REPOS_URL at RA->open() + * time. When callbacks specify a relative path, they are joined with + * this base directory. */ + const char *base_dir; + svn_wc_adm_access_t *base_access; + + /* An array of svn_client_commit_item_t * structures, present only + * during working copy commits. */ + apr_array_header_t *commit_items; + + /* A hash of svn_config_t's, keyed off file name (i.e. the contents of + * ~/.subversion/config end up keyed off of 'config'). */ + apr_hash_t *config; + + /* The pool to use for session-related items. */ + apr_pool_t *pool; + +} svn_client__callback_baton_t; + +static svn_error_t * +open_tmp_file (apr_file_t **fp, + void *callback_baton, + apr_pool_t *pool) +{ + svn_client__callback_baton_t *cb = (svn_client__callback_baton_t *) callback_baton; + const char *truepath; + const char *ignored_filename; + + if (cb->base_dir) + truepath = apr_pstrdup (pool, cb->base_dir); + else + truepath = ""; + + /* Tack on a made-up filename. */ + truepath = svn_path_join (truepath, "tempfile", pool); + + /* Open a unique file; use APR_DELONCLOSE. */ + SVN_ERR (svn_io_open_unique_file (fp, &ignored_filename, + truepath, ".tmp", TRUE, pool)); + + return SVN_NO_ERROR; +} + +static svn_error_t *write_to_string(void *baton, const char *data, apr_size_t *len) { + kbaton *tb = ( kbaton* )baton; + svn_stringbuf_appendbytes(tb->target_string, data, *len); + return SVN_NO_ERROR; +} + +static int +compare_items_as_paths (const svn_sort__item_t*a, const svn_sort__item_t*b) { + return svn_path_compare_paths ((const char *)a->key, (const char *)b->key); +} + +kio_svnProtocol::kio_svnProtocol(const TQCString &pool_socket, const TQCString &app_socket) + : SlaveBase("kio_svn", pool_socket, app_socket) { + kdDebug(7128) << "kio_svnProtocol::kio_svnProtocol()" << endl; + + m_counter = 0; + + apr_initialize(); + // CleanUP ctx preventing crash in svn_client_update and other + memset(&ctx, 0, sizeof(ctx)); + pool = svn_pool_create (NULL); + + svn_error_t *err = svn_client_create_context(&ctx, pool); + if ( err ) { + kdDebug(7128) << "kio_svnProtocol::kio_svnProtocol() create_context ERROR" << endl; + error( TDEIO::ERR_SLAVE_DEFINED, err->message ); + return; + } + + err = svn_config_ensure (NULL,pool); + if ( err ) { + kdDebug(7128) << "kio_svnProtocol::kio_svnProtocol() configensure ERROR" << endl; + error( TDEIO::ERR_SLAVE_DEFINED, err->message ); + return; + } + svn_config_get_config (&ctx->config, NULL, pool); + + ctx->log_msg_func = kio_svnProtocol::commitLogPrompt; + ctx->log_msg_baton = this; //pass this so that we can get a dcopClient from it + //TODO + ctx->cancel_func = NULL; + + apr_array_header_t *providers = apr_array_make(pool, 9, sizeof(svn_auth_provider_object_t *)); + + svn_auth_provider_object_t *provider; + + //disk cache + svn_client_get_simple_provider(&provider,pool); + APR_ARRAY_PUSH(providers, svn_auth_provider_object_t*) = provider; + svn_client_get_username_provider(&provider,pool); + APR_ARRAY_PUSH(providers, svn_auth_provider_object_t*) = provider; + + //interactive prompt + svn_client_get_simple_prompt_provider (&provider,kio_svnProtocol::checkAuth,this,2,pool); + APR_ARRAY_PUSH(providers, svn_auth_provider_object_t*) = provider; + //we always ask user+pass, no need for a user only question +/* svn_client_get_username_prompt_provider + * (&provider,kio_svnProtocol::checkAuth,this,2,pool); + APR_ARRAY_PUSH(providers, svn_auth_provider_object_t*) = provider;*/ + + //SSL disk cache, keep that one, because it does nothing bad :) + svn_client_get_ssl_server_trust_file_provider (&provider, pool); + APR_ARRAY_PUSH (providers, svn_auth_provider_object_t *) = provider; + svn_client_get_ssl_client_cert_file_provider (&provider, pool); + APR_ARRAY_PUSH (providers, svn_auth_provider_object_t *) = provider; + svn_client_get_ssl_client_cert_pw_file_provider (&provider, pool); + APR_ARRAY_PUSH (providers, svn_auth_provider_object_t *) = provider; + + //SSL interactive prompt, where things get hard + svn_client_get_ssl_server_trust_prompt_provider (&provider, kio_svnProtocol::trustSSLPrompt, NULL, pool); + APR_ARRAY_PUSH (providers, svn_auth_provider_object_t *) = provider; + svn_client_get_ssl_client_cert_prompt_provider (&provider, kio_svnProtocol::clientCertSSLPrompt, NULL, 2, pool); + APR_ARRAY_PUSH (providers, svn_auth_provider_object_t *) = provider; + svn_client_get_ssl_client_cert_pw_prompt_provider (&provider, kio_svnProtocol::clientCertPasswdPrompt, NULL, 2, pool); + APR_ARRAY_PUSH (providers, svn_auth_provider_object_t *) = provider; + + svn_auth_open(&ctx->auth_baton, providers, pool); +} + +kio_svnProtocol::~kio_svnProtocol(){ + kdDebug(7128) << "kio_svnProtocol::~kio_svnProtocol()" << endl; + svn_pool_destroy(pool); + apr_terminate(); +} + +void kio_svnProtocol::initNotifier(bool is_checkout, bool is_export, bool suppress_final_line, apr_pool_t *spool) { + m_counter=0;//reset counter + ctx->notify_func = kio_svnProtocol::notify; + struct notify_baton *nb = ( struct notify_baton* )apr_palloc(spool, sizeof( *nb ) ); + nb->master = this; + nb->received_some_change = FALSE; + nb->sent_first_txdelta = FALSE; + nb->is_checkout = is_checkout; + nb->is_export = is_export; + nb->suppress_final_line = suppress_final_line; + nb->in_external = FALSE; + nb->had_print_error = FALSE; + nb->pool = svn_pool_create (spool); + + ctx->notify_baton = nb; +} + +svn_error_t* kio_svnProtocol::checkAuth(svn_auth_cred_simple_t **cred, void *baton, const char *realm, const char *username, svn_boolean_t /*may_save*/, apr_pool_t *pool) { + kdDebug(7128) << "kio_svnProtocol::checkAuth() for " << realm << endl; + kio_svnProtocol *p = ( kio_svnProtocol* )baton; + svn_auth_cred_simple_t *ret = (svn_auth_cred_simple_t*)apr_pcalloc (pool, sizeof (*ret)); + +// p->info.keepPassword = true; + p->info.verifyPath=true; + kdDebug(7128 ) << "auth current URL : " << p->myURL.url() << endl; + p->info.url = p->myURL; + p->info.username = username; //( const char* )svn_auth_get_parameter( p->ctx->auth_baton, SVN_AUTH_PARAM_DEFAULT_USERNAME ); +// if ( !p->checkCachedAuthentication( p->info ) ){ + p->openPassDlg( p->info ); +// } + ret->username = apr_pstrdup(pool, p->info.username.utf8()); + ret->password = apr_pstrdup(pool, p->info.password.utf8()); + ret->may_save = true; + *cred = ret; + return SVN_NO_ERROR; +} + +void kio_svnProtocol::recordCurrentURL(const KURL& url) { + myURL = url; +} + +//don't implement mimeType() until we don't need to download the whole file + +void kio_svnProtocol::get(const KURL& url ){ + kdDebug(7128) << "kio_svn::get(const KURL& url)" << endl ; + + TQString remoteServer = url.host(); + infoMessage(i18n("Looking for %1...").arg( remoteServer ) ); + + apr_pool_t *subpool = svn_pool_create (pool); + kbaton *bt = (kbaton*)apr_pcalloc(subpool, sizeof(*bt)); + bt->target_string = svn_stringbuf_create("", subpool); + bt->string_stream = svn_stream_create(bt,subpool); + svn_stream_set_write(bt->string_stream,write_to_string); + + TQString target = makeSvnURL( url ); + kdDebug(7128) << "SvnURL: " << target << endl; + recordCurrentURL( KURL( target ) ); + + //find the requested revision + svn_opt_revision_t rev; + svn_opt_revision_t endrev; + int idx = target.findRev( "?rev=" ); + if ( idx != -1 ) { + TQString revstr = target.mid( idx+5 ); +#if 0 + kdDebug(7128) << "revision string found " << revstr << endl; + if ( revstr == "HEAD" ) { + rev.kind = svn_opt_revision_head; + kdDebug(7128) << "revision searched : HEAD" << endl; + } else { + rev.kind = svn_opt_revision_number; + rev.value.number = revstr.toLong(); + kdDebug(7128) << "revision searched : " << rev.value.number << endl; + } +#endif + svn_opt_parse_revision( &rev, &endrev, revstr.utf8(), subpool ); + target = target.left( idx ); + kdDebug(7128) << "new target : " << target << endl; + } else { + kdDebug(7128) << "no revision given. searching HEAD " << endl; + rev.kind = svn_opt_revision_head; + } + initNotifier(false, false, false, subpool); + + svn_error_t *err = svn_client_cat (bt->string_stream, svn_path_canonicalize( target.utf8(),subpool ),&rev,ctx, subpool); + if ( err ) { + error( TDEIO::ERR_SLAVE_DEFINED, err->message ); + svn_pool_destroy( subpool ); + return; + } + + // Send the mimeType as soon as it is known + TQByteArray *cp = new TQByteArray(); + cp->setRawData( bt->target_string->data, bt->target_string->len ); + KMimeType::Ptr mt = KMimeType::findByContent(*cp); + kdDebug(7128) << "KMimeType returned : " << mt->name() << endl; + mimeType( mt->name() ); + + totalSize(bt->target_string->len); + + //send data + data(*cp); + + data(TQByteArray()); // empty array means we're done sending the data + finished(); + svn_pool_destroy (subpool); +} + +void kio_svnProtocol::stat(const KURL & url){ + kdDebug(7128) << "kio_svn::stat(const KURL& url) : " << url.url() << endl ; + + void *ra_baton, *session; + svn_ra_plugin_t *ra_lib; + svn_node_kind_t kind; + apr_pool_t *subpool = svn_pool_create (pool); + + TQString target = makeSvnURL( url); + kdDebug(7128) << "SvnURL: " << target << endl; + recordCurrentURL( KURL( target ) ); + + //find the requested revision + svn_opt_revision_t rev; + svn_opt_revision_t endrev; + int idx = target.findRev( "?rev=" ); + if ( idx != -1 ) { + TQString revstr = target.mid( idx+5 ); +#if 0 + kdDebug(7128) << "revision string found " << revstr << endl; + if ( revstr == "HEAD" ) { + rev.kind = svn_opt_revision_head; + kdDebug(7128) << "revision searched : HEAD" << endl; + } else { + rev.kind = svn_opt_revision_number; + rev.value.number = revstr.toLong(); + kdDebug(7128) << "revision searched : " << rev.value.number << endl; + } +#endif + svn_opt_parse_revision( &rev, &endrev, revstr.utf8( ), subpool ); + target = target.left( idx ); + kdDebug(7128) << "new target : " << target << endl; + } else { + kdDebug(7128) << "no revision given. searching HEAD " << endl; + rev.kind = svn_opt_revision_head; + } + + //init + svn_error_t *err = svn_ra_init_ra_libs(&ra_baton,subpool); + if ( err ) { + kdDebug(7128) << "init RA libs failed : " << err->message << endl; + return; + } + //find RA libs + err = svn_ra_get_ra_library(&ra_lib,ra_baton,svn_path_canonicalize( target.utf8(), subpool ),subpool); + if ( err ) { + kdDebug(7128) << "RA get libs failed : " << err->message << endl; + return; + } + kdDebug(7128) << "RA init completed" << endl; + + //start session + svn_ra_callbacks_t *cbtable = (svn_ra_callbacks_t*)apr_pcalloc(subpool, sizeof(*cbtable)); + kio_svn_callback_baton_t *callbackbt = (kio_svn_callback_baton_t*)apr_pcalloc(subpool, sizeof( *callbackbt )); + + cbtable->open_tmp_file = open_tmp_file; + cbtable->get_wc_prop = NULL; + cbtable->set_wc_prop = NULL; + cbtable->push_wc_prop = NULL; + cbtable->auth_baton = ctx->auth_baton; + + callbackbt->base_dir = target.utf8(); + callbackbt->pool = subpool; + callbackbt->config = ctx->config; + + err = ra_lib->open(&session,svn_path_canonicalize( target.utf8(), subpool ),cbtable,callbackbt,ctx->config,subpool); + if ( err ) { + kdDebug(7128)<< "Open session " << err->message << endl; + return; + } + kdDebug(7128) << "Session opened to " << target << endl; + //find number for HEAD + if (rev.kind == svn_opt_revision_head) { + err = ra_lib->get_latest_revnum(session,&rev.value.number,subpool); + if ( err ) { + kdDebug(7128)<< "Latest RevNum " << err->message << endl; + return; + } + kdDebug(7128) << "Got rev " << rev.value.number << endl; + } + + //get it + ra_lib->check_path(session,"",rev.value.number,&kind,subpool); + kdDebug(7128) << "Checked Path" << endl; + UDSEntry entry; + switch ( kind ) { + case svn_node_file: + kdDebug(7128) << "::stat result : file" << endl; + createUDSEntry(url.filename(),"",0,false,0,entry); + statEntry( entry ); + break; + case svn_node_dir: + kdDebug(7128) << "::stat result : directory" << endl; + createUDSEntry(url.filename(),"",0,true,0,entry); + statEntry( entry ); + break; + case svn_node_unknown: + case svn_node_none: + //error XXX + default: + kdDebug(7128) << "::stat result : UNKNOWN ==> WOW :)" << endl; + ; + } + finished(); + svn_pool_destroy( subpool ); +} + +void kio_svnProtocol::listDir(const KURL& url){ + kdDebug(7128) << "kio_svn::listDir(const KURL& url) : " << url.url() << endl ; + + apr_pool_t *subpool = svn_pool_create (pool); + apr_hash_t *dirents; + + TQString target = makeSvnURL( url); + kdDebug(7128) << "SvnURL: " << target << endl; + recordCurrentURL( KURL( target ) ); + + //find the requested revision + svn_opt_revision_t rev; + svn_opt_revision_t endrev; + int idx = target.findRev( "?rev=" ); + if ( idx != -1 ) { + TQString revstr = target.mid( idx+5 ); + svn_opt_parse_revision( &rev, &endrev, revstr.utf8(), subpool ); +#if 0 + kdDebug(7128) << "revision string found " << revstr << endl; + if ( revstr == "HEAD" ) { + rev.kind = svn_opt_revision_head; + kdDebug(7128) << "revision searched : HEAD" << endl; + } else { + rev.kind = svn_opt_revision_number; + rev.value.number = revstr.toLong(); + kdDebug(7128) << "revision searched : " << rev.value.number << endl; + } +#endif + target = target.left( idx ); + kdDebug(7128) << "new target : " << target << endl; + } else { + kdDebug(7128) << "no revision given. searching HEAD " << endl; + rev.kind = svn_opt_revision_head; + } + + initNotifier(false, false, false, subpool); + svn_error_t *err = svn_client_ls (&dirents, svn_path_canonicalize( target.utf8(), subpool ), &rev, false, ctx, subpool); + if ( err ) { + error( TDEIO::ERR_SLAVE_DEFINED, err->message ); + svn_pool_destroy( subpool ); + return; + } + + apr_array_header_t *array; + int i; + + array = svn_sort__hash (dirents, compare_items_as_paths, subpool); + + UDSEntry entry; + for (i = 0; i < array->nelts; ++i) { + entry.clear(); + const char *utf8_entryname, *native_entryname; + svn_dirent_t *dirent; + svn_sort__item_t *item; + + item = &APR_ARRAY_IDX (array, i, svn_sort__item_t); + + utf8_entryname = (const char*)item->key; + + dirent = (svn_dirent_t*)apr_hash_get (dirents, utf8_entryname, item->klen); + + svn_utf_cstring_from_utf8 (&native_entryname, utf8_entryname, subpool); + const char *native_author = NULL; + + //XXX BUGGY +/* apr_time_exp_t timexp; + apr_time_exp_lt(&timexp, dirent->time); + apr_os_exp_time_t *ostime; + apr_os_exp_time_get( &ostime, &timexp); + + time_t mtime = mktime( ostime );*/ + + if (dirent->last_author) + svn_utf_cstring_from_utf8 (&native_author, dirent->last_author, subpool); + + if ( createUDSEntry(TQString( native_entryname ), TQString( native_author ), dirent->size, + dirent->kind==svn_node_dir ? true : false, 0, entry) ) + listEntry( entry, false ); + } + listEntry( entry, true ); + + finished(); + svn_pool_destroy (subpool); +} + +bool kio_svnProtocol::createUDSEntry( const TQString& filename, const TQString& user, long long int size, bool isdir, time_t mtime, UDSEntry& entry) { + kdDebug(7128) << "MTime : " << ( long )mtime << endl; + kdDebug(7128) << "UDS filename : " << filename << endl; + UDSAtom atom; + atom.m_uds = TDEIO::UDS_NAME; + atom.m_str = filename; + entry.append( atom ); + + atom.m_uds = TDEIO::UDS_FILE_TYPE; + atom.m_long = isdir ? S_IFDIR : S_IFREG; + entry.append( atom ); + + atom.m_uds = TDEIO::UDS_SIZE; + atom.m_long = size; + entry.append( atom ); + + atom.m_uds = TDEIO::UDS_MODIFICATION_TIME; + atom.m_long = mtime; + entry.append( atom ); + + atom.m_uds = TDEIO::UDS_USER; + atom.m_str = user; + entry.append( atom ); + + return true; +} + +void kio_svnProtocol::copy(const KURL & src, const KURL& dest, int /*permissions*/, bool /*overwrite*/) { + kdDebug(7128) << "kio_svnProtocol::copy() Source : " << src.url() << " Dest : " << dest.url() << endl; + + apr_pool_t *subpool = svn_pool_create (pool); + svn_client_commit_info_t *commit_info = NULL; + + KURL nsrc = src; + KURL ndest = dest; + nsrc.setProtocol( chooseProtocol( src.protocol() ) ); + ndest.setProtocol( chooseProtocol( dest.protocol() ) ); + TQString srcsvn = nsrc.url(); + TQString destsvn = ndest.url(); + + recordCurrentURL( nsrc ); + + //find the requested revision + svn_opt_revision_t rev; + int idx = srcsvn.findRev( "?rev=" ); + if ( idx != -1 ) { + TQString revstr = srcsvn.mid( idx+5 ); + kdDebug(7128) << "revision string found " << revstr << endl; + if ( revstr == "HEAD" ) { + rev.kind = svn_opt_revision_head; + kdDebug(7128) << "revision searched : HEAD" << endl; + } else { + rev.kind = svn_opt_revision_number; + rev.value.number = revstr.toLong(); + kdDebug(7128) << "revision searched : " << rev.value.number << endl; + } + srcsvn = srcsvn.left( idx ); + kdDebug(7128) << "new src : " << srcsvn << endl; + } else { + kdDebug(7128) << "no revision given. searching HEAD " << endl; + rev.kind = svn_opt_revision_head; + } + + initNotifier(false, false, false, subpool); + svn_error_t *err = svn_client_copy(&commit_info, srcsvn.utf8(), &rev, destsvn.utf8(), ctx, subpool); + if ( err ) { + error( TDEIO::ERR_SLAVE_DEFINED, err->message ); + } + + finished(); + svn_pool_destroy (subpool); +} + +void kio_svnProtocol::mkdir( const KURL::List& list, int /*permissions*/ ) { + kdDebug(7128) << "kio_svnProtocol::mkdir(LIST) : " << list << endl; + + apr_pool_t *subpool = svn_pool_create (pool); + svn_client_commit_info_t *commit_info = NULL; + + recordCurrentURL( list[ 0 ] ); + + apr_array_header_t *targets = apr_array_make(subpool, list.count()+1, sizeof(const char *)); + + KURL::List::const_iterator it = list.begin(), end = list.end(); + for ( ; it != end; ++it ) { + TQString cur = makeSvnURL( *it ); + kdDebug( 7128 ) << "kio_svnProtocol::mkdir raw url for subversion : " << cur << endl; + const char *_target = apr_pstrdup( subpool, svn_path_canonicalize( apr_pstrdup( subpool, cur.utf8() ), subpool ) ); + (*(( const char ** )apr_array_push(( apr_array_header_t* )targets)) ) = _target; + } + + initNotifier(false, false, false, subpool); + svn_error_t *err = svn_client_mkdir(&commit_info,targets,ctx,subpool); + if ( err ) { + error( TDEIO::ERR_COULD_NOT_MKDIR, err->message ); + } + + finished(); + svn_pool_destroy (subpool); +} + +void kio_svnProtocol::mkdir( const KURL& url, int /*permissions*/ ) { + kdDebug(7128) << "kio_svnProtocol::mkdir() : " << url.url() << endl; + + apr_pool_t *subpool = svn_pool_create (pool); + svn_client_commit_info_t *commit_info = NULL; + + TQString target = makeSvnURL( url); + kdDebug(7128) << "SvnURL: " << target << endl; + recordCurrentURL( KURL( target ) ); + + apr_array_header_t *targets = apr_array_make(subpool, 2, sizeof(const char *)); + (*(( const char ** )apr_array_push(( apr_array_header_t* )targets)) ) = apr_pstrdup( subpool, target.utf8() ); + + initNotifier(false, false, false, subpool); + svn_error_t *err = svn_client_mkdir(&commit_info,targets,ctx,subpool); + if ( err ) { + error( TDEIO::ERR_COULD_NOT_MKDIR, err->message ); + } + + finished(); + svn_pool_destroy (subpool); +} + +void kio_svnProtocol::del( const KURL& url, bool /*isfile*/ ) { + kdDebug(7128) << "kio_svnProtocol::del() : " << url.url() << endl; + + apr_pool_t *subpool = svn_pool_create (pool); + svn_client_commit_info_t *commit_info = NULL; + + TQString target = makeSvnURL(url); + kdDebug(7128) << "SvnURL: " << target << endl; + recordCurrentURL( KURL( target ) ); + + apr_array_header_t *targets = apr_array_make(subpool, 2, sizeof(const char *)); + (*(( const char ** )apr_array_push(( apr_array_header_t* )targets)) ) = apr_pstrdup( subpool, target.utf8() ); + + initNotifier(false, false, false, subpool); + svn_error_t *err = svn_client_delete(&commit_info,targets,false/*force remove locally modified files in wc*/,ctx,subpool); + if ( err ) { + error( TDEIO::ERR_CANNOT_DELETE, err->message ); + } + + finished(); + svn_pool_destroy (subpool); +} + +void kio_svnProtocol::rename(const KURL& src, const KURL& dest, bool /*overwrite*/) { + kdDebug(7128) << "kio_svnProtocol::rename() Source : " << src.url() << " Dest : " << dest.url() << endl; + + apr_pool_t *subpool = svn_pool_create (pool); + svn_client_commit_info_t *commit_info = NULL; + + KURL nsrc = src; + KURL ndest = dest; + nsrc.setProtocol( chooseProtocol( src.protocol() ) ); + ndest.setProtocol( chooseProtocol( dest.protocol() ) ); + TQString srcsvn = nsrc.url(); + TQString destsvn = ndest.url(); + + recordCurrentURL( nsrc ); + + //find the requested revision + svn_opt_revision_t rev; + int idx = srcsvn.findRev( "?rev=" ); + if ( idx != -1 ) { + TQString revstr = srcsvn.mid( idx+5 ); + kdDebug(7128) << "revision string found " << revstr << endl; + if ( revstr == "HEAD" ) { + rev.kind = svn_opt_revision_head; + kdDebug(7128) << "revision searched : HEAD" << endl; + } else { + rev.kind = svn_opt_revision_number; + rev.value.number = revstr.toLong(); + kdDebug(7128) << "revision searched : " << rev.value.number << endl; + } + srcsvn = srcsvn.left( idx ); + kdDebug(7128) << "new src : " << srcsvn << endl; + } else { + kdDebug(7128) << "no revision given. searching HEAD " << endl; + rev.kind = svn_opt_revision_head; + } + + initNotifier(false, false, false, subpool); + svn_error_t *err = svn_client_move(&commit_info, srcsvn.utf8(), &rev, destsvn.utf8(), false/*force remove locally modified files in wc*/, ctx, subpool); + if ( err ) { + error( TDEIO::ERR_CANNOT_RENAME, err->message ); + } + + finished(); + svn_pool_destroy (subpool); +} + +void kio_svnProtocol::special( const TQByteArray& data ) { + kdDebug(7128) << "kio_svnProtocol::special" << endl; + + TQDataStream stream(data, IO_ReadOnly); + int tmp; + + stream >> tmp; + kdDebug(7128) << "kio_svnProtocol::special " << tmp << endl; + + switch ( tmp ) { + case SVN_CHECKOUT: + { + KURL repository, wc; + int revnumber; + TQString revkind; + stream >> repository; + stream >> wc; + stream >> revnumber; + stream >> revkind; + kdDebug(7128) << "kio_svnProtocol CHECKOUT from " << repository.url() << " to " << wc.url() << " at " << revnumber << " or " << revkind << endl; + checkout( repository, wc, revnumber, revkind ); + break; + } + case SVN_UPDATE: + { + KURL wc; + int revnumber; + TQString revkind; + stream >> wc; + stream >> revnumber; + stream >> revkind; + kdDebug(7128) << "kio_svnProtocol UPDATE " << wc.url() << " at " << revnumber << " or " << revkind << endl; + update(wc, revnumber, revkind ); + break; + } + case SVN_COMMIT: + { + KURL::List wclist; + while ( !stream.atEnd() ) { + KURL tmp; + stream >> tmp; + wclist << tmp; + } + kdDebug(7128) << "kio_svnProtocol COMMIT" << endl; + commit( wclist ); + break; + } + case SVN_LOG: + { + kdDebug(7128) << "kio_svnProtocol LOG" << endl; + int revstart, revend; + TQString revkindstart, revkindend; + KURL::List targets; + stream >> revstart; + stream >> revkindstart; + stream >> revend; + stream >> revkindend; + while ( !stream.atEnd() ) { + KURL tmp; + stream >> tmp; + targets << tmp; + } + svn_log( revstart, revkindstart, revend, revkindend, targets ); + break; + } + case SVN_IMPORT: + { + KURL wc,repos; + stream >> repos; + stream >> wc; + kdDebug(7128) << "kio_svnProtocol IMPORT" << endl; + import(repos,wc); + break; + } + case SVN_ADD: + { + KURL wc; + stream >> wc; + kdDebug(7128) << "kio_svnProtocol ADD" << endl; + add(wc); + break; + } + case SVN_DEL: + { + KURL::List wclist; + while ( !stream.atEnd() ) { + KURL tmp; + stream >> tmp; + wclist << tmp; + } + kdDebug(7128) << "kio_svnProtocol DEL" << endl; + wc_delete(wclist); + break; + } + case SVN_REVERT: + { + KURL::List wclist; + while ( !stream.atEnd() ) { + KURL tmp; + stream >> tmp; + wclist << tmp; + } + kdDebug(7128) << "kio_svnProtocol REVERT" << endl; + wc_revert(wclist); + break; + } + case SVN_STATUS: + { + KURL wc; + int checkRepos=false; + int fullRecurse=false; + stream >> wc; + stream >> checkRepos; + stream >> fullRecurse; + kdDebug(7128) << "kio_svnProtocol STATUS" << endl; + wc_status(wc,checkRepos,fullRecurse); + break; + } + case SVN_MKDIR: + { + KURL::List list; + stream >> list; + kdDebug(7128) << "kio_svnProtocol MKDIR" << endl; + mkdir(list,0); + break; + } + case SVN_RESOLVE: + { + KURL url; + bool recurse; + stream >> url; + stream >> recurse; + kdDebug(7128) << "kio_svnProtocol RESOLVE" << endl; + wc_resolve(url,recurse); + break; + } + case SVN_SWITCH: + { + KURL wc,url; + bool recurse; + int revnumber; + TQString revkind; + stream >> wc; + stream >> url; + stream >> recurse; + stream >> revnumber; + stream >> revkind; + kdDebug(7128) << "kio_svnProtocol SWITCH" << endl; + svn_switch(wc,url,revnumber,revkind,recurse); + break; + } + case SVN_DIFF: + { + KURL url1,url2; + int rev1, rev2; + bool recurse; + TQString revkind1, revkind2; + stream >> url1; + stream >> url2; + stream >> rev1; + stream >> revkind1; + stream >> rev2; + stream >> revkind2; + stream >> recurse; + kdDebug(7128) << "kio_svnProtocol DIFF" << endl; + svn_diff(url1,url2,rev1,rev2,revkind1,revkind2,recurse); + break; + } + default: + { + kdDebug(7128) << "kio_svnProtocol DEFAULT" << endl; + break; + } + } +} + +void kio_svnProtocol::popupMessage( const TQString& message ) { + TQByteArray params; + TQDataStream stream(params, IO_WriteOnly); + stream << message; + + if ( !dcopClient()->send( "kded","ksvnd","popupMessage(TQString)", params ) ) + kdWarning() << "Communication with KDED:KSvnd failed" << endl; +} + +void kio_svnProtocol::svn_log( int revstart, const TQString& revkindstart, int revend, const TQString& revkindend, const KURL::List& targets ) { + kdDebug(7128) << "kio_svn::log : " << targets << " from revision " << revstart << " or " << revkindstart << " to " + " revision " << revend << " or " << revkindend + << endl; + + apr_pool_t *subpool = svn_pool_create (pool); + + svn_opt_revision_t rev1 = createRevision( revstart, revkindstart, subpool ); + svn_opt_revision_t rev2 = createRevision( revend, revkindend, subpool ); + + //TODO + + finished(); + svn_pool_destroy (subpool); +} + +svn_opt_revision_t kio_svnProtocol::createRevision( int revision, const TQString& revkind, apr_pool_t *pool ) { + svn_opt_revision_t result,endrev; + + if ( revision != -1 ) { + result.value.number = revision; + result.kind = svn_opt_revision_number; + } else if ( revkind == "WORKING" ) { + result.kind = svn_opt_revision_working; + } else if ( revkind == "BASE" ) { + result.kind = svn_opt_revision_base; + } else if ( !revkind.isNull() ) { + svn_opt_parse_revision(&result,&endrev,revkind.utf8(),pool); + } + return result; +} + +void kio_svnProtocol::svn_diff(const KURL & url1, const KURL& url2,int rev1, int rev2,const TQString& revkind1,const TQString& revkind2,bool recurse) { + kdDebug(7128) << "kio_svn::diff : " << url1.path() << " at revision " << rev1 << " or " << revkind1 << " with " + << url2.path() << " at revision " << rev2 << " or " << revkind2 + << endl ; + + apr_pool_t *subpool = svn_pool_create (pool); + apr_array_header_t *options = svn_cstring_split( "", "\t\r\n", TRUE, subpool ); + + KURL nurl1 = url1; + KURL nurl2 = url2; + nurl1.setProtocol( chooseProtocol( url1.protocol() ) ); //svn+https -> https for eg + nurl2.setProtocol( chooseProtocol( url2.protocol() ) ); + recordCurrentURL( nurl1 ); + TQString source = makeSvnURL( nurl1 ); + TQString target = makeSvnURL( nurl2 ); + + const char *path1 = svn_path_canonicalize( apr_pstrdup( subpool, source.utf8() ), subpool ); + const char *path2 = svn_path_canonicalize( apr_pstrdup( subpool, target.utf8() ), subpool ); + //remove file:/// so we can diff for working copies, needs a better check (so we support URL for file:/// _repositories_ ) + if ( nurl1.protocol() == "file" ) { + path1 = svn_path_canonicalize( apr_pstrdup( subpool, nurl1.path().utf8() ), subpool ); + } + if ( nurl2.protocol() == "file" ) { + path2 = svn_path_canonicalize( apr_pstrdup( subpool, nurl2.path().utf8() ), subpool ); + } + kdDebug( 7128 ) << "1 : " << path1 << " 2: " << path2 << endl; + + svn_opt_revision_t revision1,revision2; + revision1 = createRevision(rev1, revkind1, subpool); + revision2 = createRevision(rev2, revkind2, subpool); + + char *templ; + templ = apr_pstrdup ( subpool, "/tmp/tmpfile_XXXXXX" ); + apr_file_t *outfile = NULL; + apr_file_mktemp( &outfile, templ , APR_READ|APR_WRITE|APR_CREATE|APR_TRUNCATE, subpool ); + + initNotifier(false, false, false, subpool); + svn_error_t *err = svn_client_diff (options, path1, &revision1, path2, &revision2, recurse, false, true, outfile, NULL, ctx, subpool); + if ( err ) + error( TDEIO::ERR_SLAVE_DEFINED, err->message ); + //read the content of the outfile now + TQStringList tmp; + apr_file_close(outfile); + TQFile file(templ); + if ( file.open( IO_ReadOnly ) ) { + TQTextStream stream( &file ); + TQString line; + while ( !stream.atEnd() ) { + line = stream.readLine(); + tmp << line; + } + file.close(); + } + for ( TQStringList::Iterator itt = tmp.begin(); itt != tmp.end(); itt++ ) { + setMetaData(TQString::number( m_counter ).rightJustify( 10,'0' )+ "diffresult", ( *itt ) ); + m_counter++; + } + //delete temp file + file.remove(); + + finished(); + svn_pool_destroy (subpool); +} + +void kio_svnProtocol::svn_switch( const KURL& wc, const KURL& repos, int revnumber, const TQString& revkind, bool recurse) { + kdDebug(7128) << "kio_svn::switch : " << wc.path() << " at revision " << revnumber << " or " << revkind << endl ; + + apr_pool_t *subpool = svn_pool_create (pool); + + KURL nurl = repos; + KURL dest = wc; + nurl.setProtocol( chooseProtocol( repos.protocol() ) ); + dest.setProtocol( "file" ); + recordCurrentURL( nurl ); + TQString source = dest.path(); + TQString target = makeSvnURL( repos ); + + const char *path = svn_path_canonicalize( apr_pstrdup( subpool, source.utf8() ), subpool ); + const char *url = svn_path_canonicalize( apr_pstrdup( subpool, target.utf8() ), subpool ); + + svn_opt_revision_t rev = createRevision( revnumber, revkind, subpool ); + + initNotifier(false, false, false, subpool); + svn_error_t *err = svn_client_switch (NULL/*result revision*/, path, url, &rev, recurse, ctx, subpool); + if ( err ) + error( TDEIO::ERR_SLAVE_DEFINED, err->message ); + + finished(); + svn_pool_destroy (subpool); +} + +void kio_svnProtocol::update( const KURL& wc, int revnumber, const TQString& revkind ) { + kdDebug(7128) << "kio_svn::update : " << wc.path() << " at revision " << revnumber << " or " << revkind << endl ; + + apr_pool_t *subpool = svn_pool_create (pool); + KURL dest = wc; + dest.setProtocol( "file" ); + TQString target = dest.path(); + recordCurrentURL( dest ); + + svn_opt_revision_t rev = createRevision( revnumber, revkind, subpool ); + + initNotifier(false, false, false, subpool); + svn_error_t *err = svn_client_update (NULL, svn_path_canonicalize( target.utf8(), subpool ), &rev, true, ctx, subpool); + if ( err ) + error( TDEIO::ERR_SLAVE_DEFINED, err->message ); + + finished(); + svn_pool_destroy (subpool); +} + +void kio_svnProtocol::import( const KURL& repos, const KURL& wc ) { + kdDebug(7128) << "kio_svnProtocol::import() : " << wc.url() << " into " << repos.url() << endl; + + apr_pool_t *subpool = svn_pool_create (pool); + svn_client_commit_info_t *commit_info = NULL; + bool nonrecursive = false; + + KURL nurl = repos; + KURL dest = wc; + nurl.setProtocol( chooseProtocol( repos.protocol() ) ); + dest.setProtocol( "file" ); + recordCurrentURL( nurl ); + dest.cleanPath( true ); // remove doubled '/' + TQString source = dest.path(-1); + TQString target = makeSvnURL( repos ); + + const char *path = svn_path_canonicalize( apr_pstrdup( subpool, source.utf8() ), subpool ); + const char *url = svn_path_canonicalize( apr_pstrdup( subpool, target.utf8() ), subpool ); + + initNotifier(false, false, false, subpool); + svn_error_t *err = svn_client_import(&commit_info,path,url,nonrecursive,ctx,subpool); + if ( err ) + error( TDEIO::ERR_SLAVE_DEFINED, err->message ); + + finished(); + svn_pool_destroy (subpool); +} + +void kio_svnProtocol::checkout( const KURL& repos, const KURL& wc, int revnumber, const TQString& revkind ) { + kdDebug(7128) << "kio_svn::checkout : " << repos.url() << " into " << wc.path() << " at revision " << revnumber << " or " << revkind << endl ; + + apr_pool_t *subpool = svn_pool_create (pool); + KURL nurl = repos; + KURL dest = wc; + nurl.setProtocol( chooseProtocol( repos.protocol() ) ); + dest.setProtocol( "file" ); + TQString target = makeSvnURL( repos ); + recordCurrentURL( nurl ); + TQString dpath = dest.path(); + + //find the requested revision + svn_opt_revision_t rev = createRevision( revnumber, revkind, subpool ); + + initNotifier(true, false, false, subpool); + svn_error_t *err = svn_client_checkout (NULL/* rev actually checkedout */, svn_path_canonicalize( target.utf8(), subpool ), svn_path_canonicalize ( dpath.utf8(), subpool ), &rev, true, ctx, subpool); + if ( err ) + error( TDEIO::ERR_SLAVE_DEFINED, err->message ); + + finished(); + svn_pool_destroy (subpool); +} + +void kio_svnProtocol::commit(const KURL::List& wc) { + kdDebug(7128) << "kio_svnProtocol::commit() : " << wc << endl; + + apr_pool_t *subpool = svn_pool_create (pool); + svn_client_commit_info_t *commit_info = NULL; + bool nonrecursive = false; + + apr_array_header_t *targets = apr_array_make(subpool, 1+wc.count(), sizeof(const char *)); + + for ( TQValueListConstIterator it = wc.begin(); it != wc.end() ; ++it ) { + KURL nurl = *it; + nurl.setProtocol( "file" ); + recordCurrentURL( nurl ); + (*(( const char ** )apr_array_push(( apr_array_header_t* )targets)) ) = svn_path_canonicalize( nurl.path().utf8(), subpool ); + } + + initNotifier(false, false, false, subpool); + svn_error_t *err = svn_client_commit(&commit_info,targets,nonrecursive,ctx,subpool); + if ( err ) + error( TDEIO::ERR_SLAVE_DEFINED, err->message ); + + if ( commit_info ) { + for ( TQValueListConstIterator it = wc.begin(); it != wc.end() ; ++it ) { + KURL nurl = *it; + nurl.setProtocol( "file" ); + + TQString userstring = i18n ( "Nothing to commit." ); + if ( SVN_IS_VALID_REVNUM( commit_info->revision ) ) + userstring = i18n( "Committed revision %1." ).arg(commit_info->revision); + setMetaData(TQString::number( m_counter ).rightJustify( 10,'0' )+ "path", nurl.path() ); + setMetaData(TQString::number( m_counter ).rightJustify( 10,'0' )+ "action", "0" ); + setMetaData(TQString::number( m_counter ).rightJustify( 10,'0' )+ "kind", "0" ); + setMetaData(TQString::number( m_counter ).rightJustify( 10,'0' )+ "mime_t", "" ); + setMetaData(TQString::number( m_counter ).rightJustify( 10,'0' )+ "content", "0" ); + setMetaData(TQString::number( m_counter ).rightJustify( 10,'0' )+ "prop", "0" ); + setMetaData(TQString::number( m_counter ).rightJustify( 10,'0' )+ "rev" , TQString::number( commit_info->revision ) ); + setMetaData(TQString::number( m_counter ).rightJustify( 10,'0' )+ "string", userstring ); + m_counter++; + } + } + + finished(); + svn_pool_destroy (subpool); +} + +void kio_svnProtocol::add(const KURL& wc) { + kdDebug(7128) << "kio_svnProtocol::add() : " << wc.url() << endl; + + apr_pool_t *subpool = svn_pool_create (pool); + bool nonrecursive = false; + + KURL nurl = wc; + nurl.setProtocol( "file" ); + TQString target = nurl.url(); + recordCurrentURL( nurl ); + + initNotifier(false, false, false, subpool); + svn_error_t *err = svn_client_add(svn_path_canonicalize( nurl.path().utf8(), subpool ),nonrecursive,ctx,subpool); + if ( err ) + error( TDEIO::ERR_SLAVE_DEFINED, err->message ); + + finished(); + svn_pool_destroy (subpool); +} + +void kio_svnProtocol::wc_delete(const KURL::List& wc) { + kdDebug(7128) << "kio_svnProtocol::wc_delete() : " << wc << endl; + + apr_pool_t *subpool = svn_pool_create (pool); + svn_client_commit_info_t *commit_info = NULL; + bool nonrecursive = false; + + apr_array_header_t *targets = apr_array_make(subpool, 1+wc.count(), sizeof(const char *)); + + for ( TQValueListConstIterator it = wc.begin(); it != wc.end() ; ++it ) { + KURL nurl = *it; + nurl.setProtocol( "file" ); + recordCurrentURL( nurl ); + (*(( const char ** )apr_array_push(( apr_array_header_t* )targets)) ) = svn_path_canonicalize( nurl.path().utf8(), subpool ); + } + + initNotifier(false, false, false, subpool); + svn_error_t *err = svn_client_delete(&commit_info,targets,nonrecursive,ctx,subpool); + + if ( err ) + error( TDEIO::ERR_SLAVE_DEFINED, err->message ); + + finished(); + svn_pool_destroy (subpool); +} + +void kio_svnProtocol::wc_revert(const KURL::List& wc) { + kdDebug(7128) << "kio_svnProtocol::revert() : " << wc << endl; + + apr_pool_t *subpool = svn_pool_create (pool); + bool nonrecursive = false; + + apr_array_header_t *targets = apr_array_make(subpool, 1 + wc.count(), sizeof(const char *)); + + for ( TQValueListConstIterator it = wc.begin(); it != wc.end() ; ++it ) { + KURL nurl = *it; + nurl.setProtocol( "file" ); + recordCurrentURL( nurl ); + (*(( const char ** )apr_array_push(( apr_array_header_t* )targets)) ) = svn_path_canonicalize( nurl.path().utf8(), subpool ); + } + + initNotifier(false, false, false, subpool); + svn_error_t *err = svn_client_revert(targets,nonrecursive,ctx,subpool); + if ( err ) + error( TDEIO::ERR_SLAVE_DEFINED, err->message ); + + finished(); + svn_pool_destroy (subpool); +} + +void kio_svnProtocol::wc_status(const KURL& wc, bool checkRepos, bool fullRecurse, bool getAll, int revnumber, const TQString& revkind) { + kdDebug(7128) << "kio_svnProtocol::status() : " << wc.url() << endl; + + apr_pool_t *subpool = svn_pool_create (pool); + svn_revnum_t result_rev; + bool no_ignore = FALSE; + + KURL nurl = wc; + nurl.setProtocol( "file" ); + recordCurrentURL( nurl ); + + svn_opt_revision_t rev = createRevision( revnumber, revkind, subpool ); + + initNotifier(false, false, false, subpool); + + svn_error_t *err = svn_client_status(&result_rev, svn_path_canonicalize( nurl.path().utf8(), subpool ), &rev, kio_svnProtocol::status, this, fullRecurse, getAll, checkRepos, no_ignore, ctx, subpool); + + if ( err ) + error( TDEIO::ERR_SLAVE_DEFINED, err->message ); + + finished(); + svn_pool_destroy (subpool); +} + +//change the proto and remove trailing / +//remove double / also +TQString kio_svnProtocol::makeSvnURL ( const KURL& url ) const { + TQString kproto = url.protocol(); + KURL tpURL = url; + tpURL.cleanPath( true ); + TQString svnUrl; + if ( kproto == "svn+http" ) { + kdDebug(7128) << "http:/ " << url.url() << endl; + tpURL.setProtocol("http"); + svnUrl = tpURL.url(-1); + return svnUrl; + } + else if ( kproto == "svn+https" ) { + kdDebug(7128) << "https:/ " << url.url() << endl; + tpURL.setProtocol("https"); + svnUrl = tpURL.url(-1); + return svnUrl; + } + else if ( kproto == "svn+ssh" ) { + kdDebug(7128) << "svn+ssh:/ " << url.url() << endl; + tpURL.setProtocol("svn+ssh"); + svnUrl = tpURL.url(-1); + return svnUrl; + } + else if ( kproto == "svn" ) { + kdDebug(7128) << "svn:/ " << url.url() << endl; + tpURL.setProtocol("svn"); + svnUrl = tpURL.url(-1); + return svnUrl; + } + else if ( kproto == "svn+file" ) { + kdDebug(7128) << "file:/ " << url.url() << endl; + tpURL.setProtocol("file"); + svnUrl = tpURL.url(-1); + //hack : add one more / after file:/ + int idx = svnUrl.find("/"); + svnUrl.insert( idx, "//" ); + return svnUrl; + } + return tpURL.url(-1); +} + +TQString kio_svnProtocol::chooseProtocol ( const TQString& kproto ) const { + if ( kproto == "svn+http" ) return TQString( "http" ); + else if ( kproto == "svn+https" ) return TQString( "https" ); + else if ( kproto == "svn+ssh" ) return TQString( "svn+ssh" ); + else if ( kproto == "svn" ) return TQString( "svn" ); + else if ( kproto == "svn+file" ) return TQString( "file" ); + return kproto; +} + +svn_error_t *kio_svnProtocol::trustSSLPrompt(svn_auth_cred_ssl_server_trust_t **cred_p, void *, const char */*realm*/, apr_uint32_t /*failures*/, const svn_auth_ssl_server_cert_info_t */*cert_info*/, svn_boolean_t /*may_save*/, apr_pool_t *pool) { + //when ksvnd is ready make it prompt for the SSL certificate ... XXX + *cred_p = (svn_auth_cred_ssl_server_trust_t*)apr_pcalloc (pool, sizeof (**cred_p)); + (*cred_p)->may_save = FALSE; + return SVN_NO_ERROR; +} + +svn_error_t *kio_svnProtocol::clientCertSSLPrompt(svn_auth_cred_ssl_client_cert_t **/*cred_p*/, void *, const char */*realm*/, svn_boolean_t /*may_save*/, apr_pool_t */*pool*/) { + //when ksvnd is ready make it prompt for the SSL certificate ... XXX +/* *cred_p = apr_palloc (pool, sizeof(**cred_p)); + (*cred_p)->cert_file = cert_file;*/ + return SVN_NO_ERROR; +} + +svn_error_t *kio_svnProtocol::clientCertPasswdPrompt(svn_auth_cred_ssl_client_cert_pw_t **/*cred_p*/, void *, const char */*realm*/, svn_boolean_t /*may_save*/, apr_pool_t */*pool*/) { + //when ksvnd is ready make it prompt for the SSL certificate password ... XXX + return SVN_NO_ERROR; +} + +svn_error_t *kio_svnProtocol::commitLogPrompt( const char **log_msg, const char **/*file*/, apr_array_header_t *commit_items, void *baton, apr_pool_t *pool ) { + TQCString replyType; + TQByteArray params; + TQByteArray reply; + TQString result; + TQStringList slist; + kio_svnProtocol *p = ( kio_svnProtocol* )baton; + svn_stringbuf_t *message = NULL; + + for (int i = 0; i < commit_items->nelts; i++) { + TQString list; + svn_client_commit_item_t *item = ((svn_client_commit_item_t **) commit_items->elts)[i]; + const char *path = item->path; + char text_mod = '_', prop_mod = ' '; + + if (! path) + path = item->url; + else if (! *path) + path = "."; + + if (! path) + path = "."; + + if ((item->state_flags & SVN_CLIENT_COMMIT_ITEM_DELETE) && (item->state_flags & SVN_CLIENT_COMMIT_ITEM_ADD)) + text_mod = 'R'; + else if (item->state_flags & SVN_CLIENT_COMMIT_ITEM_ADD) + text_mod = 'A'; + else if (item->state_flags & SVN_CLIENT_COMMIT_ITEM_DELETE) + text_mod = 'D'; + else if (item->state_flags & SVN_CLIENT_COMMIT_ITEM_TEXT_MODS) + text_mod = 'M'; + if (item->state_flags & SVN_CLIENT_COMMIT_ITEM_PROP_MODS) + prop_mod = 'M'; + + list += text_mod; + list += " "; + list += prop_mod; + list += " "; + list += path; + kdDebug(7128) << " Commiting items : " << list << endl; + slist << list; + } + + TQDataStream stream(params, IO_WriteOnly); + stream << slist.join("\n"); + + if ( !p->dcopClient()->call( "kded","ksvnd","commitDialog(TQString)", params, replyType, reply ) ) { + kdWarning() << "Communication with KDED:KSvnd failed" << endl; + return SVN_NO_ERROR; + } + + if ( replyType != TQSTRING_OBJECT_NAME_STRING ) { + kdWarning() << "Unexpected reply type" << endl; + return SVN_NO_ERROR; + } + + TQDataStream stream2 ( reply, IO_ReadOnly ); + stream2 >> result; + + if ( result.isNull() ) { //cancelled + *log_msg = NULL; + return SVN_NO_ERROR; + } + + message = svn_stringbuf_create( result.utf8(), pool ); + *log_msg = message->data; + + return SVN_NO_ERROR; +} + +void kio_svnProtocol::notify(void *baton, const char *path, svn_wc_notify_action_t action, svn_node_kind_t kind, const char *mime_type, svn_wc_notify_state_t content_state, svn_wc_notify_state_t prop_state, svn_revnum_t revision) { + kdDebug(7128) << "NOTIFY : " << path << " updated at revision " << revision << " action : " << action << ", kind : " << kind << " , content_state : " << content_state << ", prop_state : " << prop_state << endl; + + TQString userstring; + struct notify_baton *nb = ( struct notify_baton* ) baton; + + //// Convert notification to a user readable string + switch ( action ) { + case svn_wc_notify_add : //add + if (mime_type && (svn_mime_type_is_binary (mime_type))) + userstring = i18n( "A (bin) %1" ).arg( path ); + else + userstring = i18n( "A %1" ).arg( path ); + break; + case svn_wc_notify_copy: //copy + break; + case svn_wc_notify_delete: //delete + nb->received_some_change = TRUE; + userstring = i18n( "D %1" ).arg( path ); + break; + case svn_wc_notify_restore : //restore + userstring=i18n( "Restored %1." ).arg( path ); + break; + case svn_wc_notify_revert : //revert + userstring=i18n( "Reverted %1." ).arg( path ); + break; + case svn_wc_notify_failed_revert: //failed revert + userstring=i18n( "Failed to revert %1.\nTry updating instead." ).arg( path ); + break; + case svn_wc_notify_resolved: //resolved + userstring=i18n( "Resolved conflicted state of %1." ).arg( path ); + break; + case svn_wc_notify_skip: //skip + if ( content_state == svn_wc_notify_state_missing ) + userstring=i18n("Skipped missing target %1.").arg( path ); + else + userstring=i18n("Skipped %1.").arg( path ); + break; + case svn_wc_notify_update_delete: //update_delete + nb->received_some_change = TRUE; + userstring=i18n( "D %1" ).arg( path ); + break; + case svn_wc_notify_update_add: //update_add + nb->received_some_change = TRUE; + userstring=i18n( "A %1" ).arg( path ); + break; + case svn_wc_notify_update_update: //update_update + { + /* If this is an inoperative dir change, do no notification. + An inoperative dir change is when a directory gets closed + without any props having been changed. */ + if (! ((kind == svn_node_dir) + && ((prop_state == svn_wc_notify_state_inapplicable) + || (prop_state == svn_wc_notify_state_unknown) + || (prop_state == svn_wc_notify_state_unchanged)))) { + nb->received_some_change = TRUE; + + if (kind == svn_node_file) { + if (content_state == svn_wc_notify_state_conflicted) + userstring = "C"; + else if (content_state == svn_wc_notify_state_merged) + userstring = "G"; + else if (content_state == svn_wc_notify_state_changed) + userstring = "U"; + } + + if (prop_state == svn_wc_notify_state_conflicted) + userstring += "C"; + else if (prop_state == svn_wc_notify_state_merged) + userstring += "G"; + else if (prop_state == svn_wc_notify_state_changed) + userstring += "U"; + else + userstring += " "; + + if (! ((content_state == svn_wc_notify_state_unchanged + || content_state == svn_wc_notify_state_unknown) + && (prop_state == svn_wc_notify_state_unchanged + || prop_state == svn_wc_notify_state_unknown))) + userstring += TQString( " " ) + path; + } + break; + } + case svn_wc_notify_update_completed: //update_completed + { + if (! nb->suppress_final_line) { + if (SVN_IS_VALID_REVNUM (revision)) { + if (nb->is_export) { + if ( nb->in_external ) + userstring = i18n("Exported external at revision %1.").arg( revision ); + else + userstring = i18n("Exported revision %1.").arg( revision ); + } else if (nb->is_checkout) { + if ( nb->in_external ) + userstring = i18n("Checked out external at revision %1.").arg( revision ); + else + userstring = i18n("Checked out revision %1.").arg( revision); + } else { + if (nb->received_some_change) { + if ( nb->in_external ) + userstring=i18n("Updated external to revision %1.").arg( revision ); + else + userstring = i18n("Updated to revision %1.").arg( revision); + } else { + if ( nb->in_external ) + userstring = i18n("External at revision %1.").arg( revision ); + else + userstring = i18n("At revision %1.").arg( revision); + } + } + } else /* no revision */ { + if (nb->is_export) { + if ( nb->in_external ) + userstring = i18n("External export complete."); + else + userstring = i18n("Export complete."); + } else if (nb->is_checkout) { + if ( nb->in_external ) + userstring = i18n("External checkout complete."); + else + userstring = i18n("Checkout complete."); + } else { + if ( nb->in_external ) + userstring = i18n("External update complete."); + else + userstring = i18n("Update complete."); + } + } + } + } + if (nb->in_external) + nb->in_external = FALSE; + break; + case svn_wc_notify_update_external: //update_external + nb->in_external = TRUE; + userstring = i18n("Fetching external item into %1." ).arg( path ); + break; + case svn_wc_notify_status_completed: //status_completed + if (SVN_IS_VALID_REVNUM (revision)) + userstring = i18n( "Status against revision: %1.").arg( revision ); + break; + case svn_wc_notify_status_external: //status_external + userstring = i18n("Performing status on external item at %1.").arg( path ); + break; + case svn_wc_notify_commit_modified: //commit_modified + userstring = i18n( "Sending %1").arg( path ); + break; + case svn_wc_notify_commit_added: //commit_added + if (mime_type && svn_mime_type_is_binary (mime_type)) { + userstring = i18n( "Adding (bin) %1.").arg( path ); + } else { + userstring = i18n( "Adding %1.").arg( path ); + } + break; + case svn_wc_notify_commit_deleted: //commit_deleted + userstring = i18n( "Deleting %1.").arg( path ); + break; + case svn_wc_notify_commit_replaced: //commit_replaced + userstring = i18n( "Replacing %1.").arg( path ); + break; + case svn_wc_notify_commit_postfix_txdelta: //commit_postfix_txdelta + if (! nb->sent_first_txdelta) { + nb->sent_first_txdelta = TRUE; + userstring=i18n("Transmitting file data "); + } else { + userstring="."; + } + break; + + break; + case svn_wc_notify_blame_revision: //blame_revision + break; + default: + break; + } + //// End convert + + kio_svnProtocol *p = ( kio_svnProtocol* )nb->master; + + p->setMetaData(TQString::number( p->counter() ).rightJustify( 10,'0' )+ "path" , TQString::fromUtf8( path )); + p->setMetaData(TQString::number( p->counter() ).rightJustify( 10,'0' )+ "action", TQString::number( action )); + p->setMetaData(TQString::number( p->counter() ).rightJustify( 10,'0' )+ "kind", TQString::number( kind )); + p->setMetaData(TQString::number( p->counter() ).rightJustify( 10,'0' )+ "mime_t", TQString::fromUtf8( mime_type )); + p->setMetaData(TQString::number( p->counter() ).rightJustify( 10,'0' )+ "content", TQString::number( content_state )); + p->setMetaData(TQString::number( p->counter() ).rightJustify( 10,'0' )+ "prop", TQString::number( prop_state )); + p->setMetaData(TQString::number( p->counter() ).rightJustify( 10,'0' )+ "rev", TQString::number( revision )); + p->setMetaData(TQString::number( p->counter() ).rightJustify( 10,'0' )+ "string", userstring ); + p->incCounter(); +} + +void kio_svnProtocol::status(void *baton, const char *path, svn_wc_status_t *status) { + kdDebug(7128) << "STATUS : " << path << ", wc text status : " << status->text_status + << ", wc prop status : " << status->prop_status + << ", repos text status : " << status->repos_text_status + << ", repos prop status : " << status->repos_prop_status + << endl; + + TQByteArray params; + kio_svnProtocol *p = ( kio_svnProtocol* )baton; + + TQDataStream stream(params, IO_WriteOnly); + long int rev = status->entry ? status->entry->revision : 0; + stream << TQString::fromUtf8( path ) << status->text_status << status->prop_status << status->repos_text_status << status->repos_prop_status << rev; + + p->setMetaData(TQString::number( p->counter() ).rightJustify( 10,'0' )+ "path", TQString::fromUtf8( path )); + p->setMetaData(TQString::number( p->counter() ).rightJustify( 10,'0' )+ "text", TQString::number( status->text_status )); + p->setMetaData(TQString::number( p->counter() ).rightJustify( 10,'0' )+ "prop", TQString::number( status->prop_status )); + p->setMetaData(TQString::number( p->counter() ).rightJustify( 10,'0' )+ "reptxt", TQString::number( status->repos_text_status )); + p->setMetaData(TQString::number( p->counter() ).rightJustify( 10,'0' )+ "repprop", TQString::number( status->repos_prop_status )); + p->setMetaData(TQString::number( p->counter() ).rightJustify( 10,'0' )+ "rev", TQString::number( rev )); + p->incCounter(); +} + + +void kio_svnProtocol::wc_resolve( const KURL& wc, bool recurse ) { + kdDebug(7128) << "kio_svnProtocol::wc_resolve() : " << wc.url() << endl; + + apr_pool_t *subpool = svn_pool_create (pool); + + KURL nurl = wc; + nurl.setProtocol( "file" ); + recordCurrentURL( nurl ); + + initNotifier(false, false, false, subpool); + svn_error_t *err = svn_client_resolved(svn_path_canonicalize( nurl.path().utf8(), subpool ), recurse,ctx,subpool); + if ( err ) + error( TDEIO::ERR_SLAVE_DEFINED, err->message ); + + finished(); + svn_pool_destroy (subpool); +} + +extern "C" +{ + KDE_EXPORT int kdemain(int argc, char **argv) { + TDEInstance instance( "kio_svn" ); + + kdDebug(7128) << "*** Starting kio_svn " << endl; + + if (argc != 4) { + kdDebug(7128) << "Usage: kio_svn protocol domain-socket1 domain-socket2" << endl; + exit(-1); + } + + kio_svnProtocol slave(argv[2], argv[3]); + slave.dispatchLoop(); + + kdDebug(7128) << "*** kio_svn Done" << endl; + return 0; + } +} + diff --git a/tdeioslave/svn/svn.h b/tdeioslave/svn/svn.h new file mode 100644 index 00000000..869bb47a --- /dev/null +++ b/tdeioslave/svn/svn.h @@ -0,0 +1,140 @@ +/* This file is part of the KDE project + Copyright (C) 2003 Mickael Marchand + + 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; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef _svn_H_ +#define _svn_H_ + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +class TQCString; +class kio_svnProtocol; + +typedef struct kbaton { + svn_stream_t *target_stream; + svn_stringbuf_t *target_string; + svn_stream_t *string_stream; +} kbaton; + +typedef struct kio_svn_callback_baton_t { + const char* base_dir; + apr_hash_t *config; + apr_pool_t *pool; +} kio_svn_callback_baton_t; + +typedef struct notify_baton { + svn_boolean_t received_some_change; + svn_boolean_t is_checkout; + svn_boolean_t is_export; + svn_boolean_t suppress_final_line; + svn_boolean_t sent_first_txdelta; + svn_boolean_t in_external; + svn_boolean_t had_print_error; /* Used to not keep printing error messages + when we've already had one print error. */ + apr_pool_t *pool; /* this pool is cleared after every notification, + so don't keep anything here! */ + kio_svnProtocol *master; +} notify_baton; + + +class kio_svnProtocol : public TDEIO::SlaveBase +{ + public: + kio_svnProtocol(const TQCString &pool_socket, const TQCString &app_socket); + virtual ~kio_svnProtocol(); + virtual void special( const TQByteArray& data ); + virtual void get(const KURL& url); + virtual void listDir(const KURL& url); + virtual void stat(const KURL& url); + virtual void mkdir(const KURL& url, int permissions); + virtual void mkdir(const KURL::List& list, int permissions); + virtual void del( const KURL& url, bool isfile ); + virtual void copy(const KURL & src, const KURL& dest, int permissions, bool overwrite); + virtual void rename(const KURL& src, const KURL& dest, bool overwrite); + void checkout( const KURL& repos, const KURL& wc, int revnumber, const TQString& revkind ); + void import( const KURL& repos, const KURL& wc ); + void svn_switch( const KURL& wc, const KURL& url, int revnumber, const TQString& revkind, bool recurse); + void svn_log( int revstart, const TQString& revkindstart, int revend, const TQString& revkindend, const KURL::List& targets ); + void svn_diff( const KURL& url1, const KURL& url2, int rev1, int rev2, const TQString& revkind1, const TQString& revkind2, bool recurse); + //TODO fix with svn 1.2 : support a KURL::List -> svn_client_update2() + void update( const KURL& wc, int revnumber, const TQString& revkind ); + void commit( const KURL::List& wc ); + void add( const KURL& wc ); + //these work using the working copy + void wc_resolve( const KURL& wc, bool recurse = true ); + void wc_delete( const KURL::List& wc ); + void wc_revert( const KURL::List& wc ); + void wc_status(const KURL& wc, bool checkRepos=false, bool fullRecurse=true, bool getAll=true, int revnumber=-1, const TQString& revkind="HEAD"); + + static svn_error_t* checkAuth(svn_auth_cred_simple_t **cred, void *baton, const char *realm, const char *username, svn_boolean_t may_save, apr_pool_t *pool); + static svn_error_t *trustSSLPrompt(svn_auth_cred_ssl_server_trust_t **cred_p, void *, const char *realm, apr_uint32_t failures, const svn_auth_ssl_server_cert_info_t *cert_info, svn_boolean_t may_save, apr_pool_t *pool); + static svn_error_t *clientCertSSLPrompt(svn_auth_cred_ssl_client_cert_t **cred_p, void *, const char *realm, svn_boolean_t may_save, apr_pool_t *pool); + static svn_error_t *clientCertPasswdPrompt(svn_auth_cred_ssl_client_cert_pw_t **cred_p, void *, const char *realm, svn_boolean_t may_save, apr_pool_t *pool); + static svn_error_t *commitLogPrompt( const char **log_msg, const char **tmp_file, apr_array_header_t *commit_items, void *baton, apr_pool_t *pool ); + static void notify(void *baton, const char *path, svn_wc_notify_action_t action, svn_node_kind_t kind, const char *mime_type, svn_wc_notify_state_t content_state, svn_wc_notify_state_t prop_state, svn_revnum_t revision); + static void status(void *baton, const char *path, svn_wc_status_t *status); + + TQString chooseProtocol ( const TQString& kproto ) const; + TQString makeSvnURL ( const KURL& url ) const; + void initNotifier(bool is_checkout, bool is_export, bool suppress_final_line, apr_pool_t *spool); + + void recordCurrentURL(const KURL& url); + void popupMessage( const TQString& message ); + int counter() { return m_counter; } + void incCounter() { m_counter++; } + svn_opt_revision_t createRevision( int revision, const TQString& revkind, apr_pool_t *pool ); + + KURL myURL; + svn_client_ctx_t *ctx; + TDEIO::AuthInfo info; + + enum SVN_METHOD { + SVN_CHECKOUT=1, //KURL repository, KURL workingcopy, int revnumber=-1, TQString revkind(HEAD, ...) //revnumber==-1 => use of revkind + SVN_UPDATE=2, // KURL wc (svn:///tmp/test, int revnumber=-1, TQString revkind(HEAD, ...) // revnumber==-1 => use of revkind + SVN_COMMIT=3, + SVN_LOG=4, + SVN_IMPORT=5, + SVN_ADD=6, + SVN_DEL=7, + SVN_REVERT=8, + SVN_STATUS=9, + SVN_MKDIR=10, + SVN_RESOLVE=11, + SVN_SWITCH=12, + SVN_DIFF=13 + }; + + private: + bool createUDSEntry( const TQString& filename, const TQString& user, long long int size, bool isdir, time_t mtime, TDEIO::UDSEntry& entry); + apr_pool_t *pool; + int m_counter; +}; + +#endif diff --git a/tdeioslave/svn/svn.protocol b/tdeioslave/svn/svn.protocol new file mode 100644 index 00000000..abd77fb3 --- /dev/null +++ b/tdeioslave/svn/svn.protocol @@ -0,0 +1,43 @@ +[Protocol] +exec=kio_svn +protocol=svn +input=none +output=filesystem +reading=true +writing=true +deleting=true +makedir=true +linking=false +moving=true +listing=Name,Size,Date,Owner +defaultMimetype=application/octet-stream +Icon=remote +Description=Subversion ioslave +Description[br]=Sklav E/D Subversion +Description[ca]=Ioslave de Subversion +Description[cs]=Subversion protokol +Description[de]=Ein-/Ausgabemodul für Subversion +Description[es]=El ioslave de Subversion +Description[et]=Subversioni IO-moodul +Description[fr]=ioslave subversion +Description[ga]=ioslave Subversion +Description[gl]=Ioslave para Subversíon +Description[hu]=Subversion KDE-protokoll +Description[it]=Slave I/O di Subversion +Description[lt]=Subversion įvesties-išvesties priedas +Description[nb]=Subversion-iu-slave +Description[nds]=In-/Utgaavmoduul för Subversion +Description[ne]=उप संस्करण ioslave +Description[nn]=Subversion-iu-slave +Description[pl]=Wtyczka protokołu Subversion +Description[pt]='Ioslave' para Subversion +Description[pt_BR]=ioslave de Subversão +Description[ru]=Доступ к хранилищу Subversion +Description[sl]=ioslave za Subversion +Description[sr]=IOSlave за Subversion +Description[sr@Latn]=IOSlave za Subversion +Description[sv]=Subversion I/O-slav +Description[tr]=Alt Version ioslave +Description[uk]=Підлеглий В/В Subversion +maxInstances=5 +class=:internet diff --git a/tdeioslave/svn/svnhelper/CMakeLists.txt b/tdeioslave/svn/svnhelper/CMakeLists.txt new file mode 100644 index 00000000..15c68d05 --- /dev/null +++ b/tdeioslave/svn/svnhelper/CMakeLists.txt @@ -0,0 +1,38 @@ +################################################# +# +# (C) 2012 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +include_directories( + ${CMAKE_CURRENT_BINARY_DIR} + ${TDE_INCLUDE_DIR} + ${TQT_INCLUDE_DIRS} +) + +link_directories( + ${TQT_LIBRARY_DIRS} +) + + +##### other data ################################ + +install( FILES + subversion.desktop subversion_toplevel.desktop + DESTINATION ${DATA_INSTALL_DIR}/konqueror/servicemenus ) + + +##### kio_svn_helper (executable) ############### + +tde_add_executable( kio_svn_helper AUTOMOC + SOURCES + kio_svn_helper.cpp subversioncheckout.ui subversionswitch.ui + subversionlog.ui subversiondiff.ui + LINK tdeio-shared + DESTINATION ${BIN_INSTALL_DIR} +) diff --git a/tdeioslave/svn/svnhelper/Makefile.am b/tdeioslave/svn/svnhelper/Makefile.am new file mode 100644 index 00000000..db03a3ae --- /dev/null +++ b/tdeioslave/svn/svnhelper/Makefile.am @@ -0,0 +1,18 @@ +bin_PROGRAMS = kio_svn_helper + +INCLUDES = $(all_includes) +AM_LDFLAGS = $(all_libraries) + +kio_svn_helper_SOURCES = kio_svn_helper.cpp subversioncheckout.ui subversionswitch.ui subversionlog.ui subversiondiff.ui + +kio_svn_helper_LDFLAGS = $(KDE_RPATH) $(LIB_QT) -lDCOP $(LIB_TDECORE) $(LIB_TDEUI) $(LIB_KSYCOCA) $(LIB_KIO) $(all_libraries) + +servicemenudir = \ + $(kde_datadir)/konqueror/servicemenus + +servicemenu_DATA = \ + subversion.desktop subversion_toplevel.desktop + + +METASOURCES = AUTO + diff --git a/tdeioslave/svn/svnhelper/apply_patch.desktop b/tdeioslave/svn/svnhelper/apply_patch.desktop new file mode 100644 index 00000000..872f6136 --- /dev/null +++ b/tdeioslave/svn/svnhelper/apply_patch.desktop @@ -0,0 +1,94 @@ +[Desktop Entry] +ServiceTypes=text/x-diff +#uncomment when Exec is implemented +#Actions=Apply +X-TDE-Priority=TopLevel + +[Desktop Action Apply] +Name=Apply Patch... +Name[bg]=Прилагане на кръпка... +Name[ca]=Aplica pedaç... +Name[cs]=Aplikovat záplatu... +Name[da]=Anvend rettelse... +Name[de]=Patch einspielen ... +Name[el]=Εφαρμογή επιδιόρθωσης... +Name[eo]=Apliki Flikon... +Name[es]=Aplicar parche... +Name[et]=Paiga rakendamine... +Name[eu]=Aplikatu adabakia... +Name[fa]=اعمال کژنه... +Name[fi]=Toteuta korjaus... +Name[fr]=Appliquer le correctif... +Name[ga]=Cuir Paiste i bhFeidhm... +Name[gl]=Aplicar un parche... +Name[he]=החל את הטלאי... +Name[hu]=Folt alkalmazása... +Name[is]=Virkja plástur... +Name[it]=Applica correzione... +Name[ja]=パッチを適用... +Name[ka]=ბებკის გააქტიურება... +Name[kk]=Жамауды қолдану... +Name[lt]=Pritaikyti pataisymą... +Name[nb]=Bruk lapp … +Name[nds]=Kodeplaster inspelen... +Name[ne]=लागू प्याच... +Name[nl]=Patch toepassen... +Name[nn]=Bruk lapp … +Name[pa]=ਪੈਂਚ ਲਾਗੂ... +Name[pl]=Nałóż łatę... +Name[pt]=Aplicar um 'Patch'... +Name[pt_BR]=Aplicar um 'Patch'... +Name[ru]=Применить заплатку... +Name[sk]=Aplikovať záplatu... +Name[sl]=Uveljavi popravek ... +Name[sr]=Примени закрпу... +Name[sr@Latn]=Primeni zakrpu... +Name[sv]=Utför programfix... +Name[tr]=Yamayı Uygula... +Name[uk]=Застосувати латку... +Name[zh_CN]=应用补丁... +Name[zh_TW]=套用修補... +Icon=apply +Exec= +Comment=Apply the patch to another folder/file +Comment[bg]=Прилагане на кръпка към друга директория/файл +Comment[ca]=Aplica el pedaç a una altra carpeta o fitxer +Comment[cs]=Aplikovat záplatu na jiný soubor/složku +Comment[da]=Anvend rettelsen på en anden mappe/fil +Comment[de]=Spielt den Patch in einen/eine andere(n) Ordner/Datei ein +Comment[el]=Εφαρμογή της επιδιόρθωσης σε άλλο φάκελο/αρχείο +Comment[es]=Aplicar el parche a otra carpeta o archivo +Comment[et]=Paiga rakendamine teisele kataloogile/failile +Comment[eu]=Aplikatu adabakia beste karpeta/fitxategi bati +Comment[fa]=اعمال کژنه به پوشه/پروندۀ دیگر +Comment[fi]=Toteuta korjaus toiseen kansioon/tiedostoon +Comment[fr]=Appliquer le correctif sur un autre dossier / fichier +Comment[ga]=Cuir an paiste i bhfeidhm ar fhillteán/chomhad eile +Comment[gl]=Aplicar o parche noutro cartafol/ficheiro +Comment[hu]=A folt alkalmazása másik könyvtárra vagy fájlra +Comment[is]=Virkja plásturinn á aðra möppu/skrá +Comment[it]=Applica la correzione a un'altra cartella o file +Comment[ja]=他のフォルダやファイルへパッチを適用します。 +Comment[ka]=ბებკის სხვა საქაღალდეზე/ფაილზე გააქტიურება +Comment[kk]=Басқа қапшық/файлға жамауды қолдану +Comment[lt]=Pritaikyti pataisymą kitam aplankui/bylai +Comment[nb]=Bruk lappen på en annen mappe/fil +Comment[nds]=Kodeplaster op en anner Orner/Datei anwennen +Comment[ne]=अन्य फोल्डर/फाइलमा प्याच लागू गर्नुहोस् +Comment[nl]=Patch toepassen op een andere map of een ander bestand +Comment[nn]=Bruk lappen på ei anna mappe/fil +Comment[pa]=ਹੋਰ ਫੋਲਡਰ/ਫਾਇਲ ਲਈ ਪੈਂਚ ਲਾਗੂ +Comment[pl]=Nałożenie łaty na inny plik/katalog +Comment[pt]=Aplicar o 'patch' (actualização) noutra pasta/ficheiro +Comment[pt_BR]=Aplicar o 'patch' (atualização) noutra pasta/arquivo +Comment[ru]=Применить заплатку к другой папке или файлу +Comment[sk]=Aplikovať záplatu na iný priečinok/súbor +Comment[sl]=Uveljavi popravek za drugo mapo/datoteko +Comment[sr]=Примени закрпу на другу фасциклу/фајл +Comment[sr@Latn]=Primeni zakrpu na drugu fasciklu/fajl +Comment[sv]=Utför en programfix för en annan katalog eller fil +Comment[tr]=Yamayı diğer dizine/dosyaya uygula +Comment[uk]=Застосувати латку до іншої теки файла +Comment[zh_CN]=将补丁应用到其它文件夹/文件 +Comment[zh_TW]=套用修補到另一個資料夾/檔案 + diff --git a/tdeioslave/svn/svnhelper/kio_svn_helper.cpp b/tdeioslave/svn/svnhelper/kio_svn_helper.cpp new file mode 100644 index 00000000..7f60861e --- /dev/null +++ b/tdeioslave/svn/svnhelper/kio_svn_helper.cpp @@ -0,0 +1,292 @@ +/* This file is part of the KDE project + Copyright (c) 2005 Mickael Marchand + + 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; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "kio_svn_helper.h" +#include "subversioncheckout.h" +#include "subversionswitch.h" +#include "subversiondiff.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +SvnHelper::SvnHelper():TDEApplication() { + TDECmdLineArgs *args = TDECmdLineArgs::parsedArgs(); + KWinModule wm ( TQT_TQOBJECT(this) ); + m_id = wm.activeWindow(); + + KURL::List list; + for ( int i = 0 ; i < args->count() ; i++ ) + list << args->url(i); + + if (args->isSet("u")) { + kdDebug(7128) << "update " << list << endl; + KURL servURL = "svn+http://this_is_a_fake_URL_and_this_is_normal/"; + //FIXME when 1.2 is out (move the loop inside kio_svn's ::update) + for ( TQValueListConstIterator it = list.begin(); it != list.end() ; ++it ) { + TQByteArray parms; + TQDataStream s( parms, IO_WriteOnly ); + int cmd = 2; + int rev = -1; + kdDebug(7128) << "updating : " << (*it).prettyURL() << endl; + s << cmd << *it << rev << TQString( "HEAD" ); + TDEIO::SimpleJob * job = TDEIO::special(servURL, parms, true); + connect( job, TQT_SIGNAL( result( TDEIO::Job * ) ), this, TQT_SLOT( slotResult( TDEIO::Job * ) ) ); + TDEIO::NetAccess::synchronousRun( job, 0 ); + } + } else if (args->isSet("c")) { + kdDebug(7128) << "commit " << list << endl; + KURL servURL = "svn+http://this_is_a_fake_URL_and_this_is_normal/"; + TQByteArray parms; + TQDataStream s( parms, IO_WriteOnly ); + int cmd = 3; + s< it = list.begin(); it != list.end() ; ++it ) { + kdDebug(7128) << "commiting : " << (*it).prettyURL() << endl; + s << *it; + } + TDEIO::SimpleJob * job = TDEIO::special(servURL, parms, true); + connect( job, TQT_SIGNAL( result( TDEIO::Job * ) ), this, TQT_SLOT( slotResult( TDEIO::Job * ) ) ); + TDEIO::NetAccess::synchronousRun( job, 0 ); + } else if (args->isSet("a")) { + kdDebug(7128) << "add " << list << endl; + KURL servURL = "svn+http://this_is_a_fake_URL_and_this_is_normal/"; + for ( TQValueListConstIterator it = list.begin(); it != list.end() ; ++it ) { + TQByteArray parms; + TQDataStream s( parms, IO_WriteOnly ); + int cmd = 6; + kdDebug(7128) << "adding : " << (*it).prettyURL() << endl; + s << cmd << *it; + TDEIO::SimpleJob * job = TDEIO::special(servURL, parms, true); + connect( job, TQT_SIGNAL( result( TDEIO::Job * ) ), this, TQT_SLOT( slotResult( TDEIO::Job * ) ) ); + TDEIO::NetAccess::synchronousRun( job, 0 ); + } + } else if (args->isSet("D")) { + kdDebug(7128) << "diff " << list << endl; + KURL servURL = "svn+http://this_is_a_fake_URL_and_this_is_normal/"; + for ( TQValueListConstIterator it = list.begin(); it != list.end() ; ++it ) { + TQByteArray parms; + TQDataStream s( parms, IO_WriteOnly ); + int cmd = 13; + kdDebug(7128) << "diffing : " << (*it).prettyURL() << endl; + int rev1=-1; + int rev2=-1; + TQString revkind1 = "BASE"; + TQString revkind2 = "WORKING"; + s << cmd << *it << *it << rev1 << revkind1 << rev2 << revkind2 << true ; + TDEIO::SimpleJob * job = TDEIO::special(servURL, parms, true); + connect( job, TQT_SIGNAL( result( TDEIO::Job * ) ), this, TQT_SLOT( slotResult( TDEIO::Job * ) ) ); + TDEIO::NetAccess::synchronousRun( job, 0 ); + if ( diffresult.count() > 0 ) { + //check kompare is available + if ( !KStandardDirs::findExe( "kompare" ).isNull() ) { + KTempFile *tmp = new KTempFile; + tmp->setAutoDelete(true); + TQTextStream *stream = tmp->textStream(); + stream->setCodec( TQTextCodec::codecForName( "utf8" ) ); + for ( TQStringList::Iterator it2 = diffresult.begin();it2 != diffresult.end() ; ++it2 ) { + ( *stream ) << ( *it2 ) << "\n"; + } + tmp->close(); + TDEProcess *p = new TDEProcess; + *p << "kompare" << "-n" << "-o" << tmp->name(); + p->start(); + } else { //else do it with message box + Subversion_Diff df; + for ( TQStringList::Iterator it2 = diffresult.begin();it2 != diffresult.end() ; ++it2 ) { + df.text->append( *it2 ); + } + TQFont f = df.font(); + f.setFixedPitch( true ); + df.text->setFont( f ); + df.exec(); + } + } + diffresult.clear(); + } + } else if (args->isSet("d")) { + kdDebug(7128) << "delete " << list << endl; + KURL servURL = "svn+http://this_is_a_fake_URL_and_this_is_normal/"; + TQByteArray parms; + TQDataStream s( parms, IO_WriteOnly ); + int cmd = 7; + s< it = list.begin(); it != list.end() ; ++it ) { + kdDebug(7128) << "deleting : " << (*it).prettyURL() << endl; + s << *it; + } + TDEIO::SimpleJob * job = TDEIO::special(servURL, parms, true); + connect( job, TQT_SIGNAL( result( TDEIO::Job * ) ), this, TQT_SLOT( slotResult( TDEIO::Job * ) ) ); + TDEIO::NetAccess::synchronousRun( job, 0 ); + } else if (args->isSet("s")) { + kdDebug(7128) << "switch " << list << endl; + SubversionSwitch d; + int result = d.exec(); + if ( result == TQDialog::Accepted ) { + for ( TQValueListConstIterator it = list.begin(); it != list.end() ; ++it ) { + kdDebug(7128) << "switching : " << (*it).prettyURL() << endl; + KURL servURL = "svn+http://this_is_a_fake_URL_and_this_is_normal/"; + TQByteArray parms; + TQDataStream s( parms, IO_WriteOnly ); + int revnumber = -1; + TQString revkind = "HEAD"; + if ( d.revision->value() != 0 ) { + revnumber = d.revision->value(); + revkind = ""; + } + bool recurse=true; + int cmd = 12; + s << cmd; + s << *it; + s << KURL( d.url->url() ); + s << recurse; + s << revnumber; + s << revkind; + TDEIO::SimpleJob * job = TDEIO::special(servURL, parms, true); + connect( job, TQT_SIGNAL( result( TDEIO::Job * ) ), this, TQT_SLOT( slotResult( TDEIO::Job * ) ) ); + TDEIO::NetAccess::synchronousRun( job, 0 ); + } + } + } else if (args->isSet("r")) { + kdDebug(7128) << "revert " << list << endl; + KURL servURL = "svn+http://this_is_a_fake_URL_and_this_is_normal/"; + TQByteArray parms; + TQDataStream s( parms, IO_WriteOnly ); + int cmd = 8; + s< it = list.begin(); it != list.end() ; ++it ) { + kdDebug(7128) << "reverting : " << (*it).prettyURL() << endl; + s << *it; + } + TDEIO::SimpleJob * job = TDEIO::special(servURL, parms, true); + connect( job, TQT_SIGNAL( result( TDEIO::Job * ) ), this, TQT_SLOT( slotResult( TDEIO::Job * ) ) ); + TDEIO::NetAccess::synchronousRun( job, 0 ); + } else if (args->isSet("C")) { + kdDebug(7128) << "checkout " << list << endl; + SubversionCheckout d; + int result = d.exec(); + if ( result == TQDialog::Accepted ) { + for ( TQValueListConstIterator it = list.begin(); it != list.end() ; ++it ) { + KURL servURL = "svn+http://this_is_a_fake_URL_and_this_is_normal/"; + TQByteArray parms; + TQDataStream s( parms, IO_WriteOnly ); + int cmd = 1; + int rev = -1; + TQString revkind = "HEAD"; + if ( d.revision->value() != 0 ) { + rev = d.revision->value(); + revkind = ""; + } + s<url() ); + s << ( *it ); + s << rev; + s << revkind; + kdDebug(7128) << "checkouting : " << d.url->url() << " into " << (*it).prettyURL() << " at rev : " << rev << " or " << revkind << endl; + TDEIO::SimpleJob * job = TDEIO::special(servURL, parms, true); + connect( job, TQT_SIGNAL( result( TDEIO::Job * ) ), this, TQT_SLOT( slotResult( TDEIO::Job * ) ) ); + TDEIO::NetAccess::synchronousRun( job, 0 ); + } + } + } else { + KMessageBox::sorry(0, "Sorry, request not recognised. Perhaps not implemented yet?", "Feature Not Implemented"); + } + TQTimer::singleShot( 0, this, TQT_SLOT( finished() ) ); +} + +void SvnHelper::slotResult( TDEIO::Job* job ) { + if ( job->error() ) + job->showErrorDialog( ); + + TDEIO::MetaData ma = job->metaData(); + TQValueList keys = ma.keys(); + qHeapSort( keys ); + TQValueList::Iterator begin = keys.begin(), end = keys.end(), it; + + TQStringList message; + for ( it = begin; it != end; ++it ) { + // kdDebug(7128) << "METADATA helper : " << *it << ":" << ma[ *it ] << endl; + if ( ( *it ).endsWith( "string" ) ) { + if ( ma[ *it ].length() > 2 ) { + message << ma[ *it ]; + } + } + //extra check to retrieve the diff output in case with run a diff command + if ( ( *it ).endsWith( "diffresult" ) ) { + diffresult << ma[ *it ]; + } + } + if ( message.count() > 0 ) + KMessageBox::informationListWId(m_id, "", message, "Subversion"); +} + +void SvnHelper::finished() { + kapp->quit(); +} + +static KCmdLineOptions options[] = { + { "u", I18N_NOOP("Update given URL"), 0 }, + { "c", I18N_NOOP("Commit given URL"), 0 }, + { "C", I18N_NOOP("Checkout in given directory"), 0 }, + { "a", I18N_NOOP("Add given URL to the working copy"), 0 }, + { "d", I18N_NOOP("Delete given URL from the working copy"), 0 }, + { "s", I18N_NOOP("Switch given working copy to another branch"), 0 }, + { "r", I18N_NOOP("Revert local changes"), 0 }, + { "m", I18N_NOOP("Merge changes between two branches"), 0 }, + { "D", I18N_NOOP("Show locally made changements with diff"), 0 }, + {"!+URL", I18N_NOOP("URL to update/commit/add/delete from Subversion"), 0 }, + KCmdLineLastOption +}; + +int main(int argc, char **argv) { + TDECmdLineArgs::init(argc, argv, "kio_svn_helper", I18N_NOOP("Subversion Helper"), "TDE frontend for SVN", "0.1"); + + TDECmdLineArgs::addCmdLineOptions( options ); + TDEGlobal::locale()->setMainCatalogue("kio_svn"); + TDEApplication::addCmdLineOptions(); + + if ( TDECmdLineArgs::parsedArgs()->count()==0 ) + TDECmdLineArgs::usage(); + TDEApplication *app = new SvnHelper(); + +// app->dcopClient()->attach(); + app->exec(); +} + +#include "kio_svn_helper.moc" diff --git a/tdeioslave/svn/svnhelper/kio_svn_helper.h b/tdeioslave/svn/svnhelper/kio_svn_helper.h new file mode 100644 index 00000000..197d7c81 --- /dev/null +++ b/tdeioslave/svn/svnhelper/kio_svn_helper.h @@ -0,0 +1,42 @@ +/* This file is part of the KDE project + Copyright (c) 2005 Mickael Marchand + + 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; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef _KIO_SVN_HELPER_H_ +#define _KIO_SVN_HELPER_H_ + +#include +#include +#include +#include + +class SvnHelper:public TDEApplication { + Q_OBJECT + + +public: + SvnHelper(); +private slots: + void finished(); + void slotResult( TDEIO::Job *); +private: + WId m_id; + TQStringList diffresult; //for diff commands ;) +}; + +#endif diff --git a/tdeioslave/svn/svnhelper/subversion.desktop b/tdeioslave/svn/svnhelper/subversion.desktop new file mode 100644 index 00000000..7d95fbec --- /dev/null +++ b/tdeioslave/svn/svnhelper/subversion.desktop @@ -0,0 +1,919 @@ +[Desktop Entry] +ServiceTypes=inode/directory,all/all +X-TDE-Submenu=Subversion +X-TDE-Submenu[fa]=زیرنسخه +X-TDE-Submenu[ne]=उप संस्करण +X-TDE-Submenu[pa]=ਸਬ-ਵਰਜਨ +X-TDE-Submenu[pt_BR]=Subversão +#X-TDE-ShowIfDcopCall=kded ksvnd anyValidWorkingCopy(KURL::List) + +#Return type of below is a QStringList with a list of Actions which is appended to the Actions above +X-TDE-GetActionMenu=kded ksvnd getActionMenu(KURL::List) + +[Desktop Action Add] +Name=Add to Repository +Name[bg]=Добавяне в хранилището +Name[br]=Ouzhpennañ d'an daveiñ +Name[ca]=Afegeix al repositori +Name[cs]=Přidat do repository +Name[da]=Tilføj til lager +Name[de]=Zum SVN-Archiv hinzufügen +Name[el]=Προσθήκη στο χώρο αποθήκευσης +Name[es]=Añadir al repositorio +Name[et]=Hoidlasse lisamine +Name[eu]=Gehitu biltegira +Name[fa]=افزودن به مخزن +Name[fi]=Lisää versionhallintaan +Name[fr]=Ajouter au référentiel +Name[ga]=Cuir leis an Stór +Name[gl]=Engadir ao repositorio +Name[he]=הוסף למאגר +Name[hu]=Hozzáadás az adattárhoz +Name[is]=Bæta við geymslu +Name[it]=Aggiungi al deposito +Name[ja]=リポジトリへ追加 +Name[ka]=რეპოზიტორიისთვის დმატება +Name[kk]=Қоймасына қосу +Name[lt]=Įdėti į saugyklą +Name[nb]=Legg til lager +Name[nds]=Na't Archiv tofögen +Name[ne]=भण्डारमा थप्नुहोस् +Name[nl]=Toevoegen aan repository +Name[nn]=Legg til lager +Name[pa]=ਰਿਪੋਜ਼ਟਰੀ 'ਚ ਸ਼ਾਮਲ +Name[pl]=Dodaj do repozytorium +Name[pt]=Adicionar ao Repositório +Name[pt_BR]=Adicionar ao Repositório +Name[ru]=Добавить в хранилище +Name[sk]=Pridať do archívu +Name[sl]=Dodaj v skladišče +Name[sr]=Додај у складиште +Name[sr@Latn]=Dodaj u skladište +Name[sv]=Lägg till i arkiv +Name[tr]=Depoya Ekle +Name[uk]=Додати до сховища +Name[zh_CN]=添加到仓库 +Name[zh_TW]=新增到主目錄 +Icon=svn_add +Exec=kio_svn_helper -a %U + +[Desktop Action Delete] +Name=Delete From Repository +Name[bg]=Изтриване от хранилището +Name[br]=Lemel eus an daveiñ +Name[ca]=Elimina del repositori +Name[cs]=Smazat z repository +Name[da]=Slet fra lager +Name[de]=Aus dem SVN-Archiv löschen +Name[el]=Διαγραφή από το χώρο αποθήκευσης +Name[es]=Eliminar del repositorio +Name[et]=Hoidlast kustutamine +Name[eu]=Ezabatu biltegitik +Name[fa]=حذف از مخزن +Name[fi]=Poista versionhallinnasta +Name[fr]=Supprimer du référentiel +Name[ga]=Scrios ón Stór +Name[gl]=Eliminar do repositorio +Name[he]=מחק ממאגר +Name[hu]=Törlés az adattárból +Name[is]=Eyða frá geymslu +Name[it]=Elimina dal deposito +Name[ja]=リポジトリから削除 +Name[ka]=რეპოზირტორიიდან წაშლა +Name[kk]=Қоймасынан өшіру +Name[lt]=Pašalinti iš saugyklos +Name[nb]=Slett fra lager +Name[nds]=Ut Archiv wegdoon +Name[ne]=भण्डारबाट मेट्नुहोस् +Name[nl]=Verwijderen uit repository +Name[nn]=Slett frå lager +Name[pa]=ਰਿਪੋਜ਼ਟਰੀ ਤੋਂ ਹਟਾਓ +Name[pl]=Usuń z repozytorium +Name[pt]=Remover do Repositório +Name[pt_BR]=Remover do Repositório +Name[ru]=Удалить из хранилища +Name[sk]=Odstrániť z archívu +Name[sl]=Izbriši iz skladišča +Name[sr]=Обриши из складишта +Name[sr@Latn]=Obriši iz skladišta +Name[sv]=Ta bort från arkiv +Name[tr]=Depodan Sil +Name[uk]=Видалити зі сховища +Name[zh_CN]=从仓库删除 +Name[zh_TW]=從主目錄刪除 +Icon=svn_remove +Exec=kio_svn_helper -d %U + +[Desktop Action Revert] +Name=Revert Local Changes +Name[bg]=Връщане на локалните промени +Name[ca]=Reverteix els canvis locals +Name[cs]=Vrátit místní změny +Name[da]=Vend lokale ændringer om +Name[de]=Lokale Änderungen zurücknehmen +Name[el]=Επαναφορά τοπικών αλλαγών +Name[es]=Revertir cambios locales +Name[et]=Kohalike muudatuste tühistamine +Name[eu]=Leheneratu aldaketa lokalak +Name[fa]=بازگشت تغییرات محلی +Name[fi]=Palauta paikalliset muutokset +Name[fr]=Annuler les modifications locales +Name[gl]=Anular as modificacións locais +Name[he]=נקה שינויים מקומיים +Name[hu]=A helyi módosítások visszavonása +Name[is]=Afturkalla staðbundnar breytingar +Name[it]=Annulla i cambiamenti locali +Name[ja]=ローカルでの変更を元に戻す +Name[ka]=ლოკალური ცვლილებების შებრუნება +Name[kk]=Жергілікті өзгерістерінен қайту +Name[lt]=Atšaukti vietinius pakeitimus +Name[nb]=Tilbakestill lokale endringer +Name[nds]=Lokaal Ännern torüchnehmen +Name[ne]=उल्टो स्थानीय परिवर्तन +Name[nl]=Lokale wijzigingen ongedaan maken +Name[nn]=Tilbakestill lokale endringar +Name[pa]=ਉਲਟ ਸਥਾਨਕ ਤਬਦੀਲੀਆਂ +Name[pl]=Cofnij lokalne zmiany +Name[pt]=Reverter as Modificações Locais +Name[pt_BR]=Reverter as Modificações Locais +Name[ru]=Отменить локальные изменения +Name[sk]=Vrátiť lokálne zmeny +Name[sl]=Povrni krajevne spremembe +Name[sr]=Одбаци локалне измене +Name[sr@Latn]=Odbaci lokalne izmene +Name[sv]=Återställ lokal ändring +Name[tr]=Yerel Değişiklikleri Ters Çevir +Name[uk]=Повернути локальні зміни +Name[zh_CN]=恢复本地更改 +Name[zh_TW]=回復本地端變更 +Icon=undo +Exec=kio_svn_helper -r %U +Comment=Remove any changes made locally. Warning - this cannot be undone. +Comment[bg]=Премахване на направените локални промени. Предупреждение - данните ще се загубят безвъзвратно. +Comment[ca]=Elimina qualsevol canvi local. Avís: No es pot desfer. +Comment[cs]=Odstraní změny provedené lokálně; nelze vrátit, pozor. +Comment[da]=Fjern alle ændringer der er lavet lokalt. Advarsel - dette kan ikke fortrydes. +Comment[de]=Nimmt alle lokal durchgeführten Änderungen zurück. Warnung: Dieser Vorgang kann nicht rückgängig gemacht werden. +Comment[el]=Αφαίρεση κάθε τροποποίησης που έγινε τοπικά. Προειδοποίηση ότι αυτό δε μπορεί να αναιρεθεί. +Comment[es]=Eliminar cualquier cambio local. Atención: esto no se puede deshacer. +Comment[et]=Eemaldab kõik kohalikud muudatused. Hoiatus: seda ei saa tagasi võtta. +Comment[eu]=Kendu lokalki egindako aldaketak. Abisua: ekintza hau ezin da desegin. +Comment[fa]=حذف همۀ تغییرات ایجادشدۀ محلی. اخطار - این نمی‌تواند انجام نشود. +Comment[fi]=Poista kaikki paikallisesti tehdyt muutokset. Varoitus - muutosta ei voi perua. +Comment[fr]=Annuler toutes les modifications effectuées localement. Attention, cela ne peut pas être annulé. +Comment[gl]=Borra as alteracións feitas a nível local. Atención - isto non pode ser anulado. +Comment[hu]=A helyi módosítások visszavonása. Ez a művelet nem vonható vissza! +Comment[is]=Fjarlægja allar breytingar sem voru gerðar hér. Athugið - það er ekki hægt að afturkalla þetta. +Comment[it]=Rimuovi ogni cambiamento fatto localmente. Attenzione: non si può tornare indietro. +Comment[ja]=ローカルで行われた変更を削除します。注意: この操作は元に戻せません。 +Comment[ka]=ნებისმიერი ლოკალურად გაკეთებული ცვლილებების წაშლა. გაფრთხილება - ამის უკუქცევა შეუძლებელია. +Comment[kk]=Жергілікті (яғни тапсырылмаған) өзгерістерден айну. Абайлаңыз - бұл амалдан қайта алмайсыз. +Comment[lt]=Panaikinti visus vietoje atliktus pakeitimus. Perspėjimas: to nebebus galima atšaukti. +Comment[nb]=Fjern alle endringer som er gjort lokalt. MERK – dette kan ikke angres. +Comment[nds]=All lokaal Ännern wegdoon. Wohrschoen - Dit lett sik nich torüchnehmen. +Comment[ne]=कुनै पनि स्थानीय परिवर्तन हटाउनुहोस् । चेतावनी - यसलाई पूर्वावस्थामा फर्काउन सकिने छैन । +Comment[nl]=Lokale wijzigingen ongedaan maken. Let op: dit kan niet teruggedraaid worden. +Comment[nn]=Fjern alle endringar som er gjorde lokalt. MERK – dette kan ikkje angrast. +Comment[pl]=Usuwa wszystkie zmiany dokonane lokalnie. Uwaga - tej operacji nie można cofnąć. +Comment[pt]=Remover as alterações que tenham sido feitas a nível local. Atenção - isto não pode ser anulado. +Comment[pt_BR]=Remover as alterações que tenham sido feitas localmente. Atenção - isto não pode ser desfeito. +Comment[ru]=Отменить все не опубликованные изменения. Эта операция не подлежит отмене. +Comment[sk]=Odstráni lokálne zmeny. Upozornenie - toto sa nedá už vrátiť. +Comment[sl]=Odstrani vse spremembe, opravljene krajevno. Opozorilo - tega ni mogoče razveljaviti. +Comment[sr]=Уклони све локално направљене измене. Упозорење: ово се не може опозвати. +Comment[sr@Latn]=Ukloni sve lokalno napravljene izmene. Upozorenje: ovo se ne može opozvati. +Comment[sv]=Tar bort alla ändringar som gjorts lokalt. Varning: detta kan inte ångras. +Comment[tr]=Yerel olarak yapılan değişiklikleri kaldır. Dikkat - bu işlem geri alınamaz. +Comment[uk]=Вилучити всі зміни, які було зроблено локально. Попередження - зміни буде вилучено назавжди. +Comment[zh_CN]=删除本地进行的任何更改。警告 - 此操作无法撤消。 +Comment[zh_TW]=移除任何已做的變更。警告:無法再復原。 + +[Desktop Action Rename] +Name=Rename... +Name[bg]=Преименуване... +Name[br]=Adenvel ... +Name[ca]=Reanomena... +Name[cs]=Přejmenovat... +Name[cy]=Ail-enwi... +Name[da]=Omdøb... +Name[de]=Umbenennen ... +Name[el]=Μετονομασία... +Name[eo]=Alinomigi... +Name[es]=Cambiar nombre... +Name[et]=Ümbernimetamine... +Name[eu]=Berrizendatu... +Name[fa]=تغییر نام... +Name[fi]=Nimeä uudelleen... +Name[fr]=Renommer... +Name[ga]=Athainmnigh... +Name[gl]=Mudar o nome... +Name[he]=שנה שם... +Name[hu]=Átnevezés... +Name[is]=Endurnefna... +Name[it]=Rinomina... +Name[ja]=名前変更... +Name[ka]=სახელის გადარქმევა... +Name[kk]=Қайта атау... +Name[lt]=Pervadinti... +Name[nb]=Endre navn … +Name[nds]=Ümnömen... +Name[ne]=पुन: नामकरण गर्नुहोस्... +Name[nl]=Hernoemen... +Name[nn]=Endra namn … +Name[pa]=ਨਾਂ-ਤਬਦੀਲ... +Name[pl]=Zmień nazwę... +Name[pt]=Mudar o Nome... +Name[pt_BR]=Renomear... +Name[ru]=Переименовать... +Name[sk]=Premenovať... +Name[sl]=Preimenuj ... +Name[sr]=Преименуј... +Name[sr@Latn]=Preimenuj... +Name[sv]=Byt namn... +Name[tr]=Yeniden Adlandır... +Name[uk]=Перейменувати... +Name[zh_CN]=重命名... +Name[zh_TW]=重新命名... +Icon=pencil +Exec=kio_svn_helper -r %U +Comment=Rename a file locally and in the repository. Use this rather than adding and deleting to rename a file. +Comment[bg]=Преименуване на файл локално и в хранилището. За предпочитане е да използвате този метод вместо изтриване и добавяне. +Comment[ca]=Reanomena un fitxer localment i en el repositori. Use-ho en comptes d'afegir i eliminar per a reanomenar un fitxer. +Comment[cs]=Přejmenovat soubor lokálně a v repository. Použijte raději než přidání a smazání souboru k docílení jeho přejmenování. +Comment[da]=Omdøb en fil lokalt og i lageret. Brug dette i stedet for at tilføje og slette for at omdøbe en fil. +Comment[de]=Benennt eine Datei lokal und im SVN-Archiv um. Verwenden Sie besser diese Funktion zum Umbenennen einer Datei als Hinzufügen und Löschen. +Comment[el]=Μετονομασία ενός αρχείου τοπικά και στο χώρο αποθήκευσης. Χρησιμοποιήστε αυτό αντί της προσθήκης και αφαίρεσης για τη μετονομασία ενός αρχείου. +Comment[es]=Cambiar el nombre de un archivo localmente y en el repositorio. Use esto en lugar de añadir y eliminar para cambiar el nombre de un archivo. +Comment[et]=Faili ümbernimetamine nii kohalikult kui hoidlas. See on eelistatud viis faili ümbernimetamisel lisamise ja kustutamise asemel. +Comment[eu]=Berrizendatu fitxategi bat lokalki eta biltegian. Erabili hau fitxategia ezabatu eta berriro gehitu ordez. +Comment[fa]=تغییر نام پروندۀ محلی و در مخزن. به جای افزودن و حذف، برای تغییر نام پرونده از این استفاده کنید. +Comment[fi]=Nimeä uudelleen paikallinen ja versionhallinnassa oleva tiedosto. Nimeä tiedosto uudelleen mieluummin näin kuin lisäämällä ja poistamalla. +Comment[fr]=Renommer un fichier localement et dans le référentiel. Utilisez cette option pour renommer un fichier, au lieu de le supprimer puis l'ajouter sous le nouveau nom. +Comment[gl]=Muda o nome dun ficheiro tanto localmente como no repositorio. Use isto en vez de engadir e eliminar o ficheiro para mudar o nome. +Comment[hu]=Fájl átnevezése helyben és az adattárban. Ezt érdemes használni hozzáadás és törlés helyett. +Comment[is]=Endurnefna skrá hér og í geymslunni. Notist heldur við þetta í stað þess að bæta við og eyða til að endurnefna skrá. +Comment[it]=Rinomina un file localmente e nel deposito. Usa questo invece di aggiungere e rimuovere un file per rinominarlo. +Comment[ja]=ローカルとリポジトリのファイルを改名します。名前の変更の際に追加と削除をしないで、この方法を使用してください。 +Comment[ka]=ფაილის სახელის გადარქმევა ლოკალურად და რეპოზიტორიასი. დამატების და წაშლის ნაცვლად ეს გამოიყენეთ. +Comment[kk]=Файлдың жергілікті де, қоймасындағы да атауын өзгерту. Өшіріп қайта қосудан гөрі осыны қолданған дұрыс. +Comment[lt]=Pervadinti bylą vietoje ir saugykloje. Naudokite šią parinktį užuot ištrindami ir įrašydami nauju vardu norimą pervadinti bylą. +Comment[nb]=Gi en fil nytt navn lokalt og i arkivet. Bruk dette heller enn å slette og legge inn på nytt for å endre navn på en fil. +Comment[nds]=En Datei lokaal un in't Archiv ümnömen. Bruuk beter dit, as "Tofögen" un "Wegdoon". +Comment[ne]=फाइलालाई स्थानीय रुपमा र भण्डारमा पुन: नामकरण गर्नुहोस् । फाइललाई पुन: नामकरण गर्न थप्ने र मेट्ने भन्दा यसलाई प्रयोग गर्नुहोस् । +Comment[nl]=Hernoem een bestand lokaal en in de repository. Gebruik dit bij voorkeur boven het verwijderen van een bestand en het toevoegen onder een andere naam. +Comment[nn]=Gi ei fil nytt namn lokalt og i arkivet. Bruk dette heller enn å sletta og leggja inn på nytt for å endra namn på ei fil. +Comment[pl]=Zmienia nazwę pliku lokalnie i w repozytorium. Należy tego używać zamiast dodawania i usuwania pliku. +Comment[pt]=Muda o nome de um ficheiro a nível local e no repositório. Use isto em vez de adicionar e remover o ficheiro para mudar o nome. +Comment[pt_BR]=Muda o nome de um arquivo localmente e no repositório. Use isto em vez de adicionar e remover o arquivo para mudar o nome. +Comment[ru]=Переименовать файл с отражением этого в хранилище. +Comment[sk]=Premenuje súbor lokálne aj v archíve. Použite radšej toto ako pridanie a odstránenie súboru. +Comment[sl]=Preimenuj datoteko krajevno in v skladišču. Uporabite to namesto brisanja in dodajanja datoteke. +Comment[sr]=Преименуј фајл локално и у складишту. Користите ово уместо трика са додавањем и брисањем фајла. +Comment[sr@Latn]=Preimenuj fajl lokalno i u skladištu. Koristite ovo umesto trika sa dodavanjem i brisanjem fajla. +Comment[sv]=Byt namn på en fil lokalt och i arkivet. Använd detta istället för att lägga till och ta bort för att byta namn på en fil. +Comment[uk]=Перейменувати файл локально і в сховищі. Вживайте замість додавання і видалення файла, щоб його перейменувати. +Comment[zh_CN]=在本地和仓库中重命名文件。使用此功能来取代对文件的添加和删除。 +Comment[zh_TW]=在本地端與主目錄中重新命名檔案。不必先新增再刪除檔案。 + +[Desktop Action Import] +Name=Import Repository +Name[bg]=Импортиране на директория +Name[br]=Enporzh an daveiñ +Name[ca]=Importa repositori +Name[cs]=Importovat repository +Name[da]=Importér lager +Name[de]=SVN-Archiv importieren +Name[el]=Εισαγωγή χώρου αποθήκευσης +Name[eo]=Importi Deponejon +Name[es]=Importar repositorio +Name[et]=Hoidla import +Name[eu]=Inportatu biltegia +Name[fa]=مخزن واردات +Name[fi]=Tuo versionhallinta +Name[fr]=Importer dans un référentiel +Name[ga]=Iompórtáil Stór +Name[gl]=Importar un repositorio +Name[hu]=Adattár importálása +Name[is]=Flytja inn geymslu +Name[it]=Importa deposito +Name[ja]=リポジトリのインポート +Name[ka]=რეპოზიტორიის იმპორტი +Name[kk]=Қоймасына импорттау +Name[lt]=Importuoti saugyklą +Name[nb]=Importer lager +Name[nds]=Archiv importeren +Name[ne]=आयात भण्डार +Name[nl]=Repository importeren +Name[nn]=Importer lager +Name[pa]=ਰਿਪੋਜ਼ਟਰੀ ਅਯਾਤ +Name[pl]=Importuj repozytorium +Name[pt]=Importar um Repositório +Name[pt_BR]=Importar um Repositório +Name[ru]=Импортировать в хранилище +Name[sk]=Importovať archív +Name[sl]=Uvozi skladišče +Name[sr]=Увези складиште +Name[sr@Latn]=Uvezi skladište +Name[sv]=Importera arkiv +Name[tr]=Depoyu İçe Aktar +Name[uk]=Імпортувати сховище +Name[zh_CN]=导入仓库 +Name[zh_TW]=匯入主目錄 +Icon=svn_import +Exec=kio_svn_helper -i %U +Comment=Put folder into an existing repository to put it under revision control. +Comment[bg]=Поставяне на директория в съществуващо хранилище. +Comment[ca]=Situa la carpeta en un repositori existent per a posar-la sota el control de revisions. +Comment[cs]=Zařadit složku do repository a správy verzí +Comment[da]=Put mappe ind i et eksisterende lager for at få den ind under revisionskontrol. +Comment[de]=Schiebt den Ordner in ein existierendes SVN-Archiv, um ihn in die Versionsverwaltung aufzunehmen. +Comment[el]=Εισαγωγή φακέλου σε έναν υπάρχον χώρο αποθήκευσης για τον έλεγχο εκδόσεων. +Comment[es]=Situar la carpeta en un repositorio existente para ponerla bajo control de revisión. +Comment[et]=Kataloogi lisamine olemasolevasse versioonikontrolli süsteemi hoidlasse. +Comment[eu]=Jarri karpeta biltegi batean errebisio kontrolpean edukitzeko. +Comment[fa]=گذاشتن پوشه در مخزن موجود جهت قراردادن آن تحت کنترل بازبینی. +Comment[fi]=Laita kansio versionhallintaan viemällä se olemassa olevaan versionhallintavarastoon. +Comment[fr]=Place le dossier dans un référentiel existant afin de le mettre sous contrôle de version. +Comment[gl]=Pon o cartafol nun repositorio existente para pólo baixo control de versións. +Comment[hu]=Könyvtár felvétele a verziókövető rendszer felügyelete alá. +Comment[is]=Setja möppu í geymslu sem finnst fyrir til að setja hana undir breytingarstjórn. +Comment[it]=Metti una cartella in un deposito esistente per metterla sotto controllo di revisione. +Comment[ja]=既存のリポジトリにフォルダを置き、リビジョン管理の対象とします。 +Comment[ka]=რევიზიის კონტროლისთვის ჩადეთ საქაღალდე არსებულ რეპოზიტორიაში. +Comment[kk]=Қапшықты қоймасына, нұсқалар есебін қадағалап, көшіру. +Comment[lt]=Įdėti aplanką į egzistuojančią saugyklą ir įjungti jį į keitimų sekimo sistemą. +Comment[nb]=Legg mappe inn i et eksisterende arkiv slik at det får revisjonskontroll. +Comment[nds]=Verschufft en Orner na en vörhannen Archiv, so dat he ünner Verschoonkuntrull kummt +Comment[ne]=फोल्डलाई पुनरावोलकन नियन्त्रण गर्न अवस्थित भण्डारमा राख्नुहोस् । +Comment[nl]=Plaats een map in een bestaande repository zodat het onder het versiebeheer system valt. +Comment[nn]=Legg ei mappe inn i eit eksisterande lager slik at det får revisjonskontroll. +Comment[pl]=Dodaje katalog do istniejącego repozytorium, aby umieścić go w systemie kontrolowania wersji. +Comment[pt]=Coloca a pasta num repositório existente para a colocar sob controlo de versões. +Comment[pt_BR]=Coloca a pasta num repositório existente para colocá-lo sob controle de versões. +Comment[ru]=Поместить папку в существующее хранилище для добавления этой папки в систему контроля ревизий +Comment[sk]=Vloží priečinok do existujúceho archívu ako novú revíziu. +Comment[sl]=Uvozi mapo v obstoječe skladišče. Mapa tako postane del revizijskega nadzora. +Comment[sr]=Стави фасциклу у постојеће складиште, ради стављања под контролу ревизија. +Comment[sr@Latn]=Stavi fasciklu u postojeće skladište, radi stavljanja pod kontrolu revizija. +Comment[sv]=Lägg till katalog i ett befintligt arkiv för att få den under versionskontroll +Comment[tr]=Dizini başka bie alt düzeltme controlünde var olan bir depo içine koy. +Comment[uk]=Вставити теку в існуюче сховище, щоб уможливити для неї керування версіями. +Comment[zh_CN]=将文件夹放入现有仓库,以便让其受到版本控制。 +Comment[zh_TW]=將資料夾放進現存的主目錄,並開始做版本控制。 + +[Desktop Action Checkout] +Name=Checkout From Repository... +Name[bg]=Изтегляне от хранилището... +Name[ca]=Obtenir del repositori... +Name[cs]=Získat z repository... +Name[da]=Tjek ud fra lager... +Name[de]=Aus SVN-Archiv herausholen ... +Name[el]=Έλεγχος εξόδου από το χώρο αποθήκευσης... +Name[eo]=Ekpreni el Deponejo... +Name[es]=Obtener del repositorio... +Name[et]=Hoidla väljavõte... +Name[eu]=Deskargatu biltegitik... +Name[fa]=وارسی از مخزن... +Name[fi]=Nouda versionhallinnasta... +Name[fr]=Extraire depuis un référentiel... +Name[gl]=Obter do repositorio... +Name[hu]=Kimásolás az adattárból... +Name[is]=Ná í frá geymslu... +Name[it]=Ritira dal deposito... +Name[ja]=リポジトリからチェックアウト... +Name[ka]=რეპოზიტორიიდან ამონიშვნა... +Name[kk]=Қоймасынан көшіріп алу... +Name[lt]=Atsisiųsti iš saugyklos... +Name[nb]=Sjekk ut fra lager … +Name[nds]=Ut Archiv daalladen... +Name[ne]=भण्डारबाट जाँच... +Name[nl]=Repository uitchecken... +Name[nn]=Sjekk ut frå lager … +Name[pa]=ਰਿਪੋਜ਼ਟਰੀ ਤੋਂ ਚੈਕਆਉਟ... +Name[pl]=Pobierz z repozytorium... +Name[pt]=Obter do Repositório... +Name[pt_BR]=Obter do Repositório... +Name[ru]=Загрузить из хранилища... +Name[sk]=Získať z archívu... +Name[sl]=Prevzemi iz skladišča ... +Name[sr]=Довуци из складишта... +Name[sr@Latn]=Dovuci iz skladišta... +Name[sv]=Checka ut från ett arkiv... +Name[tr]=Depodan Kontrol Et... +Name[uk]=Взяти зі сховища... +Name[zh_CN]=从仓库中检出... +Name[zh_TW]=從主目錄取出... +Icon=svn_checkout +Exec=kio_svn_helper -C %U +Comment=Checkout out files from an existing repository into this folder. +Comment[bg]=Изтегляне на файлове от хранилището в текущата директория. +Comment[ca]=Obté fitxers des d'un repositori existent cap aquesta carpeta. +Comment[cs]=Získat soubory z existující repository do této složky. +Comment[da]=Tjek filer ud fra et eksisterende lager til denne mappe. +Comment[de]=Legt Dateien aus einem existierenden SVN-Archiv in diesem Ordner ab. +Comment[el]=΄Έλεγχος εξόδου των αρχείων από έναν υπάρχον χώρο αποθήκευσης σε αυτόν τον φάκελο. +Comment[es]=Descargar archivos de un repositorio existente en esta carpeta. +Comment[et]=Olemasoleva hoidla failide väljavõte sellesse kataloogi. +Comment[eu]=Deskargatu fitxategiak biltegi batetik karpeta honetara. +Comment[fa]=وارسی پرونده‌های بیرونی از مخزن موجود در این پوشه +Comment[fi]=Nouda tiedostot olemassa olevasta versionhallinnasta tähän kansioon. +Comment[fr]=Extraire dans ce dossier les fichiers d'un référentiel existant +Comment[gl]=Obtén todos os ficheiros dun repositorio existente para este cartafol. +Comment[hu]=Fájlok kimásolása az adattárból ebbe a könyvtárba. +Comment[is]=Ná í skrár frá geymslu og setja í þessa möppu. +Comment[it]=Ritira i file da un deposito esistente in questa cartella. +Comment[ja]=既存のリポジトリから、このディレクトリへファイルをチェックアウトします。 +Comment[ka]=არსებული რეპოზიტორიიდან ფაილები ამ საქაღალდეში ამონიშნეთ. +Comment[kk]=Файлдарды қоймасынан көрсетілген қапшыққа көшіріп алу. +Comment[lt]=Atsisiųsti bylas iš egzistuojančios saugyklos į šį aplanką. +Comment[nb]=Sjekk ut filer fra et arkiv inn i denne mappa +Comment[nds]=Laadt Dateien ut en vörhannen Archiv na dissen Orner daal. +Comment[ne]=यो फोल्डरमा अवस्थित भण्डार बाहिरका फाइललाई जाँच गर्नुहोस् । +Comment[nl]=Bestanden van een bestaande repository uitchecken in deze map. +Comment[nn]=Sjekk ut filer frå eit arkiv inn i denne mappa. +Comment[pl]=Pobranie plików z istniejącego repozytorium do tego katalogu. +Comment[pt]=Obtém todos os ficheiros de um repositório existente para esta pasta. +Comment[pt_BR]=Obtém todos os arquivos de um repositório existente para esta pasta. +Comment[ru]=Загрузить файлы из существующего хранилища в указанную папку +Comment[sk]=Získa súbory z existujúceho archívu do tohoto priečinku. +Comment[sl]=Prevzemi datoteke iz obstoječega skladišča v to mapo. +Comment[sr]=Довуци фајлове из постојећег складишта у ову фасциклу. +Comment[sr@Latn]=Dovuci fajlove iz postojećeg skladišta u ovu fasciklu. +Comment[sv]=Checka ut filer från ett befintligt arkiv till katalogen. +Comment[tr]=Bu dizinde var olan bir depodan hatalı dosyaları kontrol et. +Comment[uk]=Взяти файли з існуючого сховища і покласти в цю теку. +Comment[zh_CN]=从已有仓库中检出文件并存放至此文件夹。 +Comment[zh_TW]=從現存的主目錄取出檔案到此資料夾。 + +[Desktop Action Switch] +Name=Switch... +Name[bg]=Превключване... +Name[br]=Gwintañ ... +Name[ca]=Canvia... +Name[cs]=Přepnout... +Name[de]=Wechseln (switch) +Name[el]=Εναλλαγή... +Name[eo]=Ŝalti... +Name[es]=Cambiar... +Name[et]=Lülitumine... +Name[eu]=Aldatu... +Name[fa]=سودهی... +Name[fi]=Vaihda... +Name[fr]=Basculer... +Name[gl]=Mudar... +Name[he]=החלף... +Name[hu]=Váltás... +Name[is]=Skipta... +Name[it]=Passa... +Name[ja]=スイッチ... +Name[ka]=გადრთვა... +Name[kk]=Ауысу... +Name[lt]=Perjungti... +Name[nb]=Bytt … +Name[nds]=Telg wesseln... +Name[ne]=स्विच... +Name[nl]=Omzetten (switch)... +Name[nn]=Byt … +Name[pa]=ਤਬਦੀਲ... +Name[pl]=Przełącz... +Name[pt]=Mudar... +Name[pt_BR]=Mudar... +Name[ru]=Сменить адрес хранилища... +Name[sk]=Vymeniť... +Name[sl]=Preklopi ... +Name[sr]=Пребаци... +Name[sr@Latn]=Prebaci... +Name[sv]=Byt... +Name[tr]=Değiştir... +Name[uk]=Перемкнути... +Name[zh_CN]=切换... +Name[zh_TW]=切換... +Icon=svn_switch +Comment=Switch given working copy to another branch +Comment[bg]=Превключване на работното копие към друго разклонение. +Comment[ca]=Canvia una còpia de treball indicada a una altra branca +Comment[cs]=Přepnout danou pracovní kopii na jinou větev +Comment[da]=Skift given arbejdskopi til en anden gren. +Comment[de]=Wechselt von der vorhandenen Arbeitskopie zu einer anderen Verzweigung (branch). +Comment[el]=Εναλλαγή του δοσμένου αντιγράφου εργασίας σε άλλον κλάδο +Comment[es]=Cambiar una determinada copia de trabajo a otra rama +Comment[et]=Antud töökoopia lülitamine teise harru +Comment[eu]=aldatu laneko kopia bat beste adar batekin +Comment[fa]=سودهی رونوشت کار داده‌شده به شاخۀ دیگر +Comment[fi]=Vaihda annettu työkopio toiseen haaraan +Comment[fr]=Basculer la copie de travail vers une autre branche +Comment[gl]=Muda a copia de traballo actual para outra ramificación +Comment[hu]=A munkamásolat átváltása másik ágra +Comment[is]=Skipta núverandi vinnuafriti yfir í aðra grein +Comment[it]=Passa la copia di lavoro a un altro ramo +Comment[ja]=作業中のコピーを他のブランチへ切り換えます。 +Comment[ka]=მიმდინარე სამუშაო ასლის სხვა ტოტზე გაკეთება +Comment[kk]=Жұмыс көшірмені жобаның басқа саласына (яғни қоймасына) ауыстыру +Comment[lt]=Perjungti esamą vietinį saugyklos aplanką į kitą atšaką +Comment[nb]=Byt arbeidskopien til en annen gren +Comment[nds]=Arbeitkopie na en annern Telg verschuven +Comment[ne]=दिइएको कार्य प्रतिलाई अन्य शाखामा स्विच गर्नुहोस् +Comment[nl]=Zet een bestaande copy om naar een andere branch +Comment[nn]=Byt arbeidskopien til ei anna grein +Comment[pl]=Przełącza katalog roboczy na inną gałąź +Comment[pt]=Muda a cópia de trabalho actual para outra ramificação +Comment[pt_BR]=Muda a cópia de trabalho atual para outra ramificação +Comment[ru]=Сменить адрес хранилища, например перейти от стабильной ветки к ветке разработки +Comment[sk]=Vymení danú pracovnú kópiu zo inú vetvu +Comment[sl]=Preklopi dano delovno kopijo na drugo vejo +Comment[sr]=Пребаци дату радну копију на другу грану +Comment[sr@Latn]=Prebaci datu radnu kopiju na drugu granu +Comment[sv]=Byt angiven arbetskopia till en annan gren +Comment[tr]=Çalışan belirli bir kopyayı başka bölüme değiştir +Comment[uk]=Перемкнути поточну робочу копію на іншу гілку +Comment[zh_CN]=将工作副本切换到另外一个分支 +Comment[zh_TW]=將指定的工作複本切換到另一個分支 +Exec=kio_svn_helper -s %U + +[Desktop Action Merge] +Name=Merge... +Name[bg]=Смесване... +Name[br]=D&astum ... +Name[ca]=Fusiona... +Name[cs]=Sloučit... +Name[da]=Indflet... +Name[de]=Zusammenführen ... +Name[el]=Συγχώνευση... +Name[eo]=Kunfandi... +Name[es]=Mezclar... +Name[et]=Ühendamine... +Name[eu]=Bateratu... +Name[fa]=ادغام... +Name[fi]=Yhdistä... +Name[fr]=Fusionner... +Name[ga]=Cumaisc... +Name[gl]=Fusionar... +Name[he]=מזג... +Name[hu]=Összeolvasztás... +Name[is]=Bræða saman... +Name[it]=Fondi... +Name[ja]=マージ... +Name[ka]=შერწყმა... +Name[kk]=Біріктіру... +Name[lt]=Sulieti... +Name[nb]=Flett … +Name[nds]=Tosamenföhren... +Name[ne]=गाभिनु... +Name[nl]=Samenvoegen... +Name[nn]=Flett … +Name[pa]=ਮਿਲਾਨ... +Name[pl]=Połącz... +Name[pt]=Reunir... +Name[pt_BR]=Mesclar... +Name[ru]=Объединить... +Name[sk]=Spojiť... +Name[sl]=Združi ... +Name[sr]=Стопи... +Name[sr@Latn]=Stopi... +Name[sv]=Sammanfoga... +Name[tr]=Birleştir... +Name[uk]=Об'єднати... +Name[zh_CN]=合并... +Name[zh_TW]=合併... +Icon=svn_merge +Comment=Merge changes between this and another branch +Comment[bg]=Смесване на промените от това разклонение с друго разклонение. +Comment[ca]=Fusiona els canvis entre aquesta i una altra branca +Comment[cs]=Sloučit změny mezi touto a jinou větví +Comment[da]=Indflet ændringer mellem denne og en anden gren +Comment[de]=Führt Änderungen aus dieser und einer anderen Verzweigung zusammen +Comment[el]=Συγχώνευση αλλαγών μεταξύ του τρέχοντος και κάποιου άλλου κλάδου +Comment[es]=Mezclar los cambios entre esta y otra rama +Comment[et]=Selle ja teise haru muudatuste ühendamine +Comment[eu]=Bateratu hau eta beste adar baten arteko aldaketak +Comment[fa]=تغییرات بین این شاخه و شاخۀ دیگر را ادغام می‌کند +Comment[fi]=Yhdistä tämän ja toisen haaran väliset muutokset +Comment[fr]=Fusionner les modifications entre cette branche et une autre +Comment[gl]=Fusiona as modificacións entre esta ramificación e outra +Comment[hu]=A módosítások összefésülése egy másik ággal +Comment[is]=Bræða saman breytingar milli þessarar og annarar greinar +Comment[it]=Fondi i cambiamenti tra questo e un altro ramo +Comment[ja]=このブランチと他のブランチの間で、変更をマージします。 +Comment[ka]=ამ და სხვა ტოტების ცვლილებების შერწყმა +Comment[kk]=Осы және өзге салалардағы өзгерістерін біріктіру +Comment[lt]=Sulieti pakeitimus tarp šios ir kitos atšakos +Comment[nb]=Flett sammen endringer mellom denne og en annen gren +Comment[nds]=Ännern twischen dissen un en annern Telg tosamenföhren +Comment[ne]=यो र अन्य शाखा बीचका परिवर्तन गाभ्नुहोस् +Comment[nl]=Deze en een andere tak samenvoegen +Comment[nn]=Flett saman endringar mellom denne og ei anna grein +Comment[pl]=Łączy zmiany między tą i inną gałęzią +Comment[pt]=Junta as modificações entre esta ramificação e outra +Comment[pt_BR]=Mescla as modificações entre esta ramificação e outra +Comment[ru]=Объеденить изменения между этой и другой ветками +Comment[sk]=Spojí zmeny medzi touto a inou vetvou +Comment[sl]=Združi spremembe med to in drugo vejo +Comment[sr]=Стопи измене између ове и друге гране +Comment[sr@Latn]=Stopi izmene između ove i druge grane +Comment[sv]=Sammanfoga ändringar mellan den här och en annan gren +Comment[tr]=Bu ve başka bölüm arasındaki değişiklikleri birleştir +Comment[uk]=Об'єднати зміни в цій та іншій гілках +Comment[zh_CN]=合并本地和另外一个分支的更改 +Comment[zh_TW]=將這個與另一個分支合併 +Exec=kio_svn_helper -m %U + +[Desktop Action Blame] +Name=Blame... +Name[bg]=Информация... +Name[ca]=Responsabilitza... +Name[cs]=Obvinit... +Name[de]=Blame ... +Name[el]=Συσχέτιση... +Name[eo]=Kulpigi... +Name[es]=Responsabilizar... +Name[et]=Autorsus... +Name[eu]=Erruduna... +Name[fa]=...سرزنش کردن +Name[fr]=Blâmer... +Name[gl]=Autorías... +Name[he]=האשם... +Name[hu]=Ki tette ezt... +Name[is]=Kenna um... +Name[it]=Traccia... +Name[ja]=ブレイム... +Name[ka]=ბრალი... +Name[kk]=Кім екен... +Name[lt]=Nustatyti... +Name[nb]=Skyld på … +Name[nds]=Naspören... +Name[ne]=दोष... +Name[nl]=Annotatie... +Name[nn]=Skuld på … +Name[pa]=ਬਲਾਮੀ... +Name[pl]=Obwiń... +Name[pt]=Culpar... +Name[pt_BR]=Culpar... +Name[ru]=Определить авторов... +Name[sk]=Žalovať... +Name[sl]=Odgovornost ... +Name[sr]=Окриви... +Name[sr@Latn]=Okrivi... +Name[sv]=Klandra... +Name[uk]=Вина... +Name[zh_CN]=历史... +Name[zh_TW]=最後狀態註記... +Icon=svn_blame +Comment=See who wrote each line of the file and in what revision +Comment[bg]=Информация за това кой е написал файла и в коя версия +Comment[ca]=Veu qui va escriure cada línia del fitxer i en qui l'ha revisat +Comment[cs]=Zobrazit, kdo napsal kterou řádku souboru spolu s revizí +Comment[da]=Se hvem der skrev hver linje i filen og i hvilken revision +Comment[de]=Zeigt an, wer die Zeilen einer Datei wann geändert hat. +Comment[el]=Δείτε ποιος έγραψε κάθε γραμμή του αρχείου και σε ποια αναθεώρηση +Comment[es]=Ver quién escribió cada línea del archivo y en qué revisión +Comment[et]=Vaatamine, kes ja millises versioonis mingi faili rea kirjutas +Comment[eu]=Ikusi nork idatzi duen lerro bakoitza eta zer errebisiotan +Comment[fa]=ببینید چه کسی هر خط پرونده را و در چه بازبینی نوشته است +Comment[fi]=Tarkista kuka on kirjoittanut tiedoston rivit missäkin versiossa +Comment[fr]=Voir qui a écrit chacune des lignes du fichier, et dans quelle version. +Comment[gl]=Consulta quen escribiu unha liña dada no ficheiro e en que versión +Comment[hu]=A fájlok készítőinek megtekintése soronként, verzió szerint +Comment[is]=Sjá hver skrifaði hvaða línu og í hvaða útgáfu +Comment[it]=Vedi chi ha scritto ogni riga del file e in quale revisione +Comment[ja]=誰がどのリビジョンの、どのファイルの、どの行を書いたのかを見ます。 +Comment[ka]=ნახეთ თუ ვინ ჩაწერა ფაილის ყოველი ხაზი და რომელ რევიზიაში +Comment[kk]=Файлдағы жолды кім және қай нұсқасында жазғанын білу +Comment[lt]=Patikrinti, kas parašė kiekvieną eilutę ir kurio keitimo metu tai buvo atlikta +Comment[nb]=Se hvem som skrev hver linje i fila og i hvilken revisjon +Comment[nds]=Wiest, wokeen wannehr welke Dateiregen ännert hett +Comment[ne]=प्रत्येक फाइल कसले लेखेको छ र के दोहोरिएको छ हेर्नुहोस् +Comment[nl]=Bekijk wie welke regel van het bestand geschreven heeft en in welke revisie +Comment[nn]=Sjå kven som skreiv kvar linje i fila og i kva revisjon +Comment[pl]=Pokazuje, kto ostatni zmienił każdą linię w pliku i w której wersji +Comment[pt]=Vê quem escreveu uma dada linha no ficheiro e em que versão +Comment[pt_BR]=Vê quem escreveu uma determinada linha no arquivo e em que versão +Comment[ru]=Просмотреть авторов каждой строки в файле и в выбранной ревизии +Comment[sk]=Pozrite sa, kto a v ktorej revízii napísal každý riadok súboru +Comment[sl]=Prikaži, kdo je napisal katero vrstico in v kateri reviziji +Comment[sr]=Прикажи за сваку линију фајла ко ју је написао и у којој ревизији +Comment[sr@Latn]=Prikaži za svaku liniju fajla ko ju je napisao i u kojoj reviziji +Comment[sv]=Se vem som skrev varje rad i filen och för vilken version +Comment[uk]=Подивитись хто написав кожний рядок файла і в якій модифікації +Comment[zh_CN]=查看谁在哪次修订中写了文件的哪一行 +Comment[zh_TW]=看檔案中的每一行是誰寫的,其版本為何 +Exec=kio_svn_helper -b %U + +[Desktop Action CreatePatch] +Name=Create Patch... +Name[bg]=Създаване на кръпка... +Name[ca]=Crea pedaç... +Name[cs]=Vytvořit záplatu... +Name[da]=Lav rettelse... +Name[de]=Patch erstellen ... +Name[el]=Δημιουργία διόρθωσης... +Name[eo]=Krei Flikon... +Name[es]=Crear parche... +Name[et]=Paiga loomine... +Name[eu]=Sortu adabakia... +Name[fa]=ایجاد کژنه... +Name[fi]=Luo korjaus... +Name[fr]=Créer un correctif... +Name[ga]=Cruthaigh Paiste... +Name[gl]=Criar un parche... +Name[he]=צור טלאי... +Name[hu]=Folt készítése... +Name[is]=Búa til plástur... +Name[it]=Crea correzione... +Name[ja]=パッチの作成... +Name[ka]=ბებკის შექმნა... +Name[kk]=Жамауды құру... +Name[lt]=Kurti pataisymą... +Name[nb]=Lag lapp … +Name[nds]=Kodeplaster opstellen... +Name[ne]=प्याच सिर्जना... +Name[nl]=Patch aanmaken... +Name[nn]=Lag lapp … +Name[pa]=ਪੈਂਚ ਬਣਾਓ... +Name[pl]=Stwórz łatę... +Name[pt]=Criar um 'Patch'... +Name[pt_BR]=Criar um 'Patch'... +Name[ru]=Создать заплатку... +Name[sk]=Vytvoriť záplatu... +Name[sl]=Ustvari popravek ... +Name[sr]=Направи закрпу... +Name[sr@Latn]=Napravi zakrpu... +Name[sv]=Skapa programfix... +Name[tr]=Yama Oluştur... +Name[uk]=Створити латку... +Name[zh_CN]=创建补丁... +Name[zh_TW]=建立修補檔... +Exec=kio_svn_helper -p %U + +[Desktop Action Export] +Name=Export... +Name[bg]=Експортиране... +Name[br]=Ezporzh ... +Name[ca]=Exporta... +Name[cs]=Exportovat... +Name[cy]=Allforio... +Name[da]=Eksportér... +Name[de]=Exportieren ... +Name[el]=Εξαγωγή... +Name[eo]=Eksporti... +Name[es]=Exportar... +Name[et]=Eksport... +Name[eu]=Esportatu... +Name[fa]=صادرات... +Name[fi]=Vie... +Name[fr]=Exporter... +Name[ga]=Easpórtáil... +Name[gl]=Exportar... +Name[he]=ייצא.... +Name[hu]=Exportálás... +Name[is]=Flytja út... +Name[it]=Esporta... +Name[ja]=エクスポート... +Name[ka]=ექსპორტი... +Name[kk]=Экспорттау... +Name[lt]=Eksportuoti... +Name[nb]=Eksporter … +Name[nds]=Exporteren... +Name[ne]=निर्यात... +Name[nl]=Exporteren... +Name[nn]=Eksporter … +Name[pa]=ਨਿਰਯਾਤ... +Name[pl]=Eksportuj... +Name[pt]=Exportar... +Name[pt_BR]=Exportar... +Name[ru]=Экспорт... +Name[sk]=Exportovať... +Name[sl]=Izvozi ... +Name[sr]=Извези... +Name[sr@Latn]=Izvezi... +Name[sv]=Exportera... +Name[tr]=Dışa Aktar... +Name[uk]=Експортувати... +Name[zh_CN]=导出... +Name[zh_TW]=匯出... +Icon=svn_export +Exec=kio_svn_helper -e %U +Comment=Checkout out an unversioned copy of a tree from a repository +Comment[bg]=Изтегляне на копие на дървото от хранилището. +Comment[ca]=Exporta una còpia sense versió d'un arbre del repositori +Comment[cs]=Získat z repository kopii stromu bez verze +Comment[da]=Tjek en kopi uden version ud af et træ fra et lager +Comment[de]=Herausholen eines Baums aus dem SVN-Archiv ohne Versionsinformationen +Comment[el]=Έλεγχος εξόδου ενός αντιγράφου χωρίς έκδοση από ένα δέντρο του χώρου αποθήκευσης +Comment[es]=Exporta una copia no versionada de un árbol de un repositorio +Comment[et]=Hoidla failipuu versioonita koopia väljavõte +Comment[eu]=Deskargatu bertsio-gabeko zuhaitz baten kopia bat biltegitik +Comment[fa]=وارسی یک رونوشت کلی درخت از مخزن +Comment[fi]=Nouda versioimaton kopio versionhallinnan puusta +Comment[fr]=Extraire une copie sans contrôle de version d'une arborescence depuis un référentiel +Comment[gl]=Obtén unha copia sen control de versións dunha árbore do repositorio +Comment[hu]=Verzió nélküli másolat készítése az adattárból +Comment[is]=Ná í afrit af tré án útgáfunúmers frá geymslu +Comment[it]=Ritira una copia senza versione di un albero da un deposito +Comment[ja]=リポジトリから非バージョン管理ツリーとしてチェックアウトします。 +Comment[ka]=რეპოზიტტორიიდან ხის უვერსიო ასლის შემოწმება +Comment[kk]=Жоба бұтағын қоймасынан, нұсқалар есебін қадағалауынан тыс көшіріп алу +Comment[lt]=Atsisiųsti bylas iš egzistuojančios saugyklos be keitimų sekimo. +Comment[nb]=Sjekk ut en kopi av et tre uten versjon fra et lager +Comment[nds]=En Boomkopie ahn Verschooninformatschoon ut en Archiv daalladen +Comment[ne]=भण्डारबाट संस्करण ननिकालिएको ट्री बाहिरको प्रति जाँच गर्नुहोस् +Comment[nl]=Een niet onder versiebeheer vallende kopie uitchecken van een tak uit de repository +Comment[nn]=Sjekk ut ein kopi av eit tre utan versjon frå eit lager +Comment[pl]=Pobiera kopię drzewa z repozytorium bez informacji do kontroli wersji +Comment[pt]=Obtém uma cópia sem controlo de versões de uma árvore do repositório +Comment[pt_BR]=Obtém uma cópia sem controle de versões de uma árvore do repositório +Comment[ru]=Загрузить копию дерева без служебной информации системы управления версиями +Comment[sk]=Získa neverzionovanú kópiu stromu z archívu +Comment[sl]=Iz skladišča prevzemi kopijo drevesa brez različice +Comment[sr]=Довуци неверзирану копију стабла из складишта +Comment[sr@Latn]=Dovuci neverziranu kopiju stabla iz skladišta +Comment[sv]=Checka ut en kopia utan versionskontroll från ett arkiv +Comment[tr]=Depodaki bir ağaçtan kusurlu bir versionsuz kopyayı kontrol et +Comment[uk]=Взяти зі сховища копію дерева без версій +Comment[zh_CN]=从仓库中检出无版本副本 +Comment[zh_TW]=從主目錄中取出不含版本資訊的工作複本 + +[Desktop Action Diff] +Name=Diff (local) +Name[bg]=Разлика (локално) +Name[cs]=Rozdíl (místní) +Name[da]=Diff (lokal) +Name[de]=Diff (lokal) +Name[el]=Διαφορές (τοπικά) +Name[es]=Diferencias (locales) +Name[et]=Võrdlemine (kohalik) +Name[eu]=Desberdintasunak (lokala) +Name[fa]=Diff (محلی) +Name[fi]=Diff (paikallinen) +Name[fr]=Différences (locales) +Name[ga]=Diff (logánta) +Name[gl]=Diferenzas (local) +Name[he]=Diff (מקומי) +Name[hu]=Diff (helyi) +Name[is]=Bera saman (staðbundið) +Name[it]=Differenza (locale) +Name[ja]=Diff (ローカル) +Name[ka]=Diff (ლოკალური) +Name[kk]=Жергілікті өзгерістер +Name[lt]=Diff (vietinis) +Name[ms]=Diff (tempatan) +Name[nb]=Diff (lokal) +Name[nds]=Verscheel (lokaal) +Name[ne]=Diff (स्थानीय) +Name[nl]=Diff (lokaal) +Name[nn]=Diff (lokal) +Name[pa]=ਅੰਤਰ (ਸਥਾਨਕ) +Name[pl]=Różnice (lokalne) +Name[pt]=Diferenças (local) +Name[pt_BR]=Diferenças (local) +Name[ru]=Локальные изменения +Name[sk]=Rozdiel (lokálne) +Name[sl]=Diff (krajevno) +Name[sr]=Разликуј (локално) +Name[sr@Latn]=Razlikuj (lokalno) +Name[sv]=Jämför (lokalt) +Name[tr]=Diff (yerel) +Name[uk]=Розбіжності (локальні) +Name[zh_CN]=Diff (本地) +Name[zh_TW]=比較(本地端) +Icon=svn_diff +Exec=kio_svn_helper -D %U +Comment=Show local changes since last update +Comment[bg]=Показване на локалните промени след последното обновяване. +Comment[ca]=Mostra els canvis locals des de l'última actualització +Comment[cs]=Zobrazit lokální změny od poslední aktualizace +Comment[da]=Vis lokale ændringer siden sidste opdatering +Comment[de]=Zeigt die lokal durchgeführten Änderungen seit der letzten Aktualisierung +Comment[el]=Εμφάνιση τοπικών αλλαγών από την τελευταία ενημέρωση +Comment[es]=Mostrar los cambios locales desde la última actualización +Comment[et]=Kohalike muudatuste näitamine pärast viimast uuendamist +Comment[eu]=Erakutsi azken aldaketatik gertatu diren aldaketa lokalak +Comment[fa]=نمایش تغییرات محلی از آخرین به‌روزرسانی +Comment[fi]=Näytä viimeisen päivityksen jälkeen tehdyt paikalliset muutokset +Comment[fr]=Afficher les changements locaux effectués depuis la dernière mise à jour +Comment[gl]=Mostra as modificacións locais desde a última actualización +Comment[hu]=A helyi módosítások mutatása (az utolsó frissítés óta) +Comment[is]=Sýna staðbundnar breytingar frá seinustu uppfærslu +Comment[it]=Mostra i cambiamenti locali dall'ultimo aggiornamento +Comment[ja]=最終アップデートからローカルにどのような変更があったのかを表示します。 +Comment[ka]=უკანასკნელი განახლების შემდეგ ლოკალური ცვლილებების ჩვენება +Comment[kk]=Қоймасына әлі тапсырылмаған жергілікті өзгерістерді көрсету +Comment[lt]=Rodyti vietinius pakeitimus nuo paskutinio atnaujinimo +Comment[nb]=Vis lokale endringer siden siste oppdatering +Comment[nds]=Lokaal Ännern na de verleden Opfrischen wiesen +Comment[ne]=अन्तिम अद्यावधिक पछिका स्थानीय परिवर्तन देखाउनुहोस् +Comment[nl]=Lokale wijzigingen sinds de laatste update tonen +Comment[nn]=Vis lokale endringar sidan siste oppdatering +Comment[pl]=Pokazuje lokalne zmiany od ostatniego uaktualnienia +Comment[pt]=Mostra as modificações locais desde a última actualização +Comment[pt_BR]=Mostra as modificações locais desde a última atualização +Comment[ru]=Определить изменения, не внесенные в общее хранилище +Comment[sk]=Zobrazí lokálne zmeny od poslednej aktualizácie +Comment[sl]=Prikaži krajevne spremembe od zadnje posodobitve +Comment[sr]=Прикажи локалне измене од последњег ажурирања +Comment[sr@Latn]=Prikaži lokalne izmene od poslednjeg ažuriranja +Comment[sv]=Visa lokala ändringar sedan senaste uppdateringen +Comment[tr]=Son güncellemeden sonraki yerel değişiklikleri göster +Comment[uk]=Показати локальні зміни з часу останнього оновлення +Comment[zh_CN]=显示上次更新后本地的更改 +Comment[zh_TW]=顯示最後一次更新之後於本地端所做的改變 + diff --git a/tdeioslave/svn/svnhelper/subversion_toplevel.desktop b/tdeioslave/svn/svnhelper/subversion_toplevel.desktop new file mode 100644 index 00000000..0a024c91 --- /dev/null +++ b/tdeioslave/svn/svnhelper/subversion_toplevel.desktop @@ -0,0 +1,97 @@ +[Desktop Entry] +ServiceTypes=inode/directory,all/all +X-TDE-Priority=TopLevel + +X-TDE-GetActionMenu=kded ksvnd getTopLevelActionMenu(KURL::List) + +[Desktop Action Update] +Name=SVN Update +Name[bg]=Обновяване SVN +Name[ca]=Actualitza SVN +Name[cs]=SVN update +Name[da]=SVN Opdatér +Name[de]=Aktualisieren (SVN) +Name[el]=Ενημέρωση SVN +Name[es]=Actualizar SVN +Name[et]=SVN uuendamine +Name[eu]=SVN eguneratu +Name[fa]=به‌روزرسانی SVN +Name[fi]=SVN-päivitys (Update) +Name[fr]=Mise à jour SVN +Name[gl]=Actualización SVN +Name[he]=עדכון SVN +Name[hu]=SVN frissítés +Name[is]=Uppfæra SVN +Name[it]=Aggiornamento SVN +Name[ja]=SVN アップデート +Name[ka]=SVN განახლება +Name[kk]=SVN жаңарту +Name[lt]=SVN atnaujinti +Name[ms]=Kemaskini SVN +Name[nb]=SVN oppdater +Name[nds]=SVN-Archiv opfrischen +Name[ne]=एसभीएन अद्यावधिक +Name[nl]=SVN bijwerken +Name[nn]=SVN oppdater +Name[pa]=SVN ਅੱਪਡੇਟ +Name[pl]=Uaktualnij +Name[pt]=Actualização do SVN +Name[pt_BR]=Atualização a partir do SVN +Name[ru]=Обновить +Name[sk]=SVN aktualizácia +Name[sl]=Posodobitev SVN +Name[sr]=SVN ажурирање +Name[sr@Latn]=SVN ažuriranje +Name[sv]=SVN-uppdatera +Name[tr]=SVN Güncelleme +Name[uk]=SVN-оновлення +Name[zh_CN]=SVN 更新 +Name[zh_TW]=SVN 更新 +Icon=redo +Exec=kio_svn_helper -u %U + +[Desktop Action Commit] +Name=SVN Commit +Name[bg]=Изпращане SVN +Name[ca]=Entrega SVN +Name[cs]=SVN commit +Name[de]=Einspielen (SVN) +Name[el]=Καταχώρηση SVN +Name[es]=Entrega SVN +Name[et]=SVN sissekanne +Name[eu]=SVN entregatu +Name[fa]=تصدیق SVN +Name[fi]=SVN-toimitus (Commit) +Name[fr]=Validation SVN +Name[ga]=SVN Cur i bhFeidhm +Name[gl]=Entrega SVN +Name[he]=שליחת שינויים של ה־SVN +Name[hu]=SVN eltárolás +Name[is]=Setja inn í SVN +Name[it]=Deposito SVN +Name[ja]=SVN コミット +Name[ka]=SVN შესრულება +Name[kk]=SVN тапсыру +Name[lt]=SVN išsiųsti +Name[nb]=SVN meld inn +Name[nds]=Na SVN-Archiv inspelen +Name[ne]=एसभीएन कमिट +Name[nl]=SVN vastleggen +Name[nn]=SVN meld inn +Name[pa]=SVN ਕਮਿਟ +Name[pl]=Wyślij +Name[pt]=Envio do SVN +Name[pt_BR]=Envio para o SVN +Name[ru]=Опубликовать +Name[sk]=SVN potvrdenie +Name[sl]=Udejanjanje SVN +Name[sr]=SVN предаја +Name[sr@Latn]=SVN predaja +Name[sv]=SVN-arkivera +Name[tr]=SVN Teslim Etme +Name[uk]=SVN-передання +Name[zh_CN]=SVN 提交 +Name[zh_TW]=SVN 提交 +Icon=undo +Exec=kio_svn_helper -c %U + diff --git a/tdeioslave/svn/svnhelper/subversioncheckout.ui b/tdeioslave/svn/svnhelper/subversioncheckout.ui new file mode 100644 index 00000000..8f583932 --- /dev/null +++ b/tdeioslave/svn/svnhelper/subversioncheckout.ui @@ -0,0 +1,204 @@ + +SubversionCheckout + + + SubversionCheckout + + + + 0 + 0 + 498 + 133 + + + + + 1 + 1 + 0 + 0 + + + + Subversion Checkout + + + true + + + + unnamed + + + + layout8 + + + + unnamed + + + + Layout1 + + + + unnamed + + + 0 + + + 6 + + + + buttonHelp + + + &Help + + + F1 + + + true + + + + + Horizontal Spacing2 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + + buttonOk + + + &OK + + + + + + true + + + true + + + + + buttonCancel + + + &Cancel + + + + + + true + + + + + + + url + + + + 7 + 5 + 0 + 0 + + + + + + layout4 + + + + unnamed + + + + textLabel1 + + + Revision (0 for HEAD): + + + + + spacer2 + + + Horizontal + + + Expanding + + + + 121 + 20 + + + + + + revision + + + + 3 + 0 + 0 + 0 + + + + + + + + + + + + buttonOk + clicked() + SubversionCheckout + accept() + + + buttonCancel + clicked() + SubversionCheckout + reject() + + + + + kurlrequester.h + klineedit.h + kpushbutton.h + + diff --git a/tdeioslave/svn/svnhelper/subversiondiff.ui b/tdeioslave/svn/svnhelper/subversiondiff.ui new file mode 100644 index 00000000..a624e6bb --- /dev/null +++ b/tdeioslave/svn/svnhelper/subversiondiff.ui @@ -0,0 +1,100 @@ + +Subversion_Diff + + + Subversion_Diff + + + + 0 + 0 + 511 + 282 + + + + Subversion Diff + + + true + + + + unnamed + + + + text + + + PlainText + + + NoWrap + + + AutoAll + + + + + Layout1 + + + + unnamed + + + 0 + + + 6 + + + + Horizontal Spacing2 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + + buttonOk + + + &OK + + + + + + true + + + true + + + + + + + + + buttonOk + clicked() + Subversion_Diff + accept() + + + + diff --git a/tdeioslave/svn/svnhelper/subversionlog.ui b/tdeioslave/svn/svnhelper/subversionlog.ui new file mode 100644 index 00000000..e6135a8e --- /dev/null +++ b/tdeioslave/svn/svnhelper/subversionlog.ui @@ -0,0 +1,100 @@ + +Subversion_Log + + + Subversion_Log + + + + 0 + 0 + 511 + 282 + + + + Subversion Log + + + true + + + + unnamed + + + + text + + + PlainText + + + NoWrap + + + AutoAll + + + + + Layout1 + + + + unnamed + + + 0 + + + 6 + + + + Horizontal Spacing2 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + + buttonOk + + + &OK + + + + + + true + + + true + + + + + + + + + buttonOk + clicked() + Subversion_Log + accept() + + + + diff --git a/tdeioslave/svn/svnhelper/subversionswitch.ui b/tdeioslave/svn/svnhelper/subversionswitch.ui new file mode 100644 index 00000000..1e48b29e --- /dev/null +++ b/tdeioslave/svn/svnhelper/subversionswitch.ui @@ -0,0 +1,204 @@ + +SubversionSwitch + + + SubversionSwitch + + + + 0 + 0 + 498 + 133 + + + + + 1 + 1 + 0 + 0 + + + + Subversion Switch + + + true + + + + unnamed + + + + layout8 + + + + unnamed + + + + Layout1 + + + + unnamed + + + 0 + + + 6 + + + + buttonHelp + + + &Help + + + F1 + + + true + + + + + Horizontal Spacing2 + + + Horizontal + + + Expanding + + + + 20 + 20 + + + + + + buttonOk + + + &OK + + + + + + true + + + true + + + + + buttonCancel + + + &Cancel + + + + + + true + + + + + + + url + + + + 7 + 5 + 0 + 0 + + + + + + layout4 + + + + unnamed + + + + textLabel1 + + + Revision (0 for HEAD) : + + + + + spacer2 + + + Horizontal + + + Expanding + + + + 121 + 20 + + + + + + revision + + + + 3 + 0 + 0 + 0 + + + + + + + + + + + + buttonOk + clicked() + SubversionSwitch + accept() + + + buttonCancel + clicked() + SubversionSwitch + reject() + + + + + kurlrequester.h + klineedit.h + kpushbutton.h + + diff --git a/umbrello/umbrello/CMakeLists.txt b/umbrello/umbrello/CMakeLists.txt index f7c299b3..7329dec6 100644 --- a/umbrello/umbrello/CMakeLists.txt +++ b/umbrello/umbrello/CMakeLists.txt @@ -81,6 +81,6 @@ tde_add_executable( umbrello AUTOMOC LINK refactoring-static codeimport-static kdevcppparser-static clipboard-static codegenerator-static docgenerators-static dialogs-static - tdeprint-shared kio-shared ${XML2_LIBRARIES} ${XSLT_LIBRARIES} + tdeprint-shared tdeio-shared ${XML2_LIBRARIES} ${XSLT_LIBRARIES} DESTINATION ${BIN_INSTALL_DIR} ) diff --git a/umbrello/umbrello/autolayout/autolayoutdlg.h b/umbrello/umbrello/autolayout/autolayoutdlg.h index d970c521..6b4eea53 100644 --- a/umbrello/umbrello/autolayout/autolayoutdlg.h +++ b/umbrello/umbrello/autolayout/autolayoutdlg.h @@ -15,7 +15,7 @@ #include "newautolayoutdialog.h" #include "../umlview.h" #include -#include +#include #include "autotqlayout.h" class AutolayoutDlg : public MyDialog1 diff --git a/umbrello/umbrello/codegenerationpolicy.cpp b/umbrello/umbrello/codegenerationpolicy.cpp index 725f322f..dbabc9a3 100644 --- a/umbrello/umbrello/codegenerationpolicy.cpp +++ b/umbrello/umbrello/codegenerationpolicy.cpp @@ -27,7 +27,7 @@ #include // kde includes -#include +#include #include #include #include diff --git a/umbrello/umbrello/codegenerators/cppcodegenerationform.cpp b/umbrello/umbrello/codegenerators/cppcodegenerationform.cpp index 1051b6c6..609b7eb2 100644 --- a/umbrello/umbrello/codegenerators/cppcodegenerationform.cpp +++ b/umbrello/umbrello/codegenerators/cppcodegenerationform.cpp @@ -21,7 +21,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/umbrello/umbrello/codegenerators/cppcodegenerationpolicy.cpp b/umbrello/umbrello/codegenerators/cppcodegenerationpolicy.cpp index 70983d96..33f013a2 100644 --- a/umbrello/umbrello/codegenerators/cppcodegenerationpolicy.cpp +++ b/umbrello/umbrello/codegenerators/cppcodegenerationpolicy.cpp @@ -19,7 +19,7 @@ // qt/kde includes #include #include -#include +#include // app includes #include "cppcodegenerationpolicypage.h" #include "../uml.h" diff --git a/umbrello/umbrello/codegenerators/cppcodegenerator.cpp b/umbrello/umbrello/codegenerators/cppcodegenerator.cpp index b5c12dd6..a86f14f4 100644 --- a/umbrello/umbrello/codegenerators/cppcodegenerator.cpp +++ b/umbrello/umbrello/codegenerators/cppcodegenerator.cpp @@ -20,7 +20,7 @@ // qt/kde includes #include #include -#include +#include // app includes #include "cppcodedocumentation.h" diff --git a/umbrello/umbrello/codegenerators/javacodegenerationpolicy.cpp b/umbrello/umbrello/codegenerators/javacodegenerationpolicy.cpp index 02cd8adf..ad8810f7 100644 --- a/umbrello/umbrello/codegenerators/javacodegenerationpolicy.cpp +++ b/umbrello/umbrello/codegenerators/javacodegenerationpolicy.cpp @@ -17,7 +17,7 @@ // own header #include "javacodegenerationpolicy.h" // qt/kde includes -#include +#include // app includes #include "javacodegenerationpolicypage.h" #include "javacodegenerator.h" diff --git a/umbrello/umbrello/codegenerators/javacodegenerator.cpp b/umbrello/umbrello/codegenerators/javacodegenerator.cpp index 0f78a0fb..8e204695 100644 --- a/umbrello/umbrello/codegenerators/javacodegenerator.cpp +++ b/umbrello/umbrello/codegenerators/javacodegenerator.cpp @@ -19,7 +19,7 @@ // qt/kde includes #include -#include +#include #include #include #include diff --git a/umbrello/umbrello/codegenerators/rubycodegenerationpolicy.cpp b/umbrello/umbrello/codegenerators/rubycodegenerationpolicy.cpp index d9c8527d..55446f27 100644 --- a/umbrello/umbrello/codegenerators/rubycodegenerationpolicy.cpp +++ b/umbrello/umbrello/codegenerators/rubycodegenerationpolicy.cpp @@ -20,7 +20,7 @@ // own header #include "rubycodegenerationpolicy.h" // qt/kde includes -#include +#include // app includes #include "rubycodegenerationpolicypage.h" #include "rubycodegenerator.h" diff --git a/umbrello/umbrello/codegenerators/rubycodegenerator.cpp b/umbrello/umbrello/codegenerators/rubycodegenerator.cpp index 0cd9176f..6305537d 100644 --- a/umbrello/umbrello/codegenerators/rubycodegenerator.cpp +++ b/umbrello/umbrello/codegenerators/rubycodegenerator.cpp @@ -22,7 +22,7 @@ // qt/kde includes #include -#include +#include #include #include #include diff --git a/umbrello/umbrello/configurable.cpp b/umbrello/umbrello/configurable.cpp index c4f9683c..0738904d 100644 --- a/umbrello/umbrello/configurable.cpp +++ b/umbrello/umbrello/configurable.cpp @@ -23,7 +23,7 @@ // KDE includes #include -#include +#include // local includes #include "pluginloader.h" diff --git a/umbrello/umbrello/dialogs/codegenerationoptionspage.cpp b/umbrello/umbrello/dialogs/codegenerationoptionspage.cpp index a5ce2f57..d8e94856 100644 --- a/umbrello/umbrello/dialogs/codegenerationoptionspage.cpp +++ b/umbrello/umbrello/dialogs/codegenerationoptionspage.cpp @@ -29,7 +29,7 @@ //kde include #include -#include +#include #include //qt include diff --git a/umbrello/umbrello/dialogs/exportallviewsdialog.cpp b/umbrello/umbrello/dialogs/exportallviewsdialog.cpp index 7560b850..12836f0b 100644 --- a/umbrello/umbrello/dialogs/exportallviewsdialog.cpp +++ b/umbrello/umbrello/dialogs/exportallviewsdialog.cpp @@ -18,7 +18,7 @@ #include // kde include files -#include +#include #include // application specific includes diff --git a/umbrello/umbrello/dialogs/settingsdlg.cpp b/umbrello/umbrello/dialogs/settingsdlg.cpp index 172c695f..145b0519 100644 --- a/umbrello/umbrello/dialogs/settingsdlg.cpp +++ b/umbrello/umbrello/dialogs/settingsdlg.cpp @@ -20,7 +20,7 @@ #include #include #include -#include +#include // app includes #include "codegenerationoptionspage.h" #include "codevieweroptionspage.h" diff --git a/umbrello/umbrello/docgenerators/docbookgenerator.cpp b/umbrello/umbrello/docgenerators/docbookgenerator.cpp index e1e3c297..41c43e60 100644 --- a/umbrello/umbrello/docgenerators/docbookgenerator.cpp +++ b/umbrello/umbrello/docgenerators/docbookgenerator.cpp @@ -29,7 +29,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/umbrello/umbrello/docgenerators/main.cpp b/umbrello/umbrello/docgenerators/main.cpp index 08d8c317..ea8576da 100644 --- a/umbrello/umbrello/docgenerators/main.cpp +++ b/umbrello/umbrello/docgenerators/main.cpp @@ -27,7 +27,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/umbrello/umbrello/docgenerators/xhtmlgenerator.cpp b/umbrello/umbrello/docgenerators/xhtmlgenerator.cpp index 5c147e84..1a9bab5c 100644 --- a/umbrello/umbrello/docgenerators/xhtmlgenerator.cpp +++ b/umbrello/umbrello/docgenerators/xhtmlgenerator.cpp @@ -29,7 +29,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/umbrello/umbrello/main.cpp b/umbrello/umbrello/main.cpp index 52d96693..6408c8d6 100644 --- a/umbrello/umbrello/main.cpp +++ b/umbrello/umbrello/main.cpp @@ -15,7 +15,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/umbrello/umbrello/plugin.cpp b/umbrello/umbrello/plugin.cpp index d3efb4e7..c4d9913a 100644 --- a/umbrello/umbrello/plugin.cpp +++ b/umbrello/umbrello/plugin.cpp @@ -21,7 +21,7 @@ // KDE includes #include #include -#include +#include // app includes #include "pluginloader.h" diff --git a/umbrello/umbrello/uml.cpp b/umbrello/umbrello/uml.cpp index f6792444..a498b3c6 100644 --- a/umbrello/umbrello/uml.cpp +++ b/umbrello/umbrello/uml.cpp @@ -24,10 +24,10 @@ // kde includes #include #include -#include +#include #include #include -#include +#include #include #include #include diff --git a/umbrello/umbrello/umldoc.cpp b/umbrello/umbrello/umldoc.cpp index 8bff0db0..d3c79214 100644 --- a/umbrello/umbrello/umldoc.cpp +++ b/umbrello/umbrello/umldoc.cpp @@ -25,8 +25,8 @@ #include #include #include -#include -#include +#include +#include #include #include #include diff --git a/umbrello/umbrello/umllistview.cpp b/umbrello/umbrello/umllistview.cpp index 0edf4df6..12671fdf 100644 --- a/umbrello/umbrello/umllistview.cpp +++ b/umbrello/umbrello/umllistview.cpp @@ -22,7 +22,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/umbrello/umbrello/umlview.cpp b/umbrello/umbrello/umlview.cpp index aef18eca..2cdeefae 100644 --- a/umbrello/umbrello/umlview.cpp +++ b/umbrello/umbrello/umlview.cpp @@ -35,11 +35,11 @@ //kde include files #include -#include +#include #include #include #include -#include +#include #include #include #include diff --git a/umbrello/umbrello/umlviewimageexporter.cpp b/umbrello/umbrello/umlviewimageexporter.cpp index 6436536d..9411fae6 100644 --- a/umbrello/umbrello/umlviewimageexporter.cpp +++ b/umbrello/umbrello/umlviewimageexporter.cpp @@ -18,10 +18,10 @@ //kde include files #include -#include +#include #include #include -#include +#include // application specific includes #include "umlviewimageexportermodel.h" diff --git a/umbrello/umbrello/umlviewimageexporterall.cpp b/umbrello/umbrello/umlviewimageexporterall.cpp index 95801867..cb256ca1 100644 --- a/umbrello/umbrello/umlviewimageexporterall.cpp +++ b/umbrello/umbrello/umlviewimageexporterall.cpp @@ -21,7 +21,7 @@ #include #include #include -#include +#include #include // application specific includes diff --git a/umbrello/umbrello/umlviewimageexportermodel.cpp b/umbrello/umbrello/umlviewimageexportermodel.cpp index 7bd5a30a..a56aa85c 100644 --- a/umbrello/umbrello/umlviewimageexportermodel.cpp +++ b/umbrello/umbrello/umlviewimageexportermodel.cpp @@ -30,7 +30,7 @@ #include #include #include -#include +#include // application specific includes #include "uml.h" -- cgit v1.2.1