~ubuntu-branches/ubuntu/utopic/pcmanfm/utopic-proposed

« back to all changes in this revision

Viewing changes to src/app-config.h

  • Committer: Package Import Robot
  • Author(s): Andriy Grytsenko
  • Date: 2014-02-25 04:07:51 UTC
  • mfrom: (1.2.6)
  • Revision ID: package-import@ubuntu.com-20140225040751-oo835klpwl58mcy4
Tags: 1.2.0-1
* Bump Standards-Version to actual one (fixes lintian warning, see QA page).
* Adding files NEWS to pcmanfm documentation.
* Bump Standards-Version to 3.9.5.
* Updating watch file to support XZ tarball format and non-numeric versions.
* Merging upstream version 1.2.0. (Closes: #656298, #731549)
* Use single docs directory for all packages.
* Raising version of libfm required to >= 1.2.0.

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
 *      app-config.h
3
3
 *
4
4
 *      Copyright 2010 - 2011 PCMan <pcman.tw@gmail.com>
 
5
 *      Copyright 2012-2014 Andriy Grytsenko (LStranger) <andrej@rep.kiev.ua>
5
6
 *
6
7
 *      This program is free software; you can redistribute it and/or modify
7
8
 *      it under the terms of the GNU General Public License as published by
27
28
#include <libfm/fm-gtk.h>
28
29
#include <gtk/gtk.h>
29
30
 
 
31
#include "pcmanfm.h"
 
32
 
30
33
G_BEGIN_DECLS
31
34
 
32
35
#define app_config   ((FmAppConfig*)fm_config)
47
50
    FM_WP_STRETCH,
48
51
    FM_WP_FIT,
49
52
    FM_WP_CENTER,
50
 
    FM_WP_TILE
 
53
    FM_WP_TILE,
 
54
    FM_WP_CROP,
 
55
    FM_WP_SCREEN
51
56
}FmWallpaperMode;
52
57
 
53
58
typedef enum
61
66
typedef struct _FmAppConfig         FmAppConfig;
62
67
typedef struct _FmAppConfigClass        FmAppConfigClass;
63
68
 
 
69
typedef struct
 
70
{
 
71
    FmWallpaperMode wallpaper_mode;
 
72
    char* wallpaper;
 
73
    char** wallpapers;
 
74
    int wallpapers_configured;
 
75
    gboolean wallpaper_common;
 
76
    gint configured : 1;
 
77
    gint changed : 1;
 
78
    GdkColor desktop_bg;
 
79
    GdkColor desktop_fg;
 
80
    GdkColor desktop_shadow;
 
81
    char* desktop_font;
 
82
    char *folder; /* NULL if default, empty if no icons, else path */
 
83
    gboolean show_wm_menu;
 
84
#if FM_CHECK_VERSION(1, 0, 2)
 
85
    FmSortMode desktop_sort_type;
 
86
    FmFolderModelCol desktop_sort_by;
 
87
#else
 
88
    GtkSortType desktop_sort_type;
 
89
    int desktop_sort_by;
 
90
#endif
 
91
#if FM_CHECK_VERSION(1, 2, 0)
 
92
    gboolean show_documents;
 
93
    gboolean show_trash;
 
94
    gboolean show_mounts;
 
95
#endif
 
96
} FmDesktopConfig;
 
97
 
 
98
typedef struct
 
99
{
 
100
    char *last_used;
 
101
    gboolean dont_ask;
 
102
} FmAutorunChoice;
 
103
 
