diff options
author | Tristan Van Berkom <tristan.van.berkom@gmail.com> | 2011-04-04 16:39:07 +0900 |
---|---|---|
committer | Tristan Van Berkom <tristan.van.berkom@gmail.com> | 2011-04-04 16:39:07 +0900 |
commit | 6280a622f4e72c5df253a620a2f03d243cbe395f (patch) | |
tree | f6eea0f4eeee6f8688e85b3b73b14604373af2ae | |
parent | a3a759c4f82f73e48905685981ed24f510df741c (diff) | |
download | glade-6280a622f4e72c5df253a620a2f03d243cbe395f.tar.gz |
* Backed out 'preview' feature from glade-3-8 branch.
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | gladeui/Makefile.am | 35 | ||||
-rw-r--r-- | gladeui/glade-previewer.c | 333 | ||||
-rw-r--r-- | gladeui/glade-previewer.rc.in | 29 | ||||
-rw-r--r-- | gladeui/glade-project.c | 239 | ||||
-rw-r--r-- | gladeui/glade-project.h | 4 | ||||
-rw-r--r-- | plugins/gtk+/glade-gtk.c | 9 | ||||
-rw-r--r-- | plugins/gtk+/gtk+.xml.in | 1 | ||||
-rw-r--r-- | src/glade-window.c | 79 |
9 files changed, 8 insertions, 725 deletions
@@ -1,3 +1,7 @@ +2011-04-04 Tristan Van Berkom <tristanvb@openismus.com> + + * Backed out 'preview' feature from glade-3-8 branch. + 2011-02-05 Tristan Van Berkom <tristanvb@openismus.com> * plugins/gtk+/gtk+.xml.in: Disabling irrelevant properties for GtkScaleButton diff --git a/gladeui/Makefile.am b/gladeui/Makefile.am index aea3df9b..c2ef6e4f 100644 --- a/gladeui/Makefile.am +++ b/gladeui/Makefile.am @@ -1,39 +1,6 @@ -## Previewer -bin_PROGRAMS = glade-3-previewer lib_LTLIBRARIES = libgladeui-1.la -glade_3_previewer_CPPFLAGS = \ - -I$(top_srcdir) \ - -I$(top_builddir) \ - -DGLADE_GNOMEHELPDIR="\"$(HELP_DIR)\"" \ - $(GTK_CFLAGS) \ - $(IGE_MAC_CFLAGS) \ - $(WARN_CFLAGS) \ - $(AM_CPPFLAGS) - -glade_3_previewer_CFLAGS = \ - $(AM_CFLAGS) - -glade_3_previewer_LDFLAGS = $(AM_LDFLAGS) - -glade_3_previewer_LDADD = libgladeui-1.la $(IGE_MAC_LIBS) - -glade_3_previewer_SOURCES = \ - glade-previewer.c - -if NATIVE_WIN32 -glade_3_previewer_LDADD += glade-win32-res.o -if !GLADE_UNSTABLE -glade_3_previewer_LDFLAGS += -mwindows -endif -endif - -glade-win32-res.o: glade-previewer.rc - $(WINDRES) $< $@ - -## Rest of the UI ;) - common_defines = \ -DG_LOG_DOMAIN=\"GladeUI\" \ -DGLADE_DATADIR="\"$(pkgdatadir)\"" \ @@ -47,7 +14,7 @@ common_defines = \ BUILT_SOURCES = glade-marshallers.c glade-marshallers.h -EXTRA_DIST = glade-marshallers.list gladeui.rc.in icon-naming-spec.c glade-previewer.rc.in +EXTRA_DIST = glade-marshallers.list gladeui.rc.in icon-naming-spec.c # The glade-3 core library libgladeui_1_la_SOURCES = \ diff --git a/gladeui/glade-previewer.c b/gladeui/glade-previewer.c deleted file mode 100644 index 7b319058..00000000 --- a/gladeui/glade-previewer.c +++ /dev/null @@ -1,333 +0,0 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ -/* - * Copyright (C) 2010 Marco Diego AurĂ©lio Mesquita - * - * 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 of the - * License, 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. - * - * Authors: - * Marco Diego AurĂ©lio Mesquita <marcodiegomesquita@gmail.com> - */ - - -#include <config.h> - -#include <stdlib.h> -#include <string.h> -#include <gtk/gtk.h> - -#include <glib/gi18n-lib.h> - -static void -display_help_and_quit (const GOptionEntry *entries) -{ - GOptionContext *context; - context = g_option_context_new (_("- previews a glade UI definition")); - g_option_context_add_main_entries (context, entries, NULL); - g_option_context_add_group (context, gtk_get_option_group (TRUE)); - - g_print ("%s\n", g_option_context_get_help (context, TRUE, NULL)); - - g_option_context_free (context); - exit (1); -} - -static void -parse_arguments (int argc, char **argv, gchar **toplevel_name, gchar **file_name) -{ - *toplevel_name = NULL; - *file_name = NULL; - gboolean listen = FALSE; - gboolean version = FALSE; - GError *error = NULL; - - GOptionEntry entries[] = - { - { "filename", 'f', G_OPTION_FLAG_FILENAME|G_OPTION_FLAG_OPTIONAL_ARG, - G_OPTION_ARG_FILENAME, file_name, _("Name of the file to preview"), "FILENAME" }, - { "toplevel", 't', G_OPTION_FLAG_OPTIONAL_ARG, - G_OPTION_ARG_STRING, toplevel_name, _("Name of the toplevel to preview"), "TOPLEVELNAME" }, - { "listen", 'l', 0, G_OPTION_ARG_NONE, &listen, _("Listen standard input"), NULL }, - { "version", 'v', 0, G_OPTION_ARG_NONE, &version, _("Display previewer version"), NULL }, - - { NULL } - }; - - if (!gtk_init_with_args (&argc, &argv, _("- previews a glade UI definition"), - entries, NULL, &error)) - { - g_printerr (_("%s\nRun '%s --help' to see a full list of available command line" - "options.\n"), error->message, argv[0]); - g_error_free (error); - exit(1); - } - - if (version) - { - g_print ("glade-previewer " VERSION "\n"); - exit (0); - } - - if (listen && *file_name != NULL) - { - g_printerr (_("--listen and --filename must not be simultaneously specified.\n")); - display_help_and_quit (entries); - } - - if (!listen && *file_name == NULL) - { - g_printerr (_("Either --listen or --filename must be specified.\n")); - display_help_and_quit (entries); - } -} - -static GtkWidget * -get_toplevel (gchar *name, gchar *string, gsize length) -{ - GError *error = NULL; - GtkWidget *toplevel = NULL; - GtkWidget *window = NULL; - GtkBuilder *builder; - GObject *object; - GSList *objects; - - builder = gtk_builder_new (); - if (!gtk_builder_add_from_string (builder, string, length, &error)) - { - g_printerr (_("Couldn't load builder definition: %s"), error->message); - g_error_free (error); - exit (1); - } - - if (name == NULL) - { - objects = gtk_builder_get_objects (builder); - - /* Iterate trough objects and search for a window or widget */ - while (objects != NULL) - { - if (GTK_IS_WIDGET (objects->data) && toplevel == NULL) - { - toplevel = GTK_WIDGET(objects->data); - } - if (GTK_IS_WINDOW (objects->data)) - { - window = GTK_WIDGET(objects->data); - break; - } - objects = objects->next; - } - - if (window != NULL) - { - toplevel = window; - } - else if (toplevel == NULL) - { - g_printerr (_("UI definition has no previewable widgets.\n")); - exit (1); - } - } else { - object = gtk_builder_get_object (builder, name); - - if (object == NULL) - { - g_printerr (_("Object %s not found in UI definition.\n"), name); - exit (1); - } - - if (!GTK_IS_WIDGET(object)) - { - g_printerr (_("Object is not previewable.\n")); - exit (1); - } - - toplevel = GTK_WIDGET(object); - } - - g_object_unref (builder); - return toplevel; -} - -static void -preview_widget (gchar *name, gchar *buffer, gsize length) -{ - GtkWidget *widget; - GtkWidget *widget_parent; - GtkWidget *window; - - widget = get_toplevel (name, buffer, length); - - if (GTK_IS_WINDOW (widget)) - { - window = widget; - } else { - window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_window_set_title (GTK_WINDOW (window), _("Preview")); - - /* Reparenting snippet */ - g_object_ref(widget); - widget_parent = gtk_widget_get_parent (widget); - if (widget_parent != NULL) gtk_container_remove(GTK_CONTAINER(widget_parent), widget); - gtk_container_add(GTK_CONTAINER(window), widget); - g_object_unref(widget); - } - - g_signal_connect (GTK_OBJECT (window), "destroy", G_CALLBACK (gtk_main_quit), NULL); - gtk_widget_show_all (window); -} - -static GIOChannel * -channel_from_stream (gint stream) -{ - GIOChannel *channel; - - #ifdef WINDOWS - channel = g_io_channel_win32_new_fd (stream); - #else - channel = g_io_channel_unix_new (stream); - #endif - - return channel; -} - -static void -preview_file (gchar *toplevel_name, gchar *file_name) -{ - gchar *buffer; - gsize length; - GError *error = NULL; - GIOChannel *input; - gint stream; - - stream = fileno (fopen (file_name, "r")); - input = channel_from_stream (stream); - - if (g_io_channel_read_to_end (input, &buffer, &length, &error) != G_IO_STATUS_NORMAL) - { - g_printerr (_("Error: %s.\n"), error->message); - g_error_free (error); - exit (1); - } - - preview_widget (toplevel_name, buffer, length); - - g_free (buffer); - g_io_channel_unref (input); -} - -static gchar * -read_buffer (GIOChannel *source) -{ - gchar *buffer; - gchar *token; - gchar *tmp; - GError *error = NULL; - - if (g_io_channel_read_line (source, &token, NULL, NULL, &error) != G_IO_STATUS_NORMAL) - { - g_printerr (_("Error: %s.\n"), error->message); - g_error_free (error); - exit (1); - } - - /* Check for quit token */ - if (g_strcmp0 ("<quit>", token) == 0) - { - g_free (token); - return NULL; - } - - /* Loop to load the UI */ - buffer = g_strdup(token); - do - { - g_free (token); - if (g_io_channel_read_line (source, &token, NULL, NULL, &error) != G_IO_STATUS_NORMAL) - { - g_printerr (_("Error: %s.\n"), error->message); - g_error_free (error); - exit (1); - } - tmp = buffer; - buffer = g_strconcat (buffer, token, NULL); - g_free (tmp); - } while (g_strcmp0 ("</interface>\n", token) != 0); - g_free (token); - - return buffer; -} - -static gboolean -on_data_incoming (GIOChannel *source, GIOCondition condition, gpointer data) -{ - gchar *buffer; - gsize length; - - gchar *toplevel_name = (gchar*)data; - - buffer = read_buffer (source); - if (buffer == NULL) - { - gtk_main_quit (); - return FALSE; - } - - if (condition & G_IO_HUP) - { - g_printerr (_("Broken pipe!\n")); - exit (1); - } - - length = strlen (buffer); - - preview_widget (toplevel_name, buffer, length); - g_free (buffer); - - return TRUE; -} - -static void -start_listener (gchar *toplevel_name) -{ - GIOChannel *input; - gint stream; - - stream = fileno (stdin); - input = channel_from_stream (stream); - - g_io_add_watch (input, G_IO_IN|G_IO_HUP, on_data_incoming, toplevel_name); -} - -int main (int argc, char **argv) -{ - gchar *file_name; - gchar *toplevel_name; - - gtk_set_locale (); - - parse_arguments (argc, argv, &toplevel_name, &file_name); - - if (file_name != NULL) - { - preview_file (toplevel_name, file_name); - } else { - start_listener (toplevel_name); - } - - gtk_main (); - - return 0; -} - diff --git a/gladeui/glade-previewer.rc.in b/gladeui/glade-previewer.rc.in deleted file mode 100644 index ba6faba6..00000000 --- a/gladeui/glade-previewer.rc.in +++ /dev/null @@ -1,29 +0,0 @@ -#include <winver.h> - -GLADE_ICON ICON "../data/icons/glade-3.ico" - -VS_VERSION_INFO VERSIONINFO - FILEVERSION @GLADE_MAJOR_VERSION@,@GLADE_MINOR_VERSION@,@GLADE_MICRO_VERSION@,0 - PRODUCTVERSION @GLADE_MAJOR_VERSION@,@GLADE_MINOR_VERSION@,@GLADE_MICRO_VERSION@,0 - FILEOS VOS__WINDOWS32 - FILETYPE VFT_APP - BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904B0" - BEGIN - VALUE "CompanyName", "The GNOME Foundation" - VALUE "FileDescription", "Glade Interface Designer @GLADE_MAJOR_VERSION@.@GLADE_MINOR_VERSION@.@GLADE_MICRO_VERSION@" - VALUE "FileVersion", "@GLADE_MAJOR_VERSION@.@GLADE_MINOR_VERSION@.@GLADE_MICRO_VERSION@.0" - VALUE "LegalCopyright", "Copyright © 2007 The GNOME Foundation" - VALUE "OriginalFilename", "glade-previewer.exe" - VALUE "ProductName", "Glade Interface Designer" - VALUE "ProductVersion", "@GLADE_MAJOR_VERSION@.@GLADE_MINOR_VERSION@.@GLADE_MICRO_VERSION@.0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END - END - diff --git a/gladeui/glade-project.c b/gladeui/glade-project.c index d8744db5..a48d9c15 100644 --- a/gladeui/glade-project.c +++ b/gladeui/glade-project.c @@ -76,8 +76,7 @@ enum PROP_HAS_SELECTION, PROP_PATH, PROP_READ_ONLY, - PROP_FORMAT, - PROP_PREVIEWABLE + PROP_FORMAT }; struct _GladeProjectPrivate @@ -96,8 +95,6 @@ struct _GladeProjectPrivate * requested */ - gboolean previewable; - gint stamp; /* A a random int per instance of project used to stamp/check the * GtkTreeIter->stamps */ GList *tree; /* List of toplevel Objects in this projects */ @@ -163,9 +160,6 @@ struct _GladeProjectPrivate gint progress_step; gint progress_full; gboolean load_cancel; - - /* Store preview processes, so we can kill them on close */ - GHashTable *preview_channels; }; typedef struct { @@ -384,9 +378,6 @@ glade_project_get_property (GObject *object, case PROP_FORMAT: g_value_set_int (value, project->priv->format); break; - case PROP_PREVIEWABLE: - g_value_set_boolean (value, project->priv->previewable); - break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -595,70 +586,6 @@ glade_project_push_undo_impl (GladeProject *project, GladeCommand *cmd) } static void -glade_project_preview_exits (GPid pid, gint status, gpointer data) -{ - GladeProject *project = (GladeProject *)data; - ChannelWatchPair *channel_watch; - GIOChannel *channel; - gchar *pidstr = g_strdup_printf ("%d", pid); - - channel_watch = g_hash_table_lookup (project->priv->preview_channels, pidstr); - channel = channel_watch->channel; - g_io_channel_unref (channel); - g_hash_table_remove (project->priv->preview_channels, pidstr); - - g_free (pidstr); - g_free (channel_watch); -} - -static void -glade_project_kill_previews (gpointer key, - gpointer value, - gpointer user_data) -{ - const gchar *quit = "<quit>"; - GIOChannel *channel; - ChannelWatchPair *channel_watch = (ChannelWatchPair *) value; - GError *error = NULL; - gsize size; - - channel = channel_watch->channel; - /* Removing watch, since the child will commit suicide */ - g_source_remove (channel_watch->watch); - g_io_channel_write_chars (channel, quit, strlen (quit), &size, &error); - - if (size != strlen (quit) && error != NULL) - { - g_printerr ("Error passing quit signal trough pipe: %s", error->message); - g_error_free (error); - } - - g_io_channel_flush (channel, &error); - if (error != NULL) - { - g_printerr ("Error flushing channel: %s", error->message); - g_error_free (error); - } - - g_io_channel_shutdown (channel, TRUE, &error); - if (error != NULL) - { - g_printerr ("Error shutting down channel: %s", error->message); - g_error_free (error); - } - - g_io_channel_unref (channel); - g_free (channel_watch); -} - -static void -glade_project_close_impl (GladeProject *project) -{ - g_hash_table_foreach (project->priv->preview_channels, glade_project_kill_previews, project); - g_hash_table_unref (project->priv->preview_channels); -} - -static void glade_project_changed_impl (GladeProject *project, GladeCommand *command, gboolean forward) @@ -700,8 +627,6 @@ glade_project_init (GladeProject *project) priv->first_modification = NULL; priv->first_modification_is_na = FALSE; - priv->preview_channels = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); - priv->previewable = FALSE; priv->toplevel_names = glade_name_context_new (); priv->naming_policy = GLADE_POLICY_PROJECT_WIDE; @@ -762,7 +687,7 @@ glade_project_class_init (GladeProjectClass *klass) klass->widget_name_changed = NULL; klass->selection_changed = NULL; - klass->close = glade_project_close_impl; + klass->close = NULL; klass->changed = glade_project_changed_impl; /** @@ -999,15 +924,6 @@ glade_project_class_init (GladeProjectClass *klass) GLADE_PROJECT_FORMAT_GTKBUILDER, G_PARAM_READABLE)); - g_object_class_install_property (object_class, - PROP_PREVIEWABLE, - g_param_spec_boolean ("previewable", - _("Previewable"), - _("Wether the project can be previewed"), - FALSE, - G_PARAM_READABLE)); - - g_type_class_add_private (klass, sizeof (GladeProjectPrivate)); } @@ -1973,121 +1889,6 @@ glade_project_save (GladeProject *project, const gchar *path, GError **error) return ret > 0; } -static GPid -glade_project_launch_preview (GladeProject *project, gchar *buffer, GtkWidget *widget) -{ - GPid pid; - GError *error = NULL; - gchar *argv[4]; - gint child_stdin; - GIOChannel *output; - guint watch; - ChannelWatchPair *channel_watch; - GladeWidget *glade_widget; - - - #ifdef WINDOWS - argv[0] = g_build_filename (glade_app_get_bin_dir(), "glade-3-previewer.exe", NULL); - #else - argv[0] = g_build_filename (glade_app_get_bin_dir(), "glade-3-previewer", NULL); - #endif - - - argv[1] = "--listen"; - - if (widget != NULL) - { - glade_widget = glade_widget_get_from_gobject (G_OBJECT (widget)); - argv[2] = g_strdup_printf ("--toplevel=%s", glade_widget->name); - argv[3] = NULL; - } - - if (g_spawn_async_with_pipes (NULL, - argv, - NULL, G_SPAWN_DO_NOT_REAP_CHILD, NULL, NULL, - &pid, &child_stdin, NULL, NULL, &error) == FALSE) - { - g_printerr (_("Error launching previewer: %s\n"), error->message); - glade_util_ui_message (glade_app_get_window(), - GLADE_UI_ERROR, NULL, - _("Failed to launch preview: %s.\n"), - error->message); - g_error_free (error); - pid = 0; - goto end; - } - - /* Store watch so we can remove it later */ - watch = g_child_watch_add (pid, glade_project_preview_exits, project); - - #ifdef WINDOWS - output = g_io_channel_win32_new_fd (child_stdin); - #else - output = g_io_channel_unix_new (child_stdin); - #endif - - gsize bytes_written; - g_io_channel_write_chars (output, buffer, strlen (buffer), &bytes_written, &error); - - if (bytes_written != strlen (buffer) && error != NULL) - { - g_printerr ("Error passing UI trough pipe: %s", error->message); - g_error_free (error); - } - - g_io_channel_flush (output, &error); - if (error != NULL) - { - g_printerr ("Error flushing UI trough pipe: %s", error->message); - g_error_free (error); - } - - if (widget != NULL) g_free (argv[2]); - - /* Adding channel to list of channels */ - channel_watch = g_new (ChannelWatchPair, 1); - channel_watch->channel = output; - channel_watch->watch = watch; - g_hash_table_insert (project->priv->preview_channels, g_strdup_printf("%d", pid), - channel_watch); - - end: - g_free (argv[0]); - return pid; -} - -/** - * glade_project_preview: - * @project: a #GladeProject - * @gwidget: a #GladeWidget - * - * Creates and displays a preview window holding a snapshot of @gwidget's - * toplevel window in @project. Note that the preview window is only a snapshot - * of the current state of the project, there is no limit on how many preview - * snapshots can be taken. - */ -void -glade_project_preview (GladeProject *project, GladeWidget *gwidget) -{ - GladeXmlContext *context; - gchar *text; - GtkWidget *widget; - - g_return_if_fail (GLADE_IS_PROJECT (project)); - - context = glade_project_write (project); - - text = glade_xml_dump_from_context (context); - - gwidget = glade_widget_get_toplevel (gwidget); - if (!GTK_IS_WIDGET (gwidget->object)) return; - widget = GTK_WIDGET (gwidget->object); - - glade_project_launch_preview (project, text, widget); - - g_free (text); -} - /******************************************************************* Verify code here (versioning, incompatability checks) *******************************************************************/ @@ -3010,34 +2811,6 @@ glade_project_set_widget_name (GladeProject *project, gtk_tree_path_free (path); } -static gboolean -glade_project_has_widget (GladeProject *project) -{ - GtkWidget *widget = NULL; - const GList *objects; - - objects = glade_project_get_objects (project); - - while (objects != NULL) - { - if (GTK_IS_WIDGET (objects->data)) - { - widget = GTK_WIDGET(objects->data); - break; - } - objects = objects->next; - } - - return widget != NULL; -} - -static void -glade_project_update_previewable (GladeProject *project) -{ - project->priv->previewable = glade_project_has_widget (project); - g_object_notify (G_OBJECT (project), "previewable"); -} - static void glade_project_notify_row_inserted (GladeProject *project, GladeWidget *gwidget) @@ -3168,7 +2941,6 @@ glade_project_add_object (GladeProject *project, /* Update user visible compatibility info */ glade_project_verify_properties (gwidget); - glade_project_update_previewable (project); g_signal_emit (G_OBJECT (project), glade_project_signals [ADD_WIDGET], @@ -3256,7 +3028,6 @@ glade_project_remove_object (GladeProject *project, GObject *object) gwidget->in_project = FALSE; g_object_unref (gwidget); - glade_project_update_previewable (project); } static void @@ -4018,12 +3789,6 @@ glade_project_set_naming_policy (GladeProject *project, } -gboolean -glade_project_get_previewable (GladeProject *project) -{ - return project->priv->previewable; -} - GladeNamingPolicy glade_project_get_naming_policy (GladeProject *project) { diff --git a/gladeui/glade-project.h b/gladeui/glade-project.h index 99f20b87..ab6b7444 100644 --- a/gladeui/glade-project.h +++ b/gladeui/glade-project.h @@ -98,8 +98,6 @@ gboolean glade_project_save (GladeProject *project, const gchar *path, GError **error); -void glade_project_preview (GladeProject *project, GladeWidget *gwidget); - const gchar *glade_project_get_path (GladeProject *project); gchar *glade_project_get_name (GladeProject *project); @@ -186,8 +184,6 @@ time_t glade_project_get_file_mtime (GladeProject *project); gboolean glade_project_get_modified (GladeProject *project); -gboolean glade_project_get_previewable (GladeProject *project); - void glade_project_set_format (GladeProject *project, GladeProjectFormat format); GladeProjectFormat glade_project_get_format (GladeProject *project); diff --git a/plugins/gtk+/glade-gtk.c b/plugins/gtk+/glade-gtk.c index 725cd082..4a3c893a 100644 --- a/plugins/gtk+/glade-gtk.c +++ b/plugins/gtk+/glade-gtk.c @@ -1037,14 +1037,7 @@ glade_gtk_widget_action_activate (GladeWidgetAdaptor *adaptor, else gparent = NULL; - if (strcmp (action_path, "preview") == 0) - { - project = glade_widget_get_project (gwidget); - glade_project_preview (project, - glade_widget_get_from_gobject((gpointer)object) - ); - } - else if (strcmp (action_path, "edit_separate") == 0) + if (strcmp (action_path, "edit_separate") == 0) { GtkWidget *dialog = glade_editor_dialog_for_widget (gwidget); diff --git a/plugins/gtk+/gtk+.xml.in b/plugins/gtk+/gtk+.xml.in index b8946b05..5456c7e0 100644 --- a/plugins/gtk+/gtk+.xml.in +++ b/plugins/gtk+/gtk+.xml.in @@ -30,7 +30,6 @@ </signals> <actions> - <action id="preview" _name="Preview snapshot"/> <action id="edit_separate" _name="Edit Separately" stock="gtk-edit"/> <action id="remove_parent" _name="Remove Parent" stock="gtk-remove"/> <action id="add_parent" _name="Add Parent" stock="gtk-add"> diff --git a/src/glade-window.c b/src/glade-window.c index 93c0a515..b21dba72 100644 --- a/src/glade-window.c +++ b/src/glade-window.c @@ -118,7 +118,6 @@ struct _GladeWindowPrivate gchar *default_path; /* the default path for open/save operations */ GtkToggleToolButton *selector_button; /* the widget selector button (replaces the one in the palette) */ - GtkToolButton *preview_button; /* the project preview button (replaces the one in the palette) */ GtkToggleToolButton *drag_resize_button; /* sets the pointer to drag/resize mode */ gboolean setting_pointer_mode; /* avoid feedback signal loops */ @@ -735,49 +734,6 @@ on_selector_button_toggled (GtkToggleToolButton *button, GladeWindow *window) gtk_toggle_tool_button_set_active (window->priv->selector_button, TRUE); } -static void -on_preview_button_clicked (GtkToggleToolButton *button, GladeWindow *window) -{ - GladeProject *project; - - const GList *objects; - - GtkWidget *widget = NULL; - GtkWidget *window_to_preview = NULL; - GladeWidget *glade_widget = NULL; - - project = glade_design_view_get_project (window->priv->active_view); - - if (project == NULL) - return; - - objects = glade_project_get_objects (project); - - while (objects != NULL) - { - if (GTK_IS_WIDGET (objects->data)) - { - widget = GTK_WIDGET(objects->data); - if (GTK_IS_WINDOW (widget)) - { - window_to_preview = widget; - break; - } - } - objects = objects->next; - } - - if (widget != NULL) - { - glade_widget = glade_widget_get_from_gobject (G_OBJECT (widget)); - } - - if (window_to_preview != NULL) widget = window_to_preview; - glade_project_preview (project, - glade_widget_get_from_gobject((gpointer)widget) - ); -} - static void on_drag_resize_button_toggled (GtkToggleToolButton *button, GladeWindow *window) @@ -2385,24 +2341,6 @@ create_selector_tool_button (GtkToolbar *toolbar) } static GtkWidget * -create_preview_tool_button (GtkToolbar *toolbar) -{ - GtkToolItem *button; - button = gtk_tool_button_new_from_stock (GTK_STOCK_EXECUTE); - gtk_tool_button_set_label (GTK_TOOL_BUTTON(button), _("Preview snapshot")); - - gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (button), - toolbar->tooltips, - _("Previews snapshot of project"), - NULL); - - gtk_widget_show (GTK_WIDGET (button)); - - return GTK_WIDGET (button); -} - - -static GtkWidget * create_drag_resize_tool_button (GtkToolbar *toolbar) { GtkToolItem *button; @@ -2551,9 +2489,6 @@ add_project (GladeWindow *window, GladeProject *project, gboolean for_file) g_object_set_data (G_OBJECT (view), "view-added-while-loading", GINT_TO_POINTER (for_file)); - /* Update preview button */ - gtk_widget_set_sensitive (GTK_WIDGET (window->priv->preview_button), FALSE); - /* Pass ownership of the project to the app */ glade_app_add_project (project); g_object_unref (project); @@ -2803,14 +2738,8 @@ refresh_undo_redo (GladeWindow *window) static void update_ui (GladeApp *app, GladeWindow *window) { - GladeProject *project; if (window->priv->active_view) - { - project = glade_design_view_get_project (window->priv->active_view); - gtk_widget_set_sensitive ( GTK_WIDGET (window->priv->preview_button), - glade_project_get_previewable (project)); gtk_widget_queue_draw (GTK_WIDGET (window->priv->active_view)); - } refresh_undo_redo (window); @@ -3375,12 +3304,6 @@ glade_window_init (GladeWindow *window) gtk_toolbar_insert (GTK_TOOLBAR (priv->toolbar), GTK_TOOL_ITEM (priv->selector_button), -1); - priv->preview_button = - GTK_TOOL_BUTTON (create_preview_tool_button (GTK_TOOLBAR (priv->toolbar))); - gtk_toolbar_insert (GTK_TOOLBAR (priv->toolbar), - GTK_TOOL_ITEM (priv->preview_button), -1); - gtk_widget_set_sensitive (GTK_WIDGET (priv->preview_button), FALSE); - priv->drag_resize_button = GTK_TOGGLE_TOOL_BUTTON (create_drag_resize_tool_button (GTK_TOOLBAR (priv->toolbar))); @@ -3392,8 +3315,6 @@ glade_window_init (GladeWindow *window) g_signal_connect (G_OBJECT (priv->selector_button), "toggled", G_CALLBACK (on_selector_button_toggled), window); - g_signal_connect (G_OBJECT (priv->preview_button), "clicked", - G_CALLBACK (on_preview_button_clicked), window); g_signal_connect (G_OBJECT (priv->drag_resize_button), "toggled", G_CALLBACK (on_drag_resize_button_toggled), window); g_signal_connect (G_OBJECT (glade_app_get()), "notify::pointer-mode", |