Skip to content

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also .

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also .
...
  • 2 commits
  • 489 files changed
  • 0 commit comments
  • 1 contributor
Commits on Nov 14, 2013
@kmoore134 kmoore134 Revert "Merge branch 'master' of github.com:pcbsd/pcbsd into 9.2-rele…
…ase"

This reverts commit d208e87, reversing
changes made to 8cdae0b.

Conflicts:
	src-qt4/pc-installgui/installer.cpp
a6c8b4a
@kmoore134 kmoore134 Fix the merge installer.cpp 6710145
Showing with 2,469 additions and 1,606 deletions.
  1. +0 −82 .gitignore
  2. +0 −1 build-files/conf/port-make.conf
  3. +1 −2 build-files/ports-overlay/misc/pcbsd-base/Makefile
  4. +0 −1 build-files/ports-overlay/misc/trueos-base/Makefile
  5. BIN overlays/install-overlay/boot/grub/themes/pcbsd/background.png
  6. +1 −3 overlays/install-overlay/root/Desktop/installpcbsd.desktop
  7. BIN overlays/install-overlay/root/wallpapers/installpaper.png
  8. +3 −3 src-qt4/EasyPBI/i18n/EasyPBI_fa.ts
  9. +88 −44 src-qt4/EasyPBI/i18n/EasyPBI_fi.ts
  10. +4 −4 src-qt4/EasyPBI/modBuild.cpp
  11. +8 −0 src-qt4/PCDM/PCDM-xloop
  12. +5 −1 src-qt4/PCDM/PCDM.pro
  13. +5 −11 src-qt4/PCDM/PCDMd
  14. +28 −14 src-qt4/PCDM/i18n/PCDM_nb.ts
  15. BIN src-qt4/PCDM/images/backgroundimage.jpg
  16. +1 −1 src-qt4/PCDM/pcdm.conf
  17. +1 −1 src-qt4/PCDM/src/dialogKeyboard.cpp
  18. +3 −3 src-qt4/PCDM/src/loginWidget.cpp
  19. +1 −1 src-qt4/PCDM/src/loginWidget.h
  20. +9 −15 src-qt4/PCDM/src/main.cpp
  21. +2 −17 src-qt4/PCDM/src/pcdm-backend.cpp
  22. +0 −1 src-qt4/PCDM/src/pcdm-backend.h
  23. +1 −26 src-qt4/PCDM/src/pcdm-gui.cpp
  24. +0 −3 src-qt4/PCDM/src/pcdm-gui.h
  25. +143 −47 src-qt4/PCDM/src/pcdm-xprocess.cpp
  26. +4 −8 src-qt4/PCDM/src/pcdm-xprocess.h
  27. +1 −1 src-qt4/PCDM/src/themeStruct.cpp
  28. BIN src-qt4/PCDM/themes/default/background.jpg
  29. BIN src-qt4/PCDM/themes/default/splashscreen.png
  30. +0 −1 src-qt4/about-gui/about.desktop
  31. +6 −5 src-qt4/about-gui/i18n/AboutGui_fa.ts
  32. +40 −20 src-qt4/about-gui/i18n/AboutGui_fi.ts
  33. +47 −25 src-qt4/about-gui/i18n/AboutGui_lv.ts
  34. +1 −1 src-qt4/about-gui/i18n/AboutGui_nb.ts
  35. +2 −2 src-qt4/about-gui/mainwindow.cpp
  36. +1 −1 src-qt4/about-gui/mainwindow.h
  37. +9 −13 src-qt4/libpcbsd/ui/metaWidget.cpp
  38. +2 −2 src-qt4/libpcbsd/utils/utils.cpp
  39. +2 −1 src-qt4/pc-bootconfig/i18n/pc-bootconfig_de.ts
  40. +2 −1 src-qt4/pc-bootconfig/i18n/pc-bootconfig_ja.ts
  41. +2 −1 src-qt4/pc-bootconfig/i18n/pc-bootconfig_nl.ts
  42. +2 −1 src-qt4/pc-bootconfig/i18n/pc-bootconfig_vi.ts
  43. +0 −2 src-qt4/pc-bugreport/pcbugreport.desktop
  44. +1 −1 src-qt4/pc-controlpanel/grouplist.cpp
  45. +48 −24 src-qt4/pc-controlpanel/i18n/pc-controlpanel_nb.ts
  46. +1 −1 src-qt4/pc-controlpanel/item.cpp
  47. +1 −1 src-qt4/pc-controlpanel/item.h
  48. +1 −1 src-qt4/pc-controlpanel/items/de/gnome-alecarte.desktop
  49. +1 −1 src-qt4/pc-controlpanel/items/de/gnome-at-properties.desktop
  50. +2 −2 src-qt4/pc-controlpanel/items/de/gnome-default-applications.desktop
  51. +1 −1 src-qt4/pc-controlpanel/items/de/gnome-gconf-editor.desktop
  52. +2 −2 src-qt4/pc-controlpanel/items/de/gnome-keybinding-properies.desktop
  53. +0 −2 src-qt4/pc-controlpanel/items/de/gnome-obconf.desktop
  54. +0 −2 src-qt4/pc-controlpanel/items/de/gnome-screensaver.desktop
  55. +2 −2 src-qt4/pc-controlpanel/items/de/gnome-session-properties.desktop
  56. +87 −87 src-qt4/pc-controlpanel/items/de/gnome-window-properties.desktop
  57. +1 −1 src-qt4/pc-controlpanel/items/de/kde-sweeper.desktop
  58. +2 −2 src-qt4/pc-controlpanel/items/de/kde-systemsettings.desktop
  59. +0 −1 src-qt4/pc-controlpanel/items/de/lxde-default-apps.desktop
  60. +0 −1 src-qt4/pc-controlpanel/items/de/lxde-desktop-prefs.desktop
  61. +0 −3 src-qt4/pc-controlpanel/items/de/lxde-lxappearance.desktop
  62. +0 −1 src-qt4/pc-controlpanel/items/de/lxde-xscreensaver.desktop
  63. +2 −2 src-qt4/pc-controlpanel/items/de/xfce-settings-manager.desktop
  64. +1 −1 src-qt4/pc-controlpanel/items/de/xfce-ui-settings.desktop
  65. +1 −1 src-qt4/pc-controlpanel/items/de/xfce-wm-settings.desktop
  66. +2 −2 src-qt4/pc-controlpanel/items/de/xfce-workspaces-settings.desktop
  67. +1 −1 src-qt4/pc-controlpanel/items/de/xfce4-accessibility-settings.desktop
  68. +2 −2 src-qt4/pc-controlpanel/items/de/xfce4-settings-editor.desktop
  69. +39 −39 src-qt4/pc-controlpanel/items/hardware/cups.desktop
  70. +93 −93 src-qt4/pc-controlpanel/items/hardware/gnome-keyboard.desktop
  71. +1 −1 src-qt4/pc-controlpanel/items/hardware/gnome-volume-control.desktop
  72. +0 −2 src-qt4/pc-controlpanel/items/hardware/lxde-lxinput.desktop
  73. +0 −2 src-qt4/pc-controlpanel/items/hardware/nvidia-settings.desktop
  74. +30 −31 src-qt4/pc-controlpanel/items/hardware/pc-bluetoothmanager.desktop
  75. +0 −2 src-qt4/pc-controlpanel/items/hardware/pc-soundconfig.desktop
  76. +38 −39 src-qt4/pc-controlpanel/items/hardware/pc-xgui.desktop
  77. +0 −8 src-qt4/pc-controlpanel/items/hardware/pc-zmanager.desktop
  78. +2 −2 src-qt4/pc-controlpanel/items/hardware/system-config-printer.desktop
  79. +1 −1 src-qt4/pc-controlpanel/items/hardware/xfce-keyboard-settings.desktop
  80. +1 −1 src-qt4/pc-controlpanel/items/hardware/xfce-mouse-settings.desktop
  81. +0 −1 src-qt4/pc-controlpanel/items/hardware/xsane.desktop
  82. +1 −2 src-qt4/pc-controlpanel/items/network/pfmanager.desktop
  83. +1 −1 src-qt4/pc-controlpanel/items/software/appcafe.desktop
  84. +0 −1 src-qt4/pc-controlpanel/items/software/easypbi.desktop
  85. +0 −1 src-qt4/pc-controlpanel/items/software/pbi-bpm.desktop
  86. +0 −2 src-qt4/pc-controlpanel/items/software/pbi-dbsd-tools.desktop
  87. +0 −1 src-qt4/pc-controlpanel/items/software/pbi-q4wine.desktop
  88. +0 −2 src-qt4/pc-controlpanel/items/software/pbi-wine64cfg.desktop
  89. +0 −2 src-qt4/pc-controlpanel/items/software/pbi-winecfg.desktop
  90. +0 −2 src-qt4/pc-controlpanel/items/system/about.desktop
  91. +1 −1 src-qt4/pc-controlpanel/items/system/gnome-system-log.desktop
  92. +1 −2 src-qt4/pc-controlpanel/items/system/ksystemlog.desktop
  93. +0 −3 src-qt4/pc-controlpanel/items/system/lxde-lxtask.desktop
  94. +0 −1 src-qt4/pc-controlpanel/items/system/pc-checkhw.desktop
  95. +35 −0 src-qt4/pc-controlpanel/items/system/pc-gdmconf.desktop
  96. +40 −42 src-qt4/pc-controlpanel/items/system/pc-servicemanager.desktop
  97. +1 −2 src-qt4/pc-controlpanel/items/system/pc-sysmanager.desktop
  98. +0 −2 src-qt4/pc-controlpanel/items/system/pcusermanager.desktop
  99. +0 −1 src-qt4/pc-controlpanel/items/system/webmin.desktop
  100. +0 −2 src-qt4/pc-controlpanel/items/tools/flash-player-properties.desktop
  101. +0 −2 src-qt4/pc-controlpanel/items/tools/pbi-kbackup.desktop
  102. +0 −2 src-qt4/pc-controlpanel/items/tools/pcbugreport.desktop
  103. +0 −1 src-qt4/pc-controlpanel/items/tools/warden.desktop
  104. +0 −1 src-qt4/pc-controlpanel/mainwnd.cpp
  105. +2 −2 src-qt4/pc-controlpanel/pccontrol.desktop
  106. +0 −3 src-qt4/pc-dmconf/main.cpp
  107. +1 −1 src-qt4/pc-firstbootgui/dialogKeyboard.cpp
  108. +2 −5 src-qt4/pc-firstbootgui/firstboot.cpp
  109. +2 −1 src-qt4/pc-firstbootgui/i18n/FirstBoot_lv.ts
  110. 0 {retired → src-qt4}/pc-gdmconf/confedit.cpp
  111. 0 {retired → src-qt4}/pc-gdmconf/confedit.h
  112. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_af.ts
  113. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_ar.ts
  114. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_az.ts
  115. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_bg.ts
  116. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_bn.ts
  117. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_bs.ts
  118. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_ca.ts
  119. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_cs.ts
  120. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_cy.ts
  121. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_da.ts
  122. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_de.ts
  123. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_el.ts
  124. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_en_GB.ts
  125. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_en_ZA.ts
  126. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_es.ts
  127. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_et.ts
  128. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_eu.ts
  129. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_fa.ts
  130. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_fi.ts
  131. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_fr.ts
  132. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_fr_CA.ts
  133. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_fur.ts
  134. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_gl.ts
  135. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_he.ts
  136. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_hi.ts
  137. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_hr.ts
  138. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_hu.ts
  139. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_id.ts
  140. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_is.ts
  141. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_it.ts
  142. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_ja.ts
  143. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_ka.ts
  144. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_ko.ts
  145. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_lt.ts
  146. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_lv.ts
  147. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_mk.ts
  148. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_mn.ts
  149. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_ms.ts
  150. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_mt.ts
  151. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_nb.ts
  152. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_ne.ts
  153. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_nl.ts
  154. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_pa.ts
  155. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_pl.ts
  156. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_pt.ts
  157. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_pt_BR.ts
  158. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_ro.ts
  159. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_ru.ts
  160. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_sa.ts
  161. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_sk.ts
  162. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_sl.ts
  163. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_sr.ts
  164. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_sv.ts
  165. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_sw.ts
  166. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_ta.ts
  167. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_tg.ts
  168. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_th.ts
  169. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_tr.ts
  170. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_uk.ts
  171. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_uz.ts
  172. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_vi.ts
  173. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_zh_CN.ts
  174. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_zh_HK.ts
  175. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_zh_TW.ts
  176. 0 {retired → src-qt4}/pc-gdmconf/i18n/pc-gdmconf_zu.ts
  177. 0 {retired → src-qt4}/pc-gdmconf/main.cpp
  178. 0 {retired → src-qt4}/pc-gdmconf/mainwindow.cpp
  179. 0 {retired → src-qt4}/pc-gdmconf/mainwindow.h
  180. 0 {retired → src-qt4}/pc-gdmconf/mainwindow.ui
  181. 0 {retired → src-qt4}/pc-gdmconf/pc-gdmconf
  182. 0 {retired → src-qt4}/pc-gdmconf/pc-gdmconf.png
  183. 0 {retired → src-qt4}/pc-gdmconf/pc-gdmconf.pro
  184. 0 {retired → src-qt4}/pc-gdmconf/pc-gdmconf.qrc
  185. +0 −1 {retired → src-qt4}/pc-gdmconf/pcgdmconf.desktop
  186. +7 −10 src-qt4/pc-installgui/dialogDesktopSelection.cpp
  187. +1 −1 src-qt4/pc-installgui/dialogKeyboard.cpp
  188. +76 −76 src-qt4/pc-installgui/i18n/SysInstaller_en.ts
  189. +76 −76 src-qt4/pc-installgui/i18n/SysInstaller_en_US.ts
  190. +1 −1 src-qt4/pc-installgui/i18n/SysInstaller_fa.ts
  191. +81 −45 src-qt4/pc-installgui/i18n/SysInstaller_ja.ts
  192. +166 −86 src-qt4/pc-installgui/i18n/SysInstaller_nb.ts
  193. +6 −3 src-qt4/pc-installgui/i18n/SysInstaller_pl.ts
  194. +112 −61 src-qt4/pc-installgui/i18n/SysInstaller_sl.ts
  195. +3 −3 src-qt4/pc-installgui/installer.cpp
  196. +2 −2 src-qt4/pc-mounttray/devCheck.cpp
  197. +6 −3 src-qt4/pc-mounttray/i18n/MountTray_ja.ts
  198. +12 −6 src-qt4/pc-mounttray/i18n/MountTray_nb.ts
  199. +6 −3 src-qt4/pc-mounttray/i18n/MountTray_nl.ts
  200. +4 −2 src-qt4/pc-mounttray/i18n/MountTray_pt_BR.ts
  201. +6 −3 src-qt4/pc-mounttray/i18n/MountTray_vi.ts
  202. +8 −4 src-qt4/pc-mounttray/settingsDialog.cpp
  203. +2 −1 src-qt4/pc-mounttray/settingsDialog.h
  204. +3 −2 src-qt4/pc-netmanager/src/ethernetconfig/i18n/ethernetconfig_fa.ts
  205. +7 −7 src-qt4/pc-netmanager/src/ethernetconfig/i18n/ethernetconfig_fi.ts
  206. +47 −29 src-qt4/pc-netmanager/src/wificonfig/i18n/wificonfig_lv.ts
  207. +2 −1 src-qt4/pc-pbigui/i18n/PBI_fa.ts
  208. +3 −3 src-qt4/pc-pbigui/i18n/PBI_ja.ts
  209. +1 −1 src-qt4/pc-pfmanager/pfmanager.desktop
  210. +112 −56 src-qt4/pc-pkgmanager/i18n/PackageManager_en_ZA.ts
  211. +22 −11 src-qt4/pc-pkgmanager/i18n/PackageManager_ja.ts
  212. +16 −8 src-qt4/pc-pkgmanager/i18n/PackageManager_nl.ts
  213. +64 −32 src-qt4/pc-pkgmanager/i18n/PackageManager_pt_BR.ts
  214. +126 −63 src-qt4/pc-pkgmanager/i18n/PackageManager_vi.ts
  215. +2 −2 src-qt4/pc-pkgmanager/main.cpp
  216. +12 −18 src-qt4/pc-pkgmanager/mainWin.cpp
  217. +39 −20 src-qt4/pc-servicemanager/i18n/ServiceManager_nb.ts
  218. +1 −1 src-qt4/pc-servicemanager/main.cpp
  219. +0 −1 src-qt4/pc-servicemanager/pc-servicemanager.desktop
  220. +1 −1 src-qt4/pc-softwaremanager/extras.h
  221. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_af.ts
  222. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_ar.ts
  223. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_az.ts
  224. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_bg.ts
  225. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_bn.ts
  226. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_bs.ts
  227. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_ca.ts
  228. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_cs.ts
  229. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_cy.ts
  230. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_da.ts
  231. +6 −1 src-qt4/pc-softwaremanager/i18n/SoftwareManager_de.ts
  232. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_el.ts
  233. +4 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_en_GB.ts
  234. +4 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_en_ZA.ts
  235. +4 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_es.ts
  236. +4 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_et.ts
  237. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_eu.ts
  238. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_fa.ts
  239. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_fi.ts
  240. +4 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_fr.ts
  241. +4 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_fr_CA.ts
  242. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_fur.ts
  243. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_gl.ts
  244. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_he.ts
  245. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_hi.ts
  246. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_hr.ts
  247. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_hu.ts
  248. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_id.ts
  249. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_is.ts
  250. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_it.ts
  251. +10 −3 src-qt4/pc-softwaremanager/i18n/SoftwareManager_ja.ts
  252. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_ka.ts
  253. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_ko.ts
  254. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_lt.ts
  255. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_lv.ts
  256. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_mk.ts
  257. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_mn.ts
  258. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_ms.ts
  259. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_mt.ts
  260. +184 −91 src-qt4/pc-softwaremanager/i18n/SoftwareManager_nb.ts
  261. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_ne.ts
  262. +10 −3 src-qt4/pc-softwaremanager/i18n/SoftwareManager_nl.ts
  263. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_pa.ts
  264. +4 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_pl.ts
  265. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_pt.ts
  266. +6 −1 src-qt4/pc-softwaremanager/i18n/SoftwareManager_pt_BR.ts
  267. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_ro.ts
  268. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_ru.ts
  269. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_sa.ts
  270. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_sk.ts
  271. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_sl.ts
  272. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_sr.ts
  273. +4 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_sv.ts
  274. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_sw.ts
  275. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_ta.ts
  276. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_tg.ts
  277. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_th.ts
  278. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_tr.ts
  279. +4 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_uk.ts
  280. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_uz.ts
  281. +10 −3 src-qt4/pc-softwaremanager/i18n/SoftwareManager_vi.ts
  282. +4 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_zh_CN.ts
  283. +4 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_zh_HK.ts
  284. +4 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_zh_TW.ts
  285. +5 −0 src-qt4/pc-softwaremanager/i18n/SoftwareManager_zu.ts
  286. +1 −7 src-qt4/pc-softwaremanager/mainUI.cpp
  287. +5 −2 src-qt4/pc-softwaremanager/pbiBackend.cpp
  288. +1 −1 src-qt4/pc-softwaremanager/pbiDBAccess.cpp
  289. +1 −1 src-qt4/pc-softwaremanager/softmanager.desktop
  290. +1 −2 src-qt4/pc-sounddetect/parse_sound.c
  291. +1 −1 src-qt4/pc-sysmanager/pc-sysmanager.desktop
  292. +2 −1 src-qt4/pc-updategui/i18n/UpdateGui_de.ts
  293. +4 −3 src-qt4/pc-updategui/i18n/UpdateGui_ja.ts
  294. +26 −13 src-qt4/pc-updategui/i18n/UpdateGui_nb.ts
  295. +2 −1 src-qt4/pc-updategui/i18n/UpdateGui_nl.ts
  296. +2 −1 src-qt4/pc-updategui/i18n/UpdateGui_vi.ts
  297. +2 −2 src-qt4/pc-updategui/main.cpp
  298. +1 −1 src-qt4/pc-usermanager/i18n/pcbsdusermanager_lv.ts
  299. +2 −2 src-qt4/pc-usermanager/main.cpp
  300. +0 −2 src-qt4/pc-usermanager/pcusermanager.desktop
