diff --git a/locale/ubl-settings-video.pot b/locale/ubl-settings-video.pot
index 99d3c15..c0e3485 100644
--- a/locale/ubl-settings-video.pot
+++ b/locale/ubl-settings-video.pot
@@ -569,39 +569,43 @@ msgstr ""
msgid "Devices and Drivers"
msgstr ""
-#: source/ubl-strings.h:152
+#: source/ubl-strings.h:151
+msgid "Unlock the pacman package manager database"
+msgstr ""
+
+#: source/ubl-strings.h:153
msgid "Database files must be updated"
msgstr ""
-#: source/ubl-strings.h:154
+#: source/ubl-strings.h:155
msgid "Warning: Couldn't find any supported kernel version"
msgstr ""
-#: source/ubl-strings.h:156
+#: source/ubl-strings.h:157
msgid "Default (All installed)"
msgstr ""
-#: source/ubl-strings.h:157
+#: source/ubl-strings.h:158
msgid "Driver installation has failed"
msgstr ""
-#: source/ubl-strings.h:158
+#: source/ubl-strings.h:159
msgid "Operation has failed"
msgstr ""
-#: source/ubl-strings.h:160
+#: source/ubl-strings.h:161
msgid "Are you sure want to install driver "
msgstr ""
-#: source/ubl-strings.h:161
+#: source/ubl-strings.h:162
msgid "Are you sure want to remove driver "
msgstr ""
-#: source/ubl-strings.h:162
+#: source/ubl-strings.h:163
msgid "Attention!"
msgstr ""
-#: source/ubl-strings.h:162
+#: source/ubl-strings.h:163
msgid ""
"If you work in sandbox mode, you must install the package with the module!"
msgstr ""
diff --git a/locale/ubl-settings-video_ru.po b/locale/ubl-settings-video_ru.po
index ea83106..6d1ade1 100644
--- a/locale/ubl-settings-video_ru.po
+++ b/locale/ubl-settings-video_ru.po
@@ -576,43 +576,47 @@ msgstr "Модули драйвера"
msgid "Devices and Drivers"
msgstr "Устройства и драйвера"
-#: source/ubl-strings.h:152
+#: source/ubl-strings.h:151
+msgid "Unlock the pacman package manager database"
+msgstr "Разблокировать базу данных пакетного менеджера pacman"
+
+#: source/ubl-strings.h:153
msgid "Database files must be updated"
msgstr "Базы данных репозитория должны быть обновлены"
-#: source/ubl-strings.h:154
+#: source/ubl-strings.h:155
msgid "Warning: Couldn't find any supported kernel version"
msgstr "Предупреждение: Поддерживаемые версии ядра не найдены"
-#: source/ubl-strings.h:156
+#: source/ubl-strings.h:157
msgid "Default (All installed)"
msgstr "По умолчанию (все установленные)"
-#: source/ubl-strings.h:157
+#: source/ubl-strings.h:158
msgid "Driver installation has failed"
msgstr "Установка драйвера завершена с ошибкой"
-#: source/ubl-strings.h:158
+#: source/ubl-strings.h:159
msgid "Operation has failed"
msgstr "Операция завершена с ошибкой"
-#: source/ubl-strings.h:160
+#: source/ubl-strings.h:161
msgid "Are you sure want to install driver "
msgstr "Вы уверены, что хотите установить драйвер "
-#: source/ubl-strings.h:161
+#: source/ubl-strings.h:162
msgid "Are you sure want to remove driver "
msgstr "Вы уверены, что хотите удалить драйвер "
-#: source/ubl-strings.h:162
+#: source/ubl-strings.h:163
msgid "Attention!"
msgstr "Внимание!"
-#: source/ubl-strings.h:162
+#: source/ubl-strings.h:163
msgid ""
"If you work in sandbox mode, you must install the package with the module!"
msgstr ""
"Если вы работаете в режиме песочницы необходимо установить пакет с модулем!"
-msgid "Driver modules"
-msgstr "Модули драйвера"
+#~ msgid "Driver modules"
+#~ msgstr "Модули драйвера"
diff --git a/source/ubl-settings-video.c b/source/ubl-settings-video.c
index 65c18e3..3a88aea 100644
--- a/source/ubl-settings-video.c
+++ b/source/ubl-settings-video.c
@@ -2,6 +2,11 @@
config main_config;
+void on_pacman_db_unlock(void){
+ yon_launch(pacman_unlock_database_command);
+ yon_ubl_status_box_render(yon_char_get_localised_from_lib(SUCCESS_LABEL),BACKGROUND_IMAGE_SUCCESS_TYPE);
+}
+
void on_terminal_done(GtkWidget *, int , main_window *widgets){
vte_terminal_feed_child(VTE_TERMINAL(widgets->InstallTerminal),"^C",2);
}
@@ -53,6 +58,8 @@ void on_command_cancel(GtkWidget *,main_window *widgets){
main_config.progress_active=0;
g_mutex_unlock(&main_config.progress_mutex);
on_terminal_done(NULL,0,widgets);
+
+ yon_launch(pacman_unlock_database_command);
}
void on_driver_pack_selection_change(GtkWidget *, GtkListBoxRow *selection, main_window *widgets){
@@ -1375,6 +1382,7 @@ template_main_window *yon_main_window_complete(main_window *widgets){
widgets->DevicesLabel = yon_gtk_builder_get_widget(builder,"DevicesLabel");
widgets->MoreButton = yon_gtk_builder_get_widget(builder,"TerminalMoreButton");
+ widgets->UnlockPacmanButton = yon_gtk_builder_get_widget(builder,"UnlockPacmanButton");
widgets->TerminalPaned = yon_gtk_builder_get_widget(builder,"TerminalPaned");
widgets->TerminalMoreRevieler = yon_gtk_builder_get_widget(builder,"TerminalMoreRevieler");
widgets->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton");
@@ -1431,16 +1439,17 @@ template_main_window *yon_main_window_complete(main_window *widgets){
g_signal_connect(G_OBJECT(widgets->OptirunButton),"clicked",G_CALLBACK(on_app_chooser_open),widgets);
g_signal_connect(G_OBJECT(widgets->PrimusrunButton),"clicked",G_CALLBACK(on_app_chooser_open),widgets);
g_signal_connect(G_OBJECT(widgets->MoreButton),"clicked",G_CALLBACK(on_terminal_revealer_open),widgets);
- g_signal_connect(G_OBJECT(widgets->TerminalCancelButton),"clicked",G_CALLBACK(on_command_cancel),widgets);
+ g_signal_connect(G_OBJECT(widgets->TerminalCancelButton),"clicked",G_CALLBACK(on_command_cancel),widgets);
+ g_signal_connect(G_OBJECT(widgets->UnlockPacmanButton),"clicked",G_CALLBACK(on_pacman_db_unlock),NULL);
g_object_set_data(G_OBJECT(widgets->InstallTerminal),"widgets",widgets);
{
gtk_paned_add2(GTK_PANED(widgets->TerminalPaned),widgets->TerminalRevealer);
- vte_terminal_set_scrollback_lines(VTE_TERMINAL(widgets->InstallTerminal), 100);
- vte_terminal_set_scroll_on_output(VTE_TERMINAL(widgets->InstallTerminal), TRUE);
- vte_terminal_set_scroll_on_keystroke(VTE_TERMINAL(widgets->InstallTerminal), TRUE);
- vte_terminal_set_input_enabled(VTE_TERMINAL(widgets->InstallTerminal),1);
- gtk_progress_bar_set_pulse_step(GTK_PROGRESS_BAR(widgets->TerminalInfoLabel),0.1);
+ vte_terminal_set_scrollback_lines(VTE_TERMINAL(widgets->InstallTerminal), 100);
+ vte_terminal_set_scroll_on_output(VTE_TERMINAL(widgets->InstallTerminal), TRUE);
+ vte_terminal_set_scroll_on_keystroke(VTE_TERMINAL(widgets->InstallTerminal), TRUE);
+ vte_terminal_set_input_enabled(VTE_TERMINAL(widgets->InstallTerminal),1);
+ gtk_progress_bar_set_pulse_step(GTK_PROGRESS_BAR(widgets->TerminalInfoLabel),0.1);
}
widgets->menu = yon_rmb_menu_setup(widgets->DriversList,check_rmb_menu,widgets,
SUPPORTED_LABEL,icon_devices_path,G_CALLBACK(on_devices_button_clicked),widgets,
diff --git a/source/ubl-settings-video.h b/source/ubl-settings-video.h
index 0df5407..00d2554 100644
--- a/source/ubl-settings-video.h
+++ b/source/ubl-settings-video.h
@@ -58,6 +58,8 @@
#define yon_check_database_command "pacman -Sqs >/dev/null"
+#define pacman_unlock_database_command "rm -f /var/lib/pacman/db.lck"
+
#define yon_get_kernels_installed "find /usr/lib/modules/ -maxdepth 2 -type f -iname \"pkgbase\" -exec cat {} + 2>/dev/null"
#define icon_devices_path "com.ublinux.libublsettingsui-gtk3.database-symbolic"
@@ -183,6 +185,7 @@ typedef struct
GtkWidget *DriverLabel;
GtkWidget *DescriptionLabel;
GtkWidget *DevicesLabel;
+ GtkWidget *UnlockPacmanButton;
GtkWidget *MoreButton;
GtkWidget *CancelButton;
@@ -428,5 +431,6 @@ void on_devices_button_clicked(GtkWidget *, main_window *widgets);
int check_rmb_menu(void *data);
void on_install_check(GtkWidget *self,gint status,driver_struct *driver);
void yon_install_buttons_set_sensitive(main_window *widgets,int state);
+void on_pacman_db_unlock(void);
#endif
\ No newline at end of file
diff --git a/source/ubl-strings.h b/source/ubl-strings.h
index 13beb93..a12776d 100644
--- a/source/ubl-strings.h
+++ b/source/ubl-strings.h
@@ -148,6 +148,7 @@
#define DISCRETE_ONLY_LABEL _("discrete video only (AMD/ATI):")
#define DRIVER_MODULES_LABEL _("Driver Modules")
#define DEVICES_AND_DRIVERS_LABEL _("Devices and Drivers")
+#define PACMAN_UNLOCK_TOOLTIP_LABEL _("Unlock the pacman package manager database")
#define DATABASE_UNACCESSIBLE_LABEL _("Database files must be updated")
diff --git a/ubl-settings-video.glade b/ubl-settings-video.glade
index b5a4091..3ef4295 100644
--- a/ubl-settings-video.glade
+++ b/ubl-settings-video.glade
@@ -918,6 +918,17 @@
0
+
+
+
+ False
+ True
+ 1
+
+
@@ -951,7 +962,7 @@
False
True
- 2
+ 3
@@ -969,7 +980,35 @@
False
True
- 3
+ 4
+
+
+
+
+
+ False
+ True
+ 5
+
+
+
+
+
+ False
+ True
+ 6
@@ -1572,6 +1611,11 @@
+