* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __GTK_FILE_CHOOSER_PRIVATE_H__
#include "gtktreemodelsort.h"
#include "gtktreestore.h"
#include "gtktreeview.h"
-#include "gtkvbox.h"
+#include "gtkbox.h"
G_BEGIN_DECLS
+#define SETTINGS_KEY_LOCATION_MODE "location-mode"
+#define SETTINGS_KEY_SHOW_HIDDEN "show-hidden"
+#define SETTINGS_KEY_SHOW_SIZE_COLUMN "show-size-column"
+#define SETTINGS_KEY_SORT_COLUMN "sort-column"
+#define SETTINGS_KEY_SORT_ORDER "sort-order"
+#define SETTINGS_KEY_WINDOW_POSITION "window-position"
+#define SETTINGS_KEY_WINDOW_SIZE "window-size"
+#define SETTINGS_KEY_SIDEBAR_WIDTH "sidebar-width"
+
#define GTK_FILE_CHOOSER_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GTK_TYPE_FILE_CHOOSER, GtkFileChooserIface))
typedef struct _GtkFileChooserIface GtkFileChooserIface;
};
GtkFileSystem *_gtk_file_chooser_get_file_system (GtkFileChooser *chooser);
-gboolean _gtk_file_chooser_set_current_folder_file (GtkFileChooser *chooser,
- GFile *file,
- GError **error);
-GFile * _gtk_file_chooser_get_current_folder_file (GtkFileChooser *chooser);
-gboolean _gtk_file_chooser_select_file (GtkFileChooser *chooser,
- GFile *file,
- GError **error);
-void _gtk_file_chooser_unselect_file (GtkFileChooser *chooser,
- GFile *file);
-GSList * _gtk_file_chooser_get_files (GtkFileChooser *chooser);
-GFile * _gtk_file_chooser_get_preview_file (GtkFileChooser *chooser);
gboolean _gtk_file_chooser_add_shortcut_folder (GtkFileChooser *chooser,
GFile *folder,
GError **error);
typedef enum {
RELOAD_EMPTY, /* No folder has been set */
- RELOAD_HAS_FOLDER, /* We have a folder, although it may not be completely loaded yet; no need to reload */
- RELOAD_WAS_UNMAPPED /* We had a folder but got unmapped; reload is needed */
+ RELOAD_HAS_FOLDER /* We have a folder, although it may not be completely loaded yet; no need to reload */
} ReloadState;
typedef enum {
struct _GtkFileChooserDefault
{
- GtkVBox parent_instance;
+ GtkBox parent_instance;
GtkFileChooserAction action;
/* Save mode widgets */
GtkWidget *save_widgets;
+ GtkWidget *save_widgets_table;
GtkWidget *save_folder_label;
- GtkWidget *save_folder_combo;
- GtkWidget *save_expander;
/* The file browsing widgets */
- GtkWidget *browse_widgets;
+ GtkWidget *browse_widgets_box;
+ GtkWidget *browse_widgets_hpaned;
+ GtkWidget *browse_header_box;
GtkWidget *browse_shortcuts_tree_view;
GtkWidget *browse_shortcuts_add_button;
GtkWidget *browse_shortcuts_remove_button;
GtkWidget *browse_files_popup_menu_add_shortcut_item;
GtkWidget *browse_files_popup_menu_hidden_files_item;
GtkWidget *browse_files_popup_menu_size_column_item;
+ GtkWidget *browse_files_popup_menu_copy_file_location_item;
+ GtkWidget *browse_files_popup_menu_visit_file_item;
GtkWidget *browse_new_folder_button;
GtkWidget *browse_path_bar_hbox;
GtkSizeGroup *browse_path_bar_size_group;
GtkWidget *browse_path_bar;
+ GtkWidget *browse_special_mode_icon;
+ GtkWidget *browse_special_mode_label;
+ GtkWidget *browse_select_a_folder_info_bar;
+ GtkWidget *browse_select_a_folder_label;
+ GtkWidget *browse_select_a_folder_icon;
GtkFileSystemModel *browse_files_model;
char *browse_files_last_selected_name;
GtkFileSystemModel *search_model;
/* OPERATION_MODE_RECENT */
- GtkWidget *recent_hbox;
GtkRecentManager *recent_manager;
GtkFileSystemModel *recent_model;
guint load_recent_id;
*/
GtkTreeModel *shortcuts_pane_filter_model;
- /* Filter for the "Save in folder" combo. We filter out the Search row and
- * its separator.
- */
- GtkTreeModel *shortcuts_combo_filter_model;
-
/* Handles */
GSList *loading_shortcuts;
GSList *reload_icon_cancellables;
GCancellable *file_list_drag_data_received_cancellable;
GCancellable *update_current_folder_cancellable;
- GCancellable *show_and_select_files_cancellable;
GCancellable *should_respond_get_info_cancellable;
GCancellable *file_exists_get_info_cancellable;
GCancellable *update_from_entry_cancellable;
GCancellable *shortcuts_activate_iter_cancellable;
- GSList *pending_cancellables;
LoadState load_state;
ReloadState reload_state;
gulong settings_signal_id;
int icon_size;
+ GSource *focus_entry_idle;
+
gulong toplevel_set_focus_id;
GtkWidget *toplevel_last_focus_widget;
guint list_sort_ascending : 1;
guint changing_folder : 1;
guint shortcuts_current_folder_active : 1;
- guint expand_folders : 1;
guint has_home : 1;
guint has_desktop : 1;
guint has_search : 1;
- guint has_recent : 1;
+ guint has_recent: 1;
guint show_size_column : 1;
guint create_folders : 1;