~ubuntu-branches/ubuntu/raring/nautilus/raring

« back to all changes in this revision

Viewing changes to .pc/14_bring_del_instead_ctrl_del.patch/src/nautilus-view.c

  • Committer: Package Import Robot
  • Author(s): Sebastien Bacher, Jeremy Bicha
  • Date: 2012-01-31 13:45:01 UTC
  • mfrom: (1.17.25)
  • Revision ID: package-import@ubuntu.com-20120131134501-yn7mqny7fgzx9fao
Tags: 1:3.3.4-0ubuntu1
* New upstream version which fixes:
  - "Opening Popupmenu in Context of Folder with List-View impossible?"
    (lp: #126540)
  - "'Create folder in here' context menu option for nautilus" (lp: #61786)
  - the file count and the size count change in opposite direction.
    (lp: #503330)
  - the mounts in the place menu should have a properties entry.
    (lp: #846289)
  - add command line option to select file (lp: #575719)
  - Media in 'Places' side bar should have same context menu as in 
    'Computer' (lp: #230098)
* debian/nautilus-data.install:
  - updated, ui and icons have been moved into gresources
* debian/patches/05_desktop_menu_export.patch:
   - updated to correctly include the gresources desktop definition

[ Jeremy Bicha ]
* New upstream release.
* debian/control.in:
  - Bump minimum GTK and glib
* Refreshed patches
* Dropped upstream patches:
  - 17_dont_allow_new_tab_on_desktop.patch
  - 18_fix_crash_in_get_current_uri.patch
  - 19_lazily_initialize_notification_service.patch
  - git_sideplace_sorting.patch
  - git_next_row.patch
  - git_dont_document_browser_option.patch
  - git_browser_compat.patch
  - git_bookmarks_reordering.patch
  - git_listview_context_menus.patch
  - git_use_gtk_grid.patch

Show diffs side-by-side

added added

removed removed

Lines of Context:
50
50
#include <eel/eel-glib-extensions.h>
51
51
#include <eel/eel-gnome-extensions.h>
52
52
#include <eel/eel-gtk-extensions.h>
53
 
#include <eel/eel-gtk-macros.h>
54
53
#include <eel/eel-stock-dialogs.h>
55
54
#include <eel/eel-string.h>
56
55
#include <eel/eel-vfs-extensions.h>
315
314
G_DEFINE_TYPE (NautilusView, nautilus_view, GTK_TYPE_SCROLLED_WINDOW);
316
315
#define parent_class nautilus_view_parent_class
317
316
 
318
 
EEL_IMPLEMENT_MUST_OVERRIDE_SIGNAL (nautilus_view, add_file)
319
 
EEL_IMPLEMENT_MUST_OVERRIDE_SIGNAL (nautilus_view, bump_zoom_level)
320
 
EEL_IMPLEMENT_MUST_OVERRIDE_SIGNAL (nautilus_view, can_zoom_in)
321
 
EEL_IMPLEMENT_MUST_OVERRIDE_SIGNAL (nautilus_view, can_zoom_out)
322
 
EEL_IMPLEMENT_MUST_OVERRIDE_SIGNAL (nautilus_view, clear)
323
 
EEL_IMPLEMENT_MUST_OVERRIDE_SIGNAL (nautilus_view, file_changed)
324
 
EEL_IMPLEMENT_MUST_OVERRIDE_SIGNAL (nautilus_view, get_selection)
325
 
EEL_IMPLEMENT_MUST_OVERRIDE_SIGNAL (nautilus_view, get_selection_for_file_transfer)
326
 
EEL_IMPLEMENT_MUST_OVERRIDE_SIGNAL (nautilus_view, get_item_count)
327
 
EEL_IMPLEMENT_MUST_OVERRIDE_SIGNAL (nautilus_view, is_empty)
328
 
EEL_IMPLEMENT_MUST_OVERRIDE_SIGNAL (nautilus_view, reset_to_defaults)
329
 
EEL_IMPLEMENT_MUST_OVERRIDE_SIGNAL (nautilus_view, restore_default_zoom_level)
330
 
EEL_IMPLEMENT_MUST_OVERRIDE_SIGNAL (nautilus_view, select_all)
331
 
EEL_IMPLEMENT_MUST_OVERRIDE_SIGNAL (nautilus_view, set_selection)
332
 
EEL_IMPLEMENT_MUST_OVERRIDE_SIGNAL (nautilus_view, zoom_to_level)
333
 
EEL_IMPLEMENT_MUST_OVERRIDE_SIGNAL (nautilus_view, get_zoom_level)
334
 
EEL_IMPLEMENT_MUST_OVERRIDE_SIGNAL (nautilus_view, invert_selection)
335
 
 
336
317
/* virtual methods (public and non-public) */
337
318
 
338
319
/**
346
327
{
347
328
        g_return_if_fail (NAUTILUS_IS_VIEW (view));
348
329
 
349
 
        EEL_CALL_METHOD
350
 
                (NAUTILUS_VIEW_CLASS, view,
351
 
                 merge_menus, (view));
 
330
        NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->merge_menus (view);
352
331
}
353
332
 
354
333
static void
356
335
{
357
336
        g_return_if_fail (NAUTILUS_IS_VIEW (view));
358
337
 
359
 
        EEL_CALL_METHOD
360
 
                (NAUTILUS_VIEW_CLASS, view,
361
 
                 unmerge_menus, (view));
362
 
}
 
338
        NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->unmerge_menus (view);}
363
339
 
364
340
static char *
365
341
real_get_backing_uri (NautilusView *view)
401
377
{
402
378
        g_return_val_if_fail (NAUTILUS_IS_VIEW (view), NULL);
403
379
 
404
 
        return EEL_CALL_METHOD_WITH_RETURN_VALUE
405
 
                (NAUTILUS_VIEW_CLASS, view,
406
 
                 get_backing_uri, (view));
 
380
        return NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->get_backing_uri (view);
407
381
}
408
382
 
409
383
/**
417
391
{
418
392
        g_return_if_fail (NAUTILUS_IS_VIEW (view));
419
393
 
420
 
        EEL_CALL_METHOD
421
 
                (NAUTILUS_VIEW_CLASS, view,
422
 
                 select_all, (view));
 
394
        NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->select_all (view);
423
395
}
424
396
 
425
397
static void
427
399
{
428
400
        g_return_if_fail (NAUTILUS_IS_VIEW (view));
429
401
 
430
 
        EEL_CALL_METHOD
431
 
                (NAUTILUS_VIEW_CLASS, view,
432
 
                 set_selection, (view, selection));
 
402
        NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->set_selection (view, selection);
433
403
}
434
404
 
435
405
static GList *
437
407
{
438
408
        g_return_val_if_fail (NAUTILUS_IS_VIEW (view), NULL);
439
409
 
440
 
        return EEL_CALL_METHOD_WITH_RETURN_VALUE
441
 
                (NAUTILUS_VIEW_CLASS, view,
442
 
                 get_selection_for_file_transfer, (view));
 
410
        return NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->get_selection_for_file_transfer (view);
443
411
}
444
412
 
445
413
/**
454
422
{
455
423
        g_return_val_if_fail (NAUTILUS_IS_VIEW (view), NULL);
456
424
 
457
 
        return EEL_CALL_METHOD_WITH_RETURN_VALUE
458
 
                (NAUTILUS_VIEW_CLASS, view,
459
 
                 get_selected_icon_locations, (view));
 
425
        return NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->get_selected_icon_locations (view);
460
426
}
461
427
 
462
428
static void
464
430
{
465
431
        g_return_if_fail (NAUTILUS_IS_VIEW (view));
466
432
 
467
 
        EEL_CALL_METHOD
468
 
                (NAUTILUS_VIEW_CLASS, view,
469
 
                 invert_selection, (view));
 
433
        NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->invert_selection (view);
470
434
}
471
435
 
472
436
/**
479
443
{
480
444
        g_return_if_fail (NAUTILUS_IS_VIEW (view));
481
445
 
482
 
        EEL_CALL_METHOD
483
 
                (NAUTILUS_VIEW_CLASS, view,
484
 
                 reveal_selection, (view));
 
446
        NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->reveal_selection (view);
485
447
}
486
448
 
487
449
/**
496
458
        NautilusWindowShowHiddenFilesMode mode;
497
459
 
498
460
        g_return_if_fail (NAUTILUS_IS_VIEW (view));
499
 
        
500
 
        EEL_CALL_METHOD
501
 
                (NAUTILUS_VIEW_CLASS, view,
502
 
                 reset_to_defaults, (view));
 
461
 
 
462
        NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->reset_to_defaults (view);
 
463
 
503
464
        mode = nautilus_window_get_hidden_files_mode (view->details->window);
504
465
        if (mode != NAUTILUS_WINDOW_SHOW_HIDDEN_FILES_DEFAULT) {
505
466
                nautilus_window_set_hidden_files_mode (view->details->window,
512
473
{
513
474
        g_return_val_if_fail (NAUTILUS_IS_VIEW (view), FALSE);
514
475
 
515
 
        return EEL_CALL_METHOD_WITH_RETURN_VALUE
516
 
                (NAUTILUS_VIEW_CLASS, view,
517
 
                 using_manual_layout, (view));
 
476
        return  NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->using_manual_layout (view);
518
477
}
519
478
 
520
479
static guint
522
481
{
523
482
        g_return_val_if_fail (NAUTILUS_IS_VIEW (view), 0);
524
483
 
525
 
        return EEL_CALL_METHOD_WITH_RETURN_VALUE
526
 
                (NAUTILUS_VIEW_CLASS, view,
527
 
                 get_item_count, (view));
 
484
        return  NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->get_item_count (view);
528
485
}
529
486
 
530
487
/**
539
496
static gboolean
540
497
nautilus_view_can_rename_file (NautilusView *view, NautilusFile *file)
541
498
{
542
 
        return EEL_CALL_METHOD_WITH_RETURN_VALUE
543
 
                (NAUTILUS_VIEW_CLASS, view,
544
 
                 can_rename_file, (view, file));
 
499
        return  NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->can_rename_file (view, file);
545
500
}
546
501
 
547
502
static gboolean
549
504
{
550
505
        g_return_val_if_fail (NAUTILUS_IS_VIEW (view), FALSE);
551
506
 
552
 
        return EEL_CALL_METHOD_WITH_RETURN_VALUE
553
 
                (NAUTILUS_VIEW_CLASS, view,
554
 
                 is_read_only, (view));
 
507
        return  NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->is_read_only (view);
555
508
}
556
509
 
557
510
static gboolean
579
532
{
580
533
        g_return_val_if_fail (NAUTILUS_IS_VIEW (view), FALSE);
581
534
 
582
 
        return EEL_CALL_METHOD_WITH_RETURN_VALUE
583
 
                (NAUTILUS_VIEW_CLASS, view,
584
 
                 is_empty, (view));
 
535
        return  NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->is_empty (view);
585
536
}
586
537
 
587
538
/**
600
551
                return;
601
552
        }
602
553
 
603
 
        EEL_CALL_METHOD
604
 
                (NAUTILUS_VIEW_CLASS, view,
605
 
                 bump_zoom_level, (view, zoom_increment));
 
554
        NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->bump_zoom_level (view, zoom_increment);
606
555
}
607
556
 
608
557
/**
621
570
                return;
622
571
        }
623
572
 
624
 
        EEL_CALL_METHOD
625
 
                (NAUTILUS_VIEW_CLASS, view,
626
 
                 zoom_to_level, (view, zoom_level));
 
573
        NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->zoom_to_level (view, zoom_level);
627
574
}
628
575
 
629
576
NautilusZoomLevel
635
582
                return NAUTILUS_ZOOM_LEVEL_STANDARD;
636
583
        }
637
584
 
638
 
        return EEL_CALL_METHOD_WITH_RETURN_VALUE
639
 
                (NAUTILUS_VIEW_CLASS, view,
640
 
                 get_zoom_level, (view));
 
585
        return NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->get_zoom_level (view);
641
586
}
642
587
 
643
588
/**
658
603
                return FALSE;
659
604
        }
660
605
 
661
 
        return EEL_CALL_METHOD_WITH_RETURN_VALUE
662
 
                (NAUTILUS_VIEW_CLASS, view,
663
 
                 can_zoom_in, (view));
 
606
        return NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->can_zoom_in (view);
664
607
}
665
608
 
666
609
/**
681
624
                return FALSE;
682
625
        }
683
626
 
684
 
        return EEL_CALL_METHOD_WITH_RETURN_VALUE
685
 
                (NAUTILUS_VIEW_CLASS, view,
686
 
                 can_zoom_out, (view));
 
627
        return NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->can_zoom_out (view);
687
628
}
688
629
 
689
630
gboolean
709
650
                return;
710
651
        }
711
652
 
712
 
        EEL_CALL_METHOD
713
 
                (NAUTILUS_VIEW_CLASS, view,
714
 
                 restore_default_zoom_level, (view));
 
653
        NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->restore_default_zoom_level (view);
715
654
}
716
655
 
717
656
const char *
718
657
nautilus_view_get_view_id (NautilusView *view)
719
658
{
720
 
        return EEL_CALL_METHOD_WITH_RETURN_VALUE
721
 
                (NAUTILUS_VIEW_CLASS, view,
722
 
                 get_view_id, (view));
 
659
        return NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->get_view_id (view);
723
660
}
724
661
 
725
662
char *
726
663
nautilus_view_get_first_visible_file (NautilusView *view)
727
664
{
728
 
        return EEL_CALL_METHOD_WITH_RETURN_VALUE
729
 
                (NAUTILUS_VIEW_CLASS, view,
730
 
                 get_first_visible_file, (view));
 
665
        return NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->get_first_visible_file (view);
731
666
}
732
667
 
733
668
void
734
669
nautilus_view_scroll_to_file (NautilusView *view,
735
670
                              const char *uri)
736
671
{
737
 
        EEL_CALL_METHOD
738
 
                (NAUTILUS_VIEW_CLASS, view,
739
 
                 scroll_to_file, (view, uri));
 
672
        NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->scroll_to_file (view, uri);
740
673
}
741
674
 
742
675
char **
767
700
{
768
701
        g_return_if_fail (NAUTILUS_IS_VIEW (view));
769
702
 
770
 
        EEL_CALL_METHOD (NAUTILUS_VIEW_CLASS, view,
771
 
                         set_is_active, (view, is_active));
 
703
        NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->set_is_active (view, is_active);
772
704
}
773
705
 
774
706
/**
788
720
{
789
721
        g_return_val_if_fail (NAUTILUS_IS_VIEW (view), NULL);
790
722
 
791
 
        return EEL_CALL_METHOD_WITH_RETURN_VALUE
792
 
                (NAUTILUS_VIEW_CLASS, view,
793
 
                 get_selection, (view));
 
723
        return NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->get_selection (view);
794
724
}
795
725
 
796
 
 
797
726
/**
798
727
 * nautilus_view_update_menus:
799
728
 * 
809
738
                return;
810
739
        }
811
740
 
812
 
 
813
 
        EEL_CALL_METHOD
814
 
                (NAUTILUS_VIEW_CLASS, view,
815
 
                 update_menus, (view));
 
741
        NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->update_menus (view);
816
742
 
817
743
        view->details->menu_states_untrustworthy = FALSE;
818
744
}
1552
1478
        GtkWidget *dialog;
1553
1479
        GtkWidget *label;
1554
1480
        GtkWidget *example;
1555
 
        GtkWidget *table;
 
1481
        GtkWidget *grid;
1556
1482
        GtkWidget *entry;
1557
1483
        char *example_pattern;
1558
1484
 
1572
1498
        gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), 2);
1573
1499
 
1574
1500
        label = gtk_label_new_with_mnemonic (_("_Pattern:"));
 
1501
        gtk_widget_set_halign (label, GTK_ALIGN_START);
 
1502
 
1575
1503
        example = gtk_label_new (NULL);
1576
 
        example_pattern = g_strdup_printf ("<b>%s</b><i>%s</i>", 
 
1504
        gtk_widget_set_halign (example, GTK_ALIGN_START);
 
1505
        example_pattern = g_strdup_printf ("<b>%s</b><i>%s</i> ", 
1577
1506
                                           _("Examples: "),
1578
1507
                                           "*.png, file\?\?.txt, pict*.\?\?\?");
1579
1508
        gtk_label_set_markup (GTK_LABEL (example), example_pattern);
1580
1509
        g_free (example_pattern);
1581
 
        gtk_misc_set_alignment (GTK_MISC (example), 0.0, 0.5);
 
1510
 
1582
1511
        entry = gtk_entry_new ();
1583
1512
        gtk_entry_set_activates_default (GTK_ENTRY (entry), TRUE);
1584
 
 
1585
 
        table = gtk_table_new (2, 2, FALSE);
1586
 
        
1587
 
        gtk_table_attach (GTK_TABLE (table), label,
1588
 
                          0, 1,
1589
 
                          0, 1,
1590
 
                          GTK_FILL, GTK_FILL,
1591
 
                          5, 5);
1592
 
 
1593
 
        gtk_table_attach (GTK_TABLE (table), entry,
1594
 
                          1, 2,
1595
 
                          0, 1,
1596
 
                          GTK_EXPAND | GTK_FILL, GTK_FILL,
1597
 
                          5, 5);
1598
 
 
1599
 
        gtk_table_attach (GTK_TABLE (table), example,
1600
 
                          1, 2,
1601
 
                          1, 2,
1602
 
                          GTK_FILL, GTK_FILL,
1603
 
                          5, 0);
 
1513
        gtk_widget_set_hexpand (entry, TRUE);
 
1514
 
 
1515
        grid = gtk_grid_new ();
 
1516
        g_object_set (grid,
 
1517
                      "orientation", GTK_ORIENTATION_VERTICAL,
 
1518
                      "border-width", 6,
 
1519
                      "row-spacing", 6,
 
1520
                      "column-spacing", 12,
 
1521
                      NULL);
 
1522
 
 
1523
        gtk_container_add (GTK_CONTAINER (grid), label);
 
1524
        gtk_grid_attach_next_to (GTK_GRID (grid), entry, label,
 
1525
                                 GTK_POS_RIGHT, 1, 1);
 
1526
        gtk_grid_attach_next_to (GTK_GRID (grid), example, entry,
 
1527
                                 GTK_POS_BOTTOM, 1, 1);
1604
1528
 
1605
1529
        gtk_label_set_mnemonic_widget (GTK_LABEL (label), entry);
1606
 
        gtk_widget_show_all (table);
1607
 
        gtk_container_add (GTK_CONTAINER (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), table);
 
1530
        gtk_widget_show_all (grid);
 
1531
        gtk_container_add (GTK_CONTAINER (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), grid);
1608
1532
        g_object_set_data (G_OBJECT (dialog), "entry", entry);
1609
1533
        g_signal_connect (dialog, "response",
1610
1534
                          G_CALLBACK (pattern_select_response_cb),
1681
1605
{
1682
1606
        NautilusView    *directory_view;
1683
1607
        NautilusSearchDirectory *search;
1684
 
        GtkWidget *dialog, *table, *label, *entry, *chooser, *save_button;
 
1608
        GtkWidget *dialog, *grid, *label, *entry, *chooser, *save_button;
1685
1609
        const char *entry_text;
1686
1610
        char *filename, *filename_utf8, *dirname, *path, *uri;
1687
1611
        GFile *location;
1705
1629
                gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), 2);
1706
1630
                gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE);
1707
1631
 
1708
 
                table = gtk_table_new (2, 2, FALSE);
1709
 
                gtk_container_set_border_width (GTK_CONTAINER (table), 5);
1710
 
                gtk_table_set_row_spacings (GTK_TABLE (table), 6);
1711
 
                gtk_table_set_col_spacings (GTK_TABLE (table), 12);
1712
 
                gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), table, TRUE, TRUE, 0);
1713
 
                gtk_widget_show (table);
 
1632
                grid = gtk_grid_new ();
 
1633
                g_object_set (grid,
 
1634
                              "orientation", GTK_ORIENTATION_VERTICAL,
 
1635
                              "border-width", 5,
 
1636
                              "row-spacing", 6,
 
1637
                              "column-spacing", 12,
 
1638
                              NULL);
 
1639
                gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), grid, TRUE, TRUE, 0);
 
1640
                gtk_widget_show (grid);
1714
1641
                
1715
1642
                label = gtk_label_new_with_mnemonic (_("Search _name:"));
1716
 
                gtk_misc_set_alignment (GTK_MISC(label), 0.0, 0.5);
1717
 
                gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1, GTK_FILL, 0, 0, 0);
 
1643
                gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
 
1644
                gtk_container_add (GTK_CONTAINER (grid), label);
1718
1645
                gtk_widget_show (label);
 
1646
 
1719
1647
                entry = gtk_entry_new ();
1720
 
                gtk_table_attach (GTK_TABLE (table), entry, 1, 2, 0, 1, GTK_FILL | GTK_EXPAND, 0, 0, 0);
 
1648
                gtk_widget_set_hexpand (entry, TRUE);
 
1649
                gtk_grid_attach_next_to (GTK_GRID (grid), entry, label,
 
1650
                                         GTK_POS_RIGHT, 1, 1);
1721
1651
                gtk_entry_set_activates_default (GTK_ENTRY (entry), TRUE);
1722
1652
                gtk_label_set_mnemonic_widget (GTK_LABEL (label), entry);
1723
1653
                
1728
1658
                gtk_widget_show (entry);
1729
1659
                label = gtk_label_new_with_mnemonic (_("_Folder:"));
1730
1660
                gtk_misc_set_alignment (GTK_MISC(label), 0.0, 0.5);
1731
 
                gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2, GTK_FILL, 0, 0, 0);
 
1661
                gtk_container_add (GTK_CONTAINER (grid), label);
1732
1662
                gtk_widget_show (label);
1733
1663
 
1734
1664
                chooser = gtk_file_chooser_button_new (_("Select Folder to Save Search In"),
1735
1665
                                                       GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER);
1736
 
                gtk_table_attach (GTK_TABLE (table), chooser, 1, 2, 1, 2, GTK_FILL | GTK_EXPAND, 0, 0, 0);
 
1666
                gtk_widget_set_hexpand (chooser, TRUE);
 
1667
                gtk_grid_attach_next_to (GTK_GRID (grid), chooser, label,
 
1668
                                         GTK_POS_RIGHT, 1, 1);
1737
1669
                gtk_label_set_mnemonic_widget (GTK_LABEL (label), chooser);
1738
1670
                gtk_widget_show (chooser);
1739
1671
 
1800
1732
 
1801
1733
        if (view->details->window != NULL &&
1802
1734
            view->details->active) {
1803
 
                EEL_CALL_METHOD (NAUTILUS_VIEW_CLASS, view, start_renaming_file, (view, new_file, FALSE));
 
1735
                NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->start_renaming_file (view, new_file, FALSE);
1804
1736
                nautilus_view_reveal_selection (view);
1805
1737
        }
1806
1738
 
1851
1783
        /* no need to select because start_renaming_file selects
1852
1784
         * nautilus_view_select_file (view, new_file);
1853
1785
         */
1854
 
        EEL_CALL_METHOD (NAUTILUS_VIEW_CLASS, view, start_renaming_file, (view, new_file, FALSE));
 
1786
        NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->start_renaming_file (view, new_file, FALSE);
1855
1787
        nautilus_view_reveal_selection (view);
1856
1788
}
1857
1789
 
1962
1894
}
1963
1895
 
1964
1896
static GdkPoint *
1965
 
context_menu_to_file_operation_position (NautilusView *directory_view)
 
1897
context_menu_to_file_operation_position (NautilusView *view)
1966
1898
{
1967
 
        g_return_val_if_fail (NAUTILUS_IS_VIEW (directory_view), NULL);
 
1899
        g_return_val_if_fail (NAUTILUS_IS_VIEW (view), NULL);
1968
1900
 
1969
 
        if (nautilus_view_using_manual_layout (directory_view)
1970
 
            && directory_view->details->context_menu_position.x >= 0
1971
 
            && directory_view->details->context_menu_position.y >= 0) {
1972
 
                EEL_CALL_METHOD (NAUTILUS_VIEW_CLASS, directory_view,
1973
 
                                 widget_to_file_operation_position,
1974
 
                                 (directory_view, &directory_view->details->context_menu_position));
1975
 
                return &directory_view->details->context_menu_position;
 
1901
        if (nautilus_view_using_manual_layout (view)
 
1902
            && view->details->context_menu_position.x >= 0
 
1903
            && view->details->context_menu_position.y >= 0) {
 
1904
                NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->widget_to_file_operation_position
 
1905
                        (view, &view->details->context_menu_position);
 
1906
                return &view->details->context_menu_position;
1976
1907
        } else {
1977
1908
                return NULL;
1978
1909
        }
2125
2056
                if (view->details->directory_as_file != NULL) {
2126
2057
                        files = g_list_append (NULL, nautilus_file_ref (view->details->directory_as_file));
2127
2058
 
2128
 
                        nautilus_properties_window_present (files, GTK_WIDGET (view));
 
2059
                        nautilus_properties_window_present (files, GTK_WIDGET (view), NULL);
2129
2060
 
2130
2061
                        nautilus_file_list_free (files);
2131
2062
                }
2132
2063
        } else {
2133
 
                nautilus_properties_window_present (selection, GTK_WIDGET (view));
 
2064
                nautilus_properties_window_present (selection, GTK_WIDGET (view), NULL);
2134
2065
        }
2135
2066
        nautilus_file_list_free (selection);
2136
2067
}
2149
2080
 
2150
2081
        files = g_list_append (NULL, nautilus_file_ref (view->details->location_popup_directory_as_file));
2151
2082
 
2152
 
        nautilus_properties_window_present (files, GTK_WIDGET (view));
 
2083
        nautilus_properties_window_present (files, GTK_WIDGET (view), NULL);
2153
2084
 
2154
2085
        nautilus_file_list_free (files);
2155
2086
}
2195
2126
 
2196
2127
        view = NAUTILUS_VIEW (callback_data);
2197
2128
 
2198
 
        EEL_CALL_METHOD
2199
 
                (NAUTILUS_VIEW_CLASS, view,
2200
 
                 click_policy_changed, (view));
 
2129
        NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->click_policy_changed (view);
2201
2130
}
2202
2131
 
2203
2132
gboolean
2219
2148
 
2220
2149
        if (preference_value != view->details->sort_directories_first) {
2221
2150
                view->details->sort_directories_first = preference_value;
2222
 
                EEL_CALL_METHOD
2223
 
                        (NAUTILUS_VIEW_CLASS, view,
2224
 
                         sort_directories_first_changed, (view));
 
2151
                return NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->sort_directories_first_changed (view);
2225
2152
        }
2226
2153
}
2227
2154
 
2473
2400
static void
2474
2401
nautilus_view_init (NautilusView *view)
2475
2402
{
 
2403
        AtkObject *atk_object;
2476
2404
        NautilusDirectory *scripts_directory;
2477
2405
        NautilusDirectory *templates_directory;
2478
2406
        char *templates_uri;
2479
2407
 
2480
 
        view->details = g_new0 (NautilusViewDetails, 1);
 
2408
        view->details = G_TYPE_INSTANCE_GET_PRIVATE (view, NAUTILUS_TYPE_VIEW,
 
2409
                                                     NautilusViewDetails);
2481
2410
 
2482
2411
        /* Default to true; desktop-icon-view sets to false */
2483
2412
        view->details->show_foreign_files = TRUE;
2552
2481
        g_signal_connect_swapped (nautilus_window_state,
2553
2482
                                  "changed::" NAUTILUS_WINDOW_STATE_START_WITH_STATUS_BAR,
2554
2483
                                  G_CALLBACK (nautilus_view_display_selection_info), view);
 
2484
 
 
2485
        /* Accessibility */
 
2486
        atk_object = gtk_widget_get_accessible (GTK_WIDGET (view));
 
2487
        atk_object_set_name (atk_object, _("Content View"));
 
2488
        atk_object_set_description (atk_object, _("View of the current folder"));
2555
2489
}
2556
2490
 
2557
2491
static void
2643
2577
                view->details->directory_as_file = NULL;
2644
2578
        }
