~ubuntu-branches/ubuntu/quantal/nautilus/quantal

« back to all changes in this revision

Viewing changes to src/nautilus-list-view.c

  • Committer: Package Import Robot
  • Author(s): Sebastien Bacher
  • Date: 2012-07-24 13:00:13 UTC
  • mfrom: (299.1.1 quantal)
  • Revision ID: package-import@ubuntu.com-20120724130013-5qnys60ngsy3hom0
Tags: 1:3.5.4-0ubuntu2
* debian/patches/git_handle_space.patch:
  - "query-editor: make sure not to handle space if we're invisible"
* debian/patches/git_dont_grab_entry_focus.patch:
  - "Don't grab focus away from the search entry box"
* debian/patches/git_entry_grab_keys.patch:
  - "This fixes the search entry grabbing pasted URLs." (lp: #1026659)
* debian/patches/git_focus_on_down_key.patch:
  - "Change focus to the view on down arrow"
* debian/patches/git_desktop_dont_search_on_type.patch:
  - "Don't handle search for desktop windows" (lp: #1028028)

Show diffs side-by-side

added added

removed removed

Lines of Context:
57
57
#include <libnautilus-private/nautilus-module.h>
58
58
#include <libnautilus-private/nautilus-tree-view-drag-dest.h>
59
59
#include <libnautilus-private/nautilus-clipboard.h>
60
 
#include <libnautilus-private/nautilus-cell-renderer-text-ellipsized.h>
61
60
 
62
61
#define DEBUG_FLAG NAUTILUS_DEBUG_LIST_VIEW
63
62
#include <libnautilus-private/nautilus-debug.h>
137
136
static void   nautilus_list_view_set_zoom_level                  (NautilusListView        *view,
138
137
                                                                  NautilusZoomLevel  new_level,
139
138
                                                                  gboolean           always_set_level);
140
 
static void   nautilus_list_view_scale_font_size                 (NautilusListView        *view,
141
 
                                                                  NautilusZoomLevel  new_level);
142
139
static void   nautilus_list_view_scroll_to_file                  (NautilusListView        *view,
143
140
                                                                  NautilusFile      *file);
144
141
static void   nautilus_list_view_rename_callback                 (NautilusFile      *file,
1539
1536
{
1540
1537
        GtkCellRenderer *cell;
1541
1538
        GtkTreeViewColumn *column;
1542
 
        GtkBindingSet *binding_set;
1543
1539
        AtkObject *atk_obj;
1544
1540
        GList *nautilus_columns;
1545
1541
        GList *l;
1550
1546
                                                        g_str_equal,
1551
1547
                                                        (GDestroyNotify)g_free,
1552
1548
                                                        (GDestroyNotify) g_object_unref);
1553
 
        gtk_tree_view_set_enable_search (view->details->tree_view, TRUE);
1554
 
 
1555
 
        /* Don't handle backspace key. It's used to open the parent folder. */
1556
 
        binding_set = gtk_binding_set_by_class (GTK_WIDGET_GET_CLASS (view->details->tree_view));
1557
 
        gtk_binding_entry_remove (binding_set, GDK_KEY_BackSpace, 0);
 
1549
        gtk_tree_view_set_enable_search (view->details->tree_view, FALSE);
1558
1550
 
1559
1551
        view->details->drag_dest = 
1560
1552
                nautilus_tree_view_drag_dest_new (view->details->tree_view);
1666
1658
                        gtk_tree_view_column_set_sort_column_id (view->details->file_name_column, column_num);
1667
1659
                        gtk_tree_view_column_set_title (view->details->file_name_column, _("Name"));
1668
1660
                        gtk_tree_view_column_set_resizable (view->details->file_name_column, TRUE);
1669
 
                        
 
1661
                        gtk_tree_view_column_set_expand (view->details->file_name_column, TRUE);
 
1662
 
1670
1663
                        gtk_tree_view_column_pack_start (view->details->file_name_column, cell, FALSE);
1671
1664
                        gtk_tree_view_column_set_attributes (view->details->file_name_column,
1672
1665
                                                             cell,
1673
1666
                                                             "pixbuf", NAUTILUS_LIST_MODEL_SMALLEST_ICON_COLUMN,
1674
1667
                                                             NULL);
1675
1668
                        
1676
 
                        cell = nautilus_cell_renderer_text_ellipsized_new ();
 
1669
                        cell = gtk_cell_renderer_text_new ();
1677
1670
                        view->details->file_name_cell = (GtkCellRendererText *)cell;
 
1671
                        g_object_set (cell,
 
1672
                                      "ellipsize", PANGO_ELLIPSIZE_END,
 
1673
                                      "xpad", 5,
 
1674
                                      NULL);
 
1675
 
1678
1676
                        g_signal_connect (cell, "edited", G_CALLBACK (cell_renderer_edited), view);
1679
1677
                        g_signal_connect (cell, "editing-canceled", G_CALLBACK (cell_renderer_editing_canceled), view);
1680
1678
                        g_signal_connect (cell, "editing-started", G_CALLBACK (cell_renderer_editing_started_cb), view);
1683
1681
                        gtk_tree_view_column_set_cell_data_func (view->details->file_name_column, cell,
1684
1682
                                                                 (GtkTreeCellDataFunc) filename_cell_data_func,
1685
1683
                                                                 view, NULL);
1686
 
                } else {                
 
1684
                } else {
1687
1685
                        cell = gtk_cell_renderer_text_new ();
1688
 
                        g_object_set (cell, "xalign", xalign, NULL);
 
1686
                        g_object_set (cell,
 
1687
                                      "xalign", xalign,
 
1688
                                      "xpad", 5,
 
1689
                                      NULL);
1689
1690
                        view->details->cells = g_list_append (view->details->cells,
1690
1691
                                                              cell);
1691
1692
                        column = gtk_tree_view_column_new_with_attributes (label,
2710
2711
}
2711
2712
 
2712
2713
static void
2713
 
nautilus_list_view_scale_font_size (NautilusListView *view, 
2714
 
                                    NautilusZoomLevel new_level)
2715
 
{
2716
 
        GList *l;
2717
 
        static gboolean first_time = TRUE;
2718
 
        static double pango_scale[7];
2719
 
        int medium;
2720
 
        int i;
2721
 
 
2722
 
        g_return_if_fail (new_level >= NAUTILUS_ZOOM_LEVEL_SMALLEST &&
2723
 
                          new_level <= NAUTILUS_ZOOM_LEVEL_LARGEST);
2724
 
 
2725
 
        if (first_time) {
2726
 
                first_time = FALSE;
2727
 
                medium = NAUTILUS_ZOOM_LEVEL_SMALLER;
2728
 
                pango_scale[medium] = PANGO_SCALE_MEDIUM;
2729
 
                for (i = medium; i > NAUTILUS_ZOOM_LEVEL_SMALLEST; i--) {
2730
 
                        pango_scale[i - 1] = (1 / 1.2) * pango_scale[i];
2731
 
                }
2732
 
                for (i = medium; i < NAUTILUS_ZOOM_LEVEL_LARGEST; i++) {
2733
 
                        pango_scale[i + 1] = 1.2 * pango_scale[i];
2734
 
                }
2735
 
        }
2736
 
                                         
2737
 
        g_object_set (G_OBJECT (view->details->file_name_cell),
2738
 
                      "scale", pango_scale[new_level],
2739
 
                      NULL);
2740
 
        for (l = view->details->cells; l != NULL; l = l->next) {
2741
 
                g_object_set (G_OBJECT (l->data),
2742
 
                              "scale", pango_scale[new_level],
2743
 
                              NULL);
2744
 
        }
2745
 
}
2746
 
 
2747
 
static void
2748
2714
nautilus_list_view_set_zoom_level (NautilusListView *view,
2749
2715
                                   NautilusZoomLevel new_level,
2750
2716
                                   gboolean always_emit)
2779
2745
                                             "pixbuf", column,
2780
2746
                                             NULL);
2781
2747
 
2782
 
        /* Scale text. */
2783
 
        nautilus_list_view_scale_font_size (view, new_level);
2784
 
 
2785
2748
        /* Make all rows the same size. */
2786
2749
        icon_size = nautilus_get_icon_size_for_zoom_level (new_level);
2787
2750
        gtk_cell_renderer_set_fixed_size (GTK_CELL_RENDERER (view->details->pixbuf_cell),