Commit graph

13854 commits

Author SHA1 Message Date
Baptiste Mille-Mathias
9bc68d825f Put border around file views
https://bugzilla.gnome.org/show_bug.cgi?id=499361
2009-12-10 18:08:17 +01:00
Alexander Larsson
c6ee7553fd Put tabs at the bottom
There is way to much visual clutter at the top already, with the location
bars and toolbars.
2009-12-10 18:08:17 +01:00
Alexander Larsson
4b49aab5aa Remove location button
This takes a lot of space for something thats not commonly used.
Especially with two of it visible in split view mode.

Maybe we should make a preference for it, but its not interesting
in the main UI.
2009-12-10 18:08:17 +01:00
Holger Berndt
df70481574 Improve search button handling in split view mode
This commit fixes issues that were introduced in
merge commit e92c336df90df012746d08d9af8121edc38b0f3c
Now the escape key during temporary search toggles the search key off again,
as does changing active pane during temporary searches.
2009-12-10 18:08:17 +01:00
Holger Berndt
8bafe8109f Fix View -> Location Bar in dual pane mode.
Although each pane has a separate location bar, the show/hide location
bar setting is window-global instead of applying to individual panes:
Either both panes have a location bar, or neither one
does. Inconsistencies with remembered show/hide location bar gconf
setting were also fixed.
2009-12-10 18:08:17 +01:00
Alexander Larsson
ee3c492682 Remember extra pane status access windows.
The status of the extra pane display is remembered in a gconf key,
analog to show/hide statusbar and other window display properties. As
the extra-pane action implementation does a lot of widget and action
re-ordering, this can only be done when a windows is set up
completely, and is thus delayed in an idle-callback. If splitting the
view is to be done on startup, the showing of the window is delayed to
avoid ugly visible reordering.
2009-12-10 18:08:17 +01:00
Holger Berndt
5d236a20aa Make it possible for Nautilus Scripts to access the other pane.
This is accomplished by placing additional variables into the
environment of the script, analoguous to the single-pane ones:
 - NAUTILUS_SCRIPT_NEXT_PANE_SELECTED_FILE_PATHS
 - NAUTILUS_SCRIPT_NEXT_PANE_SELECTED_URIS
 - NAUTILUS_SCRIPT_NEXT_PANE_CURRENT_URI

If there is no second pane in the window, these are set to empty
strings.
2009-12-10 18:08:17 +01:00
Holger Berndt
09359fd13b Implement "Go to same location as other pane" menu item. 2009-12-10 18:08:17 +01:00
Holger Berndt
a0bd4bc51d Implement "Switch to other pane" menu item. 2009-12-10 18:08:17 +01:00
Holger Berndt
0a5d182ac2 Also draw background of inactive pane in insensitive color when in list view 2009-12-10 18:08:16 +01:00
Holger Berndt
2f843f0ed2 Draw background of inactive panes in INSENSITIVE color.
In order to make it easier to visually distinguish active and inactive
panes, the background of inactive panes is drawn in the theme's
INSENSITIVE color. Like the inactive location bar widgets, this is
only a visual marker, and does not mean that that pane is
insensitive. It's still clickable, and in fact a click makes the
corresponding pane active.
2009-12-10 18:08:16 +01:00
Holger Berndt
4cc909a668 Implement "{copy,move} to other pane" menus. 2009-12-10 18:06:36 +01:00
Holger Berndt
7191f6fa4f Fix tab menus in split view mode. Only the menu of the active pane is inserted. 2009-12-10 18:06:36 +01:00
Holger Berndt
c3da9152ce Make location bar more reactive, part 2: navigation bar
Followup to the last commit: The location bar of the inactive pane now
has an insensitive apprearance, but is in fact clickable/focusable. A
click makes the corresponding pane active via the focus-in event of
the entry widget.
2009-12-10 18:06:36 +01:00
Holger Berndt
689fd8e7ac Make location bar more reactive: path bar, toggle button and zoom control
The buttons in the directory button bar are made inactive when the
corresponding pane is inactive. This means that the buttons have an
insensitive appearance, but are in fact clickable. Clicking on them
will make the corresponding pane active while changing into the
respective directory.