2645
2579
 
2646
 
        EEL_CALL_PARENT (GTK_WIDGET_CLASS, destroy, (object));
 
2580
        GTK_WIDGET_CLASS (nautilus_view_parent_class)->destroy (object);
2647
2581
}
2648
2582
 
2649
2583
static void
2672
2606
 
2673
2607
        g_hash_table_destroy (view->details->non_ready_files);
2674
2608
 
2675
 
        g_free (view->details);
2676
 
 
2677
 
        EEL_CALL_PARENT (G_OBJECT_CLASS, finalize, (object));
 
2609
        G_OBJECT_CLASS (nautilus_view_parent_class)->finalize (object);
2678
2610
}
2679
2611
 
2680
2612
/**
3260
3192
        } else if (fad1->directory > fad2->directory) {
3261
3193
                return 1;
3262
3194
        } else {
3263
 
                return EEL_INVOKE_METHOD (NAUTILUS_VIEW_CLASS, view, compare_files,
3264
 
                                          (view, fad1->file, fad2->file));
 
3195
                return NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->compare_files (view, fad1->file, fad2->file);
3265
3196
        }
3266
3197
}
3267
3198
static void
4669
4600
}
4670
4601
 
4671
4602
static GdkPixbuf *
4672
 
get_menu_icon (const char *icon_name)
4673
 
{
4674
 
        NautilusIconInfo *info;
4675
 
        GdkPixbuf *pixbuf;
4676
 
        int size;
4677
 
 
4678
 
        size = nautilus_get_icon_size_for_stock_size (GTK_ICON_SIZE_MENU);
4679
 
 
4680
 
        if (g_path_is_absolute (icon_name)) {
4681
 
                info = nautilus_icon_info_lookup_from_path (icon_name, size);
4682
 
        } else {
4683
 
                info = nautilus_icon_info_lookup_from_name (icon_name, size);
4684
 
        }
4685
 
        pixbuf = nautilus_icon_info_get_pixbuf_nodefault_at_size (info, size);
4686
 
        g_object_unref (info);
4687
 
 
4688
 
        return pixbuf;
4689
 
}
4690
 
 
4691
 
static GdkPixbuf *
4692
4603
get_menu_icon_for_file (NautilusFile *file)
4693
4604
{
4694
4605
        NautilusIconInfo *info;
4725
4636
        action = gtk_action_new (name,
4726
4637
                                 label,
4727
4638
                                 tip,
4728
 
                                 icon);
 
4639
                                 NULL);
4729
4640
 
4730
4641
        if (icon != NULL) {
4731
 
                pixbuf = get_menu_icon (icon);
 
4642
                pixbuf = nautilus_ui_get_menu_icon (icon);
4732
4643
                if (pixbuf != NULL) {
4733
 
                        g_object_set_data_full (G_OBJECT (action), "menu-icon",
4734
 
                                                pixbuf,
4735
 
                                                g_object_unref);
 
4644
                        gtk_action_set_gicon (action, G_ICON (pixbuf));
 
4645
                        g_object_unref (pixbuf);
4736
4646
                }
4737
4647
        }
4738
4648
 
4986
4896
         * nautilus_directory_is_local returns FALSE for nfs.
4987
4897
         */
