Blame gtk/gtkfilechoosersettings.h

Packit 98cdb6
/* GTK - The GIMP Toolkit
Packit 98cdb6
 * gtkfilechoosersettings.h: Internal settings for the GtkFileChooser widget
Packit 98cdb6
 * Copyright (C) 2006, Novell, Inc.
Packit 98cdb6
 *
Packit 98cdb6
 * Authors: Federico Mena-Quintero <federico@novell.com>
Packit 98cdb6
 *
Packit 98cdb6
 * This library is free software; you can redistribute it and/or
Packit 98cdb6
 * modify it under the terms of the GNU Lesser General Public
Packit 98cdb6
 * License as published by the Free Software Foundation; either
Packit 98cdb6
 * version 2 of the License, or (at your option) any later version.
Packit 98cdb6
 *
Packit 98cdb6
 * This library is distributed in the hope that it will be useful,
Packit 98cdb6
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 98cdb6
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit 98cdb6
 * Lesser General Public License for more details.
Packit 98cdb6
 *
Packit 98cdb6
 * You should have received a copy of the GNU Lesser General Public
Packit 98cdb6
 * License along with this library; if not, write to the
Packit 98cdb6
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Packit 98cdb6
 * Boston, MA 02111-1307, USA.
Packit 98cdb6
 */
Packit 98cdb6
Packit 98cdb6
#ifndef __GTK_FILE_CHOOSER_SETTINGS_H__
Packit 98cdb6
#define __GTK_FILE_CHOOSER_SETTINGS_H__
Packit 98cdb6
Packit 98cdb6
#include "gtkfilechooserprivate.h"
Packit 98cdb6
Packit 98cdb6
G_BEGIN_DECLS
Packit 98cdb6
Packit 98cdb6
#define GTK_FILE_CHOOSER_SETTINGS_TYPE (_gtk_file_chooser_settings_get_type ())
Packit 98cdb6
Packit 98cdb6
/* Column numbers for the file list */
Packit 98cdb6
enum {
Packit 98cdb6
  FILE_LIST_COL_NAME,
Packit 98cdb6
  FILE_LIST_COL_SIZE,
Packit 98cdb6
  FILE_LIST_COL_MTIME,
Packit 98cdb6
  FILE_LIST_COL_NUM_COLUMNS
Packit 98cdb6
};
Packit 98cdb6
Packit 98cdb6
typedef struct _GtkFileChooserSettings GtkFileChooserSettings;
Packit 98cdb6
typedef struct _GtkFileChooserSettingsClass GtkFileChooserSettingsClass;
Packit 98cdb6
Packit 98cdb6
struct _GtkFileChooserSettings
Packit 98cdb6
{
Packit 98cdb6
  GObject object;
Packit 98cdb6
Packit 98cdb6
  LocationMode location_mode;
Packit 98cdb6
Packit 98cdb6
  GtkSortType sort_order;
Packit 98cdb6
  gint sort_column;
Packit 98cdb6
  StartupMode startup_mode;
Packit 98cdb6
Packit 98cdb6
  int geometry_x;
Packit 98cdb6
  int geometry_y;
Packit 98cdb6
  int geometry_width;
Packit 98cdb6
  int geometry_height;
Packit 98cdb6
Packit 98cdb6
  guint settings_read    : 1;
Packit 98cdb6
  guint show_hidden      : 1;
Packit 98cdb6
  guint show_size_column : 1;
Packit 98cdb6
};
Packit 98cdb6
Packit 98cdb6
struct _GtkFileChooserSettingsClass
Packit 98cdb6
{
Packit 98cdb6
  GObjectClass parent_class;
Packit 98cdb6
};
Packit 98cdb6
Packit 98cdb6
GType _gtk_file_chooser_settings_get_type (void) G_GNUC_CONST;
Packit 98cdb6
Packit 98cdb6
GtkFileChooserSettings *_gtk_file_chooser_settings_new (void);
Packit 98cdb6
Packit 98cdb6
LocationMode _gtk_file_chooser_settings_get_location_mode (GtkFileChooserSettings *settings);
Packit 98cdb6
void         _gtk_file_chooser_settings_set_location_mode (GtkFileChooserSettings *settings,
Packit 98cdb6
							   LocationMode            location_mode);
Packit 98cdb6
Packit 98cdb6
gboolean _gtk_file_chooser_settings_get_show_hidden (GtkFileChooserSettings *settings);
Packit 98cdb6
void     _gtk_file_chooser_settings_set_show_hidden (GtkFileChooserSettings *settings,
Packit 98cdb6
						     gboolean                show_hidden);
Packit 98cdb6
Packit 98cdb6
gboolean _gtk_file_chooser_settings_get_show_size_column (GtkFileChooserSettings *settings);
Packit 98cdb6
void     _gtk_file_chooser_settings_set_show_size_column (GtkFileChooserSettings *settings,
Packit 98cdb6
                                                          gboolean                show_column);
Packit 98cdb6
Packit 98cdb6
gint _gtk_file_chooser_settings_get_sort_column (GtkFileChooserSettings *settings);
Packit 98cdb6
void _gtk_file_chooser_settings_set_sort_column (GtkFileChooserSettings *settings,
Packit 98cdb6
						 gint sort_column);
Packit 98cdb6
Packit 98cdb6
GtkSortType _gtk_file_chooser_settings_get_sort_order (GtkFileChooserSettings *settings);
Packit 98cdb6
void        _gtk_file_chooser_settings_set_sort_order (GtkFileChooserSettings *settings,
Packit 98cdb6
						       GtkSortType sort_order);
Packit 98cdb6
Packit 98cdb6
void _gtk_file_chooser_settings_get_geometry (GtkFileChooserSettings *settings,
Packit 98cdb6
					      int                    *out_x,
Packit 98cdb6
					      int                    *out_y,
Packit 98cdb6
					      int                    *out_width,
Packit 98cdb6
					      int                    *out_heigth);
Packit 98cdb6
void _gtk_file_chooser_settings_set_geometry (GtkFileChooserSettings *settings,
Packit 98cdb6
					      int                     x,
Packit 98cdb6
					      int                     y,
Packit 98cdb6
					      int                     width,
Packit 98cdb6
					      int                     heigth);
Packit 98cdb6
Packit 98cdb6
void _gtk_file_chooser_settings_set_startup_mode (GtkFileChooserSettings *settings,
Packit 98cdb6
						  StartupMode             startup_mode);
Packit 98cdb6
StartupMode _gtk_file_chooser_settings_get_startup_mode (GtkFileChooserSettings *settings);
Packit 98cdb6
Packit 98cdb6
gboolean _gtk_file_chooser_settings_save (GtkFileChooserSettings *settings,
Packit 98cdb6
					  GError                **error);
Packit 98cdb6
Packit 98cdb6
/* FIXME: persist these options:
Packit 98cdb6
 *
Packit 98cdb6
 * - paned width
Packit 98cdb6
 * - show_hidden
Packit 98cdb6
 */
Packit 98cdb6
Packit 98cdb6
G_END_DECLS
Packit 98cdb6
Packit 98cdb6
#endif