mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-11 03:10:09 +00:00
Merge branch 'matthiasc/for-master' into 'master'
Cosmetic improvements to the filebrowser demo See merge request GNOME/gtk!2015
This commit is contained in:
commit
c07ae5806e
@ -127,6 +127,7 @@
|
|||||||
</gresource>
|
</gresource>
|
||||||
<gresource prefix="/listview_filebrowser">
|
<gresource prefix="/listview_filebrowser">
|
||||||
<file>listview_filebrowser.ui</file>
|
<file>listview_filebrowser.ui</file>
|
||||||
|
<file>listview_filebrowser.css</file>
|
||||||
</gresource>
|
</gresource>
|
||||||
<gresource prefix="/listview_minesweeper">
|
<gresource prefix="/listview_minesweeper">
|
||||||
<file>listview_minesweeper.ui</file>
|
<file>listview_minesweeper.ui</file>
|
||||||
|
@ -18,6 +18,7 @@ struct _FileBrowserView
|
|||||||
|
|
||||||
GtkListItemFactory *factory;
|
GtkListItemFactory *factory;
|
||||||
char *icon_name;
|
char *icon_name;
|
||||||
|
char *title;
|
||||||
GtkOrientation orientation;
|
GtkOrientation orientation;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -25,6 +26,7 @@ enum {
|
|||||||
PROP_0,
|
PROP_0,
|
||||||
PROP_FACTORY,
|
PROP_FACTORY,
|
||||||
PROP_ICON_NAME,
|
PROP_ICON_NAME,
|
||||||
|
PROP_TITLE,
|
||||||
PROP_ORIENTATION,
|
PROP_ORIENTATION,
|
||||||
|
|
||||||
N_PROPS
|
N_PROPS
|
||||||
@ -54,6 +56,10 @@ file_browser_view_get_property (GObject *object,
|
|||||||
g_value_set_string (value, self->icon_name);
|
g_value_set_string (value, self->icon_name);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case PROP_TITLE:
|
||||||
|
g_value_set_string (value, self->title);
|
||||||
|
break;
|
||||||
|
|
||||||
case PROP_ORIENTATION:
|
case PROP_ORIENTATION:
|
||||||
g_value_set_enum (value, self->orientation);
|
g_value_set_enum (value, self->orientation);
|
||||||
break;
|
break;
|
||||||
@ -83,6 +89,11 @@ file_browser_view_set_property (GObject *object,
|
|||||||
self->icon_name = g_value_dup_string (value);
|
self->icon_name = g_value_dup_string (value);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case PROP_TITLE:
|
||||||
|
g_free (self->title);
|
||||||
|
self->title = g_value_dup_string (value);
|
||||||
|
break;
|
||||||
|
|
||||||
case PROP_ORIENTATION:
|
case PROP_ORIENTATION:
|
||||||
self->orientation = g_value_get_enum (value);
|
self->orientation = g_value_get_enum (value);
|
||||||
break;
|
break;
|
||||||
@ -100,6 +111,7 @@ file_browser_view_finalize (GObject *object)
|
|||||||
|
|
||||||
g_object_unref (self->factory);
|
g_object_unref (self->factory);
|
||||||
g_free (self->icon_name);
|
g_free (self->icon_name);
|
||||||
|
g_free (self->title);
|
||||||
|
|
||||||
G_OBJECT_CLASS (file_browser_view_parent_class)->dispose (object);
|
G_OBJECT_CLASS (file_browser_view_parent_class)->dispose (object);
|
||||||
}
|
}
|
||||||
@ -125,6 +137,12 @@ file_browser_view_class_init (FileBrowserViewClass *klass)
|
|||||||
"icon to display for selecting this view",
|
"icon to display for selecting this view",
|
||||||
NULL,
|
NULL,
|
||||||
G_PARAM_READWRITE);
|
G_PARAM_READWRITE);
|
||||||
|
properties[PROP_TITLE] =
|
||||||
|
g_param_spec_string ("title",
|
||||||
|
"title",
|
||||||
|
"title to display for selecting this view",
|
||||||
|
NULL,
|
||||||
|
G_PARAM_READWRITE);
|
||||||
properties[PROP_ORIENTATION] =
|
properties[PROP_ORIENTATION] =
|
||||||
g_param_spec_enum ("orientation",
|
g_param_spec_enum ("orientation",
|
||||||
"orientation",
|
"orientation",
|
||||||
@ -224,6 +242,14 @@ do_listview_filebrowser (GtkWidget *do_widget)
|
|||||||
GtkDirectoryList *dirlist;
|
GtkDirectoryList *dirlist;
|
||||||
GFile *file;
|
GFile *file;
|
||||||
char *cwd;
|
char *cwd;
|
||||||
|
GtkCssProvider *provider;
|
||||||
|
|
||||||
|
provider = gtk_css_provider_new ();
|
||||||
|
gtk_css_provider_load_from_resource (provider, "/listview_filebrowser/listview_filebrowser.css");
|
||||||
|
gtk_style_context_add_provider_for_display (gdk_display_get_default (),
|
||||||
|
GTK_STYLE_PROVIDER (provider),
|
||||||
|
800);
|
||||||
|
g_object_unref (provider);
|
||||||
|
|
||||||
builder = gtk_builder_new_from_resource ("/listview_filebrowser/listview_filebrowser.ui");
|
builder = gtk_builder_new_from_resource ("/listview_filebrowser/listview_filebrowser.ui");
|
||||||
window = GTK_WIDGET (gtk_builder_get_object (builder, "window"));
|
window = GTK_WIDGET (gtk_builder_get_object (builder, "window"));
|
||||||
|
11
demos/gtk-demo/listview_filebrowser.css
Normal file
11
demos/gtk-demo/listview_filebrowser.css
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
list.viewswitcher {
|
||||||
|
border: 1px solid gray;
|
||||||
|
}
|
||||||
|
|
||||||
|
list.viewswitcher > row {
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
list.viewswitcher row:selected {
|
||||||
|
background: gray;
|
||||||
|
}
|
@ -39,12 +39,14 @@
|
|||||||
</object>
|
</object>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon-name">view-list-symbolic</property>
|
<property name="icon-name">view-list-symbolic</property>
|
||||||
|
<property name="title" translatable="yes">List</property>
|
||||||
<property name="orientation">horizontal</property>
|
<property name="orientation">horizontal</property>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="FileBrowserView">
|
<object class="FileBrowserView">
|
||||||
<property name="icon-name">view-grid-symbolic</property>
|
<property name="icon-name">view-grid-symbolic</property>
|
||||||
|
<property name="title" translatable="yes">Grid</property>
|
||||||
<property name="factory">
|
<property name="factory">
|
||||||
<object class="GtkBuilderListItemFactory">
|
<object class="GtkBuilderListItemFactory">
|
||||||
<property name="bytes"><![CDATA[
|
<property name="bytes"><![CDATA[
|
||||||
@ -92,6 +94,7 @@
|
|||||||
<child>
|
<child>
|
||||||
<object class="FileBrowserView">
|
<object class="FileBrowserView">
|
||||||
<property name="icon-name">view-paged-symbolic</property>
|
<property name="icon-name">view-paged-symbolic</property>
|
||||||
|
<property name="title" translatable="yes">Paged</property>
|
||||||
<property name="factory">
|
<property name="factory">
|
||||||
<object class="GtkBuilderListItemFactory">
|
<object class="GtkBuilderListItemFactory">
|
||||||
<property name="bytes"><![CDATA[
|
<property name="bytes"><![CDATA[
|
||||||
@ -174,7 +177,7 @@
|
|||||||
<property name="show-title-buttons">1</property>
|
<property name="show-title-buttons">1</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkButton">
|
<object class="GtkButton">
|
||||||
<property name="icon-name">go-up</property>
|
<property name="icon-name">go-up-symbolic</property>
|
||||||
<signal name="clicked" handler="filebrowser_up_clicked_cb" object="dirlist" swapped="no"/>
|
<signal name="clicked" handler="filebrowser_up_clicked_cb" object="dirlist" swapped="no"/>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
@ -184,6 +187,7 @@
|
|||||||
<property name="orientation">horizontal</property>
|
<property name="orientation">horizontal</property>
|
||||||
<style>
|
<style>
|
||||||
<class name="linked"/>
|
<class name="linked"/>
|
||||||
|
<class name="viewswitcher"/>
|
||||||
</style>
|
</style>
|
||||||
<property name="model">
|
<property name="model">
|
||||||
<object class="GtkSingleSelection" id="selected-view">
|
<object class="GtkSingleSelection" id="selected-view">
|
||||||
@ -203,6 +207,11 @@
|
|||||||
<lookup name="item">GtkListItem</lookup>
|
<lookup name="item">GtkListItem</lookup>
|
||||||
</lookup>
|
</lookup>
|
||||||
</binding>
|
</binding>
|
||||||
|
<binding name="tooltip-text">
|
||||||
|
<lookup type="FileBrowserView" name="title">
|
||||||
|
<lookup name="item">GtkListItem</lookup>
|
||||||
|
</lookup>
|
||||||
|
</binding>
|
||||||
</object>
|
</object>
|
||||||
</property>
|
</property>
|
||||||
</template>
|
</template>
|
||||||
|
Loading…
Reference in New Issue
Block a user