4988
4898
        directory_uri = nautilus_directory_get_uri (view->details->model);
4989
 
        if (eel_str_has_prefix (directory_uri, "file:") ||
 
4899
        if (g_str_has_prefix (directory_uri, "file:") ||
4990
4900
            eel_uri_is_desktop (directory_uri) ||
4991
4901
            eel_uri_is_trash (directory_uri)) {
4992
4902
                *file_paths = get_file_paths_as_newline_delimited_string (selected_files);
5247
5157
        int num_levels;
5248
5158
        int i;
5249
5159
 
5250
 
        if (!eel_str_has_prefix (uri, scripts_directory_uri)) {
 
5160
        if (!g_str_has_prefix (uri, scripts_directory_uri)) {
5251
5161
                return FALSE;
5252
5162
        }
5253
5163
 
6102
6012
                                 * they are always pre-selected as a whole */
6103
6013
                                select_all = nautilus_file_is_directory (file);
6104
6014
                        }
6105
 
                        EEL_CALL_METHOD (NAUTILUS_VIEW_CLASS, view, start_renaming_file, (view, file, select_all));
 
6015
                        NAUTILUS_VIEW_CLASS (G_OBJECT_GET_CLASS (view))->start_renaming_file (view, file, select_all);
6106
6016
                }
6107
6017
        }
