Commit Graph

595 Commits

Author SHA1 Message Date
Federico Mena Quintero
3c993547a4 filechooser: Use _gtk_file_has_native_path() throughout when testing for local_only
In the case of checking for local_only, g_file_is_native() is not useful, since it
will return FALSE for something in a FUSE mount.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2013-03-06 12:25:43 -06:00
Federico Mena Quintero
f907d16329 filechooser: Rename _gtk_file_is_path_not_local() to _gtk_file_has_native_path()
Negatives in names of boolean functions are confusing.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2013-03-06 12:07:12 -06:00
Timothy Arceri
5d32c05578 filechooser: Show FUSE mounted locations in shortcuts
Since FUSE locations can be handled safely by applications show these mounted locations regardless of whether gtk_file_chooser_set_local_only()
is set to TRUE

https://bugzilla.gnome.org/show_bug.cgi?id=586367
2013-03-06 12:05:37 -06:00
Federico Mena Quintero
65cf6295f7 filechooser: When stopping/clearing BROWSE model, really ensure that we end up in LOAD_EMPTY state
Previously we could end up in a situation where browse_list_model==NULL, and yet load_state==LOAD_FINISHED.
This is not a valid state.  So, when we get rid of the list model, really ensure that we end up
in LOAD_EMPTY so nothing assumes that there is a valid list model around.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2013-02-20 18:02:24 -06:00
Federico Mena Quintero
a070d75a2f filechooser: Tighten up some assertions when actually selecting files in the treeview
The model must be fully loaded, and it must be inserted in the treeview.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2013-02-20 17:29:05 -06:00
Federico Mena Quintero
747a514cfb filechooser: Oops, cancel a file operation that was missing
In addition, remove a list of pending_cancellables that was no longer being used.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2013-02-13 15:10:08 -06:00
Federico Mena Quintero
e6f629f2bb filechooser: Remove some unused code
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2013-02-11 20:12:32 -06:00
Federico Mena Quintero
cfb09e5654 GtkFileChooserButton: return correct selection for SELECT_FOLDER mode
The old code to load the last_folder_uri state from the settings was not actually
ensuring that the settings were read from disk.  The result was this:

1. user chooses a folder in SELECT_FOLDER mode
2. user dismisses the file chooser dialog inside a GtkFileChooserButton
3. The dialog unmaps itself and saves the last_folder_uri with the user's selection
4. The file chooser button gets queried for the selection
5. GtkFileChooserDefault sees that it is unmapped, and falls back to the last_folder_uri
6. But since that key is not ensured as read by the temporary instance of GtkFileChooserSettings,
   it returns nothing.
7. The file chooser falls back to returning the user's home directory.

However, *we don't use the last_folder_uri* anymore, for anything!  So, removed
that code and now everything falls back to ->current_folder correctly.  This
is the correct selection value for SELECT_FOLDER mode anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=674556
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2013-01-24 17:57:03 -06:00
Federico Mena Quintero
f52befa7e7 Revert "Add items to the shortcuts bar's popup menu to configure the startup mode"
Per the gtk-devel meeting on 2012/11/29, we'll not have a UI in the file chooser dialog
to select between those modes.  Instead, we'll show that key in gtweaktool.

This reverts commit 7860500bc6.
2012-12-03 14:23:17 -06:00
Federico Mena Quintero
7860500bc6 Add items to the shortcuts bar's popup menu to configure the startup mode
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2012-11-26 20:36:44 -06:00
Federico Mena Quintero
a591a15382 Switch to Recent Files or $CWD at startup
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2012-11-26 18:42:18 -06:00
Federico Mena Quintero
ebb2977a54 New settings key for the startup mode
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2012-11-26 18:13:05 -06:00
Federico Mena Quintero
925147af70 New way to show $CWD in the shortcuts
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2012-11-24 14:01:55 -06:00
Timothy Arceri
0239ee50be Remove bookmark duplicate of shortcut
Application code can set shortcut folders that are already bookmarks.
This code causes the bookmarks to be refreshed after the shortcut is
added removing any possible bookmark duplicates

