You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
3.8 KiB
69 lines
3.8 KiB
#include "ubl-settings-manager.h"
|
|
|
|
|
|
void yon_open_browser(GtkWidget *, char *link){
|
|
GtkWidget *window = yon_ubl_browser_window_open(link,template_app_information.app_title);
|
|
if (window)
|
|
gtk_window_set_icon_name(GTK_WINDOW(window),yon_char_append("com.ublinux.",template_app_information.app_tech_name));
|
|
}
|
|
|
|
void on_open_documentation_confirmation(GtkWidget *self, char *link){
|
|
if (main_config.always_open_documentation==0){
|
|
GtkBuilder *builder = gtk_builder_new_from_resource(ui_glade_path_documentation);
|
|
template_documentation_confirmation_window *window = malloc(sizeof(template_documentation_confirmation_window));
|
|
window->Window = yon_gtk_builder_get_widget(builder,"helpConfirmationWindow");
|
|
window->AcceptButton = yon_gtk_builder_get_widget(builder,"ReadHelpButton");
|
|
window->CloseButton = yon_gtk_builder_get_widget(builder,"CancelHelpButton");
|
|
window->HeaderLabel = yon_gtk_builder_get_widget(builder,"webHeaderNameLabel");
|
|
window->AlwaysOpenCheck = yon_gtk_builder_get_widget(builder,"AlwaysOpenDocumentationCheckbox");
|
|
gtk_label_set_text(GTK_LABEL(window->HeaderLabel),TITLE_LABEL);
|
|
gtk_window_set_title(GTK_WINDOW(window->Window),TITLE_LABEL);
|
|
gtk_window_set_icon_name(GTK_WINDOW(window->Window),yon_char_append("com.ublinux.",template_app_information.app_tech_name));
|
|
gtk_widget_show_all(window->Window);
|
|
g_signal_connect(G_OBJECT(window->CloseButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
|
|
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(yon_open_browser),yon_char_new(link));
|
|
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
|
|
|
|
} else {
|
|
yon_open_browser(self,link);
|
|
}
|
|
}
|
|
|
|
/**on_link(GtkWidget *self, char* uri, gpointer user_data)
|
|
* [EN]
|
|
* Signal for hadnling AboutDialog links.
|
|
* Connect to "activate-link" signal.
|
|
* [self] is AboutDialog window;
|
|
* [uri] is activated link;
|
|
* [user_data] is pointer for user data, hasn't used in standard handler;
|
|
* [RU]
|
|
* Функция для обработки сигнала нажатия на ссылку окна AboutDialog.
|
|
* Присоединять к сигналу "activate-link".
|
|
* [self] - окно AboutDialog;
|
|
* [uri] - ссылка, по которой совершается переход;
|
|
* [user_data] - указатель на любые другие данные, не используется в стандартном обработчике;
|
|
*/
|
|
void on_link(GtkWidget *self, char* uri, gpointer){
|
|
gtk_widget_destroy(self);
|
|
on_open_documentation_confirmation(self,uri);
|
|
}
|
|
|
|
void on_about(GtkWidget *, char *version_application){
|
|
GtkBuilder *builder=gtk_builder_new_from_resource(ui_glade_path_about);
|
|
GtkWidget *window=yon_gtk_builder_get_widget(builder,"AboutWindow");
|
|
GtkWidget *title=yon_gtk_builder_get_widget(builder,"headerAboutTopic");
|
|
GtkWidget *hideButtonBox=yon_gtk_builder_get_widget(builder,"buttonBoxHide");
|
|
gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(window),version_application);
|
|
gtk_about_dialog_set_logo_icon_name(GTK_ABOUT_DIALOG(window),yon_char_append("com.ublinux.",LocaleName));
|
|
gtk_window_set_icon_name(GTK_WINDOW(window),yon_char_append("com.ublinux.",LocaleName));
|
|
char *title_str = about_label(TITLE_LABEL);
|
|
gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(window),title_str);
|
|
gtk_about_dialog_set_program_name(GTK_ABOUT_DIALOG(window),LocaleName);
|
|
gtk_label_set_text(GTK_LABEL(title),title_str);
|
|
g_signal_connect(G_OBJECT(window),"activate-link",G_CALLBACK(on_link),NULL);
|
|
gtk_widget_set_visible(hideButtonBox,0);
|
|
gtk_widget_destroy(hideButtonBox);
|
|
gtk_window_set_title(GTK_WINDOW(window),title_str);
|
|
gtk_widget_show(window);
|
|
free(title_str);
|
|
} |