~ubuntu-branches/ubuntu/trusty/brasero/trusty-proposed

« back to all changes in this revision

Viewing changes to src/brasero-data-disc.c

  • Committer: Bazaar Package Importer
  • Author(s): Robert Ancell
  • Date: 2009-09-08 09:33:41 UTC
  • mto: (1.4.1 experimental)
  • mto: This revision was merged to the branch mainline in revision 52.
  • Revision ID: james.westby@ubuntu.com-20090908093341-ijo24e75x1j3hviu
Tags: upstream-2.27.92
ImportĀ upstreamĀ versionĀ 2.27.92

Show diffs side-by-side

added added

removed removed

Lines of Context:
33
33
 
34
34
#include <gtk/gtk.h>
35
35
 
 
36
#include <gconf/gconf-client.h>
 
37
 
36
38
#include "brasero-misc.h"
37
39
 
38
40
#include "eggtreemultidnd.h"
162
164
        TARGET_URIS_LIST,
163
165
};
164
166
 
 
167
#define GCONF_COLUMN_KEY                                "/apps/brasero/display/data_column"
 
168
#define GCONF_COLUMN_ORDER_KEY          "/apps/brasero/display/data_sort_order"
 
169
 
165
170
static GtkTargetEntry ntables_cd [] = {
166
171
        {BRASERO_DND_TARGET_DATA_TRACK_REFERENCE_LIST, GTK_TARGET_SAME_WIDGET, TREE_MODEL_ROW},
167
172
        {"text/uri-list", 0, TARGET_URIS_LIST}
1297
1302
        brasero_data_disc_clear (BRASERO_DISC (self));
1298
1303
}
1299
1304
 
 
1305
static 
 
1306
brasero_data_disc_sort_column_changed (GtkTreeSortable *sortable,
 
1307
                                       BraseroDataDisc *disc)
 
1308
{
 
1309
        GtkSortType sort_order;
 
1310
        GConfClient *client;
 
1311
        gint sort_column;
 
1312
 
 
1313
        gtk_tree_sortable_get_sort_column_id (sortable, &sort_column, &sort_order);
 
1314
 
 
1315
        client = gconf_client_get_default ();
 
1316
        gconf_client_set_int (client,
 
1317
                              GCONF_COLUMN_KEY,
 
1318
                              sort_column,
 
1319
                              NULL);
 
1320
        gconf_client_set_int (client,
 
1321
                              GCONF_COLUMN_ORDER_KEY,
 
1322
                              sort_order,
 
1323
                              NULL);
 
1324
}
 
1325
 
1300
1326
static BraseroDiscResult
1301
1327
brasero_data_disc_set_track (BraseroDataDisc *disc,
1302
1328
                             BraseroTrackDataCfg *track)
1305
1331
        BraseroDataDiscPrivate *priv;
1306
1332
        BraseroStatus *status;
1307
1333
        GtkWidget *message;
 
1334
        GConfClient *client;
 
1335
        gint sort_column;
 
1336
        gint sort_order;
1308
1337
 
1309
1338
        priv = BRASERO_DATA_DISC_PRIVATE (disc);
1310
1339
 
1311
1340
        priv->project = g_object_ref (track);
1312
1341
 
 
1342
        client = gconf_client_get_default ();
 
1343
        sort_column = gconf_client_get_int (client,
 
1344
                                            GCONF_COLUMN_KEY,
 
1345
                                            NULL);
 
1346
        sort_order = gconf_client_get_int (client,
 
1347
                                           GCONF_COLUMN_ORDER_KEY,
 
1348
                                           NULL);
 
1349
 
 
1350
        if ((sort_column == BRASERO_DATA_TREE_MODEL_SIZE
 
1351
        ||   sort_column == BRASERO_DATA_TREE_MODEL_MIME_DESC
 
1352
        ||   sort_column == BRASERO_DATA_TREE_MODEL_NAME)
 
1353
        && (sort_order == GTK_SORT_ASCENDING
 
1354
        ||  sort_order == GTK_SORT_DESCENDING))
 
1355
                gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (track),
 
1356
                                                      sort_column,
 
1357
                                                      sort_order);
 
1358
        g_object_unref (client);
 
1359
 
1313
1360
        /* filtered files */
1314
1361
        priv->filter = brasero_file_filtered_new (priv->project);
1315
1362
        brasero_file_filtered_set_right_button_group (BRASERO_FILE_FILTERED (priv->filter), priv->button_size);
1356
1403
                gtk_action_group_set_visible (priv->import_group, TRUE);
1357
1404
 
1358
1405
        g_signal_connect (track,
 
1406
                          "sort-column-changed",
 
1407
                          G_CALLBACK (brasero_data_disc_sort_column_changed),
 
1408
                          disc);
 
1409
 
 
1410
        g_signal_connect (track,
1359
1411
                          "2G-file",
1360
1412
                          G_CALLBACK (brasero_data_disc_2G_file_cb),
1361
1413
                          disc);
1523
1575
        }
1524
1576
 
1525
1577
        g_signal_handlers_disconnect_by_func (priv->project,
 
1578
                                              brasero_data_disc_sort_column_changed,
 
1579
                                              disc);
 
1580
        g_signal_handlers_disconnect_by_func (priv->project,
1526
1581
                                              brasero_data_disc_2G_file_cb,
1527
1582
                                              disc);
1528
1583
        g_signal_handlers_disconnect_by_func (priv->project,