~ubuntu-branches/ubuntu/saucy/gimp/saucy-security

« back to all changes in this revision

Viewing changes to app/widgets/gimpdockwindow.c

  • Committer: Package Import Robot
  • Author(s): Sebastien Bacher
  • Date: 2013-08-29 12:48:19 UTC
  • mfrom: (1.1.29) (0.4.20 saucy-proposed)
  • Revision ID: package-import@ubuntu.com-20130829124819-r4mliaiddrgv5x4g
Tags: 2.8.6-1ubuntu1
* Synchronize with Debian (LP: #1207734). Remaining changes:
  - debian/patches/02_help-message.patch,
    debian/patches/03_gimp.desktop.in.in.patch:
    + Update some strings for Ubuntu
  - debian/control:
    + Update description
  - debian/rules:
    + Set gettext domain and update translation templates

Show diffs side-by-side

added added

removed removed

Lines of Context:
291
291
{
292
292
  GimpDockWindow *dock_window = GIMP_DOCK_WINDOW (object);
293
293
  GimpGuiConfig  *config;
 
294
  GimpContext    *factory_context;
294
295
  GtkAccelGroup  *accel_group;
295
296
  Gimp           *gimp;
296
297
  GtkSettings    *settings;
312
313
  dock_window->p->image_container   = gimp->images;
313
314
  dock_window->p->display_container = gimp->displays;
314
315
 
 
316
  factory_context =
 
317
    gimp_dialog_factory_get_context (dock_window->p->dialog_factory);
 
318
 
315
319
  /* Setup hints */
316
320
  gimp_window_set_hint (GTK_WINDOW (dock_window), config->dock_window_hint);
317
321
 
347
351
                                    GIMP_CONTEXT_DISPLAY_MASK),
348
352
                                  FALSE);
349
353
  gimp_context_set_parent (dock_window->p->context,
350
 
                           gimp_dialog_factory_get_context (dock_window->p->dialog_factory));
 
354
                           factory_context);
351
355
 
352
356
  /* Setup widget hierarchy */
353
357
  {
424
428
 
425
429
  if (dock_window->p->auto_follow_active)
426
430
    {
427
 
      if (gimp_context_get_display (gimp_dialog_factory_get_context (dock_window->p->dialog_factory)))
428
 
        gimp_context_copy_property (gimp_dialog_factory_get_context (dock_window->p->dialog_factory),
 
431
      if (gimp_context_get_display (factory_context))
 
432
        gimp_context_copy_property (factory_context,
429
433
                                    dock_window->p->context,
430
434
                                    GIMP_CONTEXT_PROP_DISPLAY);
431
435
      else
432
 
        gimp_context_copy_property (gimp_dialog_factory_get_context (dock_window->p->dialog_factory),
 
436
        gimp_context_copy_property (factory_context,
433
437
                                    dock_window->p->context,
434
438
                                    GIMP_CONTEXT_PROP_IMAGE);
435
439
    }
436
440
 
437
 
  g_signal_connect_object (gimp_dialog_factory_get_context (dock_window->p->dialog_factory), "display-changed",
 
441
  g_signal_connect_object (factory_context, "display-changed",
438
442
                           G_CALLBACK (gimp_dock_window_factory_display_changed),
439
443
                           dock_window,
440
444
                           0);
441
 
  g_signal_connect_object (gimp_dialog_factory_get_context (dock_window->p->dialog_factory), "image-changed",
 
445
  g_signal_connect_object (factory_context, "image-changed",
442
446
                           G_CALLBACK (gimp_dock_window_factory_image_changed),
443
447
                           dock_window,
444
448
                           0);
459
463
 
460
464
  if (dock_window->p->auto_follow_active)
461
465
    {
462
 
      if (gimp_context_get_display (gimp_dialog_factory_get_context (dock_window->p->dialog_factory)))
463
 
        gimp_context_copy_property (gimp_dialog_factory_get_context (dock_window->p->dialog_factory),
 
466
      if (gimp_context_get_display (factory_context))
 
467
        gimp_context_copy_property (factory_context,
464
468
                                    dock_window->p->context,
465
469
                                    GIMP_CONTEXT_PROP_DISPLAY);
466
470
      else
467
 
        gimp_context_copy_property (gimp_dialog_factory_get_context (dock_window->p->dialog_factory),
 
471
        gimp_context_copy_property (factory_context,
468
472
                                    dock_window->p->context,
469
473
                                    GIMP_CONTEXT_PROP_IMAGE);
470
474
    }
863
867
}
864
868
 
865
869
static void
866
 
gimp_dock_window_display_changed (GimpDockWindow *dock_window,
867
 
                                  GimpObject     *display,
868
 
                                  GimpContext    *context)
869
 
{
870
 
  gimp_ui_manager_update (dock_window->p->ui_manager,
871
 
                          display);
872
 
}
873
 
 
874
 
static void
875
870
gimp_dock_window_image_flush (GimpImage      *image,
876
871
                              gboolean        invalidate_preview,
877
872
                              GimpDockWindow *dock_window)
975
970
}
976
971
 
977
972
static void
 
973
gimp_dock_window_display_changed (GimpDockWindow *dock_window,
 
974
                                  GimpObject     *display,
 
975
                                  GimpContext    *context)
 
976
{
 
977
  /*  make sure auto-follow-active works both ways  */
 
978
  if (display && dock_window->p->auto_follow_active)
 
979
    {
 
980
      GimpContext *factory_context =
 
981
        gimp_dialog_factory_get_context (dock_window->p->dialog_factory);
 
982
 
 
983
      gimp_context_set_display (factory_context, display);
 
984
    }
 
985
 
 
986
  gimp_ui_manager_update (dock_window->p->ui_manager,
 
987
                          display);
 
988
}
 
989
 
 
990
static void
978
991
gimp_dock_window_image_changed (GimpDockWindow *dock_window,
979
992
                                GimpImage      *image,
980
993
                                GimpContext    *context)
982
995
  GimpContainer *image_container   = dock_window->p->image_container;
983
996
  GimpContainer *display_container = dock_window->p->display_container;
984
997
 
 
998
  /*  make sure auto-follow-active works both ways  */
 
999
  if (image && dock_window->p->auto_follow_active)
 
1000
    {
 
1001
      GimpContext *factory_context =
 
1002
        gimp_dialog_factory_get_context (dock_window->p->dialog_factory);
 
1003
 
 
1004
      gimp_context_set_image (factory_context, image);
 
1005
    }
 
1006
 
985
1007
  if (image == NULL && ! gimp_container_is_empty (image_container))
986
1008
    {
987
1009
      image = GIMP_IMAGE (gimp_container_get_first_child (image_container));