6108
6018
 
7200
7110
 
7201
7111
        if (strcmp (gtk_action_get_name (action), NAUTILUS_ACTION_NEW_EMPTY_DOCUMENT) == 0 &&
7202
7112
            GTK_IS_IMAGE_MENU_ITEM (proxy)) {
7203
 
                pixbuf = get_menu_icon ("text-x-generic");
 
7113
                pixbuf = nautilus_ui_get_menu_icon ("text-x-generic");
7204
7114
                if (pixbuf != NULL) {
7205
7115
                        image = gtk_image_new_from_pixbuf (pixbuf);
7206
7116
                        gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (proxy), image);
7252
7162
        GtkActionGroup *action_group;
7253
7163
        GtkUIManager *ui_manager;
7254
7164
        GtkAction *action;
7255
 
        const char *ui;
7256
7165
        char *tooltip;
7257
7166
 
7258
7167
        ui_manager = nautilus_window_get_ui_manager (view->details->window);
7286
7195
        gtk_ui_manager_insert_action_group (ui_manager, action_group, -1);
7287
7196
        g_object_unref (action_group); /* owned by ui manager */
7288
7197
 
7289
 
        ui = nautilus_ui_string_get ("nautilus-directory-view-ui.xml");
7290
 
        view->details->dir_merge_id = gtk_ui_manager_add_ui_from_string (ui_manager, ui, -1, NULL);
 
7198
        view->details->dir_merge_id = gtk_ui_manager_add_ui_from_resource (ui_manager, "/org/gnome/nautilus/nautilus-directory-view-ui.xml", NULL);
7291
7199
        
7292
7200
        view->details->scripts_invalid = TRUE;
7293
7201
        view->details->templates_invalid = TRUE;
8374
8282
        show_open_alternate = file_list_all_are_folders (selection) &&
8375
8283
                selection_count > 0 &&
8376
8284
                g_settings_get_boolean (nautilus_preferences, NAUTILUS_PREFERENCES_ALWAYS_USE_BROWSER) &&
8377
 
                !(nautilus_window_get_window_type (view->details->window) == NAUTILUS_WINDOW_DESKTOP);
 
8285
                !NAUTILUS_IS_DESKTOP_ICON_VIEW (view);
8378
8286
 
8379
8287
        action = gtk_action_group_get_action (view->details->dir_action_group,
8380
8288
                                              NAUTILUS_ACTION_OPEN_ALTERNATE);
8626
8534
 
8627
8535
        eel_pop_up_context_menu (create_popup_menu 
8628
8536
                                 (view, NAUTILUS_VIEW_POPUP_PATH_SELECTION),
8629
 
                                 EEL_DEFAULT_POPUP_MENU_DISPLACEMENT,
8630
 
                                 EEL_DEFAULT_POPUP_MENU_DISPLACEMENT,
8631
8537
                                 event);
8632
8538
}
8633
8539
 
