diff --git a/Makefile b/Makefile index 21263cf..44a203e 100644 --- a/Makefile +++ b/Makefile @@ -82,17 +82,17 @@ uninstall: $(RM) "$${PATH_FILE_MO}"; \ done @for SIZE in 16x16 32x32 48x48 scalable; do \ - $(RM) "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}/apps/com.ublinux.${PKGNAME}.svg"; \ - $(RM) "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}/apps/com.ublinux.${PKGNAME}.png"; \ + $(RM) "${DESTDIR}/usr/share/icons/hicolor/$${SIZE}/apps/com.ublinux.${PKGNAME}.svg"; \ + $(RM) "${DESTDIR}/usr/share/icons/hicolor/$${SIZE}/apps/com.ublinux.${PKGNAME}.png"; \ done @for FILE_SVG in $(wildcard *.svg); do \ for SIZE in 16x16 32x32 48x48 scalable; do \ - $(RM) "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}/status/$${FILE_SVG%.*}".{svg,png,jpg}; \ + $(RM) "${DESTDIR}/usr/share/icons/hicolor/$${SIZE}/status/$${FILE_SVG%.*}".{svg,png,jpg}; \ done; \ done @for FILE_ICON in $(wildcard icons/*/*.svg); do \ SUB_NAME=$${FILE_ICON#*/}; SUB_NAME=$${SUB_NAME%/*}; \ - $(RM) "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/$${SUB_NAME}/$${FILE_ICON}"; \ + $(RM) "${DESTDIR}/usr/share/icons/hicolor/scalable/$${SUB_NAME}/$${FILE_ICON##*/}"; \ done @$(RM) "${DESTDIR}${PREFIX}/bin/${PKGNAME}" @$(RM) "${DESTDIR}${PREFIX}/share/applications/${PKGNAME}.desktop" @@ -112,19 +112,19 @@ uninstall: install: check uninstall @echo "Install ..." @for LANG in $$(find ./locale -iname "*.po" -print | sed -En "s/.+_([[:alpha:]]+)\.po/\1/p" | sort -u); do \ - install -dm755 "${DESTDIR}${PREFIX}/share/locale/$${LANG}/LC_MESSAGES"; \ -# PATH_FILE_MO="${DESTDIR}${PREFIX}/share/locale/$${LANG}/LC_MESSAGES/${PKGNAME}.mo"; \ + install -dm755 "${DESTDIR}/usr/share/locale/$${LANG}/LC_MESSAGES"; \ +# PATH_FILE_MO="${DESTDIR}/usr/share/locale/$${LANG}/LC_MESSAGES/${PKGNAME}.mo"; \ PATH_FILE_MO="${DESTDIR}/usr/share/locale/$${LANG}/LC_MESSAGES/${PKGNAME}.mo"; \ PKGNAME_PO="./locale/${PKGNAME}_$${LANG}.po"; [[ -f "$${PKGNAME_PO}" ]] || PKGNAME_PO= ; \ msgfmt --verbose --use-fuzzy --output-file "$${PATH_FILE_MO}" - < <(msgcat --use-first --no-wrap $${PKGNAME_PO} ./locale/*_$${LANG}.po); \ done @for SIZE in 16 32 48; do \ - install -dm755 "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}x$${SIZE}/apps"; \ - rsvg-convert -w $${SIZE} -h $${SIZE} -f svg --keep-image-data "icons/apps/com.ublinux.${PKGNAME}.svg" -o "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}x$${SIZE}/apps/com.ublinux.${PKGNAME}.svg"; \ + install -dm755 "${DESTDIR}/usr/share/icons/hicolor/$${SIZE}x$${SIZE}/apps"; \ + rsvg-convert -w $${SIZE} -h $${SIZE} -f svg --keep-image-data "icons/apps/com.ublinux.${PKGNAME}.svg" -o "${DESTDIR}/usr/share/icons/hicolor/$${SIZE}x$${SIZE}/apps/com.ublinux.${PKGNAME}.svg"; \ done @for FILE_ICON in $(wildcard icons/*/*.svg); do \ SUB_NAME=$${FILE_ICON#*/}; SUB_NAME=$${SUB_NAME%/*}; \ - install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/$${SUB_NAME}" $${FILE_ICON}; \ + install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/$${SUB_NAME}" $${FILE_ICON}; \ done @install -Dm755 -t "${DESTDIR}${PREFIX}/bin/" "${CMAKE_BUILD_DIR}/${PKGNAME}" @install -Dm644 -t "${DESTDIR}${PREFIX}/share/applications/" "${PKGNAME}.desktop" @@ -137,10 +137,10 @@ install: check uninstall sed -e "s+/usr/bin+${PREFIX}/bin+" -e "s+\.run+$${PREFIX//\//-}\.run+g" -i "${DESTDIR}/usr/share/polkit-1/actions/com.ublinux.${PKGNAME}$${PREFIX//\//-}.policy"; \ fi @if [[ -z "${DESTDIR}" ]]; then \ - ldconfig -n ${DESTDIR}${PREFIX}/lib; \ - [[ -d "${DESTDIR}${PREFIX}/share/icons/hicolor/" ]] && gtk-update-icon-cache -fiq "${DESTDIR}${PREFIX}/share/icons/hicolor/" &>/dev/null || true; \ + ldconfig -n ${DESTDIR}/usr/lib; \ + [ -d "${DESTDIR}/usr/share/icons/hicolor/" ] && gtk-update-icon-cache -fiq "${DESTDIR}/usr/share/icons/hicolor/" &>/dev/null || true; \ update-desktop-database --quiet &>/dev/null || true; \ - [[ -d "${DESTDIR}${PREFIX}/share/applications" ]] && touch "${DESTDIR}${PREFIX}/share/applications" &>/dev/null || true; \ + [ -d "${DESTDIR}/usr/share/applications" ] && touch "${DESTDIR}/usr/share/applications" &>/dev/null || true; \ fi @echo "Install: OK" diff --git a/applications-list.csv b/applications-list.csv new file mode 100644 index 0000000..8380b4a --- /dev/null +++ b/applications-list.csv @@ -0,0 +1,4 @@ +GROUP;APPLICATION;DESCRIPTION +Plank dock-panel;plank.desktop;Universal macOS-style dock-panel +Conky monitor;conky.desktop;System monitor +Hostalive;check-hostalive.desktop;Check the internet is alive \ No newline at end of file diff --git a/gresource.xml b/gresource.xml index 8c9575b..eaee9ad 100644 --- a/gresource.xml +++ b/gresource.xml @@ -46,5 +46,6 @@ filesystems-format-list.csv groups-list.csv vfs-list.csv + applications-list.csv \ No newline at end of file diff --git a/icons/emblems/com.ublinux.ubinstall-gtk.install-advanced.svg b/icons/emblems/com.ublinux.ubinstall-gtk.install-advanced.svg new file mode 100644 index 0000000..14d6d67 --- /dev/null +++ b/icons/emblems/com.ublinux.ubinstall-gtk.install-advanced.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/icons/emblems/com.ublinux.ubinstall-gtk.install-common.svg b/icons/emblems/com.ublinux.ubinstall-gtk.install-common.svg new file mode 100644 index 0000000..db329d6 --- /dev/null +++ b/icons/emblems/com.ublinux.ubinstall-gtk.install-common.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/icons/emblems/com.ublinux.ubinstall-gtk.install-disk.svg b/icons/emblems/com.ublinux.ubinstall-gtk.install-disk.svg new file mode 100644 index 0000000..193851a --- /dev/null +++ b/icons/emblems/com.ublinux.ubinstall-gtk.install-disk.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/icons/emblems/com.ublinux.ubinstall-gtk.install-grub-update.svg b/icons/emblems/com.ublinux.ubinstall-gtk.install-grub-update.svg new file mode 100644 index 0000000..237eccb --- /dev/null +++ b/icons/emblems/com.ublinux.ubinstall-gtk.install-grub-update.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/icons/emblems/com.ublinux.ubinstall-gtk.install-grub.svg b/icons/emblems/com.ublinux.ubinstall-gtk.install-grub.svg new file mode 100644 index 0000000..0d727e7 --- /dev/null +++ b/icons/emblems/com.ublinux.ubinstall-gtk.install-grub.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/icons/emblems/com.ublinux.ubinstall-gtk.install-near.svg b/icons/emblems/com.ublinux.ubinstall-gtk.install-near.svg new file mode 100644 index 0000000..8ece2d9 --- /dev/null +++ b/icons/emblems/com.ublinux.ubinstall-gtk.install-near.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/icons/emblems/com.ublinux.ubinstall-gtk.install-part.svg b/icons/emblems/com.ublinux.ubinstall-gtk.install-part.svg new file mode 100644 index 0000000..c73e5bb --- /dev/null +++ b/icons/emblems/com.ublinux.ubinstall-gtk.install-part.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/icons/emblems/com.ublinux.ubinstall-gtk.install-recovery.svg b/icons/emblems/com.ublinux.ubinstall-gtk.install-recovery.svg new file mode 100644 index 0000000..4e19d26 --- /dev/null +++ b/icons/emblems/com.ublinux.ubinstall-gtk.install-recovery.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/icons/emblems/com.ublinux.ubinstall-gtk.install-system.svg b/icons/emblems/com.ublinux.ubinstall-gtk.install-system.svg new file mode 100644 index 0000000..6ad3205 --- /dev/null +++ b/icons/emblems/com.ublinux.ubinstall-gtk.install-system.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/icons/emblems/com.ublinux.ubinstall-gtk.install-user.svg b/icons/emblems/com.ublinux.ubinstall-gtk.install-user.svg new file mode 100644 index 0000000..5d6fcb7 --- /dev/null +++ b/icons/emblems/com.ublinux.ubinstall-gtk.install-user.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/icons/emblems/com.ublinux.ubinstall-gtk.license.svg b/icons/emblems/com.ublinux.ubinstall-gtk.license.svg new file mode 100644 index 0000000..2eae823 --- /dev/null +++ b/icons/emblems/com.ublinux.ubinstall-gtk.license.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/icons/emblems/com.ublinux.ubinstall-gtk.source.svg b/icons/emblems/com.ublinux.ubinstall-gtk.source.svg new file mode 100644 index 0000000..ff835f9 --- /dev/null +++ b/icons/emblems/com.ublinux.ubinstall-gtk.source.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/icons/emblems/com.ublinux.ubinstall-gtk.translation-symbolic.svg b/icons/emblems/com.ublinux.ubinstall-gtk.translation-symbolic.svg new file mode 100644 index 0000000..8ce058c --- /dev/null +++ b/icons/emblems/com.ublinux.ubinstall-gtk.translation-symbolic.svg @@ -0,0 +1,3 @@ + + + diff --git a/locale/applications-list.pot b/locale/applications-list.pot new file mode 100644 index 0000000..23fb395 --- /dev/null +++ b/locale/applications-list.pot @@ -0,0 +1,9 @@ + +msgid "Universal macOS-style dock-panel" +msgstr "" + +msgid "System monitor" +msgstr "" + +msgid "Check the internet is alive" +msgstr "" diff --git a/locale/applications-list_ru.po b/locale/applications-list_ru.po new file mode 100644 index 0000000..02b2452 --- /dev/null +++ b/locale/applications-list_ru.po @@ -0,0 +1,27 @@ +# Language translations for ubinstal package. +# Copyright (C) 2022, UBTech LLC +# This file is distributed under the same license as the ubinstal package. +# UBLinux Team , 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: ubinstal 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-05-22 16:12+0600\n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Universal macOS-style dock-panel" +msgstr "Универсальная панель Dock в стиле macOS" + +msgid "System monitor" +msgstr "Системный монитор" + +msgid "Check the internet is alive" +msgstr "Проверка наличия интернет-соединения" diff --git a/locale/ubinstall-gtk.pot b/locale/ubinstall-gtk.pot index 1d9d178..2d5eb73 100644 --- a/locale/ubinstall-gtk.pot +++ b/locale/ubinstall-gtk.pot @@ -22,86 +22,82 @@ msgid "System installation" msgstr "" #: source/ubl-strings.h:3 -msgid "Welcome to system installation" +msgid "" +"https://wiki.ublinux.com/en/software/programs_and_utilities/all/ubinstall-gtk" msgstr "" -#: source/ubl-strings.h:4 +#: source/ubl-strings.h:5 msgid "" "This program will ask you few questions\n" "and help you install system on your computer" msgstr "" -#: source/ubl-strings.h:6 +#: source/ubl-strings.h:7 msgid "Open" msgstr "" -#: source/ubl-strings.h:9 +#: source/ubl-strings.h:10 msgid "Dry run; Installation will not start" msgstr "" -#: source/ubl-strings.h:10 +#: source/ubl-strings.h:11 msgid "Set ini file for configuration mode" msgstr "" -#: source/ubl-strings.h:13 source/ubl-strings.h:255 +#: source/ubl-strings.h:14 source/ubl-strings.h:253 msgid "Keyboard layout" msgstr "" -#: source/ubl-strings.h:14 +#: source/ubl-strings.h:15 msgid "New configuration file creation failed" msgstr "" -#: source/ubl-strings.h:16 +#: source/ubl-strings.h:17 msgid "Cancel" msgstr "" -#: source/ubl-strings.h:17 +#: source/ubl-strings.h:18 msgid "Back" msgstr "" -#: source/ubl-strings.h:18 +#: source/ubl-strings.h:19 msgid "Next" msgstr "" -#: source/ubl-strings.h:19 +#: source/ubl-strings.h:20 msgid "Root only" msgstr "" -#: source/ubl-strings.h:20 +#: source/ubl-strings.h:21 msgid "Welcome" msgstr "" -#: source/ubl-strings.h:21 +#: source/ubl-strings.h:22 msgid "" "Licence\n" "agreement" msgstr "" -#: source/ubl-strings.h:22 +#: source/ubl-strings.h:23 msgid "Sections" msgstr "" -#: source/ubl-strings.h:23 +#: source/ubl-strings.h:24 msgid "Installation" msgstr "" -#: source/ubl-strings.h:24 source/ubl-strings.h:39 +#: source/ubl-strings.h:25 source/ubl-strings.h:39 source/ubl-strings.h:277 msgid "Location" msgstr "" -#: source/ubl-strings.h:25 +#: source/ubl-strings.h:26 msgid "Keyboard" msgstr "" -#: source/ubl-strings.h:26 +#: source/ubl-strings.h:27 msgid "Users" msgstr "" -#: source/ubl-strings.h:27 source/ubl-strings.h:38 source/ubl-strings.h:58 -#: source/ubl-strings.h:59 -msgid "Installation completion" -msgstr "" - #: source/ubl-strings.h:28 msgid "Deleting all data on the selected disk and then installing the system" msgstr "" @@ -122,7 +118,7 @@ msgstr "" msgid "Unpacking the file system into an existing system" msgstr "" -#: source/ubl-strings.h:33 source/ubl-strings.h:351 +#: source/ubl-strings.h:33 source/ubl-strings.h:360 msgid "" "Selecting additional software to install from the repository via the Internet" msgstr "" @@ -139,12 +135,16 @@ msgstr "" msgid "Tag" msgstr "" -#: source/ubl-strings.h:37 source/ubl-strings.h:259 +#: source/ubl-strings.h:37 source/ubl-strings.h:257 msgid "Description" msgstr "" +#: source/ubl-strings.h:38 +msgid "Installation completion" +msgstr "" + #: source/ubl-strings.h:40 -msgid "Location:" +msgid "Region:" msgstr "" #: source/ubl-strings.h:41 @@ -155,7 +155,7 @@ msgstr "" msgid "Language:" msgstr "" -#: source/ubl-strings.h:43 source/ubl-strings.h:239 source/ubl-strings.h:248 +#: source/ubl-strings.h:43 source/ubl-strings.h:237 source/ubl-strings.h:246 msgid "Keyboard model:" msgstr "" @@ -211,720 +211,711 @@ msgstr "" msgid "Automatically" msgstr "" -#: source/ubl-strings.h:57 source/ubl-strings.h:211 +#: source/ubl-strings.h:57 source/ubl-strings.h:209 msgid "User" msgstr "" -#: source/ubl-strings.h:60 +#: source/ubl-strings.h:58 msgid "Select device:" msgstr "" -#: source/ubl-strings.h:61 +#: source/ubl-strings.h:59 msgid "Choose a section:" msgstr "" -#: source/ubl-strings.h:62 +#: source/ubl-strings.h:60 msgid "" -"Attention! The selected partition will be modified: the size will be " -"reduced. In the resulting free space, a partition will be created into which " -"the system will be\n" -"installed." +"Attention! The selected partition will be reduced and the next new " +"partition will be created. The data will be saved in the selected partition. " +"The new partition will be formatted." msgstr "" -#: source/ubl-strings.h:63 +#: source/ubl-strings.h:61 msgid "Device" msgstr "" -#: source/ubl-strings.h:64 +#: source/ubl-strings.h:62 msgid "Label" msgstr "" -#: source/ubl-strings.h:65 +#: source/ubl-strings.h:63 msgid "Size" msgstr "" -#: source/ubl-strings.h:66 +#: source/ubl-strings.h:64 msgid "Free" msgstr "" -#: source/ubl-strings.h:67 +#: source/ubl-strings.h:65 msgid "Specify the size of the new partition for system:" msgstr "" -#: source/ubl-strings.h:68 +#: source/ubl-strings.h:66 msgid "Tb" msgstr "" -#: source/ubl-strings.h:69 +#: source/ubl-strings.h:67 msgid "Gb" msgstr "" -#: source/ubl-strings.h:70 +#: source/ubl-strings.h:68 msgid "Mb" msgstr "" -#: source/ubl-strings.h:71 +#: source/ubl-strings.h:69 msgid "Available languages in the system:" msgstr "" -#: source/ubl-strings.h:72 source/ubl-strings.h:113 +#: source/ubl-strings.h:70 source/ubl-strings.h:111 msgid "Available languages in the system" msgstr "" -#: source/ubl-strings.h:74 +#: source/ubl-strings.h:72 msgid "No device were chosen" msgstr "" -#: source/ubl-strings.h:75 +#: source/ubl-strings.h:73 msgid "No partition were chosen" msgstr "" -#: source/ubl-strings.h:77 +#: source/ubl-strings.h:75 msgid "Installation parameters" msgstr "" -#: source/ubl-strings.h:79 +#: source/ubl-strings.h:77 msgid "Advanced installation mode" msgstr "" -#: source/ubl-strings.h:80 +#: source/ubl-strings.h:78 msgid "" "Installing OS files, user data on different partitions, creating RAID, etc." msgstr "" -#: source/ubl-strings.h:81 +#: source/ubl-strings.h:79 msgid "" "Attention! The selected system components will be installed\n" "separately into the selected partition." msgstr "" -#: source/ubl-strings.h:82 +#: source/ubl-strings.h:80 msgid "GRUB install" msgstr "" -#: source/ubl-strings.h:83 +#: source/ubl-strings.h:81 msgid "Install the GRUB bootloader" msgstr "" -#: source/ubl-strings.h:84 +#: source/ubl-strings.h:82 msgid "GRUB update" msgstr "" -#: source/ubl-strings.h:85 +#: source/ubl-strings.h:83 msgid "Update (reinstall) the GRUB bootloader" msgstr "" -#: source/ubl-strings.h:86 +#: source/ubl-strings.h:84 msgid "Separate installation" msgstr "" -#: source/ubl-strings.h:87 +#: source/ubl-strings.h:85 msgid "Installing OS components and user data on different disk partitions" msgstr "" -#: source/ubl-strings.h:88 +#: source/ubl-strings.h:86 msgid "OS only" msgstr "" -#: source/ubl-strings.h:89 +#: source/ubl-strings.h:87 msgid "Installing only OS components without user data" msgstr "" -#: source/ubl-strings.h:90 +#: source/ubl-strings.h:88 msgid "User data only" msgstr "" -#: source/ubl-strings.h:91 +#: source/ubl-strings.h:89 msgid "Installing only user data without OS components" msgstr "" -#: source/ubl-strings.h:93 source/ubl-strings.h:114 +#: source/ubl-strings.h:91 source/ubl-strings.h:112 msgid "Keyboard layout language" msgstr "" -#: source/ubl-strings.h:95 -msgid "Location were not fullified" +#: source/ubl-strings.h:93 +msgid "Region were not fullified" msgstr "" -#: source/ubl-strings.h:96 +#: source/ubl-strings.h:94 msgid "Zone were not fullified" msgstr "" -#: source/ubl-strings.h:97 +#: source/ubl-strings.h:95 msgid "Languages list is empty" msgstr "" -#: source/ubl-strings.h:98 +#: source/ubl-strings.h:96 msgid "System locale hasn't been chosen" msgstr "" -#: source/ubl-strings.h:99 +#: source/ubl-strings.h:97 msgid "Manual layouts has been chosen but empty" msgstr "" -#: source/ubl-strings.h:101 +#: source/ubl-strings.h:99 msgid "Password input" msgstr "" -#: source/ubl-strings.h:102 +#: source/ubl-strings.h:100 msgid "Password mismatch" msgstr "" -#: source/ubl-strings.h:103 +#: source/ubl-strings.h:101 msgid "Empty important field" msgstr "" -#: source/ubl-strings.h:104 +#: source/ubl-strings.h:102 msgid "Password must be at least" msgstr "" -#: source/ubl-strings.h:104 +#: source/ubl-strings.h:102 msgid "characters" msgstr "" -#: source/ubl-strings.h:106 +#: source/ubl-strings.h:104 msgid "Restart PC" msgstr "" -#: source/ubl-strings.h:107 +#: source/ubl-strings.h:105 msgid "Choose file system type for the section:" msgstr "" -#: source/ubl-strings.h:108 +#: source/ubl-strings.h:106 msgid "Section name:" msgstr "" -#: source/ubl-strings.h:109 +#: source/ubl-strings.h:107 msgid "Format" msgstr "" -#: source/ubl-strings.h:111 +#: source/ubl-strings.h:109 msgid "" "You have system installed on your computer.\n" "You can reboot and use your new system\n" "or continue working in the system Live environment." msgstr "" -#: source/ubl-strings.h:115 -msgid "Apply" -msgstr "" - -#: source/ubl-strings.h:116 +#: source/ubl-strings.h:114 msgid "Success" msgstr "" -#: source/ubl-strings.h:117 +#: source/ubl-strings.h:115 msgid "Layout" msgstr "" -#: source/ubl-strings.h:118 source/ubl-strings.h:256 +#: source/ubl-strings.h:116 source/ubl-strings.h:254 msgid "Designation" msgstr "" -#: source/ubl-strings.h:119 +#: source/ubl-strings.h:117 msgid "Serial" msgstr "" -#: source/ubl-strings.h:120 +#: source/ubl-strings.h:118 msgid "Section" msgstr "" -#: source/ubl-strings.h:121 +#: source/ubl-strings.h:119 msgid "Capacity" msgstr "" -#: source/ubl-strings.h:122 +#: source/ubl-strings.h:120 msgid "Free space" msgstr "" -#: source/ubl-strings.h:123 +#: source/ubl-strings.h:121 msgid "File system" msgstr "" -#: source/ubl-strings.h:124 +#: source/ubl-strings.h:122 msgid "Default (L_Alt + L_Shift)" msgstr "" -#: source/ubl-strings.h:125 +#: source/ubl-strings.h:123 msgid "Default (Regular 105-key)" msgstr "" -#: source/ubl-strings.h:127 +#: source/ubl-strings.h:125 msgid "Installation configuration has ended" msgstr "" -#: source/ubl-strings.h:128 +#: source/ubl-strings.h:126 msgid "System installation is about to begin" msgstr "" -#: source/ubl-strings.h:130 +#: source/ubl-strings.h:128 msgid "Documentation" msgstr "" -#: source/ubl-strings.h:131 +#: source/ubl-strings.h:129 msgid "About" msgstr "" -#: source/ubl-strings.h:133 +#: source/ubl-strings.h:131 msgid "Would you like to read documentation in the Web?" msgstr "" -#: source/ubl-strings.h:134 +#: source/ubl-strings.h:132 msgid "" "You will be redirected to documentation website where documentation is\n" "translated and supported by community." msgstr "" -#: source/ubl-strings.h:135 +#: source/ubl-strings.h:133 msgid "Always redirect to online documentation" msgstr "" -#: source/ubl-strings.h:136 +#: source/ubl-strings.h:134 msgid "Open documentation" msgstr "" -#: source/ubl-strings.h:138 +#: source/ubl-strings.h:136 msgid "Installation error" msgstr "" -#: source/ubl-strings.h:139 +#: source/ubl-strings.h:137 msgid "" "Attention! The system will be installed on the selected partition with OS " "already installed. All user data will be saved." msgstr "" -#: source/ubl-strings.h:141 +#: source/ubl-strings.h:139 msgid "Installation options" msgstr "" -#: source/ubl-strings.h:143 +#: source/ubl-strings.h:141 msgid "Configuration mode" msgstr "" -#: source/ubl-strings.h:144 +#: source/ubl-strings.h:142 msgid "Attention! Configuration mode was enabled!" msgstr "" -#: source/ubl-strings.h:145 +#: source/ubl-strings.h:143 msgid "Configuration will be saved in configuration file" msgstr "" -#: source/ubl-strings.h:146 +#: source/ubl-strings.h:144 msgid "Error" msgstr "" -#: source/ubl-strings.h:147 +#: source/ubl-strings.h:145 msgid "Error has occured while installation process" msgstr "" -#: source/ubl-strings.h:149 +#: source/ubl-strings.h:147 msgid "Log exploration" msgstr "" -#: source/ubl-strings.h:150 +#: source/ubl-strings.h:148 msgid "Save" msgstr "" -#: source/ubl-strings.h:151 +#: source/ubl-strings.h:149 msgid "Load" msgstr "" -#: source/ubl-strings.h:154 +#: source/ubl-strings.h:152 msgid "Load global configuration" msgstr "" -#: source/ubl-strings.h:155 +#: source/ubl-strings.h:153 msgid "Load local configuration" msgstr "" -#: source/ubl-strings.h:156 +#: source/ubl-strings.h:154 msgid "Load from specific file" msgstr "" -#: source/ubl-strings.h:158 +#: source/ubl-strings.h:156 msgid "Save configuration" msgstr "" -#: source/ubl-strings.h:159 +#: source/ubl-strings.h:157 msgid "Save to global configuration" msgstr "" -#: source/ubl-strings.h:160 +#: source/ubl-strings.h:158 msgid "Save to local configuration" msgstr "" -#: source/ubl-strings.h:161 +#: source/ubl-strings.h:159 msgid "Save to specific file" msgstr "" -#: source/ubl-strings.h:163 +#: source/ubl-strings.h:161 msgid "Configuration" msgstr "" -#: source/ubl-strings.h:164 +#: source/ubl-strings.h:162 msgid "Installer configuration has been finished" msgstr "" -#: source/ubl-strings.h:165 +#: source/ubl-strings.h:163 msgid "Choose a save option on the header bar" msgstr "" -#: source/ubl-strings.h:167 +#: source/ubl-strings.h:165 msgid "Configuration has been saved" msgstr "" -#: source/ubl-strings.h:168 +#: source/ubl-strings.h:166 msgid "" "You can safely exit configurator or return and create new configuration file." msgstr "" -#: source/ubl-strings.h:170 +#: source/ubl-strings.h:168 msgid "Scroll to the end" msgstr "" -#: source/ubl-strings.h:171 +#: source/ubl-strings.h:169 msgid "Administrator" msgstr "" -#: source/ubl-strings.h:172 +#: source/ubl-strings.h:170 msgid "English, U.S.A.; Russian, Russia" msgstr "" -#: source/ubl-strings.h:174 +#: source/ubl-strings.h:172 msgid "Read installation log" msgstr "" -#: source/ubl-strings.h:175 +#: source/ubl-strings.h:173 msgid "Read progress log" msgstr "" -#: source/ubl-strings.h:177 -msgid "Accept" +#: source/ubl-strings.h:175 +msgid "Ok" msgstr "" -#: source/ubl-strings.h:178 +#: source/ubl-strings.h:176 msgid "Start GParted" msgstr "" -#: source/ubl-strings.h:180 +#: source/ubl-strings.h:178 msgid "Progress log" msgstr "" -#: source/ubl-strings.h:181 +#: source/ubl-strings.h:179 msgid "Installation log" msgstr "" -#: source/ubl-strings.h:183 +#: source/ubl-strings.h:181 msgid "Add layouts" msgstr "" -#: source/ubl-strings.h:184 source/ubl-strings.h:246 +#: source/ubl-strings.h:182 source/ubl-strings.h:244 msgid "Remove layout" msgstr "" -#: source/ubl-strings.h:186 +#: source/ubl-strings.h:184 msgid "System configuration..." msgstr "" -#: source/ubl-strings.h:188 +#: source/ubl-strings.h:186 msgid "Warning" msgstr "" -#: source/ubl-strings.h:190 +#: source/ubl-strings.h:188 msgid "" "Are you sure want to exit and\n" "interrupt installation process?" msgstr "" -#: source/ubl-strings.h:191 +#: source/ubl-strings.h:189 msgid "Are you sure want to interrupt installation process?" msgstr "" -#: source/ubl-strings.h:192 +#: source/ubl-strings.h:190 msgid "Are you sure want to reboot system?" msgstr "" -#: source/ubl-strings.h:194 source/ubl-strings.h:197 +#: source/ubl-strings.h:192 source/ubl-strings.h:195 msgid "Default (Use last succeeded)" msgstr "" -#: source/ubl-strings.h:195 +#: source/ubl-strings.h:193 msgid "Password encryption error" msgstr "" -#: source/ubl-strings.h:199 +#: source/ubl-strings.h:197 msgid "Launch" msgstr "" -#: source/ubl-strings.h:200 +#: source/ubl-strings.h:198 msgid "LTS" msgstr "" -#: source/ubl-strings.h:201 +#: source/ubl-strings.h:199 msgid "Reactive" msgstr "" -#: source/ubl-strings.h:202 +#: source/ubl-strings.h:200 msgid "Recomended" msgstr "" -#: source/ubl-strings.h:203 +#: source/ubl-strings.h:201 msgid "Hardened" msgstr "" -#: source/ubl-strings.h:204 +#: source/ubl-strings.h:202 msgid "RealTime" msgstr "" -#: source/ubl-strings.h:205 +#: source/ubl-strings.h:203 msgid "Stable" msgstr "" -#: source/ubl-strings.h:207 +#: source/ubl-strings.h:205 msgid "Are you sure want to remove service" msgstr "" -#: source/ubl-strings.h:207 +#: source/ubl-strings.h:205 msgid "from the list" msgstr "" -#: source/ubl-strings.h:208 +#: source/ubl-strings.h:206 msgid "Add service" msgstr "" -#: source/ubl-strings.h:209 +#: source/ubl-strings.h:207 msgid "Edit service" msgstr "" -#: source/ubl-strings.h:210 +#: source/ubl-strings.h:208 msgid "Remove service" msgstr "" -#: source/ubl-strings.h:211 +#: source/ubl-strings.h:209 msgid "is already exists. Do you really want to save user" msgstr "" -#: source/ubl-strings.h:214 +#: source/ubl-strings.h:212 msgid "Ip adress is incorrect" msgstr "" -#: source/ubl-strings.h:216 +#: source/ubl-strings.h:214 msgid "No kernel was enabled" msgstr "" -#: source/ubl-strings.h:218 +#: source/ubl-strings.h:216 msgid "Choose installation configuration file" msgstr "" -#: source/ubl-strings.h:219 +#: source/ubl-strings.h:217 msgid "Save and exit" msgstr "" -#: source/ubl-strings.h:220 +#: source/ubl-strings.h:218 msgid "No" msgstr "" -#: source/ubl-strings.h:222 -msgid "Cu" -msgstr "" - #: source/ubl-strings.h:223 -msgid "Cues" -msgstr "" - -#: source/ubl-strings.h:225 msgid "About system installation" msgstr "" -#: source/ubl-strings.h:226 +#: source/ubl-strings.h:224 msgid "Repeating values" msgstr "" -#: source/ubl-strings.h:227 +#: source/ubl-strings.h:225 msgid "Source creation were not done" msgstr "" -#: source/ubl-strings.h:228 +#: source/ubl-strings.h:226 msgid "Configuration file does not exist. Create new configuration file?" msgstr "" -#: source/ubl-strings.h:229 +#: source/ubl-strings.h:227 msgid "" "Configuration file does not exist. Create new configuration file? New " "configuration file will be created at your user's home directory" msgstr "" -#: source/ubl-strings.h:230 +#: source/ubl-strings.h:228 msgid "" "Warning! Application was launched without root. Only configuration mode is " "allowed." msgstr "" -#: source/ubl-strings.h:231 +#: source/ubl-strings.h:229 msgid "Package were not found" msgstr "" -#: source/ubl-strings.h:232 +#: source/ubl-strings.h:230 msgid "Package information" msgstr "" -#: source/ubl-strings.h:233 +#: source/ubl-strings.h:231 msgid "Yes, I agree to the License Agreement" msgstr "" -#: source/ubl-strings.h:234 +#: source/ubl-strings.h:232 msgid "No, I do not agree" msgstr "" -#: source/ubl-strings.h:235 +#: source/ubl-strings.h:233 msgid "Add locales" msgstr "" -#: source/ubl-strings.h:236 +#: source/ubl-strings.h:234 msgid "Are you sure you want to remove current layout?" msgstr "" -#: source/ubl-strings.h:237 +#: source/ubl-strings.h:235 msgid "Layout deletion" msgstr "" -#: source/ubl-strings.h:238 source/ubl-strings.h:261 +#: source/ubl-strings.h:236 source/ubl-strings.h:259 msgid "Manual input:" msgstr "" -#: source/ubl-strings.h:241 +#: source/ubl-strings.h:239 msgid "Keyboard layouts:" msgstr "" -#: source/ubl-strings.h:243 +#: source/ubl-strings.h:241 msgid "Move layout up" msgstr "" -#: source/ubl-strings.h:244 +#: source/ubl-strings.h:242 msgid "Move layout down" msgstr "" -#: source/ubl-strings.h:245 +#: source/ubl-strings.h:243 msgid "Add layout" msgstr "" -#: source/ubl-strings.h:249 +#: source/ubl-strings.h:247 msgid "Layouts:" msgstr "" -#: source/ubl-strings.h:250 +#: source/ubl-strings.h:248 msgid "Default layout" msgstr "" -#: source/ubl-strings.h:251 +#: source/ubl-strings.h:249 msgid "Changing the layout:" msgstr "" -#: source/ubl-strings.h:252 +#: source/ubl-strings.h:250 msgid "Set Compose (Multi_Key) to the right Win key" msgstr "" -#: source/ubl-strings.h:253 +#: source/ubl-strings.h:251 msgid "Scroll Lock indication when switching layouts" msgstr "" -#: source/ubl-strings.h:254 +#: source/ubl-strings.h:252 msgid "NumLock:" msgstr "" -#: source/ubl-strings.h:257 +#: source/ubl-strings.h:255 msgid "Variant" msgstr "" -#: source/ubl-strings.h:258 source/ubl-strings.h:303 +#: source/ubl-strings.h:256 source/ubl-strings.h:312 msgid "Name" msgstr "" -#: source/ubl-strings.h:260 +#: source/ubl-strings.h:258 msgid "Options:" msgstr "" -#: source/ubl-strings.h:262 +#: source/ubl-strings.h:260 msgid "Specify your preferred keyboard settings" msgstr "" -#: source/ubl-strings.h:263 +#: source/ubl-strings.h:261 msgid "Available locales in the system:" msgstr "" -#: source/ubl-strings.h:264 +#: source/ubl-strings.h:262 msgid "System locale" msgstr "" -#: source/ubl-strings.h:265 +#: source/ubl-strings.h:263 msgid "Locale" msgstr "" -#: source/ubl-strings.h:266 +#: source/ubl-strings.h:264 source/ubl-strings.h:418 msgid "System language" msgstr "" -#: source/ubl-strings.h:267 +#: source/ubl-strings.h:265 msgid "Territory" msgstr "" -#: source/ubl-strings.h:268 source/ubl-strings.h:413 +#: source/ubl-strings.h:266 source/ubl-strings.h:419 msgid "Specify your preferred system languages" msgstr "" -#: source/ubl-strings.h:269 +#: source/ubl-strings.h:267 msgid "Remove locale" msgstr "" -#: source/ubl-strings.h:270 +#: source/ubl-strings.h:268 msgid "New partition:" msgstr "" -#: source/ubl-strings.h:271 +#: source/ubl-strings.h:269 msgid "Personal" msgstr "" -#: source/ubl-strings.h:272 +#: source/ubl-strings.h:270 msgid "Hardware" msgstr "" -#: source/ubl-strings.h:273 +#: source/ubl-strings.h:271 msgid "System" msgstr "" -#: source/ubl-strings.h:274 +#: source/ubl-strings.h:272 msgid "Installing software by groups" msgstr "" -#: source/ubl-strings.h:275 +#: source/ubl-strings.h:273 msgid "Kernel" msgstr "" -#: source/ubl-strings.h:276 +#: source/ubl-strings.h:274 msgid "Kernel addons" msgstr "" -#: source/ubl-strings.h:277 source/ubl-strings.h:278 +#: source/ubl-strings.h:275 msgid "Installing Modules" msgstr "" -#: source/ubl-strings.h:279 -msgid "Location" +#: source/ubl-strings.h:276 +msgid "Installing Packages" msgstr "" -#: source/ubl-strings.h:280 -msgid "Startup services" +#: source/ubl-strings.h:278 +msgid "Autorun of services" msgstr "" -#: source/ubl-strings.h:281 +#: source/ubl-strings.h:279 +msgid "Autorun of applications" +msgstr "" + +#: source/ubl-strings.h:280 msgid "Boot load" msgstr "" -#: source/ubl-strings.h:282 +#: source/ubl-strings.h:281 msgid "Network" msgstr "" -#: source/ubl-strings.h:283 +#: source/ubl-strings.h:282 msgid "Enable VNC server" msgstr "" @@ -933,552 +924,631 @@ msgid "Enable RDP server" msgstr "" #: source/ubl-strings.h:285 -msgid "Package:" +msgid "Autorun of application" msgstr "" #: source/ubl-strings.h:286 -msgid "Module:" +msgid "Configuring autorun application" msgstr "" #: source/ubl-strings.h:287 -msgid "New section at" +msgid "Application:" msgstr "" #: source/ubl-strings.h:288 -msgid "\"/ublinux-data/\" user data section" +msgid "Group:" msgstr "" #: source/ubl-strings.h:289 -msgid "\"/ublinux/\" system section" +msgid "Application" msgstr "" #: source/ubl-strings.h:290 +msgid "Group" +msgstr "" + +#: source/ubl-strings.h:292 +msgid "Select your language:" +msgstr "" + +#: source/ubl-strings.h:293 +msgid "Selecting additional system kernel components" +msgstr "" + +#: source/ubl-strings.h:294 +msgid "Package:" +msgstr "" + +#: source/ubl-strings.h:295 +msgid "Module:" +msgstr "" + +#: source/ubl-strings.h:296 +msgid "New section at" +msgstr "" + +#: source/ubl-strings.h:297 +msgid "\"/ublinux-data/\" user data section" +msgstr "" + +#: source/ubl-strings.h:298 +msgid "\"/ublinux/\" system section" +msgstr "" + +#: source/ubl-strings.h:299 msgid "Size:" msgstr "" -#: source/ubl-strings.h:291 +#: source/ubl-strings.h:300 msgid "Part label:" msgstr "" -#: source/ubl-strings.h:292 +#: source/ubl-strings.h:301 msgid "File system type:" msgstr "" -#: source/ubl-strings.h:293 +#: source/ubl-strings.h:302 msgid "File system label:" msgstr "" -#: source/ubl-strings.h:294 +#: source/ubl-strings.h:303 msgid "Encryption:" msgstr "" -#: source/ubl-strings.h:295 +#: source/ubl-strings.h:304 msgid "Off" msgstr "" -#: source/ubl-strings.h:296 +#: source/ubl-strings.h:305 msgid "Encryption password:" msgstr "" -#: source/ubl-strings.h:297 +#: source/ubl-strings.h:306 msgid "User name:" msgstr "" -#: source/ubl-strings.h:298 +#: source/ubl-strings.h:307 msgid "User password:" msgstr "" -#: source/ubl-strings.h:299 +#: source/ubl-strings.h:308 msgid "Add user" msgstr "" -#: source/ubl-strings.h:300 source/ubl-strings.h:320 +#: source/ubl-strings.h:309 source/ubl-strings.h:329 msgid "Choose a path for configuration file" msgstr "" -#: source/ubl-strings.h:301 +#: source/ubl-strings.h:310 msgid "File position:" msgstr "" -#: source/ubl-strings.h:302 +#: source/ubl-strings.h:311 msgid "Choose" msgstr "" -#: source/ubl-strings.h:304 +#: source/ubl-strings.h:313 msgid "Id" msgstr "" -#: source/ubl-strings.h:305 +#: source/ubl-strings.h:314 msgid "OS options were not found" msgstr "" -#: source/ubl-strings.h:306 +#: source/ubl-strings.h:315 msgid "Children options were not found" msgstr "" -#: source/ubl-strings.h:307 +#: source/ubl-strings.h:316 msgid "Connection type:" msgstr "" -#: source/ubl-strings.h:308 +#: source/ubl-strings.h:317 msgid "Enabled:" msgstr "" -#: source/ubl-strings.h:309 +#: source/ubl-strings.h:318 msgid "Automatically get IP adress with DHCP" msgstr "" -#: source/ubl-strings.h:310 +#: source/ubl-strings.h:319 msgid "IP adress:" msgstr "" -#: source/ubl-strings.h:311 +#: source/ubl-strings.h:320 msgid "Gateway:" msgstr "" -#: source/ubl-strings.h:312 +#: source/ubl-strings.h:321 msgid "Mask:" msgstr "" -#: source/ubl-strings.h:313 +#: source/ubl-strings.h:322 msgid "DNS-server:" msgstr "" -#: source/ubl-strings.h:314 +#: source/ubl-strings.h:323 msgid "Version" msgstr "" -#: source/ubl-strings.h:315 +#: source/ubl-strings.h:324 msgid "Unit:" msgstr "" -#: source/ubl-strings.h:316 +#: source/ubl-strings.h:325 msgid "Service:" msgstr "" -#: source/ubl-strings.h:317 +#: source/ubl-strings.h:326 msgid "Description:" msgstr "" -#: source/ubl-strings.h:318 +#: source/ubl-strings.h:327 msgid "Folder" msgstr "" -#: source/ubl-strings.h:319 +#: source/ubl-strings.h:328 msgid "ISO-image" msgstr "" -#: source/ubl-strings.h:321 +#: source/ubl-strings.h:330 msgid "Account name:" msgstr "" -#: source/ubl-strings.h:322 +#: source/ubl-strings.h:331 msgid "Login:" msgstr "" -#: source/ubl-strings.h:323 +#: source/ubl-strings.h:332 msgid "Password:" msgstr "" -#: source/ubl-strings.h:324 +#: source/ubl-strings.h:333 msgid "Recovery" msgstr "" -#: source/ubl-strings.h:325 +#: source/ubl-strings.h:334 msgid "Recovering bootloader, OS files, user data" msgstr "" -#: source/ubl-strings.h:326 +#: source/ubl-strings.h:335 msgid "Unpacking into an existing system" msgstr "" -#: source/ubl-strings.h:327 +#: source/ubl-strings.h:336 msgid "Device label" msgstr "" -#: source/ubl-strings.h:328 +#: source/ubl-strings.h:337 msgid "Partition:" msgstr "" -#: source/ubl-strings.h:329 +#: source/ubl-strings.h:338 msgid "Select partition:" msgstr "" -#: source/ubl-strings.h:330 +#: source/ubl-strings.h:339 msgid "Partition label:" msgstr "" -#: source/ubl-strings.h:331 +#: source/ubl-strings.h:340 msgid "Virtual device type:" msgstr "" -#: source/ubl-strings.h:332 +#: source/ubl-strings.h:341 msgid "Load type" msgstr "" -#: source/ubl-strings.h:333 +#: source/ubl-strings.h:342 msgid "BIOS boot sector" msgstr "" -#: source/ubl-strings.h:334 +#: source/ubl-strings.h:343 msgid "EFI section" msgstr "" -#: source/ubl-strings.h:335 +#: source/ubl-strings.h:344 msgid "Swap file" msgstr "" -#: source/ubl-strings.h:336 +#: source/ubl-strings.h:345 msgid "Corresponds to RAM size" msgstr "" -#: source/ubl-strings.h:337 +#: source/ubl-strings.h:346 msgid "Fixed size:" msgstr "" -#: source/ubl-strings.h:338 +#: source/ubl-strings.h:347 msgid "" "Attention! The system will be installed on the selected partition " "with OS already installed. All user data will be saved." msgstr "" -#: source/ubl-strings.h:339 +#: source/ubl-strings.h:348 msgid "" "Attention! The selected system components will be installed\n" "separately into the selected partition." msgstr "" -#: source/ubl-strings.h:340 +#: source/ubl-strings.h:349 msgid "Preparation" msgstr "" -#: source/ubl-strings.h:341 +#: source/ubl-strings.h:350 msgid "Additional" msgstr "" -#: source/ubl-strings.h:342 +#: source/ubl-strings.h:351 msgid "Completion" msgstr "" -#: source/ubl-strings.h:343 +#: source/ubl-strings.h:352 msgid "Licences" msgstr "" -#: source/ubl-strings.h:344 +#: source/ubl-strings.h:353 msgid "OS components" msgstr "" -#: source/ubl-strings.h:345 +#: source/ubl-strings.h:354 msgid "Configuration end" msgstr "" -#: source/ubl-strings.h:346 +#: source/ubl-strings.h:355 msgid "Choose system kernel" msgstr "" -#: source/ubl-strings.h:347 +#: source/ubl-strings.h:356 msgid "Install" msgstr "" -#: source/ubl-strings.h:348 +#: source/ubl-strings.h:357 msgid "Enable" msgstr "" -#: source/ubl-strings.h:349 +#: source/ubl-strings.h:358 msgid "Tags" msgstr "" -#: source/ubl-strings.h:350 +#: source/ubl-strings.h:359 msgid "Modules" msgstr "" -#: source/ubl-strings.h:352 +#: source/ubl-strings.h:361 msgid "Type" msgstr "" -#: source/ubl-strings.h:353 +#: source/ubl-strings.h:362 msgid "Additional components" msgstr "" -#: source/ubl-strings.h:354 +#: source/ubl-strings.h:363 msgid "Package name:" msgstr "" -#: source/ubl-strings.h:355 +#: source/ubl-strings.h:364 msgid "Accessed" msgstr "" -#: source/ubl-strings.h:356 +#: source/ubl-strings.h:365 msgid "Repository status:" msgstr "" -#: source/ubl-strings.h:357 +#: source/ubl-strings.h:366 msgid "Pacman software" msgstr "" -#: source/ubl-strings.h:358 +#: source/ubl-strings.h:367 msgid "Administrator password (root):" msgstr "" -#: source/ubl-strings.h:359 +#: source/ubl-strings.h:368 msgid "Add" msgstr "" -#: source/ubl-strings.h:360 +#: source/ubl-strings.h:369 msgid "Edit" msgstr "" -#: source/ubl-strings.h:361 +#: source/ubl-strings.h:370 msgid "Remove" msgstr "" -#: source/ubl-strings.h:362 +#: source/ubl-strings.h:371 msgid "Autostart" msgstr "" -#: source/ubl-strings.h:363 +#: source/ubl-strings.h:372 msgid "Unit" msgstr "" -#: source/ubl-strings.h:364 +#: source/ubl-strings.h:373 msgid "Service" msgstr "" -#: source/ubl-strings.h:365 +#: source/ubl-strings.h:374 msgid "Startup configuration" msgstr "" -#: source/ubl-strings.h:366 +#: source/ubl-strings.h:375 msgid "Boot selection menu timer:" msgstr "" -#: source/ubl-strings.h:367 +#: source/ubl-strings.h:376 msgid "seconds" msgstr "" -#: source/ubl-strings.h:368 +#: source/ubl-strings.h:377 msgid "Default OS:" msgstr "" -#: source/ubl-strings.h:369 +#: source/ubl-strings.h:378 msgid "Login without password request" msgstr "" -#: source/ubl-strings.h:370 +#: source/ubl-strings.h:379 msgid "Username" msgstr "" -#: source/ubl-strings.h:371 +#: source/ubl-strings.h:380 msgid "Password" msgstr "" -#: source/ubl-strings.h:372 +#: source/ubl-strings.h:381 msgid "Bootloader menu users" msgstr "" -#: source/ubl-strings.h:373 +#: source/ubl-strings.h:382 msgid "Bootloader" msgstr "" -#: source/ubl-strings.h:374 +#: source/ubl-strings.h:383 msgid "Domain name:" msgstr "" -#: source/ubl-strings.h:375 +#: source/ubl-strings.h:384 msgid "Domain administrator:" msgstr "" -#: source/ubl-strings.h:376 +#: source/ubl-strings.h:385 msgid "NTP Server:" msgstr "" -#: source/ubl-strings.h:377 +#: source/ubl-strings.h:386 msgid "Manual" msgstr "" -#: source/ubl-strings.h:378 +#: source/ubl-strings.h:387 msgid "Do not configure" msgstr "" -#: source/ubl-strings.h:379 +#: source/ubl-strings.h:388 msgid "auto" msgstr "" -#: source/ubl-strings.h:380 +#: source/ubl-strings.h:389 msgid "Net interfaces" msgstr "" -#: source/ubl-strings.h:381 +#: source/ubl-strings.h:390 msgid "Installation process" msgstr "" -#: source/ubl-strings.h:382 +#: source/ubl-strings.h:391 msgid "Completed" msgstr "" -#: source/ubl-strings.h:383 +#: source/ubl-strings.h:392 msgid "Configuration error" msgstr "" -#: source/ubl-strings.h:384 +#: source/ubl-strings.h:393 msgid "Configuration saved" msgstr "" -#: source/ubl-strings.h:385 +#: source/ubl-strings.h:394 msgid "Device label:" msgstr "" -#: source/ubl-strings.h:386 +#: source/ubl-strings.h:395 msgid "Common Installation" msgstr "" -#: source/ubl-strings.h:387 +#: source/ubl-strings.h:396 msgid "Select partiton:" msgstr "" -#: source/ubl-strings.h:388 +#: source/ubl-strings.h:397 msgid "Installation on same partition" msgstr "" -#: source/ubl-strings.h:389 +#: source/ubl-strings.h:398 msgid "Advanced section" msgstr "" -#: source/ubl-strings.h:390 +#: source/ubl-strings.h:399 msgid "Recovery section" msgstr "" -#: source/ubl-strings.h:391 +#: source/ubl-strings.h:400 msgid "Start installation scenario" msgstr "" -#: source/ubl-strings.h:392 +#: source/ubl-strings.h:401 msgid "Source" msgstr "" -#: source/ubl-strings.h:393 +#: source/ubl-strings.h:402 msgid "Skip configuration" msgstr "" -#: source/ubl-strings.h:395 +#: source/ubl-strings.h:404 msgid "" "You are now in the system setup program. This program will ask you a few " "questions and help you install the system." msgstr "" -#: source/ubl-strings.h:396 +#: source/ubl-strings.h:405 msgid "Licence agreement" msgstr "" -#: source/ubl-strings.h:397 +#: source/ubl-strings.h:406 msgid "Please read the license agreement before continuing the installation." msgstr "" -#: source/ubl-strings.h:398 +#: source/ubl-strings.h:407 msgid "Please specify what type of installation you want to perform" msgstr "" -#: source/ubl-strings.h:399 +#: source/ubl-strings.h:408 msgid "Selection of main components" msgstr "" -#: source/ubl-strings.h:400 +#: source/ubl-strings.h:409 msgid "Select modules found on the sources to be installed" msgstr "" -#: source/ubl-strings.h:401 -msgid "Settings the system" +#: source/ubl-strings.h:410 +msgid "Configuring the system" msgstr "" -#: source/ubl-strings.h:402 +#: source/ubl-strings.h:411 msgid "Configuring the parameters of the installed system" msgstr "" -#: source/ubl-strings.h:403 +#: source/ubl-strings.h:412 msgid "Selecting the system kernel" msgstr "" -#: source/ubl-strings.h:404 +#: source/ubl-strings.h:413 msgid "" "Selecting kernels for installation in the system and selecting the default " "kernel. Internet access is required to install additional kernels" msgstr "" -#: source/ubl-strings.h:405 -msgid "Selecting additional system kernel components" -msgstr "" - -#: source/ubl-strings.h:406 +#: source/ubl-strings.h:414 msgid "" "Selecting additional kernel modules from the repository via the Internet" msgstr "" -#: source/ubl-strings.h:407 -msgid "Selecting additional installation components" -msgstr "" - -#: source/ubl-strings.h:408 -msgid "Installing Packages" -msgstr "" - -#: source/ubl-strings.h:409 +#: source/ubl-strings.h:415 msgid "" -"Selecting software packages to install from the repository. Internet access is required" +"Search and select the software you need to install by package name. Internet " +"access required" msgstr "" -#: source/ubl-strings.h:410 +#: source/ubl-strings.h:416 msgid "Chosen packages" msgstr "" -#: source/ubl-strings.h:411 +#: source/ubl-strings.h:417 msgid "Enter your time zone" msgstr "" -#: source/ubl-strings.h:412 -msgid "System language" -msgstr "" - -#: source/ubl-strings.h:414 +#: source/ubl-strings.h:420 msgid "Setting up system users" msgstr "" -#: source/ubl-strings.h:415 +#: source/ubl-strings.h:421 msgid "Startup" msgstr "" -#: source/ubl-strings.h:416 +#: source/ubl-strings.h:422 msgid "Configuring startup services" msgstr "" -#: source/ubl-strings.h:417 +#: source/ubl-strings.h:423 msgid "Starting the system" msgstr "" -#: source/ubl-strings.h:418 +#: source/ubl-strings.h:424 msgid "Setting up system boot" msgstr "" -#: source/ubl-strings.h:419 +#: source/ubl-strings.h:425 msgid "Setting up network access" msgstr "" -#: source/ubl-strings.h:420 -msgid "Installing software by groups" +#: source/ubl-strings.h:426 +msgid "Configuring the installation of additional components" msgstr "" -#: source/ubl-strings.h:421 -msgid "Selecting the software group to install from the repository. Internet access is required" +#: source/ubl-strings.h:427 +msgid "Wait for the system to finish loading" msgstr "" -#: source/ubl-strings.h:422 -msgid "Wait for the system to finish loading" +#: source/ubl-strings.h:428 +msgid "Modules and packages" msgstr "" -#: source/ubl-strings.h:424 +#: source/ubl-strings.h:429 +msgid "Setting the system" +msgstr "" + +#: source/ubl-strings.h:430 +msgid "" +"Selecting software packages to install from the repository. Internet access " +"is required" +msgstr "" + +#: source/ubl-strings.h:431 +msgid "" +"Selecting software modules to install from the repository. Internet access " +"is required" +msgstr "" + +#: source/ubl-strings.h:432 +msgid "Language" +msgstr "" + +#: source/ubl-strings.h:433 +msgid "On" +msgstr "" + +#: source/ubl-strings.h:434 +msgid "" +"Selecting the software group to install from the repository. Internet access " +"is required" +msgstr "" + +#: source/ubl-strings.h:435 +msgid "Recovery configuration has ended" +msgstr "" + +#: source/ubl-strings.h:436 +msgid "System recovery is about to begin" +msgstr "" + +#: source/ubl-strings.h:437 +msgid "System recovery" +msgstr "" + +#: source/ubl-strings.h:438 +msgid "The process of restoring the system is underway..." +msgstr "" + +#: source/ubl-strings.h:439 +msgid "System recovery successfully completed!" +msgstr "" + +#: source/ubl-strings.h:440 +msgid "" +"You can reboot the system and use the installed version or continue to work " +"in the current system." +msgstr "" + +#: source/ubl-strings.h:441 +msgid "" +"Selecting additional system kernel components from the repository. Internet " +"access required" +msgstr "" + +#: source/ubl-strings.h:443 msgid "Product ecosystem" msgstr "" -#: source/ubl-strings.h:425 +#: source/ubl-strings.h:444 msgid "" "Developed by a team of professionals and successfully presented on the " "market.\n" @@ -1490,36 +1560,36 @@ msgid "" "- virtualization system" msgstr "" -#: source/ubl-strings.h:433 +#: source/ubl-strings.h:452 msgid "System Usage" msgstr "" -#: source/ubl-strings.h:434 +#: source/ubl-strings.h:453 msgid "" "It has been successfully used in both government agencies and commercial " "companies of various sizes." msgstr "" -#: source/ubl-strings.h:436 +#: source/ubl-strings.h:455 msgid "System Editions" msgstr "" -#: source/ubl-strings.h:437 +#: source/ubl-strings.h:456 msgid "" -"- UBLinux Desktop Enterprise for workstations (PCs, laptops, thin clients, " +"- Desktop Enterprise for workstations (PCs, laptops, thin clients, " "dashboards, including interactive touchscreens and Multi-touch, industrial " "computers, hardware and software complex),\n" -"- UBLinux Server for server hardware and storage systems,\n" -"- UBLinux Network for network equipment,\n" -"- UBLinux Education for educational institutions,\n" -"- UBLinux Desktop Basic for personal (home) use" +"- Server for server hardware and storage systems,\n" +"- Network for network equipment,\n" +"- Education for educational institutions,\n" +"- Desktop Basic for personal (home) use" msgstr "" -#: source/ubl-strings.h:443 +#: source/ubl-strings.h:462 msgid "Device Support" msgstr "" -#: source/ubl-strings.h:444 +#: source/ubl-strings.h:463 msgid "" "A wide range of devices is supported: printing equipment, scanners, webcams, " "etc.\n" @@ -1528,11 +1598,11 @@ msgid "" "simultaneous touch points" msgstr "" -#: source/ubl-strings.h:448 +#: source/ubl-strings.h:467 msgid "Modular secure architecture" msgstr "" -#: source/ubl-strings.h:449 +#: source/ubl-strings.h:468 msgid "" "- each OS component is represented by a separate module with a digital " "signature and integrity control\n" @@ -1541,11 +1611,11 @@ msgid "" "- ensures high performance and reliability of the system" msgstr "" -#: source/ubl-strings.h:454 +#: source/ubl-strings.h:473 msgid "Flexible Adaptation" msgstr "" -#: source/ubl-strings.h:455 +#: source/ubl-strings.h:474 msgid "" "By changing the system's modules, its capabilities are tailored to the needs " "of each user.\n" @@ -1555,59 +1625,59 @@ msgid "" "system capabilities." msgstr "" -#: source/ubl-strings.h:460 +#: source/ubl-strings.h:478 msgid "Domain architecture support" msgstr "" -#: source/ubl-strings.h:461 +#: source/ubl-strings.h:479 msgid "" "A domain controller allows you to:\n" +"- use group policies,\n" +"- centralized software deployment across your fleet,\n" +"- organize network resources and provide flexible access to them\n" "\n" -"use group policies,\n" -"centralized software deployment across your fleet,\n" -"organize network resources and provide flexible access to them\n" "Allows you to integrate your workstation with Microsoft Active Directory, " "FreeIPA, and Samba DC, applying the necessary domain settings to your " "workstation." msgstr "" -#: source/ubl-strings.h:468 +#: source/ubl-strings.h:486 msgid "Compatibility with Windows applications" msgstr "" -#: source/ubl-strings.h:469 +#: source/ubl-strings.h:487 msgid "" "Using Wine or the Winix integration module, you can launch and work with " "most Windows applications." msgstr "" -#: source/ubl-strings.h:471 +#: source/ubl-strings.h:489 msgid "High level of optimization" msgstr "" -#: source/ubl-strings.h:472 +#: source/ubl-strings.h:490 msgid "" "The system is lightweight. This allows for comfortable operation when " "booting from USB drives, on diskless workstations, and on thin clients. It " "also allows for the use of obsolete workstations with low performance" msgstr "" -#: source/ubl-strings.h:474 +#: source/ubl-strings.h:492 msgid "Intuitive interface" msgstr "" -#: source/ubl-strings.h:475 +#: source/ubl-strings.h:493 msgid "" "Support for XFCE, KDE Plasma, GNOME, MATE, LXQt, and other graphical " "environments allows you to choose and flexibly customize the most convenient " "desktop environment." msgstr "" -#: source/ubl-strings.h:477 +#: source/ubl-strings.h:495 msgid "Multi-workstation (multi-seat)" msgstr "" -#: source/ubl-strings.h:478 +#: source/ubl-strings.h:496 msgid "" "The ability for multiple users to work simultaneously at a single " "workstation.\n" @@ -1617,11 +1687,11 @@ msgid "" "for a separate graphics card" msgstr "" -#: source/ubl-strings.h:482 +#: source/ubl-strings.h:500 msgid "Application Software" msgstr "" -#: source/ubl-strings.h:483 +#: source/ubl-strings.h:501 msgid "" "The system comes with a comprehensive set of software out of the box to " "performing most common tasks.\n" @@ -1630,22 +1700,22 @@ msgid "" "additional software and hardware drivers" msgstr "" -#: source/ubl-strings.h:487 +#: source/ubl-strings.h:505 msgid "Corporate Services" msgstr "" -#: source/ubl-strings.h:488 +#: source/ubl-strings.h:506 msgid "" "The system allows you to deploy and manage or connect to a variety of " "centralized corporate services: email, group chats, video conferencing, " "collaboration systems, etc." msgstr "" -#: source/ubl-strings.h:490 +#: source/ubl-strings.h:508 msgid "Security and Resiliency, Sandbox Mode" msgstr "" -#: source/ubl-strings.h:491 +#: source/ubl-strings.h:509 msgid "" "A robust application package management system and built-in information " "security mechanisms ensure a high level of security and resiliency for the " @@ -1655,11 +1725,11 @@ msgid "" "operations. Upon reboot, the system will return to its default state." msgstr "" -#: source/ubl-strings.h:495 +#: source/ubl-strings.h:513 msgid "Custom repositories" msgstr "" -#: source/ubl-strings.h:496 +#: source/ubl-strings.h:514 msgid "" "- repositories are developed and maintained by the operating system " "developer,\n" @@ -1668,11 +1738,11 @@ msgid "" "create and adapt to their needs" msgstr "" -#: source/ubl-strings.h:500 +#: source/ubl-strings.h:518 msgid "Quick deployment" msgstr "" -#: source/ubl-strings.h:501 +#: source/ubl-strings.h:519 msgid "" "- System installation on modern hardware takes 3-5 minutes.\n" "- Ability to install the system over a network\n" @@ -1681,22 +1751,22 @@ msgid "" "required application software." msgstr "" -#: source/ubl-strings.h:505 +#: source/ubl-strings.h:523 msgid "Modular graphical administration interface" msgstr "" -#: source/ubl-strings.h:506 +#: source/ubl-strings.h:524 msgid "" "- A graphical administration interface that includes a comprehensive set of " "system utilities for system configuration\n" "- Web-based tools for administering local and remote workstations" msgstr "" -#: source/ubl-strings.h:509 +#: source/ubl-strings.h:527 msgid "UBPile Infrastructure Monitoring and Management System" msgstr "" -#: source/ubl-strings.h:510 +#: source/ubl-strings.h:528 msgid "" "Includes automation and orchestration mechanisms for comprehensive " "information infrastructure management.\n" @@ -1705,11 +1775,11 @@ msgid "" "as well as manage computing equipment." msgstr "" -#: source/ubl-strings.h:514 -msgid "UBLinux Server virtualization tools" +#: source/ubl-strings.h:532 +msgid "Server virtualization tools" msgstr "" -#: source/ubl-strings.h:515 +#: source/ubl-strings.h:533 msgid "" "The server and workstation virtualization system enables efficient " "deployment and management of virtual IT infrastructure in data centers.\n" @@ -1719,11 +1789,11 @@ msgid "" "- Backup, data protection, and VDI mechanisms." msgstr "" -#: source/ubl-strings.h:520 +#: source/ubl-strings.h:538 msgid "Professional technical support" msgstr "" -#: source/ubl-strings.h:521 +#: source/ubl-strings.h:539 msgid "" "You can choose the level of technical support for the system that most " "appropriate for your needs.\n" @@ -1731,26 +1801,23 @@ msgid "" "For more information, visit our website the \"Support Levels\" section." msgstr "" -#: source/ubl-strings.h:525 +#: source/ubl-strings.h:543 msgid "Interactive Knowledge Base" msgstr "" -#: source/ubl-strings.h:526 +#: source/ubl-strings.h:544 msgid "" "Continuously evolving and clearly describes the installation and " "configuration of the system, as well as the use of its features. Located at " "https://wiki.ublinux.com" msgstr "" -#: source/ubl-strings.h:528 +#: source/ubl-strings.h:546 msgid "Network Boot" msgstr "" -#: source/ubl-strings.h:529 +#: source/ubl-strings.h:547 msgid "" "Allows system booting for diskless and standard workstations over a local " "network or the Internet (even over slow connection channels)." msgstr "" - -msgid "Selecting software modules to install from the repository. Internet access is required" -msgstr "" \ No newline at end of file diff --git a/locale/ubinstall-gtk_ru.po b/locale/ubinstall-gtk_ru.po index b762abe..eef24fd 100644 --- a/locale/ubinstall-gtk_ru.po +++ b/locale/ubinstall-gtk_ru.po @@ -19,13 +19,15 @@ msgstr "" #: source/ubl-strings.h:1 msgid "System installation" -msgstr "Программа установки UBLinux" +msgstr "Программа установки" #: source/ubl-strings.h:3 -msgid "Welcome to system installation" -msgstr "Добро пожаловать в установку UBLinux" +msgid "" +"https://wiki.ublinux.com/en/software/programs_and_utilities/all/ubinstall-gtk" +msgstr "" +"https://wiki.ublinux.com/ru/software/programs_and_utilities/all/ubinstall-gtk" -#: source/ubl-strings.h:4 +#: source/ubl-strings.h:5 msgid "" "This program will ask you few questions\n" "and help you install system on your computer" @@ -33,49 +35,47 @@ msgstr "" "Эта программа задаст вам несколько вопросов\n" "и поможет установить UBLinux на ваш компьютер" -#: source/ubl-strings.h:6 +#: source/ubl-strings.h:7 msgid "Open" msgstr "Открыть" -#: source/ubl-strings.h:9 +#: source/ubl-strings.h:10 msgid "Dry run; Installation will not start" msgstr "Пробный запуск; установка не начинается." -#: source/ubl-strings.h:10 +#: source/ubl-strings.h:11 msgid "Set ini file for configuration mode" -msgstr "Выбирете путь до файла конфигурации" +msgstr "Выберите путь до файла конфигурации" -#: source/ubl-strings.h:13 source/ubl-strings.h:255 +#: source/ubl-strings.h:14 source/ubl-strings.h:253 msgid "Keyboard layout" msgstr "Раскладка клавиатуры" -#: source/ubl-strings.h:14 +#: source/ubl-strings.h:15 msgid "New configuration file creation failed" msgstr "Ошибка создания нового файла конфигурации" -#: source/ubl-strings.h:16 +#: source/ubl-strings.h:17 msgid "Cancel" msgstr "Отмена" -#: source/ubl-strings.h:17 +#: source/ubl-strings.h:18 msgid "Back" msgstr "Назад" -#: source/ubl-strings.h:18 +#: source/ubl-strings.h:19 msgid "Next" msgstr "Далее" -#: source/ubl-strings.h:19 +#: source/ubl-strings.h:20 msgid "Root only" msgstr "Только root" -#: source/ubl-strings.h:20 +#: source/ubl-strings.h:21 msgid "Welcome" -msgstr "" -"Добро\n" -"пожаловать" +msgstr "Добро пожаловать" -#: source/ubl-strings.h:21 +#: source/ubl-strings.h:22 msgid "" "Licence\n" "agreement" @@ -83,30 +83,26 @@ msgstr "" "Лицензионное\n" "соглашение" -#: source/ubl-strings.h:22 +#: source/ubl-strings.h:23 msgid "Sections" msgstr "Разделы" -#: source/ubl-strings.h:23 +#: source/ubl-strings.h:24 msgid "Installation" msgstr "Установка" -#: source/ubl-strings.h:24 source/ubl-strings.h:39 +#: source/ubl-strings.h:25 source/ubl-strings.h:39 source/ubl-strings.h:277 msgid "Location" msgstr "Местоположение" -#: source/ubl-strings.h:25 +#: source/ubl-strings.h:26 msgid "Keyboard" msgstr "Клавиатура" -#: source/ubl-strings.h:26 +#: source/ubl-strings.h:27 msgid "Users" msgstr "Пользователи" -#: source/ubl-strings.h:27 -msgid "Installation completion" -msgstr "Завершение установки" - #: source/ubl-strings.h:28 msgid "Deleting all data on the selected disk and then installing the system" msgstr "" @@ -129,7 +125,7 @@ msgstr "Установка в раздел другой системы" msgid "Unpacking the file system into an existing system" msgstr "Распаковка файловой системы в существующую систему." -#: source/ubl-strings.h:33 source/ubl-strings.h:351 +#: source/ubl-strings.h:33 source/ubl-strings.h:360 msgid "" "Selecting additional software to install from the repository via the Internet" msgstr "" @@ -147,10 +143,14 @@ msgstr "Название модуля" msgid "Tag" msgstr "Тэг" -#: source/ubl-strings.h:37 source/ubl-strings.h:259 +#: source/ubl-strings.h:37 source/ubl-strings.h:257 msgid "Description" msgstr "Описание" +#: source/ubl-strings.h:38 +msgid "Installation completion" +msgstr "Завершение установки" + #: source/ubl-strings.h:40 msgid "Region:" msgstr "Регион:" @@ -163,7 +163,7 @@ msgstr "Зона:" msgid "Language:" msgstr "Язык:" -#: source/ubl-strings.h:43 source/ubl-strings.h:239 source/ubl-strings.h:248 +#: source/ubl-strings.h:43 source/ubl-strings.h:237 source/ubl-strings.h:246 msgid "Keyboard model:" msgstr "Модель клавиатуры:" @@ -219,202 +219,201 @@ msgstr "Имя компьютера:" msgid "Automatically" msgstr "Автоматически" -#: source/ubl-strings.h:57 source/ubl-strings.h:211 +#: source/ubl-strings.h:57 source/ubl-strings.h:209 msgid "User" msgstr "Пользователь" -#: source/ubl-strings.h:60 +#: source/ubl-strings.h:58 msgid "Select device:" msgstr "Выберите устройство:" -#: source/ubl-strings.h:61 +#: source/ubl-strings.h:59 msgid "Choose a section:" msgstr "Выберите раздел:" -#: source/ubl-strings.h:62 +#: source/ubl-strings.h:60 msgid "" -"Attention! The selected partition will be modified: the size will be " -"reduced. In the resulting free space, a partition will be created into which " -"the system will be\n" -"installed." +"Attention! The selected partition will be reduced and the next new " +"partition will be created. The data will be saved in the selected partition. " +"The new partition will be formatted." msgstr "" -"Внимание! Выбранный раздел будет модифицирован: размер будет " -"уменьшен. В полученном свободном пространстве будет создан раздел, в который " -"будет произведена установка ОС." +"Внимание! Выбранный раздел будет уменьшен и будет создан следующий " +"новый раздел. На выбранном разделе данные будут сохранены. Новый раздел " +"будет отформатирован." -#: source/ubl-strings.h:63 +#: source/ubl-strings.h:61 msgid "Device" msgstr "Устройство" -#: source/ubl-strings.h:64 +#: source/ubl-strings.h:62 msgid "Label" msgstr "Метка" -#: source/ubl-strings.h:65 +#: source/ubl-strings.h:63 msgid "Size" msgstr "Общий размер" -#: source/ubl-strings.h:66 +#: source/ubl-strings.h:64 msgid "Free" msgstr "Свободно" -#: source/ubl-strings.h:67 +#: source/ubl-strings.h:65 msgid "Specify the size of the new partition for system:" -msgstr "Укажите размер нового раздела для ОС UBLinux:" +msgstr "Укажите размер нового раздела для ОС:" -#: source/ubl-strings.h:68 +#: source/ubl-strings.h:66 msgid "Tb" msgstr "Тб" -#: source/ubl-strings.h:69 +#: source/ubl-strings.h:67 msgid "Gb" msgstr "Гб" -#: source/ubl-strings.h:70 +#: source/ubl-strings.h:68 msgid "Mb" msgstr "Мб" -#: source/ubl-strings.h:71 +#: source/ubl-strings.h:69 msgid "Available languages in the system:" msgstr "Доступные языки в системе:" -#: source/ubl-strings.h:72 source/ubl-strings.h:113 +#: source/ubl-strings.h:70 source/ubl-strings.h:111 msgid "Available languages in the system" msgstr "Доступные языки в системе" -#: source/ubl-strings.h:74 +#: source/ubl-strings.h:72 msgid "No device were chosen" msgstr "Устройство не выбрано" -#: source/ubl-strings.h:75 +#: source/ubl-strings.h:73 msgid "No partition were chosen" msgstr "Раздел не выбран" -#: source/ubl-strings.h:77 +#: source/ubl-strings.h:75 msgid "Installation parameters" msgstr "Параметры установки" -#: source/ubl-strings.h:79 +#: source/ubl-strings.h:77 msgid "Advanced installation mode" msgstr "Расширенный режим установки" -#: source/ubl-strings.h:80 +#: source/ubl-strings.h:78 msgid "" "Installing OS files, user data on different partitions, creating RAID, etc." msgstr "" "Установка файлов ОС, пользовательских данных на разные разделы, создание " "RAID и др." -#: source/ubl-strings.h:81 +#: source/ubl-strings.h:79 msgid "" "Attention! The selected system components will be installed\n" "separately into the selected partition." msgstr "" "Внимание! В выбранный раздел будет произведена раздельная установка " -"выбранных компонентов ОС UBLinux." +"выбранных компонентов ОС." -#: source/ubl-strings.h:82 +#: source/ubl-strings.h:80 msgid "GRUB install" msgstr "Установка GRUB" -#: source/ubl-strings.h:83 +#: source/ubl-strings.h:81 msgid "Install the GRUB bootloader" -msgstr "Установить загрузсик GRUB" +msgstr "Установить загрузчик GRUB" -#: source/ubl-strings.h:84 +#: source/ubl-strings.h:82 msgid "GRUB update" msgstr "Обновление GRUB" -#: source/ubl-strings.h:85 +#: source/ubl-strings.h:83 msgid "Update (reinstall) the GRUB bootloader" msgstr "Обновить (переустановить) загрузчик GRUB" -#: source/ubl-strings.h:86 +#: source/ubl-strings.h:84 msgid "Separate installation" msgstr "Раздельная установка" -#: source/ubl-strings.h:87 +#: source/ubl-strings.h:85 msgid "Installing OS components and user data on different disk partitions" msgstr "" "Установка компонентов ОС и пользовательских данных на разные разделы диска" -#: source/ubl-strings.h:88 +#: source/ubl-strings.h:86 msgid "OS only" msgstr "Только ОС" -#: source/ubl-strings.h:89 +#: source/ubl-strings.h:87 msgid "Installing only OS components without user data" msgstr "Установка только компоненов ОС без пользовательских данных" -#: source/ubl-strings.h:90 +#: source/ubl-strings.h:88 msgid "User data only" msgstr "Только пользовательские данные" -#: source/ubl-strings.h:91 +#: source/ubl-strings.h:89 msgid "Installing only user data without OS components" msgstr "Установка только пользовательских данных без компонентов ОС" -#: source/ubl-strings.h:93 source/ubl-strings.h:114 +#: source/ubl-strings.h:91 source/ubl-strings.h:112 msgid "Keyboard layout language" msgstr "Раскладка клавиатуры" -#: source/ubl-strings.h:95 +#: source/ubl-strings.h:93 msgid "Region were not fullified" msgstr "Регион не был выбран" -#: source/ubl-strings.h:96 +#: source/ubl-strings.h:94 msgid "Zone were not fullified" msgstr "Зона не была выбрана" -#: source/ubl-strings.h:97 +#: source/ubl-strings.h:95 msgid "Languages list is empty" msgstr "Список доступных языков не был заполнен" -#: source/ubl-strings.h:98 +#: source/ubl-strings.h:96 msgid "System locale hasn't been chosen" msgstr "Язык системы не был выбран" -#: source/ubl-strings.h:99 +#: source/ubl-strings.h:97 msgid "Manual layouts has been chosen but empty" msgstr "Ручной выбор списка раскладок клавиатуры выбран, но список пуст" -#: source/ubl-strings.h:101 +#: source/ubl-strings.h:99 msgid "Password input" msgstr "Пароль" -#: source/ubl-strings.h:102 +#: source/ubl-strings.h:100 msgid "Password mismatch" msgstr "Пароли не совпадают" -#: source/ubl-strings.h:103 +#: source/ubl-strings.h:101 msgid "Empty important field" msgstr "Пустое важное поле" -#: source/ubl-strings.h:104 +#: source/ubl-strings.h:102 msgid "Password must be at least" msgstr "Пароль должен быть как минимум" -#: source/ubl-strings.h:104 +#: source/ubl-strings.h:102 msgid "characters" msgstr "символов" -#: source/ubl-strings.h:106 +#: source/ubl-strings.h:104 msgid "Restart PC" msgstr "Перезагрузка" -#: source/ubl-strings.h:107 +#: source/ubl-strings.h:105 msgid "Choose file system type for the section:" msgstr "Выберите тип файловой системы для раздела" -#: source/ubl-strings.h:108 +#: source/ubl-strings.h:106 msgid "Section name:" msgstr "Имя раздела:" -#: source/ubl-strings.h:109 +#: source/ubl-strings.h:107 msgid "Format" msgstr "Форматировать" -#: source/ubl-strings.h:111 +#: source/ubl-strings.h:109 msgid "" "You have system installed on your computer.\n" "You can reboot and use your new system\n" @@ -424,71 +423,71 @@ msgstr "" "Вы можете перезагрузить компьютер и использовать новую систему.\n" "или продолжить работу в среде Live системы." -#: source/ubl-strings.h:115 -msgid "Apply" -msgstr "Применить" +#: source/ubl-strings.h:113 +msgid "Ok" +msgstr "Подтвердить" -#: source/ubl-strings.h:116 +#: source/ubl-strings.h:114 msgid "Success" msgstr "Готово" -#: source/ubl-strings.h:117 +#: source/ubl-strings.h:115 msgid "Layout" msgstr "Раскладка клавиатуры" -#: source/ubl-strings.h:118 source/ubl-strings.h:256 +#: source/ubl-strings.h:116 source/ubl-strings.h:254 msgid "Designation" msgstr "Обозначение" -#: source/ubl-strings.h:119 +#: source/ubl-strings.h:117 msgid "Serial" msgstr "Серийный номер" -#: source/ubl-strings.h:120 +#: source/ubl-strings.h:118 msgid "Section" msgstr "Раздел" -#: source/ubl-strings.h:121 +#: source/ubl-strings.h:119 msgid "Capacity" msgstr "Объём" -#: source/ubl-strings.h:122 +#: source/ubl-strings.h:120 msgid "Free space" msgstr "Свободно" -#: source/ubl-strings.h:123 +#: source/ubl-strings.h:121 msgid "File system" msgstr "Файловая система" -#: source/ubl-strings.h:124 +#: source/ubl-strings.h:122 msgid "Default (L_Alt + L_Shift)" msgstr "По умолчанию (L_Alt + L_Shift)" -#: source/ubl-strings.h:125 +#: source/ubl-strings.h:123 msgid "Default (Regular 105-key)" msgstr "По умолчанию (Обычная 105-клавишная)" -#: source/ubl-strings.h:127 +#: source/ubl-strings.h:125 msgid "Installation configuration has ended" msgstr "Настройка установщика завершена" -#: source/ubl-strings.h:128 +#: source/ubl-strings.h:126 msgid "System installation is about to begin" msgstr "Начало установки системы" -#: source/ubl-strings.h:130 +#: source/ubl-strings.h:128 msgid "Documentation" msgstr "Справка" -#: source/ubl-strings.h:131 +#: source/ubl-strings.h:129 msgid "About" msgstr "О программе" -#: source/ubl-strings.h:133 +#: source/ubl-strings.h:131 msgid "Would you like to read documentation in the Web?" msgstr "Вы хотите прочитать документацию в Сети?" -#: source/ubl-strings.h:134 +#: source/ubl-strings.h:132 msgid "" "You will be redirected to documentation website where documentation is\n" "translated and supported by community." @@ -497,19 +496,19 @@ msgstr "" "переводится\n" "и поддерживается сообществом" -#: source/ubl-strings.h:135 +#: source/ubl-strings.h:133 msgid "Always redirect to online documentation" msgstr "Всегда перенаправлять" -#: source/ubl-strings.h:136 +#: source/ubl-strings.h:134 msgid "Open documentation" msgstr "Открыть документацию" -#: source/ubl-strings.h:138 +#: source/ubl-strings.h:136 msgid "Installation error" msgstr "Ошибка установки" -#: source/ubl-strings.h:139 +#: source/ubl-strings.h:137 msgid "" "Attention! The system will be installed on the selected partition with OS " "already installed. All user data will be saved." @@ -518,146 +517,142 @@ msgstr "" "Если не менять тип ФС и не форматировать, все данные на разделе будут " "сохранены." -#: source/ubl-strings.h:141 +#: source/ubl-strings.h:139 msgid "Installation options" msgstr "Параметры установки" -#: source/ubl-strings.h:143 +#: source/ubl-strings.h:141 msgid "Configuration mode" msgstr "Режим конфигурации" -#: source/ubl-strings.h:144 +#: source/ubl-strings.h:142 msgid "Attention! Configuration mode was enabled!" msgstr "Внимание! Включен режим конфигурации!" -#: source/ubl-strings.h:145 +#: source/ubl-strings.h:143 msgid "Configuration will be saved in configuration file" msgstr "Конфигурация будет сохранена в файл конфигурации" -#: source/ubl-strings.h:146 +#: source/ubl-strings.h:144 msgid "Error" msgstr "Ошибка" -#: source/ubl-strings.h:147 +#: source/ubl-strings.h:145 msgid "Error has occured while installation process" msgstr "Во время процесса установки произошла ошибка" -#: source/ubl-strings.h:149 +#: source/ubl-strings.h:147 msgid "Log exploration" msgstr "Просмотр лога" -#: source/ubl-strings.h:150 +#: source/ubl-strings.h:148 msgid "Save" msgstr "Сохранить" -#: source/ubl-strings.h:151 +#: source/ubl-strings.h:149 msgid "Load" msgstr "Загрузить" -#: source/ubl-strings.h:154 +#: source/ubl-strings.h:152 msgid "Load global configuration" msgstr "Загрузить глобальную конфигурацию" -#: source/ubl-strings.h:155 +#: source/ubl-strings.h:153 msgid "Load local configuration" msgstr "Загрузить локальную конфигурацию" -#: source/ubl-strings.h:156 +#: source/ubl-strings.h:154 msgid "Load from specific file" msgstr "Загрузить из файла" -#: source/ubl-strings.h:158 +#: source/ubl-strings.h:156 msgid "Save configuration" msgstr "Сохранить конфигурацию" -#: source/ubl-strings.h:159 +#: source/ubl-strings.h:157 msgid "Save to global configuration" msgstr "Сохранить глобальную конфигурацию" -#: source/ubl-strings.h:160 +#: source/ubl-strings.h:158 msgid "Save to local configuration" msgstr "Сохранить в локальную конфигурацию" -#: source/ubl-strings.h:161 +#: source/ubl-strings.h:159 msgid "Save to specific file" msgstr "Сохранить в файл" -#: source/ubl-strings.h:163 +#: source/ubl-strings.h:161 msgid "Configuration" msgstr "Конфигурация" -#: source/ubl-strings.h:164 +#: source/ubl-strings.h:162 msgid "Installer configuration has been finished" msgstr "Настройка конфигурации завершена" -#: source/ubl-strings.h:165 +#: source/ubl-strings.h:163 msgid "Choose a save option on the header bar" msgstr "Выберите опцию сохранения на верхней панели" -#: source/ubl-strings.h:167 +#: source/ubl-strings.h:165 msgid "Configuration has been saved" msgstr "Конфигурация сохранена" -#: source/ubl-strings.h:168 +#: source/ubl-strings.h:166 msgid "" "You can safely exit configurator or return and create new configuration file." msgstr "" "Вы можете выйти из настройки конфигурации или настроить другой файл " "конфигурации." -#: source/ubl-strings.h:170 +#: source/ubl-strings.h:168 msgid "Scroll to the end" msgstr "Прокрутить до конца" -#: source/ubl-strings.h:171 +#: source/ubl-strings.h:169 msgid "Administrator" msgstr "Администратор" -#: source/ubl-strings.h:172 +#: source/ubl-strings.h:170 msgid "English, U.S.A.; Russian, Russia" msgstr "Английский, США; Русский, Россия" -#: source/ubl-strings.h:174 +#: source/ubl-strings.h:172 msgid "Read installation log" msgstr "Открыть лог установки" -#: source/ubl-strings.h:175 +#: source/ubl-strings.h:173 msgid "Read progress log" msgstr "Открыть лог прогресса" -#: source/ubl-strings.h:177 -msgid "Accept" -msgstr "Принять" - -#: source/ubl-strings.h:178 +#: source/ubl-strings.h:176 msgid "Start GParted" msgstr "Запустить GParted" -#: source/ubl-strings.h:180 +#: source/ubl-strings.h:178 msgid "Progress log" msgstr "Лог прогресса" -#: source/ubl-strings.h:181 +#: source/ubl-strings.h:179 msgid "Installation log" msgstr "Лог установки" -#: source/ubl-strings.h:183 +#: source/ubl-strings.h:181 msgid "Add layouts" msgstr "Добавить раскладки" -#: source/ubl-strings.h:184 source/ubl-strings.h:246 +#: source/ubl-strings.h:182 source/ubl-strings.h:244 msgid "Remove layout" msgstr "Удалить раскладку" -#: source/ubl-strings.h:186 +#: source/ubl-strings.h:184 msgid "System configuration..." msgstr "Конфигурация системы..." -#: source/ubl-strings.h:188 +#: source/ubl-strings.h:186 msgid "Warning" msgstr "Внимание" -#: source/ubl-strings.h:190 +#: source/ubl-strings.h:188 msgid "" "Are you sure want to exit and\n" "interrupt installation process?" @@ -665,288 +660,296 @@ msgstr "" "Вы уверены, что хотите закрыть программу и\n" "прервать процесс установки?" -#: source/ubl-strings.h:191 +#: source/ubl-strings.h:189 msgid "Are you sure want to interrupt installation process?" msgstr "Вы уверены, что хотите прервать процесс установки?" -#: source/ubl-strings.h:192 +#: source/ubl-strings.h:190 msgid "Are you sure want to reboot system?" msgstr "Вы уверены что хотите перезагрузить систему?" -#: source/ubl-strings.h:194 source/ubl-strings.h:197 +#: source/ubl-strings.h:192 source/ubl-strings.h:195 msgid "Default (Use last succeeded)" msgstr "По умолчанию (Использовать последний успешный)" -#: source/ubl-strings.h:195 +#: source/ubl-strings.h:193 msgid "Password encryption error" msgstr "Ошибка шифрования пароля" -#: source/ubl-strings.h:199 +#: source/ubl-strings.h:197 msgid "Launch" msgstr "Запустить" -#: source/ubl-strings.h:200 +#: source/ubl-strings.h:198 msgid "LTS" msgstr "LTS" -#: source/ubl-strings.h:201 +#: source/ubl-strings.h:199 msgid "Reactive" msgstr "Реактивное" -#: source/ubl-strings.h:202 +#: source/ubl-strings.h:200 msgid "Recomended" msgstr "Рекомендуется" -#: source/ubl-strings.h:203 +#: source/ubl-strings.h:201 msgid "Hardened" msgstr "Усиленная защита" -#: source/ubl-strings.h:204 +#: source/ubl-strings.h:202 msgid "RealTime" msgstr "Реальное время" -#: source/ubl-strings.h:205 +#: source/ubl-strings.h:203 msgid "Stable" msgstr "Стабильное" -#: source/ubl-strings.h:207 +#: source/ubl-strings.h:205 msgid "Are you sure want to remove service" msgstr "Вы уверены что хотите удалить службу?" -#: source/ubl-strings.h:207 +#: source/ubl-strings.h:205 msgid "from the list" msgstr "из списка" -#: source/ubl-strings.h:208 +#: source/ubl-strings.h:206 msgid "Add service" msgstr "Добавить службу" -#: source/ubl-strings.h:209 +#: source/ubl-strings.h:207 msgid "Edit service" msgstr "Изменить службу" -#: source/ubl-strings.h:210 +#: source/ubl-strings.h:208 msgid "Remove service" msgstr "Удалить службу" -#: source/ubl-strings.h:211 +#: source/ubl-strings.h:209 msgid "is already exists. Do you really want to save user" msgstr "уже существует. Вы уверены что хотите сохранить пользователя" -#: source/ubl-strings.h:214 +#: source/ubl-strings.h:212 msgid "Ip adress is incorrect" msgstr "Неверный Ip адрес" -#: source/ubl-strings.h:216 +#: source/ubl-strings.h:214 msgid "No kernel was enabled" msgstr "Ни одно ядро не было включено" -#: source/ubl-strings.h:218 +#: source/ubl-strings.h:216 msgid "Choose installation configuration file" -msgstr "Выбирете файл конфигурации установки" +msgstr "Выберите файл конфигурации установки" -#: source/ubl-strings.h:219 +#: source/ubl-strings.h:217 msgid "Save and exit" msgstr "Сохранить и выйти" -#: source/ubl-strings.h:220 +#: source/ubl-strings.h:218 msgid "No" msgstr "Нет" -#: source/ubl-strings.h:225 +#: source/ubl-strings.h:223 msgid "About system installation" msgstr "О Программе установки системы" -#: source/ubl-strings.h:226 +#: source/ubl-strings.h:224 msgid "Repeating values" msgstr "Повторяющиеся значения" -#: source/ubl-strings.h:227 +#: source/ubl-strings.h:225 msgid "Source creation were not done" msgstr "Создание источника не было выполнено." -#: source/ubl-strings.h:228 +#: source/ubl-strings.h:226 msgid "Configuration file does not exist. Create new configuration file?" -msgstr "Файл конфигурации не существует. Нужно ли создать новый файл конфигурации?" +msgstr "" +"Файл конфигурации не существует. Нужно ли создать новый файл конфигурации?" -#: source/ubl-strings.h:229 +#: source/ubl-strings.h:227 msgid "" "Configuration file does not exist. Create new configuration file? New " "configuration file will be created at your user's home directory" -msgstr "Файл конфигурации не существует. Создать новый файл конфигурации? " -"Новый файл конфигурации будет создан в домашнем каталоге пользователя." +msgstr "" +"Файл конфигурации не существует. Создать новый файл конфигурации? Новый файл " +"конфигурации будет создан в домашнем каталоге пользователя." -#: source/ubl-strings.h:230 +#: source/ubl-strings.h:228 msgid "" "Warning! Application was launched without root. Only configuration mode is " "allowed." -msgstr "Внимание! Приложение запущено без прав root. Разрешен только режим конфигурации." +msgstr "" +"Внимание! Приложение запущено без прав root. Разрешен только режим " +"конфигурации." -#: source/ubl-strings.h:231 +#: source/ubl-strings.h:229 msgid "Package were not found" msgstr "Пакеты не найдены" -#: source/ubl-strings.h:232 +#: source/ubl-strings.h:230 msgid "Package information" msgstr "Информация о пакете" -#: source/ubl-strings.h:233 +#: source/ubl-strings.h:231 msgid "Yes, I agree to the License Agreement" msgstr "Да, я согласен с лицензионным соглашением" -#: source/ubl-strings.h:234 +#: source/ubl-strings.h:232 msgid "No, I do not agree" msgstr "Нет, я не согласен" -#: source/ubl-strings.h:235 +#: source/ubl-strings.h:233 msgid "Add locales" msgstr "Добавить локаль" -#: source/ubl-strings.h:236 +#: source/ubl-strings.h:234 msgid "Are you sure you want to remove current layout?" msgstr "Вы уверены что хотите удалить данную раскладку?" -#: source/ubl-strings.h:237 +#: source/ubl-strings.h:235 msgid "Layout deletion" msgstr "Удаление раскладки" -#: source/ubl-strings.h:238 source/ubl-strings.h:261 +#: source/ubl-strings.h:236 source/ubl-strings.h:259 msgid "Manual input:" msgstr "Ручной выбор:" -#: source/ubl-strings.h:241 +#: source/ubl-strings.h:239 msgid "Keyboard layouts:" msgstr "Раскладки клавиатуры:" -#: source/ubl-strings.h:243 +#: source/ubl-strings.h:241 msgid "Move layout up" msgstr "Переместить раскладку выше" -#: source/ubl-strings.h:244 +#: source/ubl-strings.h:242 msgid "Move layout down" msgstr "Переместить раскладку ниже" -#: source/ubl-strings.h:245 +#: source/ubl-strings.h:243 msgid "Add layout" msgstr "Добавить раскладку" -#: source/ubl-strings.h:249 +#: source/ubl-strings.h:247 msgid "Layouts:" msgstr "Раскладки:" -#: source/ubl-strings.h:250 +#: source/ubl-strings.h:248 msgid "Default layout" msgstr "Раскладка по умолчанию" -#: source/ubl-strings.h:251 +#: source/ubl-strings.h:249 msgid "Changing the layout:" msgstr "Смена раскладки:" -#: source/ubl-strings.h:252 +#: source/ubl-strings.h:250 msgid "Set Compose (Multi_Key) to the right Win key" msgstr "Установить Compose (Multi_Key) на клавишу \"правая Win\"" -#: source/ubl-strings.h:253 +#: source/ubl-strings.h:251 msgid "Scroll Lock indication when switching layouts" msgstr "Индикация Scroll Lock при переключении раскладки" -#: source/ubl-strings.h:254 +#: source/ubl-strings.h:252 msgid "NumLock:" msgstr "NumLock:" -#: source/ubl-strings.h:257 +#: source/ubl-strings.h:255 msgid "Variant" msgstr "Вариант" -#: source/ubl-strings.h:258 source/ubl-strings.h:303 +#: source/ubl-strings.h:256 source/ubl-strings.h:312 msgid "Name" msgstr "Имя" -#: source/ubl-strings.h:260 +#: source/ubl-strings.h:258 msgid "Options:" msgstr "Опции:" -#: source/ubl-strings.h:262 +#: source/ubl-strings.h:260 msgid "Specify your preferred keyboard settings" msgstr "Укажите предпочитаемые настройки клавиатуры" -#: source/ubl-strings.h:263 +#: source/ubl-strings.h:261 msgid "Available locales in the system:" msgstr "Доступные языки системы:" -#: source/ubl-strings.h:264 +#: source/ubl-strings.h:262 msgid "System locale" msgstr "Язык системы" -#: source/ubl-strings.h:265 +#: source/ubl-strings.h:263 msgid "Locale" msgstr "Локаль" -#: source/ubl-strings.h:266 -msgid "Language" -msgstr "Язык" +#: source/ubl-strings.h:264 source/ubl-strings.h:418 +msgid "System language" +msgstr "Язык системы" -#: source/ubl-strings.h:267 +#: source/ubl-strings.h:265 msgid "Territory" msgstr "Территория" -#: source/ubl-strings.h:268 source/ubl-strings.h:413 +#: source/ubl-strings.h:266 source/ubl-strings.h:419 msgid "Specify your preferred system languages" msgstr "Укажите предпочитаемый язык системы" -#: source/ubl-strings.h:269 +#: source/ubl-strings.h:267 msgid "Remove locale" msgstr "Удалить локаль" -#: source/ubl-strings.h:270 +#: source/ubl-strings.h:268 msgid "New partition:" msgstr "Новый раздел:" -#: source/ubl-strings.h:271 +#: source/ubl-strings.h:269 msgid "Personal" msgstr "Личные" -#: source/ubl-strings.h:272 +#: source/ubl-strings.h:270 msgid "Hardware" msgstr "Оборудование" -#: source/ubl-strings.h:273 +#: source/ubl-strings.h:271 msgid "System" msgstr "Система" -#: source/ubl-strings.h:274 -msgid "Modules and packages" -msgstr "Модули и пакеты" +#: source/ubl-strings.h:272 +msgid "Installing software by groups" +msgstr "Установка программ по группам" -#: source/ubl-strings.h:275 +#: source/ubl-strings.h:273 msgid "Kernel" msgstr "Ядро" -#: source/ubl-strings.h:276 +#: source/ubl-strings.h:274 msgid "Kernel addons" -msgstr "Дополнения ядер" +msgstr "Дополнительные компоненты ядра" + +#: source/ubl-strings.h:275 +msgid "Installing Modules" +msgstr "Установка модулей" -#: source/ubl-strings.h:277 source/ubl-strings.h:278 -msgid "Choose additional components" -msgstr "Выбор дополнительных компонентов" +#: source/ubl-strings.h:276 +msgid "Installing Packages" +msgstr "Установка пакетов" + +#: source/ubl-strings.h:278 +msgid "Autorun of services" +msgstr "Автозапуск служб" #: source/ubl-strings.h:279 -msgid "Region" -msgstr "Регион" +msgid "Autorun of applications" +msgstr "Автозапуск приложений" #: source/ubl-strings.h:280 -msgid "Startup services" -msgstr "Службы автозапуска" - -#: source/ubl-strings.h:281 msgid "Boot load" msgstr "Загрузчик" -#: source/ubl-strings.h:282 +#: source/ubl-strings.h:281 msgid "Network" msgstr "Настройка сетевых интерфейсов" -#: source/ubl-strings.h:283 +#: source/ubl-strings.h:282 msgid "Enable VNC server" msgstr "Запустить VNC сервер" @@ -955,210 +958,242 @@ msgid "Enable RDP server" msgstr "Запустить RDP сервер" #: source/ubl-strings.h:285 +msgid "Autorun of application" +msgstr "Автозапуск приложений" + +#: source/ubl-strings.h:286 +msgid "Configuring autorun application" +msgstr "Настройка автозапуска приложений" + +#: source/ubl-strings.h:287 +msgid "Application:" +msgstr "Приложение:" + +#: source/ubl-strings.h:288 +msgid "Group:" +msgstr "Группа:" + +#: source/ubl-strings.h:289 +msgid "Application" +msgstr "Приложение" + +#: source/ubl-strings.h:290 +msgid "Group" +msgstr "Группа" + +#: source/ubl-strings.h:292 +msgid "Select your language:" +msgstr "Выберете язык:" + +#: source/ubl-strings.h:293 +msgid "Selecting additional system kernel components" +msgstr "Выбор дополнительных компонентов ядра системы" + +#: source/ubl-strings.h:294 msgid "Package:" msgstr "Пакет:" -#: source/ubl-strings.h:286 +#: source/ubl-strings.h:295 msgid "Module:" msgstr "Модуль:" -#: source/ubl-strings.h:287 +#: source/ubl-strings.h:296 msgid "New section at" msgstr "Новый раздел на" -#: source/ubl-strings.h:288 +#: source/ubl-strings.h:297 msgid "\"/ublinux-data/\" user data section" msgstr "\"/ublinux-data/\" раздел данных пользователя" -#: source/ubl-strings.h:289 +#: source/ubl-strings.h:298 msgid "\"/ublinux/\" system section" msgstr "\"/ublinux/\" раздел системы" -#: source/ubl-strings.h:290 +#: source/ubl-strings.h:299 msgid "Size:" msgstr "Размер:" -#: source/ubl-strings.h:291 +#: source/ubl-strings.h:300 msgid "Part label:" msgstr "Метка раздела:" -#: source/ubl-strings.h:292 +#: source/ubl-strings.h:301 msgid "File system type:" msgstr "Тип ФС:" -#: source/ubl-strings.h:293 +#: source/ubl-strings.h:302 msgid "File system label:" msgstr "Метка ФС:" -#: source/ubl-strings.h:294 +#: source/ubl-strings.h:303 msgid "Encryption:" msgstr "Шифрование:" -#: source/ubl-strings.h:295 +#: source/ubl-strings.h:304 msgid "Off" msgstr "Выключить" -#: source/ubl-strings.h:296 +#: source/ubl-strings.h:305 msgid "Encryption password:" msgstr "Пароль шифрования:" -#: source/ubl-strings.h:297 +#: source/ubl-strings.h:306 msgid "User name:" msgstr "Имя пользователя:" -#: source/ubl-strings.h:298 +#: source/ubl-strings.h:307 msgid "User password:" msgstr "Паоль пользователя:" -#: source/ubl-strings.h:299 +#: source/ubl-strings.h:308 msgid "Add user" msgstr "Добавить пользователя" -#: source/ubl-strings.h:300 source/ubl-strings.h:320 +#: source/ubl-strings.h:309 source/ubl-strings.h:329 msgid "Choose a path for configuration file" -msgstr "Выбирете путь до файла конфигурации" +msgstr "Выберите путь до файла конфигурации" -#: source/ubl-strings.h:301 +#: source/ubl-strings.h:310 msgid "File position:" msgstr "Расположение файла:" -#: source/ubl-strings.h:302 +#: source/ubl-strings.h:311 msgid "Choose" msgstr "Выбрать" -#: source/ubl-strings.h:304 +#: source/ubl-strings.h:313 msgid "Id" msgstr "Id" -#: source/ubl-strings.h:305 +#: source/ubl-strings.h:314 msgid "OS options were not found" msgstr "Регион не был выбран" -#: source/ubl-strings.h:306 +#: source/ubl-strings.h:315 msgid "Children options were not found" msgstr "Дочерние опции не найдены" -#: source/ubl-strings.h:307 +#: source/ubl-strings.h:316 msgid "Connection type:" msgstr "Тип соединения:" -#: source/ubl-strings.h:308 +#: source/ubl-strings.h:317 msgid "Enabled:" msgstr "Включен:" -#: source/ubl-strings.h:309 +#: source/ubl-strings.h:318 msgid "Automatically get IP adress with DHCP" msgstr "Автоматически получать IP через DHCP" -#: source/ubl-strings.h:310 +#: source/ubl-strings.h:319 msgid "IP adress:" msgstr "IP адрес:" -#: source/ubl-strings.h:311 +#: source/ubl-strings.h:320 msgid "Gateway:" msgstr "Шлюз:" -#: source/ubl-strings.h:312 +#: source/ubl-strings.h:321 msgid "Mask:" msgstr "Маска:" -#: source/ubl-strings.h:313 +#: source/ubl-strings.h:322 msgid "DNS-server:" msgstr "DNS-сервер:" -#: source/ubl-strings.h:314 +#: source/ubl-strings.h:323 msgid "Version" msgstr "Версия" -#: source/ubl-strings.h:315 +#: source/ubl-strings.h:324 msgid "Unit:" msgstr "Юнит:" -#: source/ubl-strings.h:316 +#: source/ubl-strings.h:325 msgid "Service:" msgstr "Служба:" -#: source/ubl-strings.h:317 +#: source/ubl-strings.h:326 msgid "Description:" msgstr "Описание:" -#: source/ubl-strings.h:318 +#: source/ubl-strings.h:327 msgid "Folder" msgstr "Каталог" -#: source/ubl-strings.h:319 +#: source/ubl-strings.h:328 msgid "ISO-image" msgstr "ISO-образ" -#: source/ubl-strings.h:321 +#: source/ubl-strings.h:330 msgid "Account name:" msgstr "Имя Вашей учётной записи:" -#: source/ubl-strings.h:322 +#: source/ubl-strings.h:331 msgid "Login:" msgstr "Логин для входа в систему:" -#: source/ubl-strings.h:323 +#: source/ubl-strings.h:332 msgid "Password:" msgstr "Пароль:" -#: source/ubl-strings.h:324 +#: source/ubl-strings.h:333 msgid "Recovery" msgstr "Восстановление" -#: source/ubl-strings.h:325 +#: source/ubl-strings.h:334 msgid "Recovering bootloader, OS files, user data" msgstr "Восстановление загрузчика, файлов ОС, пользовательских данных" -#: source/ubl-strings.h:326 +#: source/ubl-strings.h:335 msgid "Unpacking into an existing system" msgstr "Установить ОС в уже существующий раздел" -#: source/ubl-strings.h:327 +#: source/ubl-strings.h:336 msgid "Device label" msgstr "Метка устройства" -#: source/ubl-strings.h:328 +#: source/ubl-strings.h:337 msgid "Partition:" msgstr "Раздел:" -#: source/ubl-strings.h:329 +#: source/ubl-strings.h:338 msgid "Select partition:" -msgstr "Выбирете раздел:" +msgstr "Выберите раздел:" -#: source/ubl-strings.h:330 +#: source/ubl-strings.h:339 msgid "Partition label:" msgstr "Метка раздела:" -#: source/ubl-strings.h:331 +#: source/ubl-strings.h:340 msgid "Virtual device type:" msgstr "Тип виртуального устройства:" -#: source/ubl-strings.h:332 +#: source/ubl-strings.h:341 msgid "Load type" msgstr "Тип загрузки" -#: source/ubl-strings.h:333 +#: source/ubl-strings.h:342 msgid "BIOS boot sector" msgstr "Bios Boot сектор" -#: source/ubl-strings.h:334 +#: source/ubl-strings.h:343 msgid "EFI section" msgstr "EFI раздел" -#: source/ubl-strings.h:335 +#: source/ubl-strings.h:344 msgid "Swap file" msgstr "Файл подкачки" -#: source/ubl-strings.h:336 +#: source/ubl-strings.h:345 msgid "Corresponds to RAM size" msgstr "Соответствует размеру ОЗУ" -#: source/ubl-strings.h:337 +#: source/ubl-strings.h:346 msgid "Fixed size:" msgstr "Фиксированный размер:" -#: source/ubl-strings.h:338 +#: source/ubl-strings.h:347 msgid "" "Attention! The system will be installed on the selected partition " "with OS already installed. All user data will be saved." @@ -1167,7 +1202,7 @@ msgstr "" "Если не менять тип ФС и не форматировать, все данные на разделе будут " "сохранены." -#: source/ubl-strings.h:339 +#: source/ubl-strings.h:348 msgid "" "Attention! The selected system components will be installed\n" "separately into the selected partition." @@ -1175,340 +1210,400 @@ msgstr "" "Внимание! В выбранный раздел будет произведена раздельная установка " "выбранных компонентов системы." -#: source/ubl-strings.h:340 +#: source/ubl-strings.h:349 msgid "Preparation" msgstr "Подготовка" -#: source/ubl-strings.h:341 +#: source/ubl-strings.h:350 msgid "Additional" msgstr "Дополнительный" -#: source/ubl-strings.h:342 +#: source/ubl-strings.h:351 msgid "Completion" msgstr "Завершение" -#: source/ubl-strings.h:343 +#: source/ubl-strings.h:352 msgid "Licences" msgstr "Лицензии" -#: source/ubl-strings.h:344 +#: source/ubl-strings.h:353 msgid "OS components" msgstr "Системные компоненты" -#: source/ubl-strings.h:345 +#: source/ubl-strings.h:354 msgid "Configuration end" msgstr "Завершение конфигурации" -#: source/ubl-strings.h:346 +#: source/ubl-strings.h:355 msgid "Choose system kernel" msgstr "Выбрать ядро системы" -#: source/ubl-strings.h:347 +#: source/ubl-strings.h:356 msgid "Install" msgstr "Установка" -#: source/ubl-strings.h:348 +#: source/ubl-strings.h:357 msgid "Enable" msgstr "Включено" -#: source/ubl-strings.h:349 +#: source/ubl-strings.h:358 msgid "Tags" msgstr "Тэги" -#: source/ubl-strings.h:350 +#: source/ubl-strings.h:359 msgid "Modules" msgstr "Модули" -#: source/ubl-strings.h:352 +#: source/ubl-strings.h:361 msgid "Type" msgstr "Тип" -#: source/ubl-strings.h:353 +#: source/ubl-strings.h:362 msgid "Additional components" msgstr "Дополнительные компоненты" -#: source/ubl-strings.h:354 +#: source/ubl-strings.h:363 msgid "Package name:" msgstr "Имя пакета:" -#: source/ubl-strings.h:355 +#: source/ubl-strings.h:364 msgid "Accessed" msgstr "Доступно" -#: source/ubl-strings.h:356 +#: source/ubl-strings.h:365 msgid "Repository status:" msgstr "Статус репозитория:" -#: source/ubl-strings.h:357 +#: source/ubl-strings.h:366 msgid "Pacman software" msgstr "компоненты pacman" -#: source/ubl-strings.h:358 +#: source/ubl-strings.h:367 msgid "Administrator password (root):" msgstr "Пароль администратора (root):" -#: source/ubl-strings.h:359 +#: source/ubl-strings.h:368 msgid "Add" msgstr "Добавить" -#: source/ubl-strings.h:360 +#: source/ubl-strings.h:369 msgid "Edit" msgstr "Редактировать" -#: source/ubl-strings.h:361 +#: source/ubl-strings.h:370 msgid "Remove" msgstr "Удалить" -#: source/ubl-strings.h:362 +#: source/ubl-strings.h:371 msgid "Autostart" msgstr "Автозапуск" -#: source/ubl-strings.h:363 +#: source/ubl-strings.h:372 msgid "Unit" -msgstr "Юнит:" +msgstr "Юнит" -#: source/ubl-strings.h:364 +#: source/ubl-strings.h:373 msgid "Service" -msgstr "Служба:" +msgstr "Служба" -#: source/ubl-strings.h:365 +#: source/ubl-strings.h:374 msgid "Startup configuration" msgstr "настройка автозапуска" -#: source/ubl-strings.h:366 +#: source/ubl-strings.h:375 msgid "Boot selection menu timer:" msgstr "Таймер меню выбора варианта загрузки:" -#: source/ubl-strings.h:367 +#: source/ubl-strings.h:376 msgid "seconds" msgstr "секунд" -#: source/ubl-strings.h:368 +#: source/ubl-strings.h:377 msgid "Default OS:" -msgstr "Щагрузка по умолчанию:" +msgstr "Загрузка по умолчанию:" -#: source/ubl-strings.h:369 +#: source/ubl-strings.h:378 msgid "Login without password request" msgstr "Автоматический вход в систему без запроса пароля" -#: source/ubl-strings.h:370 +#: source/ubl-strings.h:379 msgid "Username" msgstr "Имя пользователя" -#: source/ubl-strings.h:371 +#: source/ubl-strings.h:380 msgid "Password" msgstr "Пароль" -#: source/ubl-strings.h:372 +#: source/ubl-strings.h:381 msgid "Bootloader menu users" msgstr "Пользователи меню загрузчика" -#: source/ubl-strings.h:373 +#: source/ubl-strings.h:382 msgid "Bootloader" msgstr "Загрузчик" -#: source/ubl-strings.h:374 +#: source/ubl-strings.h:383 msgid "Domain name:" msgstr "Имя домена:" -#: source/ubl-strings.h:375 +#: source/ubl-strings.h:384 msgid "Domain administrator:" msgstr "Администратор домена:" -#: source/ubl-strings.h:376 +#: source/ubl-strings.h:385 msgid "NTP Server:" msgstr "NTP сервер:" -#: source/ubl-strings.h:377 +#: source/ubl-strings.h:386 msgid "Manual" msgstr "Вручную" -#: source/ubl-strings.h:378 +#: source/ubl-strings.h:387 msgid "Do not configure" msgstr "Не настраивать" -#: source/ubl-strings.h:379 +#: source/ubl-strings.h:388 msgid "auto" msgstr "авто" -#: source/ubl-strings.h:380 +#: source/ubl-strings.h:389 msgid "Net interfaces" msgstr "Сетевые интерфейсы" -#: source/ubl-strings.h:381 +#: source/ubl-strings.h:390 msgid "Installation process" msgstr "Процесс установки" -#: source/ubl-strings.h:382 +#: source/ubl-strings.h:391 msgid "Completed" msgstr "Завершено" -#: source/ubl-strings.h:383 +#: source/ubl-strings.h:392 msgid "Configuration error" msgstr "Ошибка конфигурации" -#: source/ubl-strings.h:384 +#: source/ubl-strings.h:393 msgid "Configuration saved" msgstr "Конфигурация сохранена" -#: source/ubl-strings.h:385 +#: source/ubl-strings.h:394 msgid "Device label:" msgstr "Метка устройства:" -#: source/ubl-strings.h:386 +#: source/ubl-strings.h:395 msgid "Common Installation" msgstr "Установка" -#: source/ubl-strings.h:387 +#: source/ubl-strings.h:396 msgid "Select partiton:" -msgstr "Выбирете раздел:" +msgstr "Выберите раздел:" -#: source/ubl-strings.h:388 +#: source/ubl-strings.h:397 msgid "Installation on same partition" msgstr "Установка рядом с другой системой в существующий раздел" -#: source/ubl-strings.h:389 +#: source/ubl-strings.h:398 msgid "Advanced section" msgstr "Расширенный режим установки" -#: source/ubl-strings.h:390 +#: source/ubl-strings.h:399 msgid "Recovery section" msgstr "Восстановление" -#: source/ubl-strings.h:391 +#: source/ubl-strings.h:400 msgid "Start installation scenario" msgstr "Приступить к установке по сценарию" -#: source/ubl-strings.h:392 +#: source/ubl-strings.h:401 msgid "Source" msgstr "Источник" -#: source/ubl-strings.h:393 +#: source/ubl-strings.h:402 msgid "Skip configuration" msgstr "Пропустить настройку" -#: source/ubl-strings.h:395 +#: source/ubl-strings.h:404 msgid "" "You are now in the system setup program. This program will ask you a few " "questions and help you install the system." msgstr "" -"Вы находитесь в программе установки системы. Эта программа задаст вам несколько вопросов и поможет установить систему." +"Вы находитесь в программе установки системы. Эта программа задаст вам " +"несколько вопросов и поможет установить систему." -#: source/ubl-strings.h:396 +#: source/ubl-strings.h:405 msgid "Licence agreement" -msgstr "" -"Лицензионное соглашение" +msgstr "Лицензионное соглашение" -#: source/ubl-strings.h:397 +#: source/ubl-strings.h:406 msgid "Please read the license agreement before continuing the installation." msgstr "Перед продолжением установки ознакомьтесь с лицензионным соглашением." -#: source/ubl-strings.h:398 +#: source/ubl-strings.h:407 msgid "Please specify what type of installation you want to perform" msgstr "Пожалуйста, укажите, какой тип установки вы хотите выполнить." -#: source/ubl-strings.h:399 +#: source/ubl-strings.h:408 msgid "Selection of main components" msgstr "Выбор основных компонентов" -#: source/ubl-strings.h:400 +#: source/ubl-strings.h:409 msgid "Select modules found on the sources to be installed" msgstr "Выберите модули, найденные на источниках, которые будут установлены" -#: source/ubl-strings.h:401 -msgid "Setting the system" +#: source/ubl-strings.h:410 +msgid "Configuring the system" msgstr "Настройка системы" -#: source/ubl-strings.h:402 +#: source/ubl-strings.h:411 msgid "Configuring the parameters of the installed system" msgstr "Настройка параметров установленной системы" -#: source/ubl-strings.h:403 +#: source/ubl-strings.h:412 msgid "Selecting the system kernel" msgstr "Выбор ядра системы" -#: source/ubl-strings.h:404 +#: source/ubl-strings.h:413 msgid "" "Selecting kernels for installation in the system and selecting the default " "kernel. Internet access is required to install additional kernels" -msgstr "Выбор ядер для установки в систему и выбор ядра по умолчанию. Для установки дополнительных ядер требуется доступ к интернету." - -#: source/ubl-strings.h:405 -msgid "Selecting additional system kernel components" -msgstr "Выбор дополнительных компонентов ядра системы" +msgstr "" +"Выбор ядер для установки в систему и выбор ядра по умолчанию. Требуется " +"доступ В Интернет." -#: source/ubl-strings.h:406 +#: source/ubl-strings.h:414 msgid "" "Selecting additional kernel modules from the repository via the Internet" msgstr "" -"Выбор дополнительных модулей ядра из репозитория через Интернет" - -#: source/ubl-strings.h:407 -msgid "Installing Modules" -msgstr "Установка модулей" - -#: source/ubl-strings.h:408 -msgid "Installing Packages" -msgstr "Установка пакетов" +"Выбор дополнительного ПО для установки из репозитория через сеть Интернет" -#: source/ubl-strings.h:409 +#: source/ubl-strings.h:415 msgid "" -"Selecting software packages to install from the repository. Internet access is required" -msgstr "Выбор пакетов программного обеспечения для установки из репозитория. Требуется доступ в Интернет" +"Search and select the software you need to install by package name. Internet " +"access required" +msgstr "" +"Найдите и выберите необходимое программное обеспечение по названию пакета. " +"Требуется доступ в Интернет" -#: source/ubl-strings.h:410 +#: source/ubl-strings.h:416 msgid "Chosen packages" -msgstr "Выбраныне пакеты" +msgstr "Выбранные пакеты" -#: source/ubl-strings.h:411 +#: source/ubl-strings.h:417 msgid "Enter your time zone" msgstr "Введите свой часовой пояс" -#: source/ubl-strings.h:412 -msgid "System language" -msgstr "Язык системы" - -#: source/ubl-strings.h:414 +#: source/ubl-strings.h:420 msgid "Setting up system users" msgstr "Настройка пользователей системы" -#: source/ubl-strings.h:415 +#: source/ubl-strings.h:421 msgid "Startup" msgstr "Автозагрузка" -#: source/ubl-strings.h:416 +#: source/ubl-strings.h:422 msgid "Configuring startup services" msgstr "Настройка служб автозагрузки" -#: source/ubl-strings.h:417 +#: source/ubl-strings.h:423 msgid "Starting the system" msgstr "Запуск системы" -#: source/ubl-strings.h:418 +#: source/ubl-strings.h:424 msgid "Setting up system boot" msgstr "Настройка загрузки системы" -#: source/ubl-strings.h:419 +#: source/ubl-strings.h:425 msgid "Setting up network access" msgstr "Настройка доступа к сети" -#: source/ubl-strings.h:420 -msgid "Installing software by groups" -msgstr "Установка программ по группам" - -#: source/ubl-strings.h:421 -msgid "Selecting the software group to install from the repository. Internet access is required" -msgstr "Выбор группы программного обеспечения для установки из репозитория. Требуется доступ в Интернет" +#: source/ubl-strings.h:426 +msgid "Configuring the installation of additional components" +msgstr "Настройка установки дополнительных компонентов" -#: source/ubl-strings.h:422 +#: source/ubl-strings.h:427 msgid "Wait for the system to finish loading" msgstr "Дождитесь завершения загрузки системы" -#: source/ubl-strings.h:424 +#: source/ubl-strings.h:428 +msgid "Modules and packages" +msgstr "Модули и пакеты" + +#: source/ubl-strings.h:429 +msgid "Setting the system" +msgstr "Настройка системы" + +#: source/ubl-strings.h:430 +msgid "" +"Selecting software packages to install from the repository. Internet access " +"is required" +msgstr "" +"Выбор пакетов программного обеспечения для установки из репозитория. " +"Требуется доступ в Интернет" + +#: source/ubl-strings.h:431 +msgid "" +"Selecting software modules to install from the repository. Internet access " +"is required" +msgstr "" +"Выбор модулей программного обеспечения для установки из репозитория. " +"Требуется доступ в Интернет" + +#: source/ubl-strings.h:432 +msgid "Language" +msgstr "Язык" + +#: source/ubl-strings.h:433 +msgid "On" +msgstr "Включить" + +#: source/ubl-strings.h:434 +msgid "" +"Selecting the software group to install from the repository. Internet access " +"is required" +msgstr "" +"Выбор группы программного обеспечения для установки из репозитория. " +"Требуется доступ в Интернет" + +#: source/ubl-strings.h:435 +msgid "Recovery configuration has ended" +msgstr "Настройка восстановления завершена" + +#: source/ubl-strings.h:436 +msgid "System recovery is about to begin" +msgstr "Начало восстановления системы" + +#: source/ubl-strings.h:437 +msgid "System recovery" +msgstr "Восстановление системы" + +#: source/ubl-strings.h:438 +msgid "The process of restoring the system is underway..." +msgstr "Идёт процесс восстановления системы..." + +#: source/ubl-strings.h:439 +msgid "System recovery successfully completed!" +msgstr "Воcстановление системы успешно завершено!" + +#: source/ubl-strings.h:440 +msgid "" +"You can reboot the system and use the installed version or continue to work " +"in the current system." +msgstr "" +"Можно перезагрузить систему и использовать установленную версию, либо " +"продолжить работать в текущей системе." + +#: source/ubl-strings.h:441 +msgid "" +"Selecting additional system kernel components from the repository. Internet " +"access required" +msgstr "" +"Выбор дополнительных модулей ядра из репозитория. Требуется доступ в Интернет" + +#: source/ubl-strings.h:443 msgid "Product ecosystem" msgstr "Экосистема продуктов" -#: source/ubl-strings.h:425 +#: source/ubl-strings.h:444 msgid "" "Developed by a team of professionals and successfully presented on the " "market.\n" @@ -1518,7 +1613,8 @@ msgid "" "- wide range of software,\n" "- IT infrastructure management system,\n" "- virtualization system" -msgstr "Разрабатывается командой профессионалов и успешно представлена на рынке.\n" +msgstr "" +"Разрабатывается командой профессионалов и успешно представлена на рынке.\n" "\n" "Включает:\n" "\n" @@ -1527,71 +1623,82 @@ msgstr "Разрабатывается командой профессионал "систему управления ИТ-инфраструктурой,\n" "систему виртуализации" -#: source/ubl-strings.h:433 +#: source/ubl-strings.h:452 msgid "System Usage" msgstr "Использование системы" -#: source/ubl-strings.h:434 +#: source/ubl-strings.h:453 msgid "" "It has been successfully used in both government agencies and commercial " "companies of various sizes." -msgstr "Успешно применяется как в государственных учреждениях, так и коммерческих компаниях различного масштаба" +msgstr "" +"Успешно применяется как в государственных учреждениях, так и коммерческих " +"компаниях различного масштаба" -#: source/ubl-strings.h:436 +#: source/ubl-strings.h:455 msgid "System Editions" msgstr "Редакции системы" -#: source/ubl-strings.h:437 +#: source/ubl-strings.h:456 msgid "" -"- UBLinux Desktop Enterprise for workstations (PCs, laptops, thin clients, " +"- Desktop Enterprise for workstations (PCs, laptops, thin clients, " "dashboards, including interactive touchscreens and Multi-touch, industrial " "computers, hardware and software complex),\n" -"- UBLinux Server for server hardware and storage systems,\n" -"- UBLinux Network for network equipment,\n" -"- UBLinux Education for educational institutions,\n" -"- UBLinux Desktop Basic for personal (home) use" -msgstr "редакция \"Desktop Enterprise\" для рабочих мест (ПК, ноутбуки, тонкие клиенты, информационные панели, в т.ч. интерактивные с сенсорным экраном и функцией Мультитач, промышленные компьютеры, ПАК),\n" +"- Server for server hardware and storage systems,\n" +"- Network for network equipment,\n" +"- Education for educational institutions,\n" +"- Desktop Basic for personal (home) use" +msgstr "" +"редакция \"Desktop Enterprise\" для рабочих мест (ПК, ноутбуки, тонкие " +"клиенты, информационные панели, в т.ч. интерактивные с сенсорным экраном и " +"функцией Мультитач, промышленные компьютеры, ПАК),\n" "- редакция \"Server\" для серверного оборудования и СХД,\n" "- редакция \"Network\" для сетевого оборудования,\n" "- редакция \"Education\" для образовательных учреждений,\n" "- редакция \"Desktop Basic\" для личного (домашнего) использования" -#: source/ubl-strings.h:443 +#: source/ubl-strings.h:462 msgid "Device Support" msgstr "Поддержка устройств" -#: source/ubl-strings.h:444 +#: source/ubl-strings.h:463 msgid "" "A wide range of devices is supported: printing equipment, scanners, webcams, " "etc.\n" "\n" "Support for Multi-touch input systems with detection of up to 20 " "simultaneous touch points" -msgstr "Поддерживается широкий перечень оборудования: печатная техника, сканеры, веб-камеры и т.д.\n" +msgstr "" +"Поддерживается широкий перечень оборудования: печатная техника, сканеры, веб-" +"камеры и т.д.\n" "\n" -"Поддержка сенсорных системам ввода (Multi-touch) с определением до 20 одновременных точек касания" +"Поддержка сенсорных системам ввода (Multi-touch) с определением до 20 " +"одновременных точек касания" -#: source/ubl-strings.h:448 +#: source/ubl-strings.h:467 msgid "Modular secure architecture" msgstr "Модульная защищённая архитектура" -#: source/ubl-strings.h:449 +#: source/ubl-strings.h:468 msgid "" "- each OS component is represented by a separate module with a digital " "signature and integrity control\n" "- there is no need to stop the system to connect and disconnect modules\n" "- allows flexible adaptation of the system to the customer's workflows\n" "- ensures high performance and reliability of the system" -msgstr "-каждый компонент ОС представлен отдельным модулем с цифровой подписью и контролем целостности,\n" -"- для подключения и отключения модулей не нужно останавливать работу системы,\n" +msgstr "" +"-каждый компонент ОС представлен отдельным модулем с цифровой подписью и " +"контролем целостности,\n" +"- для подключения и отключения модулей не нужно останавливать работу " +"системы,\n" "- позволяет гибко адаптировать систему, под рабочие процессы заказчика,\n" "- обеспечивает высокую производительность и надежность работы системы" -#: source/ubl-strings.h:454 +#: source/ubl-strings.h:473 msgid "Flexible Adaptation" msgstr "Гибкая адаптация" -#: source/ubl-strings.h:455 +#: source/ubl-strings.h:474 msgid "" "By changing the system's modules, its capabilities are tailored to the needs " "of each user.\n" @@ -1599,70 +1706,85 @@ msgid "" "From a minimal configuration (a thin client that only allows remote " "connection to the server) to a configuration that includes the full range of " "system capabilities." -msgstr "За счет изменения состава модулей системы ее возможности адаптируются под потребности конкретного пользователя.\n" +msgstr "" +"За счет изменения состава модулей системы ее возможности адаптируются под " +"потребности конкретного пользователя.\n" "\n" -"От минимальной конфигурации (тонкий клиент, позволяющий только удаленное подключение к серверу), до конфигурации, содержащей весь перечень возможностей системы" +"От минимальной конфигурации (тонкий клиент, позволяющий только удаленное " +"подключение к серверу), до конфигурации, содержащей весь перечень " +"возможностей системы" -#: source/ubl-strings.h:460 +#: source/ubl-strings.h:478 msgid "Domain architecture support" msgstr "Поддержка доменной архитектуры" -#: source/ubl-strings.h:461 +#: source/ubl-strings.h:479 msgid "" "A domain controller allows you to:\n" -"\n" "- use group policies,\n" "- centralized software deployment across your fleet,\n" "- organize network resources and provide flexible access to them\n" "\n" -"Allows you to integrate your workstation with Microsoft Active Directory, FreeIPA, and Samba DC, applying the necessary domain settings to your workstation." -msgstr "Контроллер домена позволяет:" -"\n" -"использовать групповые политики,\n" -"централизовано устанавливать ПО на парке техники,\n" -"организовывать сетевые ресурсы и гибкий доступ к ним\n" +"Allows you to integrate your workstation with Microsoft Active Directory, " +"FreeIPA, and Samba DC, applying the necessary domain settings to your " +"workstation." +msgstr "" +"Контроллер домена позволяет:\n" +"- использовать групповые политики,\n" +"- централизовано устанавливать ПО на парке техники,\n" +"- организовывать сетевые ресурсы и гибкий доступ к ним\n" "\n" -"Позволяет интегрировать АРМ в Microsoft Active Directory, FreeIPA, Samba DC, применяя на АРМ необходимые доменные настройки" +"Позволяет интегрировать АРМ в Microsoft Active Directory, FreeIPA, Samba DC, " +"применяя на АРМ необходимые доменные настройки" -#: source/ubl-strings.h:468 +#: source/ubl-strings.h:486 msgid "Compatibility with Windows applications" msgstr "Совместимость с Windows приложениями" -#: source/ubl-strings.h:469 +#: source/ubl-strings.h:487 msgid "" "Using Wine or the Winix integration module, you can launch and work with " "most Windows applications." -msgstr "С помощью средств Wine, либо модуля интеграции Winix, можно запускать и работать с большинством приложений Windows" +msgstr "" +"С помощью средств Wine, либо модуля интеграции Winix, можно запускать и " +"работать с большинством приложений Windows" -#: source/ubl-strings.h:471 +#: source/ubl-strings.h:489 msgid "High level of optimization" msgstr "Высокий уровень оптимизации" -#: source/ubl-strings.h:472 +#: source/ubl-strings.h:490 msgid "" "The system is lightweight. This allows for comfortable operation when " "booting from USB drives, on diskless workstations, and on thin clients. It " "also allows for the use of obsolete workstations with low performance" -msgstr "Система нетребовательна к ресурсам. Это позволяет комфортно работать при загрузке системы с USB накопителей, на бездисковых АРМ, тонких клиентах. А также использовать устаревшие рабочие места с низкой производительностью" +msgstr "" +"Система нетребовательна к ресурсам. Это позволяет комфортно работать при " +"загрузке системы с USB накопителей, на бездисковых АРМ, тонких клиентах. А " +"также использовать устаревшие рабочие места с низкой производительностью" -#: source/ubl-strings.h:474 +#: source/ubl-strings.h:492 msgid "Intuitive interface" msgstr "Интуитивно понятный интерфейс" -#: source/ubl-strings.h:475 +#: source/ubl-strings.h:493 msgid "" "Support for XFCE, KDE Plasma, GNOME, MATE, LXQt, and other graphical " "environments allows you to choose and flexibly customize the most convenient " "desktop environment." -msgstr "Поддержка графических сред XFCE, KDE Plasma, GNOME, MATE, LXQt и т.д. позволяет подобрать и гибко настроить наиболее удобное окружение рабочего стола.\n" +msgstr "" +"Поддержка графических сред XFCE, KDE Plasma, GNOME, MATE, LXQt и т.д. " +"позволяет подобрать и гибко настроить наиболее удобное окружение рабочего " +"стола.\n" "\n" -"Позволяет пользователю легко начать работать с системой, в том числе при переходе с Windows" +"Позволяет пользователю легко начать работать с системой, в том числе при " +"переходе с Windows" -#: source/ubl-strings.h:477 +#: source/ubl-strings.h:495 msgid "Multi-workstation (multi-seat)" msgstr "Мульти рабочее место (multiseat)" -#: source/ubl-strings.h:478 +#: source/ubl-strings.h:496 msgid "" "The ability for multiple users to work simultaneously at a single " "workstation.\n" @@ -1670,41 +1792,51 @@ msgid "" "Each user has a separate profile (desktop), monitor, and keyboard/mouse. " "This can be implemented using the built-in video outputs without the need " "for a separate graphics card" -msgstr "Возможность одновременно работать за одним рабочим местом нескольким пользователям.\n" +msgstr "" +"Возможность одновременно работать за одним рабочим местом нескольким " +"пользователям.\n" "\n" -"У каждого пользователя отдельный профиль (индивидуальный рабочий стол), монитор, клавиатура/мышь. Можно реализовать на встроенных видео выходах без использования отдельной видеокарты" +"У каждого пользователя отдельный профиль (индивидуальный рабочий стол), " +"монитор, клавиатура/мышь. Можно реализовать на встроенных видео выходах без " +"использования отдельной видеокарты" -#: source/ubl-strings.h:482 +#: source/ubl-strings.h:500 msgid "Application Software" msgstr "Прикладное программное обеспечение" -#: source/ubl-strings.h:483 +#: source/ubl-strings.h:501 msgid "" "The system comes with a comprehensive set of software out of the box to " "performing most common tasks.\n" "\n" "The graphical package manager allows for quick and intuitive installation of " "additional software and hardware drivers" -msgstr "Система \"из коробки\" имеет обширный набор программного обеспечения для выполнения большинства актуальных задач.\n" +msgstr "" +"Система \"из коробки\" имеет обширный набор программного обеспечения для " +"выполнения большинства актуальных задач.\n" "\n" -"Графический пакетный менеджер позволяет быстро и интуитивно понятно устанавливать дополнительное ПО, драйверы для оборудования" +"Графический пакетный менеджер позволяет быстро и интуитивно понятно " +"устанавливать дополнительное ПО, драйверы для оборудования" -#: source/ubl-strings.h:487 +#: source/ubl-strings.h:505 msgid "Corporate Services" msgstr "Корпоративные сервисы" -#: source/ubl-strings.h:488 +#: source/ubl-strings.h:506 msgid "" "The system allows you to deploy and manage or connect to a variety of " "centralized corporate services: email, group chats, video conferencing, " "collaboration systems, etc." -msgstr "Система позволяет развернуть и управлять или подключаться ко множеству централизованных корпоративных сервисов: почта, групповые чаты, видеоконференции, системы совместной работы и т.д." +msgstr "" +"Система позволяет развернуть и управлять или подключаться ко множеству " +"централизованных корпоративных сервисов: почта, групповые чаты, " +"видеоконференции, системы совместной работы и т.д." -#: source/ubl-strings.h:490 +#: source/ubl-strings.h:508 msgid "Security and Resiliency, Sandbox Mode" msgstr "Безопасность и отказоустойчивость, режим \"песочницы\"" -#: source/ubl-strings.h:491 +#: source/ubl-strings.h:509 msgid "" "A robust application package management system and built-in information " "security mechanisms ensure a high level of security and resiliency for the " @@ -1712,72 +1844,87 @@ msgid "" "\n" "Sandbox modes protect the workstation from failures and incorrect " "operations. Upon reboot, the system will return to its default state." -msgstr "Надёжная система управления пакетами прикладного программного обеспечения и встроенные механизмы защиты информации позволяют обеспечить высокий уровень безопасности и отказоустойчивости рабочего места\n" +msgstr "" +"Надёжная система управления пакетами прикладного программного обеспечения и " +"встроенные механизмы защиты информации позволяют обеспечить высокий уровень " +"безопасности и отказоустойчивости рабочего места\n" "\n" -"Режимы \"песочницы\" позволяют обезопасить рабочее место от сбоев, некорректных действии. При перезагрузке система вернется к \"эталонному\" состоянию" +"Режимы \"песочницы\" позволяют обезопасить рабочее место от сбоев, " +"некорректных действии. При перезагрузке система вернется к \"эталонному\" " +"состоянию" -#: source/ubl-strings.h:495 +#: source/ubl-strings.h:513 msgid "Custom repositories" msgstr "Собственные репозитории" -#: source/ubl-strings.h:496 +#: source/ubl-strings.h:514 msgid "" "- repositories are developed and maintained by the operating system " "developer,\n" "- contain the most popular and modern software tools.\n" "The creation of custom repositories is also supported, which users can " "create and adapt to their needs" -msgstr "- репозитории развиваются и поддерживаются разработчиком системы,\n" +msgstr "" +"- репозитории развиваются и поддерживаются разработчиком системы,\n" "- содержит наиболее востребованные и современные программные средства.\n" -"Также поддерживается создание служебных репозиториев, которые пользователи могут создать и адаптировать под свои нужды" +"Также поддерживается создание служебных репозиториев, которые пользователи " +"могут создать и адаптировать под свои нужды" -#: source/ubl-strings.h:500 +#: source/ubl-strings.h:518 msgid "Quick deployment" msgstr "Быстрое развёртывание" -#: source/ubl-strings.h:501 +#: source/ubl-strings.h:519 msgid "" "- System installation on modern hardware takes 3-5 minutes.\n" "- Ability to install the system over a network\n" "- Ability to create a custom ISO image from one of the configured " "workstations, including the necessary settings and a pre-installed set of " "required application software." -msgstr "-установка системы на современном оборудовании занимает 3-5 минут." -"- возможность установки системы по сети" -"- возможность создать пользовательский ISO образ с одного из настроенных рабочих мест, включив в образ необходимые настройки, предустановленный набор необходимого прикладного ПО" +msgstr "" +"-установка системы на современном оборудовании занимает 3-5 минут.- " +"возможность установки системы по сети- возможность создать пользовательский " +"ISO образ с одного из настроенных рабочих мест, включив в образ необходимые " +"настройки, предустановленный набор необходимого прикладного ПО" -#: source/ubl-strings.h:505 +#: source/ubl-strings.h:523 msgid "Modular graphical administration interface" msgstr "Модульный графический интерфейс администрирования" -#: source/ubl-strings.h:506 +#: source/ubl-strings.h:524 msgid "" "- A graphical administration interface that includes a comprehensive set of " "system utilities for system configuration\n" "- Web-based tools for administering local and remote workstations" -msgstr "- графический интерфейс администрирования, включающий обширный перечень системных утилит для конфигурации, мониторинга и аудита системы," -"- web-ориентированные средства для администрирования как локального, так и удаленных рабочих мест" +msgstr "" +"- графический интерфейс администрирования, включающий обширный перечень " +"системных утилит для конфигурации, мониторинга и аудита системы,- web-" +"ориентированные средства для администрирования как локального, так и " +"удаленных рабочих мест" -#: source/ubl-strings.h:509 +#: source/ubl-strings.h:527 msgid "UBPile Infrastructure Monitoring and Management System" msgstr "Система мониторинга и управления инфраструктурой UBPile" -#: source/ubl-strings.h:510 +#: source/ubl-strings.h:528 msgid "" "Includes automation and orchestration mechanisms for comprehensive " "information infrastructure management.\n" "\n" "Used to automate deployment and configuration of workstations and servers, " "as well as manage computing equipment." -msgstr "Включает механизмы автоматизации и оркестрации для комплексного управления информационной инфраструктурой.\n" +msgstr "" +"Включает механизмы автоматизации и оркестрации для комплексного управления " +"информационной инфраструктурой.\n" "\n" -"Используется для автоматизации задач по развертыванию и конфигурации рабочих станций и серверов, управлению парком вычислительной техники." +"Используется для автоматизации задач по развертыванию и конфигурации рабочих " +"станций и серверов, управлению парком вычислительной техники." -#: source/ubl-strings.h:514 -msgid "UBLinux Server virtualization tools" -msgstr "Инструменты виртуализации серверов UBLinux" +#: source/ubl-strings.h:532 +msgid "Server virtualization tools" +msgstr "Инструменты виртуализации серверов" -#: source/ubl-strings.h:515 +#: source/ubl-strings.h:533 msgid "" "The server and workstation virtualization system enables efficient " "deployment and management of virtual IT infrastructure in data centers.\n" @@ -1785,1869 +1932,52 @@ msgid "" "- Supports Microsoft Windows, GNU/Linux, and FreeBSD guest operating " "systems\n" "- Backup, data protection, and VDI mechanisms." -msgstr "Система виртуализации серверов и рабочих станций обеспечивает эффективное развертывание и управление виртуальной ИТ-инфраструктурой в центрах обработки данных.\n" +msgstr "" +"Система виртуализации серверов и рабочих станций обеспечивает эффективное " +"развертывание и управление виртуальной ИТ-инфраструктурой в центрах " +"обработки данных.\n" "\n" -"Поддерживает гостевые операционные системы Microsoft Windows, GNU/Linux и FreeBSD\n" +"Поддерживает гостевые операционные системы Microsoft Windows, GNU/Linux и " +"FreeBSD\n" "Механизмы резервного копирования, защиты данных и VDI." -#: source/ubl-strings.h:520 +#: source/ubl-strings.h:538 msgid "Professional technical support" msgstr "Профессиональная техподдержка" -#: source/ubl-strings.h:521 +#: source/ubl-strings.h:539 msgid "" -"You can choose the level of technical support for the system that most appropriate for your needs.\n" +"You can choose the level of technical support for the system that most " +"appropriate for your needs.\n" "\n" "For more information, visit our website the \"Support Levels\" section." -msgstr "Можно подобрать уровень технической поддержки системы, наиболее подходящий под ваши потребности.\n" +msgstr "" +"Можно подобрать уровень технической поддержки системы, наиболее подходящий " +"под ваши потребности.\n" "\n" "Подробнее можно ознакомиться на нашем сайте в разделе \"Уровни поддержки\"" -#: source/ubl-strings.h:525 +#: source/ubl-strings.h:543 msgid "Interactive Knowledge Base" msgstr "Интерактивная база знаний" -#: source/ubl-strings.h:526 +#: source/ubl-strings.h:544 msgid "" "Continuously evolving and clearly describes the installation and " "configuration of the system, as well as the use of its features. Located at " "https://wiki.ublinux.com" -msgstr "Постоянно развивается и наглядно описывает установку и настройку системы, использование ее возможностей. Расположена по адресу https://wiki.ublinux.com" +msgstr "" +"Постоянно развивается и наглядно описывает установку и настройку системы, " +"использование ее возможностей. Расположена по адресу https://wiki.ublinux.com" -#: source/ubl-strings.h:528 +#: source/ubl-strings.h:546 msgid "Network Boot" msgstr "Загрузка по сети" -#: source/ubl-strings.h:529 +#: source/ubl-strings.h:547 msgid "" "Allows system booting for diskless and standard workstations over a local " "network or the Internet (even over slow connection channels)." -msgstr "Позволяет загрузку системы для бездисковых и обычных рабочих станций через локальную сеть или Интернет (даже используя \"слабые\" каналы связи)" - -#~ msgid "Layout changing:" -#~ msgstr "Переключение раскладки:" - -#~ msgid "Key layout and switch:" -#~ msgstr "Раскладка клавиш и переключатель:" - -#~ msgid "" -#~ "Attention! The system will be installed in the selected partition. " -#~ "If you do not change the FS type or format, all data on the partition " -#~ "will be saved." -#~ msgstr "" -#~ "Внимание! В выбранный раздел будет произведена установка системы. " -#~ "Если не менять тип ФС и не форматировать, все данные на разделе будут " -#~ "сохранены." - -#~ msgid "Exit" -#~ msgstr "Выйти" - -#~ msgid "Afrikaans" -#~ msgstr "Африканский" - -#~ msgid "Arabic" -#~ msgstr "Арабский" - -#~ msgid "Assamese" -#~ msgstr "Ассамский" - -#~ msgid "Azerbaijani" -#~ msgstr "Азербайджанский" - -#~ msgid "Belarusian" -#~ msgstr "Беларусский" - -#~ msgid "Bulgarian" -#~ msgstr "Болгарский" - -#~ msgid "Bengali" -#~ msgstr "Бенгальский" - -#~ msgid "Bosnian" -#~ msgstr "Боснийский" - -#~ msgid "Catalan" -#~ msgstr "Каталонский" - -#~ msgid "Czech" -#~ msgstr "Чешский" - -#~ msgid "Danish" -#~ msgstr "Датский" - -#~ msgid "German" -#~ msgstr "Немецкий" - -#~ msgid "Greek" -#~ msgstr "Греческий" - -#~ msgid "English" -#~ msgstr "Английский" - -#~ msgid "Spanish" -#~ msgstr "Испанский" - -#~ msgid "Estonian" -#~ msgstr "Эстонский" - -#~ msgid "Finnish" -#~ msgstr "Финский" - -#~ msgid "French" -#~ msgstr "Французский" - -#~ msgid "Gujarati" -#~ msgstr "Гуджаратский" - -#~ msgid "Hebrew" -#~ msgstr "Иврит" - -#~ msgid "Hindi" -#~ msgstr "Хинди" - -#~ msgid "Croatian" -#~ msgstr "Хорватский" - -#~ msgid "Hungarian" -#~ msgstr "Венгерский" - -#~ msgid "Armenian" -#~ msgstr "Армянский" - -#~ msgid "Indonesian" -#~ msgstr "Индонезийский" - -#~ msgid "Icelandic" -#~ msgstr "Исландский" - -#~ msgid "Italian" -#~ msgstr "Итальянский" - -#~ msgid "Japanese" -#~ msgstr "Японский" - -#~ msgid "Georgian" -#~ msgstr "Грузинский" - -#~ msgid "Kazakh" -#~ msgstr "Казахский" - -#~ msgid "Kannada" -#~ msgstr "Каннада" - -#~ msgid "Korean" -#~ msgstr "Корейский" - -#~ msgid "Kashmiri" -#~ msgstr "Кашмирский" - -#~ msgid "Kurdish" -#~ msgstr "Курдский" - -#~ msgid "Kirghiz" -#~ msgstr "Киргизский" - -#~ msgid "Lithuanian" -#~ msgstr "Литовский" - -#~ msgid "Latvian" -#~ msgstr "Латышский" - -#~ msgid "Macedonian" -#~ msgstr "Македонский" - -#~ msgid "Malayalam" -#~ msgstr "Малаялам" - -#~ msgid "Marathi" -#~ msgstr "Маратхи" - -#~ msgid "Malay" -#~ msgstr "Малайский" - -#~ msgid "Maltese" -#~ msgstr "Мальтийский" - -#~ msgid "Bokmal" -#~ msgstr "Букмол" - -#~ msgid "Dutch" -#~ msgstr "Нидерландский" - -#~ msgid "Nynorsk" -#~ msgstr "Норвежский" - -#~ msgid "Oriya" -#~ msgstr "Ория" - -#~ msgid "Punjabi" -#~ msgstr "Панджаби" - -#~ msgid "Polish" -#~ msgstr "Польский" - -#~ msgid "Portuguese" -#~ msgstr "Португальский" - -#~ msgid "Romanian" -#~ msgstr "Румынский" - -#~ msgid "Russian" -#~ msgstr "Русский" - -#~ msgid "Sanskrit" -#~ msgstr "Санскрит" - -#~ msgid "Slovak" -#~ msgstr "Словацкий" - -#~ msgid "Slovenian" -#~ msgstr "Словенский" - -#~ msgid "Albanian" -#~ msgstr "Албанский" - -#~ msgid "Serbian" -#~ msgstr "Сербский" - -#~ msgid "Swedish" -#~ msgstr "Шведский" - -#~ msgid "Tamil" -#~ msgstr "Тамильский" - -#~ msgid "Telugu" -#~ msgstr "Тулугу" - -#~ msgid "Thai" -#~ msgstr "Тайский" - -#~ msgid "Turkish" -#~ msgstr "Турецкий" - -#~ msgid "Ukrainian" -#~ msgstr "Украинский" - -#~ msgid "American" -#~ msgstr "Американский английский" - -#~ msgid "Vietnamese" -#~ msgstr "Вьетнамский" - -#~ msgid "Simplified Chinese" -#~ msgstr "Упрощённый Китайский" - -#~ msgid "Chinese" -#~ msgstr "Китайский" - -#~ msgid "Generic 86-key PC" -#~ msgstr "Обычная 86-клавишная" - -#~ msgid "Generic 101-key PC" -#~ msgstr "Обычная 101-клавишная" - -#~ msgid "Generic 102-key PC" -#~ msgstr "Обычная 102-клавишная" - -#~ msgid "Generic 104-key PC" -#~ msgstr "Обычная 104-клавишная" - -#~ msgid "Generic 104-key PC with L-shaped Enter key" -#~ msgstr "Обычная 104-клавишная (Enter в форме буквы L)" - -#~ msgid "Generic 105-key PC" -#~ msgstr "Обычная 105-клавишная" - -#~ msgid "Dell 101-key PC" -#~ msgstr "Обычная 101-клавишная" - -#~ msgid "Abidjan" -#~ msgstr "Абиджан" - -#~ msgid "Accra" -#~ msgstr "Аккра" - -#~ msgid "Acre" -#~ msgstr "Акр" - -#~ msgid "Adak" -#~ msgstr "Адак" - -#~ msgid "Addis_Ababa" -#~ msgstr "Аддис-Абеба" - -#~ msgid "Adelaide" -#~ msgstr "Аделаида" - -#~ msgid "Aden" -#~ msgstr "Аден" - -#~ msgid "Africa" -#~ msgstr "Африка" - -#~ msgid "Alaska" -#~ msgstr "Аляска" - -#~ msgid "Aleutian" -#~ msgstr "Алеутский" - -#~ msgid "Algiers" -#~ msgstr "Алжир" - -#~ msgid "Almaty" -#~ msgstr "Алматы" - -#~ msgid "America" -#~ msgstr "Америка" - -#~ msgid "Amman" -#~ msgstr "Амман" - -#~ msgid "Amsterdam" -#~ msgstr "Амстердам" - -#~ msgid "Anadyr" -#~ msgstr "Анадырь" - -#~ msgid "Anchorage" -#~ msgstr "Анкоридж" - -#~ msgid "Andorra" -#~ msgstr "Андорра" - -#~ msgid "Anguilla" -#~ msgstr "Ангилья" - -#~ msgid "Antananarivo" -#~ msgstr "Антананариву" - -#~ msgid "Antarctica" -#~ msgstr "Антарктида" - -#~ msgid "Antigua" -#~ msgstr "Антигуа" - -#~ msgid "Apia" -#~ msgstr "Апиа" - -#~ msgid "Aqtau" -#~ msgstr "Актау" - -#~ msgid "Aqtobe" -#~ msgstr "Актобе" - -#~ msgid "Araguaina" -#~ msgstr "Арагуайна" - -#~ msgid "Arctic" -#~ msgstr "Арктика" - -#~ msgid "Arizona" -#~ msgstr "Аризона" - -#~ msgid "Aruba" -#~ msgstr "Аруба" - -#~ msgid "Ashgabat" -#~ msgstr "Ашхабад" - -#~ msgid "Ashkhabad" -#~ msgstr "Ашхабад" - -#~ msgid "Asia" -#~ msgstr "Азия" - -#~ msgid "Asmara" -#~ msgstr "Асмэра" - -#~ msgid "Asmera" -#~ msgstr "Асмера" - -#~ msgid "Astrakhan" -#~ msgstr "Астрахань" - -#~ msgid "Asuncion" -#~ msgstr "Асунсьон" - -#~ msgid "Athens" -#~ msgstr "Афины" - -#~ msgid "Atikokan" -#~ msgstr "Атикокан" - -#~ msgid "Atka" -#~ msgstr "Атка" - -#~ msgid "Atlantic" -#~ msgstr "Атлантика" - -#~ msgid "Atyrau" -#~ msgstr "Атырау" - -#~ msgid "Auckland" -#~ msgstr "Окленд" - -#~ msgid "Australia" -#~ msgstr "Австралия" - -#~ msgid "Azores" -#~ msgstr "Азорские острова" - -#~ msgid "Baghdad" -#~ msgstr "Багдад" - -#~ msgid "Bahia" -#~ msgstr "Баия" - -#~ msgid "Bahia_Banderas" -#~ msgstr "Баия_Бандерас" - -#~ msgid "Bahrain" -#~ msgstr "Бахрейн" - -#~ msgid "BajaNorte" -#~ msgstr "БахаНорте" - -#~ msgid "BajaSur" -#~ msgstr "Южная Нижняя Калифорния" - -#~ msgid "Baku" -#~ msgstr "Баку" - -#~ msgid "Bamako" -#~ msgstr "Бамако" - -#~ msgid "Bangkok" -#~ msgstr "Бангкок" - -#~ msgid "Bangui" -#~ msgstr "Банги" - -#~ msgid "Banjul" -#~ msgstr "Банжул" - -#~ msgid "Barbados" -#~ msgstr "Барбадос" - -#~ msgid "Barnaul" -#~ msgstr "Барнаул" - -#~ msgid "Beirut" -#~ msgstr "Бейрут" - -#~ msgid "Belem" -#~ msgstr "Белен" - -#~ msgid "Belfast" -#~ msgstr "Белфаст" - -#~ msgid "Belgrade" -#~ msgstr "Белград" - -#~ msgid "Belize" -#~ msgstr "Белиз" - -#~ msgid "Berlin" -#~ msgstr "Берлин" - -#~ msgid "Bermuda" -#~ msgstr "Бермуды" - -#~ msgid "Beulah" -#~ msgstr "Беула" - -#~ msgid "Bishkek" -#~ msgstr "Бишкек" - -#~ msgid "Bissau" -#~ msgstr "Бисау" - -#~ msgid "Blanc-Sablon" -#~ msgstr "Блан-Саблон" - -#~ msgid "Blantyre" -#~ msgstr "Блантайр" - -#~ msgid "Boa_Vista" -#~ msgstr "Боа_Виста" - -#~ msgid "Bogota" -#~ msgstr "Богота" - -#~ msgid "Boise" -#~ msgstr "Бойсе" - -#~ msgid "Bougainville" -#~ msgstr "Бугенвиль" - -#~ msgid "Bratislava" -#~ msgstr "Братислава" - -#~ msgid "Brazil" -#~ msgstr "Бразилия" - -#~ msgid "Brazzaville" -#~ msgstr "Браззавиль" - -#~ msgid "Brisbane" -#~ msgstr "Брисбен" - -#~ msgid "Broken_Hill" -#~ msgstr "Брокен-Хилл" - -#~ msgid "Brunei" -#~ msgstr "Бруней" - -#~ msgid "Brussels" -#~ msgstr "Брюссель" - -#~ msgid "Bucharest" -#~ msgstr "Бухарест" - -#~ msgid "Budapest" -#~ msgstr "Будапешт" - -#~ msgid "Buenos_Aires" -#~ msgstr "Буэнос Айрес" - -#~ msgid "Bujumbura" -#~ msgstr "Бужумбура" - -#~ msgid "Busingen" -#~ msgstr "Бузинген" - -#~ msgid "Cairo" -#~ msgstr "Каир" - -#~ msgid "Calcutta" -#~ msgstr "Калькутта" - -#~ msgid "Cambridge_Bay" -#~ msgstr "Кембридж Бэй" - -#~ msgid "Campo_Grande" -#~ msgstr "Кампо_Гранде" - -#~ msgid "Canada" -#~ msgstr "Канада" - -#~ msgid "Canary" -#~ msgstr "Канари" - -#~ msgid "Canberra" -#~ msgstr "Канберра" - -#~ msgid "Cancun" -#~ msgstr "Канкун" - -#~ msgid "Cape_Vepde" -#~ msgstr "Кабо-Верде" - -#~ msgid "Cape_Verde" -#~ msgstr "Кабо-Верде" - -#~ msgid "Caracas" -#~ msgstr "Каракас" - -#~ msgid "Casablanca" -#~ msgstr "Касабланка" - -#~ msgid "Casey" -#~ msgstr "Кейси" - -#~ msgid "Catamarca" -#~ msgstr "Катамарка" - -#~ msgid "Cayenne" -#~ msgstr "Кайенна" - -#~ msgid "Cayman" -#~ msgstr "Кайман" - -#~ msgid "Center" -#~ msgstr "Центр" - -#~ msgid "Central" -#~ msgstr "Центральный" - -#~ msgid "Ceuta" -#~ msgstr "Сеута" - -#~ msgid "Chagos" -#~ msgstr "Чагос" - -#~ msgid "Chatham" -#~ msgstr "Чатем" - -#~ msgid "Chicago" -#~ msgstr "Чикаго" - -#~ msgid "Chihuahua" -#~ msgstr "Чихуахуа" - -#~ msgid "Chile" -#~ msgstr "Чили" - -#~ msgid "Chisinau" -#~ msgstr "Кишинев" - -#~ msgid "Chita" -#~ msgstr "Чита" - -#~ msgid "Choibalsan" -#~ msgstr "Чойбалсан" - -#~ msgid "Chongqing" -#~ msgstr "Чунцин" - -#~ msgid "Christmas" -#~ msgstr "Рождество" - -#~ msgid "Chungking" -#~ msgstr "Чунцин" - -#~ msgid "Chuuk" -#~ msgstr "Чуук" - -#~ msgid "Ciudad_Juarez" -#~ msgstr "Сьюдад_Хуарес" - -#~ msgid "Clock" -#~ msgstr "Часы" - -#~ msgid "Close" -#~ msgstr "Закрыть" - -#~ msgid "Cocos" -#~ msgstr "Кокос" - -#~ msgid "Colombo" -#~ msgstr "Коломбо" - -#~ msgid "ComodRivadavia" -#~ msgstr "Комодоро-Ривадавия" - -#~ msgid "Comoro" -#~ msgstr "Коморо" - -#~ msgid "Conakry" -#~ msgstr "Конакри" - -#~ msgid "Continental" -#~ msgstr "Континентальный" - -#~ msgid "Copenhagen" -#~ msgstr "Копенгаген" - -#~ msgid "Coral_Harbour" -#~ msgstr "Корал Харбор" - -#~ msgid "Cordoba" -#~ msgstr "Кордова" - -#~ msgid "Costa_Rica" -#~ msgstr "Коста_Рика" - -#~ msgid "Creston" -#~ msgstr "Крестон" - -#~ msgid "Cuiaba" -#~ msgstr "Куяба" - -#~ msgid "Curacao" -#~ msgstr "Кюрасао" - -#~ msgid "Currie" -#~ msgstr "Карри" - -#~ msgid "Dacca" -#~ msgstr "Дакка" - -#~ msgid "Dakar" -#~ msgstr "Дакар" - -#~ msgid "Damascus" -#~ msgstr "Дамаск" - -#~ msgid "Danmarkshavn" -#~ msgstr "Данмарксхавн" - -#~ msgid "Dar_es_Salaam" -#~ msgstr "Дар-эс-Салам" - -#~ msgid "Darwin" -#~ msgstr "Дарвин" - -#~ msgid "Davis" -#~ msgstr "Дэвис" - -#~ msgid "Dawson" -#~ msgstr "Доусон" - -#~ msgid "Dawson_Creek" -#~ msgstr "Доусон Крик" - -#~ msgid "DeNoronha" -#~ msgstr "Фернанду-ди-Норонья" - -#~ msgid "Denver" -#~ msgstr "Денвер" - -#~ msgid "Detroit" -#~ msgstr "Детройт" - -#~ msgid "Dhaka" -#~ msgstr "Дакка" - -#~ msgid "Dili" -#~ msgstr "Дили" - -#~ msgid "Djibouti" -#~ msgstr "Джибути" - -#~ msgid "Dominica" -#~ msgstr "Доминика" - -#~ msgid "Douala" -#~ msgstr "Дуала" - -#~ msgid "Dubai" -#~ msgstr "Дубай" - -#~ msgid "Dublin" -#~ msgstr "Дублин" - -#~ msgid "DumontDUrville" -#~ msgstr "Дюмон-д-Юрвиль" - -#~ msgid "Dushanbe" -#~ msgstr "Душанбе" - -#~ msgid "ERROR" -#~ msgstr "ОШИБКА" - -#~ msgid "East" -#~ msgstr "Восток" - -#~ msgid "East-Indiana" -#~ msgstr "Восточная Индиана" - -#~ msgid "Easter" -#~ msgstr "Пасха" - -#~ msgid "EasterIsland" -#~ msgstr "Остров Пасхи" - -#~ msgid "Easterlsland" -#~ msgstr "Остров Пасхи" - -#~ msgid "Eastern" -#~ msgstr "Восточный" - -#~ msgid "Edmonton" -#~ msgstr "Эдмонтон" - -#~ msgid "Efate" -#~ msgstr "Эфате" - -#~ msgid "Eirunepe" -#~ msgstr "Эйрунепе" - -#~ msgid "El_Aaiun" -#~ msgstr "Эль_Аайун" - -#~ msgid "El_Salvador" -#~ msgstr "Сальвадор" - -#~ msgid "Enderbury" -#~ msgstr "Эндербери" - -#~ msgid "Ensenada" -#~ msgstr "Энсенада" - -#~ msgid "Eucla" -#~ msgstr "Евкла" - -#~ msgid "Europe" -#~ msgstr "Европа" - -#~ msgid "Faeroe" -#~ msgstr "Фарерские острова" - -#~ msgid "Fakaofo" -#~ msgstr "Факаофо" - -#~ msgid "Famagusta" -#~ msgstr "Фамагуста" - -#~ msgid "Faroe" -#~ msgstr "Фарерские острова" - -#~ msgid "Fiji" -#~ msgstr "Фиджи" - -#~ msgid "Fort_Nelson" -#~ msgstr "Форт Нельсон" - -#~ msgid "Fort_Wayne" -#~ msgstr "Форт_Уэйн" - -#~ msgid "Fortaleza" -#~ msgstr "Форталеза" - -#~ msgid "Freetown" -#~ msgstr "Фритаун" - -#~ msgid "Funafuti" -#~ msgstr "Фунафути" - -#~ msgid "GMT-1" -#~ msgstr "ГМТ-1" - -#~ msgid "GMT-3" -#~ msgstr "ГМТ-3" - -#~ msgid "Gaborone" -#~ msgstr "Габороне" - -#~ msgid "Galapagos" -#~ msgstr "Галапагос" - -#~ msgid "Gambier" -#~ msgstr "Гамбье" - -#~ msgid "Gaza" -#~ msgstr "Газа" - -#~ msgid "General" -#~ msgstr "Генерал-Сантос" - -#~ msgid "Gibraltar" -#~ msgstr "Гибралтар" - -#~ msgid "Glace_Bay" -#~ msgstr "Глейс-Бей" - -#~ msgid "Godthab" -#~ msgstr "Годтаб" - -#~ msgid "Goose_Bay" -#~ msgstr "Гуз-Бей" - -#~ msgid "Grand_Turk" -#~ msgstr "Гранд_Турк" - -#~ msgid "Greenwich" -#~ msgstr "Гринвич" - -#~ msgid "Grenada" -#~ msgstr "Гренада" - -#~ msgid "Guadalcanal" -#~ msgstr "Гуадалканал" - -#~ msgid "Guadeloupe" -#~ msgstr "Гваделупа" - -#~ msgid "Guam" -#~ msgstr "Гуам" - -#~ msgid "Guatemala" -#~ msgstr "Гватемала" - -#~ msgid "Guayaquil" -#~ msgstr "Гуаякиль" - -#~ msgid "Guernsey" -#~ msgstr "Гернси" - -#~ msgid "Guyana" -#~ msgstr "Гайана" - -#~ msgid "Halifax" -#~ msgstr "Галифакс" - -#~ msgid "Harare" -#~ msgstr "Хараре" - -#~ msgid "Harbin" -#~ msgstr "Харбин" - -#~ msgid "Havana" -#~ msgstr "Гавана" - -#~ msgid "Hawaii" -#~ msgstr "Гавайи" - -#~ msgid "Hebron" -#~ msgstr "Хеврон" - -#~ msgid "Helsinki" -#~ msgstr "Хельсинки" - -#~ msgid "Hermosillo" -#~ msgstr "Эрмосильо" - -#~ msgid "Ho_Chi_Minh" -#~ msgstr "Хо_Чи_Мин" - -#~ msgid "Hobart" -#~ msgstr "Хобарт" - -#~ msgid "Hong_Kong" -#~ msgstr "Гонконг" - -#~ msgid "Honolulu" -#~ msgstr "Гонолулу" - -#~ msgid "Hovd" -#~ msgstr "Ховд" - -#~ msgid "Indian" -#~ msgstr "Индиана" - -#~ msgid "Indiana" -#~ msgstr "Индианан" - -#~ msgid "Indiana-Starke" -#~ msgstr "Индиана-Старке" - -#~ msgid "Indianapolis" -#~ msgstr "Индианаполис" - -#~ msgid "Inuvik" -#~ msgstr "Инувик" - -#~ msgid "Iqaluit" -#~ msgstr "Икалуит" - -#~ msgid "Irkutsk" -#~ msgstr "Иркутск" - -#~ msgid "Isle_of_Man" -#~ msgstr "Остров Мэн" - -#~ msgid "Istanbul" -#~ msgstr "Стамбул" - -#~ msgid "Jakarta" -#~ msgstr "Джакарта" - -#~ msgid "Jamaica" -#~ msgstr "Ямайка" - -#~ msgid "Jan_Mayen" -#~ msgstr "Ян_Майен" - -#~ msgid "Jayapura" -#~ msgstr "Джаяпура" - -#~ msgid "Jersey" -#~ msgstr "Джерси" - -#~ msgid "Jerusalem" -#~ msgstr "Иерусалим" - -#~ msgid "Johannesburg" -#~ msgstr "Йоханнесбург" - -#~ msgid "Johnston" -#~ msgstr "Джонстон" - -#~ msgid "Juba" -#~ msgstr "Джуба" - -#~ msgid "Jujuy" -#~ msgstr "Жужуй" - -#~ msgid "Juneau" -#~ msgstr "Джуно" - -#~ msgid "Kabul" -#~ msgstr "Кабул" - -#~ msgid "Kaliningrad" -#~ msgstr "Калининград" - -#~ msgid "Kamchatka" -#~ msgstr "Камчатка" - -#~ msgid "Kampala" -#~ msgstr "Кампала" - -#~ msgid "Kanton" -#~ msgstr "Кантон" - -#~ msgid "Karachi" -#~ msgstr "Карачи" - -#~ msgid "Kashgar" -#~ msgstr "Кашгар" - -#~ msgid "Kathmandu" -#~ msgstr "Катманду" - -#~ msgid "Katmandu" -#~ msgstr "Катманду" - -#~ msgid "Kerguelen" -#~ msgstr "Кергелен" - -#~ msgid "Khandyga" -#~ msgstr "Хандыга" - -#~ msgid "Khartoum" -#~ msgstr "Хартум" - -#~ msgid "Kiev" -#~ msgstr "Киев" - -#~ msgid "Kigali" -#~ msgstr "Кигали" - -#~ msgid "Kinshasa" -#~ msgstr "Киншаса" - -#~ msgid "Kiritimati" -#~ msgstr "Киритимати" - -#~ msgid "Kirov" -#~ msgstr "Киров" - -#~ msgid "Knox" -#~ msgstr "Ноксвилл" - -#~ msgid "Knox_IN" -#~ msgstr "Нокс_IN" - -#~ msgid "Kolkata" -#~ msgstr "Калькутта" - -#~ msgid "Kralendijk" -#~ msgstr "Кралендейк" - -#~ msgid "Krasnoyarsk" -#~ msgstr "Красноярск" - -#~ msgid "Kuala_Lumpur" -#~ msgstr "Куала-Лумпур" - -#~ msgid "Kuching" -#~ msgstr "Кучинг" - -#~ msgid "Kuwait" -#~ msgstr "Кувейт" - -#~ msgid "Kwajalein" -#~ msgstr "Кваджалейн" - -#~ msgid "Kyiv" -#~ msgstr "Киев" - -#~ msgid "LHI" -#~ msgstr "Лхи" - -#~ msgid "La_Paz" -#~ msgstr "Ла_Пас" - -#~ msgid "La_Rioja" -#~ msgstr "Риоха" - -#~ msgid "Lagos" -#~ msgstr "Лагос" - -#~ msgid "Libreville" -#~ msgstr "Либревиль" - -#~ msgid "Lima" -#~ msgstr "Лима" - -#~ msgid "Lindeman" -#~ msgstr "Линдеман" - -#~ msgid "Lisbon" -#~ msgstr "Лиссабон" - -#~ msgid "Ljubljana" -#~ msgstr "Любляна" - -#~ msgid "Lome" -#~ msgstr "Ломе" - -#~ msgid "London" -#~ msgstr "Лондон" - -#~ msgid "Longyearbyen" -#~ msgstr "Лонгйир" - -#~ msgid "Lord_Howe" -#~ msgstr "Лорд_Хау" - -#~ msgid "Los_Angeles" -#~ msgstr "Лос-Анджелес" - -#~ msgid "Louisville" -#~ msgstr "Луисвилл" - -#~ msgid "Lower_Princes" -#~ msgstr "Лоуэр-Принс-Куотер" - -#~ msgid "Luanda" -#~ msgstr "Луанда" - -#~ msgid "Lubumbashi" -#~ msgstr "Лубумбаши" - -#~ msgid "Lusaka" -#~ msgstr "Лусака" - -#~ msgid "Luxembourg" -#~ msgstr "Люксембург" - -#~ msgid "Macao" -#~ msgstr "Макао" - -#~ msgid "Macau" -#~ msgstr "Макао" - -#~ msgid "Maceio" -#~ msgstr "Масейо" - -#~ msgid "Macquarie" -#~ msgstr "Маккуори" - -#~ msgid "Madeira" -#~ msgstr "Мадейра" - -#~ msgid "Madrid" -#~ msgstr "Мадрид" - -#~ msgid "Magadan" -#~ msgstr "Магадан" - -#~ msgid "Mahe" -#~ msgstr "Маэ" - -#~ msgid "Majuro" -#~ msgstr "Маджуро" - -#~ msgid "Makassar" -#~ msgstr "Макассар" - -#~ msgid "Malabo" -#~ msgstr "Малабо" - -#~ msgid "Maldives" -#~ msgstr "Мальдивы" - -#~ msgid "Malta" -#~ msgstr "Мальта" - -#~ msgid "Managua" -#~ msgstr "Манагуа" - -#~ msgid "Manaus" -#~ msgstr "Манаус" - -#~ msgid "Manila" -#~ msgstr "Манила" - -#~ msgid "Maputo" -#~ msgstr "Мапуту" - -#~ msgid "Marengo" -#~ msgstr "Маренго" - -#~ msgid "Mariehamn" -#~ msgstr "Мариехамн" - -#~ msgid "Marigot" -#~ msgstr "Мариго" - -#~ msgid "Marquesas" -#~ msgstr "Маркизские острова" - -#~ msgid "Martinique" -#~ msgstr "Мартиника" - -#~ msgid "Maseru" -#~ msgstr "Масеру" - -#~ msgid "Matamoros" -#~ msgstr "Матаморос" - -#~ msgid "Mauritius" -#~ msgstr "Маврикий" - -#~ msgid "Mawson" -#~ msgstr "Моусон" - -#~ msgid "Mayotte" -#~ msgstr "Майотта" - -#~ msgid "Mazatlan" -#~ msgstr "Масатлан" - -#~ msgid "Mbabane" -#~ msgstr "Мбабане" - -#~ msgid "McMurdo" -#~ msgstr "МакМердо" - -#~ msgid "Melbourne" -#~ msgstr "Мельбурн" - -#~ msgid "Mendoza" -#~ msgstr "Мендоса" - -#~ msgid "Menominee" -#~ msgstr "Меномини" - -#~ msgid "Merida" -#~ msgstr "Мерида" - -#~ msgid "Metlakatla" -#~ msgstr "Метлакатла" - -#~ msgid "Mexico" -#~ msgstr "Мексика" - -#~ msgid "Mexico_City" -#~ msgstr "Мехико" - -#~ msgid "Michigan" -#~ msgstr "Мичиган" - -#~ msgid "Midway" -#~ msgstr "Мидуэй" - -#~ msgid "Minsk" -#~ msgstr "Минск" - -#~ msgid "Minutes" -#~ msgstr "Минуты" - -#~ msgid "Miquelon" -#~ msgstr "Микелон" - -#~ msgid "Mogadishu" -#~ msgstr "Могадишо" - -#~ msgid "Monaco" -#~ msgstr "Монако" - -#~ msgid "Moncton" -#~ msgstr "Монктон" - -#~ msgid "Monrovia" -#~ msgstr "Монровия" - -#~ msgid "Monterrey" -#~ msgstr "Монтеррей" - -#~ msgid "Montevideo" -#~ msgstr "Монтевидео" - -#~ msgid "Monticello" -#~ msgstr "Монтиселло" - -#~ msgid "Montreal" -#~ msgstr "Монреаль" - -#~ msgid "Montserrat" -#~ msgstr "Монтсеррат" - -#~ msgid "Moscow" -#~ msgstr "Москва" - -#~ msgid "Mountain" -#~ msgstr "Маунтин-Вью" - -#~ msgid "Muscat" -#~ msgstr "Мускат" - -#~ msgid "NSW" -#~ msgstr "Новый Южный Уэльс" - -#~ msgid "Nairobi" -#~ msgstr "Найроби" - -#~ msgid "Nassau" -#~ msgstr "Нассау" - -#~ msgid "Nauru" -#~ msgstr "Науру" - -#~ msgid "Ndjamena" -#~ msgstr "Нджамена" - -#~ msgid "New_Salem" -#~ msgstr "Нью-Салем" - -#~ msgid "New_York" -#~ msgstr "Нью-Йорк" - -#~ msgid "Newfoundland" -#~ msgstr "Ньюфаундленд" - -#~ msgid "Niamey" -#~ msgstr "Ниамей" - -#~ msgid "Nicosia" -#~ msgstr "Никосия" - -#~ msgid "Nipigon" -#~ msgstr "Нипигон" - -#~ msgid "Niue" -#~ msgstr "Ниуэ" - -#~ msgid "Norfolk" -#~ msgstr "Норфолк" - -#~ msgid "Noronha" -#~ msgstr "Норонья" - -#~ msgid "North" -#~ msgstr "Север" - -#~ msgid "North_Dokota" -#~ msgstr "Северная Докота" - -#~ msgid "Nouakchott" -#~ msgstr "Нуакшот" - -#~ msgid "Noumea" -#~ msgstr "Нумеа" - -#~ msgid "Novokuznetsk" -#~ msgstr "Новокузнецк" - -#~ msgid "Novosibirsk" -#~ msgstr "Новосибирск" - -#~ msgid "Nuuk" -#~ msgstr "Нуук" - -#~ msgid "OK" -#~ msgstr "OK" - -#~ msgid "Ojinaga" -#~ msgstr "Охинага" - -#~ msgid "Omsk" -#~ msgstr "Омск" - -#~ msgid "Oral" -#~ msgstr "Уральск" - -#~ msgid "Oslo" -#~ msgstr "Осло" - -#~ msgid "Ouagadougou" -#~ msgstr "Уагадугу" - -#~ msgid "Pacific" -#~ msgstr "Тихий океан" - -#~ msgid "Pago_Pago" -#~ msgstr "Паго_Паго" - -#~ msgid "Palau" -#~ msgstr "Палау" - -#~ msgid "Palmer" -#~ msgstr "Палмер" - -#~ msgid "Panama" -#~ msgstr "Панама" - -#~ msgid "Pangnirtung" -#~ msgstr "Пангниртунг" - -#~ msgid "Paramaribo" -#~ msgstr "Парамарибо" - -#~ msgid "Paris" -#~ msgstr "Париж" - -#~ msgid "Perth" -#~ msgstr "Перт" - -#~ msgid "Petersburg" -#~ msgstr "Петербург" - -#~ msgid "Phnom_Penh" -#~ msgstr "Пномпень" - -#~ msgid "Phoenix" -#~ msgstr "Феникс" - -#~ msgid "Pitcairn" -#~ msgstr "Питкэрн" - -#~ msgid "Podgorica" -#~ msgstr "Подгорица" - -#~ msgid "Pohnpei" -#~ msgstr "Понпеи" - -#~ msgid "Ponape" -#~ msgstr "Понапе" - -#~ msgid "Pontianak" -#~ msgstr "Понтианак" - -#~ msgid "Port-au-Prince" -#~ msgstr "Порт-о-Пренс" - -#~ msgid "Port_Moresby" -#~ msgstr "Порт_Морсби" - -#~ msgid "Port_of_Spain" -#~ msgstr "Порт-оф-Спейн" - -#~ msgid "Porto-Novo" -#~ msgstr "Порто-Ново" - -#~ msgid "Porto_Acre" -#~ msgstr "Порту_Акр" - -#~ msgid "Porto_Velho" -#~ msgstr "Порту-Велью" - -#~ msgid "Prague" -#~ msgstr "Прага" - -#~ msgid "Puerto_Rico" -#~ msgstr "Пуэрто-Рико" - -#~ msgid "Punta_Arenas" -#~ msgstr "Пунта_Аренас" - -#~ msgid "Pyongyang" -#~ msgstr "Пхеньян" - -#~ msgid "Qatar" -#~ msgstr "Катар" - -#~ msgid "Qostanay" -#~ msgstr "Костанай" - -#~ msgid "Queensland" -#~ msgstr "Квинсленд" - -#~ msgid "Qyzylorda" -#~ msgstr "Кызылорда" - -#~ msgid "Rainy_River" -#~ msgstr "Рейни-Ривер" - -#~ msgid "Rangoon" -#~ msgstr "Рангун" - -#~ msgid "Rankin_Inlet" -#~ msgstr "Ранкин-Инлет" - -#~ msgid "Rarotonga" -#~ msgstr "Раротонга" - -#~ msgid "Recife" -#~ msgstr "Ресифи" - -#~ msgid "Regina" -#~ msgstr "Реджайна" - -#~ msgid "Resolute" -#~ msgstr "Резольют" - -#~ msgid "Reunion" -#~ msgstr "Воссоединение" - -#~ msgid "Reykjavik" -#~ msgstr "Рейкьявик" - -#~ msgid "Riga" -#~ msgstr "Рига" - -#~ msgid "Rio_Branco" -#~ msgstr "Рио_Бранко" - -#~ msgid "Rio_Gallegos" -#~ msgstr "Рио-Гальегос" - -#~ msgid "Riyadh" -#~ msgstr "Эр-Рияд" - -#~ msgid "Rome" -#~ msgstr "Рим" - -#~ msgid "Rosario" -#~ msgstr "Росарио" - -#~ msgid "Rothera" -#~ msgstr "Ротера" - -#~ msgid "Saigon" -#~ msgstr "Сайгон" - -#~ msgid "Saipan" -#~ msgstr "Сайпан" - -#~ msgid "Sakhalin" -#~ msgstr "Сахалин" - -#~ msgid "Salta" -#~ msgstr "Сальта" - -#~ msgid "Samara" -#~ msgstr "Самара" - -#~ msgid "Samarkand" -#~ msgstr "Самарканд" - -#~ msgid "Samoa" -#~ msgstr "Самоа" - -#~ msgid "San_Juan" -#~ msgstr "Сан-Хуан" - -#~ msgid "San_Luis" -#~ msgstr "Сан-Луис" - -#~ msgid "San_Marino" -#~ msgstr "Сан Марино" - -#~ msgid "Santa_Isabel" -#~ msgstr "Санта_Изабель" - -#~ msgid "Santarem" -#~ msgstr "Сантарен" - -#~ msgid "Santiago" -#~ msgstr "Сантьяго" - -#~ msgid "Santo_Domingo" -#~ msgstr "Санто-Доминго" - -#~ msgid "Sao_Paulo" -#~ msgstr "Сан-Паулу" - -#~ msgid "Sao_Tome" -#~ msgstr "Сан-Томе" - -#~ msgid "Sarajevo" -#~ msgstr "Сараево" - -#~ msgid "Saratov" -#~ msgstr "Саратов" - -#~ msgid "Saskatchewan" -#~ msgstr "Саскачеван" - -#~ msgid "Scoresbysund" -#~ msgstr "Скорсби" - -#~ msgid "Seoul" -#~ msgstr "Сеул" - -#~ msgid "Shanghai" -#~ msgstr "Шанхай" - -#~ msgid "Shiprock" -#~ msgstr "Шипрок" - -#~ msgid "Simferopol" -#~ msgstr "Симферополь" - -#~ msgid "Singapore" -#~ msgstr "Сингапур" - -#~ msgid "Sitka" -#~ msgstr "Ситка" - -#~ msgid "Skopje" -#~ msgstr "Скопье" - -#~ msgid "Sofia" -#~ msgstr "София" - -#~ msgid "South" -#~ msgstr "Саутф" - -#~ msgid "South_Georgia" -#~ msgstr "Южная Грузия" - -#~ msgid "South_Pole" -#~ msgstr "Южный полюс" - -#~ msgid "Srednekolymsk" -#~ msgstr "Среднеколымск" - -#~ msgid "St_Barthelemy" -#~ msgstr "Святой Бартелеми" - -#~ msgid "St_Helena" -#~ msgstr "Сент-Хелина" - -#~ msgid "St_Johns" -#~ msgstr "Сент-Джонс" - -#~ msgid "St_Kitts" -#~ msgstr "Сент-Китс" - -#~ msgid "St_Lucia" -#~ msgstr "Святая Люсия" - -#~ msgid "St_Thomas" -#~ msgstr "Сент-Томас" - -#~ msgid "St_Vincent" -#~ msgstr "Сент-Винсент" - -#~ msgid "Stanley" -#~ msgstr "Стэнли" - -#~ msgid "Stockholm" -#~ msgstr "Стокгольм" - -#~ msgid "Swift_Current" -#~ msgstr "Суифт-Каррент" - -#~ msgid "Sydney" -#~ msgstr "Сидней" - -#~ msgid "Syowa" -#~ msgstr "Сёва" - -#~ msgid "Tahiti" -#~ msgstr "Таити" - -#~ msgid "Taipei" -#~ msgstr "Тайбэй" - -#~ msgid "Tallinn" -#~ msgstr "Таллинн" - -#~ msgid "Tarawa" -#~ msgstr "Тарава" - -#~ msgid "Tashkent" -#~ msgstr "Ташкент" - -#~ msgid "Tasmania" -#~ msgstr "Тасмания" - -#~ msgid "Tbilisi" -#~ msgstr "Тбилиси" - -#~ msgid "Tegucigalpa" -#~ msgstr "Тегусигальпа" - -#~ msgid "Tehran" -#~ msgstr "Тегеран" - -#~ msgid "Tel_Aviv" -#~ msgstr "Тель-Авив" - -#~ msgid "Tell_City" -#~ msgstr "Телл-Сити" - -#~ msgid "Thimbu" -#~ msgstr "Тимбу" - -#~ msgid "Thimphu" -#~ msgstr "Тхимпху" - -#~ msgid "Thule" -#~ msgstr "Туле" - -#~ msgid "Thunder_Bay" -#~ msgstr "Тандер-Бей" - -#~ msgid "Tijuana" -#~ msgstr "Тихуана" - -#~ msgid "Timbuktu" -#~ msgstr "Тимбукту" - -#~ msgid "Tirane" -#~ msgstr "Тиран" - -#~ msgid "Tiraspol" -#~ msgstr "Тирасполь" - -#~ msgid "Tokyo" -#~ msgstr "Токио" - -#~ msgid "Tomsk" -#~ msgstr "Томск" - -#~ msgid "Tongatapu" -#~ msgstr "Тонгатапу" - -#~ msgid "Toronto" -#~ msgstr "Торонто" - -#~ msgid "Tortola" -#~ msgstr "Тортола" - -#~ msgid "Tripoli" -#~ msgstr "Триполи" - -#~ msgid "Troll" -#~ msgstr "Тролль" - -#~ msgid "Truk" -#~ msgstr "Трук" - -#~ msgid "Tucuman" -#~ msgstr "Тукуман" - -#~ msgid "Tunis" -#~ msgstr "Тунис" - -#~ msgid "US" -#~ msgstr "США" - -#~ msgid "Ujung_Pandang" -#~ msgstr "Уджунг_Панданг" - -#~ msgid "Ulaanbaatar" -#~ msgstr "Улан-Батор" - -#~ msgid "Ulan_Bator" -#~ msgstr "Улан_Батор" - -#~ msgid "Ulyanovsk" -#~ msgstr "Ульяновск" - -#~ msgid "Universal" -#~ msgstr "Юнивёрсал-Сити" - -#~ msgid "Urumqi" -#~ msgstr "Урумчи" - -#~ msgid "Ushuaia" -#~ msgstr "Ушуая" - -#~ msgid "Ust-Nera" -#~ msgstr "Усть-Нера" - -#~ msgid "Uzhgorod" -#~ msgstr "Ужгород" - -#~ msgid "Vaduz" -#~ msgstr "Вадуц" - -#~ msgid "Vancouver" -#~ msgstr "Ванкувер" - -#~ msgid "Vatican" -#~ msgstr "Ватикан" - -#~ msgid "Vevay" -#~ msgstr "Вевей" - -#~ msgid "Victoria" -#~ msgstr "Виктория" - -#~ msgid "Vienna" -#~ msgstr "Вена" - -#~ msgid "Vientiane" -#~ msgstr "Вьентьян" - -#~ msgid "Vilnius" -#~ msgstr "Вильнюс" - -#~ msgid "Vincennes" -#~ msgstr "Венсен" - -#~ msgid "Virgin" -#~ msgstr "Виргин" - -#~ msgid "Vladivostok" -#~ msgstr "Владивосток" - -#~ msgid "Volgograd" -#~ msgstr "Волгоград" - -#~ msgid "Vostok" -#~ msgstr "Восток" - -#~ msgid "Wake" -#~ msgstr "Уэйко" - -#~ msgid "Wallis" -#~ msgstr "Уоллис" - -#~ msgid "Warsaw" -#~ msgstr "Варшава" - -#~ msgid "West" -#~ msgstr "Запад" - -#~ msgid "Whitehorse" -#~ msgstr "Уайтхорс" - -#~ msgid "Winamac" -#~ msgstr "Винамаке" - -#~ msgid "Windhoek" -#~ msgstr "Виндхук" - -#~ msgid "Winnipeg" -#~ msgstr "Виннипег" - -#~ msgid "Yakutat" -#~ msgstr "Якутат" - -#~ msgid "Yakutsk" -#~ msgstr "Якутск" - -#~ msgid "Yancowinna" -#~ msgstr "Янковина" - -#~ msgid "Yangon" -#~ msgstr "Янгон" - -#~ msgid "Yap" -#~ msgstr "Яп" - -#~ msgid "Yekaterinburg" -#~ msgstr "Екатеринбург" - -#~ msgid "Yellowknife" -#~ msgstr "Йеллоунайф" - -#~ msgid "Yerevan" -#~ msgstr "Ереван" - -#~ msgid "Yukon" -#~ msgstr "Юкон" - -#~ msgid "Zagreb" -#~ msgstr "Загреб" - -#~ msgid "Zaporozhye" -#~ msgstr "Запорожье" - -#~ msgid "Zulu" -#~ msgstr "Зулу" - -#~ msgid "Zurich" -#~ msgstr "Цюрих" - -msgid "" -"Attention! The selected partition will be reduced and the next new " -"partition will be created. The data will be saved in the selected " -"partition. The new partition will be formatted." msgstr "" -"Внимание! Выбранный раздел будет уменьшен и будет создан следующий " -"новый раздел. На выбранном разделе данные будут сохранены. Новый раздел " -"будет отформатирован." - - -msgid "Selecting software modules to install from the repository. Internet access is required" -msgstr "Выбор модулей программного обеспечения для установки из репозитория. Требуется доступ в Интернет" \ No newline at end of file +"Позволяет загрузку системы для бездисковых и обычных рабочих станций через " +"локальную сеть или Интернет (даже используя \"слабые\" каналы связи)" diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index a1b596f..5bf8753 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -67,6 +67,7 @@ set(DEPENDFILES ../filesystems-format-list.csv ../groups-list.csv ../vfs-list.csv + ../applications-list.csv ../icons-builtin/install_type_custom_normal.png ../icons-builtin/install_type_data_only_normal.png ../icons-builtin/install_type_fast_normal.png @@ -136,6 +137,7 @@ set(SOURCE_FILES ubinstall-gtk-kernel.c ubinstall-gtk-language.c ubinstall-gtk-config-hub.c + ubinstall-gtk-startup-apps.c ubinstall-gtk.h ubl-strings.h ) diff --git a/source/ubinstall-gtk-bootloader.c b/source/ubinstall-gtk-bootloader.c index 4456896..ff47380 100644 --- a/source/ubinstall-gtk-bootloader.c +++ b/source/ubinstall-gtk-bootloader.c @@ -76,12 +76,12 @@ void on_bootloader_user_accept(GtkWidget *, bootloader_user_window *window){ } const char *password = gtk_entry_get_text(GTK_ENTRY(window->PasswordEntry)); if (yon_char_is_empty(username)){ - yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),_EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_highlight_incorrect(window->UsernameEntry); return; } if (yon_char_is_empty(password)){ - yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),_EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_highlight_incorrect(window->PasswordEntry); return; } @@ -161,103 +161,117 @@ void on_bootloader_user_add(GtkWidget *, main_window *widgets){ gtk_widget_show(window->Window); } -void on_menu_chosen(GtkWidget *, yon_menu_item *item){ - if (strcmp(item->target,DEFAULT_MENU_ITEM_LABEL)){ - gtk_entry_set_text(GTK_ENTRY(item->widgets->BootloadDefaultOSEntry),item->target); - } else { - gtk_entry_set_text(GTK_ENTRY(item->widgets->BootloadDefaultOSEntry),DEFAULT_MENU_ITEM_LABEL); +void yon_menu_open_submenu(yon_menu_window *window, yon_menu_item *item){ + int size; + config_str options = yon_config_load(get_menus_entry_command,&size); + textdomain("ublinux-init-grub-functions"); + for (int i=1;i"); + int name_size; + config_str name_parsed = yon_char_parse(_(parsed[1]),&name_size,">"); + if (yon_char_parsed_check_exist(id_parsed,id_size,item->id)==0){ + yon_menu_item *subitem = yon_menu_add_item(window,parsed[0],name_parsed[1],0); + gtk_list_box_insert(GTK_LIST_BOX(window->ChildrenListBox),subitem->MenuItemRow,-1); + gtk_widget_hide(subitem->ArrowImage); + + } + yon_char_parsed_free(id_parsed,id_size); + yon_char_parsed_free(name_parsed,name_size); + yon_char_parsed_free(parsed,parsed_size); } + textdomain(LocaleName); +} + +void yon_menu_ungrab(yon_menu_window *window){ GdkDisplay *display = gdk_display_get_default(); GdkSeat *seat = gdk_display_get_default_seat(display); - if (item->window->seat_grab) + if (window->seat_grab) gdk_seat_ungrab(seat); else - gtk_grab_remove(item->window->MenuWindow); - gtk_widget_destroy(item->window->MenuWindow); + gtk_grab_remove(window->MenuWindow); + gtk_widget_destroy(window->MenuWindow); +} + +void on_menu_chosen(GtkWidget *, GtkListBoxRow* row, yon_menu_window *window){ + yon_menu_item *item = g_object_get_data(G_OBJECT(row),"yon_menu_item"); + if (item->children){ + yon_menu_open_submenu(window,item); + gtk_widget_show(window->ChildrenRevealer); + gtk_widget_hide(window->ItemsRevealer); + gtk_revealer_set_reveal_child(GTK_REVEALER(window->ItemsRevealer),0); + gtk_revealer_set_reveal_child(GTK_REVEALER(window->ChildrenRevealer),1); + } else { + gtk_entry_set_text(GTK_ENTRY(window->target),item->name); + yon_config_register(GRUB_DEFAULT_parameter,GRUB_DEFAULT_parameter_command,item->id); + yon_menu_ungrab(window); + } } -void on_submenu_open(GtkWidget *,yon_menu_item *item){ - yon_menu_window *window = item->window; +yon_menu_item *yon_menu_add_item(yon_menu_window *target_menu,const char *id, const char *name, int children){ + yon_menu_item *item = yon_menu_item_new(); + item->window=target_menu; + item->children = children; + item->id = yon_char_new(id); + item->name = yon_char_new(name); + gtk_label_set_text(GTK_LABEL(item->MenuTextLabel),item->name); - dictionary *dact = NULL; - for_dictionaries(dact,item->children){ - yon_menu_item *child = yon_dictionary_get_data(dact,yon_menu_item*); - gtk_widget_hide(child->NextIconButton); - gtk_list_box_insert(GTK_LIST_BOX(window->ChildrenListBox),child->MenuItemBox,-1); - g_signal_connect(G_OBJECT(child->MenuButton),"clicked",G_CALLBACK(on_menu_chosen),dact->data); - - } - gtk_revealer_set_reveal_child(GTK_REVEALER(item->window->ItemsRevealer),0); - gtk_revealer_set_reveal_child(GTK_REVEALER(item->window->ChildrenRevealer),1); - gtk_box_set_child_packing(GTK_BOX(gtk_widget_get_parent(window->ChildrenRevealer)),window->ChildrenRevealer,1,1,0,GTK_PACK_START); - gtk_box_set_child_packing(GTK_BOX(gtk_widget_get_parent(window->ItemsRevealer)),window->ItemsRevealer,0,0,0,GTK_PACK_START); - yon_on_revealer_switched(window); - g_signal_connect(G_OBJECT(window->MenuWindow),"size-allocate",G_CALLBACK(on_menu_window_size_reallocated),window); + // g_signal_connect(G_OBJECT(item->MenuItemRow),"clicked",G_CALLBACK(on_menu_chosen),item); + + g_object_set_data(G_OBJECT(item->MenuItemRow),"yon_menu_item",item); + gtk_widget_show(item->MenuItemRow); + return item; } yon_menu_window *yon_menu_window_open(GtkWidget *, main_window *widgets){ yon_menu_window *window = yon_menu_window_new(); + window->target = widgets->BootloadDefaultOSEntry; + g_signal_connect(G_OBJECT(window->ItemsListBox),"row-activated",G_CALLBACK(on_menu_chosen),window); + g_signal_connect(G_OBJECT(window->ChildrenListBox),"row-activated",G_CALLBACK(on_menu_chosen),window); gtk_window_set_transient_for(GTK_WINDOW(window->MenuWindow),GTK_WINDOW(widgets->MainWindow)); { - yon_menu_item *item = yon_menu_item_new(); - item->widgets=widgets; - item->window=window; - item->children=NULL; - gtk_label_set_text(GTK_LABEL(item->MenuTextLabel),DEFAULT_MENU_ITEM_LABEL); - item->target=yon_char_new(DEFAULT_MENU_ITEM_LABEL); - gtk_list_box_insert(GTK_LIST_BOX(window->ItemsListBox),item->MenuItemBox,-1); - yon_dictionary_add_or_create_if_exists_with_data(window->menu_items,DEFAULT_MENU_ITEM_LABEL,item); - gtk_widget_show(item->MenuItemBox); - gtk_widget_hide(item->NextIconButton); - g_signal_connect(G_OBJECT(item->MenuButton),"clicked",G_CALLBACK(on_menu_chosen),item); + yon_menu_item *item = yon_menu_add_item(window,"",DEFAULT_MENU_ITEM_LABEL,0); + gtk_list_box_insert(GTK_LIST_BOX(window->ItemsListBox),item->MenuItemRow,-1); + gtk_widget_hide(item->ArrowImage); } + int size; - config_str parsed = yon_config_load(get_menus_entry_command,&size); - for (int i=0;i"); - dictionary * cur_item = NULL; - if (param_size==2&&(cur_item=yon_dictionary_get(&window->menu_items,parameter[0]))){ - yon_menu_item *item = (yon_menu_item*)cur_item->data; - yon_menu_item *item_child = yon_menu_item_new(); - gtk_widget_hide(item_child->NextIconButton); - gtk_label_set_text(GTK_LABEL(item_child->MenuTextLabel),parameter[1]); - item_child->target=yon_char_new(parsed[i]); - gtk_widget_show(item_child->MenuItemBox); - yon_dictionary_add_or_create_if_exists_with_data(item->children,parameter[1],item_child); - item_child->widgets=widgets; - item_child->window=window; - - } else { - yon_menu_item *item = yon_menu_item_new(); - item->widgets=widgets; - item->window=window; - gtk_label_set_text(GTK_LABEL(item->MenuTextLabel),parameter[0]); - item->target=yon_char_new(parsed[i]); - gtk_list_box_insert(GTK_LIST_BOX(window->ItemsListBox),item->MenuItemBox,-1); - yon_dictionary_add_or_create_if_exists_with_data(window->menu_items,parameter[0],item); - gtk_widget_show(item->MenuItemBox); - if (param_size==2){ - yon_menu_item *item_child = yon_menu_item_new(); - gtk_widget_show(item->NextIconButton); - gtk_widget_hide(item_child->NextIconButton); - gtk_label_set_text(GTK_LABEL(item_child->MenuTextLabel),parameter[1]); - item_child->target=yon_char_new(parsed[i]); - gtk_widget_show(item_child->MenuItemBox); - item_child->widgets=widgets; - item_child->window=window; - g_signal_connect(G_OBJECT(item->MenuButton),"clicked",G_CALLBACK(on_submenu_open),item); - yon_dictionary_add_or_create_if_exists_with_data(item->children,parameter[1],item_child); - } else { - gtk_widget_hide(item->NextIconButton); - g_signal_connect(G_OBJECT(item->MenuButton),"clicked",G_CALLBACK(on_menu_chosen),item); - } + config_str options = yon_config_load(get_menus_entry_command,&size); + GHashTable *created = g_hash_table_new(g_str_hash,g_str_equal); + textdomain("ublinux-init-grub-functions"); + for (int i=1;i"))){ + children_id[0]='\0'; + have_children=1; + } + char *children_name; + if ((children_name=strstr(parsed[1],">"))){ + children_name[0]='\0'; + have_children=1; } + if (!g_hash_table_contains(created,parsed[0])){ + g_hash_table_add(created,parsed[0]); + yon_menu_item *item = yon_menu_add_item(window,parsed[0],_(parsed[1]),have_children); + gtk_list_box_insert(GTK_LIST_BOX(window->ItemsListBox),item->MenuItemRow,-1); + if (!have_children){ + gtk_widget_hide(item->ArrowImage); + } + } } + textdomain(LocaleName); + g_hash_table_unref(created); + yon_char_parsed_free(options,size); gtk_window_set_transient_for(GTK_WINDOW(window->MenuWindow), GTK_WINDOW(widgets->MainWindow)); int x,y,width; @@ -285,14 +299,7 @@ gboolean on_menu_clicked(GtkWidget *, GdkEventButton *event, yon_menu_window *wi gtk_window_get_size(GTK_WINDOW(window->MenuWindow),&width,&height); gtk_window_get_position(GTK_WINDOW(window->MenuWindow),&x,&y); if (event->x_rooty_rootx_root>x+width||event->y_root>y+height){ - - GdkDisplay *display = gdk_display_get_default(); - GdkSeat *seat = gdk_display_get_default_seat(display); - if (window->seat_grab) - gdk_seat_ungrab(seat); - else - gtk_grab_remove(window->MenuWindow); - gtk_widget_destroy(window->MenuWindow); + yon_menu_ungrab(window); } return 1; @@ -359,11 +366,9 @@ void on_menu_window_size_reallocated(GtkWidget *self,GtkAllocation *,yon_menu_wi yon_menu_item *yon_menu_item_new(){ yon_menu_item *item = new(yon_menu_item); GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_menu_item); - item->MenuItemBox = yon_gtk_builder_get_widget(builder,"MenuItemBox"); - item->MenuButton = yon_gtk_builder_get_widget(builder,"MenuButton"); + item->MenuItemRow = yon_gtk_builder_get_widget(builder,"MenuItemRow"); item->MenuTextLabel = yon_gtk_builder_get_widget(builder,"MenuTextLabel"); - item->NextIconButton = yon_gtk_builder_get_widget(builder,"NextIconButton"); - item->children=NULL; + item->ArrowImage = yon_gtk_builder_get_widget(builder,"ArrowImage"); return item; } diff --git a/source/ubinstall-gtk-config-hub.c b/source/ubinstall-gtk-config-hub.c index 4e3d292..61415eb 100644 --- a/source/ubinstall-gtk-config-hub.c +++ b/source/ubinstall-gtk-config-hub.c @@ -27,6 +27,7 @@ int yon_configuration_hub_save(main_window *){ DOMAIN_admanger_parameter, KERNEL_BOOT_parameter, SERVICES_ENABLE_parameter, + AUTOEXEC_parameter, GRUB_SUPERUSERS_parameter, GRUB_TIMEOUT_parameter, GRUB_DEFAULT_parameter, @@ -178,6 +179,7 @@ void yon_configuration_hub_init(main_window *widgets){ yon_configuration_hub_add(GTK_FLOW_BOX(widgets->HubPersonalListBox),KEYBOARD_TAB_LABEL,"com.ublinux.ubl-settings-keyboard",YON_PAGE_KEYBOARD); yon_configuration_hub_add(GTK_FLOW_BOX(widgets->HubSystemListBox),USERS_TAB_LABEL,"com.ublinux.ubl-settings-usergroups",YON_PAGE_USERS); yon_configuration_hub_add(GTK_FLOW_BOX(widgets->HubSystemListBox),STARTUP_LABEL,"com.ublinux.ubl-settings-info",YON_PAGE_STARTUP); + yon_configuration_hub_add(GTK_FLOW_BOX(widgets->HubSystemListBox),STARTUP_APP_LABEL,"com.ublinux.ubl-settings-info",YON_PAGE_APP_STARTUP); yon_configuration_hub_add(GTK_FLOW_BOX(widgets->HubSystemListBox),BOOTLOADER_LABEL,"com.ublinux.ubl-settings-bootloader",YON_PAGE_BOOTLOADER); yon_configuration_hub_add(GTK_FLOW_BOX(widgets->HubSystemListBox),NETWORK_LABEL,"com.ublinux.ubl-settings-multiseat",YON_PAGE_NETWORK); yon_configuration_hub_add(GTK_FLOW_BOX(widgets->HubPackagesListBox),KERNEL_LABEL,kernel_icon_path,YON_PAGE_KERNEL); diff --git a/source/ubinstall-gtk-install-start.c b/source/ubinstall-gtk-install-start.c index 7f221a4..67d6f6f 100644 --- a/source/ubinstall-gtk-install-start.c +++ b/source/ubinstall-gtk-install-start.c @@ -13,4 +13,4 @@ void yon_quick_install(GtkWidget *self, main_window *widgets){ gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALLATION); yon_page_init(widgets,YON_PAGE_INSTALLATION); yon_page_update(widgets); -} \ No newline at end of file +} diff --git a/source/ubinstall-gtk-installation.c b/source/ubinstall-gtk-installation.c index c20e618..6cc2b52 100644 --- a/source/ubinstall-gtk-installation.c +++ b/source/ubinstall-gtk-installation.c @@ -313,7 +313,8 @@ void on_device_selection_changed(GtkWidget *self, main_window *widgets){ void yon_devices_setup(main_window *widgets){ GtkTreeIter iter; - if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->DevicesList),&iter)) return; + // if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->DevicesList),&iter)) return; + gtk_list_store_clear(widgets->DevicesList); int size; config_str parsed = NULL; parsed = yon_config_load(yon_debug_output("%s\n",get_devices_command),&size); @@ -463,7 +464,12 @@ void yon_install_init(main_window *widgets, enum YON_PAGES page){ yon_char_parsed_free(fs_types,size); char *parameter = config(part_fs_type_parameter); if (!yon_char_is_empty(parameter)){ - gtk_combo_box_set_active_id(GTK_COMBO_BOX(fs_type_combo),parameter); + if (!gtk_combo_box_set_active_id(GTK_COMBO_BOX(fs_type_combo),parameter)){ + if(gtk_combo_box_get_has_entry(GTK_COMBO_BOX(fs_type_combo))){ + gtk_entry_set_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(fs_type_combo))),parameter); + } + } + } else { gtk_combo_box_set_active(GTK_COMBO_BOX(fs_type_combo),0); } diff --git a/source/ubinstall-gtk-keyboard.c b/source/ubinstall-gtk-keyboard.c index cdf6cea..556083f 100644 --- a/source/ubinstall-gtk-keyboard.c +++ b/source/ubinstall-gtk-keyboard.c @@ -6,20 +6,42 @@ int yon_keyboard_save(main_window *widgets){ } else { GtkTreeIter iter; if (!gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->LayoutsList),&iter)){ - yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),yon_char_get_localised_from_lib(EMPTY_IMPORTANT_LABEL),5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),yon_char_get_localised_from_lib(_EMPTY_IMPORTANT_LABEL),5,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_highlight_incorrect(widgets->KeyboardLayoutTree); return 0; } + char *final = NULL; + for_iter(widgets->LayoutsList, &iter){ + char *target; + gtk_tree_model_get(GTK_TREE_MODEL(widgets->LayoutsList),&iter,0,&target,-1); + char *temp = yon_char_append_element(final,target,","); + if (!yon_char_is_empty(final)) free(final); + final = temp; + } + yon_config_register(xkblayout_parameter,xkblayout_parameter_command,final); + if(!yon_char_is_empty(final)) free(final); + } + const char *keyboard_model = gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->KeyboardModelCombo)); + if (!yon_char_is_empty(keyboard_model)){ + yon_config_register(xkbmodel_parameter,xkbmodel_parameter_command,(char*)keyboard_model); + } else { + yon_config_remove_by_key(xkbmodel_parameter); } + int numlock_active = gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->KeyboardNumLockCombo)); + char *numlock = NULL; + switch(numlock_active){ + case 1: numlock = "on"; + break; + case 2: numlock = "off"; + break; + } + yon_config_register(num_lock_boot_parameter,num_lock_boot_parameter_command,numlock); + on_options_save(NULL,widgets); return 1; } void yon_keyboard_init(main_window *widgets){ g_signal_handlers_block_by_func(G_OBJECT(widgets->KeyboardModelCombo),G_CALLBACK(on_model_changed),widgets); - g_signal_handlers_block_by_func(G_OBJECT(widgets->KeyboardLayoutChangingCombo),G_CALLBACK(on_options_save),widgets); - g_signal_handlers_block_by_func(G_OBJECT(widgets->KeyboardNumLockCombo),G_CALLBACK(on_num_lock_changed),widgets); - g_signal_handlers_block_by_func(G_OBJECT(widgets->KeyboardScrollLockSwitch),G_CALLBACK(on_scroll_lock_switch),widgets); - g_signal_handlers_block_by_func(G_OBJECT(widgets->KeyboardComposeSwitch),G_CALLBACK(on_compose_switch),widgets); g_signal_handlers_block_by_func(G_OBJECT(widgets->KeyboardDefaultLayoutsSwitch),G_CALLBACK(on_layout_default_toggled),widgets); gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(widgets->KeyboardModelCombo)); int size; @@ -89,8 +111,10 @@ void yon_keyboard_init(main_window *widgets){ { char *name = yon_config_get_by_key(num_lock_boot_parameter); if (name) { - if (!strcmp(name,"yes")) gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->KeyboardNumLockCombo),1); - else if (!strcmp(name,"no")) gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->KeyboardNumLockCombo),2); + if (!strcmp(name,"yes")||!strcmp(name,"yes")) gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->KeyboardNumLockCombo),1); + else if (!strcmp(name,"no")||!strcmp(name,"off")) gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->KeyboardNumLockCombo),2); + } else { + gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->KeyboardNumLockCombo),0); } } { @@ -118,22 +142,22 @@ void yon_keyboard_init(main_window *widgets){ } g_signal_handlers_unblock_by_func(G_OBJECT(widgets->KeyboardModelCombo),G_CALLBACK(on_model_changed),widgets); - g_signal_handlers_unblock_by_func(G_OBJECT(widgets->KeyboardNumLockCombo),G_CALLBACK(on_num_lock_changed),widgets); - g_signal_handlers_unblock_by_func(G_OBJECT(widgets->KeyboardLayoutChangingCombo),G_CALLBACK(on_options_save),widgets); - g_signal_handlers_unblock_by_func(G_OBJECT(widgets->KeyboardScrollLockSwitch),G_CALLBACK(on_scroll_lock_switch),widgets); - g_signal_handlers_unblock_by_func(G_OBJECT(widgets->KeyboardComposeSwitch),G_CALLBACK(on_compose_switch),widgets); g_signal_handlers_unblock_by_func(G_OBJECT(widgets->KeyboardDefaultLayoutsSwitch),G_CALLBACK(on_layout_default_toggled),widgets); } void on_layouts_accept(GtkWidget *self, layouts_window *window){ main_window *widgets = g_object_get_data(G_OBJECT(window->Window),"widgets"); - if (!yon_char_is_empty(window->parameters)){ - yon_config_register(xkblayout_parameter,xkblayout_parameter_command,window->parameters); - } else { - yon_config_remove_by_key(xkblayout_parameter); + gtk_list_store_clear(widgets->LayoutsList); + GtkTreeIter iter; + for_iter (window->list,&iter){ + int active; + char *target; + gtk_tree_model_get(GTK_TREE_MODEL(window->list),&iter,0,&target,3,&active,-1); + if (active){ + yon_layout_load(target,widgets); + } } on_subwindow_close(self); - yon_keyboard_init(widgets); } void on_layouts_chosen(GtkCellRenderer *, gchar *path, layouts_window *window){ @@ -244,7 +268,6 @@ void yon_layouts_remove(GtkTreeView *tree, GtkListStore *cur_list, main_window * if (yon_confirmation_dialog_call(widgets->MainWindow,data)!=GTK_RESPONSE_ACCEPT) return; gtk_list_store_remove(widgets->LayoutsList,&iter); } - yon_keyboard_init(widgets); } void on_system_layouts_remove(GtkWidget *, main_window *widgets){ @@ -356,30 +379,6 @@ void on_layout_move_down(GtkWidget *, main_window *widgets){ } } -void on_compose_switch(GtkWidget *,int status,main_window *widgets){ - switch(status){ - case 0:{ - yon_config_remove_element(xkboptions_parameter,"compose:rwin",","); - } break; - case 1:{ - yon_config_append_element(xkboptions_parameter,"compose:rwin",","); - } break; - } - yon_keyboard_init(widgets); -} - -void on_scroll_lock_switch(GtkWidget *,int status,main_window *widgets){ - switch(status){ - case 0:{ - yon_config_remove_element(xkboptions_parameter,"grp_led:scroll",","); - } break; - case 1:{ - yon_config_append_element(xkboptions_parameter,"grp_led:scroll",","); - } break; - } - yon_keyboard_init(widgets); -} - void on_layout_default_sensitive_toggled(GtkWidget *, int status, main_window *widgets){ gtk_widget_set_sensitive(widgets->KeyboardLayoutTree,!status); gtk_widget_set_sensitive(widgets->KeyboardLayoutAddButton,!status); @@ -426,18 +425,6 @@ void on_layout_selection_changed(GtkTreeView *self,main_window *widgets){ } -void on_num_lock_changed(GtkComboBox *self, main_window *){ - switch (gtk_combo_box_get_active(self)){ - case 0: - yon_config_remove_by_key(num_lock_boot_parameter); - break; - case 1: yon_config_register(num_lock_boot_parameter,num_lock_boot_parameter_command,"yes"); - break; - case 2:yon_config_register(num_lock_boot_parameter,num_lock_boot_parameter_command,"no"); - break; - } -} - void on_model_changed(GtkComboBoxText *self, main_window *widgets){ switch (gtk_combo_box_get_active(GTK_COMBO_BOX(self))){ case 0: @@ -452,14 +439,21 @@ void on_model_changed(GtkComboBoxText *self, main_window *widgets){ void on_options_save(GtkWidget *,main_window *widgets){ char *main_id = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->KeyboardLayoutChangingCombo)); - int parameter_parsed_size; - config_str parameter_parsed = NULL; - yon_char_parsed_add_or_create_if_exists(parameter_parsed,¶meter_parsed_size,!yon_char_is_empty(main_id)?main_id:""); - char *final_parameter = yon_char_parsed_to_string_full(parameter_parsed,parameter_parsed_size,","); - yon_char_parsed_free(parameter_parsed,parameter_parsed_size); - if (!yon_char_is_empty(final_parameter)){ - yon_config_register(xkboptions_parameter,xkboptions_parameter_command,final_parameter); - free(final_parameter); + char *options = yon_char_append_element(NULL,main_id,","); + if (gtk_switch_get_active(GTK_SWITCH(widgets->KeyboardComposeSwitch))){ + char *temp = yon_char_append_element(options,"compose:rwin",","); + if (!yon_char_is_empty(options)) free(options); + options = temp; + } + if (gtk_switch_get_active(GTK_SWITCH(widgets->KeyboardScrollLockSwitch))){ + char *temp = yon_char_append_element(options,"grp_led:scroll",","); + if (!yon_char_is_empty(options)) free(options); + options = temp; + + } + if (!yon_char_is_empty(options)){ + yon_config_register(xkboptions_parameter,xkboptions_parameter_command,options); + free(options); } else { yon_config_remove_by_key(xkboptions_parameter); } diff --git a/source/ubinstall-gtk-language.c b/source/ubinstall-gtk-language.c index ea077ec..a21942d 100644 --- a/source/ubinstall-gtk-language.c +++ b/source/ubinstall-gtk-language.c @@ -68,17 +68,25 @@ void on_locale_accept(GtkWidget *self, language_window *window){ } char *locale_str = config(locale_parameter); GtkTreeIter iter,itar; - for_iter (GTK_TREE_MODEL(window->LanguagesList),&iter){ - char *locale,*lang,*territory; - int status; - gtk_tree_model_get(GTK_TREE_MODEL(window->LanguagesList),&iter,0,&status,1,&locale,2,&lang,3,&territory,-1); - if (status){ - gtk_list_store_append(widgets->LanguageList,&itar); - gtk_list_store_set(widgets->LanguageList,&itar,1,lang,2,territory,3,locale,-1); - if (!yon_char_is_empty(locale_str)&&!strcmp(locale_str,locale)){ - gtk_list_store_set(widgets->LanguageList,&itar,0,1,-1); + int size; + config_str parsed = yon_char_parse(final,&size,","); + for (int i=0;iLanguageList),&itar){ + char *checktarget; + gtk_tree_model_get(GTK_TREE_MODEL(widgets->LanguageList),&itar,3,&checktarget,-1); + if (!strcmp(checktarget,parsed[i])){ + found = 1; + break; } } + if (found) continue; + char *locale_str = g_hash_table_lookup(main_config.languages,parsed[i]); + if (yon_char_is_empty(locale_str)) continue; + int parameter_size; + config_str parameter_parsed = yon_char_parse(locale_str,¶meter_size,"|"); + gtk_list_store_append(widgets->LanguageList,&iter); + gtk_list_store_set(widgets->LanguageList,&iter,1,parameter_parsed[1],2,parameter_parsed[2],3,parameter_parsed[0],-1); } if (yon_char_is_empty(locale_str)){ if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->LanguageList),&iter)){ @@ -104,8 +112,32 @@ gboolean yon_locale_window_unlock(GtkWidget *spinner){ return G_SOURCE_REMOVE; } +gboolean yon_locale_window_load(language_window *window){ + main_window *widgets = g_object_get_data(G_OBJECT(window->Window),"widgets"); + char *config_languages = NULL; + GtkTreeIter iter; + for_iter (widgets->LanguageList,&iter){ + char *code; + gtk_tree_model_get(GTK_TREE_MODEL(widgets->LanguageList),&iter,3,&code,-1); + char *temp = yon_char_append_element(config_languages,code,","); + if (!yon_char_is_empty(config_languages)) free(config_languages); + config_languages = temp; + } + if (!yon_char_is_empty(config_languages)) + gtk_entry_set_text(GTK_ENTRY(window->ManualEntry),config_languages); + for_iter (window->LanguagesList,&iter){ + char *code; + gtk_tree_model_get(GTK_TREE_MODEL(window->LanguagesList),&iter,1,&code,-1); + if (yon_char_check_element(config_languages,code,",")){ + gtk_list_store_set(window->LanguagesList,&iter,0,1,-1); + } + } + yon_locale_window_unlock(window->LoadingSpinner); + return G_SOURCE_REMOVE; +} + void *yon_locales_load_func(language_window *window){ - char *config_value = config(locale_parameter); + char *config_value = config(lang_parameter); int config_parsed_size; config_str config_parsed = NULL; if (config_value){ @@ -133,6 +165,7 @@ void *yon_locales_load_func(language_window *window){ g_idle_add((GSourceFunc)yon_locale_window_set_locales,data_struct); yon_char_parsed_free(parsed,parsed_size); } + g_idle_add((GSourceFunc)yon_locale_window_load,window); g_idle_add((GSourceFunc)yon_locale_window_unlock,window->LoadingSpinner); yon_char_parsed_free(config_parsed,config_parsed_size); g_thread_exit(NULL); @@ -159,6 +192,7 @@ language_window *yon_language_window_new(){ gtk_overlay_add_overlay(GTK_OVERLAY(window->LoadingOverlay),window->LoadingSpinner); g_thread_new("locales-thread",(GThreadFunc)yon_locales_load_func,window); + return window; } diff --git a/source/ubinstall-gtk-network.c b/source/ubinstall-gtk-network.c index e57eeda..1461e9b 100644 --- a/source/ubinstall-gtk-network.c +++ b/source/ubinstall-gtk-network.c @@ -152,7 +152,7 @@ int yon_network_save(main_window *widgets){ if (gtk_switch_get_active(GTK_SWITCH(widgets->NetworkDomainSwitch))){ const char *domain_name = gtk_entry_get_text(GTK_ENTRY(widgets->NetworkDomainNameEntry)); if (yon_char_is_empty(domain_name)){ - yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),_EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_highlight_incorrect(widgets->NetworkDomainNameEntry); return 0; } @@ -161,7 +161,7 @@ int yon_network_save(main_window *widgets){ if (!yon_char_is_empty(domain_name)) yon_config_register(DOMAIN_parameter,DOMAIN_parameter_command,(char*)domain_name); else yon_config_remove_by_key(DOMAIN_parameter); if ((!yon_char_is_empty(domain_admin)&&yon_char_is_empty(domain_password))||(yon_char_is_empty(domain_admin)&&!yon_char_is_empty(domain_password))){ - yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),_EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_highlight_incorrect(widgets->NetworkDomainAdminEntry); yon_ubl_status_highlight_incorrect(widgets->NetworkDomainPasswordEntry); return 0; @@ -200,7 +200,7 @@ int yon_network_save(main_window *widgets){ case 4: char *value = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->NetworkNTPEntry)); if (yon_char_is_empty(value)) { - yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),_EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_highlight_incorrect(widgets->NetworkNTPEntry); return 0; } @@ -219,7 +219,7 @@ int yon_network_save(main_window *widgets){ hostname = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->HotnameEntry)); } if (yon_char_is_empty(hostname)){ - yon_ubl_status_box_render(EMPTY_IMPORTANT_LABEL,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_box_render(_EMPTY_IMPORTANT_LABEL,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_highlight_incorrect(widgets->HotnameEntry); return 0; } diff --git a/source/ubinstall-gtk-page-switch.c b/source/ubinstall-gtk-page-switch.c index d3746d6..8536df3 100644 --- a/source/ubinstall-gtk-page-switch.c +++ b/source/ubinstall-gtk-page-switch.c @@ -18,7 +18,7 @@ enum YON_PAGES yon_page_get_next(main_window *widgets, enum YON_PAGES page){ case YON_PAGE_REGION: return YON_PAGE_CONFIG_HUB; break; case YON_PAGE_LANGUAGE: return YON_PAGE_CONFIG_HUB; break; case YON_PAGE_KEYBOARD: return YON_PAGE_CONFIG_HUB; break; - case YON_PAGE_USERS: return YON_PAGE_CONFIG_HUB; break; + case YON_PAGE_USERS: return YON_PAGE_CONFIG_HUB; break; case YON_PAGE_STARTUP: return YON_PAGE_CONFIG_HUB; break; case YON_PAGE_APP_STARTUP: return YON_PAGE_CONFIG_HUB; break; case YON_PAGE_BOOTLOADER: return YON_PAGE_CONFIG_HUB; break; @@ -29,15 +29,19 @@ enum YON_PAGES yon_page_get_next(main_window *widgets, enum YON_PAGES page){ case YON_PAGE_INSTALL_SAME_PARTITION: return YON_PAGE_OS_COMPONENTS; break; case YON_PAGE_INSTALL_ADVANCED: return YON_PAGE_OS_COMPONENTS; break; case YON_PAGE_INSTALL_RECOVERY: return yon_recovery_get_next(widgets); break; - case YON_PAGE_RECOVERY_GRUB_INSTALL: return main_config.configure_mode?YON_PAGE_INSTALLATION:YON_PAGE_INSTALLATION_BEGIN; break; - case YON_PAGE_RECOVERY_GRUB_UPDATE: return main_config.configure_mode?YON_PAGE_INSTALLATION:YON_PAGE_INSTALLATION_BEGIN; break; - case YON_PAGE_RECOVERY_OS_ONLY: return main_config.configure_mode?YON_PAGE_INSTALLATION:YON_PAGE_INSTALLATION_BEGIN; break; - case YON_PAGE_RECOVERY_USRDATA_ONLY: return main_config.configure_mode?YON_PAGE_INSTALLATION:YON_PAGE_INSTALLATION_BEGIN; break; - case YON_PAGE_INSTALLATION: break; - case YON_PAGE_CONFIGURE_SAVE: break; + case YON_PAGE_RECOVERY_GRUB_INSTALL: return main_config.configure_mode?YON_PAGE_INSTALLATION:YON_PAGE_RECOVERY_BEGIN; break; + case YON_PAGE_RECOVERY_GRUB_UPDATE: return main_config.configure_mode?YON_PAGE_INSTALLATION:YON_PAGE_RECOVERY_BEGIN; break; + case YON_PAGE_RECOVERY_OS_ONLY: return main_config.configure_mode?YON_PAGE_INSTALLATION:YON_PAGE_RECOVERY_BEGIN; break; + case YON_PAGE_RECOVERY_USRDATA_ONLY: return main_config.configure_mode?YON_PAGE_INSTALLATION:YON_PAGE_RECOVERY_BEGIN; break; + case YON_PAGE_RECOVERY_BEGIN: main_config.save_configured = 1; return YON_PAGE_RECOVERY_PROCESS; break; + case YON_PAGE_RECOVERY_PROCESS: return YON_PAGE_RECOVERY_COMPLETION; break; + case YON_PAGE_INSTALLATION: return YON_PAGE_COMPLETION; break; + case YON_PAGE_CONFIGURE_SAVE: + break; case YON_PAGE_COMPLETED: case YON_PAGE_INSTALL_ERROR: case YON_PAGE_CONFIGURE_END: + case YON_PAGE_RECOVERY_COMPLETION: case YON_PAGE_COMPLETION: on_reboot_accepted(widgets); gtk_main_quit(); @@ -123,20 +127,31 @@ void yon_navigation_buttons_set_sensetiveness(main_window *widgets){ gtk_widget_set_sensitive(widgets->BackButton,0); gtk_widget_set_sensitive(widgets->CancelInstallButton,1); break; + case YON_PAGE_RECOVERY_PROCESS: + gtk_widget_set_sensitive(widgets->NextButton,0); + gtk_widget_set_sensitive(widgets->BackButton,0); + gtk_widget_set_sensitive(widgets->CancelInstallButton,1); + break; case YON_PAGE_CONFIGURE_END: gtk_button_set_label(GTK_BUTTON(widgets->NextButton),SAVE_AND_EXIT_LABEL); gtk_button_set_label(GTK_BUTTON(widgets->CancelInstallButton),EXIT_LABEL); break; case YON_PAGE_COMPLETED: + case YON_PAGE_RECOVERY_COMPLETION: case YON_PAGE_INSTALL_ERROR: case YON_PAGE_CONFIGURE_SAVE: case YON_PAGE_COMPLETION: gtk_button_set_label(GTK_BUTTON(widgets->NextButton),RESTART_LABEL); gtk_widget_set_sensitive(widgets->BackButton,0); + gtk_widget_set_sensitive(widgets->CancelInstallButton,0); + gtk_widget_set_sensitive(widgets->NextButton,1); break; case YON_PAGE_SECTIONS: gtk_widget_show(widgets->SourceButton); + gtk_widget_set_sensitive(widgets->BackButton,1); + gtk_widget_set_sensitive(widgets->NextButton,1); + gtk_widget_set_sensitive(widgets->CancelInstallButton,1); break; default: gtk_widget_set_sensitive(widgets->BackButton,1); @@ -154,6 +169,7 @@ void yon_navigation_buttons_set_sensetiveness(main_window *widgets){ case YON_PAGE_KEYBOARD: case YON_PAGE_USERS: case YON_PAGE_STARTUP: + case YON_PAGE_APP_STARTUP: case YON_PAGE_LANGUAGE: case YON_PAGE_BOOTLOADER: case YON_PAGE_PACKAGES: @@ -209,6 +225,9 @@ int yon_page_save(main_window *widgets, enum YON_PAGES page){ case YON_PAGE_STARTUP: return yon_startup_save(widgets); break; + case YON_PAGE_APP_STARTUP: + return yon_startup_app_save(widgets); + break; case YON_PAGE_BOOTLOADER: return yon_bootloader_save(widgets); break; @@ -243,6 +262,7 @@ int yon_page_save(main_window *widgets, enum YON_PAGES page){ return yon_install_options_save(widgets->UserdataDevicesTree,widgets->UserdataSysSectionTree,"data_only",widgets); break; case YON_PAGE_INSTALLATION_BEGIN: + case YON_PAGE_RECOVERY_BEGIN: return yon_installation_start(widgets); break; case YON_PAGE_CONFIGURE_END: @@ -273,6 +293,7 @@ void yon_switch_page_render(main_window *widgets){ case YON_PAGE_RECOVERY_GRUB_UPDATE: case YON_PAGE_RECOVERY_OS_ONLY: case YON_PAGE_RECOVERY_USRDATA_ONLY: + case YON_PAGE_RECOVERY_BEGIN: page = 2; break; case YON_PAGE_CONFIG_HUB: @@ -292,8 +313,10 @@ void yon_switch_page_render(main_window *widgets){ page = 3; break; case YON_PAGE_INSTALLATION: + case YON_PAGE_RECOVERY_PROCESS: page = 4; break; + case YON_PAGE_RECOVERY_COMPLETION: case YON_PAGE_COMPLETED: case YON_PAGE_COMPLETION: case YON_PAGE_INSTALL_ERROR: @@ -395,6 +418,9 @@ void yon_page_init(main_window *widgets, enum YON_PAGES page){ case YON_PAGE_STARTUP: yon_startup_services_setup(widgets); break; + case YON_PAGE_APP_STARTUP: + yon_startup_apps_setup(widgets); + break; case YON_PAGE_BOOTLOADER: yon_bootloader_init(widgets); break; @@ -424,7 +450,6 @@ void yon_page_init(main_window *widgets, enum YON_PAGES page){ if (main_config.install_complete){ g_mutex_unlock(&main_config.install_mutex); g_thread_new("install_thread",(GThreadFunc)on_setup_system_configuration,widgets); - on_page_next_clicked(NULL,widgets); } else { g_mutex_unlock(&main_config.install_mutex); } @@ -453,33 +478,37 @@ void on_page_prev_clicked(GtkWidget *, main_window *widgets){ } void on_page_cancel_clicked(GtkWidget *, main_window *widgets){ - gtk_widget_hide(widgets->BackButton); - gtk_widget_hide(widgets->SourceButton); - gtk_widget_show(widgets->NextButton); - gtk_widget_show(widgets->StartScenarioButton); - gtk_widget_set_sensitive(widgets->CancelInstallButton,0); - gtk_widget_set_sensitive(widgets->BackButton,1); - gtk_widget_set_sensitive(widgets->NextButton,1); - gtk_widget_set_sensitive(widgets->ConfigurationModeMenuItem,1); - yon_page_update(widgets); if (main_config.install_thread){ dialog_confirmation_data *data = yon_confirmation_dialog_data_new(); data->action_text=INTERRUPT_TEXT_LABEL; data->title=WARNING_TITLE_LABEL; if (yon_confirmation_dialog_call(widgets->MainWindow,data)==GTK_RESPONSE_ACCEPT ){ - if (main_config.install_thread){ - gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_LICENCE); - on_page_prev_clicked(NULL,widgets); - gtk_widget_hide(gtk_widget_get_parent(widgets->InstallationProgress)); - gtk_widget_hide(gtk_widget_get_parent(widgets->PackageInstallationProgress)); - pthread_cancel((pthread_t)main_config.install_thread); - } + pthread_cancel((pthread_t)main_config.install_thread); } + } + // gtk_widget_hide(widgets->BackButton); + // gtk_widget_hide(widgets->SourceButton); + // gtk_widget_show(widgets->NextButton); + // gtk_widget_show(widgets->StartScenarioButton); + // gtk_widget_set_sensitive(widgets->CancelInstallButton,0); + // gtk_widget_set_sensitive(widgets->BackButton,1); + // gtk_widget_set_sensitive(widgets->NextButton,1); + // gtk_widget_set_sensitive(widgets->ConfigurationModeMenuItem,1); + // gtk_widget_show(widgets->NextButton); + // gtk_widget_show(widgets->BackButton); + gtk_button_set_label(GTK_BUTTON(widgets->NextButton),NEXT_LABEL); + GtkWidget *image = gtk_button_get_image(GTK_BUTTON(widgets->NextButton)); + gtk_image_set_from_icon_name(GTK_IMAGE(image),arrow_right_icon_path,GTK_ICON_SIZE_BUTTON); + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->LicenseAgreeRadio))){ + gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_SECTIONS); } else { - gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_LICENCE); - on_page_prev_clicked(NULL,widgets); + gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_WELCOME); } + yon_page_update(widgets); + main_config.save_done=0; + main_config.install_complete=0; + main_config.install_thread=0; } void on_additional_page_clicked(GtkWidget *, main_window *widgets){ diff --git a/source/ubinstall-gtk-region.c b/source/ubinstall-gtk-region.c index 84a7e81..1870f43 100644 --- a/source/ubinstall-gtk-region.c +++ b/source/ubinstall-gtk-region.c @@ -10,20 +10,11 @@ int yon_region_save(main_window *widgets){ yon_ubl_status_highlight_incorrect(widgets->ZoneCombo); return 0; } - char *languages = ""; - GtkTreeIter iter; - GtkTreeModel *model = GTK_TREE_MODEL(widgets->LanguagesFilter); - char *lang_code=NULL; - for_iter(model,&iter){ - gtk_tree_model_get(model,&iter,2,&lang_code,-1); - languages = yon_char_unite(languages,!yon_char_is_empty(languages)?",":"",lang_code,NULL); - } - if (yon_char_is_empty(languages)){ - yon_config_remove_by_key(locale_parameter); - } else { - yon_config_register(locale_parameter,locale_parameter_command,languages); - free(languages); - } + const char *region = gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->RegionCombo)); + const char *zone = gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->ZoneCombo)); + char *final = yon_char_unite(region,"/",zone,NULL); + yon_config_register(zone_parameter,zone_parameter_command,final); + free(final); return 1; } @@ -46,24 +37,6 @@ void on_region_changed(GtkComboBox *self, main_window *widgets){ void yon_region_init(main_window *widgets){ int size; config_str parsed = NULL; - int langsize; - config_str lang = default_langs(&langsize); - - GtkTreeIter iter; - gtk_list_store_clear(widgets->LanguagesList); - - config_str languages = yon_config_load(languages_command,&size); - - for (int i=0;iLanguagesList,&iter); - gtk_list_store_set(widgets->LanguagesList,&iter,0,0,1,parsed[0],2,parsed[1],3,parsed[2],-1); - } - yon_char_parsed_free(parsed,size); - if (lang) - yon_char_parsed_free(lang,langsize); - parsed = yon_dir_get_contents(zone_path,&size); for (int i=0;iRegionCombo),0); yon_char_parsed_free(parsed,size); - - gtk_tree_model_filter_set_visible_column(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter),0); - gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter)); - char *zone = yon_char_new(config(zone_parameter)); if (!yon_char_is_empty(zone)){ diff --git a/source/ubinstall-gtk-saving.c b/source/ubinstall-gtk-saving.c index bbb5591..13bfc11 100644 --- a/source/ubinstall-gtk-saving.c +++ b/source/ubinstall-gtk-saving.c @@ -38,7 +38,7 @@ void on_config_local_load(GtkWidget *,main_window *widgets){ if (!yon_char_is_empty(main_config.config_load_path)) free(main_config.config_load_path); main_config.config_load_path = yon_char_new("system"); yon_load_proceed(YON_CONFIG_LOCAL); - yon_page_init(widgets,gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook))); + // yon_page_init(widgets,gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook))); main_config.load_mode=YON_CONFIG_LOCAL; } @@ -50,23 +50,23 @@ void on_config_global_load(GtkWidget *,main_window *widgets){ if (!yon_char_is_empty(main_config.config_load_path)) free(main_config.config_load_path); main_config.config_load_path = yon_char_new("global"); yon_load_proceed(YON_CONFIG_GLOBAL); - yon_page_init(widgets,gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook))); + // yon_page_init(widgets,gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook))); main_config.load_mode=YON_CONFIG_GLOBAL; } -void on_config_custom_load(GtkWidget *,main_window *widgets){ +void on_config_custom_load(GtkWidget *,main_window *){ yon_load_proceed(YON_CONFIG_CUSTOM); - yon_page_init(widgets,gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook))); + // yon_page_init(widgets,gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook))); main_config.load_mode=YON_CONFIG_CUSTOM; } -void on_config_custom_load_last(GtkWidget *,main_window *widgets){ +void on_config_custom_load_last(GtkWidget *,main_window *){ yon_config_clean(); if (!yon_char_is_empty(config_get_default_command)) yon_config_load_config(YON_CONFIG_DEFAULT,config_get_default_command,NULL); char *command = config_get_command(main_config.config_load_path); yon_config_load_config(YON_CONFIG_CUSTOM,command,NULL); - yon_page_init(widgets,gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook))); + // yon_page_init(widgets,gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook))); main_config.load_mode=YON_CONFIG_CUSTOM; } @@ -89,9 +89,8 @@ void on_config_global_save(GtkWidget *,main_window *widgets){ gboolean on_install_success(main_window *widgets){ gtk_label_set_text(GTK_LABEL(widgets->InstallationLabel),""); - gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_COMPLETION); yon_config_restore(widgets); - yon_page_update(widgets); + on_page_next_clicked(NULL,widgets); return 0; } @@ -204,7 +203,7 @@ void *on_config_save(void *data){ g_mutex_unlock(&main_config.install_mutex); if ((!main_config.save_done)&&main_config.save_configured){ on_setup_system_configuration(widgets); - on_page_next_clicked(NULL,widgets); + // on_page_next_clicked(NULL,widgets); } } else { yon_launch("ubconfig --source system get /"); @@ -294,12 +293,12 @@ void *on_setup_system_configuration(void * data){ } if (!main_config.dry_run){ - char *parameter_string = yon_char_parsed_to_string(all_parameters,size," "); - char *command = set_user_config_command(parameter_string); - if (system(yon_debug_output("%s\n",command))){}; - yon_char_parsed_free(all_parameters,size); - free(command); - if (parameter_string) free(parameter_string); + char *parameter_string = yon_char_parsed_to_string(all_parameters,size," "); + char *command = set_user_config_command(parameter_string); + if (system(yon_debug_output("%s\n",command))){}; + yon_char_parsed_free(all_parameters,size); + free(command); + if (parameter_string) free(parameter_string); } else { yon_launch("ubconfig --source system get /"); } diff --git a/source/ubinstall-gtk-source.c b/source/ubinstall-gtk-source.c index eeb1957..dc4119c 100644 --- a/source/ubinstall-gtk-source.c +++ b/source/ubinstall-gtk-source.c @@ -90,6 +90,11 @@ void yon_source_update(source_window *window){ void on_source_add(GtkWidget *,source_window *window){ const char *path = gtk_widget_get_visible(window->PathEntry)?gtk_entry_get_text(GTK_ENTRY(window->PathEntry)):gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(window->DeviceCombo)); + if (yon_char_is_empty(path)){ + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),_EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(gtk_widget_get_visible(window->PathEntry)?window->PathEntry:window->DeviceCombo); + return; + } if (!yon_dictionary_get(&window->sources,(char*)path)){ yon_dictionary_add_or_create_if_exists_with_data(window->sources,yon_char_new(path),NULL); gtk_entry_set_text(GTK_ENTRY(window->PathEntry),""); @@ -170,6 +175,11 @@ void on_source_accept(GtkWidget *,source_window *window){ } break; case 1:{ char *cur = (char*)gtk_entry_get_text(GTK_ENTRY(element->PathEntry)); + if (yon_char_is_empty(cur)){ + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),_EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(element->PathEntry); + return; + } if (yon_char_check_element(sources_list,cur,",")){ yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),VALUE_REPEAT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_highlight_incorrect(element->DeviceCombo); @@ -200,22 +210,22 @@ void on_source_accept(GtkWidget *,source_window *window){ int size; config_str paths = NULL; dictionary *dict; - if (!window->sources) return; - for_dictionaries(dict,window->sources){ - if (yon_char_parsed_check_exist(paths,size,dict->key)>-1){ - yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),VALUE_REPEAT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + if (window->sources){ + for_dictionaries(dict,window->sources){ + if (yon_char_parsed_check_exist(paths,size,dict->key)>-1){ + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),VALUE_REPEAT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + return; + } + yon_char_parsed_add_or_create_if_exists(paths,&size,dict->key); + } + if (!size){ + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),_EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(window->PathEntry); return; } - yon_char_parsed_add_or_create_if_exists(paths,&size,dict->key); - } - if (!size){ - yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); - yon_ubl_status_highlight_incorrect(window->PathEntry); - return; } char *parameter_string = yon_char_parsed_to_string(paths,(int)size,","); - free(parameter_string); - on_subwindow_close(window->Window); + if (!yon_char_is_empty(parameter_string)) free(parameter_string); if (!main_config.configure_mode){ int size; @@ -229,6 +239,7 @@ void on_source_accept(GtkWidget *,source_window *window){ } } yon_dictionary_free_all(window->sources,NULL); + on_subwindow_close(window->Window); free(window); } diff --git a/source/ubinstall-gtk-startup-apps.c b/source/ubinstall-gtk-startup-apps.c new file mode 100644 index 0000000..dc82b88 --- /dev/null +++ b/source/ubinstall-gtk-startup-apps.c @@ -0,0 +1,214 @@ +#include "ubinstall-gtk.h" + +void on_srartup_apps_toggled(GtkWidget *, char *path, main_window *widgets){ + GtkTreeIter iter; + int status; + gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(widgets->StartupAppsList),&iter,path); + gtk_tree_model_get(GTK_TREE_MODEL(widgets->StartupAppsList),&iter,0,&status,-1); + gtk_list_store_set(widgets->StartupAppsList,&iter,0,!status,-1); +} + +void on_startup_apps_selection_changed(GtkWidget *,main_window *widgets){ + GtkTreeIter iter; + GtkTreeModel *model; + if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->StartupAppsTree)),&model,&iter)){ + int status; + gtk_tree_model_get(model,&iter,4,&status,-1); + if (status){ + gtk_widget_set_sensitive(widgets->StartupAppsEditButton,1); + gtk_widget_set_sensitive(widgets->StartupAppsRemoveButton,1); + return; + } + } + gtk_widget_set_sensitive(widgets->StartupAppsEditButton,0); + gtk_widget_set_sensitive(widgets->StartupAppsRemoveButton,0); +} + +void on_startup_apps_remove(GtkWidget *self,main_window *widgets){ + GtkTreeIter iter; + GtkTreeModel *model; + if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->StartupAppsTree)),&model,&iter)){ + char *unit; + int deletable; + gtk_tree_model_get(model,&iter,2,&unit,4,&deletable,-1); + if (!deletable) return; + dialog_confirmation_data *data = yon_confirmation_dialog_data_new(); + data->action_text = SERVICE_REMOVE_CONFIRMATION_LABEL(unit); + data->title = SERVICE_REMOVE_TITLE_LABEL; + if (yon_confirmation_dialog_call(self,data) == GTK_RESPONSE_ACCEPT){ + gtk_list_store_remove(widgets->StartupList,&iter); + } + } +} + +void yon_startup_apps_setup(main_window *widgets){ + GtkTreeIter iter; + if (!gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->StartupAppsList),&iter)){ + int size; + config_str apps = yon_resource_open_file(apps_list_path,&size); + for (int i=1;iStartupAppsList,&iter); + gtk_list_store_set(widgets->StartupAppsList,&iter,0,1,1,parsed[0],2,yon_char_return_if_exist(parsed[1],""),3,yon_char_return_if_exist(_(parsed[2]),""),-1); + } + } + } + char *startup = config(SERVICES_ENABLE_parameter); + if (!yon_char_is_empty(startup)){ + if (!strcmp(startup,"auto")){ + for_iter(GTK_TREE_MODEL(widgets->StartupAppsList),&iter){ + gtk_list_store_set(widgets->StartupAppsList,&iter,0,1,-1); + } + } else { + int parsed_size; + config_str parsed = yon_char_parse(startup,&parsed_size,","); + for_iter(GTK_TREE_MODEL(widgets->StartupAppsList),&iter){ + char *target; + gtk_tree_model_get(GTK_TREE_MODEL(widgets->StartupAppsList),&iter,2,&target,-1); + if (strstr(target,",")){ + int target_size; + config_str target_parsed = yon_char_parse(target,&target_size,","); + int found =0; + for (int i=0;i-1){ + found++; + parsed = yon_char_parsed_rip(parsed,&parsed_size,pos); + } + } + if (found == target_size){ + gtk_list_store_set(widgets->StartupAppsList,&iter,0,1,-1); + } else { + gtk_list_store_set(widgets->StartupAppsList,&iter,0,0,-1); + } + yon_char_parsed_free(target_parsed,target_size); + } else { + int pos = yon_char_parsed_check_exist(parsed,parsed_size,target); + if (pos>-1){ + gtk_list_store_set(widgets->StartupAppsList,&iter,0,1,-1); + parsed = yon_char_parsed_rip(parsed,&parsed_size,pos); + } else { + gtk_list_store_set(widgets->StartupAppsList,&iter,0,0,-1); + } + } + } + if (parsed_size&&parsed){ + for (int i=0;iStartupAppsList,&iter); + gtk_list_store_set(widgets->StartupAppsList,&iter,0,1,2,parsed[i],-1); + } + } + yon_char_parsed_free(parsed,parsed_size); + } + } +} + +void on_startup_app_add_accept(GtkWidget *self, main_window *widgets){ + startup_service_window *window = g_object_get_data(G_OBJECT(self),"startup_service_window"); + const char *unit = gtk_entry_get_text(GTK_ENTRY(window->UnitEntry)); + const char *app = gtk_entry_get_text(GTK_ENTRY(window->ServiceEntry)); + const char *description = gtk_entry_get_text(GTK_ENTRY(window->DescriptionEntry)); + if (yon_char_is_empty(app)){ + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),_EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(window->ServiceEntry); + return; + } + GtkTreeIter iter; + gtk_list_store_append(widgets->StartupAppsList,&iter); + gtk_list_store_set(widgets->StartupAppsList,&iter,0,1,1,unit,2,app,3,description,4,1,-1); + on_subwindow_close(self); +} + +void on_startup_app_edit_accept(GtkWidget *self, main_window *widgets){ + GtkTreeIter iter; + GtkTreeModel *model; + if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->StartupServicesTree)),&model,&iter)){ + startup_service_window *window = g_object_get_data(G_OBJECT(self),"startup_service_window"); + const char *unit = gtk_entry_get_text(GTK_ENTRY(window->UnitEntry)); + const char *app = gtk_entry_get_text(GTK_ENTRY(window->ServiceEntry)); + const char *description = gtk_entry_get_text(GTK_ENTRY(window->DescriptionEntry)); + if (yon_char_is_empty(app)){ + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),_EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(window->ServiceEntry); + return; + } + gtk_list_store_set(widgets->StartupAppsList,&iter,0,1,1,unit,2,app,3,description,4,1,-1); + } + on_subwindow_close(self); +} + +startup_service_window *yon_startup_app_window_new(){ + startup_service_window *window = new(startup_service_window); + + GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_service); + + window->Window = yon_gtk_builder_get_widget(builder,"MainWindow"); + window->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox"); + window->AcceptButton = yon_gtk_builder_get_widget(builder,"AcceptButton"); + window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton"); + window->UnitEntry = yon_gtk_builder_get_widget(builder,"UnitEntry"); + window->ServiceEntry = yon_gtk_builder_get_widget(builder,"ServiceEntry"); + window->DescriptionEntry = yon_gtk_builder_get_widget(builder,"DescriptionEntry"); + window->AppLabel = yon_gtk_builder_get_widget(builder,"AppLabel"); + window->GroupLabel = yon_gtk_builder_get_widget(builder,"GroupLabel"); + window->DescriptionLabel = yon_gtk_builder_get_widget(builder,"DescriptionLabel"); + gtk_label_set_text(GTK_LABEL(window->AppLabel),APP_LABEL); + gtk_label_set_text(GTK_LABEL(window->AppLabel),GROUP_LABEL); + + g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL); + g_object_set_data(G_OBJECT(window->AcceptButton),"startup_service_window",window); + + return window; +} + +void on_startup_app_add(GtkWidget *, main_window *widgets){ + startup_service_window *window = yon_startup_app_window_new(); + yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->MainWindow),SERVICE_ADD_TITLE_LABEL,icon_path,"app_add_window"); + g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_startup_app_add_accept),widgets); + gtk_widget_show(window->Window); +} + +void on_startup_app_edit(GtkWidget *, main_window *widgets){ + GtkTreeIter iter; + if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->StartupServicesTree)),NULL,&iter)){ + char *app, *unit, *description; + int status; + gtk_tree_model_get(GTK_TREE_MODEL(widgets->StartupAppsList),&iter,1,&unit,2,&app,3,&description,4,&status,-1); + if (status){ + startup_service_window *window = yon_startup_app_window_new(); + yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->MainWindow),SERVICE_EDIT_TITLE_LABEL,icon_path,"app_add_window"); + g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_startup_app_edit_accept),widgets); + gtk_entry_set_text(GTK_ENTRY(window->UnitEntry),unit); + gtk_entry_set_text(GTK_ENTRY(window->ServiceEntry),app); + gtk_entry_set_text(GTK_ENTRY(window->DescriptionEntry),description); + gtk_widget_show(window->Window); + } + } +} + +int yon_startup_app_save(main_window *widgets){ + GtkTreeIter iter; + GtkTreeModel *model = GTK_TREE_MODEL(widgets->StartupAppsList); + int size = 0; + int list_size=0; + config_str modules = NULL; + for_iter(model,&iter){ + list_size++; + char *target; + int status; + gtk_tree_model_get(model,&iter,0,&status,2,&target,-1); + if (status){ + yon_char_parsed_add_or_create_if_exists(modules,&size,target); + } + } + if (size){ + char *final = yon_char_parsed_to_string(modules,size,","); + yon_config_register(AUTOEXEC_parameter,AUTOEXEC_parameter_command,final); + yon_char_parsed_free(modules,size); + } else { + yon_config_remove_by_key(AUTOEXEC_parameter); + } + return 1; +} \ No newline at end of file diff --git a/source/ubinstall-gtk-startup-services.c b/source/ubinstall-gtk-startup-services.c index 2c5ee87..715b68e 100644 --- a/source/ubinstall-gtk-startup-services.c +++ b/source/ubinstall-gtk-startup-services.c @@ -52,7 +52,7 @@ void yon_startup_services_setup(main_window *widgets){ config_str parsed = yon_char_parse(services[i],&parsed_size,";"); if (parsed_size&&!yon_char_is_empty(parsed[0])){ gtk_list_store_append(widgets->StartupList,&iter); - gtk_list_store_set(widgets->StartupList,&iter,0,1,1,parsed[0],2,yon_char_return_if_exist(parsed[1],""),3,yon_char_return_if_exist(parsed[2],""),-1); + gtk_list_store_set(widgets->StartupList,&iter,0,1,1,parsed[0],2,yon_char_return_if_exist(parsed[1],""),3,yon_char_return_if_exist(_(parsed[2]),""),-1); } } } diff --git a/source/ubinstall-gtk-users.c b/source/ubinstall-gtk-users.c index e399ded..9e68138 100644 --- a/source/ubinstall-gtk-users.c +++ b/source/ubinstall-gtk-users.c @@ -91,6 +91,8 @@ yon_user_struct *yon_user_struct_new(){ user->PasswordCombo = yon_gtk_builder_get_widget(builder,"PasswordCombo"); user->PasswordEntry = yon_gtk_builder_get_widget(builder,"PasswordEntry"); user->PasswordButton = yon_gtk_builder_get_widget(builder,"PasswordButton"); + yon_gtk_entry_block_symbols(GTK_ENTRY(user->LoginEntry),"'\"=:\n"); + yon_gtk_entry_block_symbols(GTK_ENTRY(user->UsernameEntry),"'\":\n"); g_object_set_data(G_OBJECT(user->MainBox),"yon_user_struct",user); diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c index e847944..4318c1f 100644 --- a/source/ubinstall-gtk.c +++ b/source/ubinstall-gtk.c @@ -54,7 +54,7 @@ void on_link(GtkWidget *self, char* uri, gpointer ){ on_open_documentation_confirmation(self,uri); } -void on_about(GtkWidget *, char *version_application){ +void yon_on_about(GtkWidget *, main_window *){ GtkBuilder *builder=gtk_builder_new_from_resource(ui_glade_path_about); GtkWidget *window=yon_gtk_builder_get_widget(builder,"AboutWindow"); GtkWidget *title=yon_gtk_builder_get_widget(builder,"headerAboutTopic"); @@ -336,6 +336,7 @@ void config_init(){ main_config.exit_accepted=0; main_config.config_load_path = NULL; main_config.config_save_path = NULL; + main_config.force_scenario=0; yon_packages_init(); main_config.dry_run=0; main_config.force_ini=NULL; @@ -343,7 +344,16 @@ void config_init(){ main_config.slides = NULL; main_config.chosen_slide = NULL; - + main_config.os_name = NULL; + { + int size; + config_str ret = yon_config_load(os_name_get_command,&size); + if (size){ + yon_char_remove_last_symbol(ret[0],'\n'); + main_config.os_name = yon_char_new(ret[0]); + yon_char_parsed_free(ret,size); + } + } main_config.languages = g_hash_table_new(g_str_hash,g_str_equal); int size; config_str languages = yon_config_load(languages_command,&size); @@ -367,24 +377,14 @@ void config_init(){ } } -// void on_root_get_root(char *argline){ -// yon_launch(argline); -// } - -// void *on_setup_system_configuration(void *data); - -void on_additional_software_toggled(GtkWidget *, char *, main_window *){ - // GtkTreeIter iter; - // int status; - // gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(widgets->AdditionalSoftwareList),&iter,path); - // gtk_tree_model_get(GTK_TREE_MODEL(widgets->AdditionalSoftwareList),&iter,0,&status,-1); - // gtk_list_store_set(widgets->AdditionalSoftwareList,&iter,0,!status,-1); -} - void on_gparted_open(){ yon_launch_app_with_arguments(open_gparted_command,NULL); } +void on_gparted_update(GtkWidget *, main_window *widgets){ + yon_devices_setup(widgets); +} + void on_reboot_accepted(main_window *){ g_mutex_lock(&main_config.install_mutex); if (main_config.install_thread){ @@ -396,7 +396,7 @@ void on_reboot_accepted(main_window *){ if (system("reboot")){}; } -void on_exit_accepted(main_window *widgets){ +void on_exit_accepted(main_window *){ g_mutex_lock(&main_config.install_mutex); if (main_config.install_thread){ pthread_cancel((pthread_t)main_config.install_thread); @@ -404,7 +404,8 @@ void on_exit_accepted(main_window *widgets){ } main_config.exit_accepted=1; while(gtk_events_pending()) gtk_main_iteration(); - gtk_widget_destroy(widgets->MainWindow); + // gtk_widget_destroy(widgets->MainWindow); + // gtk_main_quit(); } gboolean on_yon_exit(GtkWidget *,GdkEvent*, main_window *widgets){ @@ -603,7 +604,6 @@ void yon_main_window_create(main_window *widgets){ widgets->Notebook = yon_gtk_builder_get_widget(builder,"Notebook"); widgets->MainSpinner=yon_gtk_builder_get_widget(builder,"MainSpinner"); widgets->LicenseAgreeRadio = yon_gtk_builder_get_widget(builder,"LicenseAgreeRadio"); - widgets->LicenseDisgreeRadio = yon_gtk_builder_get_widget(builder,"LicenseDisgreeRadio"); widgets->DocumentationMenuItem = yon_ubl_menu_item_documentation_new(DOCUMENTATION_LABEL); widgets->AboutMenuItem = yon_ubl_menu_item_about_new(ABOUT_LABEL); @@ -650,7 +650,8 @@ void yon_main_window_create(main_window *widgets){ widgets->CommonInstallationFilesystemTypeCombo = yon_gtk_builder_get_widget(builder,"CommonInstallationFilesystemTypeCombo"); widgets->CommonInstallationSectionNameEntry = yon_gtk_builder_get_widget(builder,"CommonInstallationSectionNameEntry"); widgets->CommonFormatSwitch = yon_gtk_builder_get_widget(builder,"CommonFormatSwitch"); - widgets->GpartedCommonButton = yon_gtk_builder_get_widget(builder,"GpartedCommonButton"); + widgets->CommonGpartedButton = yon_gtk_builder_get_widget(builder,"CommonGpartedButton"); + widgets->CommonUpdateGpartedButton = yon_gtk_builder_get_widget(builder,"CommonUpdateGpartedButton"); widgets->SamePlaceDeviceTree = yon_gtk_builder_get_widget(builder,"SamePlaceDeviceTree"); widgets->SamePlacePartTree = yon_gtk_builder_get_widget(builder,"SamePlacePartTree"); @@ -658,7 +659,8 @@ void yon_main_window_create(main_window *widgets){ widgets->SameInstallationFormatRevealer = yon_gtk_builder_get_widget(builder,"SameInstallationFormatRevealer"); widgets->SameInstallationFilesystemTypeCombo = yon_gtk_builder_get_widget(builder,"SameInstallationFilesystemTypeCombo"); widgets->SameInstallationSectionNameEntry = yon_gtk_builder_get_widget(builder,"SameInstallationSectionNameEntry"); - widgets->GpartedSameButton = yon_gtk_builder_get_widget(builder,"GpartedSameButton"); + widgets->SameGpartedButton = yon_gtk_builder_get_widget(builder,"SameGpartedButton"); + widgets->SameUpdateGpartedButton = yon_gtk_builder_get_widget(builder,"SameUpdateGpartedButton"); widgets->NextInstallationFilesystemTypeCombo = yon_gtk_builder_get_widget(builder,"NextInstallationFilesystemTypeCombo"); widgets->NextInstallationFormatSwitch = yon_gtk_builder_get_widget(builder,"NextInstallationFormatSwitch"); @@ -668,10 +670,13 @@ void yon_main_window_create(main_window *widgets){ widgets->NextInstallationSizeTypeSpin = yon_gtk_builder_get_widget(builder,"NextInstallationFormatSizeCombo"); widgets->NextInstallationSysDevicesTree = yon_gtk_builder_get_widget(builder,"NextInstallationSysDevicesTree"); widgets->NextInstallationSysSectionTree = yon_gtk_builder_get_widget(builder,"NextInstallationSysSectionTree"); - widgets->GpartedNextInstallationButton = yon_gtk_builder_get_widget(builder,"GpartedNextInstallationButton"); - + widgets->NextInstallationGPartedButton = yon_gtk_builder_get_widget(builder,"NextInstallationGPartedButton"); + widgets->NextInstallationUpdateGPartedButton = yon_gtk_builder_get_widget(builder,"NextInstallationUpdateGPartedButton"); + widgets->AdvancedDeviceChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"AdvancedDeviceChosenCell")); widgets->AdvancedPartChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"AdvancedPartChosenCell")); + widgets->AdvancedGpartedButton = yon_gtk_builder_get_widget(builder,"AdvancedGpartedButton"); + widgets->AdvancedUpdateGpartedButton = yon_gtk_builder_get_widget(builder,"AdvancedUpdateGpartedButton"); widgets->AdvancedDeviceTree = yon_gtk_builder_get_widget(builder,"AdvancedDeviceTree"); widgets->AdvancedVirtualDeviceCombo = yon_gtk_builder_get_widget(builder,"AdvancedVirtualDeviceCombo"); widgets->AdvancedPartitionTree = yon_gtk_builder_get_widget(builder,"AdvancedPartitionTree"); @@ -692,17 +697,20 @@ void yon_main_window_create(main_window *widgets){ widgets->GrubInstallDevicesTree = yon_gtk_builder_get_widget(builder,"GrubInstallDevicesTree"); widgets->GrubInstallPartitionTree = yon_gtk_builder_get_widget(builder,"GrubInstallPartitionTree"); - widgets->GpartedGrubInstallButton = yon_gtk_builder_get_widget(builder,"GpartedGrubInstallButton"); + widgets->GrubInstallGpartedButton = yon_gtk_builder_get_widget(builder,"GrubInstallGpartedButton"); + widgets->GrubInstallUpdateGpartedButton = yon_gtk_builder_get_widget(builder,"GrubInstallUpdateGpartedButton"); widgets->GrubUpdateDevicesTree = yon_gtk_builder_get_widget(builder,"GrubUpdateDevicesTree"); widgets->GrubUpdatePartitionTree = yon_gtk_builder_get_widget(builder,"GrubUpdatePartitionTree"); - widgets->GpartedGrubUpdateButton = yon_gtk_builder_get_widget(builder,"GpartedGrubUpdateButton"); + widgets->GrubUpdateGpartedButton = yon_gtk_builder_get_widget(builder,"GrubUpdateGpartedButton"); + widgets->GrubUpdateUpdateGpartedButton = yon_gtk_builder_get_widget(builder,"GrubUpdateUpdateGpartedButton"); widgets->OSDevicesTree = yon_gtk_builder_get_widget(builder,"OSDevicesTree"); widgets->OSSpinner = yon_gtk_builder_get_widget(builder,"OSSpinner"); widgets->OSOverlay = yon_gtk_builder_get_widget(builder,"OSOverlay"); widgets->OSSysSectionTree = yon_gtk_builder_get_widget(builder,"OSSysSectionTree"); - widgets->GpartedOSButton = yon_gtk_builder_get_widget(builder,"GpartedOSButton"); + widgets->OSGpartedButton = yon_gtk_builder_get_widget(builder,"OSGpartedButton"); + widgets->OSUpdateGpartedButton = yon_gtk_builder_get_widget(builder,"OSUpdateGpartedButton"); widgets->OSFormatSwitch = yon_gtk_builder_get_widget(builder,"OSFormatSwitch"); widgets->OSRevealer = yon_gtk_builder_get_widget(builder,"OSRevealer"); widgets->OSFormatSizeSpin = yon_gtk_builder_get_widget(builder,"OSFormatSizeSpin"); @@ -715,7 +723,8 @@ void yon_main_window_create(main_window *widgets){ widgets->UserdataDevicesTree = yon_gtk_builder_get_widget(builder,"UserdataDevicesTree"); widgets->UserdataSysSectionTree = yon_gtk_builder_get_widget(builder,"UserdataSysSectionTree"); - widgets->GpartedUserdataButton = yon_gtk_builder_get_widget(builder,"UserdataGpartedButton"); + widgets->UserdataGpartedButton = yon_gtk_builder_get_widget(builder,"UserdataGpartedButton"); + widgets->UserdataUpdateGpartedButton = yon_gtk_builder_get_widget(builder,"UserdataUpdateGpartedButton"); widgets->UserdataFormatSwitch = yon_gtk_builder_get_widget(builder,"UserdataFormatSwitch"); widgets->UserdataRevealer = yon_gtk_builder_get_widget(builder,"UserdataRevealer"); widgets->UserdataFormatSizeSpin = yon_gtk_builder_get_widget(builder,"UserdataFormatSizeSpin"); @@ -822,6 +831,13 @@ void yon_main_window_create(main_window *widgets){ widgets->StartupServicesRemoveButton = yon_gtk_builder_get_widget(builder,"StartupServicesRemoveButton"); widgets->StartupChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"StartupChosenCell")); widgets->StartupList = GTK_LIST_STORE(gtk_builder_get_object(builder,"StartupList")); + + widgets->StartupAppsTree = yon_gtk_builder_get_widget(builder,"StartupAppsTree"); + widgets->StartupAppsAddButton = yon_gtk_builder_get_widget(builder,"StartupAppsAddButton"); + widgets->StartupAppsEditButton = yon_gtk_builder_get_widget(builder,"StartupAppsEditButton"); + widgets->StartupAppsRemoveButton = yon_gtk_builder_get_widget(builder,"StartupAppsRemoveButton"); + widgets->StartupAppsChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"StartupAppsChosenCell")); + widgets->StartupAppsList = GTK_LIST_STORE(gtk_builder_get_object(builder,"StartupAppsList")); // widgets->BootloaderImage = yon_gtk_builder_get_widget(builder,"BootloaderImage"); widgets->BootloadTimerSwitch = yon_gtk_builder_get_widget(builder,"BootloadTimerSwitch"); @@ -885,9 +901,23 @@ void yon_main_window_create(main_window *widgets){ g_signal_connect(G_OBJECT(widgets->ReadFullLogButton),"clicked",G_CALLBACK(on_process_log_view),widgets); g_signal_connect(G_OBJECT(widgets->ReadShortLogButton),"clicked",G_CALLBACK(on_summary_log_view),widgets); - g_signal_connect(G_OBJECT(widgets->GpartedCommonButton),"clicked",G_CALLBACK(on_gparted_open),NULL); - g_signal_connect(G_OBJECT(widgets->GpartedSameButton),"clicked",G_CALLBACK(on_gparted_open),NULL); - g_signal_connect(G_OBJECT(widgets->GpartedNextInstallationButton),"clicked",G_CALLBACK(on_gparted_open),NULL); + g_signal_connect(G_OBJECT(widgets->CommonGpartedButton),"clicked",G_CALLBACK(on_gparted_open),NULL); + g_signal_connect(G_OBJECT(widgets->SameGpartedButton),"clicked",G_CALLBACK(on_gparted_open),NULL); + g_signal_connect(G_OBJECT(widgets->NextInstallationGPartedButton),"clicked",G_CALLBACK(on_gparted_open),NULL); + g_signal_connect(G_OBJECT(widgets->OSGpartedButton),"clicked",G_CALLBACK(on_gparted_open),NULL); + g_signal_connect(G_OBJECT(widgets->UserdataGpartedButton),"clicked",G_CALLBACK(on_gparted_open),NULL); + g_signal_connect(G_OBJECT(widgets->GrubUpdateGpartedButton),"clicked",G_CALLBACK(on_gparted_open),NULL); + g_signal_connect(G_OBJECT(widgets->GrubInstallGpartedButton),"clicked",G_CALLBACK(on_gparted_open),NULL); + g_signal_connect(G_OBJECT(widgets->AdvancedGpartedButton),"clicked",G_CALLBACK(on_gparted_open),NULL); + + g_signal_connect(G_OBJECT(widgets->CommonUpdateGpartedButton),"clicked",G_CALLBACK(on_gparted_update),widgets); + g_signal_connect(G_OBJECT(widgets->SameUpdateGpartedButton),"clicked",G_CALLBACK(on_gparted_update),widgets); + g_signal_connect(G_OBJECT(widgets->NextInstallationUpdateGPartedButton),"clicked",G_CALLBACK(on_gparted_update),widgets); + g_signal_connect(G_OBJECT(widgets->OSUpdateGpartedButton),"clicked",G_CALLBACK(on_gparted_update),widgets); + g_signal_connect(G_OBJECT(widgets->UserdataUpdateGpartedButton),"clicked",G_CALLBACK(on_gparted_update),widgets); + g_signal_connect(G_OBJECT(widgets->GrubUpdateUpdateGpartedButton),"clicked",G_CALLBACK(on_gparted_update),widgets); + g_signal_connect(G_OBJECT(widgets->GrubInstallUpdateGpartedButton),"clicked",G_CALLBACK(on_gparted_update),widgets); + g_signal_connect(G_OBJECT(widgets->AdvancedUpdateGpartedButton),"clicked",G_CALLBACK(on_gparted_update),widgets); // g_signal_connect(G_OBJECT(widgets->MainWindow),"check-resize",G_CALLBACK(on_region_resized),widgets); g_signal_connect(G_OBJECT(widgets->NextButton),"clicked",G_CALLBACK(on_page_next_clicked),widgets); @@ -911,9 +941,6 @@ void yon_main_window_create(main_window *widgets){ g_signal_connect(G_OBJECT(widgets->KeyboardLayoutAddButton),"clicked",G_CALLBACK(on_system_layouts_add),widgets); g_signal_connect(G_OBJECT(widgets->KeyboardLayoutRemoveButton),"clicked",G_CALLBACK(on_system_layouts_remove),widgets); g_signal_connect(G_OBJECT(widgets->KeyboardModelCombo),"changed",G_CALLBACK(on_model_changed),widgets); - g_signal_connect(G_OBJECT(widgets->KeyboardNumLockCombo),"changed",G_CALLBACK(on_num_lock_changed),widgets); - g_signal_connect(G_OBJECT(widgets->KeyboardComposeSwitch),"state-set",G_CALLBACK(on_compose_switch),widgets); - g_signal_connect(G_OBJECT(widgets->KeyboardScrollLockSwitch),"state-set",G_CALLBACK(on_scroll_lock_switch),widgets); g_signal_connect(G_OBJECT(widgets->GrubInstallDevicesTree),"cursor-changed",G_CALLBACK(on_device_selection_changed),widgets); g_signal_connect(G_OBJECT(widgets->GrubUpdateDevicesTree),"cursor-changed",G_CALLBACK(on_device_selection_changed),widgets); @@ -942,7 +969,11 @@ void yon_main_window_create(main_window *widgets){ g_signal_connect(G_OBJECT(widgets->StartupServicesAddButton),"clicked",G_CALLBACK(on_startup_service_add),widgets); g_signal_connect(G_OBJECT(widgets->StartupServicesEditButton),"clicked",G_CALLBACK(on_startup_service_edit),widgets); g_signal_connect(G_OBJECT(widgets->StartupServicesRemoveButton),"clicked",G_CALLBACK(on_startup_services_remove),widgets); - + + g_signal_connect(G_OBJECT(widgets->StartupAppsTree),"cursor-changed",G_CALLBACK(on_startup_apps_selection_changed),widgets); + g_signal_connect(G_OBJECT(widgets->StartupAppsAddButton),"clicked",G_CALLBACK(on_startup_app_add),widgets); + g_signal_connect(G_OBJECT(widgets->StartupAppsEditButton),"clicked",G_CALLBACK(on_startup_app_edit),widgets); + g_signal_connect(G_OBJECT(widgets->StartupAppsRemoveButton),"clicked",G_CALLBACK(on_startup_apps_remove),widgets); g_signal_connect(G_OBJECT(widgets->AutoHostnameCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),widgets->HotnameEntry); @@ -1003,8 +1034,9 @@ void yon_main_window_create(main_window *widgets){ g_signal_connect(G_OBJECT(widgets->ScrollLeftEventBox),"leave-notify-event",G_CALLBACK(on_install_slider_hover_highlight_end),widgets); g_signal_connect(G_OBJECT(widgets->ScrollRightEventBox),"leave-notify-event",G_CALLBACK(on_install_slider_hover_highlight_end),widgets); - g_signal_connect(G_OBJECT(widgets->AboutMenuItem),"activate",G_CALLBACK(on_about),widgets); + g_signal_connect(G_OBJECT(widgets->AboutMenuItem),"activate",G_CALLBACK(yon_on_about),NULL); g_signal_connect(G_OBJECT(widgets->DocumentationMenuItem),"activate",G_CALLBACK(on_open_documentation_confirmation),WIKI_LINK); + yon_gtk_window_setup(GTK_WINDOW(widgets->MainWindow),NULL,TITLE_LABEL,icon_path,NULL); gtk_tree_model_filter_set_visible_func(GTK_TREE_MODEL_FILTER(widgets->InstallerCountryFilter),(GtkTreeModelFilterVisibleFunc)on_country_filter,widgets,NULL); @@ -1073,26 +1105,12 @@ void yon_main_window_create(main_window *widgets){ textdomain(LocaleName); } } - { - int size; - config_str slides = yon_char_parsed_new(&size,slide_repeat_path); - widgets->region_original = gdk_pixbuf_new_from_resource(regions_path,NULL); - widgets->keyboard_original = gdk_pixbuf_new_from_resource(keyboard_path,NULL); - widgets->user_original = gdk_pixbuf_new_from_resource(users_path,NULL); - widgets->startup_original = gdk_pixbuf_new_from_resource(startup_path,NULL); - widgets->bootloader_original = gdk_pixbuf_new_from_resource(bootloader_path,NULL); - widgets->network_original = gdk_pixbuf_new_from_resource(network_icon_path,NULL); - widgets->slides_original = NULL; - widgets->slides_original = g_list_prepend(widgets->slides_original,gdk_pixbuf_new_from_resource(slide_0_path,NULL)); - for (int i=1;islides_original = g_list_prepend(widgets->slides_original,gdk_pixbuf_new_from_resource(slides[i-1],NULL)); - } - widgets->slides_original = g_list_reverse(widgets->slides_original); - yon_char_parsed_free(slides,size); - } gtk_builder_connect_signals(builder,NULL); if (!yon_char_is_empty(config(AUTOINSTALL_TYPE_INSTALL))){ gtk_widget_show(widgets->StartScenarioButton); + if (main_config.force_scenario){ + gtk_button_clicked(GTK_BUTTON(widgets->StartScenarioButton)); + } } else { gtk_widget_hide(widgets->StartScenarioButton); } @@ -1150,6 +1168,7 @@ int main(int argc, char *argv[]){ int option_index = 0; struct option long_options[] = { {"dry-run", 0, 0, 'D'}, + {"scenario", 0, 0, 's'}, {NULL, 0, NULL, 0} }; optind = 1; @@ -1159,6 +1178,9 @@ int main(int argc, char *argv[]){ case 'D': main_config.dry_run = 1; break; + case 's': + main_config.force_scenario = 1; + break; default: break; } diff --git a/source/ubinstall-gtk.h b/source/ubinstall-gtk.h index 6a48b51..e726dc7 100755 --- a/source/ubinstall-gtk.h +++ b/source/ubinstall-gtk.h @@ -1,26 +1,24 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include #include -#ifdef WEBKIT_FOUND - #include -#endif -#include "ubl-strings.h" - -#define WIKI_LINK "https://wiki.ublinux.com/software/programs_and_utilities/all/ubinstall-gtk" - -#define _(String) gettext(String) - +#ifdef WEBKIT_FOUND +#include +#endif +#include "ubl-strings.h" + +#define _(String) gettext(String) + #define glade_path "/com/ublinux/ui/ubinstall-gtk.glade" #define glade_path_ubinstall_keyboard "/com/ublinux/ui/ubinstall-gtk-keyboard.glade" #define glade_path_ubinstall_language "/com/ublinux/ui/ubinstall-gtk-language.glade" @@ -41,22 +39,22 @@ #define glade_locales_path "/com/ublinux/ui/ubinstall-gtk-layouts.glade" #define glade_layouts_path "/com/ublinux/ui/ubinstall-gtk-keyboard-layouts.glade" #define glade_path_slider "/com/ublinux/ui/ubinstall-gtk-slider.glade" - -#define CssPath "/com/ublinux/css/ubinstall-gtk.css" -#define config_path yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL) + +#define CssPath "/com/ublinux/css/ubinstall-gtk.css" +#define config_path yon_char_unite(yon_ubl_user_get_home_directory(), "/.config/", LocaleName, "/", LocaleName, ".conf", NULL) #define icon_path "com.ublinux.ubinstall-gtk" #define kernel_icon_path "com.ublinux.ubl-settings-kernel" #define untoggled_icon_path "com.ublinux.libublsettingsui-gtk3.untoggled-symbolic" #define toggled_icon_path "com.ublinux.libublsettingsui-gtk3.toggled-symbolic" #define add_icon_path "com.ublinux.libublsettingsui-gtk3.increase-symbolic" -#define LocalePath "/usr/share/locale" -#define LocaleName "ubinstall-gtk" - -#define clear_config_both_command "ubconfig remove TEMP_SECTION TEMP_PATAMETER" -#define clear_config_global_command "ubconfig --target global remove TEMP_SECTION TEMP_PATAMETER" -#define clear_config_local_command "ubconfig --target system remove TEMP_SECTION TEMP_PATAMETER" - +#define LocalePath "/usr/share/locale" +#define LocaleName "ubinstall-gtk" + +#define clear_config_both_command "ubconfig remove TEMP_SECTION TEMP_PATAMETER" +#define clear_config_global_command "ubconfig --target global remove TEMP_SECTION TEMP_PATAMETER" +#define clear_config_local_command "ubconfig --target system remove TEMP_SECTION TEMP_PATAMETER" + #define regions_path "/com/ublinux/images/map-time-zone.png" #define keyboard_path "/com/ublinux/images/keyboard.png" #define users_path "/com/ublinux/images/keyboard.png" @@ -77,12 +75,13 @@ #define kernel_list_path "resource:///com/ublinux/csv/kernel-list.csv" #define kernel_list_addon_path "resource:///com/ublinux/csv/kernel-list-addon.csv" #define services_list_path "resource:///com/ublinux/csv/services-list.csv" +#define apps_list_path "resource:///com/ublinux/csv/applications-list.csv" #define network_path "resource:///com/ublinux/csv/network-list.csv" #define fs_types_path "resource:///com/ublinux/csv/filesystems-format-list.csv" #define vfs_list_path "resource:///com/ublinux/csv/vfs-list.csv" #define groups_list_path "resource:///com/ublinux/csv/groups-list.csv" -#define encryptions_list "luks1","luks2" +#define encryptions_list "luks1", "luks2" #define locales_list_command "/usr/share/i18n/locales/" @@ -91,29 +90,28 @@ #define arrow_left_icon_path "com.ublinux.ubinstall-gtk.arrow-left-symbolic" #define arrow_right_icon_path "com.ublinux.ubinstall-gtk.arrow-right-symbolic" -#define slide_repeat_path "/com/ublinux/images/slide-1.png", \ -"/com/ublinux/images/slide-2.png", \ -"/com/ublinux/images/slide-3.png", \ -"/com/ublinux/images/slide-4.png", \ -"/com/ublinux/images/slide-5.png", \ -"/com/ublinux/images/slide-6.png", \ -"/com/ublinux/images/slide-7.png", \ -"/com/ublinux/images/slide-8.png", \ -"/com/ublinux/images/slide-9.png", \ -"/com/ublinux/images/slide-10.png", \ -"/com/ublinux/images/slide-11.png", \ -"/com/ublinux/images/slide-12.png", \ -NULL - +#define slide_repeat_path "/com/ublinux/images/slide-1.png", \ + "/com/ublinux/images/slide-2.png", \ + "/com/ublinux/images/slide-3.png", \ + "/com/ublinux/images/slide-4.png", \ + "/com/ublinux/images/slide-5.png", \ + "/com/ublinux/images/slide-6.png", \ + "/com/ublinux/images/slide-7.png", \ + "/com/ublinux/images/slide-8.png", \ + "/com/ublinux/images/slide-9.png", \ + "/com/ublinux/images/slide-10.png", \ + "/com/ublinux/images/slide-11.png", \ + "/com/ublinux/images/slide-12.png", \ + NULL #define get_modules_command "pacman --color never -Qs ^ubm- | sed -Enr -e 'N;s/\\n/ ;/' -e \"s/^([^\\/]+)\\/([^[:blank:]]+)[[:blank:]]+([^[:blank:]]+)[[:blank:]]+(\\(([^\\)]+)\\)[^\\;]+|[^\\;]*);[[:blank:]]*(.*)/\\2;\\3;\\5;\\6/p\"" #define get_available_modules_command "pacman --color never -Ss ^ubm- | sed -Enr -e 'N;s/\\n/ ;/' -e \"s/^([^\\/]+)\\/([^[:blank:]]+)[[:blank:]]+([^[:blank:]]+)[[:blank:]]+(\\(([^\\)]+)\\)[^\\;]+|[^\\;]*);[[:blank:]]*(.*)/\\2;\\3;\\5;\\6/p\"" -#define get_local_module_info_command(target) yon_char_unite("pacman --color never -Sp $(pacman -Ssq '",target,"') --print-format '%n;%v;%d' | grep -v \"^::\"",NULL); +#define get_local_module_info_command(target) yon_char_unite("pacman --color never -Sp $(pacman -Ssq '", target, "') --print-format '%n;%v;%d' | grep -v \"^::\"", NULL); -#define get_menus_entry_command "/usr/lib/ublinux/scripts/grub-functions exec_get_all_menuentry" +#define get_menus_entry_command "/usr/lib/ublinux/scripts/grub-functions exec_get_all_menuentry2" -#define encrypt_domain_password_command(target) yon_char_unite("echo '",target,"' | base64",NULL) +#define encrypt_domain_password_command(target) yon_char_unite("echo '", target, "' | base64", NULL) #define get_ntp_default_command "ubconfig --default get [network] NTPSERVERS_DEFAULT" #define get_ntp_ru_command "ubconfig --default get [network] NTPSERVERS_RU" @@ -121,9 +119,9 @@ NULL #define get_models_command "sed '/<\\/modelList>/q' /usr/share/X11/xkb/rules/base.xml | grep -E '^ {8,8}|^ {8,8}'|sed -e 's/ *//g' -e 's,,,g' -e 's/ *//g' -e 's,,,g'" #define get_keyboard_models_command "sed -En '/^! model$/,/^ *$/!d;s/[[:blank:]]+([^ ]+)[[:blank:]]+(.*)/\\1|\\2/p' /usr/share/X11/xkb/rules/evdev.lst" -#define check_is_password_hash(password) system(yon_char_unite("/lib/ublinux/functions is_hash_password '", password,"'",NULL)) +#define check_is_password_hash(password) system(yon_char_unite("/lib/ublinux/functions is_hash_password '", password, "'", NULL)) -#define network_value(ip,mask,gateway, dns) g_strdup_printf("ipv4.method manual ipv4.addr %s/%s ipv4.gateway %s ipv4.dns %s",ip,mask,gateway,dns) +#define network_value(ip, mask, gateway, dns) g_strdup_printf("ipv4.method manual ipv4.addr %s/%s ipv4.gateway %s ipv4.dns %s", ip, mask, gateway, dns) #define network_value_auto "ipv4.method auto" #define get_layouts_command "xkbcli list --load-exotic | awk \"\ @@ -144,6 +142,7 @@ layout && /description:/ {\ }\ \" | sort -u\ " +#define os_name_get_command "sed -En 's/^PRETTY_NAME=[\"]*([^\"]+)[\"]*/\\1/p' /etc/os-release" #define get_keyboard_layout_change_command "grep \"grp:\" /usr/share/X11/xkb/rules/base.lst | awk '{$1=$1; sub(/^!.*$/, \"\"); if ($1 ~ /^grp:/) {opt=$1; $1=\"\"; print opt \"|\" substr($0,2)}}'" @@ -153,11 +152,11 @@ layout && /description:/ {\ #define enable_rdp_command "ubconfig --target system set [desktop] AUTOEXEC[@users]='freerdp-server.service'" #define disable_rdp_command "ubconfig --target system remove [desktop] AUTOEXEC[@users]" -#define get_layouts_local_command(layout) yon_char_unite("xkbcli list --load-exotic | awk -v layout=\"",layout,"\" \"BEGIN {layout_pattern = sprintf(\\\"^ *- *layout: *'%s'\\\",layout);matched=0} matched && /variant:/ {match(\\$0, /: *'([^']+)'/, matches);variant = matches[1]} matched && /description:/ {match(\\$0, /: *(.+)/, matches);description = matches[1]} matched && /^ *-/{matched=0; if (variant) printf \\\"%s|%s\\n\\\",variant,description} \\$0 ~ layout_pattern {matched=1;variant=\\\"\\\";description=\\\"\\\";next}\" | sort -u",NULL) +#define get_layouts_local_command(layout) yon_char_unite("xkbcli list --load-exotic | awk -v layout=\"", layout, "\" \"BEGIN {layout_pattern = sprintf(\\\"^ *- *layout: *'%s'\\\",layout);matched=0} matched && /variant:/ {match(\\$0, /: *'([^']+)'/, matches);variant = matches[1]} matched && /description:/ {match(\\$0, /: *(.+)/, matches);description = matches[1]} matched && /^ *-/{matched=0; if (variant) printf \\\"%s|%s\\n\\\",variant,description} \\$0 ~ layout_pattern {matched=1;variant=\\\"\\\";description=\\\"\\\";next}\" | sort -u", NULL) #define get_devices_command "lsblk --noheadings --nodeps -Jo PATH,SIZE,MODEL,VENDOR,SERIAL --exclude 7" #define get_parts_and_devices_command "lsblk --noheadings --bytes -o TYPE,PATH,SIZE,FSTYPE,LABEL,PARTLABEL,MOUNTPOINT,FSUSED,FSUSE% --exclude 7 |awk '{print ($1\";\"$2\";\"$3\";\"$4\";\"$5\";\"$6\";\"$7\";\"$8\";\"$9)}'" -#define AUTOINSTALL(target) yon_char_unite("AUTOINSTALL[",target,"]",NULL) +#define AUTOINSTALL(target) yon_char_unite("AUTOINSTALL[", target, "]", NULL) #define AUTOINSTALL_TYPE_INSTALL "AUTOINSTALL[install_type]" #define AUTOINSTALL_TYPE_INSTALL_command "ubconfig --source global get [autoinstall] AUTOINSTALL[install_type]" @@ -228,12 +227,14 @@ layout && /description:/ {\ #define DOMAIN_admanger_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [network] DOMAIN[admanger]']" #define USERADD_parameter_all "AUTOINSTALL[ubconfig set [users] USERADD[*]]" #define USERADD_parameter_search "AUTOINSTALL[ubconfig set [users] USERADD[" -#define USERADD_parameter(target) yon_char_unite("AUTOINSTALL[ubconfig set [users] USERADD[",target,"]]",NULL) -#define USERADD_parameter_command(target) yon_char_unite("ubconfig --source global get autoinstall AUTOINSTALL['ubconfig set [users] USERADD[",target,"]']",NULL) +#define USERADD_parameter(target) yon_char_unite("AUTOINSTALL[ubconfig set [users] USERADD[", target, "]]", NULL) +#define USERADD_parameter_command(target) yon_char_unite("ubconfig --source global get autoinstall AUTOINSTALL['ubconfig set [users] USERADD[", target, "]']", NULL) #define KERNEL_BOOT_parameter "AUTOINSTALL[ubconfig set [boot] KERNEL_BOOT]" #define KERNEL_BOOT_parameter_command "ubconfig --source global get autoinstall AUTOINSTALL['ubconfig set [boot] KERNEL_BOOT']" -#define SERVICES_ENABLE_parameter "AUTOINSTALL[ubconfig set [boot] SERVICES_ENABLE]" -#define SERVICES_ENABLE_parameter_command "ubconfig get autoinstall AUTOINSTALL['ubconfig set [boot] SERVICES_ENABLE']" +#define SERVICES_ENABLE_parameter "AUTOINSTALL[ubconfig set [boot] SERVICES_ENABLE]" +#define SERVICES_ENABLE_parameter_command "ubconfig get autoinstall AUTOINSTALL['ubconfig set [boot] SERVICES_ENABLE']" +#define AUTOEXEC_parameter "AUTOINSTALL[ubconfig set [desktop] AUTOEXEC[@users]]" +#define AUTOEXEC_parameter_command "ubconfig get autoinstall AUTOINSTALL['ubconfig set [desktop] AUTOEXEC[@users]']" #define GRUB_SUPERUSERS_parameter "AUTOINSTALL[ubconfig set [boot] GRUB_SUPERUSERS]" #define GRUB_SUPERUSERS_parameter_command "ubconfig get autoinstall AUTOINSTALL['ubconfig set [boot] GRUB_SUPERUSERS']" #define GRUB_TIMEOUT_parameter "AUTOINSTALL[ubconfig set [boot] GRUB_TIMEOUT]" @@ -242,32 +243,31 @@ layout && /description:/ {\ #define GRUB_DEFAULT_parameter_command "ubconfig get autoinstall AUTOINSTALL['ubconfig set [boot] GRUB_DEFAULT']" #define GRUB_PASSWORD_parameter_search "AUTOINSTALL[ubconfig set [boot] GRUB_PASSWORD[" #define GRUB_PASSWORD_parameter_all "AUTOINSTALL[ubconfig set [boot] GRUB_PASSWORD[*]]" -#define GRUB_PASSWORD_parameter(target) yon_char_unite("AUTOINSTALL[ubconfig set [boot] GRUB_PASSWORD[",target,"]]",NULL) +#define GRUB_PASSWORD_parameter(target) yon_char_unite("AUTOINSTALL[ubconfig set [boot] GRUB_PASSWORD[", target, "]]", NULL) #define GRUB_PASSWORD_parameter_command_all "ubconfig get autoinstall AUTOINSTALL['ubconfig set [boot] GRUB_PASSWORD[*]']" -#define GRUB_PASSWORD_parameter_command(target) yon_char_unite("ubconfig get autoinstall AUTOINSTALL['ubconfig set [boot] GRUB_PASSWORD[",target,"]']",NULL) +#define GRUB_PASSWORD_parameter_command(target) yon_char_unite("ubconfig get autoinstall AUTOINSTALL['ubconfig set [boot] GRUB_PASSWORD[", target, "]']", NULL) #define AUTOLOGINUSER_parameter "AUTOINSTALL[ubconfig set [desktop] AUTOLOGINUSER]" #define AUTOLOGINUSER_parameter_command "ubconfig get autoinstall AUTOINSTALL['ubconfig set [boot] AUTOLOGINUSER']" #define NETWORK_parameter_search "AUTOINSTALL[ubconfig set [network] NETWORK[" -#define NETWORK_parameter(target) yon_char_unite("AUTOINSTALL[ubconfig set [network] NETWORK[",target,"@connmod]]",NULL) -#define NETWORK_devdown_parameter(target) yon_char_unite("AUTOINSTALL[ubconfig set [network] NETWORK[",target,"@devdown]]",NULL) -#define NETWORK_parameter_command(target) yon_char_unite("ubconfig get autoinstall AUTOINSTALL['ubconfig set [network] NETWORK[",target,"@connmod]']",NULL) -#define NETWORK_devdown_parameter_command(target) yon_char_unite("ubconfig get autoinstall AUTOINSTALL['ubconfig set [network] NETWORK[",target,"@devdown]']",NULL) -#define NETWORK(target) yon_char_unite("NETWORK[",target,"@connmod]",NULL) +#define NETWORK_parameter(target) yon_char_unite("AUTOINSTALL[ubconfig set [network] NETWORK[", target, "@connmod]]", NULL) +#define NETWORK_devdown_parameter(target) yon_char_unite("AUTOINSTALL[ubconfig set [network] NETWORK[", target, "@devdown]]", NULL) +#define NETWORK_parameter_command(target) yon_char_unite("ubconfig get autoinstall AUTOINSTALL['ubconfig set [network] NETWORK[", target, "@connmod]']", NULL) +#define NETWORK_devdown_parameter_command(target) yon_char_unite("ubconfig get autoinstall AUTOINSTALL['ubconfig set [network] NETWORK[", target, "@devdown]']", NULL) +#define NETWORK(target) yon_char_unite("NETWORK[", target, "@connmod]", NULL) #define installer_lang_parameter "AUTOINSTALL[installer_lang]" #define installer_lang_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[installer_lang]" #define source_parameter "AUTOINSTALL[source]" #define source_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[source]" -#define save_config_command(parameters) yon_char_unite("ubconfig --target system set [autoinstall] AUTOINSTALL[log]=yes ",parameters, "; nice ubinstall2 --debug autoinstall", NULL) +#define save_config_command(parameters) yon_char_unite("ubconfig --target system set [autoinstall] AUTOINSTALL[log]=yes ", parameters, "; nice ubinstall2 --debug autoinstall", NULL) -#define set_user_config_command(parameters) yon_char_unite("ubconfig --target system set [autoinstall] ",parameters,";nice ubinstall2 autoconfig",NULL) -#define save_additional_config_command(parameters) yon_char_unite("ubconfig --target system set [autoinstall] ",parameters,NULL) +#define set_user_config_command(parameters) yon_char_unite("ubconfig --target system set [autoinstall] ", parameters, ";nice ubinstall2 autoconfig", NULL) +#define save_additional_config_command(parameters) yon_char_unite("ubconfig --target system set [autoinstall] ", parameters, NULL) #define get_default_password_command "ubconfig --raw --conarg --source default get [users] NOSECUREROOTPASSWD" #define open_gparted_command "gparted" - #define PASSWORD_DEFAULT "ublinux" #define start_fast_install_command "ubinstall2 --autoinstall" @@ -280,94 +280,95 @@ layout && /description:/ {\ #define full_log_path "/var/log/ubinstall.log" -#define config_get_command(target) yon_char_unite("ubconfig --source ",target," --conarg get [autoinstall] AUTOINSTALL[*]",NULL) - +#define config_get_command(target) yon_char_unite("ubconfig --source ", target, " --conarg get [autoinstall] AUTOINSTALL[*]", NULL) + #define config_get_default_command "ubconfig --source default --conarg get [autoinstall] AUTOINSTALL[*]" #define config_get_global_only_parameters "" #define config_get_local_only_parameters "" -#define ubconfig_file_create(target) yon_char_unite("ubconfig --target \"",target,"\" create",NULL) +// #define ubconfig_file_create(target) yon_char_unite("ubconfig --target \"", target, "\" create", NULL) -#define default_langs(size) yon_char_parsed_new(size,"en_US.UTF-8","ru_RU.UTF-8",NULL); +#define default_langs(size) yon_char_parsed_new(size, "en_US.UTF-8", "ru_RU.UTF-8", NULL); #define languages_command "while IFS= read -ru3 SELECT_LOCALE; do SELECT_LOCALE=\"${SELECT_LOCALE% *}\"; [[ $(< /usr/share/i18n/locales/${SELECT_LOCALE%.*}) =~ (\"language\"[[:blank:]]*\\\"([^\\\"]*)\\\".*\"territory\"[[:blank:]]*\\\"([^\\\"]*)\\\".*\"country_name\"[[:blank:]]*\\\"([^\\\"]*)\\\".*\"lang_name\"[[:blank:]]*\\\"([^\\\"]*)\\\")|(\"language\"[[:blank:]]*\\\"([^\\\"]*)\\\".*\"territory\"[[:blank:]]*\\\"([^\\\"]*)\\\".*\"lang_name\"[[:blank:]]*\\\"([^\\\"]*)\\\")|(\"language\"[[:blank:]]*\\\"([^\\\"]*)\\\".*\"territory\"[[:blank:]]*\\\"([^\\\"]*)\\\") ]] && echo \"${SELECT_LOCALE}|${BASH_REMATCH[2]}${BASH_REMATCH[7]}${BASH_REMATCH[11]}${BASH_REMATCH[5]:+ (${BASH_REMATCH[5]})}${BASH_REMATCH[9]:+ (${BASH_REMATCH[9]})}|${BASH_REMATCH[3]}${BASH_REMATCH[8]}${BASH_REMATCH[12]}${BASH_REMATCH[4]:+ (${BASH_REMATCH[4]})}\" || echo \"${SELECT_LOCALE}\"; done 3< \"/usr/share/i18n/SUPPORTED\"" -#define get_package_info_command(target) yon_char_append("pacman -Si ",target) +#define get_package_info_command(target) yon_char_append("pacman -Si ", target) #define layouts_command "sed -En '/^! layout$/,/^ *$/!d;s/[[:blank:]]+([^ ]+)[[:blank:]]+(.*)/\\1|\\2/p' /usr/share/X11/xkb/rules/evdev.lst" #define layouts_variant_command "sed -En '/^! variant$/,/^ *$/!d;s/[[:blank:]]+([^ ]+)[[:blank:]]+([^ :]+):[[:blank:]]+(.*)/\\2|\\1|\\3/p' /usr/share/X11/xkb/rules/evdev.lst" #define grp_options_command "sed -En '/^! option$/,/^ *$/!d;s/[[:blank:]]+(grp:[^ ]+)[[:blank:]]+(.*)/\\1|\\2/p' /usr/share/X11/xkb/rules/evdev.lst" #define install_common_parameters \ - AUTOINSTALL_TYPE_INSTALL,\ - AUTOINSTALL_DEVICE,\ - part_format_parameter,\ - part_label_parameter,\ + AUTOINSTALL_TYPE_INSTALL, \ + AUTOINSTALL_DEVICE, \ + part_format_parameter, \ + part_label_parameter, \ part_fs_type_parameter -#define install_part_parameters \ - AUTOINSTALL_TYPE_INSTALL,\ - AUTOINSTALL_DEVICE,\ - part_format_parameter,\ - part_fs_label_parameter,\ - part_parameter,\ - part_fs_type_parameter,\ +#define install_part_parameters \ + AUTOINSTALL_TYPE_INSTALL, \ + AUTOINSTALL_DEVICE, \ + part_format_parameter, \ + part_fs_label_parameter, \ + part_parameter, \ + part_fs_type_parameter, \ part_fs_label_parameter -#define install_next_parameters \ - AUTOINSTALL_TYPE_INSTALL,\ - AUTOINSTALL_DEVICE,\ - part_format_parameter,\ - part_fs_label_parameter,\ - part_parameter,\ - part_fs_type_parameter,\ - part_size_parameter +#define install_next_parameters \ + AUTOINSTALL_TYPE_INSTALL, \ + AUTOINSTALL_DEVICE, \ + part_format_parameter, \ + part_fs_label_parameter, \ + part_parameter, \ + part_fs_type_parameter, \ + part_size_parameter #define install_advanced_parameters \ - AUTOINSTALL_TYPE_INSTALL,\ - AUTOINSTALL_DEVICE,\ - part_format_parameter,\ - part_label_parameter,\ - part_parameter,\ - part_fs_type_parameter,\ - part_size_parameter + AUTOINSTALL_TYPE_INSTALL, \ + AUTOINSTALL_DEVICE, \ + part_format_parameter, \ + part_label_parameter, \ + part_parameter, \ + part_fs_type_parameter, \ + part_size_parameter #define install_grub_install_update_parameters \ - AUTOINSTALL_TYPE_INSTALL,\ - AUTOINSTALL_DEVICE,\ - part_parameter + AUTOINSTALL_TYPE_INSTALL, \ + AUTOINSTALL_DEVICE, \ + part_parameter #define install_system_only_parameters \ - AUTOINSTALL_TYPE_INSTALL,\ - AUTOINSTALL_DEVICE,\ - part_format_parameter,\ - part_label_parameter,\ - part_parameter,\ - part_fs_type_parameter,\ - part_size_parameter,\ + AUTOINSTALL_TYPE_INSTALL, \ + AUTOINSTALL_DEVICE, \ + part_format_parameter, \ + part_label_parameter, \ + part_parameter, \ + part_fs_type_parameter, \ + part_size_parameter, \ part_crypt_parameter #define install_userdata_only_parameters \ - AUTOINSTALL_TYPE_INSTALL,\ - AUTOINSTALL_DEVICE,\ - part_format_parameter,\ - part_label_parameter,\ - part_parameter,\ - part_fs_type_parameter,\ - part_size_parameter,\ + AUTOINSTALL_TYPE_INSTALL, \ + AUTOINSTALL_DEVICE, \ + part_format_parameter, \ + part_label_parameter, \ + part_parameter, \ + part_fs_type_parameter, \ + part_size_parameter, \ part_crypt_parameter -typedef char* string; -__attribute__((unused)) static \ -string version_application; +typedef char *string; +__attribute__((unused)) static string version_application; -enum YON_PAGES { +enum YON_PAGES +{ YON_PAGE_WELCOME = 0, YON_PAGE_LICENCE, YON_PAGE_SECTIONS, YON_PAGE_OS_COMPONENTS, YON_PAGE_INSTALLATION_BEGIN, + YON_PAGE_RECOVERY_BEGIN, YON_PAGE_CONFIG_HUB, YON_PAGE_KERNEL, YON_PAGE_KERNEL_ADDON, @@ -383,7 +384,9 @@ enum YON_PAGES { YON_PAGE_NETWORK, YON_PAGE_PACKAGES, YON_PAGE_INSTALLATION, + YON_PAGE_RECOVERY_PROCESS, YON_PAGE_COMPLETION, + YON_PAGE_RECOVERY_COMPLETION, YON_PAGE_COMPLETED, YON_PAGE_INSTALL_ERROR, YON_PAGE_CONFIGURE_END, @@ -401,13 +404,14 @@ enum YON_PAGES { YON_PAGE_RECOVERY_USRDATA_ONLY }; -typedef struct { +typedef struct +{ template_config_fields - config_str launch_arguments; + config_str launch_arguments; int launch_size; int save_done; int save_configured; - + int install_complete; guint slider_thread; int install_mode; @@ -423,7 +427,7 @@ typedef struct { GMutex install_mutex; GHashTable *languages; - + int arg_size; config_str arg_target; GtkWidget *status_box; @@ -433,31 +437,27 @@ typedef struct { // unsigned int cur_slide; gboolean dry_run; - GtkTreeStore *layouts_store; + GtkTreeStore *layouts_store; - GtkListStore *models_list; - config_str variants_list; - int variants_size; - config_str layouts_list; - int layouts_size; + GtkListStore *models_list; + config_str variants_list; + int variants_size; + config_str layouts_list; + int layouts_size; GList *slides; GList *chosen_slide; -} config; + + gboolean force_scenario; + char *os_name; +} config; extern config main_config; -typedef struct { - GtkWidget *CommonInstallationDevicesTree; - GtkWidget *GpartedCommonButton; - GtkWidget *CommonInstallationFilesystemTypeCombo; - GtkWidget *CommonInstallationSectionNameEntry; - GtkListStore *DevicesList; -} install_common_page; - -typedef struct { +typedef struct +{ GtkBuilder *builder; - GtkListStore *DevicesList; + GtkListStore *DevicesList; GtkListStore *LanguagesList; GtkListStore *LayoutsList; GtkListStore *PartitionsList; @@ -498,7 +498,7 @@ typedef struct { GtkWidget *InstallationLinuxRadio; GtkWidget *InstallationWindowsRadio; GtkWidget *InstallationOptionsRadio; - + // GtkWidget *UserImage; GtkWidget *UserRootNameEntry; GtkWidget *UserRootLoginEntry; @@ -518,13 +518,12 @@ typedef struct { GtkWidget *menu1; GtkWidget *menu2; - GtkWidget *LocaleDefaultSwitch; - GtkWidget *LocaleTree; - GtkWidget *LocaleAddButton; - GtkWidget *LocaleRemoveButton; - GtkCellRenderer *LocaleCell; - GtkListStore *LanguageList; - + GtkWidget *LocaleDefaultSwitch; + GtkWidget *LocaleTree; + GtkWidget *LocaleAddButton; + GtkWidget *LocaleRemoveButton; + GtkCellRenderer *LocaleCell; + GtkListStore *LanguageList; GtkWidget *KeyboardModelCombo; GtkWidget *KeyboardDefaultLayoutsSwitch; @@ -546,7 +545,8 @@ typedef struct { GtkWidget *CommonInstallationFilesystemTypeCombo; GtkWidget *CommonInstallationSectionNameEntry; GtkWidget *CommonFormatSwitch; - GtkWidget *GpartedCommonButton; + GtkWidget *CommonGpartedButton; + GtkWidget *CommonUpdateGpartedButton; GtkWidget *NextInstallationSysDevicesTree; GtkWidget *NextInstallationSysSectionTree; @@ -556,7 +556,8 @@ typedef struct { GtkWidget *NextInstallationSizeTypeSpin; GtkWidget *NextInstallationFilesystemTypeCombo; GtkWidget *NextInstallationSectionNameEntry; - GtkWidget *GpartedNextInstallationButton; + GtkWidget *NextInstallationGPartedButton; + GtkWidget *NextInstallationUpdateGPartedButton; GtkWidget *SamePlaceDeviceTree; GtkWidget *SamePlacePartTree; @@ -564,7 +565,8 @@ typedef struct { GtkWidget *SameInstallationFormatRevealer; GtkWidget *SameInstallationFilesystemTypeCombo; GtkWidget *SameInstallationSectionNameEntry; - GtkWidget *GpartedSameButton; + GtkWidget *SameGpartedButton; + GtkWidget *SameUpdateGpartedButton; GtkWidget *InstallationProgress; GtkWidget *InstallationLabel; @@ -573,7 +575,6 @@ typedef struct { GtkWidget *PackageInstallationLabel; GtkWidget *ReadFullLogButton; - GtkWidget *ConfigurationModeMenuItem; GtkWidget *EnableVNCMenuItem; GtkWidget *EnableRDPMenuItem; @@ -581,22 +582,25 @@ typedef struct { GtkWidget *DocumentationMenuItem; GtkWidget *AdditionalComponentsList; - + GtkWidget *GrubInstallRadio; GtkWidget *GrubUpdateRadio; GtkWidget *SeparateRadio; GtkWidget *OSRadio; GtkWidget *UserDataOnlyRadio; - GtkWidget *GpartedGrubInstallButton; + GtkWidget *GrubInstallGpartedButton; + GtkWidget *GrubInstallUpdateGpartedButton; GtkWidget *GrubInstallDevicesTree; GtkWidget *GrubInstallPartitionTree; - GtkWidget *GpartedGrubUpdateButton; + GtkWidget *GrubUpdateGpartedButton; + GtkWidget *GrubUpdateUpdateGpartedButton; GtkWidget *GrubUpdateDevicesTree; GtkWidget *GrubUpdatePartitionTree; - GtkWidget *GpartedOSButton; + GtkWidget *OSGpartedButton; + GtkWidget *OSUpdateGpartedButton; GtkWidget *OSDevicesTree; GtkWidget *OSSysSectionTree; GtkWidget *OSFormatSwitch; @@ -611,7 +615,8 @@ typedef struct { GtkWidget *OSSpinner; GtkWidget *OSOverlay; - GtkWidget *GpartedUserdataButton; + GtkWidget *UserdataGpartedButton; + GtkWidget *UserdataUpdateGpartedButton; GtkWidget *UserdataDevicesTree; GtkWidget *UserdataSysSectionTree; GtkWidget *UserdataFormatSwitch; @@ -627,15 +632,6 @@ typedef struct { GtkTreeModel *LanguagesFilter; GtkTreeModel *LayoutsFilter; - GdkPixbuf *region_original; - GdkPixbuf *keyboard_original; - GdkPixbuf *user_original; - GdkPixbuf *startup_original; - GdkPixbuf *bootloader_original; - GdkPixbuf *network_original; - GList *slides_original; - float region_height_mult; - GtkWidget *RegionSensitiveSwitch; GtkWidget *HostnameSensitiveSwitch; @@ -682,6 +678,12 @@ typedef struct { GtkWidget *StartupServicesRemoveButton; GtkCellRenderer *StartupChosenCell; GtkListStore *StartupList; + GtkWidget *StartupAppsTree; + GtkWidget *StartupAppsAddButton; + GtkWidget *StartupAppsEditButton; + GtkWidget *StartupAppsRemoveButton; + GtkCellRenderer *StartupAppsChosenCell; + GtkListStore *StartupAppsList; // GtkWidget *BootloaderImage; GtkWidget *BootloadTimerSwitch; @@ -708,6 +710,8 @@ typedef struct { GtkCellRenderer *AdvancedDeviceChosenCell; GtkCellRenderer *AdvancedPartChosenCell; + GtkWidget *AdvancedGpartedButton; + GtkWidget *AdvancedUpdateGpartedButton; GtkWidget *AdvancedDeviceTree; GtkWidget *AdvancedVirtualDeviceCombo; GtkWidget *AdvancedPartitionTree; @@ -753,14 +757,16 @@ typedef struct { gboolean slider_stop; -} main_window; - -enum ADVANCED_PART_TYPE { +} main_window; + +enum ADVANCED_PART_TYPE +{ ADVANCED_PART_NEW, ADVANCED_PART_EXISTING }; -typedef struct { +typedef struct +{ GtkWidget *MainBox; GtkWidget *SectionLabel; GtkWidget *SystemSectionToggle; @@ -783,17 +789,19 @@ typedef struct { char *part; char *device; } advanced_partition; - -typedef struct { - GtkWidget *Window; - GtkWidget *HeaderLabel; - GtkWidget *AlwaysOpenCheck; - - GtkWidget *CloseButton; - GtkWidget *AcceptButton; -} documentation_confirmation_window; - -typedef struct{ + +typedef struct +{ + GtkWidget *Window; + GtkWidget *HeaderLabel; + GtkWidget *AlwaysOpenCheck; + + GtkWidget *CloseButton; + GtkWidget *AcceptButton; +} documentation_confirmation_window; + +typedef struct +{ GtkWidget *MainWindow; GtkWidget *StatusBox; GtkWidget *headerBar; @@ -803,7 +811,8 @@ typedef struct{ GtkCellRenderer *ActiveToggle; } ubinstall_keyboard_window; -typedef struct{ +typedef struct +{ GtkListStore *liststore1; GtkWidget *MainWindow; GtkWidget *StatusBox; @@ -816,7 +825,8 @@ typedef struct{ GtkCellRenderer *ToggleRenderer; } ubinstall_language_window; -typedef struct{ +typedef struct +{ GtkWidget *CreateGroupWindow; GtkWidget *StatusBox; GtkWidget *UserCancelButton; @@ -829,7 +839,8 @@ typedef struct{ GtkWidget *NoEncriptionCheck; } password_window; -typedef struct { +typedef struct +{ GtkWidget *Window; GtkWidget *ScrollWindow; GtkWidget *StatusBox; @@ -841,7 +852,8 @@ typedef struct { char *command; } log_window; -typedef struct { +typedef struct +{ GtkWidget *Window; GtkWidget *TitleLabel; GtkWidget *TextLabel; @@ -849,7 +861,8 @@ typedef struct { GtkWidget *CancelButton; } confirmation_window; -typedef struct { +typedef struct +{ GtkWidget *MainBox; GtkWidget *TypeCombo; GtkWidget *ConnectionCombo; @@ -864,95 +877,100 @@ typedef struct { GtkWidget *DNSEntry; } network_info; -typedef struct { - GtkWidget *MainBox; - GtkWidget *RemoveButton; - GtkWidget *UsernameEntry; - GtkWidget *LoginEntry; - GtkWidget *PasswordCombo; - GtkWidget *PasswordEntry; - GtkWidget *PasswordButton; +typedef struct +{ + GtkWidget *MainBox; + GtkWidget *RemoveButton; + GtkWidget *UsernameEntry; + GtkWidget *LoginEntry; + GtkWidget *PasswordCombo; + GtkWidget *PasswordEntry; + GtkWidget *PasswordButton; } yon_user_struct; - -typedef struct { - GtkWidget *MenuWindow; - GtkWidget *BackButton; - GtkWidget *ItemsRevealer; - GtkWidget *ItemsListBox; - GtkWidget *ChildrenRevealer; - GtkWidget *ChildrenListBox; - - int seat_grab; - dictionary *menu_items; - char *cur_selection; - int button_pos_x; - int button_pos_y; +typedef struct +{ + GtkWidget *MenuWindow; + GtkWidget *BackButton; + GtkWidget *ItemsRevealer; + GtkWidget *ItemsListBox; + GtkWidget *ChildrenRevealer; + GtkWidget *ChildrenListBox; + GtkWidget *target; + + int seat_grab; + dictionary *menu_items; + char *cur_selection; + int button_pos_x; + int button_pos_y; } yon_menu_window; -typedef struct { - GtkWidget *MenuItemBox; - GtkWidget *MenuButton; - GtkWidget *MenuTextLabel; - GtkWidget *NextIconButton; - - char *target; +typedef struct +{ + GtkWidget *MenuItemRow; + GtkWidget *MenuTextLabel; + GtkWidget *ArrowImage; - main_window *widgets; - yon_menu_window *window; - - dictionary *children; + yon_menu_window *window; + + char *name; + char *id; + int children; } yon_menu_item; -typedef struct { - GtkWidget *row; - GtkWidget *RowBox; - GtkWidget *InstallCheck; - GtkWidget *NameLabel; - GtkWidget *DescriptionLabel; - GtkWidget *ModulesLabel; - GtkWidget *TagsBox; - GtkWidget *EnableRadio; - GtkWidget *EnableSeparator; +typedef struct +{ + GtkWidget *row; + GtkWidget *RowBox; + GtkWidget *InstallCheck; + GtkWidget *NameLabel; + GtkWidget *DescriptionLabel; + GtkWidget *ModulesLabel; + GtkWidget *TagsBox; + GtkWidget *EnableRadio; + GtkWidget *EnableSeparator; GtkWidget *TagsSeparator; - char *name; - char *modules; - char *package; + char *name; + char *modules; + char *package; } kernel_row; -typedef struct { - GtkWidget *row; - GtkWidget *RowBox; - GtkWidget *InstallCheck; - GtkWidget *NameLabel; - GtkWidget *DescriptionLabel; - GtkWidget *ModuleLabel; - GtkWidget *PackageLabel; - - char *name; - char *modules; - char *package; +typedef struct +{ + GtkWidget *row; + GtkWidget *RowBox; + GtkWidget *InstallCheck; + GtkWidget *NameLabel; + GtkWidget *DescriptionLabel; + GtkWidget *ModuleLabel; + GtkWidget *PackageLabel; + + char *name; + char *modules; + char *package; } kernel_addon_row; -typedef struct { - GtkWidget *row; - GtkWidget *RowBox; - GtkWidget *InstallCheck; - GtkWidget *NameLabel; - GtkWidget *DescriptionLabel; - GtkWidget *VersionLabel; - GtkWidget *TagsBox; - - char *name; - char *modules; - char *version; - char *tags; - char *description; +typedef struct +{ + GtkWidget *row; + GtkWidget *RowBox; + GtkWidget *InstallCheck; + GtkWidget *NameLabel; + GtkWidget *DescriptionLabel; + GtkWidget *VersionLabel; + GtkWidget *TagsBox; + + char *name; + char *modules; + char *version; + char *tags; + char *description; } os_row; -typedef struct { +typedef struct +{ GtkWidget *Window; GtkWidget *StatusBox; GtkWidget *UnitEntry; @@ -960,32 +978,38 @@ typedef struct { GtkWidget *DescriptionEntry; GtkWidget *CancelButton; GtkWidget *AcceptButton; + GtkWidget *AppLabel; + GtkWidget *GroupLabel; + GtkWidget *DescriptionLabel; } startup_service_window; -struct pacman_struct{ - main_window *widgets; - const char *find_package; - gsize packages_size; - config_str packages; +struct pacman_struct +{ + main_window *widgets; + const char *find_package; + gsize packages_size; + config_str packages; }; -typedef struct { +typedef struct +{ GtkWidget *Window; GtkWidget *StatusBox; - GtkWidget *TitleLabel; + GtkWidget *TitleLabel; GtkWidget *AdminCheck; GtkWidget *UsernameEntry; GtkWidget *PasswordEntry; - GtkWidget *PasswordButton; + GtkWidget *PasswordButton; GtkWidget *CancelButton; GtkWidget *AcceptButton; - char *prev_name; + char *prev_name; } bootloader_user_window; -typedef struct { +typedef struct +{ GtkWidget *Window; GtkWidget *StatusBox; GtkWidget *PathEntry; @@ -994,7 +1018,8 @@ typedef struct { GtkWidget *ChooseButton; } configuration_window; -typedef struct { +typedef struct +{ GtkWidget *Window; GtkWidget *StatusBox; GtkWidget *CancelButton; @@ -1009,99 +1034,107 @@ typedef struct { dictionary *sources; } source_window; - -typedef struct { +typedef struct +{ GtkWidget *MainBox; GtkWidget *TypeCombo; GtkWidget *PathEntry; GtkWidget *DeviceCombo; GtkWidget *PathButton; GtkWidget *RemoveButton; - + } source_element; -enum PART_SOURCE { +enum PART_SOURCE +{ PART_SOURCE_DEVICE, PART_SOURCE_PART, PART_SOURCE_VIRTUAL }; -typedef struct { - char *partition; - char *device; +typedef struct +{ + char *partition; + char *device; int sys_section; int user_section; - gboolean format; - unsigned long size; - char size_letter; - char *part_label; - char *fs_type; - char *fs_label; - char *encryption; - char *encryption_password; + gboolean format; + unsigned long size; + char size_letter; + char *part_label; + char *fs_type; + char *fs_label; + char *encryption; + char *encryption_password; enum PART_SOURCE part_source; advanced_partition *partition_widgets; } advanced_section; -struct row_data { - main_window *widgets; - char *version; - char *name; - char *tags; - char *description; +struct row_data +{ + main_window *widgets; + char *version; + char *name; + char *tags; + char *description; }; -typedef struct { - GtkWidget *Window; - GtkWidget *StatusBox; - GtkWidget *LanguagesTree; +typedef struct +{ + GtkWidget *Window; + GtkWidget *StatusBox; + GtkWidget *LanguagesTree; - GtkWidget *CancelButton; - GtkWidget *AcceptButton; - GtkWidget *ManualEntry; - GtkWidget *LoadingOverlay; - GtkWidget *LoadingSpinner; - GtkCellRenderer *ToggleCell; + GtkWidget *CancelButton; + GtkWidget *AcceptButton; + GtkWidget *ManualEntry; + GtkWidget *LoadingOverlay; + GtkWidget *LoadingSpinner; + GtkCellRenderer *ToggleCell; - GtkListStore *LanguagesList; + GtkListStore *LanguagesList; } language_window; -struct locales_struct { - char *locale; - char *lang; - char *territory; - int chosen; - GtkListStore *list; +struct locales_struct +{ + char *locale; + char *lang; + char *territory; + int chosen; + GtkListStore *list; }; -typedef struct { - GtkWidget *Window; - GtkWidget *StatusBox; - GtkWidget *MainTree; - GtkWidget *CancelButton; - GtkWidget *AcceptButton; - GtkWidget *OptionsFilterCombo; - GtkWidget *OptionsEntry; - GtkCellRenderer *ChosenCell; - GtkTreeStore *list; - GtkListStore *OptionsList; - GtkTreeModel *OptionsFilter; - char *parameters; +typedef struct +{ + GtkWidget *Window; + GtkWidget *StatusBox; + GtkWidget *MainTree; + GtkWidget *CancelButton; + GtkWidget *AcceptButton; + GtkWidget *OptionsFilterCombo; + GtkWidget *OptionsEntry; + GtkCellRenderer *ChosenCell; + GtkTreeStore *list; + GtkListStore *OptionsList; + GtkTreeModel *OptionsFilter; + char *parameters; } layouts_window; -typedef struct { +typedef struct +{ GtkWidget *MainBox; GtkWidget *Image; GtkWidget *Label; enum YON_PAGES page; } config_hub_icon; -typedef struct { - GtkWidget *MainBox; - GtkWidget *TitleImage; - GtkWidget *TitleLabel; - GtkWidget *TextLabel; -}slider_object; +typedef struct +{ + GtkWidget *MainBox; + GtkWidget *TitleImage; + GtkWidget *TitleLabel; + GtkWidget *TextLabel; +} slider_object; void config_init(); main_window *yon_main_window_complete(); @@ -1111,17 +1144,16 @@ ubinstall_keyboard_window *yon_ubinstall_keyboard_new(); void on_password_accept(GtkWidget *self, dictionary *dict); - void yon_interface_update(main_window *widgets); -void on_summary_log_view(GtkWidget *,main_window *widgets); +void on_summary_log_view(GtkWidget *, main_window *widgets); void on_device_selection_changed(GtkWidget *self, main_window *widgets); void on_toggle_button_switch_on(GtkWidget *, GtkToggleButton *toggle); void on_autohostname_sensitiveness_check(GtkWidget *, int status, main_window *widgets); void on_autohostname_check(GtkWidget *, main_window *widgets); -void on_hostname_entry_changed (GtkWidget *, main_window *widgets); +void on_hostname_entry_changed(GtkWidget *, main_window *widgets); gboolean on_install_success(main_window *widgets); @@ -1131,12 +1163,12 @@ gboolean on_install_error(main_window *widgets); void on_reboot_accepted(main_window *widgets); -void on_keyboard_clicked (GtkWidget *, main_window *widgets); -void on_keyboard_accept(GtkWidget *self,main_window *widgets); -void on_layout_toggle(GtkCellRendererToggle*, gchar* path, ubinstall_keyboard_window *window); +void on_keyboard_clicked(GtkWidget *, main_window *widgets); +void on_keyboard_accept(GtkWidget *self, main_window *widgets); +void on_layout_toggle(GtkCellRendererToggle *, gchar *path, ubinstall_keyboard_window *window); void on_language_clicked(GtkWidget *, main_window *widgets); void yon_language_selection_changed(GtkCellRenderer *, char *path, ubinstall_language_window *window); -void on_language_window_accept(GtkWidget *,dictionary *dict); +void on_language_window_accept(GtkWidget *, dictionary *dict); void on_keyboard_removed(GtkWidget *, main_window *widgets); void on_exit_accepted(main_window *widgets); void on_gparted_open(); @@ -1144,22 +1176,22 @@ void on_gparted_open(); void on_separate_installation_changed(GtkWidget *self, main_window *widgets); void on_partition_changed(GtkWidget *self, main_window *widgets); void yon_set_max_size_from_partition(GtkTreeView *table, GtkSpinButton *spin_size, GtkComboBox *size_type); -gboolean on_yon_exit(GtkWidget *,GdkEvent*, main_window *widgets); -void on_locale_changed(GtkWidget *,main_window *); +gboolean on_yon_exit(GtkWidget *, GdkEvent *, main_window *widgets); +void on_locale_changed(GtkWidget *, main_window *); void on_region_changed(GtkComboBox *self, main_window *widgets); void on_page_cancel_clicked(GtkWidget *, main_window *widgets); -int yon_install_options_save(GtkWidget *device_tree, GtkWidget *part_tree,char *mode,main_window *widgets); -void on_process_log_view(GtkWidget *,main_window *widgets); -void yon_read_log(GFileMonitor *,GFile *,GFile *,GFileMonitorEvent ,log_window *window); +int yon_install_options_save(GtkWidget *device_tree, GtkWidget *part_tree, char *mode, main_window *widgets); +void on_process_log_view(GtkWidget *, main_window *widgets); +void yon_read_log(GFileMonitor *, GFile *, GFile *, GFileMonitorEvent, log_window *window); log_window *yon_log_window_new(); void on_log_closed(GtkWidget *, log_window *window); -void on_page_changed(GtkWidget *,GtkWidget *,int page, main_window *widgets); -void yon_installation_progress_update(GFileMonitor *,GFile *,GFile *,GFileMonitorEvent ,main_window *widgets); +void on_page_changed(GtkWidget *, GtkWidget *, int page, main_window *widgets); +void yon_installation_progress_update(GFileMonitor *, GFile *, GFile *, GFileMonitorEvent, main_window *widgets); void *on_config_save(void *data); -void *on_setup_system_configuration(void * data); +void *on_setup_system_configuration(void *data); void yon_install_slider_init(main_window *widgets); -void on_install_slider_next(GtkWidget* ,GdkEventButton *,main_window *widgets); -void on_install_slider_prev(GtkWidget* ,GdkEventButton *,main_window *widgets); +void on_install_slider_next(GtkWidget *, GdkEventButton *, main_window *widgets); +void on_install_slider_prev(GtkWidget *, GdkEventButton *, main_window *widgets); void yon_install_slider_update(main_window *widgets); slider_object *yon_slider_object_new(); void yon_slider_setup(slider_object *slider, char *title, char *icon, char *text_markup); @@ -1171,24 +1203,24 @@ gboolean on_install_slider_hover_highlight_end(GtkWidget *self, GdkEvent *, main // gboolean on_image_slide(void *data); // void on_region_resized(GtkWidget *,main_window *widgets); // int yon_image_resize_from_container(GtkImage *target, GdkPixbuf *pixbuf_unscaled); -void on_configuration_mode_switch(GtkWidget *self,main_window *widgets); +void on_configuration_mode_switch(GtkWidget *self, main_window *widgets); double yon_size_long_convert_automatic(unsigned long bytes, char *size); double yon_size_long_convert_to_mod(double size, char mod); void on_root_get_root(char *argline); void on_config_custom_save(GtkWidget *, main_window *widgets); -void on_config_global_save(GtkWidget *,main_window *widgets); -void on_config_local_save(GtkWidget *,main_window *widgets); -void on_config_global_local_save(GtkWidget *,main_window *widgets); -void on_config_custom_load_last(GtkWidget *,main_window *widgets); -void on_config_custom_load(GtkWidget *,main_window *); -void on_config_global_load(GtkWidget *,main_window *); -void on_config_local_load(GtkWidget *,main_window *widgets); +void on_config_global_save(GtkWidget *, main_window *widgets); +void on_config_local_save(GtkWidget *, main_window *widgets); +void on_config_global_local_save(GtkWidget *, main_window *widgets); +void on_config_custom_load_last(GtkWidget *, main_window *widgets); +void on_config_custom_load(GtkWidget *, main_window *); +void on_config_global_load(GtkWidget *, main_window *); +void on_config_local_load(GtkWidget *, main_window *widgets); void yon_config_save_proceed(char *path, YON_CONFIG_TYPE type); void on_page_next_clicked(GtkWidget *, main_window *widgets); void on_page_prev_clicked(GtkWidget *, main_window *widgets); void yon_load_proceed(YON_CONFIG_TYPE type); void _yon_saving_threaded(char *final_command); -enum YON_PAGES yon_page_get_next(main_window *widgets,enum YON_PAGES page); +enum YON_PAGES yon_page_get_next(main_window *widgets, enum YON_PAGES page); enum YON_PAGES yon_page_get_prev(enum YON_PAGES page); enum YON_PAGES yon_sections_get_next_page(main_window *widgets); enum YON_PAGES yon_recovery_get_next(main_window *widgets); @@ -1213,36 +1245,34 @@ int yon_startup_save(main_window *widgets); network_info *yon_network_info_new(); int yon_install_advanced_save(main_window *widgets); int yon_network_save(main_window *widgets); -void on_connection_add(GtkWidget *,main_window *widgets); +void on_connection_add(GtkWidget *, main_window *widgets); void on_ntp_sync(GtkWidget *, main_window *widgets); int yon_advanced_sections_save(dictionary *dict); void yon_configuration_mode_check(main_window *widgets); -void on_configuration_mode_switch(GtkWidget *self,main_window *widgets); +void on_configuration_mode_switch(GtkWidget *self, main_window *widgets); void *_yon_installation_start(main_window *widgets); int yon_installation_start(main_window *widgets); enum INSTALL_TYPE yon_ubl_get_install_mode(); int yon_user_save(yon_user_struct *user); -void on_user_add(GtkWidget *,main_window *widgets); +void on_user_add(GtkWidget *, main_window *widgets); yon_user_struct *yon_user_struct_new(); -void on_user_remove_clicked(GtkWidget *,yon_user_struct *user); +void on_user_remove_clicked(GtkWidget *, yon_user_struct *user); void yon_password_new(GtkWidget *, yon_user_struct *user); void yon_password_root_new(GtkWidget *, main_window *widgets); yon_menu_item *yon_menu_item_new(); - yon_menu_window *yon_menu_window_new(); -void on_menu_window_size_reallocated(GtkWidget *self,GtkAllocation *,yon_menu_window *window); -void on_children_clean(GtkWidget*, yon_menu_window *window); -gboolean yon_on_revealer_switched (yon_menu_window *window); +yon_menu_window *yon_menu_window_new(); +void on_menu_window_size_reallocated(GtkWidget *self, GtkAllocation *, yon_menu_window *window); +void on_children_clean(GtkWidget *, yon_menu_window *window); +gboolean yon_on_revealer_switched(yon_menu_window *window); gboolean on_menu_clicked(GtkWidget *, GdkEventButton *event, yon_menu_window *window); yon_menu_window *yon_menu_window_open(GtkWidget *, main_window *widgets); -void on_submenu_open(GtkWidget *,yon_menu_item *item); -void on_menu_chosen(GtkWidget *, yon_menu_item *item); +void on_submenu_open(GtkWidget *, yon_menu_item *item); void yon_kernel_setup(main_window *widgets); -void yon_kernel_row_setup(kernel_row *row, char *name, char *modules,char *package, char *tags, char *description); +void yon_kernel_row_setup(kernel_row *row, char *name, char *modules, char *package, char *tags, char *description); void yon_kernel_row_setup_tags(kernel_row *row, char *tags); -int yon_tag_add(GtkBox *target,char *tag_label, char *tag_style, char *icon_name); +int yon_tag_add(GtkBox *target, char *tag_label, char *tag_style, char *icon_name); kernel_row *yon_kernel_row_new(); void yon_kernel_resize(main_window *widgets); -void on_additional_software_toggled(GtkWidget *, char *path, main_window *widgets); void yon_kernel_addon_setup(main_window *widgets); void yon_kernel_addon_resize(main_window *widgets); void yon_startup_services_setup(main_window *widgets); @@ -1253,12 +1283,12 @@ startup_service_window *yon_startup_service_window_new(); void on_startup_edit_accept(GtkWidget *, main_window *widgets); void on_startup_add_accept(GtkWidget *, main_window *widgets); void yon_startup_services_setup(main_window *widgets); -void on_startup_services_remove(GtkWidget *self,main_window *widgets); -void on_startup_services_selection_changed(GtkWidget *,main_window *widgets); +void on_startup_services_remove(GtkWidget *self, main_window *widgets); +void on_startup_services_selection_changed(GtkWidget *, main_window *widgets); void on_pacman_software_all_toggled(GtkWidget *, char *path, main_window *widgets); void on_pacman_software_chosen_toggled(GtkWidget *, char *path, main_window *widgets); int yon_pacman_software_save(main_window *widgets); -void on_pacman_icon_press(GtkEntry *self,GtkEntryIconPosition icon_pos,GdkEvent* event,main_window *widgets); +void on_pacman_icon_press(GtkEntry *self, GtkEntryIconPosition icon_pos, GdkEvent *event, main_window *widgets); gboolean yon_pacman_fill(struct pacman_struct *pacman); void *yon_pacman_load(struct pacman_struct *pacman); int yon_kernel_addon_save(main_window *widgets); @@ -1267,7 +1297,7 @@ bootloader_user_window *yon_bootloader_user_window_new(); void on_bootloader_user_add(GtkWidget *, main_window *widgets); void on_bootloader_user_accept(GtkWidget *, bootloader_user_window *window); void yon_bootloader_interface_update(main_window *widgets); -void on_type_changed(GtkComboBox *self,network_info *info); +void on_type_changed(GtkComboBox *self, network_info *info); void yon_network_init(main_window *widgets); void yon_page_init(main_window *widgets, enum YON_PAGES page); void yon_bootloader_init(main_window *widgets); @@ -1280,37 +1310,37 @@ void yon_install_advanced_init(main_window *widgets); void yon_os_components_init(main_window *widgets); void yon_pacman_init(main_window *widgets); void yon_software_init(main_window *widgets); -void on_install_advanced_device_chosen(GtkCellRenderer*, gchar *path, main_window *widgets); -void on_install_advanced_partition_chosen(GtkCellRenderer*, gchar *path, main_window *widgets); +void on_install_advanced_device_chosen(GtkCellRenderer *, gchar *path, main_window *widgets); +void on_install_advanced_partition_chosen(GtkCellRenderer *, gchar *path, main_window *widgets); void yon_devices_setup(main_window *widgets); void on_advanced_password_clicked(GtkWidget *, advanced_partition *part); advanced_partition *yon_advanced_partition_new(); void on_advanced_part_remove(GtkWidget *self, main_window *widgets); int yon_advanced_get_part_size(main_window *widgets); void yon_advanced_partition_clear(main_window *widgets); -void yon_os_row_setup(os_row *row, char *name, char *version,char *tags, char *description); +void yon_os_row_setup(os_row *row, char *name, char *version, char *tags, char *description); os_row *yon_os_row_new(); void yon_quick_install(GtkWidget *, main_window *widgets); void on_keyboard_layout_chosen(GtkCellRenderer *self, gchar *path, main_window *widgets); -void configuration_mode_accept(GtkWidget *,configuration_window *window); -void on_path_choose(GtkWidget *,configuration_window *window); -void on_configuration_exit(GtkWidget *,configuration_window *window); +void configuration_mode_accept(GtkWidget *, configuration_window *window); +void on_path_choose(GtkWidget *, configuration_window *window); +void on_configuration_exit(GtkWidget *, configuration_window *window); int yon_config_save(main_window *widgets); void yon_config_restore(main_window *widgets); -void on_source_clicked(GtkWidget *,main_window *widgets); +void on_source_clicked(GtkWidget *, main_window *widgets); source_window *yon_source_window_new(); -void on_source_accept(GtkWidget *,source_window *window); +void on_source_accept(GtkWidget *, source_window *window); void on_source_choose(GtkWidget *self); -void on_source_remove(GtkWidget *,source_element *element); -void on_source_add(GtkWidget *,source_window *window); +void on_source_remove(GtkWidget *, source_element *element); +void on_source_add(GtkWidget *, source_window *window); void yon_source_update(source_window *window); -void yon_source_element_add(char *key,void*,source_window *window); +void yon_source_element_add(char *key, void *, source_window *window); source_element *yon_source_element_new(); void on_rdp_toggled(GtkWidget *self, main_window *); void on_vnc_toggled(GtkWidget *self, main_window *widgets); void yon_main_window_create(main_window *widgets); void set_locales_list(main_window *widgets); -void on_installer_language_changed(GtkWidget *self,GtkTreePath*,GtkTreeViewColumn*, main_window *widgets); +void on_installer_language_changed(GtkWidget *self, GtkTreePath *, GtkTreeViewColumn *, main_window *widgets); gboolean on_country_filter(GtkTreeModel *self, GtkTreeIter *iter, main_window *widgets); int yon_char_parsed_compare(const void *a, const void *b); gboolean yon_os_component_insert(struct row_data *row_input); @@ -1328,29 +1358,29 @@ void yon_advanced_section_remove_all(); void on_advanced_section_toggled(GtkWidget *self, main_window *widgets); void yon_fs_type_setup(GtkComboBoxText *target); void yon_advanced_set_max_size_from_partition(advanced_partition *part, main_window *widgets); -void on_advanced_size_changed(GtkWidget *self,main_window *widgets); +void on_advanced_size_changed(GtkWidget *self, main_window *widgets); int yon_advanced_save(main_window *widgets); void yon_advanced_part_parameter_changed(GtkWidget *self, advanced_partition *part); void yon_advanced_section_update(main_window *widgets); -void yon_advanced_section_update_section(advanced_partition *part,GtkWidget *cur_toggle,main_window *widgets); +void yon_advanced_section_update_section(advanced_partition *part, GtkWidget *cur_toggle, main_window *widgets); int yon_advanced_section_get_by_part(advanced_partition *part); void yon_advanced_section_remove_by_name(char *part); void on_advanced_virtual_device_changed(GtkWidget *, main_window *widgets); int yon_advanced_section_append(advanced_section *section); -gboolean on_format_changed(GtkWidget *self, gboolean state, advanced_partition *part); +gboolean on_format_changed(GtkWidget *self, gboolean state, advanced_partition *part); int yon_layouts_get(); -void on_link(GtkWidget *self, char* uri, gpointer ); +void on_link(GtkWidget *self, char *uri, gpointer); void on_source_changed(GtkComboBox *self); -void yon_focus_set(GtkWidget *,GtkWidget *target); -void on_main_window_close(GtkWidget*, main_window *); +void yon_focus_set(GtkWidget *, GtkWidget *target); +void on_main_window_close(GtkWidget *, main_window *); gboolean yon_maximize_start(main_window *widgets); void *yon_maximize(main_window *widgets); kernel_addon_row *yon_kernel_addon_row_new(); -void yon_kernel_addon_row_setup(kernel_addon_row *row, char *name, char *modules,char *package, char *description); +void yon_kernel_addon_row_setup(kernel_addon_row *row, char *name, char *modules, char *package, char *description); void on_kernel_addon_install_enabled(GtkWidget *, kernel_addon_row *row); void on_kernel_addon_info(GtkLabel *self); void yon_license_init(main_window *widgets); -void on_locale_toggle(GtkCellRenderer *, gchar *path,language_window *window); +void on_locale_toggle(GtkCellRenderer *, gchar *path, language_window *window); void on_locale_accept(GtkWidget *self, language_window *window); gboolean yon_locale_window_set_locales(struct locales_struct *data); gboolean yon_locale_window_unlock(GtkWidget *spinner); @@ -1371,36 +1401,51 @@ void yon_layouts_add(GtkTreeView *, GtkListStore *, main_window *widgets); void yon_layouts_remove(GtkTreeView *tree, GtkListStore *cur_list, main_window *widgets); void on_system_layouts_remove(GtkWidget *, main_window *widgets); config_str yon_layout_get_children(char *layout_id, int *size); -void yon_layout_load(char *layout,main_window *widgets); +void yon_layout_load(char *layout, main_window *widgets); void yon_layout_build(layouts_window *window); void on_layout_move_up(GtkWidget *, main_window *widgets); void on_layout_move_down(GtkWidget *, main_window *widgets); -void on_compose_switch(GtkWidget *,int status,main_window *widgets); -void on_scroll_lock_switch(GtkWidget *,int status,main_window *widgets); void on_layout_default_sensitive_toggled(GtkWidget *, int status, main_window *widgets); void on_layout_default_toggled(GtkWidget *, int status, main_window *widgets); -void on_layout_selection_changed(GtkTreeView *self,main_window *widgets); -void on_num_lock_changed(GtkComboBox *self, main_window *); +void on_layout_selection_changed(GtkTreeView *self, main_window *widgets); void on_model_changed(GtkComboBoxText *self, main_window *widgets); -void on_options_save(GtkWidget *,main_window *widgets); +void on_options_save(GtkWidget *, main_window *widgets); void yon_packages_tab_init(main_window *widgets); void yon_on_packages_selected(GtkWidget *, main_window *widgets); void yon_on_packages_chosen(GtkWidget *, char *path, main_window *widgets); -void yon_on_packages_activated(GtkWidget *, GtkTreePath* path, GtkTreeViewColumn* , main_window *widgets); +void yon_on_packages_activated(GtkWidget *, GtkTreePath *path, GtkTreeViewColumn *, main_window *widgets); void on_additional_page_clicked(GtkWidget *, main_window *widgets); void on_kernel_components_page_clicked(GtkWidget *, main_window *widgets); void on_kernel_page_clicked(GtkWidget *, main_window *widgets); void on_additional_packages_page_clicked(GtkWidget *, main_window *widgets); -void on_configuration_hub_open(GtkFlowBox *,GtkFlowBoxChild *child, main_window *widgets); +void on_configuration_hub_open(GtkFlowBox *, GtkFlowBoxChild *child, main_window *widgets); void yon_configuration_hub_add(GtkFlowBox *target, char *name, char *icon, enum YON_PAGES page); void yon_configuration_hub_init(main_window *widgets); void yon_flow_box_clear(GtkFlowBox *target); void yon_configuration_hub_section_get_max_size(GtkFlowBox *target, int *ret_width, int *ret_height); void yon_configuration_hub_section_set_max_size(GtkFlowBox *target, int width, int height); void yon_configuration_hub_resize(main_window *widgets); -void on_configuration_hub_selected(GtkWidget* self, main_window *widgets); +void on_configuration_hub_selected(GtkWidget *self, main_window *widgets); gboolean yon_software_insert(struct row_data *row_input); int yon_configuration_hub_save(main_window *widgets); int yon_packages_tab_save(main_window *widgets); gboolean on_install_slider_slide_proceed(main_window *widgets); -gboolean on_install_slider_slide(main_window *widgets); \ No newline at end of file +gboolean on_install_slider_slide(main_window *widgets); + +void on_srartup_apps_toggled(GtkWidget *, char *path, main_window *widgets); +void on_startup_apps_selection_changed(GtkWidget *, main_window *widgets); +void on_startup_apps_remove(GtkWidget *self, main_window *widgets); +void yon_startup_apps_setup(main_window *widgets); +void on_startup_app_add_accept(GtkWidget *self, main_window *widgets); +void on_startup_app_edit_accept(GtkWidget *self, main_window *widgets); +startup_service_window *yon_startup_app_window_new(); +void on_startup_app_add(GtkWidget *, main_window *widgets); +void on_startup_app_edit(GtkWidget *, main_window *widgets); +int yon_startup_app_save(main_window *widgets); +void yon_on_about(GtkWidget *, main_window *); +void on_gparted_update(GtkWidget *, main_window *widgets); +void yon_menu_open_submenu(yon_menu_window *window, yon_menu_item *item); +yon_menu_item *yon_menu_add_item(yon_menu_window *target_menu,const char *id, const char *name, int children); +void yon_menu_ungrab(yon_menu_window *window); +void on_menu_chosen(GtkWidget *, GtkListBoxRow* row, yon_menu_window *window); +gboolean yon_locale_window_load(language_window *window); \ No newline at end of file diff --git a/source/ubl-strings.h b/source/ubl-strings.h index fe09696..2f2c879 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -1,6 +1,7 @@ -#define TITLE_LABEL _("System installation") +#define TITLE_LABEL yon_char_unite(_("System installation")," ",main_config.os_name,NULL) + +#define WIKI_LINK _("https://wiki.ublinux.com/en/software/programs_and_utilities/all/ubinstall-gtk") -#define WELCOME_LABEL _("Welcome to system installation") #define WELCOME_BOTTOM_LABEL _("This program will ask you few questions\nand help you install system on your computer") #define OPEN_LABEL _("Open") @@ -97,7 +98,6 @@ NULL) #define PASSWORD_TITLE_LABEL _("Password input") #define PASSWORD_MISMATCH_LABEL _("Password mismatch") -#define EMPTY_IMPORTANT_LABEL _("Empty important field") #define PASSWORD_SHORT_LABEL(min_size_char) yon_char_unite(_("Password must be at least")," ", min_size_char," ",_("characters")) #define RESTART_LABEL _("Restart PC") @@ -109,7 +109,6 @@ NULL) #define LANGUAGES_TITLE_LABEL _("Available languages in the system") #define LAYOUTS_TITLE_LABEL _("Keyboard layout language") -#define APPLY_LABEL _("Apply") #define SUCCESS_HEADER_LABEL _("Success") #define LAYOUT_LABEL _("Layout") #define DESIGNATION_LABEL _("Designation") @@ -171,7 +170,9 @@ NULL) #define READ_INSTALL_LOG_LABEL _("Read installation log") #define READ_PROGRESS_LOG_LABEL _("Read progress log") -#define ACCEPT_LABEL _("Accept") +#define APPLY_LABEL _("Ok") +#undef ACCEPT_LABEL +#define ACCEPT_LABEL _("Ok") #define GPARTED_LABEL _("Start GParted") #define PROGRESS_LOG_LABEL _("Progress log") @@ -268,18 +269,28 @@ NULL) #define PERSONAL_SECTION_LABEL _("Personal") #define HARDWARE_SECTION_LABEL _("Hardware") #define SYSTEM_SECTION_LABEL _("System") -#define PACKAGES_SECTION_LABEL _("Installing Modules") +#define PACKAGES_SECTION_LABEL _("Installing software by groups") #define KERNEL_LABEL _("Kernel") #define KERNEL_ADDON_LABEL _("Kernel addons") -#define SOFTWARE_LABEL _("Installing software by groups") +#define SOFTWARE_LABEL _("Installing Modules") #define PACMAN_SOFTWARE_LABEL _("Installing Packages") #define REGION_ICON_LABEL _("Location") -#define STARTUP_LABEL _("Startup services") +#define STARTUP_LABEL _("Autorun of services") +#define STARTUP_APP_LABEL _("Autorun of applications") #define BOOTLOADER_LABEL _("Boot load") #define NETWORK_LABEL _("Network") #define ENABLE_VNC_LABEL _("Enable VNC server") #define ENABLE_RDP_LABEL _("Enable RDP server") +#define APP_TITLE_LABEL _("Autorun of application") +#define APP_TITLE_INFO_LABEL _("Configuring autorun application") +#define APP_LABEL _("Application:") +#define GROUP_LABEL _("Group:") +#define APP_TABLE_LABEL _("Application") +#define GROUP_TABLE_LABEL _("Group") + +// #define _LABEL _("Select your language:") +// #define _LABEL _("Selecting additional system kernel components") // #define _LABEL _("Package:") // #define _LABEL _("Module:") // #define _LABEL _("New section at") @@ -400,10 +411,7 @@ NULL) // #define _LABEL _("Configuring the parameters of the installed system") // #define _LABEL _("Selecting the system kernel") // #define _LABEL _("Selecting kernels for installation in the system and selecting the default kernel. Internet access is required to install additional kernels") -// #define _LABEL _("Selecting additional system kernel components") // #define _LABEL _("Selecting additional kernel modules from the repository via the Internet") -// #define _LABEL _("Selecting additional installation components") -// #define _LABEL _("Selecting additional components and software") // #define _LABEL _("Search and select the software you need to install by package name. Internet access required") // #define _LABEL _("Chosen packages") // #define _LABEL _("Enter your time zone") @@ -415,10 +423,22 @@ NULL) // #define _LABEL _("Starting the system") // #define _LABEL _("Setting up system boot") // #define _LABEL _("Setting up network access") -// #define _LABEL _("Additional system components") // #define _LABEL _("Configuring the installation of additional components") // #define _LABEL _("Wait for the system to finish loading") -// #define _LABEL _("Selecting software from the installation media") +// #define _LABEL _("Modules and packages") +// #define _LABEL _("Setting the system") +// #define _LABEL _("Selecting software packages to install from the repository. Internet access is required") +// #define _LABEL _("Selecting software modules to install from the repository. Internet access is required") +// #define _LABEL _("Language") +// #define _LABEL _("On") +// #define _LABEL _("Selecting the software group to install from the repository. Internet access is required") +// #define _LABEL _("Recovery configuration has ended") +// #define _LABEL _("System recovery is about to begin") +// #define _LABEL _("System recovery") +// #define _LABEL _("The process of restoring the system is underway...") +// #define _LABEL _("System recovery successfully completed!") +// #define _LABEL _("You can reboot the system and use the installed version or continue to work in the current system.") +// #define _LABEL _("Selecting additional system kernel components from the repository. Internet access required") #define slide_1_title _("Product ecosystem") #define slide_1_text _("Developed by a team of professionals and successfully presented on the market.\n\ @@ -433,11 +453,11 @@ Includes:\n\ #define slide_2_text _("It has been successfully used in both government agencies and commercial companies of various sizes.") #define slide_3_title _("System Editions") -#define slide_3_text _("- UBLinux Desktop Enterprise for workstations (PCs, laptops, thin clients, dashboards, including interactive touchscreens and Multi-touch, industrial computers, hardware and software complex),\n\ -- UBLinux Server for server hardware and storage systems,\n\ -- UBLinux Network for network equipment,\n\ -- UBLinux Education for educational institutions,\n\ -- UBLinux Desktop Basic for personal (home) use") +#define slide_3_text _("- Desktop Enterprise for workstations (PCs, laptops, thin clients, dashboards, including interactive touchscreens and Multi-touch, industrial computers, hardware and software complex),\n\ +- Server for server hardware and storage systems,\n\ +- Network for network equipment,\n\ +- Education for educational institutions,\n\ +- Desktop Basic for personal (home) use") #define slide_4_title _("Device Support") #define slide_4_text _("A wide range of devices is supported: printing equipment, scanners, webcams, etc.\n\ @@ -457,10 +477,10 @@ From a minimal configuration (a thin client that only allows remote connection t #define slide_7_title _("Domain architecture support") #define slide_7_text _("A domain controller allows you to:\n\ +- use group policies,\n\ +- centralized software deployment across your fleet,\n\ +- organize network resources and provide flexible access to them\n\ \n\ -use group policies,\n\ -centralized software deployment across your fleet,\n\ -organize network resources and provide flexible access to them\n\ Allows you to integrate your workstation with Microsoft Active Directory, FreeIPA, and Samba DC, applying the necessary domain settings to your workstation.") #define slide_8_title _("Compatibility with Windows applications") @@ -509,7 +529,7 @@ The creation of custom repositories is also supported, which users can create an \n\ Used to automate deployment and configuration of workstations and servers, as well as manage computing equipment.") -#define slide_19_title _("UBLinux Server virtualization tools") +#define slide_19_title _("Server virtualization tools") #define slide_19_text _("The server and workstation virtualization system enables efficient deployment and management of virtual IT infrastructure in data centers.\n\ \n\ - Supports Microsoft Windows, GNU/Linux, and FreeBSD guest operating systems\n\ diff --git a/ubinstall-gtk-bootloader-user.glade b/ubinstall-gtk-bootloader-user.glade index 44e507a..5f995f7 100644 --- a/ubinstall-gtk-bootloader-user.glade +++ b/ubinstall-gtk-bootloader-user.glade @@ -195,7 +195,7 @@ - Accept + Ok True True True diff --git a/ubinstall-gtk-keyboard-layouts.glade b/ubinstall-gtk-keyboard-layouts.glade index 7a0cb5a..8bc5236 100644 --- a/ubinstall-gtk-keyboard-layouts.glade +++ b/ubinstall-gtk-keyboard-layouts.glade @@ -103,7 +103,7 @@ - Accept + Ok True True True diff --git a/ubinstall-gtk-keyboard.glade b/ubinstall-gtk-keyboard.glade index 2a1cdae..172e869 100644 --- a/ubinstall-gtk-keyboard.glade +++ b/ubinstall-gtk-keyboard.glade @@ -145,7 +145,7 @@ - Apply + Ok True True True diff --git a/ubinstall-gtk-language.glade b/ubinstall-gtk-language.glade index 848cf11..2b8623e 100644 --- a/ubinstall-gtk-language.glade +++ b/ubinstall-gtk-language.glade @@ -191,7 +191,7 @@ - Apply + Ok True True True diff --git a/ubinstall-gtk-layouts.glade b/ubinstall-gtk-layouts.glade index b359c15..2043f1c 100644 --- a/ubinstall-gtk-layouts.glade +++ b/ubinstall-gtk-layouts.glade @@ -218,7 +218,7 @@ - Apply + Ok True True True diff --git a/ubinstall-gtk-menu-item.glade b/ubinstall-gtk-menu-item.glade index c9d988a..8e9e6fd 100644 --- a/ubinstall-gtk-menu-item.glade +++ b/ubinstall-gtk-menu-item.glade @@ -1,73 +1,41 @@ - + - + True - False + True - + True - True - True + False + 5 - + True False - 5 - - - True - False - label - - - False - True - 0 - - - - - True - True - False - True - menu1 - right - - - - - - - False - True - end - 1 - - + label + + False + True + 0 + + + + + True + False + com.ublinux.libublsettingsui-gtk3.pan-right-symbolic + + + False + True + 1 + - - - True - True - 0 - - - True - False - diff --git a/ubinstall-gtk-menu.glade b/ubinstall-gtk-menu.glade index a4205a7..ba2ded6 100644 --- a/ubinstall-gtk-menu.glade +++ b/ubinstall-gtk-menu.glade @@ -1,8 +1,13 @@ - + - + + + True + False + com.ublinux.libublsettingsui-gtk3.pan-left-symbolic + 450 250 @@ -78,6 +83,7 @@ + True False none @@ -88,50 +94,11 @@ 5 + Back True True True - - - True - False - 5 - - - True - True - False - True - left - - - - - - - False - True - 0 - - - - - True - False - Back - - - False - True - 1 - - - - + image1 False @@ -45,43 +76,32 @@ - + True False - Version - True - 15 - False + 2 + Description 0 + 0 - False + True True + end 1 - + True False - center - 3 - 5 - 2 - - - False True - end - 6 + 2 - False @@ -90,32 +110,25 @@ - + True False - 2 - Description - 0 - 0 + center + start + 3 + 5 + 2 + + + - True + False True end 1 - - - True - False - - - False - True - 2 - - diff --git a/ubinstall-gtk-service-window.glade b/ubinstall-gtk-service-window.glade index a369131..001e566 100644 --- a/ubinstall-gtk-service-window.glade +++ b/ubinstall-gtk-service-window.glade @@ -1,5 +1,5 @@ - + @@ -54,7 +54,7 @@ False 5 - + True False Unit: @@ -90,7 +90,7 @@ False 5 - + True False Service: @@ -126,7 +126,7 @@ False 5 - + True False Description: @@ -195,7 +195,7 @@ - Accept + Ok True True True @@ -211,9 +211,9 @@ - - - + + + diff --git a/ubinstall-gtk-slider.glade b/ubinstall-gtk-slider.glade index 475e327..7784704 100644 --- a/ubinstall-gtk-slider.glade +++ b/ubinstall-gtk-slider.glade @@ -14,8 +14,8 @@ False 5 5 - 5 - 5 + 6 + 6 True diff --git a/ubinstall-gtk-source.glade b/ubinstall-gtk-source.glade index 86aec8c..8c1482d 100644 --- a/ubinstall-gtk-source.glade +++ b/ubinstall-gtk-source.glade @@ -322,7 +322,7 @@ - Choose + Ok True True True diff --git a/ubinstall-gtk-warning.glade b/ubinstall-gtk-warning.glade index 6dfe131..3ffaf83 100644 --- a/ubinstall-gtk-warning.glade +++ b/ubinstall-gtk-warning.glade @@ -129,7 +129,7 @@ interrupt installation process? - Accept + Ok True True True diff --git a/ubinstall-gtk.glade b/ubinstall-gtk.glade index 596b8db..ae65003 100644 --- a/ubinstall-gtk.glade +++ b/ubinstall-gtk.glade @@ -271,6 +271,20 @@ center com.ublinux.libublsettingsui-gtk3.pan-left-symbolic + + + + + + + + + + + + + + @@ -386,6 +400,11 @@ False com.ublinux.libublsettingsui-gtk3.flag-symbolic + + True + False + com.ublinux.libublsettingsui-gtk3.edit-symbolic + True False @@ -411,21 +430,71 @@ False com.ublinux.libublsettingsui-gtk3.trash-symbolic + + True + False + com.ublinux.libublsettingsui-gtk3.trash-symbolic + + + True + False + com.ublinux.libublsettingsui-gtk3.sync-symbolic + + + True + False + com.ublinux.libublsettingsui-gtk3.sync-symbolic + True False com.ublinux.libublsettingsui-gtk3.properties-symbolic + + True + False + com.ublinux.libublsettingsui-gtk3.sync-symbolic + + + True + False + com.ublinux.libublsettingsui-gtk3.sync-symbolic + + + True + False + com.ublinux.libublsettingsui-gtk3.sync-symbolic + True False com.ublinux.libublsettingsui-gtk3.edit-symbolic + + True + False + com.ublinux.libublsettingsui-gtk3.sync-symbolic + + + True + False + com.ublinux.libublsettingsui-gtk3.sync-symbolic + + + True + False + com.ublinux.libublsettingsui-gtk3.sync-symbolic + True False com.ublinux.libublsettingsui-gtk3.properties-symbolic + + True + False + com.ublinux.libublsettingsui-gtk3.increase-symbolic + True False @@ -485,7 +554,7 @@ False - 800 + 750 500 True False @@ -747,16 +816,14 @@ agreement True False 5 + 5 5 vertical + 5 True False - 5 - 5 - 5 - 5 left False @@ -769,7 +836,7 @@ agreement True False vertical - 20 + 5 True @@ -807,11 +874,11 @@ agreement True False Welcome - True 0 + @@ -870,6 +937,46 @@ agreement 0 + + + True + False + 5 + + + True + False + 32 + com.ublinux.ubinstall-gtk.translation-symbolic + + + False + True + 0 + + + + + True + False + Select your language: + + + + + + False + True + 1 + + + + + False + True + 1 + + True @@ -908,7 +1015,10 @@ agreement column - + + word + 100 + 1 @@ -966,7 +1076,7 @@ agreement True True - 1 + 2 @@ -994,7 +1104,6 @@ agreement True False vertical - 5 True @@ -1014,8 +1123,8 @@ agreement True False - 48 - com.ublinux.ubinstall-gtk + 64 + com.ublinux.ubinstall-gtk.license 0 @@ -1039,6 +1148,7 @@ agreement + @@ -1053,7 +1163,6 @@ agreement True False Please read the license agreement before continuing the installation. - center True 0 @@ -1188,7 +1297,7 @@ agreement True False 48 - com.ublinux.ubinstall-gtk + com.ublinux.ubinstall-gtk.install-disk 0 @@ -1212,6 +1321,7 @@ agreement + @@ -1226,7 +1336,6 @@ agreement True False Please specify what type of installation you want to perform - center True 0 @@ -1308,7 +1417,8 @@ agreement True False - /com/ublinux/images/install_type_fast_normal.png + 64 + com.ublinux.ubinstall-gtk.install-common False @@ -1345,6 +1455,7 @@ agreement False 5 Deleting all data on the selected disk and then installing the system + True 0 @@ -1385,7 +1496,8 @@ agreement True False - /com/ublinux/images/install_type_next_normal.png + 64 + com.ublinux.ubinstall-gtk.install-near False @@ -1422,6 +1534,7 @@ agreement False 5 Shrinking a partition and creating a new one for installing OS + True 0 @@ -1462,7 +1575,8 @@ agreement True False - /com/ublinux/images/install_type_part_normal.png + 64 + com.ublinux.ubinstall-gtk.install-part False @@ -1499,6 +1613,7 @@ agreement False 5 Unpacking into an existing system + True 0 @@ -1539,7 +1654,8 @@ agreement True False - /com/ublinux/images/install_type_custom_normal.png + 64 + com.ublinux.ubinstall-gtk.install-advanced False @@ -1576,6 +1692,7 @@ agreement False 5 Installing OS files, user data on different partitions, creating RAID, etc. + True 0 @@ -1616,7 +1733,8 @@ agreement True False - /com/ublinux/images/install_type_recovery_normal.png + 64 + com.ublinux.ubinstall-gtk.install-recovery False @@ -1653,6 +1771,7 @@ agreement False 5 Recovering bootloader, OS files, user data + True 0 @@ -1776,7 +1895,6 @@ agreement True False Select modules found on the sources to be installed - center True 0 @@ -1913,6 +2031,7 @@ agreement False end Installation configuration has ended + True @@ -1930,6 +2049,7 @@ agreement False start System installation is about to begin + True @@ -1956,6 +2076,63 @@ agreement False + + + True + False + vertical + 5 + + + True + False + end + Recovery configuration has ended + True + + + + + + + True + True + 1 + + + + + True + False + start + System recovery is about to begin + True + + + + + + True + True + 2 + + + + + 5 + + + + + True + False + Recovery begin + + + 5 + False + + True @@ -2020,7 +2197,6 @@ agreement True False Configuring the parameters of the installed system - center True 0 @@ -2238,7 +2414,7 @@ agreement - 5 + 6 @@ -2248,7 +2424,7 @@ agreement Configuration hub - 5 + 6 False @@ -2316,7 +2492,7 @@ agreement True False - Selecting kernels for installation in the system and selecting the default kernel. Internet access is required to install additional kernels + Selecting kernels for installation in the system and selecting the default kernel. Internet access required True 0 @@ -2562,7 +2738,7 @@ agreement - 6 + 7 @@ -2572,7 +2748,7 @@ agreement Kernel - 6 + 7 False @@ -2640,7 +2816,7 @@ agreement True False - Selecting additional kernel modules from the repository via the Internet + Selecting additional system kernel components from the repository. Internet access required True 0 @@ -2718,7 +2894,7 @@ agreement - 7 + 8 @@ -2728,7 +2904,7 @@ agreement Kernel addons - 7 + 8 False @@ -2797,7 +2973,6 @@ agreement True False Selecting software modules to install from the repository. Internet access is required - center True 0 @@ -2908,7 +3083,7 @@ agreement - 8 + 9 @@ -2918,7 +3093,7 @@ agreement Additional components - 8 + 9 False @@ -2987,7 +3162,6 @@ agreement True False Selecting software packages to install from the repository. Internet access is required - center True 0 @@ -3143,7 +3317,7 @@ agreement False True - 0 + 1 @@ -3218,7 +3392,7 @@ agreement True True - 1 + 2 @@ -3332,7 +3506,7 @@ agreement - 9 + 10 @@ -3342,7 +3516,7 @@ agreement Pacman software - 9 + 10 False @@ -3411,7 +3585,6 @@ agreement True False Enter your time zone - center True 0 @@ -3593,7 +3766,7 @@ agreement - 10 + 11 @@ -3603,7 +3776,7 @@ agreement Region - 10 + 11 False @@ -3672,7 +3845,6 @@ agreement True False Specify your preferred system languages - center True 0 @@ -3898,7 +4070,7 @@ agreement - 11 + 12 @@ -3908,7 +4080,7 @@ agreement Language - 11 + 12 False @@ -3977,7 +4149,6 @@ agreement True False Specify your preferred keyboard settings - center True 0 @@ -4495,7 +4666,7 @@ agreement - 12 + 13 @@ -4505,7 +4676,7 @@ agreement Keyboard - 12 + 13 False @@ -4574,7 +4745,6 @@ agreement True False Setting up system users - center True 0 @@ -4906,14 +5076,14 @@ agreement - False + True True 6 - 13 + 14 @@ -4923,7 +5093,7 @@ agreement Users - 13 + 14 False @@ -4992,7 +5162,6 @@ agreement True False Configuring startup services - center True 0 @@ -5043,133 +5212,153 @@ agreement False 5 - - Add + True True - True - Add service - image24 + in + 290 + + + True + True + StartupList + both + + + + + + Autostart + + + + 0 + + + + + + + Unit + + + + 1 + + + + + + + Service + + + + 2 + + + + + + + Description + + + word + 450 + + + 3 + + + + + + - False - True - 0 - - - - - Edit - True - False - True - True - Edit service - image23 - - - False - True - 1 - - - - - Remove - True - False - True - True - Remove service - image22 - - - False + True True 2 - - - False - True - 3 - - - - - True - True - in - 290 - + True - True - StartupList - both - - - - - - Autostart - - - - 0 - - - - + False + vertical + 5 - - Unit - - - - 1 - - + + True + True + True + Add service + image24 + + + False + True + 0 + - - Service - - - - 2 - - + + True + False + True + True + Edit service + image23 + + + False + True + 1 + - - Description - - - word - 450 - - - 3 - - + + True + False + True + True + Remove service + image22 + + + False + True + 2 + + + False + True + end + 3 + - False + True True - 4 + 3 - 14 + 15 @@ -5179,7 +5368,7 @@ agreement Startup configuration - 14 + 15 False @@ -5227,7 +5416,7 @@ agreement True False - Startup + Autorun of application True 0 @@ -5247,8 +5436,7 @@ agreement True False - Configuring startup services - center + Configuring autorun application True 0 @@ -5294,21 +5482,169 @@ agreement - + + True + False + 5 + + + True + True + in + 290 + + + True + True + StartupAppsList + 0 + both + + + + + + Autostart + + + + 0 + + + + + + + Application + + + + 1 + + + + + + + Group + + + + 2 + + + + + + + Description + + + word + 450 + + + 3 + + + + + + + + + True + True + 2 + + + + + True + False + vertical + 5 + + + True + True + True + Add service + image6 + + + + False + True + 0 + + + + + True + False + True + True + Edit service + image28 + + + + False + True + 1 + + + + + True + False + True + True + Remove service + image33 + + + + False + True + 2 + + + + + False + True + end + 3 + + + + + True + True + 1 + - 15 + 16 True False - page 16 + App autorun - 15 + 16 False @@ -5377,8 +5713,8 @@ agreement True False Setting up system boot - center True + False 0 @@ -5708,21 +6044,21 @@ agreement - False + True True 3 - False + True True 3 - 16 + 17 @@ -5732,7 +6068,7 @@ agreement Bootloader - 16 + 17 False @@ -5801,7 +6137,6 @@ agreement True False Setting up network access - center True 0 @@ -5848,7 +6183,6 @@ agreement - 350 True False vertical @@ -5898,59 +6232,86 @@ agreement True False - Domain administrator: + Password: False True - 3 + 5 - + True False True + False + * 10 False True - 4 + 6 + + + + + False + True + 0 + + + + + True + False + 5 + + + True + False + vertical + + + + + + False + True + 0 True False - Password: + Domain administrator: False True - 5 + 1 - + True False True - False - * 10 False True - 6 + 2 False True - 0 + 1 @@ -6018,7 +6379,7 @@ agreement False True - 1 + 2 @@ -6082,7 +6443,7 @@ agreement False True - 2 + 3 @@ -6166,19 +6527,19 @@ agreement True True - 3 + 4 - False + True True 3 - 17 + 18 @@ -6188,7 +6549,7 @@ agreement Network - 17 + 18 False @@ -6257,7 +6618,6 @@ agreement True False Selecting the software group to install from the repository. Internet access is required - center True 0 @@ -6346,7 +6706,7 @@ agreement - 18 + 19 @@ -6356,7 +6716,7 @@ agreement Packages - 18 + 19 False @@ -6425,7 +6785,6 @@ agreement True False Wait for the system to finish loading - center True 0 @@ -6490,6 +6849,7 @@ agreement True False + 3 @@ -6507,6 +6867,7 @@ agreement True False + 3 @@ -6550,24 +6911,81 @@ agreement - False + False + True + 1 + + + + + 20 + + + + + True + False + Installation process + + + 20 + False + + + + + True + False + vertical + 5 + + + True + False + end + System recovery + True + + + + + + + True + True + 1 + + + + + True + False + start + The process of restoring the system is underway... + True + + + + + + True True - 1 + 2 - 19 + 21 True False - Installation process + Recovery process - 19 + 21 False @@ -6601,7 +7019,7 @@ agreement start You have system installed on your computer. You can reboot and use your new system -or continue working in the environment, booted from the Live image. +or continue working in the system Live environment. center True @@ -6616,7 +7034,7 @@ or continue working in the environment, booted from the Live image. - 20 + 22 @@ -6626,7 +7044,64 @@ or continue working in the environment, booted from the Live image. Completion - 20 + 22 + False + + + + + True + False + vertical + 5 + + + True + False + end + System recovery successfully completed! + True + + + + + + + True + True + 1 + + + + + True + False + start + You can reboot the system and use the installed version or continue to work in the current system. + True + + + + + + True + True + 2 + + + + + 23 + + + + + True + False + Recovery completion + + + 23 False @@ -6673,7 +7148,7 @@ or continue working in the environment, booted from the Live image. - 21 + 24 @@ -6683,7 +7158,7 @@ or continue working in the environment, booted from the Live image. Completed - 21 + 24 False @@ -6730,7 +7205,7 @@ or continue working in the environment, booted from the Live image. - 22 + 25 @@ -6740,7 +7215,7 @@ or continue working in the environment, booted from the Live image. Configuration error - 22 + 25 False @@ -6787,7 +7262,7 @@ or continue working in the environment, booted from the Live image. - 23 + 26 @@ -6797,7 +7272,7 @@ or continue working in the environment, booted from the Live image. Configuration end - 23 + 26 False @@ -6844,7 +7319,7 @@ or continue working in the environment, booted from the Live image. - 24 + 27 @@ -6854,7 +7329,7 @@ or continue working in the environment, booted from the Live image. Configuration saved - 24 + 27 False @@ -6872,8 +7347,6 @@ or continue working in the environment, booted from the Live image. True False - 10 - 5 True @@ -6899,8 +7372,8 @@ or continue working in the environment, booted from the Live image. True False - 48 - /com/ublinux/images/install_type_fast_normal.png + 64 + com.ublinux.ubinstall-gtk.install-common 0 @@ -6939,7 +7412,6 @@ or continue working in the environment, booted from the Live image. True False Deleting all data on the selected disk and then installing the system - center True 0 @@ -7009,7 +7481,7 @@ or continue working in the environment, booted from the Live image. - + True True True @@ -7026,6 +7498,23 @@ or continue working in the environment, booted from the Live image. 1 + + + True + True + True + image34 + + + + False + True + end + 2 + + False @@ -7248,6 +7737,12 @@ or continue working in the environment, booted from the Live image. True False 1 + True + + + True + + True @@ -7308,7 +7803,7 @@ or continue working in the environment, booted from the Live image. - 25 + 28 @@ -7318,7 +7813,7 @@ or continue working in the environment, booted from the Live image. Common Installation - 25 + 28 False @@ -7336,8 +7831,6 @@ or continue working in the environment, booted from the Live image. True False - 10 - 5 True @@ -7363,8 +7856,8 @@ or continue working in the environment, booted from the Live image. True False - 48 - /com/ublinux/images/install_type_next_normal.png + 64 + com.ublinux.ubinstall-gtk.install-near 0 @@ -7403,7 +7896,6 @@ or continue working in the environment, booted from the Live image. True False Shrinking a partition and creating a new one for installing OS - center True 0 @@ -7495,7 +7987,7 @@ or continue working in the environment, booted from the Live image. - + True True True @@ -7512,6 +8004,23 @@ or continue working in the environment, booted from the Live image. 1 + + + True + True + True + image35 + + + + False + True + end + 2 + + False @@ -7908,6 +8417,18 @@ or continue working in the environment, booted from the Live image. 4 + + + False + True + 0 + + + + + True + False + 5 True @@ -7925,9 +8446,16 @@ or continue working in the environment, booted from the Live image. True False 1 + True + + + True + True + + - True + False True 6 @@ -7985,7 +8513,7 @@ or continue working in the environment, booted from the Live image. - 26 + 29 @@ -7995,7 +8523,7 @@ or continue working in the environment, booted from the Live image. Installation next to system - 26 + 29 False @@ -8013,8 +8541,6 @@ or continue working in the environment, booted from the Live image. True False - 10 - 5 True @@ -8040,8 +8566,8 @@ or continue working in the environment, booted from the Live image. True False - 48 - /com/ublinux/images/install_type_part_normal.png + 64 + com.ublinux.ubinstall-gtk.install-part 0 @@ -8080,7 +8606,6 @@ or continue working in the environment, booted from the Live image. True False Unpacking into an existing system - center True 0 @@ -8172,7 +8697,7 @@ or continue working in the environment, booted from the Live image. - + True True True @@ -8189,6 +8714,23 @@ or continue working in the environment, booted from the Live image. 1 + + + True + True + True + image37 + + + + False + True + end + 2 + + False @@ -8554,6 +9096,13 @@ or continue working in the environment, booted from the Live image. True False 1 + True + + + True + True + + True @@ -8614,7 +9163,7 @@ or continue working in the environment, booted from the Live image. - 27 + 30 @@ -8624,7 +9173,7 @@ or continue working in the environment, booted from the Live image. Installation on same partition - 27 + 30 False @@ -8653,8 +9202,8 @@ or continue working in the environment, booted from the Live image. True False - 48 - /com/ublinux/images/install_type_custom_normal.png + 64 + com.ublinux.ubinstall-gtk.install-advanced 0 @@ -8693,7 +9242,6 @@ or continue working in the environment, booted from the Live image. True False Installing OS files, user data on different partitions, creating RAID, etc. - center True 0 @@ -8745,6 +9293,7 @@ or continue working in the environment, booted from the Live image. <b>Attention!</b> The selected system components will be installed separately into the selected partition. True + True 0 @@ -8857,6 +9406,23 @@ separately into the selected partition. 1 + + + True + True + True + image38 + + + + False + True + end + 2 + + False @@ -9563,6 +10129,7 @@ separately into the selected partition. True False True + vertical AdvancedSwapAdjustment @@ -9670,7 +10237,7 @@ separately into the selected partition. - 28 + 31 @@ -9680,7 +10247,7 @@ separately into the selected partition. Advanced section - 28 + 31 False @@ -9709,8 +10276,8 @@ separately into the selected partition. True False - 48 - /com/ublinux/images/install_type_recovery_normal.png + 64 + com.ublinux.ubinstall-gtk.install-recovery 0 @@ -9749,7 +10316,6 @@ separately into the selected partition. True False Recovering bootloader, OS files, user data - center True 0 @@ -9824,7 +10390,8 @@ separately into the selected partition. True False - /com/ublinux/images/install_type_grub_install_normal.png + 64 + com.ublinux.ubinstall-gtk.install-grub False @@ -9901,7 +10468,8 @@ separately into the selected partition. True False - /com/ublinux/images/install_type_grub_update_normal.png + 64 + com.ublinux.ubinstall-gtk.install-grub-update False @@ -9978,7 +10546,8 @@ separately into the selected partition. True False - /com/ublinux/images/install_type_system_only_normal.png + 64 + com.ublinux.ubinstall-gtk.install-system False @@ -10055,7 +10624,8 @@ separately into the selected partition. True False - /com/ublinux/images/install_type_data_only_normal.png + 64 + com.ublinux.ubinstall-gtk.install-user False @@ -10128,7 +10698,7 @@ separately into the selected partition. - 29 + 32 @@ -10138,7 +10708,7 @@ separately into the selected partition. Recovery section - 29 + 32 False @@ -10173,8 +10743,8 @@ separately into the selected partition. True False - 48 - /com/ublinux/images/install_type_grub_install_normal.png + 64 + com.ublinux.ubinstall-gtk.install-grub 0 @@ -10213,7 +10783,6 @@ separately into the selected partition. True False Install the GRUB bootloader - center True 0 @@ -10297,7 +10866,7 @@ separately into the selected partition. - + True True True @@ -10313,6 +10882,23 @@ separately into the selected partition. 1 + + + True + True + True + image39 + + + + False + True + end + 2 + + False @@ -10530,7 +11116,7 @@ separately into the selected partition. - 30 + 33 @@ -10540,7 +11126,7 @@ separately into the selected partition. GRUB install - 30 + 33 False @@ -10569,8 +11155,8 @@ separately into the selected partition. True False - 48 - /com/ublinux/images/install_type_grub_update_normal.png + 64 + com.ublinux.ubinstall-gtk.install-grub-update 0 @@ -10609,7 +11195,6 @@ separately into the selected partition. True False Update (reinstall) the GRUB bootloader - center True 0 @@ -10693,7 +11278,7 @@ separately into the selected partition. - + True True True @@ -10709,6 +11294,23 @@ separately into the selected partition. 1 + + + True + True + True + image41 + + + + False + True + end + 2 + + False @@ -10919,7 +11521,7 @@ separately into the selected partition. - 31 + 34 @@ -10929,7 +11531,7 @@ separately into the selected partition. GRUB update - 31 + 34 False @@ -10958,8 +11560,8 @@ separately into the selected partition. True False - 48 - /com/ublinux/images/install_type_system_only_normal.png + 64 + com.ublinux.ubinstall-gtk.install-system 0 @@ -10998,7 +11600,6 @@ separately into the selected partition. True False Installing only OS components without user data - center True 0 @@ -11082,7 +11683,7 @@ separately into the selected partition. - + True True True @@ -11098,6 +11699,23 @@ separately into the selected partition. 1 + + + True + True + True + image40 + + + + False + True + end + 2 + + False @@ -11415,10 +12033,11 @@ separately into the selected partition. False 5 - + True False Size: + 0 False @@ -11427,15 +12046,20 @@ separately into the selected partition. + + True + False + 5 + True True PartitionSize - False + True True - 1 + 0 @@ -11452,19 +12076,27 @@ separately into the selected partition. False True - 2 + 1 + + + + + False + True + 1 - + True False Partition label: + 0.30000001192092896 False True - 3 + 2 @@ -11473,57 +12105,78 @@ separately into the selected partition. True - False + True True - 4 + 3 + + + False + True + 0 + + + + + True + False + 5 - + True False File system type: + 0 False True - 5 + 0 + + True + False + + + True + False + 5 + True False 1 + True - True - True - 6 - - - - False True 0 - - - - - True - False - 5 + + - + True False File system label: + 0 False True - 0 + 1 + + + + + + + False + True + 1 @@ -11532,13 +12185,25 @@ separately into the selected partition. True - False + True True - 1 + 2 + + + False + True + 2 + + + + + True + False + 5 - + True False Encryption: @@ -11546,10 +12211,15 @@ separately into the selected partition. False True - 2 + 0 + + True + False + 5 + True False @@ -11558,9 +12228,9 @@ separately into the selected partition. - False + True True - 3 + 0 @@ -11572,7 +12242,14 @@ separately into the selected partition. False True - 4 + 1 + + + + + False + True + 1 @@ -11581,9 +12258,9 @@ separately into the selected partition. True - False + True True - 5 + 3 @@ -11599,14 +12276,14 @@ separately into the selected partition. False True - 6 + 4 False True - 1 + 4 @@ -11655,7 +12332,7 @@ separately into the selected partition. - 32 + 35 @@ -11665,7 +12342,7 @@ separately into the selected partition. OS only - 32 + 35 False @@ -11694,8 +12371,8 @@ separately into the selected partition. True False - 48 - /com/ublinux/images/install_type_data_only_normal.png + 64 + com.ublinux.ubinstall-gtk.install-user 0 @@ -11734,7 +12411,6 @@ separately into the selected partition. True False Installing only user data without OS components - center True 0 @@ -11834,6 +12510,23 @@ separately into the selected partition. 1 + + + True + True + True + image42 + + + + False + True + end + 2 + + False @@ -12153,10 +12846,11 @@ separately into the selected partition. False 5 - + True False Size: + 1 False @@ -12165,6 +12859,11 @@ separately into the selected partition. + + True + False + 5 + True True @@ -12173,9 +12872,9 @@ separately into the selected partition. 16 - False + True True - 1 + 0 @@ -12192,19 +12891,27 @@ separately into the selected partition. False True - 2 + 1 + + + + + False + True + 1 - + True False Partition label: + 0 False True - 3 + 2 @@ -12213,57 +12920,72 @@ separately into the selected partition. True - False + True True 4 + + + False + True + 0 + + + + + True + False + 5 - + True False File system type: + 1 False True - 5 + 0 + + True + False + 5 + True False 1 + True - True - True - 6 - - - - False True 0 - - - - - True - False - 5 + + - + True False File system label: + 0 False True - 0 + 1 + + + + + False + True + 3 @@ -12272,24 +12994,42 @@ separately into the selected partition. True - False + True True - 1 + 4 + + + False + True + 2 + + + + + True + False + 5 - + True False Encryption: + 1 False True - 2 + 0 + + True + False + 5 + True False @@ -12298,9 +13038,9 @@ separately into the selected partition. - False + True True - 3 + 1 @@ -12312,7 +13052,14 @@ separately into the selected partition. False True - 4 + 2 + + + + + False + True + 1 @@ -12321,9 +13068,9 @@ separately into the selected partition. True - False + True True - 5 + 4 @@ -12339,14 +13086,14 @@ separately into the selected partition. False True - 6 + 5 False True - 1 + 4 @@ -12395,7 +13142,7 @@ separately into the selected partition. - 33 + 36 @@ -12405,7 +13152,7 @@ separately into the selected partition. User data only - 33 + 36 False @@ -12759,4 +13506,29 @@ separately into the selected partition. + + + + + + + + + + + + + + + + + + + + + + + + +