#include "deprecated/gtkcellrendererpixbuf.h"
#include "deprecated/gtkcellrenderertext.h"
#include "gtkdropdown.h"
+#include "gtkcolumnview.h"
#include "gtkcssnumbervalueprivate.h"
#include "gtkdragsource.h"
#include "gtkdroptarget.h"
#include "gtkmarshalers.h"
#include "gtkmessagedialog.h"
#include "gtkmountoperation.h"
+#include "gtkmultiselection.h"
#include "gtkpaned.h"
#include "gtkpathbarprivate.h"
#include "gtkplacessidebarprivate.h"
#include "gtkrecentmanager.h"
#include "gtksearchentryprivate.h"
#include "gtksettings.h"
+#include "gtksingleselection.h"
#include "gtksizegroup.h"
#include "gtksizerequest.h"
#include "gtkstack.h"
GtkWidget *browse_files_stack;
GtkWidget *browse_files_swin;
GtkWidget *browse_files_tree_view;
+ GtkWidget *browse_files_column_view;
GtkWidget *remote_warning_bar;
GtkWidget *browse_files_popover;
GtkFileSystemModel *browse_files_model;
char *browse_files_last_selected_name;
+ GtkSelectionModel *browse_files_selection_model;
+
GtkWidget *places_sidebar;
GtkWidget *places_view;
StartupMode startup_mode;
gtk_tree_view_set_rubber_banding (GTK_TREE_VIEW (impl->browse_files_tree_view), select_multiple);
+ g_clear_object (&impl->browse_files_selection_model);
+ impl->browse_files_selection_model = select_multiple
+ ? GTK_SELECTION_MODEL (gtk_multi_selection_new (G_LIST_MODEL (impl->browse_files_model)))
+ : GTK_SELECTION_MODEL (gtk_single_selection_new (G_LIST_MODEL (impl->browse_files_model)));
+
+ gtk_column_view_set_model (GTK_COLUMN_VIEW (impl->browse_files_column_view),
+ GTK_SELECTION_MODEL (impl->browse_files_selection_model));
+
impl->select_multiple = select_multiple;
g_object_notify (G_OBJECT (impl), "select-multiple");
}
_gtk_file_system_model_set_filter (impl->browse_files_model, impl->current_filter);
+ g_clear_object (&impl->browse_files_selection_model);
+ impl->browse_files_selection_model = impl->select_multiple
+ ? GTK_SELECTION_MODEL (gtk_multi_selection_new (G_LIST_MODEL (impl->browse_files_model)))
+ : GTK_SELECTION_MODEL (gtk_single_selection_new (G_LIST_MODEL (impl->browse_files_model)));
+
+ gtk_column_view_set_model (GTK_COLUMN_VIEW (impl->browse_files_column_view),
+ GTK_SELECTION_MODEL (impl->browse_files_selection_model));
+
return TRUE;
}
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, browse_files_stack);
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, places_sidebar);
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, places_view);
+ gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, browse_files_column_view);
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, browse_files_tree_view);
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, browse_files_swin);
gtk_widget_class_bind_template_child (widget_class, GtkFileChooserWidget, browse_header_revealer);
<child>
<object class="GtkStackPage">
<property name="name">list</property>
+ <property name="child">
+ <object class="GtkBox">
+ <property name="orientation">1</property>
+ <child>
+ <object class="GtkScrolledWindow">
+ <property name="hscrollbar-policy">2</property>
+ <property name="vexpand">1</property>
+ <child>
+ <object class="GtkColumnView" id="browse_files_column_view">
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkActionBar" id="remote_warning_bar2">
+ <property name="visible">0</property>
+ <child type="center">
+ <object class="GtkLabel">
+ <property name="label" translatable="yes">Remote location — only searching the current folder</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkStackPage">
+ <property name="name">list2</property>
<property name="child">
<object class="GtkBox">
<property name="orientation">1</property>