8656
8562
 
8657
8563
        eel_pop_up_context_menu (create_popup_menu 
8658
8564
                                 (view, NAUTILUS_VIEW_POPUP_PATH_BACKGROUND),
8659
 
                                 EEL_DEFAULT_POPUP_MENU_DISPLACEMENT,
8660
 
                                 EEL_DEFAULT_POPUP_MENU_DISPLACEMENT,
8661
8565
                                 event);
8662
8566
}
8663
8567
 
8671
8575
 
8672
8576
        eel_pop_up_context_menu (create_popup_menu 
8673
8577
                                 (view, NAUTILUS_VIEW_POPUP_PATH_LOCATION),
8674
 
                                 EEL_DEFAULT_POPUP_MENU_DISPLACEMENT,
8675
 
                                 EEL_DEFAULT_POPUP_MENU_DISPLACEMENT,
8676
8578
                                 view->details->location_popup_event);
8677
8579
}
8678
8580
 
9524
9426
        widget_class->scroll_event = nautilus_view_scroll_event;
9525
9427
        widget_class->parent_set = nautilus_view_parent_set;
9526
9428
 
 
9429
        g_type_class_add_private (klass, sizeof (NautilusViewDetails));
 
9430
 
9527
9431
        /* Get rid of the strange 3-pixel gap that GtkScrolledWindow
9528
9432
         * uses by default. It does us no good.
9529
9433
         */