This required the pathbar to export the button widget, done with the
new function nautilus_path_bar_get_button_from_button_list_entry().
2009-12-10 18:06:36 +01:00
Holger Berndt
531ff030ef Don't use a function to get the active slot. 2009-12-10 18:06:36 +01:00
Holger Berndt
f3390c4f9a Pass the window instead of the view to action callbacks.
With dual pane, actions may work on more than one view. Thus it makes
sense to pass the window instead of the view to the callbacks. If the
callbacks want the old behaviour, they first need to get the active
view of the window, and work with that.
2009-12-10 18:06:36 +01:00
Holger Berndt
3cb24525f5 Also active/deactive panes based on focus-in-event for list views 2009-12-10 18:06:36 +01:00
Holger Berndt
02529b8601 Propagate activation in slot-info interface 2009-12-10 18:06:36 +01:00
Holger Berndt
01e9444063 Start implementation of "add extra pane" menu item callback
Upon activating that menu item, create new pane and pack into the
split view hpane.

On deactivation, delete non-active pane.
2009-12-10 18:06:36 +01:00
Holger Berndt
8babbe1095 Add skeleton for split view.
Add a new menu item "View -> Extra pane", and corresponding skeleton
callback functions and UI containers.
2009-12-10 18:06:36 +01:00
Alexander Larsson
6fc12915c7 Move location from toolbar to pane widget 2009-12-10 18:06:35 +01:00
Holger Berndt
e1fe45ddde Move notebook from window into pane
This is another refactorisation commit. A notebook is also pane
specific, not window specific. In particular, the following function
logic has been moved:

notebook_popup_menu_move_left_cb
notebook_popup_menu_move_right_cb
notebook_popup_menu_close_cb
notebook_popup_menu_show
notebook_tab_close_requested
notebook_button_press_cb
notebook_popup_menu_cb
notebook_switch_page_cb
nautilus_navigation_window_pane_setup_notebook

The following functions have been renamed:

nautilus_navigation_window_initialize_tabs_menu to nautilus_navigation_window_pane_initialize_tabs_menu
 (also made public)

nautilus_window_get_slot_for_content_box to nautilus_window_pane_get_slot_for_content_box
2009-12-10 18:06:35 +01:00
Alexander Larsson
f14e7d4745 Move location bar entries to pane
Location bar entries are pane-specific, not window
specific. Therefore, it is neccessary to move significant parts of the
logic around, mainly from NautilusWindow to NautilusWindowPane, and
NautilusNavigationWindow to NautilisNavigationWindowPane.

In particular, the following functions have been moved into the pane:

bookmark_list_get_uri_index
restore_focus_widget
search_bar_activate_callback
search_bar_cancel_callback
navigation_bar_cancel_callback
navigation_bar_location_changed_callback
location_button_should_be_active
location_button_toggled_cb
path_bar_location_changed_callback
path_bar_button_pressed_callback
path_bar_button_released_callback
path_bar_button_drag_begin_callback
path_bar_path_set_callback
nautilus_navigation_window_show_location_bar_temporarily
nautilus_navigation_window_show_navigation_bar_temporarily
nautilus_navigation_window_path_bar_showing
nautilus_navigation_window_set_bar_mode
nautilus_navigation_window_search_bar_showing
nautilus_navigation_window_hide_location_bar
nautilus_navigation_window_show_location_bar
nautilus_navigation_window_location_bar_showing
nautilus_window_zoom_{in,out,to_level,to_default}

The location bar setup parts of nautilus_navigation_window_init() have
been moved to nautilus_navigation_window_pane_setup_location_bar.

The following fuctions have been made public:

hide_temporary_bars
load_view_as_menu
unset_focus_widget
update_up_button

Much logic of the following functions has been moved to the pane, but
the functions themselves have been left in the window as triggers:

nautilus_navigation_window_hide_temporary_bars
nautilus_window_sync_location_widgets
2009-12-10 18:06:35 +01:00
Holger Berndt
014b488d18 Use the new NautilusNavigationWindowPane class in NautilusNavigationWindow's 2009-12-10 18:06:35 +01:00
Holger Berndt
651053fec9 Add new class NautilusNavigationWindowPane, derived from NautilusWindowPane
NautilusWindowPane is the base class for window panes, while
NautilusNavigationWindowPane will add some functionality spefic to panes
in a Nautilus navigation window.
2009-12-10 18:06:35 +01:00
Alexander Larsson
e1db3d61f6 Associate basic slot functions to panes instead of windows. 2009-12-10 18:06:35 +01:00
Alexander Larsson
e7f2144e38 Move slots from NautilusWindow to NautilusWindowPane
A window does not hold lists of slots anymore, but lists of panes, which
in turn hold lists of slots, making a slot effectively a layer between
a window and a slot. Much of the remaining part of the patch is
simply replacing "window->details->active_slot" with
"window->details->active_pane->active_slot" and similar changes. Commits
to move corresponding parts of the logic out of the window into the pane
are to follow.
2009-12-10 18:06:35 +01:00
Holger Berndt
d3ee81d302 Associate a slot to a pane instead of a window
NautilusWindowSlot->window is removed and NautilusWindowSlot->pane
is added. All references to window is then replaces with ->pane->window.
2009-12-10 18:06:35 +01:00
Alexander Larsson
adc0b289f6 Add a NautilusWindowPane to all windows 2009-12-10 18:06:35 +01:00
Holger Berndt
daa113b66f Introduce concept of a NautilusWindowPane
A pane is another layer around a slot. For spatial windows, a pane
will contain a single slot. For navigation windows, a pane will contain a
list of slots, as well as a corresponding toolbar items.
2009-12-10 18:06:35 +01:00
Alexander Larsson
8e69e90733 Remove all traces of old view-as and zoom widgets 2009-12-10 18:06:35 +01:00
Alexander Larsson
14def79a4e Add a view as toolbar item using the view-as action 2009-12-10 18:06:35 +01:00
Alexander Larsson
c7aeb63442 Add NautilusViewAsAction
This is an action that makes it easy to create a view as toolbar item.
2009-12-10 18:06:35 +01:00
Alexander Larsson
bff56af563 Add NautilusWindow::view-as-changed 2009-12-10 18:06:35 +01:00
Alexander Larsson
946f377fc5 Use NautilusZoomAction to put zoom item in toolbar 2009-12-10 18:06:35 +01:00
Alexander Larsson
da25dfdc1e Add NautilusZoomAction
This is an action that can be used to easily put zoom items in
toolbars.
2009-12-10 18:06:35 +01:00
Alexander Larsson
70298f3dfc Add NautilusWindow::zoom-changed signal 2009-12-10 18:06:35 +01:00
Alexander Larsson
27b7859f2a Add VOID:INT,BOOLEAN,BOOLEAN,BOOLEAN,BOOLEAN marshaller
Needed for zoom-changed signal
2009-12-10 18:06:35 +01:00
Baptiste Mille-Mathias
3add7e368a Add border on sidebar (remove on header)
https://bugzilla.gnome.org/show_bug.cgi?id=499361
2009-12-10 18:06:35 +01:00
Alexander Larsson
49193a4079 Add shadow_type arg to eel_scrolled_wrap_table_new 2009-12-10 18:06:35 +01:00
William Jon McCann
60dd203550 Fixes to enable per-monitor backgrounds
https://bugzilla.gnome.org/show_bug.cgi?id=147808
2009-12-09 22:15:54 -05:00
Aron Xu
90b8c56e64 Update Simplified Chinese translation, 2009-12-09 14:12:57 +08:00
Alexander Larsson
2d61fcdf49 Don't leak NautilusDirectory 2009-12-08 16:28:30 +01:00
Alexander Larsson
ac9f08eb1f Don't leak NautilusDirectory 2009-12-08 16:28:13 +01:00
Alexander Larsson
8c3e5abb39 Use nautilus_directory_unref to unref directories
Its nice to have nautilus_directory_ref/unref paired for help when
debugging.
2009-12-08 16:26:57 +01:00
Alexander Larsson
18763611ef Forgot to add nautilus-extension-private.h in last commit 2009-12-07 22:21:47 +01:00
Kjartan Maraas
09877bd2c4 Updated Norwegian bokmål translation. 2009-12-05 20:30:06 +01:00
Alexander Larsson
881f208b87 Add lookup and creator functions for NautilusFileInfo objects
This has been requested by many extension developers.
2009-12-04 12:39:20 +01:00
Alexander Larsson
002bea8179 Don't change background on the initial style_set call
This results in queueing an unnecessary background change
which causes the EelBackground to be unrealized wrongly.

This fixes https://bugzilla.gnome.org/show_bug.cgi?id=578136
2009-12-04 11:49:14 +01:00