|
|
#include <gtk/gtk.h>
|
|
|
#include <gtk/gtkx.h>
|
|
|
#include <locale.h>
|
|
|
#include <stdio.h>
|
|
|
#include <unistd.h>
|
|
|
#include <stdlib.h>
|
|
|
#include <libintl.h>
|
|
|
#include <getopt.h>
|
|
|
#include <libintl.h>
|
|
|
#include <json-c/json.h>
|
|
|
#include <sys/statvfs.h>
|
|
|
#include <libublsettings.h>
|
|
|
#include <libublsettings-gtk3.h>
|
|
|
#include <libublsettingsui-gtk3.h>
|
|
|
#ifdef WEBKIT_FOUND
|
|
|
#include <webkit2/webkit2.h>
|
|
|
#endif
|
|
|
#include "ubl-strings.h"
|
|
|
|
|
|
#define WIKI_LINK "https://wiki.ublinux.ru/ru/Программное_обеспечение/Программы_и_утилиты/Все/ubinstall-gtk"
|
|
|
|
|
|
#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"
|
|
|
#define glade_path_network_info "/com/ublinux/ui/ubinstall-gtk-network-box.glade"
|
|
|
#define glade_path_log_view "/com/ublinux/ui/ubinstall-gtk-log-view.glade"
|
|
|
#define glade_path_user "/com/ublinux/ui/ubinstall-gtk-user.glade"
|
|
|
#define glade_path_menu_window "/com/ublinux/ui/ubinstall-gtk-menu.glade"
|
|
|
#define glade_path_menu_item "/com/ublinux/ui/ubinstall-gtk-menu-item.glade"
|
|
|
#define glade_path_kernel_row "/com/ublinux/ui/ubinstall-gtk-kernel-row.glade"
|
|
|
#define glade_path_os_row "/com/ublinux/ui/ubinstall-gtk-os-row.glade"
|
|
|
#define glade_path_service "/com/ublinux/ui/ubinstall-gtk-service-window.glade"
|
|
|
#define glade_path_bootloader_user "/com/ublinux/ui/ubinstall-gtk-bootloader-user.glade"
|
|
|
#define glade_path_advanced_part "/com/ublinux/ui/ubinstall-gtk-advanced-box.glade"
|
|
|
#define glade_path_configuration_mode "/com/ublinux/ui/ubinstall-gtk-configuration-mode.glade"
|
|
|
#define glade_path_source "/com/ublinux/ui/ubinstall-gtk-source.glade"
|
|
|
#define glade_path_source_element "/com/ublinux/ui/ubinstall-gtk-source-element.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 icon_path "com.ublinux.ubinstall-gtk"
|
|
|
|
|
|
#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"
|
|
|
#define startup_path "/com/ublinux/images/keyboard.png"
|
|
|
#define bootloader_path "/com/ublinux/images/keyboard.png"
|
|
|
#define network_icon_path "/com/ublinux/images/keyboard.png"
|
|
|
|
|
|
#define licence_path "/usr/share/ublinux/agreement/EULA.txt"
|
|
|
|
|
|
#define languages_path "/usr/share/ubinstall-gtk/csv/locales.csv"
|
|
|
#define installer_languages_path "resource:///com/ublinux/csv/languages.csv"
|
|
|
|
|
|
#define zone_path "/usr/share/zoneinfo/"
|
|
|
|
|
|
#define system_base_modules_path "/memory/data/from/0/ublinux/base"
|
|
|
#define system_modules_path "/memory/data/from/0/ublinux/modules"
|
|
|
#define additional_software_path "resource:///com/ublinux/csv/modules.csv"
|
|
|
#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 network_path "resource:///com/ublinux/csv/network-list.csv"
|
|
|
#define fs_types_path "resource:///com/ublinux/csv/filesystems-format-list.csv"
|
|
|
|
|
|
#define locales_list_command "/usr/share/i18n/locales/"
|
|
|
|
|
|
#define slide_0_path "/com/ublinux/images/slide-0.png"
|
|
|
|
|
|
#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 -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_menus_entry_command "/usr/lib/ublinux/scripts/grub-functions exec_get_all_menuentry"
|
|
|
|
|
|
#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"
|
|
|
|
|
|
#define get_models_command "sed '/<\\/modelList>/q' /usr/share/X11/xkb/rules/base.xml | grep -E '^ {8,8}<name>|^ {8,8}<description>'|sed -e 's/ *<name>//g' -e 's,</name>,,g' -e 's/ *<description>//g' -e 's,</description>,,g'"
|
|
|
|
|
|
#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_auto "ipv4.method auto"
|
|
|
|
|
|
#define get_layouts_command "xkbcli list --load-exotic | awk \"\
|
|
|
layout && /description:/ {\
|
|
|
match(\\$0, /: *(.*)/, matches);\
|
|
|
description = matches[1];\
|
|
|
printf \\\"%s|%s|%s\\\\n\\\", layout, variant, description;\
|
|
|
layout = \\\"\\\"; variant = \\\"\\\";\
|
|
|
}\
|
|
|
/layout:/ {\
|
|
|
match(\\$0, /: *'([^']+)'/, matches);\
|
|
|
l = matches[1];\
|
|
|
layout = layouts[l] = l;\
|
|
|
}\
|
|
|
/variant:/ {\
|
|
|
match(\\$0, /: *'([^']+)'/, matches);\
|
|
|
variant = matches[1];\
|
|
|
}\
|
|
|
\" | sort -u\
|
|
|
"
|
|
|
|
|
|
#define enable_vnc_command "ubconfig --target system set [desktop] X11VNC=ublinux"
|
|
|
#define disable_vnc_command "ubconfig --target system remove [desktop] X11VNC=ublinux"
|
|
|
|
|
|
#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_TYPE_INSTALL "AUTOINSTALL[install_type]"
|
|
|
#define AUTOINSTALL_TYPE_INSTALL_command "ubconfig --source global get [autoinstall] AUTOINSTALL[install_type]"
|
|
|
|
|
|
#define AUTOINSTALL_DEVICE "AUTOINSTALL[device]"
|
|
|
#define AUTOINSTALL_DEVICE_command "ubconfig --source global get [autoinstall] AUTOINSTALL[device]"
|
|
|
|
|
|
#define part_parameter "AUTOINSTALL[part]"
|
|
|
#define part_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[part]"
|
|
|
|
|
|
#define modules_parameter "AUTOINSTALL[modules]"
|
|
|
#define modules_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[modules]"
|
|
|
|
|
|
#define modules_extra_parameter "AUTOINSTALL[modules_extra]"
|
|
|
#define modules_extra_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[modules_extra]"
|
|
|
|
|
|
/*------------------------------------------------------------*/
|
|
|
#define root_password_parameter "AUTOINSTALL[ubconfig set [users] DEFAULTROOTPASSWD]"
|
|
|
#define root_password_parameter_command "ubconfig --source global --conarg get [autoinstall] AUTOINSTALL['ubconfig set [users] DEFAULTROOTPASSWD']"
|
|
|
#define autologin_parameter "AUTOINSTALL[ubconfig set [desktop] AUTOLOGINUSER]"
|
|
|
#define autologin_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [desktop] AUTOLOGINUSER']"
|
|
|
#define xkbmodel_parameter "AUTOINSTALL[ubconfig set [keyboard] XKBMODEL]"
|
|
|
#define xkbmodel_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [keyboard] XKBMODEL']"
|
|
|
#define xkblayout_parameter "AUTOINSTALL[ubconfig set [keyboard] XKBLAYOUT]"
|
|
|
#define xkblayout_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [keyboard] XKBLAYOUT']"
|
|
|
#define xkbvariant_parameter "AUTOINSTALL[ubconfig set [keyboard] XKBVARIANT]"
|
|
|
#define xkbvariant_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [keyboard] XKBVARIANT']"
|
|
|
#define xkboptions_parameter "AUTOINSTALL[ubconfig set [keyboard] XKBOPTIONS]"
|
|
|
#define xkboptions_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [keyboard] XKBOPTIONS']"
|
|
|
#define hostname_parameter "AUTOINSTALL[ubconfig set [system] HOSTNAME]"
|
|
|
#define hostname_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [system] HOSTNAME']"
|
|
|
#define zone_parameter "AUTOINSTALL[ubconfig set [clock] ZONE]"
|
|
|
#define zone_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [clock] ZONE']"
|
|
|
#define lang_parameter "AUTOINSTALL[ubconfig set [locale] LANG]"
|
|
|
#define lang_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [locale] LANG']"
|
|
|
#define locale_parameter "AUTOINSTALL[ubconfig set [locale] LOCALE]"
|
|
|
#define locale_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [locale] LOCALE']"
|
|
|
/*------------------------------------------------------------*/
|
|
|
|
|
|
#define part_size_parameter "AUTOINSTALL[part_size]"
|
|
|
#define part_size_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[part_size]"
|
|
|
#define part_fs_type_parameter "AUTOINSTALL[part_fs_type]"
|
|
|
#define part_fs_type_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[part_fs_type]"
|
|
|
#define part_format_parameter "AUTOINSTALL[part_format]"
|
|
|
#define part_format_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[part_format]"
|
|
|
#define part_label_parameter "AUTOINSTALL[part_label]"
|
|
|
#define part_label_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[part_label]"
|
|
|
#define part_fs_label_parameter "AUTOINSTALL[part_fs_label]"
|
|
|
#define part_fs_label_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[part_fs_label]"
|
|
|
#define part_crypt_parameter "AUTOINSTALL[part_crypt]"
|
|
|
#define part_crypt_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[part_crypt]"
|
|
|
#define swap_parameter "AUTOINSTALL[swap]"
|
|
|
#define swap_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[swap]"
|
|
|
#define swap_size_parameter "AUTOINSTALL[swap_size]"
|
|
|
#define swap_size_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[swap_size]"
|
|
|
#define boot_parameter "AUTOINSTALL[boot]"
|
|
|
#define boot_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[boot]"
|
|
|
#define packages_parameter "AUTOINSTALL[packages]"
|
|
|
#define packages_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[packages]"
|
|
|
#define device_typevfs_parameter "AUTOINSTALL[device_typevfs]"
|
|
|
#define device_typevfs_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL[device_typevfs]"
|
|
|
#define NTPSERVERS_parameter "AUTOINSTALL[ubconfig set [network] NTPSERVERS]"
|
|
|
#define NTPSERVERS_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [network] NTPSERVERS']"
|
|
|
#define DOMAIN_parameter "AUTOINSTALL[ubconfig set [network] DOMAIN]"
|
|
|
#define DOMAIN_parameter_command "ubconfig --source global get [autoinstall] AUTOINSTALL['ubconfig set [network] DOMAIN']"
|
|
|
#define DOMAIN_admanger_parameter "AUTOINSTALL[ubconfig set [network] DOMAIN[admanger]]"
|
|
|
#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 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 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]"
|
|
|
#define GRUB_TIMEOUT_parameter_command "ubconfig get autoinstall AUTOINSTALL['ubconfig set [boot] GRUB_TIMEOUT']"
|
|
|
#define GRUB_DEFAULT_parameter "AUTOINSTALL[ubconfig set [boot] GRUB_DEFAULT]"
|
|
|
#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_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 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 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 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"
|
|
|
|
|
|
#define progress_path "/var/log/ubinstall_progress.log"
|
|
|
|
|
|
#define password_limits_path "/etc/security/pwquiality.conf"
|
|
|
|
|
|
#define short_log_path "/var/log/ubinstall_progress.log"
|
|
|
|
|
|
#define full_log_path "/var/log/ubinstall.log"
|
|
|
|
|
|
#define yon_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 default_langs(size) yon_char_parsed_new(size,"en_US.UTF-8","ru_RU.UTF-8",NULL);
|
|
|
|
|
|
#define install_common_parameters \
|
|
|
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,\
|
|
|
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_advanced_parameters \
|
|
|
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
|
|
|
|
|
|
#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,\
|
|
|
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,\
|
|
|
part_crypt_parameter
|
|
|
|
|
|
typedef char* string;
|
|
|
__attribute__((unused)) static \
|
|
|
string version_application;
|
|
|
|
|
|
enum YON_PAGES {
|
|
|
YON_PAGE_WELCOME = 0,
|
|
|
YON_PAGE_LICENCE,
|
|
|
YON_PAGE_SECTIONS,
|
|
|
YON_PAGE_OS_COMPONENTS,
|
|
|
YON_PAGE_INSTALLATION_BEGIN,
|
|
|
YON_PAGE_KERNEL,
|
|
|
YON_PAGE_KERNEL_ADDON,
|
|
|
YON_PAGE_SOFTWARE,
|
|
|
YON_PAGE_PACMAN_SOFTWARE,
|
|
|
YON_PAGE_REGION,
|
|
|
YON_PAGE_KEYBOARD,
|
|
|
YON_PAGE_USERS,
|
|
|
YON_PAGE_STARTUP,
|
|
|
YON_PAGE_BOOTLOADER,
|
|
|
YON_PAGE_NETWORK,
|
|
|
YON_PAGE_INSTALLATION,
|
|
|
YON_PAGE_COMPLETION,
|
|
|
YON_PAGE_COMPLETED,
|
|
|
YON_PAGE_INSTALL_ERROR,
|
|
|
YON_PAGE_CONFIGURE_END,
|
|
|
YON_PAGE_CONFIGURE_SAVE,
|
|
|
|
|
|
YON_PAGE_INSTALL_COMMON,
|
|
|
YON_PAGE_INSTALL_SEPARATE,
|
|
|
YON_PAGE_INSTALL_SAME_PARTITION,
|
|
|
YON_PAGE_INSTALL_ADVANCED,
|
|
|
YON_PAGE_INSTALL_RECOVERY,
|
|
|
|
|
|
YON_PAGE_RECOVERY_GRUB_INSTALL,
|
|
|
YON_PAGE_RECOVERY_GRUB_UPDATE,
|
|
|
YON_PAGE_RECOVERY_OS_ONLY,
|
|
|
YON_PAGE_RECOVERY_USRDATA_ONLY
|
|
|
};
|
|
|
|
|
|
typedef struct {
|
|
|
template_config_fields
|
|
|
config_str launch_arguments;
|
|
|
int launch_size;
|
|
|
int save_done;
|
|
|
int save_configured;
|
|
|
|
|
|
int install_complete;
|
|
|
guint slider_thread;
|
|
|
int install_mode;
|
|
|
unsigned long install_thread;
|
|
|
guint progress_thread;
|
|
|
int configure_mode;
|
|
|
int log_progress_buzy;
|
|
|
int autologin_default;
|
|
|
int format_default;
|
|
|
int log_end;
|
|
|
int exit_accepted;
|
|
|
GMutex progress_mutex;
|
|
|
GMutex install_mutex;
|
|
|
|
|
|
int arg_size;
|
|
|
config_str arg_target;
|
|
|
GtkWidget *status_box;
|
|
|
GHashTable *network_types;
|
|
|
GtkWidget *kernel_unchosen_radio;
|
|
|
|
|
|
char *config_load_path;
|
|
|
char *config_save_path;
|
|
|
unsigned int cur_slide;
|
|
|
} config;
|
|
|
|
|
|
extern config main_config;
|
|
|
|
|
|
typedef struct {
|
|
|
GtkWidget *CommonInstallationDevicesTree;
|
|
|
GtkWidget *GpartedCommonButton;
|
|
|
GtkWidget *CommonInstallationFilesystemTypeCombo;
|
|
|
GtkWidget *CommonInstallationSectionNameEntry;
|
|
|
GtkListStore *DevicesList;
|
|
|
} install_common_page;
|
|
|
|
|
|
typedef struct {
|
|
|
GtkBuilder *builder;
|
|
|
GtkListStore *DevicesList;
|
|
|
GtkListStore *LanguagesList;
|
|
|
GtkTreeStore *LayoutList;
|
|
|
GtkListStore *AdditionalSoftwareList;
|
|
|
GtkListStore *PartitionsList;
|
|
|
|
|
|
GtkWidget *LoadGlobalConfigurationMenuItem;
|
|
|
GtkWidget *LoadLocalConfigurationMenuItem;
|
|
|
GtkWidget *LoadExternalConfigurationMenuItem;
|
|
|
|
|
|
GtkWidget *SaveGlobalLocalConfigurationMenuItem;
|
|
|
GtkWidget *SaveGlobalConfigurationMenuItem;
|
|
|
GtkWidget *SaveLocalConfigurationMenuItem;
|
|
|
GtkWidget *SaveExternalConfigurationMenuItem;
|
|
|
|
|
|
GtkWidget *MainWindow;
|
|
|
|
|
|
GtkWidget *StartScenarioButton;
|
|
|
GtkWidget *SourceButton;
|
|
|
GtkWidget *SkipInstallationButton;
|
|
|
GtkWidget *MainSpinner;
|
|
|
|
|
|
GtkWidget *StatusBox;
|
|
|
GtkWidget *StatusBox2;
|
|
|
GtkWidget *WelcomeToggle;
|
|
|
GtkWidget *LicenceToggle;
|
|
|
GtkWidget *LocationToggle;
|
|
|
GtkWidget *KeyboardToggle;
|
|
|
GtkWidget *SectionsToggle;
|
|
|
GtkWidget *UsersToggle;
|
|
|
GtkWidget *SummaryToggle;
|
|
|
GtkWidget *CompletionToggle;
|
|
|
GtkWidget *InstallationToggle;
|
|
|
GtkWidget *LanguagesTree;
|
|
|
GtkWidget *CountryLanguagesTree;
|
|
|
GtkListStore *InstallerCountryList;
|
|
|
GtkListStore *InstallerLanguageList;
|
|
|
// GtkWidget *LanguageCombo;
|
|
|
GtkWidget *RegionCombo;
|
|
|
GtkWidget *ZoneCombo;
|
|
|
GtkWidget *AvailableLanguagesEntry;
|
|
|
GtkWidget *AvailableLanguagesButton;
|
|
|
GtkWidget *LanguagesCombo;
|
|
|
GtkWidget *KeyboardModelCombo;
|
|
|
GtkWidget *LayoutBindingCombo;
|
|
|
GtkWidget *LayoutTree;
|
|
|
GtkWidget *AddButton;
|
|
|
GtkWidget *RemoveButton;
|
|
|
|
|
|
GtkWidget *InstallationRadio;
|
|
|
GtkWidget *InstallationNearRadio;
|
|
|
GtkWidget *InstallationLinuxRadio;
|
|
|
GtkWidget *InstallationWindowsRadio;
|
|
|
GtkWidget *InstallationOptionsRadio;
|
|
|
|
|
|
GtkWidget *UserImage;
|
|
|
GtkWidget *UserRootNameEntry;
|
|
|
GtkWidget *UserRootLoginEntry;
|
|
|
GtkWidget *UserRootPasswordCombo;
|
|
|
GtkWidget *UserRootPasswordEntry;
|
|
|
GtkWidget *UserRootPasswordButton;
|
|
|
GtkWidget *UserAutologinSwitch;
|
|
|
GtkWidget *UserAddBox;
|
|
|
GtkWidget *UserAddButton;
|
|
|
|
|
|
GtkWidget *HotnameEntry;
|
|
|
GtkWidget *AutoHostnameCheck;
|
|
|
GtkWidget *CancelInstallButton;
|
|
|
GtkWidget *BackButton;
|
|
|
GtkWidget *NextButton;
|
|
|
GtkWidget *mainSettingsButton;
|
|
|
GtkWidget *menu1;
|
|
|
GtkWidget *menu2;
|
|
|
|
|
|
GtkWidget *RegionImage;
|
|
|
GtkWidget *RegionBox;
|
|
|
GtkWidget *RegionAspect;
|
|
|
GtkWidget *KeyboardImage;
|
|
|
GtkWidget *KeyboardBox;
|
|
|
GtkCellRenderer *KeyboardLayoutChosenCell;
|
|
|
|
|
|
GtkWidget *Notebook;
|
|
|
GtkWidget *LicenceLabel;
|
|
|
GtkWidget *SlidesImage;
|
|
|
|
|
|
GtkWidget *CommonInstallationDevicesTree;
|
|
|
GtkWidget *CommonInstallationFilesystemTypeCombo;
|
|
|
GtkWidget *CommonInstallationSectionNameEntry;
|
|
|
GtkWidget *CommonFormatSwitch;
|
|
|
GtkWidget *GpartedCommonButton;
|
|
|
|
|
|
GtkWidget *NextInstallationSysDevicesTree;
|
|
|
GtkWidget *NextInstallationSysSectionTree;
|
|
|
GtkWidget *NextInstallationFormatSwitch;
|
|
|
GtkWidget *NextInstallationFormatRevealer;
|
|
|
GtkWidget *NextInstallationSizeSpin;
|
|
|
GtkWidget *NextInstallationSizeTypeSpin;
|
|
|
GtkWidget *NextInstallationFilesystemTypeCombo;
|
|
|
GtkWidget *NextInstallationSectionNameEntry;
|
|
|
GtkWidget *GpartedNextInstallationButton;
|
|
|
|
|
|
GtkWidget *SamePlaceDeviceTree;
|
|
|
GtkWidget *SamePlacePartTree;
|
|
|
GtkWidget *SameInstallationFormatSwitch;
|
|
|
GtkWidget *SameInstallationFormatRevealer;
|
|
|
GtkWidget *SameInstallationFilesystemTypeCombo;
|
|
|
GtkWidget *SameInstallationSectionNameEntry;
|
|
|
GtkWidget *GpartedSameButton;
|
|
|
|
|
|
GtkWidget *InstallationProgress;
|
|
|
GtkWidget *InstallationLabel;
|
|
|
GtkWidget *ReadShortLogButton;
|
|
|
GtkWidget *PackageInstallationProgress;
|
|
|
GtkWidget *PackageInstallationLabel;
|
|
|
GtkWidget *ReadFullLogButton;
|
|
|
|
|
|
|
|
|
GtkWidget *ConfigurationModeMenuItem;
|
|
|
GtkWidget *EnableVNCMenuItem;
|
|
|
GtkWidget *AboutMenuItem;
|
|
|
GtkWidget *DocumentationMenuItem;
|
|
|
|
|
|
GtkCellRenderer *AdditionalSoftwareCell;
|
|
|
|
|
|
GtkWidget *AdditionalSoftwareTree;
|
|
|
|
|
|
GtkWidget *GrubInstallRadio;
|
|
|
GtkWidget *GrubUpdateRadio;
|
|
|
GtkWidget *SeparateRadio;
|
|
|
GtkWidget *OSRadio;
|
|
|
GtkWidget *UserDataOnlyRadio;
|
|
|
|
|
|
GtkWidget *GpartedGrubInstallButton;
|
|
|
GtkWidget *GrubInstallDevicesTree;
|
|
|
GtkWidget *GrubInstallPartitionTree;
|
|
|
|
|
|
GtkWidget *GpartedGrubUpdateButton;
|
|
|
GtkWidget *GrubUpdateDevicesTree;
|
|
|
GtkWidget *GrubUpdatePartitionTree;
|
|
|
|
|
|
GtkWidget *GpartedOSButton;
|
|
|
GtkWidget *OSDevicesTree;
|
|
|
GtkWidget *OSSysSectionTree;
|
|
|
GtkWidget *OSFormatSwitch;
|
|
|
GtkWidget *OSFormatSizeSpin;
|
|
|
GtkWidget *OSFormatSizeCombo;
|
|
|
GtkWidget *OSFormatPartitionEntry;
|
|
|
GtkWidget *OSFilesystemTypeCombo;
|
|
|
GtkWidget *OSFormatFSMarkEntry;
|
|
|
GtkWidget *OSFormatEncryptionCombo;
|
|
|
GtkWidget *OSFormatEncryptionEntry;
|
|
|
|
|
|
GtkWidget *GpartedUserdataButton;
|
|
|
GtkWidget *UserdataDevicesTree;
|
|
|
GtkWidget *UserdataSysSectionTree;
|
|
|
GtkWidget *UserdataFormatSwitch;
|
|
|
GtkWidget *UserdataFormatSizeSpin;
|
|
|
GtkWidget *UserdataFormatSizeCombo;
|
|
|
GtkWidget *UserdataFormatPartitionEntry;
|
|
|
GtkWidget *UserdataFilesystemTypeCombo;
|
|
|
GtkWidget *UserdataFormatFSMarkEntry;
|
|
|
GtkWidget *UserdataFormatEncryptionCombo;
|
|
|
GtkWidget *UserdataFormatEncryptionEntry;
|
|
|
|
|
|
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;
|
|
|
|
|
|
GtkWidget *KernelListBox;
|
|
|
GtkWidget *KernelInstallLabel;
|
|
|
GtkWidget *KernelEnableLabel;
|
|
|
GtkWidget *KernelNameLabel;
|
|
|
GtkWidget *KernelTagsLabel;
|
|
|
GtkWidget *KernelModulesLabel;
|
|
|
GtkWidget *KernelDescriptionLabel;
|
|
|
GtkSizeGroup *KernelSizeGroup;
|
|
|
|
|
|
GtkWidget *KernelAddonListBox;
|
|
|
GtkWidget *KernelAddonInstallLabel;
|
|
|
GtkWidget *KernelAddonNameLabel;
|
|
|
GtkWidget *KernelAddonModulesLabel;
|
|
|
GtkWidget *KernelAddonDescriptionLabel;
|
|
|
|
|
|
GtkWidget *OSSoftwareListBox;
|
|
|
GtkWidget *OSSoftwareInstallLabel;
|
|
|
GtkWidget *OSSoftwareNameLabel;
|
|
|
GtkWidget *OSSoftwareTagsLabel;
|
|
|
GtkWidget *OSSoftwareDescriptionLabel;
|
|
|
|
|
|
GtkWidget *PacmanSoftwareSearchEntry;
|
|
|
GtkWidget *PacmanSoftwareStatusImage;
|
|
|
GtkWidget *PacmanSoftwareStatusLabel;
|
|
|
GtkWidget *PacmanSoftwareStatusButton;
|
|
|
|
|
|
GtkWidget *PacmanLoadingOverlay;
|
|
|
GtkWidget *PacmanSoftwareAllPackagesTree;
|
|
|
GtkListStore *PacmanSoftwareAllList;
|
|
|
GtkCellRenderer *PacmanSoftwareAllCell;
|
|
|
GHashTable *pacmanchosen;
|
|
|
|
|
|
GtkWidget *PacmanSoftwareChosenPackagesTree;
|
|
|
GtkListStore *PacmanSoftwareChosenList;
|
|
|
GtkCellRenderer *PacmanSoftwareChosenCell;
|
|
|
|
|
|
GtkWidget *StartupImage;
|
|
|
GtkWidget *StartupServicesTree;
|
|
|
GtkWidget *StartupServicesAddButton;
|
|
|
GtkWidget *StartupServicesEditButton;
|
|
|
GtkWidget *StartupServicesRemoveButton;
|
|
|
GtkCellRenderer *StartupChosenCell;
|
|
|
GtkListStore *StartupList;
|
|
|
|
|
|
GtkWidget *BootloaderImage;
|
|
|
GtkWidget *BootloadTimerSwitch;
|
|
|
GtkWidget *BootloadTimerSpin;
|
|
|
GtkWidget *BootloadDefaultOSEntry;
|
|
|
GtkWidget *BootloadDefaulOSButton;
|
|
|
GtkWidget *BootloadNoPasswordSwitch;
|
|
|
GtkWidget *BootloadUserAddButton;
|
|
|
GtkWidget *BootloadUserRemoveButton;
|
|
|
GtkWidget *BootloadUserTree;
|
|
|
GtkListStore *BootloadUsersList;
|
|
|
|
|
|
GtkWidget *NetworkImage;
|
|
|
GtkWidget *NetworkDomainSwitch;
|
|
|
GtkWidget *NetworkDomainNameEntry;
|
|
|
GtkWidget *NetworkDomainAdminEntry;
|
|
|
GtkWidget *NetworkDomainPasswordEntry;
|
|
|
GtkWidget *NetworkNTPServerSwitch;
|
|
|
GtkWidget *NetworkNTPCombo;
|
|
|
GtkWidget *NetworkNTPEntry;
|
|
|
GtkWidget *NetworkConnectionsBox;
|
|
|
GtkWidget *NetworkConnectionsAddButton;
|
|
|
GHashTable *network_connections;
|
|
|
|
|
|
GtkCellRenderer *AdvancedDeviceChosenCell;
|
|
|
GtkCellRenderer *AdvancedPartChosenCell;
|
|
|
GtkWidget *AdvancedDeviceTree;
|
|
|
GtkWidget *AdvancedVirtualDeviceCombo;
|
|
|
GtkWidget *AdvancedPartitionTree;
|
|
|
GtkWidget *AdvancedPartitionAddBox;
|
|
|
GtkWidget *AdvancedAddButton;
|
|
|
GtkWidget *AdvancedLoadTypeSwitch;
|
|
|
GtkWidget *AdvancedBiosSectorSwitch;
|
|
|
GtkWidget *AdvancedEFISwitch;
|
|
|
GtkWidget *AdvancedSwapSwitch;
|
|
|
GtkWidget *AdvancedSwapAutoSwitch;
|
|
|
GtkWidget *AdvancedSwapRamSwitch;
|
|
|
GtkWidget *AdvancedSwapFixedSpin;
|
|
|
GtkWidget *AdvancedSwapFixedSwitch;
|
|
|
GtkWidget *AdvancedSwapFixedSizeSwitch;
|
|
|
GtkWidget *AdvancedSwapRevealer;
|
|
|
GtkWidget *AdvancedLoadTypeRevealer;
|
|
|
dictionary *advanced_sections;
|
|
|
GSequence *advanced_partition_order;
|
|
|
|
|
|
|
|
|
GFile *install_progress_file;
|
|
|
GFileMonitor *install_progress_monitor;
|
|
|
GFile *install_info_file;
|
|
|
GFileMonitor *install_info_monitor;
|
|
|
|
|
|
} main_window;
|
|
|
|
|
|
enum ADVANCED_PART_TYPE {
|
|
|
ADVANCED_PART_NEW,
|
|
|
ADVANCED_PART_EXISTING
|
|
|
};
|
|
|
|
|
|
typedef struct {
|
|
|
GtkWidget *MainBox;
|
|
|
GtkWidget *SectionLabel;
|
|
|
GtkWidget *SystemSectionToggle;
|
|
|
GtkWidget *UserDataSectionToggle;
|
|
|
GtkWidget *RemoveButton;
|
|
|
GtkWidget *FormatSwitch;
|
|
|
GtkWidget *FormatRevealer;
|
|
|
GtkWidget *SizeSpin;
|
|
|
GtkWidget *SizeCombo;
|
|
|
GtkWidget *SectionMarkEntry;
|
|
|
GtkWidget *FileSystemTypeCombo;
|
|
|
GtkWidget *FileSystemMarkentry;
|
|
|
GtkWidget *EncryptionCombo;
|
|
|
GtkWidget *EncryptionEntry;
|
|
|
GtkWidget *EncryptionButton;
|
|
|
GSequenceIter *order_iter;
|
|
|
|
|
|
enum ADVANCED_PART_TYPE part_type;
|
|
|
char *part;
|
|
|
} advanced_partition;
|
|
|
|
|
|
typedef struct {
|
|
|
GtkWidget *Window;
|
|
|
GtkWidget *HeaderLabel;
|
|
|
GtkWidget *AlwaysOpenCheck;
|
|
|
|
|
|
GtkWidget *CloseButton;
|
|
|
GtkWidget *AcceptButton;
|
|
|
} documentation_confirmation_window;
|
|
|
|
|
|
typedef struct{
|
|
|
GtkWidget *MainWindow;
|
|
|
GtkWidget *StatusBox;
|
|
|
GtkWidget *headerBar;
|
|
|
GtkWidget *CancelButton;
|
|
|
GtkWidget *SaveButton;
|
|
|
GtkWidget *LayoutsTree;
|
|
|
GtkCellRenderer *ActiveToggle;
|
|
|
} ubinstall_keyboard_window;
|
|
|
|
|
|
typedef struct{
|
|
|
GtkListStore *liststore1;
|
|
|
GtkWidget *MainWindow;
|
|
|
GtkWidget *StatusBox;
|
|
|
GtkWidget *DefaultCheck;
|
|
|
GtkWidget *headerBar;
|
|
|
GtkWidget *CancelButton;
|
|
|
GtkWidget *SaveButton;
|
|
|
GtkWidget *LanguagesTree;
|
|
|
|
|
|
GtkCellRenderer *ToggleRenderer;
|
|
|
} ubinstall_language_window;
|
|
|
|
|
|
typedef struct{
|
|
|
GtkWidget *CreateGroupWindow;
|
|
|
GtkWidget *StatusBox;
|
|
|
GtkWidget *UserCancelButton;
|
|
|
GtkWidget *UserOkButton;
|
|
|
GtkWidget *UserRootPasswordEntry;
|
|
|
GtkWidget *RepeatPasswordEntry;
|
|
|
GtkWidget *PasswordHashEntry;
|
|
|
GtkWidget *HashBox;
|
|
|
GtkWidget *PasswordBox;
|
|
|
GtkWidget *NoEncriptionCheck;
|
|
|
} password_window;
|
|
|
|
|
|
typedef struct {
|
|
|
GtkWidget *Window;
|
|
|
GtkWidget *ScrollWindow;
|
|
|
GtkWidget *StatusBox;
|
|
|
GtkWidget *HeadLabel;
|
|
|
GtkWidget *LogLabel;
|
|
|
GtkWidget *ScrollToEndCheck;
|
|
|
GFileMonitor *monitor;
|
|
|
|
|
|
char *command;
|
|
|
} log_window;
|
|
|
|
|
|
typedef struct {
|
|
|
GtkWidget *Window;
|
|
|
GtkWidget *TitleLabel;
|
|
|
GtkWidget *TextLabel;
|
|
|
GtkWidget *AcceptButton;
|
|
|
GtkWidget *CancelButton;
|
|
|
} confirmation_window;
|
|
|
|
|
|
typedef struct {
|
|
|
GtkWidget *MainBox;
|
|
|
GtkWidget *TypeCombo;
|
|
|
GtkWidget *ConnectionCombo;
|
|
|
GtkWidget *ConnectionEntry;
|
|
|
GtkWidget *EnabledSwitch;
|
|
|
GtkWidget *RemoveButton;
|
|
|
GtkWidget *AutoGetIPSwitch;
|
|
|
GtkWidget *IpRevealer;
|
|
|
GtkWidget *IpAdressEntry;
|
|
|
GtkWidget *GatewayEntry;
|
|
|
GtkWidget *MaskEntry;
|
|
|
GtkWidget *DNSEntry;
|
|
|
} network_info;
|
|
|
|
|
|
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;
|
|
|
} yon_menu_window;
|
|
|
|
|
|
typedef struct {
|
|
|
GtkWidget *MenuItemBox;
|
|
|
GtkWidget *MenuButton;
|
|
|
GtkWidget *MenuTextLabel;
|
|
|
GtkWidget *NextIconButton;
|
|
|
|
|
|
char *target;
|
|
|
|
|
|
main_window *widgets;
|
|
|
yon_menu_window *window;
|
|
|
|
|
|
dictionary *children;
|
|
|
|
|
|
} yon_menu_item;
|
|
|
|
|
|
typedef struct {
|
|
|
GtkWidget *row;
|
|
|
GtkWidget *RowBox;
|
|
|
GtkWidget *TagsBox;
|
|
|
GtkWidget *InstallCheck;
|
|
|
GtkWidget *EnableRadio;
|
|
|
GtkWidget *EnableSeparator;
|
|
|
GtkWidget *TagsSeparator;
|
|
|
GtkWidget *NameLabel;
|
|
|
GtkWidget *DescriptionLabel;
|
|
|
GtkWidget *ModulesLabel;
|
|
|
|
|
|
char *name;
|
|
|
char *modules;
|
|
|
char *package;
|
|
|
} kernel_row;
|
|
|
|
|
|
typedef struct {
|
|
|
GtkWidget *row;
|
|
|
GtkWidget *RowBox;
|
|
|
GtkWidget *TagsBox;
|
|
|
GtkWidget *InstallCheck;
|
|
|
GtkWidget *NameLabel;
|
|
|
GtkWidget *VersionLabel;
|
|
|
GtkWidget *DescriptionLabel;
|
|
|
|
|
|
char *name;
|
|
|
char *modules;
|
|
|
char *version;
|
|
|
} os_row;
|
|
|
|
|
|
typedef struct {
|
|
|
GtkWidget *Window;
|
|
|
GtkWidget *StatusBox;
|
|
|
GtkWidget *UnitEntry;
|
|
|
GtkWidget *ServiceEntry;
|
|
|
GtkWidget *DescriptionEntry;
|
|
|
GtkWidget *CancelButton;
|
|
|
GtkWidget *AcceptButton;
|
|
|
} startup_service_window;
|
|
|
|
|
|
struct pacman_struct{
|
|
|
main_window *widgets;
|
|
|
const char *find_package;
|
|
|
gsize packages_size;
|
|
|
config_str packages;
|
|
|
};
|
|
|
|
|
|
typedef struct {
|
|
|
GtkWidget *Window;
|
|
|
GtkWidget *StatusBox;
|
|
|
GtkWidget *TitleLabel;
|
|
|
|
|
|
GtkWidget *AdminCheck;
|
|
|
GtkWidget *UsernameEntry;
|
|
|
GtkWidget *PasswordEntry;
|
|
|
GtkWidget *PasswordButton;
|
|
|
|
|
|
GtkWidget *CancelButton;
|
|
|
GtkWidget *AcceptButton;
|
|
|
|
|
|
char *prev_name;
|
|
|
} bootloader_user_window;
|
|
|
|
|
|
typedef struct {
|
|
|
GtkWidget *Window;
|
|
|
GtkWidget *StatusBox;
|
|
|
GtkWidget *PathEntry;
|
|
|
GtkWidget *PathButton;
|
|
|
GtkWidget *CancelButton;
|
|
|
GtkWidget *ChooseButton;
|
|
|
} configuration_window;
|
|
|
|
|
|
typedef struct {
|
|
|
GtkWidget *Window;
|
|
|
GtkWidget *StatusBox;
|
|
|
GtkWidget *CancelButton;
|
|
|
GtkWidget *AcceptButton;
|
|
|
GtkWidget *AutoSwitch;
|
|
|
GtkWidget *TypeCombo;
|
|
|
GtkWidget *PathEntry;
|
|
|
GtkWidget *PathButton;
|
|
|
GtkWidget *AddButton;
|
|
|
GtkWidget *AddBox;
|
|
|
GHashTable *sources;
|
|
|
} source_window;
|
|
|
|
|
|
typedef struct {
|
|
|
GtkWidget *MainBox;
|
|
|
GtkWidget *TypeCombo;
|
|
|
GtkWidget *PathEntry;
|
|
|
GtkWidget *PathButton;
|
|
|
GtkWidget *RemoveButton;
|
|
|
|
|
|
} source_element;
|
|
|
|
|
|
void config_init();
|
|
|
main_window *yon_main_window_complete();
|
|
|
ubinstall_language_window *yon_ubinstall_language_new();
|
|
|
void NewFunction(ubinstall_language_window *window, GtkBuilder *builder);
|
|
|
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_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);
|
|
|
|
|
|
gboolean on_install_success(main_window *widgets);
|
|
|
|
|
|
gboolean on_install_error(main_window *widgets);
|
|
|
|
|
|
// confirmation_window *yon_confirmation_window_new();
|
|
|
|
|
|
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_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_keyboard_removed(GtkWidget *, main_window *widgets);
|
|
|
void on_exit_accepted(main_window *widgets);
|
|
|
void on_gparted_open();
|
|
|
// void on_same_installation_device_changed(GtkWidget *, main_window *widgets);
|
|
|
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 *);
|
|
|
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);
|
|
|
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_config_save(void *data);
|
|
|
void *on_setup_system_configuration(void * data);
|
|
|
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);
|
|
|
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 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_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);
|
|
|
enum YON_PAGES yon_page_get_current(GtkNotebook *target);
|
|
|
void yon_switch_page_render(main_window *widgets);
|
|
|
void yon_page_update(main_window *);
|
|
|
void yon_navigation_buttons_set_sensetiveness(main_window *widgets);
|
|
|
int yon_region_save(main_window *widgets);
|
|
|
int yon_keyboard_save(main_window *widgets);
|
|
|
int yon_install_common_save(main_window *widgets);
|
|
|
int yon_install_separate_save(main_window *widgets);
|
|
|
int yon_install_same_partition_save(main_window *widgets);
|
|
|
int yon_grub_install_save(main_window *widgets);
|
|
|
int yon_grub_update_save(main_window *widgets);
|
|
|
int yon_os_components_save(main_window *widgets);
|
|
|
int yon_software_save(main_window *widgets);
|
|
|
int yon_kernel_save(main_window *widgets);
|
|
|
int yon_page_save(main_window *widgets, enum YON_PAGES page);
|
|
|
int yon_users_save(main_window *widgets);
|
|
|
int yon_bootloader_save(main_window *widgets);
|
|
|
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_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 *_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);
|
|
|
yon_user_struct *yon_user_struct_new();
|
|
|
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);
|
|
|
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 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_tags(kernel_row *row, char *tags);
|
|
|
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);
|
|
|
void on_srartup_services_toggled(GtkWidget *, char *path, main_window *widgets);
|
|
|
void on_startup_service_edit(GtkWidget *, main_window *widgets);
|
|
|
void on_startup_service_add(GtkWidget *, main_window *widgets);
|
|
|
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_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);
|
|
|
gboolean yon_pacman_fill(struct pacman_struct *pacman);
|
|
|
void *yon_pacman_load(struct pacman_struct *pacman);
|
|
|
int yon_kernel_addon_save(main_window *widgets);
|
|
|
void yon_password_change(GtkWidget *, bootloader_user_window *window);
|
|
|
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 yon_network_init(main_window *widgets);
|
|
|
void yon_page_init(main_window *widgets, enum YON_PAGES page);
|
|
|
void yon_bootloader_init(main_window *widgets);
|
|
|
void on_kernel_install_enabled(GtkWidget *, kernel_row *row);
|
|
|
void yon_user_init(main_window *widgets);
|
|
|
void yon_region_init(main_window *widgets);
|
|
|
void yon_keyboard_init(main_window *widgets);
|
|
|
void yon_install_init(main_window *widgets, enum YON_PAGES page);
|
|
|
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_add_new(GtkWidget *, 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 yon_advanced_partition_setup(advanced_partition *part,main_window *widgets);
|
|
|
void on_advanced_part_remove(GtkWidget *self, main_window *widgets);
|
|
|
int yon_advanced_get_part_size(main_window *widgets);
|
|
|
void yon_advanced_set_part_sensitivity(main_window *widgets, gboolean state);
|
|
|
void yon_advanced_set_device_sensitivity(main_window *widgets, gboolean state);
|
|
|
void on_advanced_parts_removed(GtkWidget *,GtkWidget*,main_window *widgets);
|
|
|
void on_advanced_parts_added(GtkWidget *,GtkWidget*,main_window *widgets);
|
|
|
void yon_advanced_partition_clear(main_window *widgets);
|
|
|
void yon_layout_build(char *key, GHashTable *value, main_window *widgets);
|
|
|
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);
|
|
|
int yon_config_save(main_window *widgets);
|
|
|
void yon_config_restore(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_choose(GtkWidget *self);
|
|
|
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);
|
|
|
source_element *yon_source_element_new();
|
|
|
void on_system_setup_pass(GtkWidget *, main_window *widgets);
|
|
|
void yon_resize_images_update(main_window *widgets);
|
|
|
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, main_window *widgets); |