64
104
struct _FmAppConfig
65
105
{
66
106
    FmConfig parent;
71
111
    gboolean mount_on_startup;
72
112
    gboolean mount_removable;
73
113
    gboolean autorun;
 
114
    GHashTable *autorun_choices;
74
115
 
75
116
    /* ui */
76
117
    gboolean always_show_tabs;
79
120
    int win_width;
80
121
    int win_height;
81
122
    int splitter_pos;
 
123
    gboolean media_in_new_tab;
 
124
    gboolean desktop_folder_new_win;
 
125
    gboolean change_tab_on_drop;
 
126
    gboolean close_on_unmount;
 
127
#if FM_CHECK_VERSION(1, 2, 0)
 
128
    gboolean focus_previous;
 
129
#endif
 
130
    gboolean maximized;
 
131
    gboolean pathbar_mode_buttons;
82
132
 
83
133
    FmSidePaneMode side_pane_mode;
84
134
 
85
135
    /* default values for folder views */
86
136
    guint view_mode;
87
137
    gboolean show_hidden;
 
138
#if FM_CHECK_VERSION(1, 0, 2)
 
139
    FmSortMode sort_type;
 
140
    FmFolderModelCol sort_by;
 
141
    /* list of columns formatted as name[:size] */
 
142
    char **columns;
 
143
#else
88
144
    GtkSortType sort_type;
89
145
    int sort_by;
90
 
 
91
 
    char* su_cmd;
92
 
 
93
 
    /* desktop manager */
94
 
    /* FIXME: make these setting per FmDesktop */
95
 
    /* emit "changed::wallpaper" */
96
 
    FmWallpaperMode wallpaper_mode;
97
 
    char* wallpaper;
98
 
    char** wallpapers;
99
 
    int wallpapers_configured;
100
 
    gboolean wallpaper_common;
101
 
    GdkColor desktop_bg;
102
 
    /* emit "changed::desktop_text" */
103
 
    GdkColor desktop_fg;
104
 
    GdkColor desktop_shadow;
105
 
    /* emit "changed::desktop_font" */
106
 
    char* desktop_font;
107
 
 
108
 
    gboolean show_wm_menu;
109
 
    GtkSortType desktop_sort_type;
110
 
    int desktop_sort_by;
 
146
#endif
 
147
    gboolean show_statusbar;
 
148
#if FM_CHECK_VERSION(1, 2, 0)
 
149
    char *home_path;
 
150
#endif
 
151
 
 
152
    /*char* su_cmd;*/
 
153
 
 
154
    /* pre-1.2.0 style config - common settings for all monitors */
 
155
    FmDesktopConfig desktop_section;
 
156
 
 
157
    /* toolbar settings */
 
158
    struct {
 
159
        gboolean visible : 1;
 
160
        gboolean new_win : 1;
 
161
        gboolean new_tab : 1;
 
162
        gboolean nav : 1;
 
163
        gboolean home : 1;
 
164
    } tb;
111
165
};
112
166
 
113
167
struct _FmAppConfigClass
124
178
 
125
179
void fm_app_config_save_profile(FmAppConfig* cfg, const char* name);
126
180
 
 
181
void fm_app_config_load_desktop_config(GKeyFile *kf, const char *group, FmDesktopConfig *cfg);
 
182
void fm_app_config_save_desktop_config(GString *buf, const char *group, FmDesktopConfig *cfg);
 
183
 
 
184
#if FM_CHECK_VERSION(1, 0, 2)
 
185
gboolean fm_app_config_get_config_for_path(FmPath *path, FmSortMode *mode,
 
186
                                           FmFolderModelCol *by,
 
187
                                           FmStandardViewMode *view_mode,
 
188
                                           gboolean *show_hidden,
 
189
                                           char ***columns);
 
190
void fm_app_config_save_config_for_path(FmPath *path, FmSortMode mode,
 
191
                                        FmFolderModelCol by,
 
192
                                        FmStandardViewMode view_mode,
 
193
                                        gboolean show_hidden,
 
194
                                        char **columns);
 
195
#else
 
196
gboolean fm_app_config_get_config_for_path(FmPath *path, GtkSortType *mode,
 
197
                                           gint *by, FmStandardViewMode *view_mode,
 
198
                                           gboolean *show_hidden, char ***columns);
 
199
void fm_app_config_save_config_for_path(FmPath *path, GtkSortType mode, gint by,
 
200
                                        FmStandardViewMode view_mode,
 
201
                                        gboolean show_hidden, char **columns);
 
202
#endif
 
203
void fm_app_config_clear_config_for_path(FmPath *path);
 
204
 
 
205
void fm_app_config_set_autorun_choice(FmAppConfig *cfg,
 
206
                                      const char *content_type,
 
207
                                      const char *app, gboolean dont_ask);
 
208
 
 
209
FmWallpaperMode fm_app_wallpaper_get_mode_by_name(const char *name);
 
210
const char *fm_app_wallpaper_get_mode_name(FmWallpaperMode mode);
127
211
 
128
212
G_END_DECLS
129
213