From f9fb631f4ef194411e69b7acaedaf044cc0e936e Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Mon, 16 Feb 2026 16:46:53 +0600 Subject: [PATCH] Changed partition size saving --- gresource.xml | 1 - modules-list.csv | 208 ------------------------- modules.csv | 109 -------------- source/CMakeLists.txt | 1 - source/ubinstall-gtk-components.c | 36 +++-- source/ubinstall-gtk-installation.c | 226 +++++++++++++++++++--------- source/ubinstall-gtk.c | 25 ++- source/ubinstall-gtk.h | 5 +- source/ubl-strings.h | 2 + ubinstall-gtk.glade | 2 +- 10 files changed, 207 insertions(+), 408 deletions(-) delete mode 100644 modules-list.csv delete mode 100644 modules.csv diff --git a/gresource.xml b/gresource.xml index 6f162c0..27a572a 100644 --- a/gresource.xml +++ b/gresource.xml @@ -28,7 +28,6 @@ ubinstall-gtk.css - modules.csv kernel-list.csv kernel-list-addon.csv services-list.csv diff --git a/modules-list.csv b/modules-list.csv deleted file mode 100644 index c09728f..0000000 --- a/modules-list.csv +++ /dev/null @@ -1,208 +0,0 @@ -OS_VERSION_ID;PACKAGE_UBM;NAME_UBM;TAG_UBM;DESCRIPTION_UBM -2405;ubm-001-linux515;001-linux515-*-*-*.ubm;base;UBLinux module the kernel and modules -2405;ubm-001-linux61;001-linux61-*-*-*.ubm;base;UBLinux module the kernel and modules -2405;ubm-001-linux66;001-linux66-*-*-*.ubm;base;UBLinux module the kernel and modules -2405;ubm-002-linux515-headers;002-linux515-headers-*-*-*.ubm;base;UBLinux module headers and scripts for building modules -2405;ubm-002-linux61-headers;002-linux61-headers-*-*-*.ubm;base;UBLinux module headers and scripts for building modules -2405;ubm-002-linux66-headers;002-linux66-headers-*-*-*.ubm;base;UBLinux module headers and scripts for building modules -2405;ubm-003-linux515-docs;003-linux515-docs-*-*-*.ubm;base;UBLinux module documentation for the UBLinux kernel -2405;ubm-003-linux61-docs;003-linux61-docs-*-*-*.ubm;base;UBLinux module documentation for the UBLinux kernel -2405;ubm-003-linux66-docs;003-linux66-docs-*-*-*.ubm;base;UBLinux module documentation for the UBLinux kernel -2405;ubm-004-linux-firmware;004-linux-firmware-*-*-*.ubm;base;UBLinux module firmwares -2405;ubm-010-core;010-core-*-*-*.ubm;base;UBLinux module includes the core developer components -2405;ubm-010-core-devel;010-core-devel-*-*-*.ubm;base;UBLinux module includes the core developer components -2405;ubm-020-xorg-base;020-xorg-base-*-*-*.ubm;base;UBLinux module includes basic components Xorg -2405;ubm-021-xorg-fonts;021-xorg-fonts-*-*-*.ubm;base;UBLinux module includes basic fonts -2405;ubm-025-xorg-gl;025-xorg-gl-*-*-*.ubm;base;UBLinux module includes graphics accelerators -2405;ubm-030-xorg-gtk;030-xorg-gtk-*-*-*.ubm;base;UBLinux module includes GTK libs -2405;ubm-035-xorg-qt;035-xorg-qt-*-*-*.ubm;base;UBLinux module includes Qt5 and Qt6 libs -2405;ubm-036-xorg-qt5;036-xorg-qt5-*-*-*.ubm;base;UBLinux module includes QT5 libs -2405;ubm-037-xorg-qt6;037-xorg-qt6-*-*-*.ubm;base;UBLinux module includes QT6 libs -2405;ubm-040-xorg-xfce;040-xorg-xfce-*-*-*.ubm;base;UBLinux module includes Xfce applications -2405;ubm-041-xorg-plasma;041-xorg-plasma-*-*-*.ubm;base;UBLinux module includes KDE Plasma applications -2405;ubm-042-xorg-gnome;042-xorg-gnome-*-*-*.ubm;base;UBLinux module includes GNOME next generation desktop shell -2405;ubm-043-xorg-mate;043-xorg-mate-*-*-*.ubm;base;UBLinux module includes MATE desktop shell -2405;ubm-045-xorg-pantheon;045-xorg-pantheon-*-*-*.ubm;base;UBLinux module includes Pantheon desktop shell -2405;ubm-050-xorg-gtk-app;050-xorg-gtk-app-*-*-*.ubm;base;UBLinux module includes GTK applications -2405;ubm-055-xorg-qt-app;055-xorg-qt-app-*-*-*.ubm;base;UBLinux module includes QT applications -2405;ubm-060-xorg-theme;060-xorg-theme-*-*-*.ubm;base;UBLinux module includes GTK and icons themes -2405;ubm-070-dm-lightdm;070-dm-lightdm-*-*-*.ubm;base;UBLinux module includes Lightdm display manager -2405;ubm-080-multimedia;080-multimedia-*-*-*.ubm;base;UBLinux module includes multimedia applications -2405;ubm-100-ublinux;100-ublinux-*-*-*.ubm;base;UBLinux module include system utilites -2405;ubm-anydesk;anydesk-*-*-*.ubm;extra;UBLinux module include AnyDesk -2405;ubm-backgrounds;backgrounds-*-*-*.ubm;extra;UBLinux module include desktop backgrounds -2405;ubm-blender;blender-*-*-*.ubm;extra;UBLinux module include blender and utilities -2405;ubm-chromium;chromium-*-*-*.ubm;extra;UBLinux module includes Chromium and some plugins -2405;ubm-chromium-gost;chromium-gost-*-*-*.ubm;extra;UBLinux module includes Chromium and some plugins -2405;ubm-database;database-*-*-*.ubm;extra;UBLinux module includes postgresql, mariadb database and utilities -2405;ubm-docker;docker-*-*-*.ubm;extra;UBLinux module includes docker and webmanager and utils -2405;ubm-drv-brother;drv-brother-*-*-*.ubm;extra;UBLinux module include Brother printer drivers -2405;ubm-drv-canon-capt;drv-canon-capt-*-*-*.ubm;extra;UBLinux module include Canon CAPT Printer Driver -2405;ubm-drv-canon-ufrii;drv-canon-ufrii-*-*-*.ubm;extra;UBLinux module include Canon UFR II LIPSLX CARPS2 printer driver -2405;ubm-drv-epson;drv-epson-*-*-*.ubm;extra;UBLinux module include Epson printer drivers -2405;ubm-drv-kyocera;drv-kyocera-*-*-*.ubm;extra;UBLinux module include Kyocera printer drivers -2405;ubm-drv-lexmark;drv-lexmark-*-*-*.ubm;extra;UBLinux module include Lexmark drivers -2405;ubm-drv-pantum;drv-pantum-*-*-*.ubm;extra;UBLinux module include Pantum printer drivers -2405;ubm-drv-printer;drv-printer-*-*-*.ubm;extra;UBLinux module include hplip, gutenprint, foomatic -2405;ubm-drv-ricoh;drv-ricoh-*-*-*.ubm;extra;UBLinux module include Ricoh drivers -2405;ubm-drv-samsung;drv-samsung-*-*-*.ubm;extra;UBLinux module include Samsung drivers -2405;ubm-drv-xerox;drv-xerox-*-*-*.ubm;extra;UBLinux module include Xerox drivers -2405;ubm-education;education-*-*-*.ubm;extra;UBLinux module includes education soft -2405;ubm-firefox;firefox-*-*-*.ubm;extra;UBLinux module includes Firefox and some plugins -2405;ubm-java17-openjfx;java17-openjfx-*-*-*.ubm;extra;UBLinux module include Java OpenJFX 17 client application platform -2405;ubm-jdk11;jdk11-*-*-*.ubm;extra;UBLinux module includes OpenJDK Java 11 development kit -2405;ubm-jdk17;jdk17-*-*-*.ubm;extra;UBLinux module includes OpenJDK Java 17 development kit -2405;ubm-jdk21;jdk21-*-*-*.ubm;extra;UBLinux module includes OpenJDK Java 21 development kit -2405;ubm-jdk8;jdk8-*-*-*.ubm;extra;UBLinux module includes OpenJDK Java 8 development kit -2405;ubm-lib32;lib32-*-*-*.ubm;extra;UBLinux module includes some library 32-bit -2405;ubm-libreoffice;libreoffice-*-*-*.ubm;extra;UBLinux module include LibreOffice -2405;ubm-linux515-dkms;linux515-dkms-*-*-*.ubm;extra;UBLinux module includes dkms additionals modules -2405;ubm-linux515-nvidia;linux515-nvidia-*-*-*.ubm;extra;UBLinux module include NVIDIA 470xx driver for linux -2405;ubm-linux515-nvidia-390xx;linux515-nvidia-390xx-*-*-*.ubm;extra;UBLinux module include NVIDIA 390xx driver for linux -2405;ubm-linux515-nvidia-470xx;linux515-nvidia-470xx-*-*-*.ubm;extra;UBLinux module include NVIDIA 470xx driver for linux -2405;ubm-linux61-dkms;linux61-dkms-*-*-*.ubm;extra;UBLinux module includes dkms additionals modules -2405;ubm-linux61-nvidia;linux61-nvidia-*-*-*.ubm;extra;UBLinux module include NVIDIA 470xx driver for linux -2405;ubm-linux61-nvidia-390xx;linux61-nvidia-390xx-*-*-*.ubm;extra;UBLinux module include NVIDIA 390xx driver for linux -2405;ubm-linux61-nvidia-470xx;linux61-nvidia-470xx-*-*-*.ubm;extra;UBLinux module include NVIDIA 470xx driver for linux -2405;ubm-linux61-r8168-8136;linux61-r8168-8136-*-*-*.ubm;extra;UBLinux module includes dkms additionals modules -2405;ubm-linux66-dkms;linux66-dkms-*-*-*.ubm;extra;UBLinux module includes dkms additionals modules -2405;ubm-onlyoffice;onlyoffice-*-*-*.ubm;extra;UBLinux module includes OnlyOffice suite -2405;ubm-patch;patch-*-*-*.ubm;extra;UBLinux module include apps patch -2405;ubm-podman;podman-*-*-*.ubm;extra;UBLinux module includes podman and webmanager and utils -2405;ubm-pycharm;pycharm-*-*-*.ubm;extra;UBLinux module include pycharm-community-edition and utilities -2405;ubm-qaratms-ru;qaratms-ru-*-*-*.ubm;extra;UBLinux module include pycharm-community-edition and utilities -2405;ubm-qemu;qemu-*-*-*.ubm;extra;UBLinux module includes QEMU, manager and utils -2405;ubm-r7-office;r7-office-*-*-*.ubm;extra;UBLinux module includes R7 Office -2405;ubm-realvnc;realvnc-*-*-*.ubm;extra;UBLinux module includes realvnc viewer and server -2405;ubm-rustdesk;rustdesk-*-*-*.ubm;extra;UBLinux module includes rustdesk -2405;ubm-rustdesk-server;rustdesk-server-*-*-*.ubm;extra;UBLinux module includes rustdesk -2405;ubm-telegram;telegram-*-*-*.ubm;extra;UBLinux module includes Telegram -2405;ubm-ubpile-workflow;ubpile-workflow-*-*-*.ubm;extra;UBLinux module include UBPile Workflow -2405;ubm-virtual-guest;virtual-guest-*-*-*.ubm;extra;UBLinux module includes agents for Linux guest -2405;ubm-virtualbox-host;virtualbox-host-*-*-*.ubm;extra;UBLinux module includes VirtualBox and extension packs -2405;ubm-web;web-*-*-*.ubm;extra;UBLinux module includes Web servers -2405;ubm-webmin;webmin-*-*-*.ubm;extra;UBLinux module includes Webmin and Usermin -2405;ubm-whiteboard;whiteboard-*-*-*.ubm;extra;UBLinux module includes interactive whiteboard soft -2405;ubm-winbox;winbox-*-*-*.ubm;extra;UBLinux module include Winbox -2405;ubm-wine;wine-*-*-*.ubm;extra;UBLinux module includes wine and utilities -2405;ubm-wps-office;wps-office-*-*-*.ubm;extra;UBLinux module include Kingsoft Office (WPS Office) - an office productivity suite -2405;ubm-yandex-browser;yandex-browser-*-*-*.ubm;extra;UBLinux module includes Yandex Browser and some utils -2204;ubm-001-linux;001-linux-*-*-*.ubm;base;UBLinux module the kernel and modules -2204;ubm-001-linux515;001-linux515-*-*-*.ubm;base;UBLinux module the kernel and modules -2204;ubm-001-linux61;001-linux61-*-*-*.ubm;base;UBLinux module the kernel and modules -2204;ubm-001-linux66;001-linux66-*-*-*.ubm;base;UBLinux module the kernel and modules -2204;ubm-002-linux-headers;002-linux-headers-*-*-*.ubm;base;UBLinux module headers and scripts for building modules for the Meta UBlinux kernel, modules, headers and documentation -2204;ubm-002-linux515-headers;002-linux515-headers-*-*-*.ubm;base;UBLinux module headers and scripts for building modules -2204;ubm-002-linux61-headers;002-linux61-headers-*-*-*.ubm;base;UBLinux module headers and scripts for building modules -2204;ubm-002-linux66-headers;002-linux66-headers-*-*-*.ubm;base;UBLinux module headers and scripts for building modules -2204;ubm-003-linux-docs;003-linux-docs-*-*-*.ubm;base;UBLinux module documentation for the UBLinux kernel -2204;ubm-003-linux515-docs;003-linux515-docs-*-*-*.ubm;base;UBLinux module documentation for the UBLinux kernel -2204;ubm-003-linux61-docs;003-linux61-docs-*-*-*.ubm;base;UBLinux module documentation for the UBLinux kernel -2204;ubm-003-linux66-docs;003-linux66-docs-*-*-*.ubm;base;UBLinux module documentation for the UBLinux kernel -2204;ubm-004-linux-firmware;004-linux-firmware-*-*-*.ubm;base;UBLinux module firmwares -2204;ubm-010-core;010-core-*-*-*.ubm;base;UBLinux module includes the core developer components -2204;ubm-010-core-devel;010-core-devel-*-*-*.ubm;base;UBLinux module includes the core developer components -2204;ubm-020-xorg-base;020-xorg-base-*-*-*.ubm;base;UBLinux module includes basic components Xorg -2204;ubm-021-xorg-fonts;021-xorg-fonts-*-*-*.ubm;base;UBLinux module includes basic fonts -2204;ubm-025-xorg-gl;025-xorg-gl-*-*-*.ubm;base;UBLinux module includes graphics accelerators -2204;ubm-030-xorg-gtk;030-xorg-gtk-*-*-*.ubm;base;UBLinux module includes GTK libs -2204;ubm-035-xorg-qt5;035-xorg-qt5-*-*-*.ubm;base;UBLinux module includes QT5 libs -2204;ubm-036-xorg-qt6;036-xorg-qt6-*-*-*.ubm;base;UBLinux module includes QT6 libs -2204;ubm-040-xorg-xfce;040-xorg-xfce-*-*-*.ubm;base;UBLinux module includes Xfce applications -2204;ubm-041-xorg-plasma;041-xorg-plasma-*-*-*.ubm;base;UBLinux module includes KDE Plasma applications -2204;ubm-042-xorg-gnome;042-xorg-gnome-*-*-*.ubm;base;UBLinux module includes GNOME next generation desktop shell -2204;ubm-043-xorg-mate;043-xorg-mate-*-*-*.ubm;base;UBLinux module includes MATE desktop shell -2204;ubm-045-xorg-pantheon;045-xorg-pantheon-*-*-*.ubm;base;UBLinux module includes Pantheon desktop shell -2204;ubm-049-xorg-liquidshell;049-xorg-liquidshell-*-*-*.ubm;base;UBLinux module includes Liquidshell basic desktop shell using QtWidgets -2204;ubm-050-xorg-gtk-app;050-xorg-gtk-app-*-*-*.ubm;base;UBLinux module includes GTK applications -2204;ubm-055-xorg-qt-app;055-xorg-qt-app-*-*-*.ubm;base;UBLinux module includes QT applications -2204;ubm-060-xorg-theme;060-xorg-theme-*-*-*.ubm;base;UBLinux module includes GTK and icons themes -2204;ubm-070-dm-lightdm;070-dm-lightdm-*-*-*.ubm;base;UBLinux module includes Lightdm display manager -2204;ubm-080-multimedia;080-multimedia-*-*-*.ubm;base;UBLinux module includes multimedia applications -2204;ubm-100-ublinux;100-ublinux-*-*-*.ubm;base;UBLinux module include system utilites -2204;ubm-amdgpu-pro;amdgpu-pro-*-*-*.ubm;extra;UBLinux module includes AMDGRU PRO driver and utilities -2204;ubm-anydesk;anydesk-*-*-*.ubm;extra;UBLinux module includes anydesk -2204;ubm-backgrounds;backgrounds-*-*-*.ubm;extra;UBLinux module include desktop backgrounds -2204;ubm-blender;blender-*-*-*.ubm;extra;UBLinux module includes wine and utilities -2204;ubm-chromium;chromium-*-*-*.ubm;extra;UBLinux module includes Chromium-GOST and some plugins -2204;ubm-chromium-gost;chromium-gost-*-*-*.ubm;extra;UBLinux module includes Chromium-GOST and some plugins -2204;ubm-database;database-*-*-*.ubm;extra;UBLinux module includes database applications -2204;ubm-docker;docker-*-*-*.ubm;extra;UBLinux module includes docker and webmanager and utils -2204;ubm-drv-brother;drv-brother-*-*-*.ubm;extra;UBLinux module include Brother printer drivers -2204;ubm-drv-canon-capt;drv-canon-capt-*-*-*.ubm;extra;UBLinux module include Canon CAPT Printer Driver -2204;ubm-drv-canon-ufrii;drv-canon-ufrii-*-*-*.ubm;extra;UBLinux module include Canon UFR II LIPSLX CARPS2 printer driver -2204;ubm-drv-epson;drv-epson-*-*-*.ubm;extra;UBLinux module include Epson printer drivers -2204;ubm-drv-kyocera;drv-kyocera-*-*-*.ubm;extra;UBLinux module include Kyocera printer drivers -2204;ubm-drv-lexmark;drv-lexmark-*-*-*.ubm;extra;UBLinux module include Lexmark drivers -2204;ubm-drv-pantum;drv-pantum-*-*-*.ubm;extra;UBLinux module include Pantum printer drivers -2204;ubm-drv-printer;drv-printer-*-*-*.ubm;extra;UBLinux module include hplip, gutenprint, foomatic -2204;ubm-drv-ricoh;drv-ricoh-*-*-*.ubm;extra;UBLinux module include Ricoh drivers -2204;ubm-drv-samsung;drv-samsung-*-*-*.ubm;extra;UBLinux module include Samsung drivers -2204;ubm-drv-xerox;drv-xerox-*-*-*.ubm;extra;UBLinux module include Xerox drivers -2204;ubm-firefox;firefox-*-*-*.ubm;extra;UBLinux module includes Firefox and some plugins -2204;ubm-gambas3;gambas3-*-*-*.ubm;extra;UBLinux module includes Gambas3 and components -2204;ubm-game-hedgewars;game-hedgewars-*-*-*.ubm;extra;UBLinux module include Hedgewars game similiar to Worms -2204;ubm-game-warfork;game-warfork-*-*-*.ubm;extra;UBLinux module include Hedgewars game similiar to Worms -2204;ubm-gitea;gitea-*-*-*.ubm;extra;UBLinux module includes Gitea and MemCached -2204;ubm-gitlab;gitlab-*-*-*.ubm;extra;UBLinux module include Gitlab CLI tools -2204;ubm-gitlab-cli;gitlab-cli-*-*-*.ubm;extra;UBLinux module include Gitlab CLI tools -2204;ubm-java11-openjfx;java11-openjfx-*-*-*.ubm;extra;UBLinux module include Java OpenJFX 11 client application platform -2204;ubm-java17-openjfx;java17-openjfx-*-*-*.ubm;extra;UBLinux module include Java OpenJFX 17 client application platform -2204;ubm-jdk11;jdk11-*-*-*.ubm;extra;UBLinux module includes OpenJDK Java 11 development kit -2204;ubm-jdk17;jdk17-*-*-*.ubm;extra;UBLinux module includes OpenJDK Java 17 development kit -2204;ubm-jdk8;jdk8-*-*-*.ubm;extra;UBLinux module includes OpenJDK Java 8 development kit -2204;ubm-lazarus-gtk2;lazarus-gtk2-*-*-*.ubm;extra;UBLinux module include Free Pascal and Lazarus GTK2 -2204;ubm-lazarus-qt5;lazarus-qt5-*-*-*.ubm;extra;UBLinux module include Free Pascal and Lazarus QT5 -2204;ubm-lib32;lib32-*-*-*.ubm;extra;UBLinux module includes some library 32-bit -2204;ubm-libreoffice;libreoffice-*-*-*.ubm;extra;UBLinux module includes rustdesk -2204;ubm-linux-dkms;linux-dkms-*-*-*.ubm;extra;UBLinux module includes dkms additionals modules -2204;ubm-linux515-dkms;linux515-dkms-*-*-*.ubm;extra;UBLinux module includes dkms additionals modules -2204;ubm-linux515-nvidia;linux515-nvidia-*-*-*.ubm;extra;UBLinux module include NVIDIA 470xx driver for linux -2204;ubm-linux515-nvidia-390xx;linux515-nvidia-390xx-*-*-*.ubm;extra;UBLinux module include NVIDIA 390xx driver for linux -2204;ubm-linux515-nvidia-470xx;linux515-nvidia-470xx-*-*-*.ubm;extra;UBLinux module include NVIDIA 470xx driver for linux -2204;ubm-linux61-dkms;linux61-dkms-*-*-*.ubm;extra;UBLinux module includes dkms additionals modules -2204;ubm-linux61-nvidia;linux61-nvidia-*-*-*.ubm;extra;UBLinux module include NVIDIA 470xx driver for linux -2204;ubm-linux61-nvidia-390xx;linux61-nvidia-390xx-*-*-*.ubm;extra;UBLinux module include NVIDIA 390xx driver for linux -2204;ubm-linux61-nvidia-470xx;linux61-nvidia-470xx-*-*-*.ubm;extra;UBLinux module include NVIDIA 470xx driver for linux -2204;ubm-linux66-dkms;linux66-dkms-*-*-*.ubm;extra;UBLinux module includes dkms additionals modules -2204;ubm-linux66-nvidia;linux66-nvidia-*-*-*.ubm;extra;UBLinux module include NVIDIA 470xx driver for linux -2204;ubm-linux66-nvidia-390xx;linux66-nvidia-390xx-*-*-*.ubm;extra;UBLinux module include NVIDIA 390xx driver for linux -2204;ubm-linux66-nvidia-470xx;linux66-nvidia-470xx-*-*-*.ubm;extra;UBLinux module include NVIDIA 470xx driver for linux -2204;ubm-lsi-megaraid;lsi-megaraid-*-*-*.ubm;extra;UBLinux module includes LSI MegaRaid SM, StorCLI, MegaCLI and utils -2204;ubm-nvidia-340;nvidia-340-*-*-*.ubm;extra;UBLinux module includes NVIDIA 340xx driver and utilities -2204;ubm-nvidia-390;nvidia-390-*-*-*.ubm;extra;UBLinux module includes NVIDIA 390xx driver and utilities -2204;ubm-nvidia-470;nvidia-470-*-*-*.ubm;extra;UBLinux module includes NVIDIA 470xx driver and utilities -2204;ubm-nvidia-510;nvidia-510-*-*-*.ubm;extra;UBLinux module includes NVIDIA 510xx driver and utilities -2204;ubm-nvidia-515;nvidia-515-*-*-*.ubm;extra;UBLinux module includes NVIDIA 515xx driver and utilities -2204;ubm-nvidia-optimus;nvidia-optimus-*-*-*.ubm;extra;UBLinux module includes NVIDIA Optimus -2204;ubm-onlyoffice;onlyoffice-*-*-*.ubm;extra;UBLinux module includes OnlyOffice DocumentServer suite -2204;ubm-onlyoffice-documentserver;onlyoffice-documentserver-*-*-*.ubm;extra;UBLinux module includes OnlyOffice DocumentServer suite -2204;ubm-opera;opera-*-*-*.ubm;extra;UBLinux module includes Opera and some plugins -2204;ubm-patch;patch-*-*-*.ubm;extra;UBLinux module includes patch -2204;ubm-podman;podman-*-*-*.ubm;extra;UBLinux module includes podman and webmanager and utils -2204;ubm-qemu;qemu-*-*-*.ubm;extra;UBLinux module includes QEMU headless and utils -2204;ubm-qemu-headless;qemu-headless-*-*-*.ubm;extra;UBLinux module includes QEMU headless and utils -2204;ubm-qt4;qt4-*-*-*.ubm;extra;UBLinux module include QT4 -2204;ubm-realvnc;realvnc-*-*-*.ubm;extra;UBLinux module includes realvnc viewer and server -2204;ubm-rustdesk;rustdesk-*-*-*.ubm;extra;UBLinux module include rustdesk-server -2204;ubm-rustdesk-server;rustdesk-server-*-*-*.ubm;extra;UBLinux module include rustdesk-server -2204;ubm-skype;skype-*-*-*.ubm;extra;UBLinux module include Skype -2204;ubm-telegram;telegram-*-*-*.ubm;extra;UBLinux module includes Telegram -2204;ubm-tor;tor-*-*-*.ubm;extra;UBLinux module include Tor utils and browser -2204;ubm-ubpile-workflow;ubpile-workflow-*-*-*.ubm;extra;UBLinux module include UBPile Workflow -2204;ubm-virtual-guest;virtual-guest-*-*-*.ubm;extra;UBLinux module includes agents for Linux guest without X support -2204;ubm-virtual-guest-nox;virtual-guest-nox-*-*-*.ubm;extra;UBLinux module includes agents for Linux guest without X support -2204;ubm-virtualbox-host;virtualbox-host-*-*-*.ubm;extra;UBLinux module includes VirtualBox headless and extension packs -2204;ubm-virtualbox-host-headless;virtualbox-host-headless-*-*-*.ubm;extra;UBLinux module includes VirtualBox headless and extension packs -2204;ubm-virtualbox-web;virtualbox-web-*-*-*.ubm;extra;UBLinux module includes phpvirtualbox for VirtualBox -2204;ubm-vivaldi;vivaldi-*-*-*.ubm;extra;UBLinux module include Vivaldi browser -2204;ubm-vmware-workstation16;vmware-workstation16-*-*-*.ubm;extra;UBLinux module includes VMware-Workstation 16 -2204;ubm-web;web-*-*-*.ubm;extra;UBLinux module includes Webmin and Usermin -2204;ubm-webmin;webmin-*-*-*.ubm;extra;UBLinux module includes Webmin and Usermin -2204;ubm-wiki-js;wiki-js-*-*-*.ubm;extra;UBLinux module include Wiki.js -2204;ubm-winbox;winbox-*-*-*.ubm;extra;UBLinux module include Winbox -2204;ubm-wine;wine-*-*-*.ubm;extra;UBLinux module includes wine and utilities -2204;ubm-wps-office;wps-office-*-*-*.ubm;extra;UBLinux module include Kingsoft Office (WPS Office) - an office productivity suite -2204;ubm-xremote;xremote-*-*-*.ubm;extra;UBLinux module include X11 remote utils -2204;ubm-yandex-browser;yandex-browser-*-*-*.ubm;extra;UBLinux module includes Yandex Browser and some utils -2204;ubm-zoom;zoom-*-*-*.ubm;extra;UBLinux module include Zoom \ No newline at end of file diff --git a/modules.csv b/modules.csv deleted file mode 100644 index c2f0af1..0000000 --- a/modules.csv +++ /dev/null @@ -1,109 +0,0 @@ -UBM_NAME|UBM_TAG|UBM_DECRIPTION -001-linux-5.17.6-2-x86_64.ubm|base|UBLinux module the kernel and modules -001-linux515-5.15.157-1-x86_64.ubm|base|UBLinux module the kernel and modules -001-linux61-6.1.92-1-x86_64.ubm|base|UBLinux module the kernel and modules -001-linux66-6.6.30-1-x86_64.ubm|base|UBLinux module the kernel and modules -002-linux-headers-5.17.6-2-x86_64.ubm|base|UBLinux module headers and scripts for building modules -002-linux515-headers-5.15.157-1-x86_64.ubm|base|UBLinux module headers and scripts for building modules -002-linux61-headers-6.1.92-1-x86_64.ubm|base|UBLinux module headers and scripts for building modules -002-linux66-headers-6.6.30-1-x86_64.ubm|base|UBLinux module headers and scripts for building modules -003-linux-docs-5.17.6-2-x86_64.ubm|base|UBLinux module documentation for the UBLinux kernel -003-linux515-docs-5.15.157-1-x86_64.ubm|base|UBLinux module documentation for the UBLinux kernel -003-linux61-docs-6.1.92-1-x86_64.ubm|base|UBLinux module documentation for the UBLinux kernel -003-linux66-docs-6.6.30-1-x86_64.ubm|base|UBLinux module documentation for the UBLinux kernel -004-linux-firmware-2204-4-x86_64.ubm|base|UBLinux module firmwares -010-core-2204-2-x86_64.ubm|base|UBLinux module includes the core components -010-core-devel-2204-1-x86_64.ubm|base|UBLinux module includes the core developer components -020-xorg-base-2204-2-x86_64.ubm|base|UBLinux module includes basic components Xorg -021-xorg-fonts-2204-2-x86_64.ubm|base|UBLinux module includes basic fonts -025-xorg-gl-2204-1-x86_64.ubm|base|UBLinux module includes graphics accelerators -030-xorg-gtk-2204-2-x86_64.ubm|base|UBLinux module includes GTK libs -035-xorg-qt5-2204-2-x86_64.ubm|base|UBLinux module includes QT5 libs -036-xorg-qt6-2204-1-x86_64.ubm|base|UBLinux module includes QT6 libs -040-xorg-xfce-2204-2-x86_64.ubm|base|UBLinux module includes Xfce applications -041-xorg-plasma-2204-2-x86_64.ubm|base|UBLinux module includes KDE Plasma applications -042-xorg-gnome-2204-1-x86_64.ubm|base|UBLinux module includes GNOME next generation desktop shell -043-xorg-mate-2204-2-x86_64.ubm|base|UBLinux module includes MATE desktop shell -045-xorg-pantheon-2204-1-x86_64.ubm|base|UBLinux module includes Pantheon desktop shell -049-xorg-liquidshell-2204-1-x86_64.ubm|base|UBLinux module includes Liquidshell basic desktop shell using QtWidgets -050-xorg-gtk-app-2204-4-x86_64.ubm|base|UBLinux module includes GTK applications -055-xorg-qt-app-2204-2-x86_64.ubm|base|UBLinux module includes QT applications -060-xorg-theme-2204-1-x86_64.ubm|base|UBLinux module includes GTK and icons themes -070-dm-lightdm-2204-1-x86_64.ubm|base|UBLinux module includes Lightdm display manager -080-multimedia-2204-1-x86_64.ubm|base|UBLinux module includes multimedia applications -100-ublinux-2204-113-x86_64.ubm|base|UBLinux module include system utilites -amdgpu-pro-23.40-1-x86_64.ubm|extra|UBLinux module includes AMDGRU PRO driver and utilities -backgrounds-1.0-1-x86_64.ubm|extra|UBLinux module include desktop backgrounds -chromium-2204-1-x86_64.ubm|extra|UBLinux module includes Chromium and some plugins -chromium-gost-122.0.6261.58-1-x86_64.ubm|extra|UBLinux module includes Chromium and some plugins -database-2204-1-x86_64.ubm|extra|UBLinux module includes postgresql, mariadb database and utilities -drv-brother-2204-1-x86_64.ubm|extra|UBLinux module include Brother printer drivers -drv-canon-capt-2204-1-x86_64.ubm|extra|UBLinux module include Canon CAPT Printer Driver -drv-canon-ufrii-2204-2-x86_64.ubm|extra|UBLinux module include Canon UFR II LIPSLX CARPS2 printer driver -drv-epson-2204-1-x86_64.ubm|extra|UBLinux module include Epson printer drivers -drv-kyocera-2204-1-x86_64.ubm|extra|UBLinux module include Kyocera printer drivers -drv-lexmark-2204-1-x86_64.ubm|extra|UBLinux module include Lexmark drivers -drv-pantum-2204-1-x86_64.ubm|extra|UBLinux module include Pantum printer drivers -drv-printer-2204-1-x86_64.ubm|extra|UBLinux module include hplip, gutenprint, foomatic -drv-ricoh-2204-1-x86_64.ubm|extra|UBLinux module include Ricoh drivers -drv-samsung-2204-1-x86_64.ubm|extra|UBLinux module include Samsung drivers -drv-xerox-2204-2-x86_64.ubm|extra|UBLinux module include Xerox drivers -firefox-2204-1-x86_64.ubm|extra|UBLinux module includes Firefox and some plugins -game-hedgewars-1.0.0-298-x86_64.ubm|extra|UBLinux module include Hedgewars game similiar to Worms -game-warfork-2.14-1-x86_64.ubm|extra|UBLinux module include Hedgewars game similiar to Worms -gitea-1.18.1-1-x86_64.ubm|extra|UBLinux module includes Gitea and MemCached -gitlab-15.0.2-1-x86_64.ubm|extra|UBLinux module include GitLab and GitLab CI runner -gitlab-cli-2204-1-x86_64.ubm|extra|UBLinux module include Gitlab CLI tools -java11-openjfx-2204-1-x86_64.ubm|extra|UBLinux module include Java OpenJFX 11 client application platform -java17-openjfx-2204-1-x86_64.ubm|extra|UBLinux module include Java OpenJFX 17 client application platform -jdk11-2204-1-x86_64.ubm|extra|UBLinux module includes OpenJDK Java 11 development kit -jdk17-2204-1-x86_64.ubm|extra|UBLinux module includes OpenJDK Java 17 development kit -jdk8-2204-1-x86_64.ubm|extra|UBLinux module includes OpenJDK Java 8 development kit -lazarus-gtk2-2204-1-x86_64.ubm|extra|UBLinux module include Free Pascal and Lazarus GTK2 -lazarus-qt5-2204-1-x86_64.ubm|extra|UBLinux module include Free Pascal and Lazarus QT5 -lib32-2204-1-x86_64.ubm|extra|UBLinux module includes some library 32-bit -libreoffice-7.3.2-1-x86_64.ubm|extra|UBLinux module include LibreOffice -linux-dkms-5.17.6-7-x86_64.ubm|extra|UBLinux module includes dkms additionals modules -linux515-dkms-5.15.157-1-x86_64.ubm|extra|UBLinux module includes dkms additionals modules -linux61-dkms-6.1.92-1-x86_64.ubm|extra|UBLinux module includes dkms additionals modules -nvidia-340-5.17.6-2-x86_64.ubm|extra|UBLinux module includes NVIDIA 340xx driver and utilities -nvidia-390-5.17.6-2-x86_64.ubm|extra|UBLinux module includes NVIDIA 390xx driver and utilities -nvidia-470-5.17.6-2-x86_64.ubm|extra|UBLinux module includes NVIDIA 470xx driver and utilities -nvidia-510-5.17.6-2-x86_64.ubm|extra|UBLinux module includes NVIDIA 510xx driver and utilities -nvidia-515-5.17.6-2-x86_64.ubm|extra|UBLinux module includes NVIDIA 515xx driver and utilities -linux61-nvidia-390xx-390.157-90-x86_64.ubm|extra|UBLinux module includes NVIDIA 390xx driver and utilities -linux61-nvidia-470xx-470.239.06-10-x86_64.ubm|extra|UBLinux module includes NVIDIA 470xx driver and utilities -linux61-nvidia-550.78-3-x86_64.ubm|extra|UBLinux module includes NVIDIA 550xx driver and utilities -linux66-dkms-6.6.30-1-x86_64.ubm|extra|UBLinux module includes dkms additionals modules -nvidia-optimus-2204-1-x86_64.ubm|extra|UBLinux module includes NVIDIA Optimus -lsi-megaraid-2204-1-x86_64.ubm|extra|UBLinux module includes LSI MegaRaid SM, StorCLI, MegaCLI and utils -onlyoffice-7.3.3-1-x86_64.ubm|extra|UBLinux module includes OnlyOffice suite -onlyoffice-documentserver-7.3.3-1-x86_64.ubm|extra|UBLinux module includes OnlyOffice DocumentServer suite -opera-2204-1-x86_64.ubm|extra|UBLinux module includes Opera and some plugins -patch-2204-21-x86_64.ubm|extra|UBLinux module include apps patch -podman-2204-1-x86_64.ubm|extra|UBLinux module includes podman and webmanager and utils -qemu-2204-2-x86_64.ubm|extra|UBLinux module includes QEMU, manager and utils -qemu-headless-2204-1-x86_64.ubm|extra|UBLinux module includes QEMU headless and utils -qt4-2204-1-x86_64.ubm|extra|UBLinux module include QT4 -realvnc-2204-2-x86_64.ubm|extra|UBLinux module includes realvnc viewer and server -rustdesk-1.2.3-1-x86_64.ubm|extra|UBLinux module includes rustdesk -rustdesk-server-1.1.9-1-x86_64.ubm|extra|UBLinux module include rustdesk-server -skype-2204-1-x86_64.ubm|extra|UBLinux module include Skype -telegram-2204-2-x86_64.ubm|extra|UBLinux module includes Telegram -tor-2204-1-x86_64.ubm|extra|UBLinux module include Tor utils and browser -ubpile-2.15.10-1-x86_64.ubm|extra|Simple management of corporate network nodes using the WEB interface with the executor Node.js -virtual-guest-2204-2-x86_64.ubm|extra|UBLinux module includes agents for Linux guest -virtual-guest-nox-2204-2-x86_64.ubm|extra|UBLinux module includes agents for Linux guest without X support -virtualbox-host-2204-1-x86_64.ubm|extra|UBLinux module includes VirtualBox and extension packs -virtualbox-host-headless-2204-1-x86_64.ubm|extra|UBLinux module includes VirtualBox headless and extension packs -virtualbox-web-2204-1-x86_64.ubm|extra|UBLinux module includes phpvirtualbox for VirtualBox -vivaldi-2204-1-x86_64.ubm|extra|UBLinux module include Vivaldi browser -web-2204-1-x86_64.ubm|extra|UBLinux module includes HTTP server and utilities -webmin-1.994-1-x86_64.ubm|extra|UBLinux module includes Webmin and Usermin -wiki-js-2.5.294-1-x86_64.ubm|extra|UBLinux module include Wiki.js -winbox-2204-1-x86_64.ubm|extra|UBLinux module include Winbox -wine-2204-2-x86_64.ubm|extra|UBLinux module includes wine and utilities -wps-office-11.1.0.11698-1-x86_64.ubm|extra|UBLinux module include Kingsoft Office (WPS Office) - an office productivity suite -xremote-2204-1-x86_64.ubm|extra|UBLinux module include X11 remote utils -yay-2204-1-x86_64.ubm|extra|Yet another yogurt. Pacman wrapper and AUR helper written in go. -zoom-5.14.0-1-x86_64.ubm|extra|UBLinux module include Zoom \ No newline at end of file diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 7f7a397..5117240 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -70,7 +70,6 @@ set(DEPENDFILES ../ubinstall-gtk-package-info.glade ../gresource.xml ../ubinstall-gtk.css - ../modules.csv ../kernel-list.csv ../kernel-list-addon.csv ../services-list.csv diff --git a/source/ubinstall-gtk-components.c b/source/ubinstall-gtk-components.c index ddcde4b..55139de 100644 --- a/source/ubinstall-gtk-components.c +++ b/source/ubinstall-gtk-components.c @@ -270,7 +270,6 @@ gboolean yon_software_insert(struct row_data *row_input){ } void yon_software_init(main_window *widgets){ - GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->AdditionalComponentsList)); GList *iter; for (iter=list;iter;iter=iter->next){ @@ -278,22 +277,35 @@ void yon_software_init(main_window *widgets){ free(row); gtk_widget_destroy(GTK_WIDGET(iter->data)); } - int base_size; - config_str base = yon_config_load(get_available_modules_command,&base_size); - for (int i=0;iversion = parsed[1]; + // row->name = parsed[0]; + // row->tags = yon_char_replace(parsed[2]," ",", "); + // row->description = parsed[3]; + // row->widgets=widgets; + // g_idle_add((GSourceFunc)yon_software_insert,row); + // } + GList *languages = yon_packages_search_all("ubm-.*"); + for (iter=languages;iter;iter=iter->next){ + char *name = (char*)iter->data; + yon_packages_info *info_struct = yon_packages_get_info_struct(YON_PACKAGES_ALL,name); struct row_data *row = malloc(sizeof(struct row_data)); - row->version = parsed[1]; - row->name = parsed[0]; - row->tags = yon_char_replace(parsed[2]," ",", "); - row->description = parsed[3]; + row->version = info_struct->version; + row->name = info_struct->package_name; + row->tags = info_struct->groups; + row->description = info_struct->description; row->widgets=widgets; g_idle_add((GSourceFunc)yon_software_insert,row); + yon_packages_info_struct_free(info_struct); } g_idle_add((GSourceFunc)yon_spinner_switch_off,widgets->OSSpinner); - yon_char_parsed_free(base,base_size); + // yon_char_parsed_free(base,base_size); return ; } diff --git a/source/ubinstall-gtk-installation.c b/source/ubinstall-gtk-installation.c index 645db17..10d519b 100644 --- a/source/ubinstall-gtk-installation.c +++ b/source/ubinstall-gtk-installation.c @@ -68,9 +68,31 @@ int yon_install_separate_save(main_window *widgets){ yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(widgets->CommonInstallationDevicesTree)); return 0; } + + char *part; + glong size,free_space; + gtk_tree_model_get(model,&iter,0,&part,5,&size,6,&free_space,-1); + yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,"next"); + yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,device); + yon_config_register(part_parameter,part_parameter_command,part); if (gtk_switch_get_active(GTK_SWITCH(widgets->NextInstallationFormatSwitch))){ yon_config_register(part_format_parameter,part_format_parameter_command,"yes"); double part_size = gtk_spin_button_get_value(GTK_SPIN_BUTTON(widgets->NextInstallationSizeSpin)); + int mod = yon_get_size_get_from_letter(gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->NextInstallationSizeTypeSpin))[0]); + // if (yon_size_to_bytes(part_size,mod+1)>free_space){ + // yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NOT_ENOUGH_SPACE_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + // yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(widgets->NextInstallationSizeSpin)); + // return 0; + // } + if (yon_size_to_bytes(part_size,mod+1)>size){ + yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NOT_ENOUGH_SPACE_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(widgets->NextInstallationSizeSpin)); + return 0; + } else if (yon_size_to_bytes(part_size,mod+1)>free_space){ + yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NOT_ENOUGH_FREE_SPACE_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(widgets->NextInstallationSizeSpin)); + return 0; + } if (part_size){ char *size_letter = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->NextInstallationSizeTypeSpin)); char *size_final = yon_char_append(yon_char_from_long((long)part_size),size_letter); @@ -103,12 +125,7 @@ int yon_install_separate_save(main_window *widgets){ yon_config_remove_by_key(part_fs_type_parameter); yon_config_remove_by_key(part_format_parameter); } - - char *part; - gtk_tree_model_get(model,&iter,0,&part,-1); - yon_config_register(AUTOINSTALL_TYPE_INSTALL,AUTOINSTALL_TYPE_INSTALL_command,"next"); - yon_config_register(AUTOINSTALL_DEVICE,AUTOINSTALL_DEVICE_command,device); - yon_config_register(part_parameter,part_parameter_command,part); + if (!main_config.configure_mode){ int size; config_str parameters = yon_config_get_save_parameters_by_key(&size,part_format_parameter,part_label_parameter,part_fs_type_parameter,AUTOINSTALL_DEVICE,part_parameter,NULL); @@ -237,75 +254,143 @@ int yon_advanced_sections_save(dictionary *dict){ return 1; } -void on_partition_size_changed(GtkWidget *self, main_window *widgets){ - GtkAdjustment *adj = NULL; +void yon_size_changed(GtkSpinButton *self, main_window *widgets){ + int cur_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->Notebook)); GtkWidget *tree = NULL; - if (self == widgets->OSFormatSizeCombo){ - adj = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(widgets->OSFormatSizeSpin)); - tree = widgets->OSDevicesTree; - } else if (self == widgets->UserdataFormatSizeCombo){ - adj = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(widgets->UserdataFormatSizeSpin)); - tree = widgets->UserdataDevicesTree; - } else if (self == widgets->NextInstallationSizeTypeSpin){ - adj = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(widgets->NextInstallationSizeSpin)); - tree = widgets->NextInstallationSysSectionTree; + switch(cur_page){ + case YON_PAGE_INSTALL_SEPARATE: + tree = widgets->NextInstallationSysSectionTree; + break; + case YON_PAGE_RECOVERY_OS_ONLY: + tree = widgets->OSSysSectionTree; + break; + case YON_PAGE_RECOVERY_USRDATA_ONLY: + tree = widgets->UserdataSysSectionTree; + break; } - GtkTreeModel *model; - GtkTreeIter iter; - if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(tree)),&model,&iter)) return; - long selected_size =0; + if (!tree) return; - gtk_tree_model_get(model,&iter,6,&selected_size,-1); - if (!selected_size){ - gtk_tree_model_get(model,&iter,5,&selected_size,-1); - } - const char *sizemod = gtk_combo_box_get_active_id(GTK_COMBO_BOX(self)); - double new_size = yon_size_long_convert_to_mod(selected_size,sizemod[0]); - gtk_adjustment_set_upper(adj,new_size); - -} - -void yon_set_max_size_from_partition(GtkTreeView *table, GtkSpinButton *spin_button, GtkComboBox *spin_combo){ GtkTreeModel *model; GtkTreeIter iter; - long selected_size; - if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(table),&model,&iter)){ - gtk_tree_model_get(model,&iter,6,&selected_size,-1); - if (!selected_size){ - gtk_tree_model_get(model,&iter,5,&selected_size,-1); - } - if (selected_size){ - GtkAdjustment *adj = gtk_spin_button_get_adjustment(spin_button); - const char *sizemod = gtk_combo_box_get_active_id(spin_combo); - double new_size = yon_size_long_convert_to_mod(selected_size,sizemod[0]); - gtk_adjustment_set_upper(adj,new_size); - char *command = yon_config_parameter_prepare_command(part_size_parameter_command,"default",NULL,NULL); - int size=0; - config_str parsed = yon_config_load(command,&size); - if (size&&strcmp(parsed[0],"(null)\n")){ - yon_char_remove_last_symbol(parsed[0],'\n'); - free(yon_char_divide_search(parsed[0],"=",-1)); - yon_char_remove_brackets(parsed[0]); - char *parameter = parsed[0]; - if (!yon_char_is_empty(parameter)){ - gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin_button),atol(parameter)); - gtk_combo_box_set_active(GTK_COMBO_BOX(spin_combo),yon_get_size_get_from_letter(parameter[strlen(parameter)-1])-1); - } else { - gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin_button),3); - gtk_combo_box_set_active(GTK_COMBO_BOX(spin_combo),2); - } - } - + if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(tree)),&model, &iter)){ + long size; + long free_space; + gtk_tree_model_get(model,&iter,5,&size,6,&free_space,-1); + double chosen_size = gtk_spin_button_get_value(self); + int mod = yon_get_size_get_from_letter(gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->NextInstallationSizeTypeSpin))[0]); + chosen_size = yon_size_to_bytes(chosen_size,mod+1); + if (chosen_size>free_space&&size>chosen_size){ + yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NOT_ENOUGH_FREE_SPACE_LABEL,5,BACKGROUND_IMAGE_INFO_TYPE); + // yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(widgets->CommonInstallationDevicesTree)); + return; + } else if (chosen_size>free_space&&chosen_size>size){ + yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NOT_ENOUGH_SPACE_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + // yon_ubl_status_highlight_incorrect(gtk_widget_get_parent(widgets->CommonInstallationDevicesTree)); + return; } } } -void on_partition_changed(GtkWidget *self, main_window *widgets){ - if (self==widgets->NextInstallationSysSectionTree||self == widgets->NextInstallationSizeTypeSpin){ - yon_set_max_size_from_partition(GTK_TREE_VIEW(widgets->NextInstallationSysSectionTree),GTK_SPIN_BUTTON(widgets->NextInstallationSizeSpin),GTK_COMBO_BOX(widgets->NextInstallationSizeTypeSpin)); - } - -} +// void on_partition_size_changed(GtkWidget *self, main_window *widgets){ +// GtkAdjustment *adj = NULL; +// GtkWidget *tree = NULL; +// if (self == widgets->OSFormatSizeCombo){ +// adj = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(widgets->OSFormatSizeSpin)); +// tree = widgets->OSDevicesTree; +// } else if (self == widgets->UserdataFormatSizeCombo){ +// adj = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(widgets->UserdataFormatSizeSpin)); +// tree = widgets->UserdataDevicesTree; +// } else if (self == widgets->NextInstallationSizeTypeSpin){ +// adj = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(widgets->NextInstallationSizeSpin)); +// tree = widgets->NextInstallationSysSectionTree; +// } +// GtkTreeModel *model; +// GtkTreeIter iter; +// if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(tree)),&model,&iter)) return; +// long selected_size = 0; + +// gtk_tree_model_get(model,&iter,6,&selected_size,-1); +// if (!selected_size){ +// gtk_tree_model_get(model,&iter,5,&selected_size,-1); +// } +// const char *sizemod = gtk_combo_box_get_active_id(GTK_COMBO_BOX(self)); +// double old_size = gtk_adjustment_get_value(adj); +// double new_size = yon_size_long_convert_to_mod(selected_size,sizemod[0]); +// gtk_adjustment_set_upper(adj,new_size); +// if (new_sizeNextInstallationSysSectionTree||self == widgets->NextInstallationSizeTypeSpin){ +// yon_partition_default_size_set(self,widgets); +// } + +// } void *yon_partitions_list_load(main_window *){ main_config.partitions = yon_config_load(yon_debug_output("%s\n",get_parts_for_device_command),&main_config.part_size); @@ -333,12 +418,13 @@ void on_device_selection_changed(GtkWidget *self, main_window *widgets){ char *capacity = NULL; long capacity_long = 0; char *free_space = NULL; - long free_space_long = 0; + // long free_space_long = 0; char *fs_type = NULL; char *label = NULL; char *fs_label = NULL; char *mount_point = NULL; char *flags = NULL; + long used_cap=0; if (parsed_size>2){ char sizemod='\0'; @@ -364,7 +450,7 @@ void on_device_selection_changed(GtkWidget *self, main_window *widgets){ label = parsed[5]; } if (parsed_size>8&&!yon_char_is_empty(parsed[8])){ - long used_cap = capacity_long-atol(parsed[8]); + used_cap = capacity_long-atol(parsed[8]); long capacity_persent = ((double)used_cap/(double)capacity_long)*100; char sizemod='\0'; char *temp = yon_char_from_double(yon_size_long_convert_automatic(used_cap,&sizemod)); @@ -383,13 +469,13 @@ void on_device_selection_changed(GtkWidget *self, main_window *widgets){ } gtk_list_store_append(widgets->PartitionsList,&iter); - gtk_list_store_set(widgets->PartitionsList,&iter,0,name,1,capacity,2,free_space,3,fs_type,4,label,5,capacity_long,6,free_space_long,9,disk_path,9,mount_point,10,fs_label,11,flags,-1); + gtk_list_store_set(widgets->PartitionsList,&iter,0,name,1,capacity,2,free_space,3,fs_type,4,label,5,capacity_long,6,used_cap,9,disk_path,9,mount_point,10,fs_label,11,flags,-1); } yon_char_parsed_free(parsed,parsed_size); } } // gtk_spin_button_set_value(GTK_SPIN_BUTTON(widgets->NextInstallationSizeSpin),0.0); - gtk_adjustment_set_upper(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(widgets->NextInstallationSizeSpin)),0.0); + // gtk_adjustment_set_upper(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(widgets->NextInstallationSizeSpin)),0.0); } } diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c index 4ab91f0..2ef53ed 100644 --- a/source/ubinstall-gtk.c +++ b/source/ubinstall-gtk.c @@ -806,11 +806,15 @@ void yon_main_window_create(main_window *widgets){ g_signal_connect(G_OBJECT(widgets->UserdataDevicesTree),"cursor-changed",G_CALLBACK(on_device_selection_changed),widgets); - g_signal_connect(G_OBJECT(widgets->SamePlacePartTree),"cursor-changed",G_CALLBACK(on_partition_changed),widgets); - g_signal_connect(G_OBJECT(widgets->NextInstallationSysSectionTree),"cursor-changed",G_CALLBACK(on_partition_changed),widgets); - g_signal_connect(G_OBJECT(widgets->NextInstallationSizeTypeSpin),"changed",G_CALLBACK(on_partition_size_changed),widgets); - g_signal_connect(G_OBJECT(widgets->OSFormatSizeCombo),"changed",G_CALLBACK(on_partition_size_changed),widgets); - g_signal_connect(G_OBJECT(widgets->UserdataFormatSizeCombo),"changed",G_CALLBACK(on_partition_size_changed),widgets); + // g_signal_connect(G_OBJECT(gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(widgets->NextInstallationSizeSpin))),"value-changed",G_CALLBACK(yon_size_changed),widgets); + g_signal_connect(G_OBJECT(widgets->NextInstallationSizeSpin),"value-changed",G_CALLBACK(yon_size_changed),widgets); + g_signal_connect(G_OBJECT(widgets->UserdataFormatSizeSpin),"value-changed",G_CALLBACK(yon_size_changed),widgets); + g_signal_connect(G_OBJECT(widgets->OSFormatSizeSpin),"value-changed",G_CALLBACK(yon_size_changed),widgets); + // g_signal_connect(G_OBJECT(widgets->SamePlacePartTree),"cursor-changed",G_CALLBACK(on_partition_changed),widgets); + // g_signal_connect(G_OBJECT(widgets->NextInstallationSysSectionTree),"cursor-changed",G_CALLBACK(on_partition_changed),widgets); + // g_signal_connect(G_OBJECT(widgets->NextInstallationSizeTypeSpin),"changed",G_CALLBACK(on_partition_size_changed),widgets); + // g_signal_connect(G_OBJECT(widgets->OSFormatSizeCombo),"changed",G_CALLBACK(on_partition_size_changed),widgets); + // g_signal_connect(G_OBJECT(widgets->UserdataFormatSizeCombo),"changed",G_CALLBACK(on_partition_size_changed),widgets); g_signal_connect(G_OBJECT(widgets->UserRootPasswordCombo),"changed",G_CALLBACK(yon_gtk_widget_set_sensitive_from_combo_box),widgets->UserRootPasswordEntry); g_signal_connect(G_OBJECT(widgets->UserRootPasswordCombo),"changed",G_CALLBACK(yon_gtk_widget_set_sensitive_from_combo_box),widgets->UserRootPasswordButton); @@ -1008,6 +1012,17 @@ void yon_main_window_create(main_window *widgets){ exit (1); } } + { + char *command = yon_config_parameter_prepare_command(part_size_parameter_command,"default",NULL,NULL); + int size; + config_str default_part_size = yon_config_load(command,&size); + if (size&&strcmp(default_part_size[0],"(null)\n")){ + free(yon_char_divide_search(default_part_size[0],"=",-1)); + yon_char_remove_last_symbol(default_part_size[0],'\n'); + yon_char_remove_brackets(default_part_size[0]); + main_config.part_size_default = default_part_size[0]; + } + } } gboolean yon_maximize_start(main_window *widgets){ diff --git a/source/ubinstall-gtk.h b/source/ubinstall-gtk.h index 72f43f8..63e8fdc 100755 --- a/source/ubinstall-gtk.h +++ b/source/ubinstall-gtk.h @@ -466,6 +466,8 @@ typedef struct config_str partitions; int part_size; + + char *part_size_default; } config; extern config main_config; @@ -1509,4 +1511,5 @@ gboolean on_time_zone_status_hover_end(GtkWidget *, GdkEvent *, main_window *wid void yon_map_update(main_window *widgets, const char *timezone); void on_partition_size_changed(GtkWidget *self, main_window *widgets); void *yon_partitions_list_load(main_window *widgets); -void *yon_modules_list_load(main_window *widgets); \ No newline at end of file +void *yon_modules_list_load(main_window *widgets); +void yon_size_changed(GtkSpinButton *self, main_window *widgets); \ No newline at end of file diff --git a/source/ubl-strings.h b/source/ubl-strings.h index 64c2b99..e6c40ed 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -291,6 +291,8 @@ NULL) #define FINISH_ACTION_LABEL _("After successful installation:") #define MAP_TITLE_LABEL(utc) yon_char_unite(_("UTC"),utc,NULL) #define MAP_INFO_LABEL(tz_location) yon_char_unite(_("Geasfa"),tz_location,NULL) +#define NOT_ENOUGH_FREE_SPACE_LABEL _("The size of the new partition exceeds the free space of the selected partition") //Размер нового раздела превышает свободное место выбранного раздела +#define NOT_ENOUGH_SPACE_LABEL _("The size of the new disk partition is larger than the size of the selected partition") //Размер нового раздела диска превышает размер выбранного раздела // #define _LABEL _("Select your language:") // #define _LABEL _("Selecting additional system kernel components") diff --git a/ubinstall-gtk.glade b/ubinstall-gtk.glade index 391d423..c564068 100644 --- a/ubinstall-gtk.glade +++ b/ubinstall-gtk.glade @@ -238,7 +238,7 @@ - 999999 + 999999999999 10 1 10