https://bugzilla.gnome.org/show_bug.cgi?id=577806
2012-11-13 12:56:28 -06:00
Federico Mena Quintero
85c9b5c76a bgo#674556 - Save the file chooser's settings when the toplevel gets unmapped
In GTK+ 2, child widgets don't get unmapped, and yet, that is when we were trying to
save the settings of GtkFileChooserDefault.  Now we connect to the toplevel's
unmap signal and do the right thing there.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2012-04-23 10:45:50 -05:00
Javier Jardón
339786f078 build: require glib 2.28
As dieterv said, gtk 2.24 win32 binaries have been frozen on
glib 2.28.x, and we dont have resources rigth now to ensure pygobject
static bindings still function correctly with newer glib versions
2012-03-14 19:28:55 +00:00
Federico Mena Quintero
2bedcd8863 Use g_format_size() instead of g_format_size_for_display()
We do this like in commit 4ead7b69ea, so that apps which use the gtk2 file chooser
will show the same file sizes as gtk3 apps.
2012-03-05 17:21:55 -06:00
Alexander Larsson
e943d7d8e1 Don't show text in file selector bookmark toolbar
The text is empty anyway.
2011-11-02 14:48:21 +01:00
Michael Natterer
7be2ea823d Bug 659406 - Abstract what triggers a context menu
Add _gtk_button_event_triggers_context_menu() and use it instead
of checking for event->button == 3, so context menus are invoked
correctly on the Mac.
2011-09-19 00:32:52 +02:00
Michael Natterer
9ea7ae84fa gtk: never undo, save, commit :( sorry... 2011-09-17 19:37:08 +02:00
Michael Natterer
b057a311e7 gtk: use GTK_NO_TEXT_INPUT_MOD_MASK also in gtkfilechooserdefault.c 2011-09-17 15:25:02 +02:00
Federico Mena Quintero
2a2edc9564 bgo#658600 - Don't try to focus the location entry in Recent-files mode
We don't ever start up in Search mode, so we don't need an extra check for that mode, yet.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-09-13 15:25:52 -05:00
Federico Mena Quintero
e0f3b18c37 bgo#657949 - [filechooser] Don't ellipsize filter names for 2.24
That only works well in 3.0, where the natural-sizing code works to get us a good default size
for the filters drop-down.
2011-09-01 11:41:54 -05:00
Federico Mena Quintero
b229df22c1 bgo#657186 - Sort the recent-files list in newest-to-oldest order
Otherwise it's not very useful... :)

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-08-30 11:21:13 -05:00
Federico Mena Quintero
6e31bc1128 Load and populate the recent-items in a single pass
There's no real asynchronicity going on, anyway, so let's do both within
a single iteration of the idle handler.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-08-30 11:21:09 -05:00
Federico Mena Quintero
37f9feebd2 Don't sort the recent-items by hand
The mtime from GtkRecentManager may not the same as the file's actual
mtime, so the final result could appear unsorted to the user.  Instead,
we will let the view do the sorting.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-08-30 11:21:04 -05:00
Federico Mena Quintero
79d16aab2b Set the location mode when changing the operation mode
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-08-30 11:20:45 -05:00
Federico Mena Quintero
aa8f54b736 Switch to OPERATION_MODE_BROWSE when switching to volume or file shortcuts
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-08-30 11:20:39 -05:00
Federico Mena Quintero
70cc1add13 Remove the unused, initial-text logic from the location entry
Years ago, when the location entry only appeared in a popup window, it used to appear
populated with the current folder's path.  We had some logic to do this, but since now
the location entry appears in the main dialog, we can do away with that old code.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-08-30 11:20:31 -05:00
Federico Mena Quintero
22d84f6277 Create the location_entry in a single function
We had duplicated code to create the entry in two cases, for Open and for Save modes.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-08-30 11:20:24 -05:00
Federico Mena Quintero
dfe7018284 Only unset the entry's contents if the entry exists
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-08-30 11:20:19 -05:00
Federico Mena Quintero
388143d563 Discard the search widgets in a separate function
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-08-30 11:20:13 -05:00
Federico Mena Quintero
db9665ae08 Move the widgets above the hpaned to their own box
This way we can re-create the contents of that box easily without disrupting
the rest of the file chooser.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-08-30 11:19:58 -05:00
Federico Mena Quintero
ad82bc60ff Make operation_mode_set() handle SEARCH and RECENT modes as well
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-08-30 11:17:09 -05:00
Federico Mena Quintero
f481458576 Centralize changing the operation mode in operation_mode_set()
This will be the central function to switch operation modes:  stop searches or the recent-files
process; switch widgets, etc.

We factor out the common code from recent_switch_to_browse_mode() and search_switch_to_browse_mode(),
and remove those functions.  All the code that switched modes by hand now calls
the central operation_mode_set().

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-08-30 11:17:03 -05:00
Federico Mena Quintero
cb4b82e370 Remove duplicated code from *_switch_to_browse_mode()
That code indeed lives in operation_mode_stop(), so use it instead of
having inlined duplicates.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-08-30 11:16:58 -05:00
Federico Mena Quintero
6c51b34597 Rename stop_operation() to operation_mode_stop()
We'll now prefix functions to change the impl->operation_mode with 'operation_mode',
for clarity.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-08-30 11:16:53 -05:00
Michal Suchanek
5afa001a8d bgo#652045 - Initialize local_only in GtkFileChooserEntry
This has to be done also when we switch to the entry, otherwise completion for
non-local URIs won't work.
2011-08-17 11:01:43 -05:00
Federico Mena Quintero
119df7415e Save selection to recent-files in the asynchronous Save cases
Various paths in SAVE or CREATE_FOLDER return from ::should_respond() but
leave an asynchronous process running.  This process checks some things
in the user's selection, for example, 'does the file exist, and if so
do we need to bring up an overwrite-confirmation dialog?'.  When these
async processes complete *and* it is indeed time for the dialog to
be terminated (via the response-requested signal), we also need to
save the selection to the recently-used list - as ::should_respond() does
by itself in the cases when it can request a response immediately.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-13 16:37:37 -05:00
Federico Mena Quintero
1a3605a23f Don't dereference a NULL
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-13 15:39:20 -05:00
Federico Mena Quintero
6b0ab20bc7 Log to recent-files when confirming the file chooser
To make life easier for users, when apps don't properly update the recently-used list
after choosing a file, we now do that directly from the file chooser.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-12 18:28:53 -05:00
Federico Mena Quintero
d4b30f53d9 Hide the Create Folder button in recent-files mode when the pathbar is on
The create-folder machinery doesn't handle that case yet; we may enable it later
once we figure out the implications for the GUI.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-12 18:28:52 -05:00
Federico Mena Quintero
18e27a24a0 Centralize the setting of the pathbar's widgets
It used to be that every part of the file chooser's code would show/hide the widgets
near the pathbar as needed.  Now we have two central functions:

  path_bar_update()
  path_bar_set_mode()

These take care of all the widget shuffling;  setting the visibility of the
pathbar, info bar, and Create Folder button as appropriate; setting the contents
of the info bar, etc. - based on the current operation_mode and action.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-12 18:28:52 -05:00
Federico Mena Quintero
180774e948 Create the recently-used widgets and infobar from the pathbar widgets as well
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-12 18:28:52 -05:00
Federico Mena Quintero
fef779f3b1 Move the pathbar creation to its own function
We will centralize the place where all the pathbar-related widgets are created:
the location button, the pathbar itself, the Create Folder button, and in
subsequent commits, the info bar as well.  We will deal with the pathbar/infobar
as a unit, instead of swapping them in and out in an ad-hoc fashion.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-12 18:28:48 -05:00
Federico Mena Quintero
cd82e5ceb6 Warn the user when he still needs to type a filename or choose a folder
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-12 17:52:53 -05:00
Federico Mena Quintero
673de40aed Return the recent-folder plus filename in Save mode from get_files()
Since the GtkFileChooserEntry already gets the recent-folder set upon it when a recent-folder
is selected, it already can give us the correct fully-formed path.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-12 17:52:43 -05:00
Federico Mena Quintero
91b8043397 Set the filename entry's base folder when a recent-folder is selected
This lets the filename entry do completion relative to the selected recent-folder.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-12 17:52:21 -05:00
Federico Mena Quintero
03b50bd9a9 Instruct the user to pick a folder when nothing is selected in the recent-folders list
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-12 17:52:08 -05:00
Federico Mena Quintero
dacdb343db Put recently-used folders in the recently-used list
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-12 17:50:55 -05:00