aboutsummaryrefslogtreecommitdiffstats
path: root/lib/widgets/testspinner.c
diff options
context:
space:
mode:
authorXan Lopez <xan@gnome.org>2009-11-02 18:10:40 +0800
committerXan Lopez <xan@gnome.org>2010-10-24 18:21:25 +0800
commitc255df464cf44e9687f80c5845e5f31a500f7084 (patch)
treeb2c5c6cb9d2ada8250894df681962961599e9a62 /lib/widgets/testspinner.c
parent90f545eba59c0ecf1ea6924d909630e9a9b564c6 (diff)
downloadgsoc2013-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.c264
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;
-}