summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Geddes <vgeddes@src.gnome.org>2007-07-04 02:15:10 +0000
committerVincent Geddes <vgeddes@src.gnome.org>2007-07-04 02:15:10 +0000
commit741d228af1bd27d6e0aa800c5afcefe06c8623af (patch)
tree329a4dfb541cb2b74ea7d754427cc48571f0565a
parent79a959e4f197ca7bfe85b4d7ab3024e7f18a2f31 (diff)
downloadglade-741d228af1bd27d6e0aa800c5afcefe06c8623af.tar.gz
New method glade_app_new().
* gladeui/glade-app.h, gladeui/glade-app.c: New method glade_app_new(). * src/glade-project-window.h, src/glade-project-window.c: Renamed to glade-window.h and glade-window.c respectively. GladeWindow now subclasses GtkWindow instead of GladeApp (#449928). svn path=/trunk/; revision=1433
-rw-r--r--ChangeLog6
-rw-r--r--gladeui/glade-app.c7
-rw-r--r--gladeui/glade-app.h2
-rw-r--r--src/Makefile.am4
-rw-r--r--src/glade-project-window.h65
-rw-r--r--src/glade-window.c (renamed from src/glade-project-window.c)1458
-rw-r--r--src/glade-window.h64
-rw-r--r--src/main.c19
8 files changed, 818 insertions, 807 deletions
diff --git a/ChangeLog b/ChangeLog
index 0df38ce2..63d4c93a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,12 @@
* bindings/python/glade-python.c: Run garbage collector before finalizing
interpreter. Use Py_InitializeEx() instead of Py_Initialize() (#453104).
+
+ * gladeui/glade-app.h, gladeui/glade-app.c: New method glade_app_new().
+
+ * src/glade-project-window.h, src/glade-project-window.c: Renamed
+ to glade-window.h and glade-window.c respectively. GladeWindow now
+ subclasses GtkWindow instead of GladeApp (#449928).
2007-07-03 Juan Pablo Ugarte <juanpablougarte@gmail.com>
diff --git a/gladeui/glade-app.c b/gladeui/glade-app.c
index 06270497..abe29088 100644
--- a/gladeui/glade-app.c
+++ b/gladeui/glade-app.c
@@ -1673,3 +1673,10 @@ glade_app_selection_changed (void)
glade_project_selection_changed (project);
}
}
+
+GladeApp*
+glade_app_new (void)
+{
+ return g_object_new (GLADE_TYPE_APP, NULL);
+}
+
diff --git a/gladeui/glade-app.h b/gladeui/glade-app.h
index 9fc62bac..f470fd24 100644
--- a/gladeui/glade-app.h
+++ b/gladeui/glade-app.h
@@ -86,6 +86,8 @@ struct _GladeAppClass
GType glade_app_get_type (void) G_GNUC_CONST;
+GladeApp* glade_app_new (void);
+
GType glade_pointer_mode_get_type (void) G_GNUC_CONST;
GladeApp* glade_app_get (void);
diff --git a/src/Makefile.am b/src/Makefile.am
index ef28b0d8..c783532a 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -18,8 +18,8 @@ glade_3_LDFLAGS = $(AM_LDFLAGS)
glade_3_LDADD = $(top_builddir)/gladeui/libgladeui-1.la
glade_3_SOURCES = \
- glade-project-window.c \
- glade-project-window.h \
+ glade-window.c \
+ glade-window.h \
main.c
if NATIVE_WIN32
diff --git a/src/glade-project-window.h b/src/glade-project-window.h
deleted file mode 100644
index 2a462a33..00000000
--- a/src/glade-project-window.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
- * Copyright (C) 2007 The GNOME Foundation.
- *
- * 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.
-*/
-
-#ifndef __GLADE_PROJECT_WINDOW_H__
-#define __GLADE_PROJECT_WINDOW_H__
-
-#include <gladeui/glade-app.h>
-
-G_BEGIN_DECLS
-
-#define GLADE_TYPE_PROJECT_WINDOW (glade_project_window_get_type())
-#define GLADE_PROJECT_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GLADE_TYPE_PROJECT_WINDOW, GladeProjectWindow))
-#define GLADE_PROJECT_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GLADE_TYPE_PROJECT_WINDOW, GladeProjectWindowClass))
-#define GLADE_IS_PROJECT_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GLADE_TYPE_PROJECT_WINDOW))
-#define GLADE_IS_PROJECT_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GLADE_TYPE_PROJECT_WINDOW))
-#define GLADE_PROJECT_WINDOW_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GLADE_PROJECT_WINDOW, GladeProjectWindowClass))
-
-typedef struct _GladeProjectWindow GladeProjectWindow;
-typedef struct _GladeProjectWindowClass GladeProjectWindowClass;
-typedef struct _GladeProjectWindowPrivate GladeProjectWindowPrivate;
-
-struct _GladeProjectWindow
-{
- GladeApp parent_instance;
-
- GladeProjectWindowPrivate *priv;
-};
-
-struct _GladeProjectWindowClass
-{
- GladeAppClass parent_class;
-};
-
-GType glade_project_window_get_type (void) G_GNUC_CONST;
-
-GladeProjectWindow *glade_project_window_new (void);
-
-void glade_project_window_show_all (GladeProjectWindow *gpw);
-
-void glade_project_window_new_project (GladeProjectWindow *gpw);
-
-gboolean glade_project_window_open_project (GladeProjectWindow *gpw,
- const gchar *path);
-
-void glade_project_window_check_devhelp (GladeProjectWindow *gpw);
-
-G_END_DECLS
-
-#endif /* __GLADE_PROJECT_WINDOW_H__ */
diff --git a/src/glade-project-window.c b/src/glade-window.c
index 920c8f21..86c887f7 100644
--- a/src/glade-project-window.c
+++ b/src/glade-window.c
@@ -1,6 +1,7 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/*
* Copyright (C) 2001 Ximian, Inc.
+ * Copyright (C) 2007 Vincent Geddes.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -19,13 +20,12 @@
* Authors:
* Chema Celorio <chema@celorio.com>
* Paolo Borelli <pborelli@katamail.com>
+ * Vincent Geddes <vgeddes@gnome.org>
*/
-#ifdef HAVE_CONFIG_H
#include <config.h>
-#endif
-#include "glade-project-window.h"
+#include "glade-window.h"
#include <gladeui/glade.h>
#include <gladeui/glade-design-view.h>
@@ -39,75 +39,75 @@
#include <gdk/gdkkeysyms.h>
#include <gtk/gtkstock.h>
-#define GLADE_ACTION_GROUP_STATIC "GladeStatic"
-#define GLADE_ACTION_GROUP_PROJECT "GladeProject"
-#define GLADE_ACTION_GROUP_PROJECTS_LIST_MENU "GladeProjectsList"
+#define ACTION_GROUP_STATIC "GladeStatic"
+#define ACTION_GROUP_PROJECT "GladeProject"
+#define ACTION_GROUP_PROJECTS_LIST_MENU "GladeProjectsList"
#define READONLY_INDICATOR (_("[Read Only]"))
-#define GLADE_URL_USER_MANUAL "http://glade.gnome.org/manual/index.html"
-#define GLADE_URL_DEVELOPER_MANUAL "http://glade.gnome.org/docs/index.html"
+#define URL_USER_MANUAL "http://glade.gnome.org/manual/index.html"
+#define URL_DEVELOPER_MANUAL "http://glade.gnome.org/docs/index.html"
-#define GLADE_PROJECT_WINDOW_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), \
- GLADE_TYPE_PROJECT_WINDOW, \
- GladeProjectWindowPrivate))
+#define GLADE_WINDOW_GET_PRIVATE(object) (G_TYPE_INSTANCE_GET_PRIVATE ((object), \
+ GLADE_TYPE_WINDOW, \
+ GladeWindowPrivate))
-struct _GladeProjectWindowPrivate
+struct _GladeWindowPrivate
{
- /* Application widgets */
- GtkWidget *window; /* Main window */
- GtkWidget *main_vbox;
+ GladeApp *app;
+
+ GtkWidget *main_vbox;
- GtkWidget *notebook;
- GladeDesignView *active_view;
- gint num_tabs;
+ GtkWidget *notebook;
+ GladeDesignView *active_view;
+ gint num_tabs;
- GtkTooltips *tooltips;
+ GtkTooltips *tooltips;
- GtkWidget *inspectors_notebook;
+ GtkWidget *inspectors_notebook;
- GtkWidget *statusbar; /* A pointer to the status bar. */
- guint statusbar_menu_context_id; /* The context id of the menu bar */
- guint statusbar_actions_context_id; /* The context id of actions messages */
+ GtkWidget *statusbar; /* A pointer to the status bar. */
+ guint statusbar_menu_context_id; /* The context id of the menu bar */
+ guint statusbar_actions_context_id; /* The context id of actions messages */
- GtkUIManager *ui; /* The UIManager */
- guint projects_list_menu_ui_id; /* Merge id for projects list menu */
+ GtkUIManager *ui; /* The UIManager */
+ guint projects_list_menu_ui_id; /* Merge id for projects list menu */
- GtkActionGroup *static_actions; /* All the static actions */
- GtkActionGroup *project_actions;/* All the project actions */
- GtkActionGroup *projects_list_menu_actions;/* Projects list menu actions */
+ GtkActionGroup *static_actions; /* All the static actions */
+ GtkActionGroup *project_actions; /* All the project actions */
+ GtkActionGroup *projects_list_menu_actions; /* Projects list menu actions */
- GtkLabel *label; /* the title of property editor dock */
+ GtkLabel *label; /* the title of property editor dock */
- GtkRecentManager *recent_manager;
- GtkWidget *recent_menu;
+ GtkRecentManager *recent_manager;
+ GtkWidget *recent_menu;
- gchar *default_path; /* the default path for open/save operations */
+ gchar *default_path; /* the default path for open/save operations */
- GtkToggleToolButton *selector_button; /* the widget selector button (replaces the one in the palette) */
- GtkToggleToolButton *drag_resize_button; /* sets the pointer to drag/resize mode */
+ GtkToggleToolButton *selector_button; /* the widget selector 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 */
- GtkToolItem *undo; /* customized buttons for undo/redo with history */
- GtkToolItem *redo;
+ GtkToolItem *undo; /* customized buttons for undo/redo with history */
+ GtkToolItem *redo;
- GtkWidget *toolbar; /* Actions are added to the toolbar */
- gint actions_start; /* start of action items */
+ GtkWidget *toolbar; /* Actions are added to the toolbar */
+ gint actions_start; /* start of action items */
};
-static GladeAppClass *parent_class = NULL;
+static void refresh_undo_redo (GladeWindow *window);
-static void gpw_refresh_undo_redo (GladeProjectWindow *gpw);
+static void recent_chooser_item_activated_cb (GtkRecentChooser *chooser,
+ GladeWindow *window);
-static void gpw_recent_chooser_item_activated_cb (GtkRecentChooser *chooser, GladeProjectWindow *gpw);
+static void check_reload_project (GladeWindow *window,
+ GladeProject *project);
-static void check_reload_project (GladeProjectWindow *gpw, GladeProject *project);
-
-G_DEFINE_TYPE(GladeProjectWindow, glade_project_window, GLADE_TYPE_APP)
+G_DEFINE_TYPE (GladeWindow, glade_window, GTK_TYPE_WINDOW)
static void
-about_dialog_activate_link_func (GtkAboutDialog *dialog, const gchar *link, GladeProjectWindow *gpw)
+about_dialog_activate_link_func (GtkAboutDialog *dialog, const gchar *link, GladeWindow *window)
{
GtkWidget *warning_dialog;
gboolean retval;
@@ -164,7 +164,7 @@ locate_help_file ()
}
static gboolean
-glade_project_window_help_show (const gchar *link_id)
+help_show (const gchar *link_id)
{
gchar *file, *url, *command;
gboolean retval;
@@ -383,14 +383,14 @@ replace_home_dir_with_tilde (const gchar *path)
}
static void
-gpw_refresh_title (GladeProjectWindow *gpw)
+refresh_title (GladeWindow *window)
{
GladeProject *project;
gchar *title, *name = NULL;
- if (gpw->priv->active_view)
+ if (window->priv->active_view)
{
- project = glade_design_view_get_project (gpw->priv->active_view);
+ project = glade_design_view_get_project (window->priv->active_view);
name = get_formatted_project_name_for_display (project,
FORMAT_NAME_MARK_UNSAVED |
@@ -408,19 +408,19 @@ gpw_refresh_title (GladeProjectWindow *gpw)
title = g_strdup (_("User Interface Designer"));
}
- gtk_window_set_title (GTK_WINDOW (gpw->priv->window), title);
+ gtk_window_set_title (GTK_WINDOW (window), title);
g_free (title);
}
static const gchar*
-gpw_get_default_path (GladeProjectWindow *gpw)
+get_default_path (GladeWindow *window)
{
- return gpw->priv->default_path;
+ return window->priv->default_path;
}
static void
-update_default_path (GladeProjectWindow *gpw, GladeProject *project)
+update_default_path (GladeWindow *window, GladeProject *project)
{
gchar *path;
@@ -428,16 +428,16 @@ update_default_path (GladeProjectWindow *gpw, GladeProject *project)
path = g_path_get_dirname (glade_project_get_path (project));
- g_free (gpw->priv->default_path);
- gpw->priv->default_path = g_strdup (path);
+ g_free (window->priv->default_path);
+ window->priv->default_path = g_strdup (path);
g_free (path);
}
static gboolean
-gpw_window_state_event_cb (GtkWidget *widget,
+window_state_event_cb (GtkWidget *widget,
GdkEventWindowState *event,
- GladeProjectWindow *gpw)
+ GladeWindow *window)
{
if (event->changed_mask &
(GDK_WINDOW_STATE_MAXIMIZED | GDK_WINDOW_STATE_FULLSCREEN))
@@ -447,14 +447,14 @@ gpw_window_state_event_cb (GtkWidget *widget,
show = !(event->new_window_state &
(GDK_WINDOW_STATE_MAXIMIZED | GDK_WINDOW_STATE_FULLSCREEN));
- gtk_statusbar_set_has_resize_grip (GTK_STATUSBAR (gpw->priv->statusbar), show);
+ gtk_statusbar_set_has_resize_grip (GTK_STATUSBAR (window->priv->statusbar), show);
}
return FALSE;
}
static GtkWidget *
-create_recent_chooser_menu (GladeProjectWindow *gpw, GtkRecentManager *manager)
+create_recent_chooser_menu (GladeWindow *window, GtkRecentManager *manager)
{
GtkWidget *recent_menu;
GtkRecentFilter *filter;
@@ -474,33 +474,33 @@ create_recent_chooser_menu (GladeProjectWindow *gpw, GtkRecentManager *manager)
}
static void
-gpw_window_screen_changed_cb (GtkWidget *widget,
- GdkScreen *old_screen,
- GladeProjectWindow *gpw)
+window_screen_changed_cb (GtkWidget *widget,
+ GdkScreen *old_screen,
+ GladeWindow *window)
{
GtkWidget *menu_item;
GdkScreen *screen;
screen = gtk_widget_get_screen (widget);
- gpw->priv->recent_manager = gtk_recent_manager_get_for_screen (screen);
+ window->priv->recent_manager = gtk_recent_manager_get_for_screen (screen);
- gtk_menu_detach (GTK_MENU (gpw->priv->recent_menu));
- g_object_unref (G_OBJECT (gpw->priv->recent_menu));
+ gtk_menu_detach (GTK_MENU (window->priv->recent_menu));
+ g_object_unref (G_OBJECT (window->priv->recent_menu));
- gpw->priv->recent_menu = create_recent_chooser_menu (gpw, gpw->priv->recent_manager);
+ window->priv->recent_menu = create_recent_chooser_menu (window, window->priv->recent_manager);
- g_signal_connect (gpw->priv->recent_menu,
+ g_signal_connect (window->priv->recent_menu,
"item-activated",
- G_CALLBACK (gpw_recent_chooser_item_activated_cb),
- gpw);
+ G_CALLBACK (recent_chooser_item_activated_cb),
+ window);
- menu_item = gtk_ui_manager_get_widget (gpw->priv->ui, "/MenuBar/FileMenu/OpenRecent");
- gtk_menu_item_set_submenu (GTK_MENU_ITEM (menu_item), gpw->priv->recent_menu);
+ menu_item = gtk_ui_manager_get_widget (window->priv->ui, "/MenuBar/FileMenu/OpenRecent");
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (menu_item), window->priv->recent_menu);
}
static void
-glade_project_window_activate_action (GtkToolButton *toolbutton,
+activate_action (GtkToolButton *toolbutton,
GladeWidgetAction *action)
{
GladeWidget *widget;
@@ -512,7 +512,7 @@ glade_project_window_activate_action (GtkToolButton *toolbutton,
}
static void
-glade_project_window_action_notify_sensitive (GObject *gobject,
+action_notify_sensitive (GObject *gobject,
GParamSpec *arg1,
GtkWidget *item)
{
@@ -521,34 +521,34 @@ glade_project_window_action_notify_sensitive (GObject *gobject,
}
static void
-glade_project_window_action_disconnect (gpointer data, GClosure *closure)
+action_disconnect (gpointer data, GClosure *closure)
{
g_signal_handlers_disconnect_matched (data, G_SIGNAL_MATCH_FUNC,
0, 0, NULL,
- glade_project_window_action_notify_sensitive,
+ action_notify_sensitive,
NULL);
}
static void
-glade_project_window_clean_actions (GladeProjectWindow *gpw)
+clean_actions (GladeWindow *window)
{
- GtkContainer *container = GTK_CONTAINER (gpw->priv->toolbar);
- GtkToolbar *bar = GTK_TOOLBAR (gpw->priv->toolbar);
+ GtkContainer *container = GTK_CONTAINER (window->priv->toolbar);
+ GtkToolbar *bar = GTK_TOOLBAR (window->priv->toolbar);
GtkToolItem *item;
- if (gpw->priv->actions_start)
+ if (window->priv->actions_start)
{
- while ((item = gtk_toolbar_get_nth_item (bar, gpw->priv->actions_start)))
+ while ((item = gtk_toolbar_get_nth_item (bar, window->priv->actions_start)))
gtk_container_remove (container, GTK_WIDGET (item));
}
}
static void
-glade_project_window_add_actions (GladeProjectWindow *gpw,
- GladeWidget *widget,
- GList *actions)
+add_actions (GladeWindow *window,
+ GladeWidget *widget,
+ GList *actions)
{
- GtkToolbar *bar = GTK_TOOLBAR (gpw->priv->toolbar);
+ GtkToolbar *bar = GTK_TOOLBAR (window->priv->toolbar);
GtkToolItem *item = gtk_separator_tool_item_new ();
gint n = 0;
GList *l;
@@ -556,8 +556,8 @@ glade_project_window_add_actions (GladeProjectWindow *gpw,
gtk_toolbar_insert (bar, item, -1);
gtk_widget_show (GTK_WIDGET (item));
- if (gpw->priv->actions_start == 0)
- gpw->priv->actions_start = gtk_toolbar_get_item_index (bar, item);
+ if (window->priv->actions_start == 0)
+ window->priv->actions_start = gtk_toolbar_get_item_index (bar, item);
for (l = actions; l; l = g_list_next (l))
{
@@ -582,13 +582,13 @@ glade_project_window_add_actions (GladeProjectWindow *gpw,
* gets destroyed.
*/
g_signal_connect_data (item, "clicked",
- G_CALLBACK (glade_project_window_activate_action),
- a, glade_project_window_action_disconnect, 0);
+ G_CALLBACK (activate_action),
+ a, action_disconnect, 0);
gtk_widget_set_sensitive (GTK_WIDGET (item), a->sensitive);
g_signal_connect (a, "notify::sensitive",
- G_CALLBACK (glade_project_window_activate_action),
+ G_CALLBACK (activate_action),
GTK_WIDGET (item));
gtk_toolbar_insert (bar, item, -1);
@@ -597,11 +597,12 @@ glade_project_window_add_actions (GladeProjectWindow *gpw,
n++;
}
- if (n == 0) glade_project_window_clean_actions (gpw);
+ if (n == 0)
+ clean_actions (window);
}
static void
-project_selection_changed_cb (GladeProject *project, GladeProjectWindow *gpw)
+project_selection_changed_cb (GladeProject *project, GladeWindow *window)
{
GladeWidget *glade_widget = NULL;
GtkLabel *label;
@@ -610,9 +611,9 @@ project_selection_changed_cb (GladeProject *project, GladeProjectWindow *gpw)
gint num;
g_return_if_fail (GLADE_IS_PROJECT (project));
- g_return_if_fail (GLADE_IS_PROJECT_WINDOW (gpw));
+ g_return_if_fail (GLADE_IS_WINDOW (window));
- label = gpw->priv->label;
+ label = window->priv->label;
/* Only update the editor if the selection has changed on
* the currently active project.
@@ -635,10 +636,9 @@ project_selection_changed_cb (GladeProject *project, GladeProjectWindow *gpw)
gtk_label_set_text (label, text);
g_free (text);
- glade_project_window_clean_actions (gpw);
+ clean_actions (window);
if (glade_widget->actions)
- glade_project_window_add_actions (gpw, glade_widget,
- glade_widget->actions);
+ add_actions (window, glade_widget, glade_widget->actions);
}
else
{
@@ -649,11 +649,11 @@ project_selection_changed_cb (GladeProject *project, GladeProjectWindow *gpw)
}
static GladeDesignView *
-glade_project_window_get_active_view (GladeProjectWindow *gpw)
+get_active_view (GladeWindow *window)
{
- g_return_val_if_fail (GLADE_IS_PROJECT_WINDOW (gpw), NULL);
+ g_return_val_if_fail (GLADE_IS_WINDOW (window), NULL);
- return gpw->priv->active_view;
+ return window->priv->active_view;
}
static gchar *
@@ -688,7 +688,7 @@ format_project_list_item_tooltip (GladeProject *project)
}
static void
-gpw_refresh_projects_list_item (GladeProjectWindow *gpw, GladeProject *project)
+refresh_projects_list_item (GladeWindow *window, GladeProject *project)
{
GtkAction *action;
gchar *project_name;
@@ -714,89 +714,89 @@ gpw_refresh_projects_list_item (GladeProjectWindow *gpw, GladeProject *project)
}
static void
-gpw_refresh_next_prev_project_sensitivity (GladeProjectWindow *gpw)
+refresh_next_prev_project_sensitivity (GladeWindow *window)
{
GladeDesignView *view;
GtkAction *action;
gint view_number;
- view = glade_project_window_get_active_view (gpw);
+ view = get_active_view (window);
if (view != NULL)
{
- view_number = gtk_notebook_page_num (GTK_NOTEBOOK (gpw->priv->notebook), GTK_WIDGET (view));
+ view_number = gtk_notebook_page_num (GTK_NOTEBOOK (window->priv->notebook), GTK_WIDGET (view));
g_return_if_fail (view_number >= 0);
- action = gtk_action_group_get_action (gpw->priv->project_actions, "PreviousProject");
+ action = gtk_action_group_get_action (window->priv->project_actions, "PreviousProject");
gtk_action_set_sensitive (action, view_number != 0);
- action = gtk_action_group_get_action (gpw->priv->project_actions, "NextProject");
+ action = gtk_action_group_get_action (window->priv->project_actions, "NextProject");
gtk_action_set_sensitive (action,
- view_number < gtk_notebook_get_n_pages (GTK_NOTEBOOK (gpw->priv->notebook)) - 1);
+ view_number < gtk_notebook_get_n_pages (GTK_NOTEBOOK (window->priv->notebook)) - 1);
}
else
{
- action = gtk_action_group_get_action (gpw->priv->project_actions, "PreviousProject");
+ action = gtk_action_group_get_action (window->priv->project_actions, "PreviousProject");
gtk_action_set_sensitive (action, FALSE);
- action = gtk_action_group_get_action (gpw->priv->project_actions, "NextProject");
+ action = gtk_action_group_get_action (window->priv->project_actions, "NextProject");
gtk_action_set_sensitive (action, FALSE);
}
}
static void
-gpw_new_cb (GtkAction *action, GladeProjectWindow *gpw)
+new_cb (GtkAction *action, GladeWindow *window)
{
- glade_project_window_new_project (gpw);
+ glade_window_new_project (window);
}
static void
-gpw_project_notify_handler_cb (GladeProject *project, GParamSpec *spec, GladeProjectWindow *gpw)
+project_notify_handler_cb (GladeProject *project, GParamSpec *spec, GladeWindow *window)
{
GtkAction *action;
if (strcmp (spec->name, "modified") == 0)
{
- gpw_refresh_title (gpw);
- gpw_refresh_projects_list_item (gpw, project);
+ refresh_title (window);
+ refresh_projects_list_item (window, project);
}
else if (strcmp (spec->name, "read-only") == 0)
{
- action = gtk_action_group_get_action (gpw->priv->project_actions, "Save");
+ action = gtk_action_group_get_action (window->priv->project_actions, "Save");
gtk_action_set_sensitive (action,
!glade_project_get_readonly (project));
}
else if (strcmp (spec->name, "has-selection") == 0)
{
- action = gtk_action_group_get_action (gpw->priv->project_actions, "Cut");
+ action = gtk_action_group_get_action (window->priv->project_actions, "Cut");
gtk_action_set_sensitive (action,
glade_project_get_has_selection (project));
- action = gtk_action_group_get_action (gpw->priv->project_actions, "Copy");
+ action = gtk_action_group_get_action (window->priv->project_actions, "Copy");
gtk_action_set_sensitive (action,
glade_project_get_has_selection (project));
- action = gtk_action_group_get_action (gpw->priv->project_actions, "Delete");
+ action = gtk_action_group_get_action (window->priv->project_actions, "Delete");
gtk_action_set_sensitive (action,
glade_project_get_has_selection (project));
}
}
static void
-gpw_clipboard_notify_handler_cb (GladeClipboard *clipboard, GParamSpec *spec, GladeProjectWindow *gpw)
+clipboard_notify_handler_cb (GladeClipboard *clipboard, GParamSpec *spec, GladeWindow *window)
{
GtkAction *action;
if (strcmp (spec->name, "has-selection") == 0)
{
- action = gtk_action_group_get_action (gpw->priv->project_actions, "Paste");
+ action = gtk_action_group_get_action (window->priv->project_actions, "Paste");
gtk_action_set_sensitive (action,
glade_clipboard_get_has_selection (clipboard));
}
}
static GtkWidget*
-gpw_construct_dock_item (GladeProjectWindow *gpw, const gchar *title, GtkWidget *child)
+construct_dock_item (GladeWindow *window, const gchar *title, GtkWidget *child)
{
GtkWidget *vbox;
GtkWidget *label;
@@ -828,55 +828,55 @@ gpw_construct_dock_item (GladeProjectWindow *gpw, const gchar *title, GtkWidget
}
static void
-on_selector_button_toggled (GtkToggleToolButton *button, GladeProjectWindow *gpw)
+on_selector_button_toggled (GtkToggleToolButton *button, GladeWindow *window)
{
- if (gpw->priv->setting_pointer_mode)
+ if (window->priv->setting_pointer_mode)
return;
- if (gtk_toggle_tool_button_get_active (gpw->priv->selector_button))
+ if (gtk_toggle_tool_button_get_active (window->priv->selector_button))
{
glade_palette_deselect_current_item (glade_app_get_palette(), FALSE);
glade_app_set_pointer_mode (GLADE_POINTER_SELECT);
}
else
- gtk_toggle_tool_button_set_active (gpw->priv->selector_button, TRUE);
+ gtk_toggle_tool_button_set_active (window->priv->selector_button, TRUE);
}
static void
-on_drag_resize_button_toggled (GtkToggleToolButton *button, GladeProjectWindow *gpw)
+on_drag_resize_button_toggled (GtkToggleToolButton *button, GladeWindow *window)
{
- if (gpw->priv->setting_pointer_mode)
+ if (window->priv->setting_pointer_mode)
return;
- if (gtk_toggle_tool_button_get_active (gpw->priv->drag_resize_button))
+ if (gtk_toggle_tool_button_get_active (window->priv->drag_resize_button))
glade_app_set_pointer_mode (GLADE_POINTER_DRAG_RESIZE);
else
- gtk_toggle_tool_button_set_active (gpw->priv->drag_resize_button, TRUE);
+ gtk_toggle_tool_button_set_active (window->priv->drag_resize_button, TRUE);
}
static void
on_pointer_mode_changed (GladeApp *app,
GParamSpec *pspec,
- GladeProjectWindow *gpw)
+ GladeWindow *window)
{
- gpw->priv->setting_pointer_mode = TRUE;
+ window->priv->setting_pointer_mode = TRUE;
if (glade_app_get_pointer_mode () == GLADE_POINTER_SELECT)
- gtk_toggle_tool_button_set_active (gpw->priv->selector_button, TRUE);
+ gtk_toggle_tool_button_set_active (window->priv->selector_button, TRUE);
else
- gtk_toggle_tool_button_set_active (gpw->priv->selector_button, FALSE);
+ gtk_toggle_tool_button_set_active (window->priv->selector_button, FALSE);
if (glade_app_get_pointer_mode () == GLADE_POINTER_DRAG_RESIZE)
- gtk_toggle_tool_button_set_active (gpw->priv->drag_resize_button, TRUE);
+ gtk_toggle_tool_button_set_active (window->priv->drag_resize_button, TRUE);
else
- gtk_toggle_tool_button_set_active (gpw->priv->drag_resize_button, FALSE);
+ gtk_toggle_tool_button_set_active (window->priv->drag_resize_button, FALSE);
- gpw->priv->setting_pointer_mode = FALSE;
+ window->priv->setting_pointer_mode = FALSE;
}
static void
-gpw_set_sensitivity_according_to_project (GladeProjectWindow *window, GladeProject *project)
+set_sensitivity_according_to_project (GladeWindow *window, GladeProject *project)
{
GtkAction *action;
@@ -901,12 +901,12 @@ gpw_set_sensitivity_according_to_project (GladeProjectWindow *window, GladeProje
gtk_action_set_sensitive (action,
glade_project_get_has_selection (project));
- gpw_refresh_next_prev_project_sensitivity (window);
+ refresh_next_prev_project_sensitivity (window);
}
static void
-gpw_recent_add (GladeProjectWindow *gpw, const gchar *path)
+recent_add (GladeWindow *window, const gchar *path)
{
GtkRecentData *recent_data;
gchar *uri;
@@ -930,12 +930,9 @@ gpw_recent_add (GladeProjectWindow *gpw, const gchar *path)
recent_data->groups = NULL;
recent_data->is_private = FALSE;
- if (!gtk_recent_manager_add_full (gpw->priv->recent_manager,
- uri,
- recent_data))
- {
- g_warning ("Unable to add '%s' to the list of recently used documents", uri);
- }
+ gtk_recent_manager_add_full (window->priv->recent_manager,
+ uri,
+ recent_data);
g_free (uri);
g_free (recent_data->app_exec);
@@ -944,7 +941,7 @@ gpw_recent_add (GladeProjectWindow *gpw, const gchar *path)
}
static void
-gpw_recent_remove (GladeProjectWindow *gpw, const gchar *path)
+recent_remove (GladeWindow *window, const gchar *path)
{
gchar *uri;
GError *error = NULL;
@@ -956,12 +953,10 @@ gpw_recent_remove (GladeProjectWindow *gpw, const gchar *path)
g_error_free (error);
return;
}
-
- gtk_recent_manager_remove_item (gpw->priv->recent_manager, uri, &error);
- if (error)
- {
- g_warning ("Could not remove recent-files uri \"%s\": %s", uri, error->message);
- }
+
+ gtk_recent_manager_remove_item (window->priv->recent_manager,
+ uri,
+ NULL);
g_free (uri);
}
@@ -970,13 +965,13 @@ gpw_recent_remove (GladeProjectWindow *gpw, const gchar *path)
*
*/
static void
-switch_to_project (GladeProjectWindow *window, GladeProject *project)
+switch_to_project (GladeWindow *window, GladeProject *project)
{
- GladeProjectWindowPrivate *priv = window->priv;
+ GladeWindowPrivate *priv = window->priv;
guint i, n = gtk_notebook_get_n_pages (GTK_NOTEBOOK (priv->notebook));
/* increase project popularity */
- gpw_recent_add (window, glade_project_get_path (project));
+ recent_add (window, glade_project_get_path (project));
update_default_path (window, project);
for (i = 0; i < n; i++)
@@ -997,7 +992,7 @@ switch_to_project (GladeProjectWindow *window, GladeProject *project)
}
static void
-gpw_projects_list_menu_activate_cb (GtkAction *action, GladeProjectWindow *window)
+projects_list_menu_activate_cb (GtkAction *action, GladeWindow *window)
{
gint n;
@@ -1009,9 +1004,9 @@ gpw_projects_list_menu_activate_cb (GtkAction *action, GladeProjectWindow *windo
}
static void
-gpw_refresh_projects_list_menu (GladeProjectWindow *window)
+refresh_projects_list_menu (GladeWindow *window)
{
- GladeProjectWindowPrivate *p = window->priv;
+ GladeWindowPrivate *p = window->priv;
GList *actions, *l;
GSList *group = NULL;
gint n, i;
@@ -1025,7 +1020,7 @@ gpw_refresh_projects_list_menu (GladeProjectWindow *window)
for (l = actions; l != NULL; l = l->next)
{
g_signal_handlers_disconnect_by_func (GTK_ACTION (l->data),
- G_CALLBACK (gpw_projects_list_menu_activate_cb), window);
+ G_CALLBACK (projects_list_menu_activate_cb), window);
gtk_action_group_remove_action (p->projects_list_menu_actions, GTK_ACTION (l->data));
}
g_list_free (actions);
@@ -1089,7 +1084,7 @@ gpw_refresh_projects_list_menu (GladeProjectWindow *window)
accel);
g_signal_connect (action, "activate",
- G_CALLBACK (gpw_projects_list_menu_activate_cb),
+ G_CALLBACK (projects_list_menu_activate_cb),
window);
gtk_ui_manager_add_ui (p->ui, id,
@@ -1113,16 +1108,16 @@ gpw_refresh_projects_list_menu (GladeProjectWindow *window)
}
static void
-gpw_open_cb (GtkAction *action, GladeProjectWindow *gpw)
+open_cb (GtkAction *action, GladeWindow *window)
{
GtkWidget *filechooser;
gchar *path = NULL, *default_path;
- filechooser = glade_util_file_dialog_new (_("Open\342\200\246"), GTK_WINDOW (gpw->priv->window),
+ filechooser = glade_util_file_dialog_new (_("Open\342\200\246"), GTK_WINDOW (window),
GLADE_FILE_DIALOG_ACTION_OPEN);
- default_path = g_strdup (gpw_get_default_path (gpw));
+ default_path = g_strdup (get_default_path (window));
if (default_path != NULL)
{
gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (filechooser), default_path);
@@ -1137,12 +1132,12 @@ gpw_open_cb (GtkAction *action, GladeProjectWindow *gpw)
if (!path)
return;
- glade_project_window_open_project (gpw, path);
+ glade_window_open_project (window, path);
g_free (path);
}
static void
-gpw_save (GladeProjectWindow *gpw, GladeProject *project, const gchar *path)
+save (GladeWindow *window, GladeProject *project, const gchar *path)
{
GError *error = NULL;
gchar *display_name, *display_path = g_strdup (path);
@@ -1153,10 +1148,10 @@ gpw_save (GladeProjectWindow *gpw, GladeProject *project, const gchar *path)
/* check for external modification to the project file */
mtime = glade_util_get_file_mtime (glade_project_get_path (project), NULL);
-
+
if (mtime > glade_project_get_file_mtime (project)) {
- dialog = gtk_message_dialog_new (GTK_WINDOW (gpw->priv->window),
+ dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_MODAL,
GTK_MESSAGE_WARNING,
GTK_BUTTONS_NONE,
@@ -1197,7 +1192,7 @@ gpw_save (GladeProjectWindow *gpw, GladeProject *project, const gchar *path)
{
/* Reset path so future saves will prompt the file chooser */
glade_project_reset_path (project);
- glade_util_ui_message (gpw->priv->window, GLADE_UI_ERROR,
+ glade_util_ui_message (GTK_WIDGET (window), GLADE_UI_ERROR,
_("Failed to save %s: %s"),
display_path, error->message);
g_error_free (error);
@@ -1210,15 +1205,15 @@ gpw_save (GladeProjectWindow *gpw, GladeProject *project, const gchar *path)
/* Get display_name here, it could have changed with "Save As..." */
display_name = glade_project_get_name (project);
- gpw_recent_add (gpw, glade_project_get_path (project));
- update_default_path (gpw, project);
+ recent_add (window, glade_project_get_path (project));
+ update_default_path (window, project);
/* refresh names */
- gpw_refresh_title (gpw);
- gpw_refresh_projects_list_item (gpw, project);
+ refresh_title (window);
+ refresh_projects_list_item (window, project);
- glade_util_flash_message (gpw->priv->statusbar,
- gpw->priv->statusbar_actions_context_id,
+ glade_util_flash_message (window->priv->statusbar,
+ window->priv->statusbar_actions_context_id,
_("Project '%s' saved"), display_name);
g_free (display_path);
@@ -1226,24 +1221,21 @@ gpw_save (GladeProjectWindow *gpw, GladeProject *project, const gchar *path)
}
static void
-gpw_save_as (GladeProjectWindow *gpw)
+save_as (GladeWindow *window)
{
GladeProject *project, *another_project;
- GtkWidget *filechooser;
+ GtkWidget *filechooser;
+ GtkWidget *dialog;
gchar *path = NULL;
gchar *real_path, *ch, *project_name;
- project = glade_design_view_get_project (gpw->priv->active_view);
+ project = glade_design_view_get_project (window->priv->active_view);
if (project == NULL)
- {
- /* Just in case the menu-item is not insensitive */
- glade_util_ui_message (gpw->priv->window, GLADE_UI_WARN, _("No open projects to save"));
return;
- }
filechooser = glade_util_file_dialog_new (_("Save As\342\200\246"),
- GTK_WINDOW (gpw->priv->window),
+ GTK_WINDOW (window),
GLADE_FILE_DIALOG_ACTION_SAVE);
if (glade_project_get_path (project))
@@ -1252,7 +1244,7 @@ gpw_save_as (GladeProjectWindow *gpw)
}
else
{
- gchar *default_path = g_strdup (gpw_get_default_path (gpw));
+ gchar *default_path = g_strdup (get_default_path (window));
if (default_path != NULL)
{
gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (filechooser), default_path);
@@ -1283,11 +1275,24 @@ gpw_save_as (GladeProjectWindow *gpw)
/* checks if selected path is actually writable */
if (glade_util_file_is_writeable (real_path) == FALSE)
{
+ dialog = gtk_message_dialog_new (GTK_WINDOW (window),
+ GTK_DIALOG_MODAL,
+ GTK_MESSAGE_ERROR,
+ GTK_BUTTONS_OK,
+ _("Could not save the file %s"),
+ real_path);
+
+ gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
+ _("You do not have the permissions "
+ "necessary to save the file."));
+
+ gtk_window_set_title (GTK_WINDOW (dialog), "");
- glade_util_ui_message (gpw->priv->window,
- GLADE_UI_ERROR,
- _("Could not save the file %s. You do not have the permissions necessary to save the file."),
- real_path);
+ g_signal_connect_swapped (dialog, "response",
+ G_CALLBACK (gtk_widget_destroy),
+ dialog);
+
+ gtk_widget_show (dialog);
g_free (real_path);
return;
}
@@ -1297,7 +1302,7 @@ gpw_save_as (GladeProjectWindow *gpw)
{
if (project != another_project) {
- glade_util_ui_message (gpw->priv->window,
+ glade_util_ui_message (GTK_WIDGET (window),
GLADE_UI_ERROR,
_("Could not save file %s. Another project with that path is open."),
real_path);
@@ -1308,42 +1313,42 @@ gpw_save_as (GladeProjectWindow *gpw)
}
- gpw_save (gpw, project, real_path);
+ save (window, project, real_path);
g_free (real_path);
}
static void
-gpw_save_cb (GtkAction *action, GladeProjectWindow *gpw)
+save_cb (GtkAction *action, GladeWindow *window)
{
GladeProject *project;
- project = glade_design_view_get_project (gpw->priv->active_view);
+ project = glade_design_view_get_project (window->priv->active_view);
if (project == NULL)
{
/* Just in case the menu-item or button is not insensitive */
- glade_util_ui_message (gpw->priv->window, GLADE_UI_WARN, _("No open projects to save"));
+ glade_util_ui_message (GTK_WIDGET (window), GLADE_UI_WARN, _("No open projects to save"));
return;
}
if (glade_project_get_path (project) != NULL)
{
- gpw_save (gpw, project, glade_project_get_path (project));
+ save (window, project, glade_project_get_path (project));
return;
}
/* If instead we dont have a path yet, fire up a file selector */
- gpw_save_as (gpw);
+ save_as (window);
}
static void
-gpw_save_as_cb (GtkAction *action, GladeProjectWindow *gpw)
+save_as_cb (GtkAction *action, GladeWindow *window)
{
- gpw_save_as (gpw);
+ save_as (window);
}
static gboolean
-gpw_confirm_close_project (GladeProjectWindow *gpw, GladeProject *project)
+confirm_close_project (GladeWindow *window, GladeProject *project)
{
GtkWidget *dialog;
gboolean close = FALSE;
@@ -1353,30 +1358,34 @@ gpw_confirm_close_project (GladeProjectWindow *gpw, GladeProject *project)
project_name = glade_project_get_name (project);
- msg = g_strdup_printf (_("<span weight=\"bold\" size=\"larger\">Save changes to project \"%s\" before closing?</span>\n\n"
- "Your changes will be lost if you don't save them.\n"), project_name);
+ msg = g_strdup_printf (_("<span weight=\"bold\" size=\"larger\">Save changes "
+ "to project \"%s\" before closing?</span>\n\n"
+ "Your changes will be lost if you don't save them."), project_name);
- dialog = gtk_message_dialog_new (GTK_WINDOW (gpw->priv->window),
- GTK_DIALOG_MODAL,
- GTK_MESSAGE_QUESTION,
- GTK_BUTTONS_NONE,
- msg);
+ dialog = gtk_message_dialog_new_with_markup (GTK_WINDOW (window),
+ GTK_DIALOG_MODAL,
+ GTK_MESSAGE_WARNING,
+ GTK_BUTTONS_NONE,
+ msg);
gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER);
- g_free(msg);
-
- gtk_label_set_use_markup (GTK_LABEL (GTK_MESSAGE_DIALOG (dialog)->label), TRUE);
gtk_dialog_add_buttons (GTK_DIALOG (dialog),
_("_Close without Saving"), GTK_RESPONSE_NO,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_SAVE, GTK_RESPONSE_YES, NULL);
+ gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog),
+ GTK_RESPONSE_YES,
+ GTK_RESPONSE_CANCEL,
+ GTK_RESPONSE_NO,
+ -1);
+
gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_YES);
ret = gtk_dialog_run (GTK_DIALOG (dialog));
switch (ret) {
case GTK_RESPONSE_YES:
- /* if YES we save the project: note we cannot use gpw_save_cb
+ /* if YES we save the project: note we cannot use save_cb
* since it saves the current project, while the modified
* project we are saving may be not the current one.
*/
@@ -1387,7 +1396,7 @@ gpw_confirm_close_project (GladeProjectWindow *gpw, GladeProject *project)
{
glade_util_ui_message
- (gpw->priv->window, GLADE_UI_ERROR,
+ (GTK_WIDGET (window), GLADE_UI_ERROR,
_("Failed to save %s to %s: %s"),
project_name, glade_project_get_path (project), error->message);
g_error_free (error);
@@ -1401,10 +1410,10 @@ gpw_confirm_close_project (GladeProjectWindow *gpw, GladeProject *project)
filechooser =
glade_util_file_dialog_new (_("Save\342\200\246"),
- GTK_WINDOW (gpw->priv->window),
+ GTK_WINDOW (window),
GLADE_FILE_DIALOG_ACTION_SAVE);
- default_path = g_strdup (gpw_get_default_path (gpw));
+ default_path = g_strdup (get_default_path (window));
if (default_path != NULL)
{
gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (filechooser), default_path);
@@ -1423,7 +1432,7 @@ gpw_confirm_close_project (GladeProjectWindow *gpw, GladeProject *project)
if (!path)
break;
- gpw_save (gpw, project, path);
+ save (window, project, path);
g_free (path);
@@ -1442,33 +1451,35 @@ gpw_confirm_close_project (GladeProjectWindow *gpw, GladeProject *project)
close = FALSE;
}
+ g_free (msg);
g_free (project_name);
gtk_widget_destroy (dialog);
+
return close;
}
static void
-do_close (GladeProjectWindow *gpw, GladeDesignView *view)
+do_close (GladeWindow *window, GladeDesignView *view)
{
gint n;
- n = gtk_notebook_page_num (GTK_NOTEBOOK (gpw->priv->notebook), GTK_WIDGET (view));
+ n = gtk_notebook_page_num (GTK_NOTEBOOK (window->priv->notebook), GTK_WIDGET (view));
g_object_ref (view);
- gtk_notebook_remove_page (GTK_NOTEBOOK (gpw->priv->notebook), n);
+ gtk_notebook_remove_page (GTK_NOTEBOOK (window->priv->notebook), n);
g_object_unref (view);
}
static void
-gpw_close_cb (GtkAction *action, GladeProjectWindow *gpw)
+close_cb (GtkAction *action, GladeWindow *window)
{
GladeDesignView *view;
GladeProject *project;
gboolean close;
- view = gpw->priv->active_view;
+ view = window->priv->active_view;
project = glade_design_view_get_project (view);
@@ -1477,15 +1488,15 @@ gpw_close_cb (GtkAction *action, GladeProjectWindow *gpw)
if (glade_project_get_modified (project))
{
- close = gpw_confirm_close_project (gpw, project);
+ close = confirm_close_project (window, project);
if (!close)
return;
}
- do_close (gpw, view);
+ do_close (window, view);
}
static void
-gpw_quit_cb (GtkAction *action, GladeProjectWindow *gpw)
+quit_cb (GtkAction *action, GladeWindow *window)
{
GList *list;
@@ -1495,7 +1506,7 @@ gpw_quit_cb (GtkAction *action, GladeProjectWindow *gpw)
if (glade_project_get_modified (project))
{
- gboolean quit = gpw_confirm_close_project (gpw, project);
+ gboolean quit = confirm_close_project (window, project);
if (!quit)
return;
}
@@ -1504,7 +1515,7 @@ gpw_quit_cb (GtkAction *action, GladeProjectWindow *gpw)
while (glade_app_get_projects ())
{
GladeProject *project = GLADE_PROJECT (glade_app_get_projects ()->data);
- do_close (gpw, glade_design_view_get_from_project (project));
+ do_close (window, glade_design_view_get_from_project (project));
}
gtk_main_quit ();
@@ -1512,25 +1523,25 @@ gpw_quit_cb (GtkAction *action, GladeProjectWindow *gpw)
}
static void
-gpw_copy_cb (GtkAction *action, GladeProjectWindow *gpw)
+copy_cb (GtkAction *action, GladeWindow *window)
{
glade_app_command_copy ();
}
static void
-gpw_cut_cb (GtkAction *action, GladeProjectWindow *gpw)
+cut_cb (GtkAction *action, GladeWindow *window)
{
glade_app_command_cut ();
}
static void
-gpw_paste_cb (GtkAction *action, GladeProjectWindow *gpw)
+paste_cb (GtkAction *action, GladeWindow *window)
{
glade_app_command_paste (NULL);
}
static void
-gpw_delete_cb (GtkAction *action, GladeProjectWindow *gpw)
+delete_cb (GtkAction *action, GladeWindow *window)
{
if (!glade_app_get_project ())
{
@@ -1541,7 +1552,7 @@ gpw_delete_cb (GtkAction *action, GladeProjectWindow *gpw)
}
static void
-gpw_undo_cb (GtkAction *action, GladeProjectWindow *gpw)
+undo_cb (GtkAction *action, GladeWindow *window)
{
if (!glade_app_get_project ())
{
@@ -1552,7 +1563,7 @@ gpw_undo_cb (GtkAction *action, GladeProjectWindow *gpw)
}
static void
-gpw_redo_cb (GtkAction *action, GladeProjectWindow *gpw)
+redo_cb (GtkAction *action, GladeWindow *window)
{
if (!glade_app_get_project ())
{
@@ -1563,37 +1574,37 @@ gpw_redo_cb (GtkAction *action, GladeProjectWindow *gpw)
}
static gboolean
-gpw_hide_window_on_delete (GtkWidget *window, gpointer not_used, GtkUIManager *ui)
+hide_window_on_delete (GtkWidget *window, gpointer not_used, GtkUIManager *ui)
{
glade_util_hide_window (GTK_WINDOW (window));
return TRUE;
}
static void
-gpw_doc_search_cb (GladeEditor *editor,
+doc_search_cb (GladeEditor *editor,
const gchar *book,
const gchar *page,
const gchar *search,
- GladeProjectWindow *gpw)
+ GladeWindow *window)
{
glade_util_search_devhelp (book, page, search);
}
static void
-glade_project_window_previous_project_cb (GtkAction *action, GladeProjectWindow *window)
+previous_project_cb (GtkAction *action, GladeWindow *window)
{
gtk_notebook_prev_page (GTK_NOTEBOOK (window->priv->notebook));
}
static void
-glade_project_window_next_project_cb (GtkAction *action, GladeProjectWindow *window)
+next_project_cb (GtkAction *action, GladeWindow *window)
{
gtk_notebook_next_page (GTK_NOTEBOOK (window->priv->notebook));
}
static void
inspector_item_activated_cb (GladeInspector *inspector,
- GladeProjectWindow *gpw)
+ GladeWindow *window)
{
GList *item = glade_inspector_get_selected_items (inspector);
g_assert (GLADE_IS_WIDGET (item->data) && (item->next == NULL));
@@ -1605,10 +1616,10 @@ inspector_item_activated_cb (GladeInspector *inspector,
}
static void
-gpw_notebook_switch_page_cb (GtkNotebook *notebook,
+notebook_switch_page_cb (GtkNotebook *notebook,
GtkNotebookPage *page,
guint page_num,
- GladeProjectWindow *gpw)
+ GladeWindow *window)
{
GladeDesignView *view;
GladeProject *project;
@@ -1619,25 +1630,25 @@ gpw_notebook_switch_page_cb (GtkNotebook *notebook,
/* CHECK: I don't know why but it seems notebook_switch_page is called
two times every time the user change the active tab */
- if (view == gpw->priv->active_view)
+ if (view == window->priv->active_view)
return;
- gpw->priv->active_view = view;
+ window->priv->active_view = view;
project = glade_design_view_get_project (view);
/* FIXME: this does not feel good */
glade_app_set_project (project);
- gpw_refresh_title (gpw);
- gpw_set_sensitivity_according_to_project (gpw, project);
+ refresh_title (window);
+ set_sensitivity_according_to_project (window, project);
/* switch to the project's inspector */
- gtk_notebook_set_current_page (GTK_NOTEBOOK (gpw->priv->inspectors_notebook), page_num);
+ gtk_notebook_set_current_page (GTK_NOTEBOOK (window->priv->inspectors_notebook), page_num);
/* activate the corresponding item in the project menu */
action_name = g_strdup_printf ("Tab_%d", page_num);
- action = gtk_action_group_get_action (gpw->priv->projects_list_menu_actions,
+ action = gtk_action_group_get_action (window->priv->projects_list_menu_actions,
action_name);
/* sometimes the action doesn't exist yet, and the proper action
@@ -1651,29 +1662,29 @@ gpw_notebook_switch_page_cb (GtkNotebook *notebook,
}
static void
-gpw_notebook_tab_added_cb (GtkNotebook *notebook,
+notebook_tab_added_cb (GtkNotebook *notebook,
GladeDesignView *view,
guint page_num,
- GladeProjectWindow *gpw)
+ GladeWindow *window)
{
GladeProject *project;
GtkWidget *inspector;
- ++gpw->priv->num_tabs;
+ ++window->priv->num_tabs;
project = glade_design_view_get_project (view);
g_signal_connect (G_OBJECT (project), "notify::modified",
- G_CALLBACK (gpw_project_notify_handler_cb),
- gpw);
+ G_CALLBACK (project_notify_handler_cb),
+ window);
g_signal_connect (G_OBJECT (project), "selection-changed",
- G_CALLBACK (project_selection_changed_cb), gpw);
+ G_CALLBACK (project_selection_changed_cb), window);
g_signal_connect (G_OBJECT (project), "notify::has-selection",
- G_CALLBACK (gpw_project_notify_handler_cb),
- gpw);
+ G_CALLBACK (project_notify_handler_cb),
+ window);
g_signal_connect (G_OBJECT (project), "notify::read-only",
- G_CALLBACK (gpw_project_notify_handler_cb),
- gpw);
+ G_CALLBACK (project_notify_handler_cb),
+ window);
/* create inspector */
inspector = glade_inspector_new ();
@@ -1682,65 +1693,65 @@ gpw_notebook_tab_added_cb (GtkNotebook *notebook,
g_signal_connect (inspector, "item-activated",
G_CALLBACK (inspector_item_activated_cb),
- gpw);
+ window);
- gtk_notebook_append_page (GTK_NOTEBOOK (gpw->priv->inspectors_notebook), inspector, NULL);
+ gtk_notebook_append_page (GTK_NOTEBOOK (window->priv->inspectors_notebook), inspector, NULL);
- gpw_set_sensitivity_according_to_project (gpw, project);
+ set_sensitivity_according_to_project (window, project);
- gpw_refresh_projects_list_menu (gpw);
+ refresh_projects_list_menu (window);
- gpw_refresh_title (gpw);
+ refresh_title (window);
- if (gpw->priv->num_tabs > 0)
- gtk_action_group_set_sensitive (gpw->priv->project_actions, TRUE);
+ if (window->priv->num_tabs > 0)
+ gtk_action_group_set_sensitive (window->priv->project_actions, TRUE);
}
static void
-gpw_notebook_tab_removed_cb (GtkNotebook *notebook,
+notebook_tab_removed_cb (GtkNotebook *notebook,
GladeDesignView *view,
guint page_num,
- GladeProjectWindow *gpw)
+ GladeWindow *window)
{
GladeProject *project;
GladeInspector *inspector;
- --gpw->priv->num_tabs;
+ --window->priv->num_tabs;
- if (gpw->priv->num_tabs == 0)
- gpw->priv->active_view = NULL;
+ if (window->priv->num_tabs == 0)
+ window->priv->active_view = NULL;
project = glade_design_view_get_project (view);
g_signal_handlers_disconnect_by_func (G_OBJECT (project),
- G_CALLBACK (gpw_project_notify_handler_cb),
- gpw);
+ G_CALLBACK (project_notify_handler_cb),
+ window);
g_signal_handlers_disconnect_by_func (G_OBJECT (project),
G_CALLBACK (project_selection_changed_cb),
- gpw);
+ window);
/* FIXME: this function needs to be preferably called somewhere else */
glade_app_remove_project (project);
- inspector = (GladeInspector *) gtk_notebook_get_nth_page (GTK_NOTEBOOK (gpw->priv->inspectors_notebook), page_num);
+ inspector = (GladeInspector *) gtk_notebook_get_nth_page (GTK_NOTEBOOK (window->priv->inspectors_notebook), page_num);
- gtk_notebook_remove_page (GTK_NOTEBOOK (gpw->priv->inspectors_notebook), page_num);
+ gtk_notebook_remove_page (GTK_NOTEBOOK (window->priv->inspectors_notebook), page_num);
- gpw_refresh_projects_list_menu (gpw);
+ refresh_projects_list_menu (window);
- gpw_refresh_title (gpw);
+ refresh_title (window);
- if (gpw->priv->active_view)
- gpw_set_sensitivity_according_to_project (gpw, glade_design_view_get_project (gpw->priv->active_view));
+ if (window->priv->active_view)
+ set_sensitivity_according_to_project (window, glade_design_view_get_project (window->priv->active_view));
else
- gtk_action_group_set_sensitive (gpw->priv->project_actions, FALSE);
+ gtk_action_group_set_sensitive (window->priv->project_actions, FALSE);
}
static void
-gpw_recent_chooser_item_activated_cb (GtkRecentChooser *chooser, GladeProjectWindow *gpw)
+recent_chooser_item_activated_cb (GtkRecentChooser *chooser, GladeWindow *window)
{
gchar *uri, *path;
GError *error = NULL;
@@ -1755,16 +1766,16 @@ gpw_recent_chooser_item_activated_cb (GtkRecentChooser *chooser, GladeProjectWin
return;
}
- glade_project_window_open_project (gpw, path);
+ glade_window_open_project (window, path);
g_free (uri);
g_free (path);
}
static void
-gpw_palette_appearance_change_cb (GtkRadioAction *action,
+palette_appearance_change_cb (GtkRadioAction *action,
GtkRadioAction *current,
- GladeProjectWindow *gpw)
+ GladeWindow *window)
{
gint value;
@@ -1775,26 +1786,26 @@ gpw_palette_appearance_change_cb (GtkRadioAction *action,
}
static void
-gpw_palette_toggle_small_icons_cb (GtkAction *action, GladeProjectWindow *gpw)
+palette_toggle_small_icons_cb (GtkAction *action, GladeWindow *window)
{
glade_palette_set_use_small_item_icons (glade_app_get_palette(),
gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)));
}
static void
-gpw_show_clipboard_cb (GtkAction *action, GladeProjectWindow *gpw)
+show_clipboard_cb (GtkAction *action, GladeWindow *window)
{
static GtkWidget *view = NULL;
- g_return_if_fail (gpw != NULL);
+ g_return_if_fail (window != NULL);
if (view == NULL)
{
view = glade_app_get_clipboard_view ();
g_signal_connect (view, "delete_event",
- G_CALLBACK (gpw_hide_window_on_delete),
- gpw->priv->ui);
+ G_CALLBACK (hide_window_on_delete),
+ window->priv->ui);
gtk_widget_show_all (view);
}
@@ -1802,14 +1813,14 @@ gpw_show_clipboard_cb (GtkAction *action, GladeProjectWindow *gpw)
}
static void
-gpw_toggle_editor_help_cb (GtkAction *action, GladeProjectWindow *gpw)
+toggle_editor_help_cb (GtkAction *action, GladeWindow *window)
{
GtkWidget *help_item;
if (glade_util_have_devhelp() == FALSE)
return;
- help_item = gtk_ui_manager_get_widget (gpw->priv->ui,
+ help_item = gtk_ui_manager_get_widget (window->priv->ui,
"/MenuBar/ViewMenu/PropertyEditorHelp");
if (gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (help_item)))
@@ -1819,21 +1830,21 @@ gpw_toggle_editor_help_cb (GtkAction *action, GladeProjectWindow *gpw)
}
static void
-gpw_show_help_cb (GtkAction *action, GladeProjectWindow *gpw)
+show_help_cb (GtkAction *action, GladeWindow *window)
{
GtkWidget *dialog;
gboolean retval;
- retval = glade_project_window_help_show (NULL);
+ retval = help_show (NULL);
if (retval)
return;
/* fallback to displaying online user manual */
- retval = glade_util_url_show (GLADE_URL_USER_MANUAL);
+ retval = glade_util_url_show (URL_USER_MANUAL);
if (!retval)
{
- dialog = gtk_message_dialog_new (GTK_WINDOW (gpw->priv->window),
+ dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_MODAL,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_OK,
@@ -1842,7 +1853,7 @@ gpw_show_help_cb (GtkAction *action, GladeProjectWindow *gpw)
gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
_("No suitable web browser executable could be found "
"to be executed and to display the URL: %s"),
- GLADE_URL_USER_MANUAL);
+ URL_USER_MANUAL);
gtk_window_set_title (GTK_WINDOW (dialog), "");
@@ -1856,7 +1867,7 @@ gpw_show_help_cb (GtkAction *action, GladeProjectWindow *gpw)
}
static void
-gpw_show_developer_manual_cb (GtkAction *action, GladeProjectWindow *gpw)
+show_developer_manual_cb (GtkAction *action, GladeWindow *window)
{
GtkWidget *dialog;
gboolean retval;
@@ -1867,11 +1878,11 @@ gpw_show_developer_manual_cb (GtkAction *action, GladeProjectWindow *gpw)
return;
}
- retval = glade_util_url_show (GLADE_URL_DEVELOPER_MANUAL);
+ retval = glade_util_url_show (URL_DEVELOPER_MANUAL);
if (!retval)
{
- dialog = gtk_message_dialog_new (GTK_WINDOW (gpw->priv->window),
+ dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_MODAL,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_OK,
@@ -1880,7 +1891,7 @@ gpw_show_developer_manual_cb (GtkAction *action, GladeProjectWindow *gpw)
gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
_("No suitable web browser executable could be found "
"to be executed and to display the URL: %s"),
- GLADE_URL_DEVELOPER_MANUAL);
+ URL_DEVELOPER_MANUAL);
gtk_window_set_title (GTK_WINDOW (dialog), "");
@@ -1893,7 +1904,7 @@ gpw_show_developer_manual_cb (GtkAction *action, GladeProjectWindow *gpw)
}
static void
-gpw_about_cb (GtkAction *action, GladeProjectWindow *gpw)
+about_cb (GtkAction *action, GladeWindow *window)
{
static const gchar * const authors[] =
{ "Chema Celorio <chema@ximian.com>",
@@ -1928,7 +1939,7 @@ gpw_about_cb (GtkAction *action, GladeProjectWindow *gpw)
"Copyright \xc2\xa9 2001-2006 Joaquin Cuenca Abela, Paolo Borelli, et al.\n"
"Copyright \xc2\xa9 2001-2006 Tristan Van Berkom, Juan Pablo Ugarte, et al.";
- gtk_show_about_dialog (GTK_WINDOW (gpw->priv->window),
+ gtk_show_about_dialog (GTK_WINDOW (window),
"name", g_get_application_name (),
"logo-icon-name", "glade-3",
"authors", authors,
@@ -1942,64 +1953,64 @@ gpw_about_cb (GtkAction *action, GladeProjectWindow *gpw)
NULL);
}
-static const gchar *ui_info =
-"<ui>\n"
-" <menubar name='MenuBar'>\n"
-" <menu action='FileMenu'>\n"
-" <menuitem action='New'/>\n"
-" <menuitem action='Open'/>\n"
-" <menuitem action='OpenRecent'/>\n"
-" <separator/>\n"
-" <menuitem action='Save'/>\n"
-" <menuitem action='SaveAs'/>\n"
-" <separator/>\n"
-" <menuitem action='Close'/>\n"
-" <menuitem action='Quit'/>\n"
-" </menu>\n"
-" <menu action='EditMenu'>\n"
-" <menuitem action='Undo'/>\n"
-" <menuitem action='Redo'/>\n"
-" <separator/>\n"
-" <menuitem action='Cut'/>\n"
-" <menuitem action='Copy'/>\n"
-" <menuitem action='Paste'/>\n"
-" <menuitem action='Delete'/>\n"
-" </menu>\n"
-" <menu action='ViewMenu'>\n"
-" <menuitem action='Clipboard'/>\n"
-" <separator/>\n"
-" <menu action='PaletteAppearance'>\n"
-" <menuitem action='IconsAndLabels'/>\n"
-" <menuitem action='IconsOnly'/>\n"
-" <menuitem action='LabelsOnly'/>\n"
-" <separator/>\n"
-" <menuitem action='UseSmallIcons'/>\n"
-" </menu>\n"
-" <menuitem action='PropertyEditorHelp'/>\n"
-" </menu>\n"
-" <menu action='ProjectMenu'>\n"
-" <menuitem action='PreviousProject'/>\n"
-" <menuitem action='NextProject'/>\n"
-" <separator/>\n"
-" <placeholder name='ProjectsListPlaceholder'/>\n"
-" </menu>\n"
-" <menu action='HelpMenu'>\n"
-" <menuitem action='HelpContents'/>\n"
-" <menuitem action='DeveloperReference'/>\n"
-" <separator/>\n"
-" <menuitem action='About'/>\n"
-" </menu>\n"
-" </menubar>\n"
+static const gchar ui_info[] =
+"<ui>"
+" <menubar name='MenuBar'>"
+" <menu action='FileMenu'>"
+" <menuitem action='New'/>"
+" <menuitem action='Open'/>"
+" <menuitem action='OpenRecent'/>"
+" <separator/>"
+" <menuitem action='Save'/>"
+" <menuitem action='SaveAs'/>"
+" <separator/>"
+" <menuitem action='Close'/>"
+" <menuitem action='Quit'/>"
+" </menu>"
+" <menu action='EditMenu'>"
+" <menuitem action='Undo'/>"
+" <menuitem action='Redo'/>"
+" <separator/>"
+" <menuitem action='Cut'/>"
+" <menuitem action='Copy'/>"
+" <menuitem action='Paste'/>"
+" <menuitem action='Delete'/>"
+" </menu>"
+" <menu action='ViewMenu'>"
+" <menuitem action='Clipboard'/>"
+" <separator/>"
+" <menu action='PaletteAppearance'>"
+" <menuitem action='IconsAndLabels'/>"
+" <menuitem action='IconsOnly'/>"
+" <menuitem action='LabelsOnly'/>"
+" <separator/>"
+" <menuitem action='UseSmallIcons'/>"
+" </menu>"
+" <menuitem action='PropertyEditorHelp'/>"
+" </menu>"
+" <menu action='ProjectMenu'>"
+" <menuitem action='PreviousProject'/>"
+" <menuitem action='NextProject'/>"
+" <separator/>"
+" <placeholder name='ProjectsListPlaceholder'/>"
+" </menu>"
+" <menu action='HelpMenu'>"
+" <menuitem action='HelpContents'/>"
+" <menuitem action='DeveloperReference'/>"
+" <separator/>"
+" <menuitem action='About'/>"
+" </menu>"
+" </menubar>"
" <toolbar name='ToolBar'>"
" <toolitem action='New'/>"
" <toolitem action='Open'/>"
" <toolitem action='Save'/>"
-" <separator/>\n"
+" <separator/>"
" <toolitem action='Cut'/>"
" <toolitem action='Copy'/>"
" <toolitem action='Paste'/>"
" </toolbar>"
-"</ui>\n";
+"</ui>";
static GtkActionEntry static_entries[] = {
{ "FileMenu", NULL, N_("_File") },
@@ -2012,28 +2023,28 @@ static GtkActionEntry static_entries[] = {
/* FileMenu */
{ "New", GTK_STOCK_NEW, NULL, "<control>N",
- N_("Create a new project"), G_CALLBACK (gpw_new_cb) },
+ N_("Create a new project"), G_CALLBACK (new_cb) },
{ "Open", GTK_STOCK_OPEN, N_("_Open\342\200\246") ,"<control>O",
- N_("Open a project"), G_CALLBACK (gpw_open_cb) },
+ N_("Open a project"), G_CALLBACK (open_cb) },
{ "OpenRecent", NULL, N_("Open _Recent") },
{ "Quit", GTK_STOCK_QUIT, NULL, "<control>Q",
- N_("Quit the program"), G_CALLBACK (gpw_quit_cb) },
+ N_("Quit the program"), G_CALLBACK (quit_cb) },
/* ViewMenu */
{ "PaletteAppearance", NULL, N_("Palette _Appearance") },
/* HelpMenu */
{ "About", GTK_STOCK_ABOUT, NULL, NULL,
- N_("About this application"), G_CALLBACK (gpw_about_cb) },
+ N_("About this application"), G_CALLBACK (about_cb) },
{ "HelpContents", GTK_STOCK_HELP, NULL, "F1",
- N_("Display the user manual"), G_CALLBACK (gpw_show_help_cb) },
+ N_("Display the user manual"), G_CALLBACK (show_help_cb) },
{ "DeveloperReference", NULL, N_("_Developer Reference"), NULL,
- N_("Display the developer reference manual"), G_CALLBACK (gpw_show_developer_manual_cb) }
+ N_("Display the developer reference manual"), G_CALLBACK (show_developer_manual_cb) }
};
static guint n_static_entries = G_N_ELEMENTS (static_entries);
@@ -2042,45 +2053,45 @@ static GtkActionEntry project_entries[] = {
/* FileMenu */
{ "Save", GTK_STOCK_SAVE, NULL, "<control>S",
- N_("Save the current project"), G_CALLBACK (gpw_save_cb) },
+ N_("Save the current project"), G_CALLBACK (save_cb) },
{ "SaveAs", GTK_STOCK_SAVE_AS, N_("Save _As\342\200\246"), NULL,
- N_("Save the current project with a different name"), G_CALLBACK (gpw_save_as_cb) },
+ N_("Save the current project with a different name"), G_CALLBACK (save_as_cb) },
{ "Close", GTK_STOCK_CLOSE, NULL, "<control>W",
- N_("Close the current project"), G_CALLBACK (gpw_close_cb) },
+ N_("Close the current project"), G_CALLBACK (close_cb) },
/* EditMenu */
{ "Undo", GTK_STOCK_UNDO, NULL, "<control>Z",
- N_("Undo the last action"), G_CALLBACK (gpw_undo_cb) },
+ N_("Undo the last action"), G_CALLBACK (undo_cb) },
{ "Redo", GTK_STOCK_REDO, NULL, "<shift><control>Z",
- N_("Redo the last action"), G_CALLBACK (gpw_redo_cb) },
+ N_("Redo the last action"), G_CALLBACK (redo_cb) },
{ "Cut", GTK_STOCK_CUT, NULL, NULL,
- N_("Cut the selection"), G_CALLBACK (gpw_cut_cb) },
+ N_("Cut the selection"), G_CALLBACK (cut_cb) },
{ "Copy", GTK_STOCK_COPY, NULL, NULL,
- N_("Copy the selection"), G_CALLBACK (gpw_copy_cb) },
+ N_("Copy the selection"), G_CALLBACK (copy_cb) },
{ "Paste", GTK_STOCK_PASTE, NULL, NULL,
- N_("Paste the clipboard"), G_CALLBACK (gpw_paste_cb) },
+ N_("Paste the clipboard"), G_CALLBACK (paste_cb) },
{ "Delete", GTK_STOCK_DELETE, NULL, "Delete",
- N_("Delete the selection"), G_CALLBACK (gpw_delete_cb) },
+ N_("Delete the selection"), G_CALLBACK (delete_cb) },
/* ViewMenu */
{ "Clipboard", NULL, N_("_Clipboard"), NULL,
N_("Show the clipboard"),
- G_CALLBACK (gpw_show_clipboard_cb) },
+ G_CALLBACK (show_clipboard_cb) },
/* ProjectsMenu */
{ "PreviousProject", NULL, N_("_Previous Project"), "<control>Page_Up",
- N_("Activate previous project"), G_CALLBACK (glade_project_window_previous_project_cb) },
+ N_("Activate previous project"), G_CALLBACK (previous_project_cb) },
{ "NextProject", NULL, N_("_Next Project"), "<control>Page_Down",
- N_("Activate next project"), G_CALLBACK (glade_project_window_next_project_cb) }
+ N_("Activate next project"), G_CALLBACK (next_project_cb) }
};
@@ -2090,11 +2101,11 @@ static GtkToggleActionEntry view_entries[] = {
{ "UseSmallIcons", NULL, N_("_Use Small Icons"), NULL,
N_("Show items using small icons"),
- G_CALLBACK (gpw_palette_toggle_small_icons_cb), FALSE },
+ G_CALLBACK (palette_toggle_small_icons_cb), FALSE },
{ "PropertyEditorHelp", NULL, N_("Context _Help"), NULL,
N_("Show or hide contextual help buttons in the editor"),
- G_CALLBACK (gpw_toggle_editor_help_cb), FALSE }
+ G_CALLBACK (toggle_editor_help_cb), FALSE }
};
static guint n_view_entries = G_N_ELEMENTS (view_entries);
@@ -2112,7 +2123,7 @@ static GtkRadioActionEntry radio_entries[] = {
static guint n_radio_entries = G_N_ELEMENTS (radio_entries);
static void
-gpw_menu_item_selected_cb (GtkItem *item, GladeProjectWindow *gpw)
+menu_item_selected_cb (GtkItem *item, GladeWindow *window)
{
GtkAction *action;
gchar *tooltip;
@@ -2122,120 +2133,105 @@ gpw_menu_item_selected_cb (GtkItem *item, GladeProjectWindow *gpw)
g_object_get (G_OBJECT (action), "tooltip", &tooltip, NULL);
if (tooltip != NULL)
- gtk_statusbar_push (GTK_STATUSBAR (gpw->priv->statusbar),
- gpw->priv->statusbar_menu_context_id, tooltip);
+ gtk_statusbar_push (GTK_STATUSBAR (window->priv->statusbar),
+ window->priv->statusbar_menu_context_id, tooltip);
g_free (tooltip);
}
static void
-gpw_menu_item_deselected_cb (GtkItem *item, GladeProjectWindow *gpw)
+menu_item_deselected_cb (GtkItem *item, GladeWindow *window)
{
- gtk_statusbar_pop (GTK_STATUSBAR (gpw->priv->statusbar),
- gpw->priv->statusbar_menu_context_id);
+ gtk_statusbar_pop (GTK_STATUSBAR (window->priv->statusbar),
+ window->priv->statusbar_menu_context_id);
}
static void
-gpw_ui_connect_proxy_cb (GtkUIManager *ui,
+ui_connect_proxy_cb (GtkUIManager *ui,
GtkAction *action,
GtkWidget *proxy,
- GladeProjectWindow *gpw)
+ GladeWindow *window)
{
if (GTK_IS_MENU_ITEM (proxy))
{
g_object_set_data (G_OBJECT (proxy), "action-for-proxy", action);
g_signal_connect(G_OBJECT(proxy), "select",
- G_CALLBACK (gpw_menu_item_selected_cb), gpw);
+ G_CALLBACK (menu_item_selected_cb), window);
g_signal_connect(G_OBJECT(proxy), "deselect",
- G_CALLBACK (gpw_menu_item_deselected_cb), gpw);
+ G_CALLBACK (menu_item_deselected_cb), window);
}
}
static void
-gpw_ui_disconnect_proxy_cb (GtkUIManager *manager,
+ui_disconnect_proxy_cb (GtkUIManager *manager,
GtkAction *action,
GtkWidget *proxy,
- GladeProjectWindow *gpw)
+ GladeWindow *window)
{
if (GTK_IS_MENU_ITEM (proxy))
{
g_signal_handlers_disconnect_by_func
- (proxy, G_CALLBACK (gpw_menu_item_selected_cb), gpw);
+ (proxy, G_CALLBACK (menu_item_selected_cb), window);
g_signal_handlers_disconnect_by_func
- (proxy, G_CALLBACK (gpw_menu_item_deselected_cb), gpw);
+ (proxy, G_CALLBACK (menu_item_deselected_cb), window);
}
}
static GtkWidget *
-gpw_construct_menu (GladeProjectWindow *gpw)
+construct_menu (GladeWindow *window)
{
GError *error = NULL;
- gpw->priv->static_actions = gtk_action_group_new (GLADE_ACTION_GROUP_STATIC);
- gtk_action_group_set_translation_domain (gpw->priv->static_actions, GETTEXT_PACKAGE);
+ window->priv->static_actions = gtk_action_group_new (ACTION_GROUP_STATIC);
+ gtk_action_group_set_translation_domain (window->priv->static_actions, GETTEXT_PACKAGE);
- gtk_action_group_add_actions (gpw->priv->static_actions,
+ gtk_action_group_add_actions (window->priv->static_actions,
static_entries,
n_static_entries,
- gpw);
- gtk_action_group_add_toggle_actions (gpw->priv->static_actions,
+ window);
+ gtk_action_group_add_toggle_actions (window->priv->static_actions,
view_entries,
n_view_entries,
- gpw);
- gtk_action_group_add_radio_actions (gpw->priv->static_actions, radio_entries,
+ window);
+ gtk_action_group_add_radio_actions (window->priv->static_actions, radio_entries,
n_radio_entries, GLADE_ITEM_ICON_ONLY,
- G_CALLBACK (gpw_palette_appearance_change_cb), gpw);
+ G_CALLBACK (palette_appearance_change_cb), window);
- gpw->priv->project_actions = gtk_action_group_new (GLADE_ACTION_GROUP_PROJECT);
- gtk_action_group_set_translation_domain (gpw->priv->project_actions, GETTEXT_PACKAGE);
+ window->priv->project_actions = gtk_action_group_new (ACTION_GROUP_PROJECT);
+ gtk_action_group_set_translation_domain (window->priv->project_actions, GETTEXT_PACKAGE);
- gtk_action_group_add_actions (gpw->priv->project_actions,
+ gtk_action_group_add_actions (window->priv->project_actions,
project_entries,
n_project_entries,
- gpw);
+ window);
- gpw->priv->projects_list_menu_actions =
- gtk_action_group_new (GLADE_ACTION_GROUP_PROJECTS_LIST_MENU);
- gtk_action_group_set_translation_domain (gpw->priv->projects_list_menu_actions,
+ window->priv->projects_list_menu_actions =
+ gtk_action_group_new (ACTION_GROUP_PROJECTS_LIST_MENU);
+ gtk_action_group_set_translation_domain (window->priv->projects_list_menu_actions,
GETTEXT_PACKAGE);
- gpw->priv->ui = gtk_ui_manager_new ();
+ window->priv->ui = gtk_ui_manager_new ();
- g_signal_connect(G_OBJECT(gpw->priv->ui), "connect-proxy",
- G_CALLBACK (gpw_ui_connect_proxy_cb), gpw);
- g_signal_connect(G_OBJECT(gpw->priv->ui), "disconnect-proxy",
- G_CALLBACK (gpw_ui_disconnect_proxy_cb), gpw);
+ g_signal_connect(G_OBJECT(window->priv->ui), "connect-proxy",
+ G_CALLBACK (ui_connect_proxy_cb), window);
+ g_signal_connect(G_OBJECT(window->priv->ui), "disconnect-proxy",
+ G_CALLBACK (ui_disconnect_proxy_cb), window);
- gtk_ui_manager_insert_action_group (gpw->priv->ui, gpw->priv->static_actions, 0);
- gtk_ui_manager_insert_action_group (gpw->priv->ui, gpw->priv->project_actions, 1);
- gtk_ui_manager_insert_action_group (gpw->priv->ui, gpw->priv->projects_list_menu_actions, 3);
+ gtk_ui_manager_insert_action_group (window->priv->ui, window->priv->static_actions, 0);
+ gtk_ui_manager_insert_action_group (window->priv->ui, window->priv->project_actions, 1);
+ gtk_ui_manager_insert_action_group (window->priv->ui, window->priv->projects_list_menu_actions, 3);
- gtk_window_add_accel_group (GTK_WINDOW (gpw->priv->window),
- gtk_ui_manager_get_accel_group (gpw->priv->ui));
+ gtk_window_add_accel_group (GTK_WINDOW (window),
+ gtk_ui_manager_get_accel_group (window->priv->ui));
- if (!gtk_ui_manager_add_ui_from_string (gpw->priv->ui, ui_info, -1, &error))
+ if (!gtk_ui_manager_add_ui_from_string (window->priv->ui, ui_info, -1, &error))
{
g_message ("Building menus failed: %s", error->message);
g_error_free (error);
}
- return gtk_ui_manager_get_widget (gpw->priv->ui, "/MenuBar");
-}
-
-static GtkWidget *
-gpw_construct_statusbar (GladeProjectWindow *gpw)
-{
- GtkWidget *statusbar;
-
- statusbar = gtk_statusbar_new ();
- gpw->priv->statusbar = statusbar;
- gpw->priv->statusbar_menu_context_id =
- gtk_statusbar_get_context_id (GTK_STATUSBAR (statusbar), "menu");
- gpw->priv->statusbar_actions_context_id =
- gtk_statusbar_get_context_id (GTK_STATUSBAR (statusbar), "actions");
-
- return statusbar;
+ return gtk_ui_manager_get_widget (window->priv->ui, "/MenuBar");
}
enum
@@ -2249,11 +2245,11 @@ static GtkTargetEntry drop_types[] =
};
static void
-gpw_drag_data_received (GtkWidget *widget,
+drag_data_received (GtkWidget *widget,
GdkDragContext *context,
gint x, gint y,
GtkSelectionData *selection_data,
- guint info, guint time, GladeProjectWindow *window)
+ guint info, guint time, GladeWindow *window)
{
gchar **uris, **str;
gchar *data;
@@ -2275,7 +2271,7 @@ gpw_drag_data_received (GtkWidget *widget,
if (path)
{
- glade_project_window_open_project (window, path);
+ glade_window_open_project (window, path);
}
else
{
@@ -2289,9 +2285,9 @@ gpw_drag_data_received (GtkWidget *widget,
}
static gboolean
-gpw_delete_event (GtkWindow *w, GdkEvent *event, GladeProjectWindow *gpw)
+delete_event (GtkWindow *w, GdkEvent *event, GladeWindow *window)
{
- gpw_quit_cb (NULL, gpw);
+ quit_cb (NULL, window);
/* return TRUE to stop other handlers */
return TRUE;
@@ -2355,9 +2351,9 @@ create_drag_resize_tool_button (GtkToolbar *toolbar)
static gint
-gpw_hijack_editor_key_press (GtkWidget *win,
+hijack_editor_key_press (GtkWidget *win,
GdkEventKey *event,
- GladeProjectWindow *gpw)
+ GladeWindow *window)
{
if (GTK_WINDOW (win)->focus_widget &&
(event->keyval == GDK_Delete || /* Filter Delete from accelerator keys */
@@ -2373,219 +2369,7 @@ gpw_hijack_editor_key_press (GtkWidget *win,
}
static void
-glade_project_window_create (GladeProjectWindow *gpw)
-{
- GtkWidget *window;
- GtkWidget *vbox;
- GtkWidget *hpaned1;
- GtkWidget *hpaned2;
- GtkWidget *vpaned;
- GtkWidget *menubar;
- GtkWidget *toolbar;
- GtkWidget *statusbar;
- GtkWidget *editor_item;
- GtkWidget *palette;
- GtkWidget *editor;
- GtkWidget *dockitem;
- GtkWidget *widget;
- GtkToolItem *sep;
- GtkAction *action;
-
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- gpw->priv->window = window;
- gtk_window_maximize (GTK_WINDOW (window));
- gtk_window_set_default_size (GTK_WINDOW (window), 720, 540);
-
- vbox = gtk_vbox_new (FALSE, 0);
- gtk_container_add (GTK_CONTAINER (window), vbox);
- gpw->priv->main_vbox = vbox;
-
- /* menubar */
- menubar = gpw_construct_menu (gpw);
- gtk_box_pack_start (GTK_BOX (vbox), menubar, FALSE, TRUE, 0);
- gtk_widget_show (menubar);
-
- /* toolbar */
- gpw->priv->toolbar = toolbar = gtk_ui_manager_get_widget (gpw->priv->ui, "/ToolBar");
- gtk_box_pack_start (GTK_BOX (vbox), toolbar, FALSE, TRUE, 0);
- gtk_widget_show (toolbar);
- gpw->priv->actions_start = 0;
-
- /* tooltips object */
- gpw->priv->tooltips = gtk_tooltips_new ();
-
- /* undo/redo buttons */
- gpw->priv->undo = gtk_menu_tool_button_new_from_stock (GTK_STOCK_UNDO);
- gpw->priv->redo = gtk_menu_tool_button_new_from_stock (GTK_STOCK_REDO);
- gtk_widget_show (GTK_WIDGET (gpw->priv->undo));
- gtk_widget_show (GTK_WIDGET (gpw->priv->redo));
- gtk_menu_tool_button_set_arrow_tooltip (GTK_MENU_TOOL_BUTTON (gpw->priv->undo),
- gpw->priv->tooltips,
- _("Go back in undo history"),
- NULL);
- gtk_menu_tool_button_set_arrow_tooltip (GTK_MENU_TOOL_BUTTON (gpw->priv->redo),
- gpw->priv->tooltips,
- ("Go forward in undo history"),
- NULL);
-
- sep = gtk_separator_tool_item_new();
- gtk_widget_show (GTK_WIDGET (sep));
- gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (sep), 3);
- gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (gpw->priv->undo), 4);
- gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (gpw->priv->redo), 5);
-
- action = gtk_ui_manager_get_action (gpw->priv->ui, "/MenuBar/EditMenu/Undo");
- gtk_action_connect_proxy (action, GTK_WIDGET (gpw->priv->undo));
-
- action = gtk_ui_manager_get_action (gpw->priv->ui, "/MenuBar/EditMenu/Redo");
- gtk_action_connect_proxy (action, GTK_WIDGET (gpw->priv->redo));
-
- /* main contents */
- hpaned1 = gtk_hpaned_new ();
- hpaned2 = gtk_hpaned_new ();
- vpaned = gtk_vpaned_new ();
-
- gtk_container_set_border_width (GTK_CONTAINER (hpaned1), 2);
-
- gtk_box_pack_start (GTK_BOX (vbox), hpaned1, TRUE, TRUE, 0);
- gtk_paned_pack1 (GTK_PANED (hpaned1), hpaned2, TRUE, FALSE);
- gtk_paned_pack2 (GTK_PANED (hpaned1), vpaned, FALSE, FALSE);
-
- /* divider position between design area and editor/tree */
- gtk_paned_set_position (GTK_PANED (hpaned1), 350);
- /* divider position between tree and editor */
- gtk_paned_set_position (GTK_PANED (vpaned), 150);
-
-
- gtk_widget_show_all (hpaned1);
- gtk_widget_show_all (hpaned2);
- gtk_widget_show_all (vpaned);
-
- /* palette */
- palette = GTK_WIDGET (glade_app_get_palette ());
- glade_palette_set_show_selector_button (GLADE_PALETTE (palette), FALSE);
- dockitem = gpw_construct_dock_item (gpw, _("Palette"), palette);
- gtk_paned_pack1 (GTK_PANED (hpaned2), dockitem, FALSE, FALSE);
-
- /* notebook */
- gpw->priv->notebook = gtk_notebook_new ();
- gtk_notebook_set_show_tabs (GTK_NOTEBOOK (gpw->priv->notebook), FALSE);
- gtk_notebook_set_show_border (GTK_NOTEBOOK (gpw->priv->notebook), FALSE);
- gtk_paned_pack2 (GTK_PANED (hpaned2), gpw->priv->notebook, TRUE, FALSE);
- gtk_widget_show (gpw->priv->notebook);
-
- /* inspectors */
- gpw->priv->inspectors_notebook = gtk_notebook_new ();
- gtk_notebook_set_show_tabs (GTK_NOTEBOOK (gpw->priv->inspectors_notebook), FALSE);
- gtk_notebook_set_show_border (GTK_NOTEBOOK (gpw->priv->inspectors_notebook), FALSE);
- gtk_widget_show (gpw->priv->inspectors_notebook);
- dockitem = gpw_construct_dock_item (gpw, _("Inspector"), gpw->priv->inspectors_notebook);
- gtk_paned_pack1 (GTK_PANED (vpaned), dockitem, FALSE, FALSE);
-
- /* editor */
- editor = GTK_WIDGET (glade_app_get_editor ());
- dockitem = gpw_construct_dock_item (gpw, _("Properties"), editor);
- gpw->priv->label = GTK_LABEL (g_object_get_data (G_OBJECT (dockitem), "dock-label"));
- gtk_label_set_ellipsize (GTK_LABEL (gpw->priv->label), PANGO_ELLIPSIZE_END);
- gtk_misc_set_alignment (GTK_MISC (gpw->priv->label), 0, 0.5);
- gtk_paned_pack2 (GTK_PANED (vpaned), dockitem, TRUE, FALSE);
-
- /* status bar */
- statusbar = gpw_construct_statusbar (gpw);
- gtk_box_pack_end (GTK_BOX (vbox), statusbar, FALSE, TRUE, 0);
- gtk_widget_show (statusbar);
-
- gtk_widget_show (vbox);
-
- /* devhelp */
- editor_item = gtk_ui_manager_get_widget (gpw->priv->ui,
- "/MenuBar/ViewMenu/PropertyEditorHelp");
-
- gtk_widget_set_sensitive (editor_item, FALSE);
-
- /* recent files */
- gpw->priv->recent_manager = gtk_recent_manager_get_for_screen (gtk_widget_get_screen (gpw->priv->window));
-
- gpw->priv->recent_menu = create_recent_chooser_menu (gpw, gpw->priv->recent_manager);
-
- g_signal_connect (gpw->priv->recent_menu,
- "item-activated",
- G_CALLBACK (gpw_recent_chooser_item_activated_cb),
- gpw);
-
- widget = gtk_ui_manager_get_widget (gpw->priv->ui, "/MenuBar/FileMenu/OpenRecent");
- gtk_menu_item_set_submenu (GTK_MENU_ITEM (widget), gpw->priv->recent_menu);
-
- /* palette selector & drag/resize buttons */
- sep = gtk_separator_tool_item_new();
- gtk_widget_show (GTK_WIDGET (sep));
- gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (sep), -1);
-
- gpw->priv->selector_button =
- GTK_TOGGLE_TOOL_BUTTON (create_selector_tool_button (GTK_TOOLBAR (toolbar)));
- gtk_toolbar_insert (GTK_TOOLBAR (toolbar),
- GTK_TOOL_ITEM (gpw->priv->selector_button), -1);
-
- gpw->priv->drag_resize_button =
- GTK_TOGGLE_TOOL_BUTTON (create_drag_resize_tool_button
- (GTK_TOOLBAR (toolbar)));
- gtk_toolbar_insert (GTK_TOOLBAR (toolbar),
- GTK_TOOL_ITEM (gpw->priv->drag_resize_button), -1);
-
- gtk_toggle_tool_button_set_active (gpw->priv->selector_button, TRUE);
- gtk_toggle_tool_button_set_active (gpw->priv->drag_resize_button, FALSE);
-
- g_signal_connect (G_OBJECT (gpw->priv->selector_button), "toggled",
- G_CALLBACK (on_selector_button_toggled), gpw);
- g_signal_connect (G_OBJECT (gpw->priv->drag_resize_button), "toggled",
- G_CALLBACK (on_drag_resize_button_toggled), gpw);
- g_signal_connect (G_OBJECT (glade_app_get()), "notify::pointer-mode",
- G_CALLBACK (on_pointer_mode_changed), gpw);
-
-
- /* support for opening a file by dragging onto the project window */
- gtk_drag_dest_set (GTK_WIDGET (window),
- GTK_DEST_DEFAULT_ALL,
- drop_types, G_N_ELEMENTS (drop_types),
- GDK_ACTION_COPY | GDK_ACTION_MOVE);
-
- g_signal_connect (G_OBJECT (window), "drag-data-received",
- G_CALLBACK (gpw_drag_data_received), gpw);
-
- g_signal_connect (G_OBJECT (window), "delete_event",
- G_CALLBACK (gpw_delete_event), gpw);
-
- /* connect signals notebook */
- g_signal_connect (gpw->priv->notebook,
- "switch-page",
- G_CALLBACK (gpw_notebook_switch_page_cb),
- gpw);
- g_signal_connect (gpw->priv->notebook,
- "page-added",
- G_CALLBACK (gpw_notebook_tab_added_cb),
- gpw);
- g_signal_connect (gpw->priv->notebook,
- "page-removed",
- G_CALLBACK (gpw_notebook_tab_removed_cb),
- gpw);
-
-
- /* GtkWindow events */
- g_signal_connect (gpw->priv->window, "screen-changed",
- G_CALLBACK (gpw_window_screen_changed_cb),
- gpw);
-
- g_signal_connect (gpw->priv->window, "window-state-event",
- G_CALLBACK (gpw_window_state_event_cb),
- gpw);
-
- g_signal_connect (G_OBJECT (gpw->priv->window), "key-press-event",
- G_CALLBACK (gpw_hijack_editor_key_press), gpw);
-
-}
-
-static void
-glade_project_window_add_project (GladeProjectWindow *gpw, GladeProject *project)
+add_project (GladeWindow *window, GladeProject *project)
{
GtkWidget *view;
@@ -2596,51 +2380,53 @@ glade_project_window_add_project (GladeProjectWindow *gpw, GladeProject *project
glade_app_add_project (project);
- gtk_notebook_append_page (GTK_NOTEBOOK (gpw->priv->notebook), GTK_WIDGET (view), NULL);
- gtk_notebook_set_current_page (GTK_NOTEBOOK (gpw->priv->notebook), -1);
+ gtk_notebook_append_page (GTK_NOTEBOOK (window->priv->notebook), GTK_WIDGET (view), NULL);
+ gtk_notebook_set_current_page (GTK_NOTEBOOK (window->priv->notebook), -1);
}
void
-glade_project_window_new_project (GladeProjectWindow *gpw)
+glade_window_new_project (GladeWindow *window)
{
GladeProject *project;
+
+ g_return_if_fail (GLADE_IS_WINDOW (window));
project = glade_project_new ();
if (!project)
{
- glade_util_ui_message (gpw->priv->window,
+ glade_util_ui_message (GTK_WIDGET (window),
GLADE_UI_ERROR,
_("Could not create a new project."));
return;
}
- glade_project_window_add_project (gpw, project);
+ add_project (window, project);
}
static gboolean
-open_project (GladeProjectWindow *gpw, const gchar *path)
+open_project (GladeWindow *window, const gchar *path)
{
GladeProject *project;
project = glade_project_load (path);
if (!project)
{
- gpw_recent_remove (gpw, path);
+ recent_remove (window, path);
return FALSE;
}
- glade_project_window_add_project (gpw, project);
+ add_project (window, project);
/* increase project popularity */
- gpw_recent_add (gpw, glade_project_get_path (project));
- update_default_path (gpw, project);
+ recent_add (window, glade_project_get_path (project));
+ update_default_path (window, project);
return TRUE;
}
static void
-check_reload_project (GladeProjectWindow *gpw, GladeProject *project)
+check_reload_project (GladeWindow *window, GladeProject *project)
{
GladeDesignView *view;
gchar *path;
@@ -2661,7 +2447,7 @@ check_reload_project (GladeProjectWindow *gpw, GladeProject *project)
if (glade_project_get_modified (project))
{
- dialog = gtk_message_dialog_new (GTK_WINDOW (gpw->priv->window),
+ dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_MODAL,
GTK_MESSAGE_WARNING,
GTK_BUTTONS_NONE,
@@ -2674,7 +2460,7 @@ check_reload_project (GladeProjectWindow *gpw, GladeProject *project)
}
else
{
- dialog = gtk_message_dialog_new (GTK_WINDOW (gpw->priv->window),
+ dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_MODAL,
GTK_MESSAGE_WARNING,
GTK_BUTTONS_NONE,
@@ -2717,14 +2503,14 @@ check_reload_project (GladeProjectWindow *gpw, GladeProject *project)
view = glade_design_view_get_from_project (project);
path = g_strdup (glade_project_get_path (project));
- do_close (gpw, view);
- ret = open_project (gpw, path);
+ do_close (window, view);
+ ret = open_project (window, path);
g_free (path);
}
/**
- * glade_project_window_open_project:
- * @gpw: a #GladeProjectWindow
+ * glade_window_open_project:
+ * @window: a #GladeWindow
* @path: the filesystem path of the project
*
* Opens a project file. If the project is already open, switch to that
@@ -2733,11 +2519,12 @@ check_reload_project (GladeProjectWindow *gpw, GladeProject *project)
* Returns: #TRUE if the project was opened
*/
gboolean
-glade_project_window_open_project (GladeProjectWindow *gpw, const gchar *path)
+glade_window_open_project (GladeWindow *window,
+ const gchar *path)
{
GladeProject *project;
- g_return_val_if_fail (GLADE_IS_PROJECT_WINDOW (gpw), FALSE);
+ g_return_val_if_fail (GLADE_IS_WINDOW (window), FALSE);
g_return_val_if_fail (path != NULL, FALSE);
/* dont allow a project to be opened twice */
@@ -2745,19 +2532,19 @@ glade_project_window_open_project (GladeProjectWindow *gpw, const gchar *path)
if (project)
{
/* just switch to the project */
- switch_to_project (gpw, project);
+ switch_to_project (window, project);
return TRUE;
}
else
{
- return open_project (gpw, path);
+ return open_project (window, path);
}
}
static void
-glade_project_window_change_menu_label (GladeProjectWindow *gpw,
+change_menu_label (GladeWindow *window,
const gchar *path,
const gchar *action_label,
const gchar *action_description)
@@ -2766,11 +2553,11 @@ glade_project_window_change_menu_label (GladeProjectWindow *gpw,
GtkLabel *label;
gchar *text;
- g_assert (GLADE_IS_PROJECT_WINDOW (gpw));
+ g_assert (GLADE_IS_WINDOW (window));
g_return_if_fail (path != NULL);
g_return_if_fail (action_label != NULL);
- bin = GTK_BIN (gtk_ui_manager_get_widget (gpw->priv->ui, path));
+ bin = GTK_BIN (gtk_ui_manager_get_widget (window->priv->ui, path));
label = GTK_LABEL (gtk_bin_get_child (bin));
if (action_description == NULL)
@@ -2784,7 +2571,7 @@ glade_project_window_change_menu_label (GladeProjectWindow *gpw,
}
static void
-gpw_refresh_undo_redo (GladeProjectWindow *gpw)
+refresh_undo_redo (GladeWindow *window)
{
GladeCommand *undo = NULL, *redo = NULL;
GladeProject *project;
@@ -2800,121 +2587,333 @@ gpw_refresh_undo_redo (GladeProjectWindow *gpw)
}
/* Refresh Undo */
- action = gtk_action_group_get_action (gpw->priv->project_actions, "Undo");
+ action = gtk_action_group_get_action (window->priv->project_actions, "Undo");
gtk_action_set_sensitive (action, undo != NULL);
- glade_project_window_change_menu_label
- (gpw, "/MenuBar/EditMenu/Undo", _("_Undo"), undo ? undo->description : NULL);
+ change_menu_label
+ (window, "/MenuBar/EditMenu/Undo", _("_Undo"), undo ? undo->description : NULL);
tooltip = g_strdup_printf (_("Undo: %s"), undo ? undo->description : _("the last action"));
g_object_set (action, "tooltip", tooltip, NULL);
g_free (tooltip);
/* Refresh Redo */
- action = gtk_action_group_get_action (gpw->priv->project_actions, "Redo");
+ action = gtk_action_group_get_action (window->priv->project_actions, "Redo");
gtk_action_set_sensitive (action, redo != NULL);
- glade_project_window_change_menu_label
- (gpw, "/MenuBar/EditMenu/Redo", _("_Redo"), redo ? redo->description : NULL);
+ change_menu_label
+ (window, "/MenuBar/EditMenu/Redo", _("_Redo"), redo ? redo->description : NULL);
tooltip = g_strdup_printf (_("Redo: %s"), redo ? redo->description : _("the last action"));
g_object_set (action, "tooltip", tooltip, NULL);
g_free (tooltip);
/* Refresh menus */
- gtk_menu_tool_button_set_menu (GTK_MENU_TOOL_BUTTON (gpw->priv->undo), glade_project_undo_items (project));
- gtk_menu_tool_button_set_menu (GTK_MENU_TOOL_BUTTON (gpw->priv->redo), glade_project_redo_items (project));
+ gtk_menu_tool_button_set_menu (GTK_MENU_TOOL_BUTTON (window->priv->undo), glade_project_undo_items (project));
+ gtk_menu_tool_button_set_menu (GTK_MENU_TOOL_BUTTON (window->priv->redo), glade_project_redo_items (project));
}
static void
-glade_project_window_update_ui (GladeApp *app)
-{
- GladeProjectWindow *gpw = GLADE_PROJECT_WINDOW (app);
-
- /* Chain Up */
- GLADE_APP_CLASS (parent_class)->update_ui_signal (app);
-
- if (gpw->priv->active_view)
- gtk_widget_queue_draw (GTK_WIDGET (gpw->priv->active_view));
+update_ui (GladeApp *app, GladeWindow *window)
+{
+ if (window->priv->active_view)
+ gtk_widget_queue_draw (GTK_WIDGET (window->priv->active_view));
- gpw_refresh_undo_redo (gpw);
+ refresh_undo_redo (window);
}
-void
-glade_project_window_show_all (GladeProjectWindow *gpw)
+static void
+glade_window_dispose (GObject *object)
{
- gtk_widget_show (gpw->priv->window);
+ GladeWindow *window = GLADE_WINDOW (object);
+
+ if (window->priv->app)
+ {
+ g_object_unref (window->priv->app);
+ window->priv->app = NULL;
+ }
+
+ G_OBJECT_CLASS (glade_window_parent_class)->dispose (object);
}
static void
-glade_project_window_finalize (GObject *object)
+glade_window_finalize (GObject *object)
{
- g_free (GLADE_PROJECT_WINDOW (object)->priv->default_path);
+ g_free (GLADE_WINDOW (object)->priv->default_path);
- G_OBJECT_CLASS (parent_class)->finalize (object);
+ G_OBJECT_CLASS (glade_window_parent_class)->finalize (object);
}
+
static void
-glade_project_window_class_init (GladeProjectWindowClass * klass)
+glade_window_init (GladeWindow *window)
{
- GObjectClass *object_class;
- GladeAppClass *app_class;
- g_return_if_fail (klass != NULL);
+ GladeWindowPrivate *priv;
+
+ GtkWidget *vbox;
+ GtkWidget *hpaned1;
+ GtkWidget *hpaned2;
+ GtkWidget *vpaned;
+ GtkWidget *menubar;
+ GtkWidget *editor_item;
+ GtkWidget *palette;
+ GtkWidget *editor;
+ GtkWidget *dockitem;
+ GtkWidget *widget;
+ GtkWidget *sep;
+ GtkAction *action;
+ GtkAccelGroup *accel_group;
- parent_class = g_type_class_peek_parent (klass);
- object_class = G_OBJECT_CLASS (klass);
- app_class = GLADE_APP_CLASS (klass);
+ window->priv = priv = GLADE_WINDOW_GET_PRIVATE (window);
+
+ priv->label = NULL;
+ priv->default_path = NULL;
+
+ priv->app = glade_app_new ();
+
+ gtk_window_maximize (GTK_WINDOW (window));
+ gtk_window_set_default_size (GTK_WINDOW (window), 720, 540);
- object_class->finalize = glade_project_window_finalize;
+ vbox = gtk_vbox_new (FALSE, 0);
+ gtk_container_add (GTK_CONTAINER (window), vbox);
- app_class->update_ui_signal = glade_project_window_update_ui;
+ /* menubar */
+ menubar = construct_menu (window);
+ gtk_box_pack_start (GTK_BOX (vbox), menubar, FALSE, TRUE, 0);
+ gtk_widget_show (menubar);
+
+ /* toolbar */
+ priv->toolbar = gtk_ui_manager_get_widget (priv->ui, "/ToolBar");
+ gtk_box_pack_start (GTK_BOX (vbox), priv->toolbar, FALSE, TRUE, 0);
+ gtk_widget_show (priv->toolbar);
+
+ /* tooltips object */
+ priv->tooltips = gtk_tooltips_new ();
+
+ /* undo/redo buttons */
+ priv->undo = gtk_menu_tool_button_new_from_stock (GTK_STOCK_UNDO);
+ priv->redo = gtk_menu_tool_button_new_from_stock (GTK_STOCK_REDO);
+ gtk_widget_show (GTK_WIDGET (priv->undo));
+ gtk_widget_show (GTK_WIDGET (priv->redo));
+ gtk_menu_tool_button_set_arrow_tooltip (GTK_MENU_TOOL_BUTTON (priv->undo),
+ priv->tooltips,
+ _("Go back in undo history"),
+ NULL);
+ gtk_menu_tool_button_set_arrow_tooltip (GTK_MENU_TOOL_BUTTON (priv->redo),
+ priv->tooltips,
+ ("Go forward in undo history"),
+ NULL);
+
+ sep = GTK_WIDGET (gtk_separator_tool_item_new ());
+ gtk_widget_show (sep);
+ gtk_toolbar_insert (GTK_TOOLBAR (priv->toolbar), GTK_TOOL_ITEM (sep), 3);
+ gtk_toolbar_insert (GTK_TOOLBAR (priv->toolbar), GTK_TOOL_ITEM (priv->undo), 4);
+ gtk_toolbar_insert (GTK_TOOLBAR (priv->toolbar), GTK_TOOL_ITEM (priv->redo), 5);
+
+ action = gtk_ui_manager_get_action (priv->ui, "/MenuBar/EditMenu/Undo");
+ gtk_action_connect_proxy (action, GTK_WIDGET (priv->undo));
+
+ action = gtk_ui_manager_get_action (priv->ui, "/MenuBar/EditMenu/Redo");
+ gtk_action_connect_proxy (action, GTK_WIDGET (priv->redo));
- g_type_class_add_private (object_class, sizeof (GladeProjectWindowPrivate));
-}
+ /* main contents */
+ hpaned1 = gtk_hpaned_new ();
+ hpaned2 = gtk_hpaned_new ();
+ vpaned = gtk_vpaned_new ();
-static void
-glade_project_window_init (GladeProjectWindow *gpw)
-{
- gpw->priv = GLADE_PROJECT_WINDOW_GET_PRIVATE (gpw);
+ gtk_container_set_border_width (GTK_CONTAINER (hpaned1), 2);
+
+ gtk_box_pack_start (GTK_BOX (vbox), hpaned1, TRUE, TRUE, 0);
+ gtk_paned_pack1 (GTK_PANED (hpaned1), hpaned2, TRUE, FALSE);
+ gtk_paned_pack2 (GTK_PANED (hpaned1), vpaned, FALSE, FALSE);
+
+ /* divider position between design area and editor/inspector */
+ gtk_paned_set_position (GTK_PANED (hpaned1), 350);
+ /* divider position between tree and editor */
+ gtk_paned_set_position (GTK_PANED (vpaned), 150);
+
+ gtk_widget_show_all (hpaned1);
+ gtk_widget_show_all (hpaned2);
+ gtk_widget_show_all (vpaned);
+
+ /* palette */
+ palette = GTK_WIDGET (glade_app_get_palette ());
+ glade_palette_set_show_selector_button (GLADE_PALETTE (palette), FALSE);
+ dockitem = construct_dock_item (window, _("Palette"), palette);
+ gtk_paned_pack1 (GTK_PANED (hpaned2), dockitem, FALSE, FALSE);
+
+ /* notebook */
+ priv->notebook = gtk_notebook_new ();
+ gtk_notebook_set_show_tabs (GTK_NOTEBOOK (priv->notebook), FALSE);
+ gtk_notebook_set_show_border (GTK_NOTEBOOK (priv->notebook), FALSE);
+ gtk_paned_pack2 (GTK_PANED (hpaned2), priv->notebook, TRUE, FALSE);
+ gtk_widget_show (priv->notebook);
+
+ /* inspectors */
+ priv->inspectors_notebook = gtk_notebook_new ();
+ gtk_notebook_set_show_tabs (GTK_NOTEBOOK (priv->inspectors_notebook), FALSE);
+ gtk_notebook_set_show_border (GTK_NOTEBOOK (priv->inspectors_notebook), FALSE);
+ gtk_widget_show (priv->inspectors_notebook);
+ dockitem = construct_dock_item (window, _("Inspector"), priv->inspectors_notebook);
+ gtk_paned_pack1 (GTK_PANED (vpaned), dockitem, FALSE, FALSE);
+
+ /* editor */
+ editor = GTK_WIDGET (glade_app_get_editor ());
+ dockitem = construct_dock_item (window, _("Properties"), editor);
+ priv->label = GTK_LABEL (g_object_get_data (G_OBJECT (dockitem), "dock-label"));
+ gtk_label_set_ellipsize (GTK_LABEL (priv->label), PANGO_ELLIPSIZE_END);
+ gtk_misc_set_alignment (GTK_MISC (priv->label), 0, 0.5);
+ gtk_paned_pack2 (GTK_PANED (vpaned), dockitem, TRUE, FALSE);
+
+ /* status bar */
+
+ priv->statusbar = gtk_statusbar_new ();
+ priv->statusbar_menu_context_id = gtk_statusbar_get_context_id (GTK_STATUSBAR (priv->statusbar),
+ "menu");
+ priv->statusbar_actions_context_id = gtk_statusbar_get_context_id (GTK_STATUSBAR (priv->statusbar),
+ "actions");
+ gtk_box_pack_end (GTK_BOX (vbox), priv->statusbar, FALSE, TRUE, 0);
+ gtk_widget_show (priv->statusbar);
+
+
+ gtk_widget_show (vbox);
+
+
+ /* devhelp */
+ editor_item = gtk_ui_manager_get_widget (priv->ui,
+ "/MenuBar/ViewMenu/PropertyEditorHelp");
+ gtk_widget_set_sensitive (editor_item, FALSE);
- gpw->priv->label = NULL;
- gpw->priv->default_path = NULL;
+ /* recent files */
+ priv->recent_manager = gtk_recent_manager_get_for_screen (gtk_widget_get_screen (GTK_WIDGET (window)));
+
+ priv->recent_menu = create_recent_chooser_menu (window, priv->recent_manager);
+
+ g_signal_connect (priv->recent_menu,
+ "item-activated",
+ G_CALLBACK (recent_chooser_item_activated_cb),
+ window);
+
+ widget = gtk_ui_manager_get_widget (priv->ui, "/MenuBar/FileMenu/OpenRecent");
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (widget), priv->recent_menu);
- gtk_about_dialog_set_url_hook ((GtkAboutDialogActivateLinkFunc) about_dialog_activate_link_func, gpw, NULL);
+ /* palette selector & drag/resize buttons */
+ sep = GTK_WIDGET (gtk_separator_tool_item_new());
+ gtk_widget_show (GTK_WIDGET (sep));
+ gtk_toolbar_insert (GTK_TOOLBAR (priv->toolbar), GTK_TOOL_ITEM (sep), -1);
+
+ priv->selector_button =
+ GTK_TOGGLE_TOOL_BUTTON (create_selector_tool_button (GTK_TOOLBAR (priv->toolbar)));
+ gtk_toolbar_insert (GTK_TOOLBAR (priv->toolbar),
+ GTK_TOOL_ITEM (priv->selector_button), -1);
+
+ priv->drag_resize_button =
+ GTK_TOGGLE_TOOL_BUTTON (create_drag_resize_tool_button
+ (GTK_TOOLBAR (priv->toolbar)));
+ gtk_toolbar_insert (GTK_TOOLBAR (priv->toolbar),
+ GTK_TOOL_ITEM (priv->drag_resize_button), -1);
-}
+ gtk_toggle_tool_button_set_active (priv->selector_button, TRUE);
+ gtk_toggle_tool_button_set_active (priv->drag_resize_button, FALSE);
-GladeProjectWindow *
-glade_project_window_new (void)
-{
- GladeProjectWindow *gpw;
- GtkAccelGroup *accel_group;
+ g_signal_connect (G_OBJECT (priv->selector_button), "toggled",
+ G_CALLBACK (on_selector_button_toggled), 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",
+ G_CALLBACK (on_pointer_mode_changed), window);
+
- gpw = g_object_new (GLADE_TYPE_PROJECT_WINDOW, NULL);
+ /* support for opening a file by dragging onto the project window */
+ gtk_drag_dest_set (GTK_WIDGET (window),
+ GTK_DEST_DEFAULT_ALL,
+ drop_types, G_N_ELEMENTS (drop_types),
+ GDK_ACTION_COPY | GDK_ACTION_MOVE);
- glade_project_window_create (gpw);
+ g_signal_connect (G_OBJECT (window), "drag-data-received",
+ G_CALLBACK (drag_data_received), window);
- glade_app_set_window (gpw->priv->window);
+ g_signal_connect (G_OBJECT (window), "delete_event",
+ G_CALLBACK (delete_event), window);
+
+
+ /* GtkNotebook signals */
+ g_signal_connect (priv->notebook,
+ "switch-page",
+ G_CALLBACK (notebook_switch_page_cb),
+ window);
+ g_signal_connect (priv->notebook,
+ "page-added",
+ G_CALLBACK (notebook_tab_added_cb),
+ window);
+ g_signal_connect (priv->notebook,
+ "page-removed",
+ G_CALLBACK (notebook_tab_removed_cb),
+ window);
+
+ /* GtkWindow events */
+ g_signal_connect (window, "screen-changed",
+ G_CALLBACK (window_screen_changed_cb),
+ window);
+
+ g_signal_connect (window, "window-state-event",
+ G_CALLBACK (window_state_event_cb),
+ window);
+
+ g_signal_connect (G_OBJECT (window), "key-press-event",
+ G_CALLBACK (hijack_editor_key_press), window);
- accel_group = gtk_ui_manager_get_accel_group(gpw->priv->ui);
- glade_app_set_accel_group (accel_group);
- gtk_window_add_accel_group(GTK_WINDOW (glade_app_get_clipboard_view ()), accel_group);
+ /* GladeApp signals */
+ g_signal_connect (G_OBJECT (priv->app), "update-ui",
+ G_CALLBACK (update_ui),
+ window);
- /* Connect callback handler for notify signals emitted by clipboard */
+ /* Clipboard signals */
g_signal_connect (G_OBJECT (glade_app_get_clipboard ()), "notify::has-selection",
- G_CALLBACK (gpw_clipboard_notify_handler_cb),
- gpw);
- return gpw;
+ G_CALLBACK (clipboard_notify_handler_cb),
+ window);
+
+
+ gtk_about_dialog_set_url_hook ((GtkAboutDialogActivateLinkFunc) about_dialog_activate_link_func, window, NULL);
+
+ glade_app_set_window (GTK_WIDGET (window));
+
+ accel_group = gtk_ui_manager_get_accel_group(priv->ui);
+ glade_app_set_accel_group (accel_group);
+
+ gtk_window_add_accel_group (GTK_WINDOW (glade_app_get_clipboard_view ()), accel_group);
+}
+
+static void
+glade_window_class_init (GladeWindowClass *klass)
+{
+ GObjectClass *object_class;
+
+ object_class = G_OBJECT_CLASS (klass);
+
+ object_class->dispose = glade_window_dispose;
+ object_class->finalize = glade_window_finalize;
+
+ g_type_class_add_private (klass, sizeof (GladeWindowPrivate));
+}
+
+
+GtkWidget *
+glade_window_new (void)
+{
+ return g_object_new (GLADE_TYPE_WINDOW, NULL);
}
void
-glade_project_window_check_devhelp (GladeProjectWindow *gpw)
+glade_window_check_devhelp (GladeWindow *window)
{
GtkWidget *editor_item;
- editor_item = gtk_ui_manager_get_widget (gpw->priv->ui,
+ g_return_if_fail (GLADE_IS_WINDOW (window));
+
+ editor_item = gtk_ui_manager_get_widget (window->priv->ui,
"/MenuBar/ViewMenu/PropertyEditorHelp");
if (glade_util_have_devhelp ())
@@ -2923,10 +2922,10 @@ glade_project_window_check_devhelp (GladeProjectWindow *gpw)
glade_editor_show_info (editor);
glade_editor_hide_context_info (editor);
- g_signal_handlers_disconnect_by_func (editor, gpw_doc_search_cb, gpw);
+ g_signal_handlers_disconnect_by_func (editor, doc_search_cb, window);
g_signal_connect (editor, "gtk-doc-search",
- G_CALLBACK (gpw_doc_search_cb), gpw);
+ G_CALLBACK (doc_search_cb), window);
gtk_widget_set_sensitive (editor_item, TRUE);
}
@@ -2935,3 +2934,4 @@ glade_project_window_check_devhelp (GladeProjectWindow *gpw)
gtk_widget_set_sensitive (editor_item, FALSE);
}
}
+
diff --git a/src/glade-window.h b/src/glade-window.h
new file mode 100644
index 00000000..96028c62
--- /dev/null
+++ b/src/glade-window.h
@@ -0,0 +1,64 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/*
+ * Copyright (C) 2001 Ximian, Inc.
+ * Copyright (C) 2007 Vincent Geddes.
+ *
+ * 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.
+*/
+
+#ifndef __GLADE_WINDOW_H__
+#define __GLADE_WINDOW_H__
+
+#include <gtk/gtkwindow.h>
+
+G_BEGIN_DECLS
+
+#define GLADE_TYPE_WINDOW (glade_window_get_type())
+#define GLADE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GLADE_TYPE_WINDOW, GladeWindow))
+#define GLADE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GLADE_TYPE_WINDOW, GladeWindowClass))
+#define GLADE_IS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GLADE_TYPE_WINDOW))
+#define GLADE_IS_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GLADE_TYPE_WINDOW))
+#define GLADE_WINDOW_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GLADE_WINDOW, GladeWindowClass))
+
+typedef struct _GladeWindow GladeWindow;
+typedef struct _GladeWindowPrivate GladeWindowPrivate;
+typedef struct _GladeWindowClass GladeWindowClass;
+
+struct _GladeWindow
+{
+ GtkWindow parent_instance;
+
+ GladeWindowPrivate *priv;
+};
+
+struct _GladeWindowClass
+{
+ GtkWindowClass parent_class;
+};
+
+GType glade_window_get_type (void) G_GNUC_CONST;
+
+GtkWidget *glade_window_new (void);
+
+void glade_window_new_project (GladeWindow *window);
+
+gboolean glade_window_open_project (GladeWindow *window,
+ const gchar *path);
+
+void glade_window_check_devhelp (GladeWindow *window);
+
+G_END_DECLS
+
+#endif /* __GLADE_WINDOW_H__ */
diff --git a/src/main.c b/src/main.c
index 4ba97534..a08ab1c2 100644
--- a/src/main.c
+++ b/src/main.c
@@ -18,12 +18,12 @@
*
* Authors:
* Chema Celorio <chema@celorio.com>
- * Vincent Geddes <vgeddes@metroweb.co.za>
+ * Vincent Geddes <vgeddes@gnome.org>
*/
#include <config.h>
-#include "glade-project-window.h"
+#include "glade-window.h"
#include <gladeui/glade.h>
#include <gladeui/glade-app.h>
@@ -72,7 +72,7 @@ static GOptionEntry debug_option_entries[] =
int
main (int argc, char *argv[])
{
- GladeProjectWindow *project_window;
+ GladeWindow *window;
GOptionContext *option_context;
GOptionGroup *option_group;
GError *error = NULL;
@@ -152,10 +152,10 @@ main (int argc, char *argv[])
glade_setup_log_handlers ();
- project_window = glade_project_window_new ();
+ window = GLADE_WINDOW (glade_window_new ());
if (without_devhelp == FALSE)
- glade_project_window_check_devhelp (project_window);
+ glade_window_check_devhelp (window);
/* load files specified on commandline */
@@ -166,7 +166,7 @@ main (int argc, char *argv[])
for (i=0; files[i] ; ++i)
{
if (g_file_test (files[i], G_FILE_TEST_EXISTS) != FALSE)
- glade_project_window_open_project (project_window, files[i]);
+ glade_window_open_project (window, files[i]);
else
g_warning (_("Unable to open '%s', the file does not exist.\n"), files[i]);
}
@@ -174,15 +174,12 @@ main (int argc, char *argv[])
}
if (glade_app_get_project () == NULL)
- glade_project_window_new_project (project_window);
+ glade_window_new_project (window);
- glade_project_window_show_all (project_window);
+ gtk_widget_show (GTK_WIDGET (window));
gtk_main ();
- /* destroy GladeApp */
- g_object_unref (project_window);
-
return 0;
}