9646
9550
        klass->trash = real_trash;
9647
9551
        klass->delete = real_delete;
9648
9552
 
9649
 
        /* Function pointers that subclasses must override */
9650
 
        EEL_ASSIGN_MUST_OVERRIDE_SIGNAL (klass, nautilus_view, add_file);
9651
 
        EEL_ASSIGN_MUST_OVERRIDE_SIGNAL (klass, nautilus_view, bump_zoom_level);
9652
 
        EEL_ASSIGN_MUST_OVERRIDE_SIGNAL (klass, nautilus_view, can_zoom_in);
9653
 
        EEL_ASSIGN_MUST_OVERRIDE_SIGNAL (klass, nautilus_view, can_zoom_out);
9654
 
        EEL_ASSIGN_MUST_OVERRIDE_SIGNAL (klass, nautilus_view, clear);
9655
 
        EEL_ASSIGN_MUST_OVERRIDE_SIGNAL (klass, nautilus_view, file_changed);
9656
 
        EEL_ASSIGN_MUST_OVERRIDE_SIGNAL (klass, nautilus_view, get_selection);
9657
 
        EEL_ASSIGN_MUST_OVERRIDE_SIGNAL (klass, nautilus_view, get_selection_for_file_transfer);
9658
 
        EEL_ASSIGN_MUST_OVERRIDE_SIGNAL (klass, nautilus_view, get_item_count);
