diff options
author | Xan Lopez <xan@gnome.org> | 2009-11-02 18:10:40 +0800 |
---|---|---|
committer | Xan Lopez <xan@gnome.org> | 2010-10-24 18:21:25 +0800 |
commit | c255df464cf44e9687f80c5845e5f31a500f7084 (patch) | |
tree | b2c5c6cb9d2ada8250894df681962961599e9a62 /lib/widgets/testspinner.c | |
parent | 90f545eba59c0ecf1ea6924d909630e9a9b564c6 (diff) | |
download | gsoc2013-epiphany-c255df464cf44e9687f80c5845e5f31a500f7084.tar.gz gsoc2013-epiphany-c255df464cf44e9687f80c5845e5f31a500f7084.tar.zst gsoc2013-epiphany-c255df464cf44e9687f80c5845e5f31a500f7084.zip |
Spinner changes
We get rid of the spinner in the toolbar, since load information is
already given by the floating status indicator inside the WebView.
The only remaining spinner is the one in the tabs, which has been
ported to use GtkSpinner.
Get rid of EphySpinner.
Fixes:
https://bugzilla.gnome.org/show_bug.cgi?id=524809 (again)
https://bugzilla.gnome.org/show_bug.cgi?id=598442
Diffstat (limited to 'lib/widgets/testspinner.c')
-rw-r--r-- | lib/widgets/testspinner.c | 264 |
1 files changed, 0 insertions, 264 deletions
diff --git a/lib/widgets/testspinner.c b/lib/widgets/testspinner.c deleted file mode 100644 index be5d256f1..000000000 --- a/lib/widgets/testspinner.c +++ /dev/null @@ -1,264 +0,0 @@ -/* - * Copyright © 2005, 2006 Christian Persch - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - */ - -#include <glib.h> -#include <gtk/gtk.h> - -#define COMPILING_TESTSPINNER -#define LOG(msg, args...) g_print(msg, ## args); g_print ("\n") -#define START_PROFILER(name) -#define STOP_PROFILER(name) - -#include "ephy-spinner.c" -#include "ephy-spinner-tool-item.c" - -#define MOVE_TIMEOUT 211 /* ms */ - -static void start_or_stop (GtkToggleButton *button, EphySpinner *spinner) -{ - if (gtk_toggle_button_get_active (button)) - { - ephy_spinner_start (spinner); - } - else - { - ephy_spinner_stop (spinner); - } -} - -static void add_spinner (GtkTable *table, - int row, - GtkIconSize size, - const char *sizename, - guint interval, - gboolean start) -{ - GtkWidget *label, *frame, *button, *spinner; - char *text; - - text = g_strdup_printf ("%s size:", sizename); - label = gtk_label_new (text); - gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0); - gtk_table_attach_defaults (table, label, 0, 1, row, row + 1); - g_free (text); - - frame = gtk_frame_new (NULL); - gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN); - gtk_table_attach (table, frame, 1, 2, row, row + 1, GTK_SHRINK, GTK_SHRINK, 0, 0); - - spinner = ephy_spinner_new (); - ephy_spinner_set_size (EPHY_SPINNER (spinner), size); - gtk_container_add (GTK_CONTAINER (frame), spinner); - - button = gtk_check_button_new_with_label ("Spin"); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), start); - start_or_stop (GTK_TOGGLE_BUTTON (button), EPHY_SPINNER (spinner)); - g_signal_connect (button, "toggled", G_CALLBACK (start_or_stop), spinner); - gtk_table_attach_defaults (table, button, 2, 3, row, row + 1); -} - -static void move_window (GtkWindow *window) -{ - GdkScreen *screen = gtk_widget_get_screen (GTK_WIDGET (window)); - GdkDisplay *display = gdk_screen_get_display (screen); - gint number_of_screens = gdk_display_get_n_screens (display); - gint screen_num = gdk_screen_get_number (screen); - - if ((screen_num + 1) < number_of_screens) - { - gtk_window_set_screen (window, gdk_display_get_screen (display, screen_num + 1)); - } - else - { - gtk_window_set_screen (window, gdk_display_get_screen (display, 0)); - } -} - -static gboolean -move_true (GtkWindow *window) -{ - move_window (window); - return TRUE; -} - -static void -start_or_stop_repeated_moves (GtkWindow *window) -{ - static guint timeout = 0; - - if (timeout == 0) - { - timeout = g_timeout_add (MOVE_TIMEOUT, (GSourceFunc) move_true, window); - } - else - { - g_source_remove (timeout); - timeout = 0; - } -} - -static void -change_toolbar_style_cb (GtkComboBox *combo, - GtkToolbar *toolbar) -{ - int value = gtk_combo_box_get_active (combo); - - gtk_toolbar_set_style (toolbar, value); -} - -static void -change_toolbar_icon_size_cb (GtkComboBox *combo, - GtkToolbar *toolbar) -{ - int value = gtk_combo_box_get_active (combo); - - if (value == GTK_ICON_SIZE_INVALID) - { - gtk_toolbar_unset_icon_size (toolbar); - } - else - { - gtk_toolbar_set_icon_size (toolbar, value); - } -} - -static void -spin_toolbar_spinner_cb (GtkToggleButton *button, - EphySpinnerToolItem *item) -{ - ephy_spinner_tool_item_set_spinning (item, gtk_toggle_button_get_active (button)); -} - -int main(int argc, char **argv) -{ - GtkWidget *window, *vbox, *vbox2, *widget, *toolbar, *combo; - GtkToolItem *item; - GtkTable *table; - int row = 0, i; - const char *toolbar_styles[] = { - "icons", - "text", - "both (vertical)", - "both (horizontal)" - }; - const char *icon_sizes[] = { - "default", - "menu", - "small toolbar", - "large toolbar", - "button", - "dnd", - "dialog" - }; - - gtk_init (&argc, &argv); - - window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_container_set_border_width (GTK_CONTAINER (window), 12); - - vbox = gtk_vbox_new (FALSE, 6); - gtk_container_add (GTK_CONTAINER (window), vbox); - - widget = gtk_table_new (5, 3, FALSE); - gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); - - table = GTK_TABLE (widget); - gtk_table_set_row_spacings (table, 6); - gtk_table_set_col_spacings (table,12); - - add_spinner (table, row++, GTK_ICON_SIZE_INVALID, "Native", 0, FALSE); - add_spinner (table, row++, GTK_ICON_SIZE_MENU, "Menu", 0, FALSE); - add_spinner (table, row++, GTK_ICON_SIZE_SMALL_TOOLBAR, "Small toolbar", 0, FALSE); - add_spinner (table, row++, GTK_ICON_SIZE_LARGE_TOOLBAR, "Large toolbar", 0, FALSE); - add_spinner (table, row++, GTK_ICON_SIZE_BUTTON, "Button", 0, FALSE); - add_spinner (table, row++, GTK_ICON_SIZE_DND, "Drag-and-drop", 0, FALSE); - add_spinner (table, row++, GTK_ICON_SIZE_DIALOG, "Dialog", 0, FALSE); - - /* Test toolbar */ - vbox2 = gtk_vbox_new (FALSE, 6); - gtk_box_pack_start (GTK_BOX (vbox), vbox2, FALSE, FALSE, 0); - - toolbar = gtk_toolbar_new (); - gtk_toolbar_set_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_BOTH); - gtk_box_pack_end (GTK_BOX (vbox2), toolbar, FALSE, FALSE, 0); - - item = gtk_tool_button_new_from_stock (GTK_STOCK_NEW); - gtk_tool_item_set_homogeneous (item, FALSE); - gtk_tool_item_set_is_important (item, TRUE); - gtk_widget_show (GTK_WIDGET (item)); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, 0); - - item = gtk_tool_button_new_from_stock (GTK_STOCK_OPEN); - gtk_tool_item_set_homogeneous (item, FALSE); - gtk_widget_show (GTK_WIDGET (item)); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, 0); - - item = gtk_tool_item_new (); - gtk_tool_item_set_homogeneous (item, FALSE); - gtk_widget_show (GTK_WIDGET (item)); - gtk_tool_item_set_expand (item, TRUE); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1); - - item = ephy_spinner_tool_item_new (); - gtk_widget_show (GTK_WIDGET (item)); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1); - - widget = gtk_check_button_new_with_label ("Spin"); - g_signal_connect (widget, "toggled", G_CALLBACK (spin_toolbar_spinner_cb), item); - gtk_box_pack_start (GTK_BOX (vbox2), widget, FALSE, FALSE, 0); - - combo = gtk_combo_box_text_new (); - g_signal_connect (combo, "changed", G_CALLBACK (change_toolbar_style_cb), toolbar); - for (i = 0; i < G_N_ELEMENTS (toolbar_styles); ++i) - { - gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), toolbar_styles[i]); - } - gtk_combo_box_set_active (GTK_COMBO_BOX (combo), GTK_TOOLBAR_BOTH); - gtk_box_pack_start (GTK_BOX (vbox2), combo, FALSE, FALSE, 0); - - combo = gtk_combo_box_text_new (); - g_signal_connect (combo, "changed", G_CALLBACK (change_toolbar_icon_size_cb), toolbar); - for (i = 0; i < G_N_ELEMENTS (icon_sizes); ++i) - { - gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), icon_sizes[i]); - } - gtk_combo_box_set_active (GTK_COMBO_BOX (combo), GTK_ICON_SIZE_INVALID); - gtk_box_pack_start (GTK_BOX (vbox2), combo, FALSE, FALSE, 0); - - /* Controls */ - widget = gtk_button_new_with_label ("Move to next screen"); - g_signal_connect_swapped (widget, "clicked", G_CALLBACK (move_window), window); - gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); - - widget = gtk_toggle_button_new_with_label ("Move repeatedly to next screen"); - g_signal_connect_swapped (widget, "toggled", G_CALLBACK (start_or_stop_repeated_moves), window); - gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); - - widget = gtk_button_new_with_label ("Quit"); - g_signal_connect_swapped (widget, "clicked", G_CALLBACK (gtk_widget_destroy), window); - gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); - - gtk_widget_show_all (window); - - g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL); - - gtk_main (); - - return 0; -} |