|
|
|
|
@ -892,7 +892,7 @@ void yon_ubl_setup_sockets(GtkWidget *main_window, GtkWidget *left_window, GtkWi
|
|
|
|
|
// webkit section
|
|
|
|
|
#ifdef WEBKIT_INCLUDE
|
|
|
|
|
|
|
|
|
|
void yon_ubl_browser_window_open(char *link, char *browser_window_name){
|
|
|
|
|
GtkWidget *yon_ubl_browser_window_open(char *link, char *browser_window_name){
|
|
|
|
|
GtkWidget *browser=gtk_window_new(GTK_WINDOW_TOPLEVEL);
|
|
|
|
|
GtkWidget *web_place=gtk_box_new(GTK_ORIENTATION_VERTICAL,0);
|
|
|
|
|
GtkWidget *header=gtk_header_bar_new();
|
|
|
|
|
@ -907,28 +907,35 @@ void yon_ubl_browser_window_open(char *link, char *browser_window_name){
|
|
|
|
|
webkit_web_view_load_uri(WEBKIT_WEB_VIEW(WebView),link);
|
|
|
|
|
gtk_box_pack_start(GTK_BOX(web_place),WebView,1,1,0);
|
|
|
|
|
gtk_widget_show_all(browser);
|
|
|
|
|
return browser;
|
|
|
|
|
}
|
|
|
|
|
#else
|
|
|
|
|
|
|
|
|
|
void yon_ubl_browser_window_open(char *link, char *browser_window_name){
|
|
|
|
|
GtkWidget *yon_ubl_browser_window_open(char *link, char *browser_window_name){
|
|
|
|
|
char *user=getenv("SUDO_USER");
|
|
|
|
|
if (!user)
|
|
|
|
|
user=getlogin();
|
|
|
|
|
char *command=yon_char_unite("sudo -u ",user," xdg-open ", link,NULL);
|
|
|
|
|
yon_launch(command);
|
|
|
|
|
return NULL;
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
// rmb menu section
|
|
|
|
|
gboolean on_rmb_menu_open(GtkWidget *self,GdkEventButton *event, rmb_menu_window *window){
|
|
|
|
|
if (self){};
|
|
|
|
|
if (event->button==3){
|
|
|
|
|
typedef int (*RmbCheck)(void*);
|
|
|
|
|
|
|
|
|
|
gtk_widget_show_all(window->menu);
|
|
|
|
|
gtk_menu_popup_at_pointer(GTK_MENU(window->menu),NULL);
|
|
|
|
|
gboolean on_rmb_menu_open(GtkWidget *self,GdkEventButton *event, rmb_menu_window *window){
|
|
|
|
|
int (*func)(void*) = (RmbCheck)(window->show_function);
|
|
|
|
|
if (func(window->show_data)){
|
|
|
|
|
if (self){};
|
|
|
|
|
if (event->button==3){
|
|
|
|
|
|
|
|
|
|
gtk_widget_show_all(window->menu);
|
|
|
|
|
gtk_menu_popup_at_pointer(GTK_MENU(window->menu),NULL);
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
rmb_menu_window *yon_rmb_menu_new(){
|
|
|
|
|
@ -940,9 +947,11 @@ rmb_menu_window *yon_rmb_menu_new(){
|
|
|
|
|
return window;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
rmb_menu_window *yon_rmb_menu_setup(GtkWidget *target_widget, const char *button_label, const char *icon_name, GCallback function, gpointer data,...){
|
|
|
|
|
rmb_menu_window *yon_rmb_menu_setup(GtkWidget *target_widget, int (show_function)(void*), void *show_data, const char *button_label, const char *icon_name, GCallback function, gpointer data,...){
|
|
|
|
|
if (target_widget){
|
|
|
|
|
rmb_menu_window *window = yon_rmb_menu_new();
|
|
|
|
|
window->show_function=(GCallback)show_function;
|
|
|
|
|
window->show_data=show_data;
|
|
|
|
|
{
|
|
|
|
|
GtkWidget *menu_item = gtk_menu_item_new();
|
|
|
|
|
GtkWidget *content_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,5);
|
|
|
|
|
@ -994,6 +1003,7 @@ rmb_menu_window *yon_rmb_menu_setup(GtkWidget *target_widget, const char *button
|
|
|
|
|
gtk_menu_shell_append(GTK_MENU_SHELL(window->menu),menu_item);
|
|
|
|
|
}
|
|
|
|
|
g_signal_connect(G_OBJECT(target_widget),"button-press-event",G_CALLBACK(on_rmb_menu_open),window);
|
|
|
|
|
return window;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endif
|