Merge pull request 'master' (#93) from YanTheKaller/ubl-settings-kernel:master into master

Reviewed-on: #93
pull/105/head^2 v2.19
Dmitry Razumov 5 months ago
commit 078b74865d

@ -219,7 +219,7 @@ gboolean yon_tab_create_tags(kernels_tab *tab){
gtk_widget_destroy(g_list_nth_data(list,i));
}
g_list_free(list);
if (!getuid()){
// if (!getuid()){
switch(tab->module_installed){
case 1:{
yon_tag_add(GTK_BOX(tab->install_tags_box),MODULE_INSTALLED_LABEL,"tag_green",NULL);
@ -275,7 +275,7 @@ gboolean yon_tab_create_tags(kernels_tab *tab){
if ((!(launched&&!strcmp(tab->package,launched))&&(boot_run&&!yon_char_is_empty(boot_run[0])&&strcmp(tab->package,boot_run[0])))){
gtk_widget_show(tab->launch_button);
}
else if (launched&&(strcmp(tab->package,launched))&&(boot_run&&boot_run[0]&&!strcmp(tab->package,boot_run[0]))){
else if (boot_run&&boot_run[0]&&(!launched||strcmp(launched,boot_run[0]))&&(!strcmp(tab->package,boot_run[0]))){
gtk_widget_show(tab->launch_button);
yon_tag_add(GTK_BOX(tab->install_tags_box),RUNNING_LABEL,"tag_green",NULL);
} else if (!launched){
@ -292,6 +292,7 @@ gboolean yon_tab_create_tags(kernels_tab *tab){
}
}
}
yon_char_parsed_free(boot_run,boot_size);
}
if (tab->changelog_button){
gtk_widget_show(tab->changelog_button);
@ -299,9 +300,23 @@ gboolean yon_tab_create_tags(kernels_tab *tab){
}
gtk_widget_set_sensitive(tab->update_module_button,!tab->module_updated);
gtk_widget_set_sensitive(tab->update_package_button,!tab->package_updated);
} else {
yon_tag_add(GTK_BOX(tab->install_tags_box),UNKNOWN_LABEL,"tag_grey",NULL);
}
// } else {
// char *launched = config(KERNEL_BOOT_parameter);
// int boot_size;
// config_str boot_run = yon_config_load(get_active_kernel_command,&boot_size);
// if(boot_size){
// yon_char_remove_last_symbol(boot_run[0],'\n');
// if (boot_run&&!strcmp(boot_run[0],tab->package)){
// yon_tag_add(GTK_BOX(tab->install_tags_box),RUNNING_LABEL,"tag_green",NULL);
// gtk_widget_hide(tab->launch_button);
// }
// if (!yon_char_is_empty(launched)&&strcmp(launched,boot_run[0])&&!strcmp(launched,tab->package)){
// gtk_widget_show(tab->launch_button);
// }
// yon_char_parsed_free(boot_run,boot_size);
// }
// yon_tag_add(GTK_BOX(tab->install_tags_box),UNKNOWN_LABEL,"tag_grey",NULL);
// }
gtk_widget_show(tab->main_box);
g_mutex_lock(&main_config.update_mutex);
@ -319,6 +334,7 @@ char *yon_package_string_set(char *target){
}
void yon_tab_set_installed(kernels_tab *tab){
int uid = getuid();
g_mutex_lock(&main_config.update_mutex);
main_config.update_active++;
g_mutex_unlock(&main_config.update_mutex);
@ -328,12 +344,14 @@ void yon_tab_set_installed(kernels_tab *tab){
tab->module_installed=-1;
} else {
tab->module_installed = yon_packages_check_installed(target_module);
if(!uid)
tab->module_updated = !yon_packages_check_updates(target_module);
}
if (yon_char_is_empty(target_package)){
tab->package_installed=-1;
} else {
tab->package_installed=yon_packages_check_installed(target_package);
if(!uid)
tab->package_updated = !yon_packages_check_updates(target_package);
}
if (tab->package_installed==-1&&tab->module_installed==-1){
@ -406,8 +424,9 @@ void *yon_interface_update(main_window *widgets){
}
additions_kernels_tab *tab = yon_additions_tab_row_new(GTK_LIST_BOX(widgets->AdditionsPackageBox),kernels[i],widgets);
yon_tab_set_installed((kernels_tab*)tab);
if (i+1==kernels_size) {
char *status_text = NULL;
gtk_widget_set_can_focus(gtk_widget_get_parent(tab->main_box),0);
}
char *status_text = NULL;
switch (main_config.action){
case ACTION_LOAD:
status_text = main_config.load_mode==YON_CONFIG_LOCAL?main_config.local_load_success_localised:main_config.global_load_success_localised;
@ -424,9 +443,6 @@ void *yon_interface_update(main_window *widgets){
}
yon_ubl_status_box_render(status_text,BACKGROUND_IMAGE_SUCCESS_TYPE);
}
gtk_widget_set_can_focus(gtk_widget_get_parent(tab->main_box),0);
}
gtk_widget_hide(widgets->LoadingSpinner);
gtk_widget_show(widgets->MainOverlayBox);
gtk_spinner_stop(GTK_SPINNER(widgets->LoadingSpinner));
@ -524,22 +540,24 @@ gboolean on_command_execute_success(GtkWidget *,gint status,main_window *widgets
dictionary *dict = NULL;
for_dictionaries(dict,main_config.kernel_tabs){
if (!getuid()){
gtk_widget_set_sensitive(((kernels_tab*)dict->data)->update_module_button,1);
gtk_widget_set_sensitive(((kernels_tab*)dict->data)->update_package_button,1);
gtk_widget_set_sensitive(((kernels_tab*)dict->data)->install_module_button,1);
gtk_widget_set_sensitive(((kernels_tab*)dict->data)->install_package_button,1);
gtk_widget_set_sensitive(((kernels_tab*)dict->data)->remove_module_button,1);
gtk_widget_set_sensitive(((kernels_tab*)dict->data)->remove_package_button,1);
kernels_tab *tab = (kernels_tab*)dict->data;
gtk_widget_set_sensitive(tab->update_module_button,!tab->module_updated);
gtk_widget_set_sensitive(tab->update_package_button,!tab->package_updated);
gtk_widget_set_sensitive(tab->install_module_button,1);
gtk_widget_set_sensitive(tab->install_package_button,1);
gtk_widget_set_sensitive(tab->remove_module_button,1);
gtk_widget_set_sensitive(tab->remove_package_button,1);
}
}
for_dictionaries(dict,main_config.addition_tabs){
if (!getuid()){
gtk_widget_set_sensitive(((kernels_tab*)dict->data)->update_module_button,1);
gtk_widget_set_sensitive(((kernels_tab*)dict->data)->update_package_button,1);
gtk_widget_set_sensitive(((kernels_tab*)dict->data)->install_module_button,1);
gtk_widget_set_sensitive(((kernels_tab*)dict->data)->install_package_button,1);
gtk_widget_set_sensitive(((kernels_tab*)dict->data)->remove_module_button,1);
gtk_widget_set_sensitive(((kernels_tab*)dict->data)->remove_package_button,1);
kernels_tab *tab = (kernels_tab*)dict->data;
gtk_widget_set_sensitive(tab->update_module_button,!tab->module_updated);
gtk_widget_set_sensitive(tab->update_package_button,!tab->package_updated);
gtk_widget_set_sensitive(tab->install_module_button,1);
gtk_widget_set_sensitive(tab->install_package_button,1);
gtk_widget_set_sensitive(tab->remove_module_button,1);
gtk_widget_set_sensitive(tab->remove_package_button,1);
}
}
{
@ -1176,8 +1194,8 @@ kernels_tab *yon_tab_row_new(GtkListBox *target, char *target_string, main_windo
tab->install_package_button = yon_gtk_builder_get_widget(builder,"InstallPackageButton");
tab->changelog_button = yon_gtk_builder_get_widget(builder,"ChangelogButton");
tab->launch_button = yon_gtk_builder_get_widget(builder,"LaunchButton");
tab->module_updated=0;
tab->package_updated=0;
tab->module_updated=1;
tab->package_updated=1;
dictionary *dict = NULL;
yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets);
@ -1289,8 +1307,8 @@ additions_kernels_tab *yon_additions_tab_row_new(GtkListBox *target, char *targe
tab->launch_button = NULL;
tab->run_tags_box = NULL;
tab->tags_box = NULL;
tab->module_updated=0;
tab->package_updated=0;
tab->module_updated=1;
tab->package_updated=1;
dictionary *dict = NULL;
yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets);
@ -1546,6 +1564,13 @@ void on_terminal_revealer_open(GtkWidget *, main_window *widgets){
}
}
void on_paned_position_changed(GtkWidget *, GdkEvent*,main_window *widgets){
int size = (int)(gtk_widget_get_allocated_height(widgets->InterfaceBox)*0.8);
if (size<20) size=20;
if (gtk_paned_get_position(GTK_PANED(widgets->TerminalPaned))>size)
gtk_paned_set_position(GTK_PANED(widgets->TerminalPaned),size);
}
/**yon_main_window_complete(main_window *widgets)
* [EN]
*
@ -1589,6 +1614,7 @@ void yon_main_window_complete(main_window *widgets){
widgets->DescriptionSizeGroup = GTK_SIZE_GROUP(gtk_builder_get_object(builder,"DescriptionSizeGroup"));
widgets->ButtonsSizeGroup = GTK_SIZE_GROUP(gtk_builder_get_object(builder,"ButtonsSizeGroup"));
g_signal_connect(G_OBJECT(widgets->TerminalPaned),"notify::position",G_CALLBACK(on_paned_position_changed),widgets);
g_signal_connect(G_OBJECT(widgets->UpdateButton),"clicked",G_CALLBACK(on_update_clicked),widgets);
g_signal_connect(G_OBJECT(widgets->BuildingButton),"clicked",G_CALLBACK(on_building_clicked),widgets);
g_signal_connect(G_OBJECT(widgets->UnlockPacmanButton),"clicked",G_CALLBACK(on_pacman_db_unlock),NULL);

@ -317,4 +317,5 @@ install_window *yon_install_window_new();
void on_terminal_cancel(GtkWidget *,main_window *widgets);
void on_pacman_db_unlock(void);
void on_pacman_db_unlock(void);
void on_paned_position_changed(GtkWidget *, GdkEvent*,main_window *widgets);

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<!-- Generated with glade 3.40.0 -->
<interface domain="ubl-settings-kernel">
<requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubl-settings-kernel.css -->
@ -244,6 +244,7 @@
<property name="spacing">5</property>
<child>
<object class="GtkButton" id="ModuleUpdateButton">
<property name="sensitive">False</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">Update module</property>
@ -308,6 +309,7 @@
<property name="spacing">5</property>
<child>
<object class="GtkButton" id="PackageUpdateButton">
<property name="sensitive">False</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">Update package</property>

@ -7,9 +7,9 @@ GenericName[ru]=Ядро системы
Comment=Kernel downloading and installation, kernel selection to boot by default
Comment[ru]=Загрузка и установка ядер системы, выбор ядра для загрузки по умолчанию
Type=Application
Exec=pkexec ubl-settings-kernel
Exec=ubl-settings-kernel
Icon=com.ublinux.ubl-settings-kernel
Terminal=false
X-XfcePluggable=true
X-UBLPluggable=true
Categories=XFCE;GTK;Settings;DesktopSettings;X-XFCE-SettingsDialog;X-XFCE-SystemSettings;X-UBL-SettingsManager;X-UBL-Personal-Settings;
Categories=XFCE;GTK;Settings;DesktopSettings;X-XFCE-SettingsDialog;X-XFCE-SystemSettings;X-UBL-SettingsManager;X-UBL-System-Settings;

Loading…
Cancel
Save