Added unlock pacman database button

pull/121/head
parent e6b11ac78c
commit c3f66da0a7
No known key found for this signature in database
GPG Key ID: FF1D842BF4DDE92B

@ -569,39 +569,43 @@ msgstr ""
msgid "Devices and Drivers" msgid "Devices and Drivers"
msgstr "" 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" msgid "Database files must be updated"
msgstr "" msgstr ""
#: source/ubl-strings.h:154 #: source/ubl-strings.h:155
msgid "Warning: Couldn't find any supported kernel version" msgid "Warning: Couldn't find any supported kernel version"
msgstr "" msgstr ""
#: source/ubl-strings.h:156 #: source/ubl-strings.h:157
msgid "Default (All installed)" msgid "Default (All installed)"
msgstr "" msgstr ""
#: source/ubl-strings.h:157 #: source/ubl-strings.h:158
msgid "Driver installation has failed" msgid "Driver installation has failed"
msgstr "" msgstr ""
#: source/ubl-strings.h:158 #: source/ubl-strings.h:159
msgid "Operation has failed" msgid "Operation has failed"
msgstr "" msgstr ""
#: source/ubl-strings.h:160 #: source/ubl-strings.h:161
msgid "Are you sure want to install driver " msgid "Are you sure want to install driver "
msgstr "" msgstr ""
#: source/ubl-strings.h:161 #: source/ubl-strings.h:162
msgid "Are you sure want to remove driver " msgid "Are you sure want to remove driver "
msgstr "" msgstr ""
#: source/ubl-strings.h:162 #: source/ubl-strings.h:163
msgid "Attention!" msgid "Attention!"
msgstr "" msgstr ""
#: source/ubl-strings.h:162 #: source/ubl-strings.h:163
msgid "" msgid ""
"If you work in sandbox mode, you must install the package with the module!" "If you work in sandbox mode, you must install the package with the module!"
msgstr "" msgstr ""

@ -576,43 +576,47 @@ msgstr "Модули драйвера"
msgid "Devices and Drivers" msgid "Devices and Drivers"
msgstr "Устройства и драйвера" 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" msgid "Database files must be updated"
msgstr "Базы данных репозитория должны быть обновлены" msgstr "Базы данных репозитория должны быть обновлены"
#: source/ubl-strings.h:154 #: source/ubl-strings.h:155
msgid "Warning: Couldn't find any supported kernel version" msgid "Warning: Couldn't find any supported kernel version"
msgstr "Предупреждение: Поддерживаемые версии ядра не найдены" msgstr "Предупреждение: Поддерживаемые версии ядра не найдены"
#: source/ubl-strings.h:156 #: source/ubl-strings.h:157
msgid "Default (All installed)" msgid "Default (All installed)"
msgstr "По умолчанию (все установленные)" msgstr "По умолчанию (все установленные)"
#: source/ubl-strings.h:157 #: source/ubl-strings.h:158
msgid "Driver installation has failed" msgid "Driver installation has failed"
msgstr "Установка драйвера завершена с ошибкой" msgstr "Установка драйвера завершена с ошибкой"
#: source/ubl-strings.h:158 #: source/ubl-strings.h:159
msgid "Operation has failed" msgid "Operation has failed"
msgstr "Операция завершена с ошибкой" msgstr "Операция завершена с ошибкой"
#: source/ubl-strings.h:160 #: source/ubl-strings.h:161
msgid "Are you sure want to install driver " msgid "Are you sure want to install driver "
msgstr "Вы уверены, что хотите установить драйвер " msgstr "Вы уверены, что хотите установить драйвер "
#: source/ubl-strings.h:161 #: source/ubl-strings.h:162
msgid "Are you sure want to remove driver " msgid "Are you sure want to remove driver "
msgstr "Вы уверены, что хотите удалить драйвер " msgstr "Вы уверены, что хотите удалить драйвер "
#: source/ubl-strings.h:162 #: source/ubl-strings.h:163
msgid "Attention!" msgid "Attention!"
msgstr "Внимание!" msgstr "Внимание!"
#: source/ubl-strings.h:162 #: source/ubl-strings.h:163
msgid "" msgid ""
"If you work in sandbox mode, you must install the package with the module!" "If you work in sandbox mode, you must install the package with the module!"
msgstr "" msgstr ""
"Если вы работаете в режиме песочницы необходимо установить пакет с модулем!" "Если вы работаете в режиме песочницы необходимо установить пакет с модулем!"
msgid "Driver modules" #~ msgid "Driver modules"
msgstr "Модули драйвера" #~ msgstr "Модули драйвера"

