~ubuntu-branches/ubuntu/trusty/pcmanfm/trusty-proposed

« back to all changes in this revision

Viewing changes to src/edit-bookmarks.c

  • Committer: Bazaar Package Importer
  • Author(s): Andrew Lee
  • Date: 2008-09-26 10:19:20 UTC
  • mfrom: (4.1.5 intrepid)
  • Revision ID: james.westby@ubuntu.com-20080926101920-cfldybkmwgwrtv9u
Tags: 0.5-3
* Correct spellings,  03_correct_spelling.dpatch (Closes:498794) 
* Code in some files are taken from other projects, added these
  informations into copyright file. (Closes:499678)
* Applied 04_defaut_terminal.dpatch to support x-terminal-emulator
  alternative. (Closes:497494) 

Show diffs side-by-side

added added

removed removed

Lines of Context:
10
10
*
11
11
*/
12
12
 
 
13
#ifdef HAVE_CONFIG_H
 
14
#  include <config.h>
 
15
#endif
 
16
 
 
17
#include "pcmanfm.h"
 
18
 
13
19
#include "edit-bookmarks.h"
14
20
#include "ptk-bookmarks.h"
15
21
 
 
22
#include "private.h"
 
23
 
16
24
#include <gtk/gtk.h>
17
25
#include <glib.h>
18
26
#include <string.h>
19
27
 
20
 
#include "glade-support.h"
21
 
 
22
28
enum{
23
29
    COL_ICON = 0,
24
30
    COL_NAME,
40
46
    GdkPixbuf* icon = gtk_icon_theme_load_icon( gtk_icon_theme_get_default(),
41
47
                                                "gnome-fs-directory",
42
48
                                                20, 0, NULL );
 
49
    GtkWidget* dlg;
 
50
    char *path = NULL, *basename = NULL;
43
51
 
44
52
    if( gtk_tree_selection_get_selected ( sel, &model, &it ) )
45
53
    {
52
60
        tree_path = gtk_tree_path_new_first();
53
61
        pit = NULL;
54
62
    }
 
63
 
 
64
    dlg = gtk_file_chooser_dialog_new( NULL, parent,
 
65
                            GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
 
66
                            GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
 
67
                            GTK_STOCK_OK, GTK_RESPONSE_OK, NULL );
 
68
    if( gtk_dialog_run( (GtkDialog*) dlg ) == GTK_RESPONSE_OK )
 
69
    {
 
70
        path = gtk_file_chooser_get_filename( (GtkFileChooser*)dlg );
 
71
        basename = g_filename_display_basename( path );
 
72
    }
 
73
    gtk_widget_destroy( dlg );
 
74
 
55
75
    col = gtk_tree_view_get_column( view, 1 );
56
76
    gtk_list_store_insert_after( GTK_LIST_STORE(model), &new_it, pit );
57
77
    gtk_list_store_set( GTK_LIST_STORE(model), &new_it,
58
78
                        COL_ICON, icon,
59
 
                        COL_NAME, _("New Item"), -1);
 
79
                        COL_NAME, basename ? basename : _("New Item"),
 
80
                        COL_DIRPATH, path, -1);
 
81
 
 
82
    g_free( path );
 
83
    g_free( basename );
 
84
 
60
85
    if( tree_path )
61
86
    {
62
87
        gtk_tree_view_set_cursor_on_cell( view, tree_path, col, NULL, TRUE );
131
156
                                        GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
132
157
                                        GTK_STOCK_OK, GTK_RESPONSE_OK,
133
158
                                        NULL );
 
159
    gtk_dialog_set_alternative_button_order( dlg, GTK_RESPONSE_OK, GTK_RESPONSE_CANCEL, -1 );
134
160
 
135
161
    list = gtk_list_store_new( NUM_COLS, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING );
136
162
 
207
233
                        gtk_label_new(_("Use drag & drop to sort the items")),
208
234
                        FALSE, FALSE, 4 );
209
235
 
210
 
    gtk_window_set_default_size ( GTK_WINDOW(dlg), 400, 300 );
 
236
    gtk_window_set_default_size ( GTK_WINDOW(dlg), 480, 400 );
211
237
 
212
238
    gtk_widget_show_all( dlg );
213
239
    gtk_widget_grab_focus( list_view );
214
240
 
 
241
    pcmanfm_ref();
 
242
 
215
243
    if( gtk_dialog_run( GTK_DIALOG(dlg) ) == GTK_RESPONSE_OK )
216
244
    {
217
245
        l = NULL;
235
263
        }
236
264
 
237
265
        ptk_bookmarks_set( l );
238
 
        ptk_bookmarks_save();
239
266
 
240
267
        ret = TRUE;
241
268
    }
243
270
    ptk_bookmarks_unref();
244
271
 
245
272
    gtk_widget_destroy( dlg );
 
273
    pcmanfm_unref();
 
274
 
246
275
    return ret;
247
276
}
248
277