9659
 
        EEL_ASSIGN_MUST_OVERRIDE_SIGNAL (klass, nautilus_view, is_empty);
9660
 
        EEL_ASSIGN_MUST_OVERRIDE_SIGNAL (klass, nautilus_view, reset_to_defaults);
9661
 
        EEL_ASSIGN_MUST_OVERRIDE_SIGNAL (klass, nautilus_view, restore_default_zoom_level);
9662
 
        EEL_ASSIGN_MUST_OVERRIDE_SIGNAL (klass, nautilus_view, select_all);
9663
 
        EEL_ASSIGN_MUST_OVERRIDE_SIGNAL (klass, nautilus_view, set_selection);
9664
 
        EEL_ASSIGN_MUST_OVERRIDE_SIGNAL (klass, nautilus_view, invert_selection);
9665
 
        EEL_ASSIGN_MUST_OVERRIDE_SIGNAL (klass, nautilus_view, zoom_to_level);
9666
 
        EEL_ASSIGN_MUST_OVERRIDE_SIGNAL (klass, nautilus_view, get_zoom_level);
9667
 
 
9668
9553
        copied_files_atom = gdk_atom_intern ("x-special/gnome-copied-files", FALSE);
9669
9554
 
9670
9555
        properties[PROP_WINDOW_SLOT] =