app: get rid of including menus/ stuff from widgets/ and other places
Add GimpMenuFactory can always be found in a GimpDialogManager, use gimp_dialog_factory_get_menu_factory() where we have a dialog factory instead of accessing "global_menu_factory" or redundantly passing a menu factory around where we already pass around a dialog factory.
This commit is contained in:
@ -390,7 +390,6 @@ gimp_display_new (Gimp *gimp,
|
||||
GimpImage *image,
|
||||
GimpUnit unit,
|
||||
gdouble scale,
|
||||
GimpMenuFactory *menu_factory,
|
||||
GimpUIManager *popup_manager,
|
||||
GimpDialogFactory *dialog_factory,
|
||||
GdkScreen *screen,
|
||||
@ -444,7 +443,6 @@ gimp_display_new (Gimp *gimp,
|
||||
{
|
||||
window = gimp_image_window_new (gimp,
|
||||
private->image,
|
||||
menu_factory,
|
||||
dialog_factory,
|
||||
screen,
|
||||
monitor);
|
||||
|
@ -53,7 +53,6 @@ GimpDisplay * gimp_display_new (Gimp *gimp,
|
||||
GimpImage *image,
|
||||
GimpUnit unit,
|
||||
gdouble scale,
|
||||
GimpMenuFactory *menu_factory,
|
||||
GimpUIManager *popup_manager,
|
||||
GimpDialogFactory *dialog_factory,
|
||||
GdkScreen *screen,
|
||||
|
@ -99,7 +99,6 @@ enum
|
||||
{
|
||||
PROP_0,
|
||||
PROP_GIMP,
|
||||
PROP_MENU_FACTORY,
|
||||
PROP_DIALOG_FACTORY,
|
||||
PROP_INITIAL_SCREEN,
|
||||
PROP_INITIAL_MONITOR
|
||||
@ -306,12 +305,6 @@ gimp_image_window_class_init (GimpImageWindowClass *klass)
|
||||
GIMP_TYPE_GIMP,
|
||||
GIMP_PARAM_WRITABLE |
|
||||
G_PARAM_CONSTRUCT_ONLY));
|
||||
g_object_class_install_property (object_class, PROP_MENU_FACTORY,
|
||||
g_param_spec_object ("menu-factory",
|
||||
NULL, NULL,
|
||||
GIMP_TYPE_MENU_FACTORY,
|
||||
GIMP_PARAM_WRITABLE |
|
||||
G_PARAM_CONSTRUCT_ONLY));
|
||||
|
||||
g_object_class_install_property (object_class, PROP_DIALOG_FACTORY,
|
||||
g_param_spec_object ("dialog-factory",
|
||||
@ -372,12 +365,20 @@ gimp_image_window_constructed (GObject *object)
|
||||
{
|
||||
GimpImageWindow *window = GIMP_IMAGE_WINDOW (object);
|
||||
GimpImageWindowPrivate *private = GIMP_IMAGE_WINDOW_GET_PRIVATE (window);
|
||||
GimpMenuFactory *menu_factory;
|
||||
GimpGuiConfig *config;
|
||||
|
||||
G_OBJECT_CLASS (parent_class)->constructed (object);
|
||||
|
||||
g_assert (GIMP_IS_GIMP (private->gimp));
|
||||
g_assert (GIMP_IS_UI_MANAGER (private->menubar_manager));
|
||||
g_assert (GIMP_IS_DIALOG_FACTORY (private->dialog_factory));
|
||||
|
||||
menu_factory = gimp_dialog_factory_get_menu_factory (private->dialog_factory);
|
||||
|
||||
private->menubar_manager = gimp_menu_factory_manager_new (menu_factory,
|
||||
"<Image>",
|
||||
window,
|
||||
FALSE);
|
||||
|
||||
g_signal_connect_object (private->dialog_factory, "dock-window-added",
|
||||
G_CALLBACK (gimp_image_window_update_ui_manager),
|
||||
@ -556,16 +557,6 @@ gimp_image_window_set_property (GObject *object,
|
||||
case PROP_GIMP:
|
||||
private->gimp = g_value_get_object (value);
|
||||
break;
|
||||
case PROP_MENU_FACTORY:
|
||||
{
|
||||
GimpMenuFactory *factory = g_value_get_object (value);
|
||||
|
||||
private->menubar_manager = gimp_menu_factory_manager_new (factory,
|
||||
"<Image>",
|
||||
window,
|
||||
FALSE);
|
||||
}
|
||||
break;
|
||||
case PROP_DIALOG_FACTORY:
|
||||
private->dialog_factory = g_value_get_object (value);
|
||||
break;
|
||||
@ -606,7 +597,6 @@ gimp_image_window_get_property (GObject *object,
|
||||
g_value_set_int (value, private->initial_monitor);
|
||||
break;
|
||||
|
||||
case PROP_MENU_FACTORY:
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
||||
break;
|
||||
@ -1121,7 +1111,6 @@ gimp_image_window_set_aux_info (GimpSessionManaged *session_managed,
|
||||
GimpImageWindow *
|
||||
gimp_image_window_new (Gimp *gimp,
|
||||
GimpImage *image,
|
||||
GimpMenuFactory *menu_factory,
|
||||
GimpDialogFactory *dialog_factory,
|
||||
GdkScreen *screen,
|
||||
gint monitor)
|
||||
@ -1131,13 +1120,11 @@ gimp_image_window_new (Gimp *gimp,
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_GIMP (gimp), NULL);
|
||||
g_return_val_if_fail (image == NULL || GIMP_IS_IMAGE (image), NULL);
|
||||
g_return_val_if_fail (GIMP_IS_MENU_FACTORY (menu_factory), NULL);
|
||||
g_return_val_if_fail (GIMP_IS_DIALOG_FACTORY (dialog_factory), NULL);
|
||||
g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL);
|
||||
|
||||
window = g_object_new (GIMP_TYPE_IMAGE_WINDOW,
|
||||
"gimp", gimp,
|
||||
"menu-factory", menu_factory,
|
||||
"dialog-factory", dialog_factory,
|
||||
"initial-screen", screen,
|
||||
"initial-monitor", monitor,
|
||||
|
@ -47,7 +47,6 @@ GType gimp_image_window_get_type (void) G_GNUC_CONST;
|
||||
|
||||
GimpImageWindow * gimp_image_window_new (Gimp *gimp,
|
||||
GimpImage *image,
|
||||
GimpMenuFactory *menu_factory,
|
||||
GimpDialogFactory *dialog_factory,
|
||||
GdkScreen *screen,
|
||||
gint monitor);
|
||||
|
@ -43,8 +43,6 @@
|
||||
#include "display/gimpdisplayshell-appearance.h"
|
||||
#include "display/gimpimagewindow.h"
|
||||
|
||||
#include "menus/menus.h"
|
||||
|
||||
#include "gimpuiconfigurer.h"
|
||||
|
||||
|
||||
@ -450,7 +448,6 @@ gimp_ui_configurer_separate_shells (GimpUIConfigurer *ui_configurer,
|
||||
/* Create a new image window */
|
||||
new_image_window = gimp_image_window_new (ui_configurer->p->gimp,
|
||||
NULL,
|
||||
global_menu_factory,
|
||||
gimp_dialog_factory_get_singleton (),
|
||||
gtk_widget_get_screen (GTK_WIDGET (source_image_window)),
|
||||
gimp_widget_get_monitor (GTK_WIDGET (source_image_window)));
|
||||
|
@ -398,7 +398,6 @@ gui_display_create (Gimp *gimp,
|
||||
g_return_val_if_fail (image_managers != NULL, NULL);
|
||||
|
||||
display = gimp_display_new (gimp, image, unit, scale,
|
||||
global_menu_factory,
|
||||
image_managers->data,
|
||||
gimp_dialog_factory_get_singleton (),
|
||||
GDK_SCREEN (screen),
|
||||
|
@ -27,8 +27,6 @@
|
||||
|
||||
#include "widgets-types.h"
|
||||
|
||||
#include "menus/menus.h"
|
||||
|
||||
#include "core/gimp.h"
|
||||
#include "core/gimpcontext.h"
|
||||
#include "core/gimpmarshal.h"
|
||||
@ -347,9 +345,10 @@ gimp_dock_dropped_cb (GtkWidget *source,
|
||||
gint insert_index,
|
||||
gpointer data)
|
||||
{
|
||||
GimpDock *dock = GIMP_DOCK (data);
|
||||
GimpDockable *dockable = gimp_dockbook_drag_source_to_dockable (source);
|
||||
GtkWidget *dockbook = NULL;
|
||||
GimpDock *dock = GIMP_DOCK (data);
|
||||
GimpDockable *dockable = gimp_dockbook_drag_source_to_dockable (source);
|
||||
GimpDialogFactory *factory;
|
||||
GtkWidget *dockbook = NULL;
|
||||
|
||||
if (!dockable )
|
||||
return FALSE;
|
||||
@ -378,7 +377,8 @@ gimp_dock_dropped_cb (GtkWidget *source,
|
||||
gimp_dockbook_remove (gimp_dockable_get_dockbook (dockable), dockable);
|
||||
|
||||
/* Create a new dockbook */
|
||||
dockbook = gimp_dockbook_new (global_menu_factory);
|
||||
factory = gimp_dock_get_dialog_factory (dock);
|
||||
dockbook = gimp_dockbook_new (gimp_dialog_factory_get_menu_factory (factory));
|
||||
gimp_dock_add_book (dock, GIMP_DOCKBOOK (dockbook), insert_index);
|
||||
|
||||
/* Add the dockable to new new dockbook */
|
||||
|
@ -29,8 +29,6 @@
|
||||
|
||||
#include "widgets-types.h"
|
||||
|
||||
#include "menus/menus.h"
|
||||
|
||||
#include "core/gimpcontext.h"
|
||||
|
||||
#include "gimpdialogfactory.h"
|
||||
@ -845,19 +843,24 @@ gimp_dockable_set_drag_handler (GimpDockable *dockable,
|
||||
void
|
||||
gimp_dockable_detach (GimpDockable *dockable)
|
||||
{
|
||||
GimpDockWindow *src_dock_window = NULL;
|
||||
GimpDock *src_dock = NULL;
|
||||
GtkWidget *dock = NULL;
|
||||
GimpDockWindow *dock_window = NULL;
|
||||
GtkWidget *dockbook = NULL;
|
||||
GimpDialogFactory *dialog_factory;
|
||||
GimpMenuFactory *menu_factory;
|
||||
GimpDockWindow *src_dock_window;
|
||||
GimpDock *src_dock;
|
||||
GtkWidget *dock;
|
||||
GimpDockWindow *dock_window;
|
||||
GtkWidget *dockbook;
|
||||
|
||||
g_return_if_fail (GIMP_IS_DOCKABLE (dockable));
|
||||
g_return_if_fail (GIMP_IS_DOCKBOOK (dockable->p->dockbook));
|
||||
|
||||
src_dock = gimp_dockbook_get_dock (dockable->p->dockbook);
|
||||
src_dock = gimp_dockbook_get_dock (dockable->p->dockbook);
|
||||
src_dock_window = gimp_dock_window_from_dock (src_dock);
|
||||
|
||||
dock = gimp_dock_with_window_new (gimp_dialog_factory_get_singleton (),
|
||||
dialog_factory = gimp_dock_get_dialog_factory (src_dock);
|
||||
menu_factory = gimp_dialog_factory_get_menu_factory (dialog_factory);
|
||||
|
||||
dock = gimp_dock_with_window_new (dialog_factory,
|
||||
gtk_widget_get_screen (GTK_WIDGET (dockable)),
|
||||
gimp_widget_get_monitor (GTK_WIDGET (dockable)),
|
||||
FALSE /*toolbox*/);
|
||||
@ -866,7 +869,7 @@ gimp_dockable_detach (GimpDockable *dockable)
|
||||
if (src_dock_window)
|
||||
gimp_dock_window_setup (dock_window, src_dock_window);
|
||||
|
||||
dockbook = gimp_dockbook_new (global_menu_factory);
|
||||
dockbook = gimp_dockbook_new (menu_factory);
|
||||
|
||||
gimp_dock_add_book (GIMP_DOCK (dock), GIMP_DOCKBOOK (dockbook), 0);
|
||||
|
||||
|
@ -25,8 +25,6 @@
|
||||
|
||||
#include "widgets-types.h"
|
||||
|
||||
#include "menus/menus.h"
|
||||
|
||||
#include "core/gimp.h"
|
||||
#include "core/gimpcontext.h"
|
||||
#include "core/gimpmarshal.h"
|
||||
@ -118,12 +116,14 @@ gimp_dock_columns_class_init (GimpDockColumnsClass *klass)
|
||||
GIMP_TYPE_CONTEXT,
|
||||
GIMP_PARAM_WRITABLE |
|
||||
G_PARAM_CONSTRUCT_ONLY));
|
||||
|
||||
g_object_class_install_property (object_class, PROP_DIALOG_FACTORY,
|
||||
g_param_spec_object ("dialog-factory",
|
||||
NULL, NULL,
|
||||
GIMP_TYPE_DIALOG_FACTORY,
|
||||
GIMP_PARAM_WRITABLE |
|
||||
G_PARAM_CONSTRUCT_ONLY));
|
||||
|
||||
g_object_class_install_property (object_class, PROP_UI_MANAGER,
|
||||
g_param_spec_object ("ui-manager",
|
||||
NULL, NULL,
|
||||
@ -409,13 +409,15 @@ gimp_dock_columns_prepare_dockbook (GimpDockColumns *dock_columns,
|
||||
gint dock_index,
|
||||
GtkWidget **dockbook_p)
|
||||
{
|
||||
GtkWidget *dock;
|
||||
GtkWidget *dockbook;
|
||||
GimpMenuFactory *menu_factory;
|
||||
GtkWidget *dock;
|
||||
GtkWidget *dockbook;
|
||||
|
||||
dock = gimp_menu_dock_new ();
|
||||
gimp_dock_columns_add_dock (dock_columns, GIMP_DOCK (dock), dock_index);
|
||||
|
||||
dockbook = gimp_dockbook_new (global_menu_factory);
|
||||
menu_factory = gimp_dialog_factory_get_menu_factory (dock_columns->p->dialog_factory);
|
||||
dockbook = gimp_dockbook_new (menu_factory);
|
||||
gimp_dock_add_book (GIMP_DOCK (dock), GIMP_DOCKBOOK (dockbook), -1);
|
||||
|
||||
gtk_widget_show (GTK_WIDGET (dock));
|
||||
|
@ -31,8 +31,6 @@
|
||||
|
||||
#include "dialogs/dialogs.h" /* FIXME, we are in the widget layer */
|
||||
|
||||
#include "menus/menus.h"
|
||||
|
||||
#include "config/gimpguiconfig.h"
|
||||
|
||||
#include "core/gimp.h"
|
||||
@ -287,14 +285,15 @@ gimp_dock_window_session_managed_iface_init (GimpSessionManagedInterface *iface)
|
||||
static void
|
||||
gimp_dock_window_constructed (GObject *object)
|
||||
{
|
||||
GimpDockWindow *dock_window = GIMP_DOCK_WINDOW (object);
|
||||
GimpGuiConfig *config;
|
||||
GimpContext *factory_context;
|
||||
GtkAccelGroup *accel_group;
|
||||
Gimp *gimp;
|
||||
GtkSettings *settings;
|
||||
gint menu_view_width = -1;
|
||||
gint menu_view_height = -1;
|
||||
GimpDockWindow *dock_window = GIMP_DOCK_WINDOW (object);
|
||||
GimpGuiConfig *config;
|
||||
GimpContext *factory_context;
|
||||
GimpMenuFactory *menu_factory;
|
||||
GtkAccelGroup *accel_group;
|
||||
Gimp *gimp;
|
||||
GtkSettings *settings;
|
||||
gint menu_view_width = -1;
|
||||
gint menu_view_height = -1;
|
||||
|
||||
G_OBJECT_CLASS (parent_class)->constructed (object);
|
||||
|
||||
@ -316,11 +315,14 @@ gimp_dock_window_constructed (GObject *object)
|
||||
/* Setup hints */
|
||||
gimp_window_set_hint (GTK_WINDOW (dock_window), config->dock_window_hint);
|
||||
|
||||
menu_factory =
|
||||
gimp_dialog_factory_get_menu_factory (dock_window->p->dialog_factory);
|
||||
|
||||
/* Make image window related keyboard shortcuts work also when a
|
||||
* dock window is the focused window
|
||||
*/
|
||||
dock_window->p->ui_manager =
|
||||
gimp_menu_factory_manager_new (global_menu_factory,
|
||||
gimp_menu_factory_manager_new (menu_factory,
|
||||
dock_window->p->ui_manager_name,
|
||||
dock_window,
|
||||
config->tearoff_menus);
|
||||
@ -1138,17 +1140,17 @@ GtkWidget *
|
||||
gimp_dock_window_new (const gchar *role,
|
||||
const gchar *ui_manager_name,
|
||||
gboolean allow_dockbook_absence,
|
||||
GimpDialogFactory *factory,
|
||||
GimpDialogFactory *dialog_factory,
|
||||
GimpContext *context)
|
||||
{
|
||||
g_return_val_if_fail (GIMP_IS_DIALOG_FACTORY (factory), NULL);
|
||||
g_return_val_if_fail (GIMP_IS_DIALOG_FACTORY (dialog_factory), NULL);
|
||||
g_return_val_if_fail (GIMP_IS_CONTEXT (context), NULL);
|
||||
|
||||
return g_object_new (GIMP_TYPE_DOCK_WINDOW,
|
||||
"role", role,
|
||||
"ui-manager-name", ui_manager_name,
|
||||
"allow-dockbook-absence", allow_dockbook_absence,
|
||||
"dialog-factory", factory,
|
||||
"dialog-factory", dialog_factory,
|
||||
"context", context,
|
||||
NULL);
|
||||
}
|
||||
|
@ -26,8 +26,6 @@
|
||||
|
||||
#include "widgets-types.h"
|
||||
|
||||
#include "menus/menus.h"
|
||||
|
||||
#include "gimpdialogfactory.h"
|
||||
#include "gimpdock.h"
|
||||
#include "gimpdockbook.h"
|
||||
@ -242,14 +240,19 @@ GimpDockbook *
|
||||
gimp_session_info_book_restore (GimpSessionInfoBook *info,
|
||||
GimpDock *dock)
|
||||
{
|
||||
GtkWidget *dockbook;
|
||||
GList *pages;
|
||||
gint n_dockables = 0;
|
||||
GimpDialogFactory *dialog_factory;
|
||||
GimpMenuFactory *menu_factory;
|
||||
GtkWidget *dockbook;
|
||||
GList *pages;
|
||||
gint n_dockables = 0;
|
||||
|
||||
g_return_val_if_fail (info != NULL, NULL);
|
||||
g_return_val_if_fail (GIMP_IS_DOCK (dock), NULL);
|
||||
|
||||
dockbook = gimp_dockbook_new (global_menu_factory);
|
||||
dialog_factory = gimp_dock_get_dialog_factory (dock);
|
||||
menu_factory = gimp_dialog_factory_get_menu_factory (dialog_factory);
|
||||
|
||||
dockbook = gimp_dockbook_new (menu_factory);
|
||||
|
||||
gimp_dock_add_book (dock, GIMP_DOCKBOOK (dockbook), -1);
|
||||
|
||||
|
Reference in New Issue
Block a user