Sorry, we could not display the entire diff because too many files (489) changed.
View
82 .gitignore
@@ -1124,85 +1124,3 @@ src-qt4/pc-zmanager/i18n/ZManager_zh_CN.qm
src-qt4/pc-zmanager/i18n/ZManager_zh_HK.qm
src-qt4/pc-zmanager/i18n/ZManager_zh_TW.qm
src-qt4/pc-zmanager/i18n/ZManager_zu.qm
-src-qt4/PCDM/themes/default/.directory
-src-qt4/life-preserver/lp-gui/Makefile
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_af.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_ar.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_az.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_bg.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_bn.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_bs.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_ca.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_cs.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_cy.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_da.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_de.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_el.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_en_GB.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_en_US.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_en_ZA.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_es.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_et.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_eu.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_fa.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_fi.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_fr.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_fr_CA.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_fur.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_gl.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_he.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_hi.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_hr.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_hu.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_id.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_is.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_it.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_ja.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_ka.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_ko.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_lt.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_lv.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_mk.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_mn.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_ms.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_mt.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_nb.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_ne.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_nl.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_pa.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_pl.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_pt.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_pt_BR.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_ro.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_ru.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_sa.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_sk.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_sl.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_sr.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_sv.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_sw.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_ta.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_tg.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_th.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_tr.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_uk.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_uz.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_vi.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_zh_CN.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_zh_HK.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_zh_TW.qm
-src-qt4/life-preserver/lp-gui/i18n/LifePreserver_zu.qm
-src-qt4/life-preserver/lp-gui/life-preserver
-src-qt4/life-preserver/lp-gui/ui_LPConfig.h
-src-qt4/life-preserver/lp-gui/ui_LPMain.h
-src-qt4/life-preserver/lp-gui/ui_LPWizard.h
-src-qt4/pc-zmanager/Makefile
-src-qt4/pc-zmanager/pc-zmanager
-src-qt4/pc-zmanager/ui_dialogfscreate.h
-src-qt4/pc-zmanager/ui_dialogfsprop.h
-src-qt4/pc-zmanager/ui_dialogmount.h
-src-qt4/pc-zmanager/ui_dialogname.h
-src-qt4/pc-zmanager/ui_dialognewpool.h
-src-qt4/pc-zmanager/ui_dialogpartition.h
-src-qt4/pc-zmanager/ui_dialogprop.h
-src-qt4/pc-zmanager/ui_zmanagerwindow.h
View
1 build-files/conf/port-make.conf
@@ -49,7 +49,6 @@ claws-mail_SET=BOGOFILTER GPGME SPAMASSASSIN
conky_SET=XFT LUA LUA_CAIRO LUA_IMLIB2 IMLIB2
cups-base_SET=XPDF
cups-base_UNSET=GHOSTSCRIPT
-curl_SET=COOKIES
denemo_SET=LILYPOND
dovecot_SET=MYSQL PGSQL SQLITE LDAP
easytag_SET=WAVEPACK
View
3 build-files/ports-overlay/misc/pcbsd-base/Makefile
@@ -14,7 +14,6 @@ MAINTAINER= kmoore@FreeBSD.org
COMMENT= PC-BSD QT4 Utilities
RUN_DEPENDS= pc-updategui:${PORTSDIR}/sysutils/pcbsd-utils-qt4 \
- git:${PORTSDIR}/devel/git \
beadm:${PORTSDIR}/sysutils/beadm-devel \
samba36>=0:${PORTSDIR}/net/samba36 \
foomatic-db>=0:${PORTSDIR}/print/foomatic-db \
@@ -125,7 +124,7 @@ RUN_DEPENDS= pc-updategui:${PORTSDIR}/sysutils/pcbsd-utils-qt4 \
tk84>=0:${PORTSDIR}/x11-toolkits/tk84 \
tk85>=0:${PORTSDIR}/x11-toolkits/tk85 \
tk86>=0:${PORTSDIR}/x11-toolkits/tk86 \
- panicmail>=0:${PORTSDIR}/sysutils/panicmail \
+ gdm>=0:${PORTSDIR}/x11/gdm \
grub-mkconfig:${PORTSDIR}/sysutils/grub2 \
grub2-efi>=0:${PORTSDIR}/sysutils/grub2-efi
View
1 build-files/ports-overlay/misc/trueos-base/Makefile
@@ -37,7 +37,6 @@ RUN_DEPENDS= pkg-static:${PORTSDIR}/ports-mgmt/pkg \
mosh:${PORTSDIR}/net/mosh \
zfs-stats:${PORTSDIR}/sysutils/zfs-stats \
ataidle>=0:${PORTSDIR}/sysutils/ataidle \
- panicmail>=0:${PORTSDIR}/sysutils/panicmail \
grub-mkconfig:${PORTSDIR}/sysutils/grub2 \
grub2-efi>=0:${PORTSDIR}/sysutils/grub2-efi
View
BIN overlays/install-overlay/boot/grub/themes/pcbsd/background.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
4 overlays/install-overlay/root/Desktop/installpcbsd.desktop
@@ -27,7 +27,7 @@ Name[en_US]=Install PC-BSD
Name[en_ZA]=Install PC-BSD
Name[es]=Instalar PC-BSD
Name[et]=Paigalda PC-BSD
-Name[fa]=نصب PC-BSD
+Name[fa]= نصب PC-BSD
Name[fi]=Asenna PC-BSD
Name[fr]=Installer PC-BSD
Name[fr_CA]=Installer PC-BSD
@@ -38,7 +38,6 @@ Name[id]=Instal PC-BSD
Name[it]=Installa PC-BSD
Name[ja]=PC-BSD のインストール
Name[ko]=PC-BSD 설치
-Name[lv]=Installēt PC-BSD
Name[mn]=PC-BSD суулгах
Name[nl]=Installeer PC-BSD
Name[pl]=Instaluj PC-BSD
@@ -81,7 +80,6 @@ Comment[id]=Instal PC-BSD ke Disk
Comment[it]=Installa PC-BSD sul Disco
Comment[ja]=PC-BSD をディスクにインストール
Comment[ko]=PC-BSD를 디스크에 설치
-Comment[lv]=Installēt PC-BSD uz diska
Comment[mn]=PC-BSD Диск рүү суулгах
Comment[nl]=Installeer PC-BSD op schijf
Comment[pl]=Instaluj PC-BSD na dysku
View
BIN overlays/install-overlay/root/wallpapers/installpaper.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
6 src-qt4/EasyPBI/i18n/EasyPBI_fa.ts
@@ -357,7 +357,7 @@
</message>
<message>
<source>Current Entries</source>
- <translation>مطالب فعلی</translation>
+ <translation> مطالب فعلی</translation>
</message>
<message>
<source>File</source>
@@ -397,11 +397,11 @@
</message>
<message>
<source>Flags to determine the file type</source>
- <translation>پرچم برای تعیین نوع فایل</translation>
+ <translation> پرچم برای تعیین نوع فایل</translation>
</message>
<message>
<source>Available flags for the new link</source>
- <translation>پرچم های موجود برای لینک جدید</translation>
+ <translation> پرچم های موجود برای لینک جدید</translation>
</message>
<message>
<source>Save this link to the PBI module</source>
View
132 src-qt4/EasyPBI/i18n/EasyPBI_fi.ts
@@ -5,115 +5,143 @@
<name>MainGUI</name>
<message>
<source>EasyPBI</source>
- <translation>EasyPBI</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Module Editor</source>
- <translation>Moduulieditori</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>View and edit the current PBI module</source>
- <translation>Katso ja editoi nykyistä PBI moduulia</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>PBI Configuration</source>
- <translation>PBI Kokoonpano</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Main settings for the PBI</source>
- <translation>PBI:n pääasetukset</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Program Information</source>
- <translation>Ohjelman tietoja</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Official name of the target program</source>
- <translation>Ohjelman virallinen nimi</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Name</source>
- <translation>Nimi</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Version of the program to be packaged</source>
- <translation>Paketoitavan ohjelman versio</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Version</source>
- <translation>Versio</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>URL of the main website for the target program</source>
- <translation>Ohjelman pääasiallisen nettisivun osoite</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Website</source>
- <translation>Nettisivu</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Author of the main program (or FreeBSD port maintainer instead)</source>
- <translation>Ohjelman luoja (tai vaihtoehtoisesti FreeBSD portin ylläpitäjä)</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Author</source>
- <translation>Luoja</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Icon that will be used for the program (PNG resources available)</source>
- <translation type="unfinished">Ohjelmassa käytettävä ikoni (PNG resursseja käytettävissä)</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Icon</source>
- <translation>Ikoni</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Build Information</source>
- <translation>Käännösinformaatio</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Local directory to be packaged into a PBI (must contain everything necessary for program to run)</source>
- <translation>Paikallinen hakemisto, joka paketoidaan PBI:hin (tulee sisältää kaikki tarpeellinen, jotta ohjelma toimii)</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Package Directory</source>
- <translation>Pakettihakemisto</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Select a directory to be packaged into a PBI</source>
- <translation>Valitse hakemisto, joka paketoidaan PBI:hin</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Select</source>
- <translation>Valitse</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Main FreeBSD Port</source>
- <translation>Pääasiallinen FreeBSD portti</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>FreeBSD port to be packaged as a PBI</source>
- <translation>FreeBSD portti, joka paketoidaan PBI:hin</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Select a FreeBSD port</source>
- <translation>Valitse FreeBSD portti</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Change Port</source>
- <translation>Vaihda portti</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Port Build Options</source>
- <translation>Portin käännösoptiot</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Special configuration options for any ports that need to be built.</source>
- <translation>Mukana käännettävien porttien erityisoptiot</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Build options available for main FreeBSD port</source>
- <translation>Käytettävissä olevat FreeBSD portin käännösoptiot</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Make Port Before</source>
@@ -122,15 +150,18 @@
</message>
<message>
<source>Additional FreeBSD ports to be built before the main program</source>
- <translation>Ennen pääohjelmaa käännettävät FreeBSD portit</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Add additional FreeBSD port</source>
- <translation>Lisää uusi FreeBSD portti</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Remove additional FreeBSD port</source>
- <translation>Poista FreeBSD portti</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Make Port After</source>
@@ -139,55 +170,68 @@
</message>
<message>
<source>Additional FreeBSD ports to be built after the main program</source>
- <translation>Pääohjelman käännöksen jälkeen käännettävät FreeBSD portit</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Require administrator permissions to install this PBI</source>
- <translation>Vaadi järjestelmävalvojan oikeuksia tätä PBI:tä asennettaessa</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Requires Root Permissions</source>
- <translation>Vaatii pääkäyttäjän oikeuksia</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Save the current settings to the PBI configuration file</source>
- <translation>Tallenna nykyiset asetukset PBI:n konfiguraatiotiedostoon</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Save Configuration</source>
- <translation>Tallenna konfiguraatio</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Resources</source>
- <translation>Resurssit</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Additional files to be included in the PBI</source>
- <translation>PBI:hin lisättävät lisätiedostot</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Current Resources</source>
- <translation>Nykyiset resurssit</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Current files to be included in the PBI</source>
- <translation>Nykyiset PBI:hin lisättävät tiedostot</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Copy an additional file into the PBI module</source>
- <translation>Kopioi lisätiedosto PBI-moduulin</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Add File</source>
- <translation>Lisää tiedosto</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Delete the selected file from the PBI module</source>
- <translation>Poista valittu tiedosto PBI-moduulista</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Delete File</source>
- <translation>Poista tiedosto</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Create a custom wrapper script for a program binary</source>
View
8 src-qt4/EasyPBI/modBuild.cpp
@@ -669,7 +669,7 @@ bool ModBuild::loadExternalLinks(){
QString original, linkto, types;
while(!in.atEnd()){
QString line = in.readLine();
- line = line.replace("\t"," ").simplified();
+ line.replace("\t"," ").simplified();
if(!line.startsWith("#") && !line.isEmpty()){
original = line.section(" ",0,0,QString::SectionSkipEmpty);
linkto = line.section(" ",1,1,QString::SectionSkipEmpty);
@@ -1120,7 +1120,7 @@ int ModBuild::readMakeFile(QString makefile){
}
for(int i=0; i<tmpL.length(); i++){
if(tmpL[i].endsWith("\\")){ tmpL[i].chop(1); }
- tmpL[i] = tmpL[i].simplified();
+ tmpL[i].simplified();
if( tmpL[i].startsWith("bin/") || tmpL[i].startsWith("sbin/") ){
bins << tmpL[i];
if(tmpL[i].contains("$")){ variableBinFound=TRUE; }
@@ -1217,7 +1217,7 @@ QString ModBuild::checkYesNo(QString chk){
bool ModBuild::writeSampleFreenasControl(){
//convert the program name to the proper format
QString progname = progStruct[0];
- progname = progname.toLower().remove(" ").remove("\t").simplified();
+ progname.toLower().remove(" ").remove("\t").simplified();
//Now create the sample file contents
QStringList contents;
contents << "#!/bin/python";
@@ -1311,7 +1311,7 @@ bool ModBuild::writeSampleFreenasControl(){
bool ModBuild::writeSampleFreenasTweakRC(){
//convert the program name to the proper format
QString progname = progStruct[0];
- progname = progname.toLower().remove(" ").remove("\t").simplified();
+ progname.toLower().remove(" ").remove("\t").simplified();
//Now create the sample file contents
QStringList contents;
contents << "#!/bin/sh\n"; //add an extra line after this
View
8 src-qt4/PCDM/PCDM-xloop
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+# Allow Auto-Login the first time PCDM starts
+touch /tmp/.PCDMAutoLogin
+# Now start the X Server
+while [ ! -e /var/run/nologin ]; do
+ /usr/local/bin/PCDM-session --once
+done
View
6 src-qt4/PCDM/PCDM.pro
@@ -106,6 +106,10 @@ scripts=PCDMd
scripts.path=/usr/local/sbin
scripts.extra=cp PCDMd $(INSTALL_ROOT)/usr/local/sbin/PCDMd
+xloop=PCDM-xloop
+xloop.path=/usr/local/sbin
+xloop.extra=cp PCDM-xloop $(INSTALL_ROOT)/usr/local/sbin/PCDM-xloop && chmod 755 $(INSTALL_ROOT)/usr/local/sbin/PCDM-xloop
+
rcd=rc.d/pcdm
rcd.path=/usr/local/etc/rc.d
rcd.extra=cp rc.d/pcdm $(INSTALL_ROOT)/usr/local/etc/rc.d/pcdm
@@ -121,6 +125,6 @@ conf=pcdm.conf
conf.path=/usr/local/etc
conf.extra=cp pcdm.conf $(INSTALL_ROOT)/usr/local/etc/pcdm.conf.dist && chmod 600 $(INSTALL_ROOT)/usr/local/etc/pcdm.conf.dist
-INSTALLS += dotrans scripts rcd cleanthemes theme conf target
+INSTALLS += dotrans scripts rcd cleanthemes theme conf target xloop
RESOURCES += PCDM.qrc
View
16 src-qt4/PCDM/PCDMd
@@ -1,10 +1,9 @@
#!/bin/sh
# Login daemon for PCDM
-# This starts the main PCDM UI appropriately
+# This listens for system login prompts and starts the main PCDM UI appropriately
#------------------------------------
PCDMCONF="/usr/local/etc/pcdm.conf"
-PCDMAUTHFILE="/tmp/.PCDMAuth"
XOPTS=""
grep -q "^ENABLE_TCP_LISTEN=TRUE" ${PCDMCONF}
@@ -24,7 +23,7 @@ if [ $? -eq 0 ]; then
vncopts="-nevershared "
fi
if [ -e "/usr/local/etc/vncpass" ] ; then
- vnccmd="x11vnc -display :0 $vncopts -passwdfile /usr/local/etc/vncpass -loop"
+ vnccmd="x11vnc -display :0 $vncopts -passwdfile /usr/local/etc/vncpass"
else
echo "WARNING: VNC enabled but no password in /usr/local/etc/vncpass!"
sleep 5
@@ -38,16 +37,11 @@ touch /tmp/.PCDMAutoLogin
# Now start the X Server
while [ ! -e /var/run/nologin ]; do
/usr/local/bin/pc-checkxdisplay
- # Make sure the authorization file does not exist
- if [ -f ${PCDMAUTHFILE} ]; then
- rm ${PCDMAUTHFILE}
- fi
- export XAUTHORITY=${PCDMAUTHFILE} #Set the auth file location
- touch ${PCDMAUTHFILE} #Create the (empty) authorization file
- xauth -f ${PCDMAUTHFILE} add :0 MIT-MAGIC-COOKIE-1 `openssl rand -hex 64` #Add a default entry to the file (randomized)
+
if [ -n "$vnccmd" ] ; then
# Start VNC
(sleep 10 ; $vnccmd >/var/log/vncserver 2>/var/log/vncserver) &
fi
- xinit /usr/local/bin/PCDM-session -once -- :0 -auth ${PCDMAUTHFILE} $XOPTS
+
+ xinit /usr/local/bin/PCDM-session --once -- :0 $XOPTS
done
View
42 src-qt4/PCDM/i18n/PCDM_nb.ts
@@ -5,30 +5,36 @@
<name>FancySwitcher</name>
<message>
<source>Alt+Left</source>
- <translation>Alt+Venstre</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Alt+Right</source>
- <translation>Alt+Høyre</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Alt+Up</source>
- <translation>Alt+Opp</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Alt+Down</source>
- <translation>Alt+Ned</translation>
+ <translation type="unfinished">
+ </translation>
</message>
</context>
<context>
<name>LoginWidget</name>
<message>
<source>Select</source>
- <translation>Velg</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Select an alternate user and clear the password field</source>
- <translation>Velg en annen bruker og tøm passord feltet</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Select this user</source>
@@ -47,7 +53,8 @@
</message>
<message>
<source>Password</source>
- <translation>Passord</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Hold to view the currently entered password</source>
@@ -61,7 +68,8 @@
</message>
<message>
<source>Available users</source>
- <translation>Tilgjengelige brukere</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Login to %1</source>
@@ -118,19 +126,23 @@
</message>
<message>
<source>Shut Down</source>
- <translation>Skru av</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Close PCDM</source>
- <translation>Lukk PCDM</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Shutdown the computer</source>
- <translation>Skru av datamaskinen</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Invalid Username/Password</source>
- <translation>Ugyldig brukernavn/passord</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Username/Password combination is invalid, please try again.</source>
@@ -144,11 +156,13 @@
</message>
<message>
<source>You are about to shut down the system.</source>
- <translation>Du er i ferd med å skru av systemet.</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>Are you sure?</source>
- <translation>Er du sikker?</translation>
+ <translation type="unfinished">
+ </translation>
</message>
<message>
<source>System Restart</source>
View
BIN src-qt4/PCDM/images/backgroundimage.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
2 src-qt4/PCDM/pcdm.conf
@@ -25,5 +25,5 @@ ALLOW_REMOTE_LOGIN=FALSE
REMOTE_SHARED_SCREEN=FALSE
## ADDITIONAL SETTINGS ##
-ENABLE_VIEW_PASSWORD_BUTTON=FALSE #enable the option to show the password as text when a button is held
+ENABLE_VIEW_PASSWORD_BUTTON=TRUE #enable the option to show the password as text when a button is held
View
2 src-qt4/PCDM/src/dialogKeyboard.cpp
@@ -68,7 +68,7 @@ void widgetKeyboard::slotUpdateKbOnSys()
{
QString model, layout, variant;
- if ( ! (comboBoxKeyboardModel->currentIndex() == -1) )
+ if ( ! comboBoxKeyboardModel->currentIndex() == -1 )
return;
if ( ! listKbLayouts->currentItem() )
return;
View
6 src-qt4/PCDM/src/loginWidget.cpp
@@ -67,8 +67,8 @@ LoginWidget::LoginWidget(QWidget* parent) : QGroupBox(parent)
//Setup the Signals/Slots
connect(pushLogin,SIGNAL(clicked()),this,SLOT(slotTryLogin()));
- connect(pushUserIcon,SIGNAL(triggered(QAction*)), this, SLOT(slotUserActivated()));
- connect(userIcon,SIGNAL(triggered(QAction*)), this, SLOT(slotUserActivated()));
+ connect(pushUserIcon,SIGNAL(triggered(QAction*)), this, SLOT(slotUserActivated(QAction*)));
+ connect(userIcon,SIGNAL(triggered(QAction*)), this, SLOT(slotUserActivated(QAction*)));
connect(listUsers,SIGNAL(activated(int)),this,SLOT(slotChooseUser(int)));
connect(listUserBig,SIGNAL(itemClicked(QListWidgetItem*)),this,SLOT(slotUserSelected()) );
connect(listUserBig,SIGNAL(currentRowChanged(int)),this,SLOT(slotUserHighlighted(int)) );
@@ -135,7 +135,7 @@ void LoginWidget::keyPressEvent(QKeyEvent *e){
//-------------------------------------
// PRIVATE SLOTS
//-------------------------------------
-void LoginWidget::slotUserActivated(){
+void LoginWidget::slotUserActivated(QAction* act){
//Toggle the user box as to what is visible
if(!userSelected){
slotUserSelected();
View
2 src-qt4/PCDM/src/loginWidget.h
@@ -73,7 +73,7 @@ class LoginWidget : public QGroupBox
void updateWidget();
private slots:
- void slotUserActivated();
+ void slotUserActivated(QAction*);
//void slotUserClicked(QListWidgetItem*);
void slotUserHighlighted(int);
void slotUserSelected();
View
24 src-qt4/PCDM/src/main.cpp
@@ -25,13 +25,13 @@
#define TMPLANGFILE QString("/tmp/.PCDMLang")
#define TMPAUTOLOGINFILE QString("/tmp/.PCDMAutoLogin")
-#define TMPAUTHFILE QString("/tmp/.PCDMAuth")
+
//Make sure that prefix is set
//#ifndef prefix
//#define prefix "/usr/local/"
//#endif
-//bool USECLIBS=false;
+bool USECLIBS=true;
int runSingleSession(int argc, char *argv[]){
//QTime clock;
@@ -48,7 +48,7 @@ int runSingleSession(int argc, char *argv[]){
QString confFile = "/usr/local/etc/pcdm.conf";
if(!QFile::exists(confFile)){
qDebug() << "PCDM: Configuration file missing:"<<confFile<<"\n - Using default configuration";
- QFile::copy(":samples/pcdm.conf", confFile);
+ confFile = ":samples/pcdm.conf";
}
Config::loadConfigFile(confFile);
@@ -125,10 +125,8 @@ int runSingleSession(int argc, char *argv[]){
w.setWindowState(Qt::WindowMaximized); //Qt::WindowFullScreen);
//Setup the signals/slots to startup the desktop session
- //if(USECLIBS){ QObject::connect( &w,SIGNAL(xLoginAttempt(QString,QString,QString)), &desktop,SLOT(setupDesktop(QString,QString,QString))); }
- //else{
- QObject::connect( &w,SIGNAL(xLoginAttempt(QString,QString,QString)), &desktop,SLOT(loginToXSession(QString,QString,QString)) );
- //}
+ if(USECLIBS){ QObject::connect( &w,SIGNAL(xLoginAttempt(QString,QString,QString)), &desktop,SLOT(setupDesktop(QString,QString,QString))); }
+ else{ QObject::connect( &w,SIGNAL(xLoginAttempt(QString,QString,QString)), &desktop,SLOT(loginToXSession(QString,QString,QString)) ); }
//Setup the signals/slots for return information for the GUI
QObject::connect( &desktop, SIGNAL(InvalidLogin()), &w, SLOT(slotLoginFailure()) );
QObject::connect( &desktop, SIGNAL(started()), &w, SLOT(slotLoginSuccess()) );
@@ -140,16 +138,12 @@ int runSingleSession(int argc, char *argv[]){
} // end of PCDM GUI running
int retcode = 0;
//Wait for the desktop session to finish before exiting
- //if(USECLIBS){ desktop.startDesktop(); }
- //else{
- desktop.waitForSessionClosed();
- //}
+ if(USECLIBS){ desktop.startDesktop(); }
+ else{ desktop.waitForSessionClosed(); }
splash.show(); //show the splash screen again
- QCoreApplication::processEvents();
+ splash.showMessage(QObject::tr("System Shutting Down"), Qt::AlignHCenter | Qt::AlignBottom, Qt::white);
//check for shutdown process
if(QFile::exists("/var/run/nologin")){
- splash.showMessage(QObject::tr("System Shutting Down"), Qt::AlignHCenter | Qt::AlignBottom, Qt::white);
- QCoreApplication::processEvents();
//Pause for a few seconds to prevent starting a new session during a shutdown
QTime wTime = QTime::currentTime().addSecs(30);
while( QTime::currentTime() < wTime ){
@@ -173,7 +167,7 @@ int main(int argc, char *argv[])
{
bool neverquit = TRUE;
bool runonce = FALSE;
- if(argc==2){ if( QString(argv[1]) == "-once"){ runonce = TRUE; } }
+ if(argc==2){ if( QString(argv[1]) == "--once"){ runonce = TRUE; } }
while(neverquit){
if(runonce){ neverquit = FALSE; }
View
19 src-qt4/PCDM/src/pcdm-backend.cpp
@@ -11,7 +11,7 @@
#include "pcdm-config.h"
#include "pcbsd-utils.h"
-QStringList displaynameList,usernameList,homedirList,usershellList,instXNameList,instXBinList,instXCommentList,instXIconList;
+QStringList displaynameList,usernameList,homedirList,instXNameList,instXBinList,instXCommentList,instXIconList;
QString logFile;
QString saveX,saveUsername, lastUser, lastDE;
@@ -92,12 +92,6 @@ QString Backend::getUserHomeDir(QString username){
return homedirList[i];
}
-QString Backend::getUserShell(QString username){
- int i = usernameList.indexOf(username);
- if( i == -1 ){ i = displaynameList.indexOf(username); }
- return usershellList[i];
-}
-
QStringList Backend::keyModels()
{
QStringList _models;
@@ -262,8 +256,6 @@ void Backend::loadXSessionsData(){
instXCommentList.clear(); instXIconList.clear();
//Load the default paths/locale
QString xDir = Config::xSessionsDir();
- QStringList paths = QString(getenv("PATH")).split(":");
- if(paths.isEmpty()){ paths <<"/usr/local/bin" << "/usr/local/sbin" << "/usr/bin" << "/usr/sbin" << "/bin" << "/sbin"; }
if(!xDir.endsWith("/")){ xDir.append("/"); }
QString xIconDir = Config::xSessionsImageDir();
if(!xIconDir.endsWith("/")){ xIconDir.append("/"); }
@@ -280,13 +272,7 @@ void Backend::loadXSessionsData(){
//Complete file paths if necessary
//if(!tmp[0].startsWith("/")){ tmp[0] = "/usr/local/bin/"+tmp[0]; }
if(!tmp[3].startsWith("/")&&!tmp[3].startsWith(":")&&!tmp[3].isEmpty()){ tmp[3] = xIconDir+tmp[3]; }
- if(!tmp[4].startsWith("/") && !QFile::exists(tmp[4])){
- for(int p=0; p<paths.length(); p++){
- if(QFile::exists(paths[p]+"/"+tmp[4])){
- tmp[4] = paths[p]+"/"+tmp[4];
- }
- }
- }
+ if(!tmp[4].startsWith("/")){ tmp[4] = "/usr/local/bin/"+tmp[4]; }
//Check for valid DE using the "tryexec" line
//this allows for special startup commands on the "exec" line
if(QFile::exists(tmp[4])){
@@ -379,7 +365,6 @@ void Backend::readSystemUsers(){
usernameList << uList[i].section(":",0,0).simplified();
displaynameList << uList[i].section(":",4,4).simplified();
homedirList << uList[i].section(":",5,5).simplified();
- usershellList << uList[i].section(":",6,6).simplified();
}
}
View
1 src-qt4/PCDM/src/pcdm-backend.h
@@ -44,7 +44,6 @@ class Backend {
static void openLogFile(QString);
static void log(QString);
static QString getUserHomeDir(QString);
- static QString getUserShell(QString);
static void checkLocalDirs();
static QString getALUsername();
View
27 src-qt4/PCDM/src/pcdm-gui.cpp
@@ -14,7 +14,7 @@
#include "pcdm-backend.h"
#include "fancySwitcher.h"
-bool DEBUG_MODE=FALSE;
+bool DEBUG_MODE=TRUE;
QString VIRTUALKBDBIN="/usr/local/bin/xvkbd -compact";
PCDMgui::PCDMgui() : QMainWindow()
@@ -23,8 +23,6 @@ PCDMgui::PCDMgui() : QMainWindow()
loadTheme();
//Create the GUI based upon the current Theme
createGUIfromTheme();
- //Put the background image on all the other screens
- fillExtraScreens();
//Now make sure that the login widget has keyboard focus
loginW->resetFocus();
this->setObjectName("PCDM-background");
@@ -249,28 +247,6 @@ void PCDMgui::createGUIfromTheme(){
}
-void PCDMgui::fillExtraScreens(){
- //Set a background image on any other available screens
- QDesktopWidget *DE = QApplication::desktop();
- screens.clear();
- //Generate the background style sheet
- QString tmpIcon = currentTheme->itemIcon("background");
- if( tmpIcon.isEmpty() || !QFile::exists(tmpIcon) ){ tmpIcon = ":/images/backgroundimage.jpg"; }
- QString bgstyle = "border-image: url(BGIMAGE) stretch;";
- bgstyle.replace("BGIMAGE", tmpIcon);
- //Now apply the background to all the other screens
- for(int i=0; i<DE->screenCount(); i++){
- if(i != DE->screenNumber(this)){
- //Just show a generic QWidget with the proper background image on every other screen
- QWidget *screen = new QWidget(0, Qt::X11BypassWindowManagerHint);
- screen->setGeometry( DE->screenGeometry(i) );
- screen->setStyleSheet(bgstyle);
- screen->show();
- screens << screen;
- }
- }
-}
-
void PCDMgui::slotStartLogin(QString displayname, QString password){
//Get user inputs
QString username = Backend::getUsernameFromDisplayname(displayname);
@@ -371,7 +347,6 @@ void PCDMgui::slotRestartComputer(){
void PCDMgui::slotClosePCDM(){
system("killall -9 xvkbd"); //be sure to close the virtual keyboard
- for(int i=0; i<screens.length(); i++){ screens[i]->close(); } //close all the other screens
QCoreApplication::exit(0);
close();
}
View
3 src-qt4/PCDM/src/pcdm-gui.h
@@ -22,7 +22,6 @@
#include <QGridLayout>
#include <QSpacerItem>
#include <QProcessEnvironment>
-#include <QDesktopWidget>
#include "pcdm-backend.h"
#include "themeStruct.h"
@@ -68,7 +67,6 @@ private slots:
QMenu* systemMenu;
FancySwitcher* deSwitcher; // full switcher
bool simpleDESwitcher;
- QList<QWidget*> screens;
QProcess* vkbd;
ThemeStruct* currentTheme;
@@ -79,7 +77,6 @@ private slots:
QString hostname;
//Functions
void createGUIfromTheme();
- void fillExtraScreens();
void retranslateUi();
void loadTheme();
void loadLastUser();
View
190 src-qt4/PCDM/src/pcdm-xprocess.cpp
@@ -24,11 +24,10 @@ XProcess::XProcess() : QProcess(0) {
xcmd.clear();
xhome.clear();
xpwd.clear();
- xshell.clear();
pam_started = FALSE;
pam_session_open = FALSE;
//Setup the finished signal/slot
- connect( this, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(slotCleanup()) );
+ connect( this, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(slotCleanup(int, QProcess::ExitStatus)) );
}
XProcess::~XProcess(){
@@ -44,7 +43,6 @@ void XProcess::loginToXSession(QString username, QString password, QString deskt
xpwd = password;
xhome = Backend::getUserHomeDir(xuser);
xcmd = Backend::getDesktopBinary(desktop);
- xshell = Backend::getUserShell(xuser);
xde = desktop;
//Now start the login process
startXSession();
@@ -95,11 +93,9 @@ bool XProcess::startXSession(){
}
// Get the environment before we drop priv
- this->setProcessEnvironment( QProcessEnvironment::systemEnvironment() ); //current environment
- //Now allow this user access to the Xserver
- QString xhostcmd = "xhost si:localuser:"+xuser;
- system(xhostcmd.toUtf8());
- //QWidget *wid = new QWidget();
+ QProcessEnvironment environ = QProcessEnvironment::systemEnvironment(); //current environment
+
+ QWidget *wid = new QWidget();
if (setgid(pw->pw_gid) < 0) {
qDebug() << "setgid() failed!";
emit InvalidLogin(); //Make sure the GUI knows that it was a failure
@@ -120,69 +116,169 @@ bool XProcess::startXSession(){
emit InvalidLogin(); //Make sure the GUI knows that it was a failure
return FALSE;
}
+
//Startup the PAM session
if( !pam_startSession() ){ pam_shutdown(); return FALSE; }
pam_session_open = TRUE; //flag that pam has an open session
+
QString cmd;
// Configure the DE startup command
-
+ // - Setup to run the user's <home-dir>/.xprofile startup script
+ if(QFile::exists(xhome+"/.xprofile")){
+ //cmd.append(". "+xhome+"/.xprofile; "); //make sure to start it in parallel
+ }
// - Add the DE startup command to the end
- cmd.append("dbus-launch --exit-with-session "+xcmd);
- //cmd.append(xcmd);
+ //cmd.append("dbus-launch --exit-with-session "+xcmd);
+ cmd.append(xcmd);
//cmd.append("; kill -l KILL"); //to clean up the session afterwards
+ // Get the current locale code
+ QLocale mylocale;
+ QString langCode = mylocale.name();
+
//Backend::log("Startup command: "+cmd);
// Setup the process environment
- setupSessionEnvironment();
- //Log the DE startup outputs as well
- this->setStandardOutputFile(xhome+"/.pcdm-startup.log",QIODevice::Truncate);
- this->setStandardErrorFile(xhome+"/.pcdm-startup.err",QIODevice::Truncate);
- // Startup the process(s)
- // - Setup to run the user's <home-dir>/.xprofile startup script
- if(QFile::exists(xhome+"/.xprofile")){
- disconnect(SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(slotCleanup()) );
- qDebug() << "Run user ~/.xprofile";
- this->start("sh "+xhome+"/.xprofile &");//make sure to start it in parallel
- if(!this->waitForFinished(30000) ){
- //If it still has not finished this after 30 seconds, kill it
- this->terminate();
- }
- connect( this, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(slotCleanup()) );
- }
- this->start(cmd);
- return TRUE;
-}
-
-void XProcess::slotCleanup(){
- pam_shutdown(); //make sure that PAM shuts down properly
- //Now remove this user's access to the Xserver
- QString xhostcmd = "xhost -si:localuser:"+xuser;
- system(xhostcmd.toUtf8());
-}
-void XProcess::setupSessionEnvironment(){
// Setup any specialized environment variables
- QProcessEnvironment environ = this->processEnvironment();
- // Get the current locale code
- QLocale mylocale;
- QString langCode = mylocale.name();
- if( langCode.toLower() == "c" ){ langCode = "en_US"; } // default to the US english (PCDM code default), LANG=C causes problems
- if(!environ.value("MM_CHARSET").isEmpty() ){ langCode.append( "."+environ.value("MM_CHARSET") ); }
- else{ langCode.append(".UTF-8"); }
// USER, HOME, and SHELL are set by the "su" login
environ.insert("LOGNAME",xuser); //Login name
environ.insert("USERNAME",xuser); // Username
- environ.insert("USER",xuser); // Username
environ.insert("PATH",environ.value("PATH")+":"+xhome+"/bin"); // Append the user's home dir to the path
+ if( langCode.toLower() == "c" ){} // do nothing extra to it
+ else if(!environ.value("MM_CHARSET").isEmpty() ){ langCode.append( "."+environ.value("MM_CHARSET") ); }
+ else{ langCode.append(".UTF-8"); }
environ.insert("LANG",langCode); //Set the proper localized language
environ.insert("MAIL","/var/mail/"+xuser); //Set the mail variable
environ.insert("GROUP",xuser); //Set the proper group id
environ.insert("SHLVL","0"); //Set the proper shell level
environ.insert("HOME",xhome); //Set the users home directory
- environ.insert("SHELL",xshell); //Set the user's default shell
this->setProcessEnvironment(environ);
this->setWorkingDirectory(xhome); //set the current directory to the user's home directory
+ //Log the DE startup outputs as well
+ this->setStandardOutputFile(xhome+"/.pcdm-startup.log",QIODevice::Truncate);
+ this->setStandardErrorFile(xhome+"/.pcdm-startup.err",QIODevice::Truncate);
+ // Startup the process
+ QMessageBox::warning(wid, "My Application", "CMD: " + cmd, QMessageBox::Ok, QMessageBox::Ok);
+ this->start(cmd);
+ return TRUE;
+}
+
+void XProcess::slotCleanup(int exitCode, QProcess::ExitStatus status){
+ pam_shutdown(); //make sure that PAM shuts down properly
+}
+
+//Start the desktop in the current process with C functions
+void XProcess::startDesktop(){
+ //Check for PAM username/password validity
+ if( !pam_checkPW() ){ qDebug() << "Invalid username/password"; pam_shutdown(); return; }
+ //Startup the PAM session
+ if( !pam_startSession() ){ qDebug() << "Unable to open PAM session"; pam_shutdown(); return; }
+ pam_session_open = TRUE; //flag that pam has an open session
+
+ //Save the current user/desktop as the last login
+ Backend::saveLoginInfo(Backend::getDisplayNameFromUsername(xuser),xde);
+
+ // We will now fork off, so the child can drop root perms and do its thing
+ int pid = fork();
+ if(pid < 0){
+ Backend::log("Error: Could not fork for user permissions");
+ return;
+ }else if( pid !=0 ){
+ //Parent (calling) process
+ int status;
+ sleep(2);
+ waitpid(pid,&status,0); //wait for the child (session) to finish
+
+ // Child is all done, lets close down the pam session and cleanup
+ pam_shutdown();
+ exit(0);
+ }
+
+ // Get the users uid/gid information
+ struct passwd *pw;
+ int uid;
+ char *ok;
+
+ if (!(pw = getpwnam(xuser.toLatin1()))) {
+ uid = strtol(xuser.toLatin1(), &ok, 10);
+ if (!(pw = getpwuid(uid))) {
+ emit InvalidLogin(); //Make sure the GUI knows that it was a failure
+ return;
+ }
+ }
+
+ if (setgid(pw->pw_gid) < 0) {
+ qDebug() << "setgid() failed!";
+ emit InvalidLogin(); //Make sure the GUI knows that it was a failure
+ return;
+ }
+
+ // Setup our other groups
+ if (initgroups(xuser.toLatin1(), pw->pw_gid) < 0) {
+ qDebug() << "initgroups() failed!";
+ emit InvalidLogin(); //Make sure the GUI knows that it was a failure
+ setgid(0);
+ return;
+ }
+
+ // Lets drop to user privs
+ if (setuid(pw->pw_uid) < 0) {
+ qDebug() << "setuid() failed!";
+ emit InvalidLogin(); //Make sure the GUI knows that it was a failure
+ return;
+ }
+
+ QString cmd;
+ // Configure the DE startup command
+ // - Setup to run the user's <home-dir>/.xprofile startup script
+ if(QFile::exists(xhome+"/.xprofile")){
+ cmd.append(". "+xhome+"/.xprofile; "); //make sure to start it in parallel
+ }
+ // - Add the DE startup command to the end
+ cmd.append("dbus-launch --exit-with-session "+xcmd);
+
+ // Get the current locale code
+ QLocale mylocale;
+ QString langCode = mylocale.name();
+
+ //Alternate way of starting a process using c library functions
+
+ //setup the environment variables
+ setenv("LOGNAME",xuser.toUtf8(),1);
+ setenv("USERNAME",xuser.toUtf8(),1);
+ QString pth = QString(getenv("PATH"))+":"+xhome+"/bin";
+ setenv("PATH",pth.toUtf8(),1);
+ if(langCode.toLower()=="c"){}
+ else if(QString(getenv("MM_CHARSET")).isEmpty() ){ langCode.append("."+QString(getenv("MM_CHARSET"))); }
+ else{ langCode.append(".UTF-8"); }
+ setenv("LANG",langCode.toUtf8(),1);
+ setenv("MAIL",QString("/var/mail/"+xuser).toUtf8(),1);
+ setenv("GROUP",xuser.toUtf8(),1);
+ setenv("HOME",xhome.toUtf8(),1);
+ setenv("SHELL",pw->pw_shell,1);
+ setenv("SHLVL","0",1);
+ chdir(xhome.toUtf8()); //move to home dir
+
+ //Now start the process
+ system(cmd.toLatin1());
}
+
+void XProcess::setupDesktop(QString user, QString pwd, QString desktop){
+ //Setup internal variables
+ xuser = Backend::getUsernameFromDisplayname(user);
+ xpwd = pwd;
+ xhome = Backend::getUserHomeDir(xuser);
+ xcmd = Backend::getDesktopBinary(desktop);
+ xde = desktop;
+ //Also check password validity
+ bool ok = pam_checkPW();
+ pam_shutdown();
+ if(ok){ emit ValidLogin(); }
+ else{ emit InvalidLogin(); }
+}
+
+
+
//Stand-alone function to check a username/password combination for validity
void XProcess::checkPW(QString user, QString pwd){
xuser = Backend::getUsernameFromDisplayname(user);