@ -2,6 +2,11 @@
config main_config; 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){ void on_terminal_done(GtkWidget *, int , main_window *widgets){
vte_terminal_feed_child(VTE_TERMINAL(widgets->InstallTerminal),"^C",2); 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; main_config.progress_active=0;
g_mutex_unlock(&main_config.progress_mutex); g_mutex_unlock(&main_config.progress_mutex);
on_terminal_done(NULL,0,widgets); on_terminal_done(NULL,0,widgets);
yon_launch(pacman_unlock_database_command);
} }
void on_driver_pack_selection_change(GtkWidget *, GtkListBoxRow *selection, main_window *widgets){ 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->DevicesLabel = yon_gtk_builder_get_widget(builder,"DevicesLabel");
widgets->MoreButton = yon_gtk_builder_get_widget(builder,"TerminalMoreButton"); 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->TerminalPaned = yon_gtk_builder_get_widget(builder,"TerminalPaned");
widgets->TerminalMoreRevieler = yon_gtk_builder_get_widget(builder,"TerminalMoreRevieler"); widgets->TerminalMoreRevieler = yon_gtk_builder_get_widget(builder,"TerminalMoreRevieler");
widgets->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton"); 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->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->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->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); g_object_set_data(G_OBJECT(widgets->InstallTerminal),"widgets",widgets);
{ {
gtk_paned_add2(GTK_PANED(widgets->TerminalPaned),widgets->TerminalRevealer); gtk_paned_add2(GTK_PANED(widgets->TerminalPaned),widgets->TerminalRevealer);
vte_terminal_set_scrollback_lines(VTE_TERMINAL(widgets->InstallTerminal), 100); 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_output(VTE_TERMINAL(widgets->InstallTerminal), TRUE);
vte_terminal_set_scroll_on_keystroke(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); vte_terminal_set_input_enabled(VTE_TERMINAL(widgets->InstallTerminal),1);
gtk_progress_bar_set_pulse_step(GTK_PROGRESS_BAR(widgets->TerminalInfoLabel),0.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, widgets->menu = yon_rmb_menu_setup(widgets->DriversList,check_rmb_menu,widgets,
SUPPORTED_LABEL,icon_devices_path,G_CALLBACK(on_devices_button_clicked),widgets, SUPPORTED_LABEL,icon_devices_path,G_CALLBACK(on_devices_button_clicked),widgets,

@ -58,6 +58,8 @@
#define yon_check_database_command "pacman -Sqs >/dev/null" #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 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" #define icon_devices_path "com.ublinux.libublsettingsui-gtk3.database-symbolic"
@ -183,6 +185,7 @@ typedef struct
GtkWidget *DriverLabel; GtkWidget *DriverLabel;
GtkWidget *DescriptionLabel; GtkWidget *DescriptionLabel;
GtkWidget *DevicesLabel; GtkWidget *DevicesLabel;
GtkWidget *UnlockPacmanButton;
GtkWidget *MoreButton; GtkWidget *MoreButton;
GtkWidget *CancelButton; GtkWidget *CancelButton;
@ -428,5 +431,6 @@ void on_devices_button_clicked(GtkWidget *, main_window *widgets);
int check_rmb_menu(void *data); int check_rmb_menu(void *data);
void on_install_check(GtkWidget *self,gint status,driver_struct *driver); void on_install_check(GtkWidget *self,gint status,driver_struct *driver);
void yon_install_buttons_set_sensitive(main_window *widgets,int state); void yon_install_buttons_set_sensitive(main_window *widgets,int state);
void on_pacman_db_unlock(void);
#endif #endif

@ -148,6 +148,7 @@
#define DISCRETE_ONLY_LABEL _("discrete video only (AMD/ATI):") #define DISCRETE_ONLY_LABEL _("discrete video only (AMD/ATI):")
#define DRIVER_MODULES_LABEL _("Driver Modules") #define DRIVER_MODULES_LABEL _("Driver Modules")
#define DEVICES_AND_DRIVERS_LABEL _("Devices and Drivers") #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") #define DATABASE_UNACCESSIBLE_LABEL _("Database files must be updated")

@ -918,6 +918,17 @@
<property name="position">0</property> <property name="position">0</property>
</packing> </packing>
</child> </child>
<child>
<object class="GtkSeparator">
<property name="visible">True</property>
<property name="can-focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child> <child>
<object class="GtkButton" id="SupportedDevicesButton"> <object class="GtkButton" id="SupportedDevicesButton">
<property name="visible">True</property> <property name="visible">True</property>
@ -933,7 +944,7 @@
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">1</property> <property name="position">2</property>
</packing> </packing>
</child> </child>
<child> <child>
@ -951,7 +962,7 @@
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">2</property> <property name="position">3</property>
</packing> </packing>
</child> </child>
<child> <child>
@ -969,7 +980,35 @@
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">3</property> <property name="position">4</property>
</packing>
</child>
<child>
<object class="GtkSeparator">
<property name="visible">True</property>
<property name="can-focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">5</property>
</packing>
</child>
<child>
<object class="GtkButton" id="UnlockPacmanButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">Unlock the pacman package manager database</property>
<property name="image">image6</property>
<style>
<class name="thin"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">6</property>
</packing> </packing>
</child> </child>
</object> </object>
@ -1572,6 +1611,11 @@
<widget name="label3"/> <widget name="label3"/>
</widgets> </widgets>
</object> </object>
<object class="GtkImage" id="image6">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.changes-allow-symbolic</property>
</object>
<object class="GtkListStore" id="liststore1"> <object class="GtkListStore" id="liststore1">
<columns> <columns>
<!-- column-name is_installed --> <!-- column-name is_installed -->

Loading…
Cancel
Save