thunar-usagebars/thunar/thunar-side-pane.c
4aiman e969f94310 thunar 4.20.2 upstream
Tree of tag thunar-4.20.2 (commit 11a519f) from https://gitlab.xfce.org/xfce/thunar.
Upstream history is not included here to keep the repository small.
2026-11-03 22:42:48 +03:00

119 lines
3.5 KiB
C

/* vi:set et ai sw=2 sts=2 ts=2: */
/*-
* Copyright (c) 2005-2006 Benedikt Meurer <benny@xfce.org>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc., 59 Temple
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "thunar/thunar-private.h"
#include "thunar/thunar-side-pane.h"
#include <libxfce4util/libxfce4util.h>
static void
thunar_side_pane_class_init (gpointer klass);
GType
thunar_side_pane_get_type (void)
{
static gsize type__static = 0;
GType type;
if (g_once_init_enter (&type__static))
{
type = g_type_register_static_simple (G_TYPE_INTERFACE,
I_ ("ThunarSidePane"),
sizeof (ThunarSidePaneIface),
(GClassInitFunc) (void (*) (void)) thunar_side_pane_class_init,
0,
NULL,
0);
g_type_interface_add_prerequisite (type, GTK_TYPE_WIDGET);
g_type_interface_add_prerequisite (type, THUNAR_TYPE_COMPONENT);
g_once_init_leave (&type__static, type);
}
return type__static;
}
static void
thunar_side_pane_class_init (gpointer klass)
{
/**
* ThunarSidePane:show-hidden:
*
* Tells whether hidden folders will be displayed in
* the #ThunarSidePane instance.
**/
g_object_interface_install_property (klass,
g_param_spec_boolean ("show-hidden",
"show-hidden",
"show-hidden",
FALSE,
EXO_PARAM_READWRITE));
}
/**
* thunar_side_pane_get_show_hidden:
* @side_pane : a #ThunarSidePane.
*
* Returns %TRUE if hidden folders are shown
* in the @side_pane.
*
* Return value: %TRUE if hidden folders are
* shown in the @side_pane.
**/
gboolean
thunar_side_pane_get_show_hidden (ThunarSidePane *side_pane)
{
_thunar_return_val_if_fail (THUNAR_IS_SIDE_PANE (side_pane), FALSE);
if (THUNAR_SIDE_PANE_GET_IFACE (side_pane)->get_show_hidden != NULL)
return (*THUNAR_SIDE_PANE_GET_IFACE (side_pane)->get_show_hidden) (side_pane);
return FALSE;
}
/**
* thunar_side_pane_set_show_hidden:
* @side_pane : a #ThunarSidePane.
* @show_hidden : %TRUE to display hidden folders.
*
* If @show_hidden is %TRUE, hidden folders will be
* shown in the @side_pane.
**/
void
thunar_side_pane_set_show_hidden (ThunarSidePane *side_pane,
gboolean show_hidden)
{
_thunar_return_if_fail (THUNAR_IS_SIDE_PANE (side_pane));
if (THUNAR_SIDE_PANE_GET_IFACE (side_pane)->set_show_hidden != NULL)
(*THUNAR_SIDE_PANE_GET_IFACE (side_pane)->set_show_hidden) (side_pane, show_hidden);
}