tazweb view src/snippets.c @ rev 210

Update po/it.po (thanks Christian Michelini)
author Aleksej Bobylev <al.bobylev@gmail.com>
date Wed Feb 21 21:17:29 2018 +0200 (2018-02-21)
parents f4f9f41cf004
children
line source
1 /*
2 * TazWeb code snippets: small regions of re-usable source code
3 *
4 * This file is used for ideas, proposals and to keep removed code under
5 * the hand.
6 *
7 * Copyright (C) 2011-2017 SliTaz GNU/Linux - BSD License
8 * See AUTHORS and LICENSE for detailed information
9 *
10 */
12 /* Cmdline parsing with getopt to handle -p -s */
13 while ((c = getopt(argc, argv, "psk:u")) != -1) {
14 switch (c) {
15 case 'p':
16 notoolbar++;
17 break;
19 case 's':
20 nocookies++;
21 break;
23 case 'k':
24 kiosk++;
25 break;
27 case 'u':
28 useragent = optarg;
29 break;
31 default:
32 help();
33 }
34 }
36 /*
37 *
38 * Callback
39 *
40 *
41 **********************************************************************/
43 /* Zoom out and in callback function
44 *
45 * Not sure zooming is useful in menu, but with GDK keybinding or
46 * mouse Ctrl+scroll it would be nice!
47 *
48 */
50 static void
51 zoom_out_cb(GtkWidget *widget, WebKitWebView* webview)
52 {
53 webkit_web_view_zoom_out(webview);
54 }
56 static void
57 zoom_in_cb(GtkWidget *widget, WebKitWebView* webview)
58 {
59 webkit_web_view_zoom_in(webview);
60 }
62 /* Fullscreen and unfullscreen callback function
63 *
64 * Buggy: first window is going fullscreen
65 *
66 */
68 static void
69 fullscreen_cb(GtkWidget* window, gpointer data)
70 {
71 GdkWindowState state;
72 state = gdk_window_get_state(gtk_widget_get_window(GTK_WIDGET(mainwindow)));
74 if(state & GDK_WINDOW_STATE_FULLSCREEN)
75 gtk_window_unfullscreen(GTK_WINDOW(mainwindow));
76 else
77 gtk_window_fullscreen(GTK_WINDOW(mainwindow));
78 }
80 /* Add items to WebKit contextual menu */
81 static void
82 populate_menu_cb(WebKitWebView *webview, GtkMenu *menu, gpointer data)
83 {
85 /* Zoom in */
86 item = gtk_image_menu_item_new_with_label(_("Zoom in"));
87 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item),
88 gtk_image_new_from_stock(GTK_STOCK_ZOOM_IN, GTK_ICON_SIZE_MENU));
89 gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
90 g_signal_connect(item, "activate", G_CALLBACK(zoom_in_cb), webview);
92 /* Zoom out */
93 item = gtk_image_menu_item_new_with_label(_("Zoom out"));
94 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item),
95 gtk_image_new_from_stock(GTK_STOCK_ZOOM_OUT, GTK_ICON_SIZE_MENU));
96 gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
97 g_signal_connect(item, "activate", G_CALLBACK(zoom_out_cb), webview);
99 /* Fullscreen */
100 item = gtk_image_menu_item_new_with_label(_("Fullscreen mode"));
101 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item),
102 gtk_image_new_from_stock(GTK_STOCK_FULLSCREEN, GTK_ICON_SIZE_MENU));
103 gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
104 g_signal_connect(item, "activate", G_CALLBACK(fullscreen_cb), webview);
106 /* Separator */
107 item = gtk_separator_menu_item_new();
108 gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
110 }