aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-shell-view.c
blob: 244eace3ab79c7bee6656dc230f925d8e0e920a2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
/* e-shell-view.c
 *
 * Copyright (C) 2000  Helix Code, Inc.
 *
 * 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.
 *
 * Authors:
 *   Ettore Perazzoli <ettore@helixcode.com>
 *   Miguel de Icaza <miguel@helixcode.com>
 *   Matt Loper <matt@helixcode.com>
 */

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include <gnome.h>
#include <bonobo.h>
#include <bonobo/bonobo-socket.h>
#include <libgnomeui/gnome-window-icon.h>

#include <gal/util/e-util.h>
#include <gal/widgets/e-gui-utils.h>
#include <gal/widgets/e-unicode.h>
#include <gal/widgets/e-scroll-frame.h>

#include "widgets/misc/e-clipped-label.h"

#include "evolution-shell-view.h"

#include "e-shell-constants.h"
#include "e-shell-folder-title-bar.h"
#include "e-shell-utils.h"
#include "e-shell.h"
#include "e-shortcuts-view.h"
#include "e-storage-set-view.h"
#include "e-title-bar.h"

#include "e-shell-view.h"
#include "e-shell-view-menu.h"

#include <gal/e-paned/e-hpaned.h>


static BonoboWinClass *parent_class = NULL;

struct _EShellViewPrivate {
    /* The shell.  */
    EShell *shell;

    /* The UI handler.  */
    BonoboUIComponent *ui_component;

    /* Currently displayed URI.  */
    char *uri;

    /* delayed selection, used when a path doesn't exist in an
           EStorage.  cleared when we're signaled with
           "folder_selected" */
    char *delayed_selection;

    /* The widgetry.  */
    GtkWidget *appbar;
    GtkWidget *hpaned;
    GtkWidget *view_vbox;
    GtkWidget *view_title_bar;
    GtkWidget *view_hpaned;
    GtkWidget *contents;
    GtkWidget *notebook;
    GtkWidget *shortcut_bar;
    GtkWidget *storage_set_title_bar;
    GtkWidget *storage_set_view;
    GtkWidget *storage_set_view_box;
    GtkWidget *progress_bar;

    /* The view we have already open.  */
    GHashTable *uri_to_control;

    /* Position of the handles in the paneds, to be restored when we show elements
           after hiding them.  */
    unsigned int hpaned_position;
    unsigned int view_hpaned_position;

    /* Status of the shortcut and folder bars.  */
    EShellViewSubwindowMode shortcut_bar_mode;
    EShellViewSubwindowMode folder_bar_mode;

    /* Timeout ID for the progress bar.  */
    int progress_bar_timeout_id;

    /* Status of the progress bar.  */
    int progress_bar_value;

    /* List of sockets we created.  */
    GList *sockets;
};

enum {
    SHORTCUT_BAR_MODE_CHANGED,
    FOLDER_BAR_MODE_CHANGED,
    LAST_SIGNAL
};

static guint signals[LAST_SIGNAL] = { 0 };

#define DEFAULT_SHORTCUT_BAR_WIDTH 100
#define DEFAULT_TREE_WIDTH         130

#define DEFAULT_WIDTH 705
#define DEFAULT_HEIGHT 550

#define DEFAULT_URI "evolution:/local/Inbox"


/* Utility functions.  */

static GtkWidget *
create_label_for_empty_page (void)
{
    GtkWidget *label;

    label = e_clipped_label_new (_("(No folder displayed)"));
    gtk_widget_show (label);

    return label;
}

/* FIXME this is broken.  */
static gboolean
bonobo_widget_is_dead (BonoboWidget *bonobo_widget)
{
    BonoboControlFrame *control_frame;
    CORBA_Object corba_object;
    CORBA_Environment ev;
    gboolean is_dead;

    control_frame = bonobo_widget_get_control_frame (bonobo_widget);
    corba_object = bonobo_control_frame_get_control (control_frame);

    CORBA_exception_init (&ev);
    is_dead = CORBA_Object_non_existent (corba_object, &ev);
    CORBA_exception_free (&ev);

    return is_dead;
}


/* Folder bar pop-up handling.  */

static void disconnect_popup_signals (EShellView *shell_view);

static void
popdown_transient_folder_bar (EShellView *shell_view)
{
    EShellViewPrivate *priv;

    priv = shell_view->priv;

    gdk_pointer_ungrab (GDK_CURRENT_TIME);
    gtk_grab_remove (priv->storage_set_view_box);

    e_shell_view_set_folder_bar_mode (shell_view, E_SHELL_VIEW_SUBWINDOW_HIDDEN);

    disconnect_popup_signals (shell_view);

    e_shell_folder_title_bar_set_toggle_state (E_SHELL_FOLDER_TITLE_BAR (priv->view_title_bar), FALSE);
}

static void
storage_set_view_box_button_release_event_cb (GtkWidget *widget,
                          GdkEventButton *button_event,
                          void *data)
{
    EShellView *shell_view;

    shell_view = E_SHELL_VIEW (data);

    puts (__FUNCTION__);

    popdown_transient_folder_bar (shell_view);
}

static void
popup_storage_set_view_button_clicked (ETitleBar *title_bar,
                       void *data)
{
    EShellView *shell_view;
    EShellViewPrivate *priv;

    shell_view = E_SHELL_VIEW (data);
    priv = shell_view->priv;

    gdk_pointer_ungrab (GDK_CURRENT_TIME);
    gtk_grab_remove (priv->storage_set_view_box);

    disconnect_popup_signals (shell_view);

    e_shell_view_set_folder_bar_mode (shell_view, E_SHELL_VIEW_SUBWINDOW_STICKY);
    e_shell_folder_title_bar_set_toggle_state (E_SHELL_FOLDER_TITLE_BAR (priv->view_title_bar), FALSE);
}

static void
storage_set_view_box_map_cb (GtkWidget *widget,
                 void *data)
{
    EShellView *shell_view;
    EShellViewPrivate *priv;

    shell_view = E_SHELL_VIEW (data);
    priv = shell_view->priv;

    if (gdk_pointer_grab (widget->window, TRUE,
                  (GDK_BUTTON_PRESS_MASK
                   | GDK_BUTTON_RELEASE_MASK
                   | GDK_ENTER_NOTIFY_MASK
                   | GDK_LEAVE_NOTIFY_MASK
                   | GDK_POINTER_MOTION_MASK),
                  NULL, NULL, GDK_CURRENT_TIME) != 0) {
        g_warning ("%s -- pointer grab failed.", __FUNCTION__);
        e_shell_view_set_folder_bar_mode (shell_view, E_SHELL_VIEW_SUBWINDOW_STICKY);
        return;
    }

    gtk_grab_add (widget);
    gtk_signal_connect (GTK_OBJECT (widget), "button_release_event",
                GTK_SIGNAL_FUNC (storage_set_view_box_button_release_event_cb), shell_view);
    gtk_signal_connect (GTK_OBJECT (priv->storage_set_view), "button_release_event",
                GTK_SIGNAL_FUNC (storage_set_view_box_button_release_event_cb), shell_view);
    gtk_signal_connect (GTK_OBJECT (priv->storage_set_title_bar), "button_clicked",
                GTK_SIGNAL_FUNC (popup_storage_set_view_button_clicked), shell_view);
}

static void
disconnect_popup_signals (EShellView *shell_view)
{
    EShellViewPrivate *priv;

    priv = shell_view->priv;

    gtk_signal_disconnect_by_func (GTK_OBJECT (priv->storage_set_view_box),
                       GTK_SIGNAL_FUNC (storage_set_view_box_button_release_event_cb),
                       shell_view);
    gtk_signal_disconnect_by_func (GTK_OBJECT (priv->storage_set_view),
                       GTK_SIGNAL_FUNC (storage_set_view_box_button_release_event_cb),
                       shell_view);
    gtk_signal_disconnect_by_func (GTK_OBJECT (priv->storage_set_title_bar),
                       GTK_SIGNAL_FUNC (popup_storage_set_view_button_clicked),
                       shell_view);
    gtk_signal_disconnect_by_func (GTK_OBJECT (priv->storage_set_view_box),
                       GTK_SIGNAL_FUNC (storage_set_view_box_map_cb),
                       shell_view);
}

static void
pop_up_folder_bar (EShellView *shell_view)
{
    EShellViewPrivate *priv;

    priv = shell_view->priv;

    priv->folder_bar_mode = E_SHELL_VIEW_SUBWINDOW_TRANSIENT;

    /* We need to show the storage set view box and do a pointer grab to catch the
           mouse clicks.  But until the box is shown, we cannot grab.  So we connect to
           the "map" signa; `storage_set_view_box_map_cb' will do the grab.  */

    gtk_signal_connect (GTK_OBJECT (priv->storage_set_view_box), "map",
                GTK_SIGNAL_FUNC (storage_set_view_box_map_cb), shell_view);
    gtk_widget_show (priv->storage_set_view_box);

    e_paned_set_position (E_PANED (priv->view_hpaned), priv->view_hpaned_position);
}


/* Callbacks.  */

/* Callback when a new folder is added.  removed when we clear the
   delayed_selection */
static void
new_folder_cb (EStorageSet *storage_set,
           const char *path,
           void *data)
{
    EShellView *shell_view;
    EShellViewPrivate *priv;
    char *delayed_path;

    shell_view = E_SHELL_VIEW (data);
    priv = shell_view->priv;

    delayed_path = strchr (priv->delayed_selection, ':');
    if (delayed_path) {
        delayed_path ++;
        if (!strcmp(path, delayed_path)) {
            gtk_signal_disconnect_by_func (GTK_OBJECT (e_shell_get_storage_set(priv->shell)),
                               GTK_SIGNAL_FUNC (new_folder_cb),
                               shell_view);
            g_free (priv->uri);
            priv->uri = priv->delayed_selection;
            priv->delayed_selection = NULL;
            e_shell_view_display_uri (shell_view, priv->uri);
        }
    }
}

/* Callback called when an icon on the shortcut bar gets clicked.  */
static void
activate_shortcut_cb (EShortcutsView *shortcut_view,
              EShortcuts *shortcuts,
              const char *uri,
              void *data)
{
    EShellView *shell_view;

    shell_view = E_SHELL_VIEW (data);

    e_shell_view_display_uri (shell_view, uri);
}

/* Callback called when a folder on the tree view gets clicked.  */
static void
folder_selected_cb (EStorageSetView *storage_set_view,
            const char *path,
            void *data)
{
    EShellView *shell_view;
    EShellViewPrivate *priv;

    char *uri;

    shell_view = E_SHELL_VIEW (data);
    priv = shell_view->priv;

    uri = g_strconcat (E_SHELL_URI_PREFIX, path, NULL);
    e_shell_view_display_uri (shell_view, uri);
    g_free (uri);

    if (priv->delayed_selection) {
        g_free (priv->delayed_selection);
        priv->delayed_selection = NULL;
        gtk_signal_disconnect_by_func (GTK_OBJECT (e_shell_get_storage_set(priv->shell)),
                           GTK_SIGNAL_FUNC (new_folder_cb),
                           shell_view);
    }

    if (priv->folder_bar_mode == E_SHELL_VIEW_SUBWINDOW_TRANSIENT)
        popdown_transient_folder_bar (shell_view);
}

/* Callback called when the button on the tree's title bar is clicked.  */
static void
storage_set_view_button_clicked_cb (ETitleBar *title_bar,
                    void *data)
{
    EShellView *shell_view;

    shell_view = E_SHELL_VIEW (data);

    e_shell_view_set_folder_bar_mode (shell_view, E_SHELL_VIEW_SUBWINDOW_HIDDEN);
}

/* Callback called when the title bar button has been pressed.  */
static void
title_bar_toggled_cb (EShellFolderTitleBar *title_bar,
              gboolean state,
              void *data)
{
    EShellView *shell_view;

    shell_view = E_SHELL_VIEW (data);

    if (! state)
        return;

    if (e_shell_view_get_folder_bar_mode (shell_view) != E_SHELL_VIEW_SUBWINDOW_TRANSIENT)
        pop_up_folder_bar (shell_view);
}


/* Widget setup.  */

static void
setup_storage_set_subwindow (EShellView *shell_view)
{
    EShellViewPrivate *priv;
    GtkWidget *storage_set_view;
    GtkWidget *vbox;
    GtkWidget *scroll_frame;

    priv = shell_view->priv;

    storage_set_view = e_storage_set_view_new (e_shell_get_storage_set (priv->shell));
    gtk_signal_connect (GTK_OBJECT (storage_set_view), "folder_selected",
                GTK_SIGNAL_FUNC (folder_selected_cb), shell_view);

    scroll_frame = e_scroll_frame_new (NULL, NULL);
    e_scroll_frame_set_policy (E_SCROLL_FRAME (scroll_frame), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
    e_scroll_frame_set_shadow_type (E_SCROLL_FRAME (scroll_frame), GTK_SHADOW_IN);

    gtk_container_add (GTK_CONTAINER (scroll_frame), storage_set_view);

    vbox = gtk_vbox_new (FALSE, 0);
    priv->storage_set_title_bar = e_title_bar_new (_("Folders"));

    gtk_box_pack_start (GTK_BOX (vbox), priv->storage_set_title_bar, FALSE, FALSE, 0);
    gtk_box_pack_start (GTK_BOX (vbox), scroll_frame, TRUE, TRUE, 0);

    gtk_signal_connect (GTK_OBJECT (priv->storage_set_title_bar), "button_clicked",
                GTK_SIGNAL_FUNC (storage_set_view_button_clicked_cb), shell_view);

    gtk_widget_show (vbox);
    gtk_widget_show (storage_set_view);
    gtk_widget_show (priv->storage_set_title_bar);
    gtk_widget_show (scroll_frame);

    priv->storage_set_view_box = vbox;
    priv->storage_set_view = storage_set_view;
}

static void
setup_progress_bar (EShellViewPrivate *priv)
{
    GtkProgressBar *progress_bar;
    BonoboControl  *control;

    progress_bar = (GTK_PROGRESS_BAR (gtk_progress_bar_new ()));

    gtk_progress_bar_set_orientation (progress_bar, GTK_PROGRESS_LEFT_TO_RIGHT);
    gtk_progress_bar_set_bar_style (progress_bar, GTK_PROGRESS_CONTINUOUS);
    
    priv->progress_bar = GTK_WIDGET (progress_bar);
    gtk_widget_show (priv->progress_bar);

    control = bonobo_control_new (priv->progress_bar);
    g_return_if_fail (control != NULL);

    bonobo_ui_component_object_set (priv->ui_component, "/status/Progress",
                    bonobo_object_corba_objref (BONOBO_OBJECT (control)),
                    NULL);
}

static void
setup_widgets (EShellView *shell_view)
{
    EShellViewPrivate *priv;

    priv = shell_view->priv;

    /* The progress bar.  */

    setup_progress_bar (priv);

    /* The shortcut bar.  */

    priv->shortcut_bar = e_shortcuts_new_view (e_shell_get_shortcuts (priv->shell));
    gtk_signal_connect (GTK_OBJECT (priv->shortcut_bar), "activate_shortcut",
                GTK_SIGNAL_FUNC (activate_shortcut_cb), shell_view);

    /* The storage set view.  */

    setup_storage_set_subwindow (shell_view);

    /* The tabless notebook which we used to contain the views.  */

    priv->notebook = gtk_notebook_new ();
    gtk_notebook_set_show_border (GTK_NOTEBOOK (priv->notebook), FALSE);
    gtk_notebook_set_show_tabs (GTK_NOTEBOOK (priv->notebook), FALSE);

    /* Page for "No URL displayed" message.  */

    gtk_notebook_append_page (GTK_NOTEBOOK (priv->notebook), create_label_for_empty_page (), NULL);

    /* Put things into a paned and the paned into the GnomeApp.  */

    priv->view_vbox = gtk_vbox_new (FALSE, 0);
    gtk_container_set_border_width (GTK_CONTAINER (priv->view_vbox), 2);

    priv->view_title_bar = e_shell_folder_title_bar_new ();
    gtk_signal_connect (GTK_OBJECT (priv->view_title_bar), "title_toggled",
                GTK_SIGNAL_FUNC (title_bar_toggled_cb), shell_view);

    priv->view_hpaned = e_hpaned_new ();
    e_paned_add1 (E_PANED (priv->view_hpaned), priv->storage_set_view_box);
    e_paned_add2 (E_PANED (priv->view_hpaned), priv->notebook);
    e_paned_set_position (E_PANED (priv->view_hpaned), DEFAULT_TREE_WIDTH);

    gtk_box_pack_start (GTK_BOX (priv->view_vbox), priv->view_title_bar,
                FALSE, FALSE, 0);
    gtk_box_pack_start (GTK_BOX (priv->view_vbox), priv->view_hpaned,
                TRUE, TRUE, 2);

    priv->hpaned = e_hpaned_new ();
    e_paned_add1 (E_PANED (priv->hpaned), priv->shortcut_bar);
    e_paned_add2 (E_PANED (priv->hpaned), priv->view_vbox);
    e_paned_set_position (E_PANED (priv->hpaned), DEFAULT_SHORTCUT_BAR_WIDTH);

    bonobo_win_set_contents (BONOBO_WIN (shell_view), priv->hpaned);

    /* Show stuff.  */

    gtk_widget_show (priv->shortcut_bar);
    gtk_widget_show (priv->storage_set_view);
    gtk_widget_show (priv->storage_set_view_box);
    gtk_widget_show (priv->notebook);
    gtk_widget_show (priv->hpaned);
    gtk_widget_show (priv->view_hpaned);
    gtk_widget_show (priv->view_vbox);
    gtk_widget_show (priv->view_title_bar);

    /* By default, both the folder bar and shortcut bar are visible.  */
    priv->shortcut_bar_mode = E_SHELL_VIEW_SUBWINDOW_STICKY;
    priv->folder_bar_mode   = E_SHELL_VIEW_SUBWINDOW_STICKY;

    /* FIXME: Session management and stuff?  */
    gtk_window_set_default_size (GTK_WINDOW (shell_view), DEFAULT_WIDTH, DEFAULT_HEIGHT);
}


/* GtkObject methods.  */

static void
hash_forall_destroy_control (void *name,
                 void *value,
                 void *data)
{
    BonoboWidget *bonobo_widget;

    bonobo_widget = BONOBO_WIDGET (value);
    gtk_widget_destroy (GTK_WIDGET (bonobo_widget));

    g_free (name);
}

static void
destroy (GtkObject *object)
{
    EShellView *shell_view;
    EShellViewPrivate *priv;
    GList *p;

    shell_view = E_SHELL_VIEW (object);
    priv = shell_view->priv;

    for (p = priv->sockets; p != NULL; p = p->next) {
        GtkWidget *socket_widget;
        int destroy_connection_id;

        socket_widget = GTK_WIDGET (p->data);
        destroy_connection_id = GPOINTER_TO_INT (gtk_object_get_data (GTK_OBJECT (socket_widget),
                                          "e_shell_view_destroy_connection_id"));
        gtk_signal_disconnect (GTK_OBJECT (socket_widget), destroy_connection_id);
    }

    g_hash_table_foreach (priv->uri_to_control, hash_forall_destroy_control, NULL);
    g_hash_table_destroy (priv->uri_to_control);

    bonobo_object_unref (BONOBO_OBJECT (priv->ui_component));

    g_free (priv->uri);

    if (priv->progress_bar_timeout_id != 0)
        gtk_timeout_remove (priv->progress_bar_timeout_id);

    g_free (priv);

    (* GTK_OBJECT_CLASS (parent_class)->destroy) (object);
}

/* Unrealize handler */
static void
unrealize (GtkWidget *widget)
{
    /* We flush so that all the destroy window requests for foreign windows
     * get sent over the X wire.  Hopefully this will diminish the chance of
     * hitting the CORBA (sync) vs. Xlib (async) race conditions.  This is
     * not the complete fix, which should actually be put in Bonobo and
     * completed.  FIXME.
     */
    gdk_flush ();
}

static  int
delete_event (GtkWidget *widget,
          GdkEventAny *event)
{
    EShell *shell;

    shell = e_shell_view_get_shell (E_SHELL_VIEW (widget));
/*      e_shell_quit (shell); */

    /* FIXME: Is this right, or should it be FALSE? */
    return FALSE;
}


/* Initialization.  */

static void
class_init (EShellViewClass *klass)
{
    GtkObjectClass *object_class;

    object_class = (GtkObjectClass *) klass;

    object_class->destroy = destroy;

    parent_class = gtk_type_class (BONOBO_TYPE_WIN);

    signals[SHORTCUT_BAR_MODE_CHANGED]
        = gtk_signal_new ("shortcut_bar_mode_changed",
                  GTK_RUN_FIRST,
                  object_class->type,
                  GTK_SIGNAL_OFFSET (EShellViewClass, shortcut_bar_mode_changed),
                  gtk_marshal_NONE__INT,
                  GTK_TYPE_NONE, 1,
                  GTK_TYPE_INT);

    signals[FOLDER_BAR_MODE_CHANGED]
        = gtk_signal_new ("folder_bar_mode_changed",
                  GTK_RUN_FIRST,
                  object_class->type,
                  GTK_SIGNAL_OFFSET (EShellViewClass, folder_bar_mode_changed),
                  gtk_marshal_NONE__INT,
                  GTK_TYPE_NONE, 1,
                  GTK_TYPE_INT);

    gtk_object_class_add_signals (object_class, signals, LAST_SIGNAL);
}

static void
init (EShellView *shell_view)
{
    EShellViewPrivate *priv;

    priv = g_new (EShellViewPrivate, 1);

    priv->shell                   = NULL;
    priv->ui_component            = NULL;
    priv->uri                     = NULL;
    priv->delayed_selection       = NULL;

    priv->appbar                  = NULL;
    priv->hpaned                  = NULL;
    priv->view_hpaned             = NULL;
    priv->contents                = NULL;
    priv->notebook                = NULL;

    priv->storage_set_title_bar   = NULL;
    priv->storage_set_view        = NULL;
    priv->storage_set_view_box    = NULL;
    priv->shortcut_bar            = NULL;

    priv->shortcut_bar_mode       = E_SHELL_VIEW_SUBWINDOW_HIDDEN;
    priv->folder_bar_mode         = E_SHELL_VIEW_SUBWINDOW_HIDDEN;

    priv->hpaned_position         = 0;
    priv->view_hpaned_position    = 0;

    priv->uri_to_control          = g_hash_table_new (g_str_hash, g_str_equal);

    priv->progress_bar_timeout_id = 0;
    priv->progress_bar_value      = 0;
    priv->sockets             = NULL;

    shell_view->priv = priv;
}


/* Progress bar handling.  */

#define PROGRESS_BAR_TIMEOUT 80

static int
progress_bar_timeout_cb (void *data)
{
    EShellView *shell_view;
    EShellViewPrivate *priv;
    GtkWidget *progress_bar;

    shell_view = E_SHELL_VIEW (data);
    priv = shell_view->priv;
    progress_bar = priv->progress_bar;

    priv->progress_bar_value = ! priv->progress_bar_value;
    gtk_progress_set_value (GTK_PROGRESS (progress_bar), priv->progress_bar_value);

    return TRUE;
}

static void
start_progress_bar (EShellView *shell_view)
{
    EShellViewPrivate *priv;
    GtkProgress *progress;

    priv = shell_view->priv;

    progress = GTK_PROGRESS (priv->progress_bar);

    if (priv->progress_bar_timeout_id != 0)
        return;

    priv->progress_bar_timeout_id = gtk_timeout_add (PROGRESS_BAR_TIMEOUT, progress_bar_timeout_cb, shell_view);

    gtk_progress_set_activity_mode (progress, TRUE);
    gtk_progress_set_value (progress, priv->progress_bar_value);
}

static void
stop_progress_bar (EShellView *shell_view)
{
    EShellViewPrivate *priv;
    GtkWidget *progress_bar;

    priv = shell_view->priv;
    progress_bar = priv->progress_bar;

    if (priv->progress_bar_timeout_id != 0) {
        gtk_timeout_remove (priv->progress_bar_timeout_id);
        priv->progress_bar_timeout_id = 0;
    }

    gtk_progress_set_activity_mode (GTK_PROGRESS (progress_bar), FALSE);
    gtk_progress_set_value (GTK_PROGRESS (progress_bar), 0);
}


/* EvolutionShellView interface callbacks.  */

static void
shell_view_interface_set_message_cb (EvolutionShellView *shell_view,
                     const char *message,
                     gboolean busy,
                     void *data)
{
    char *status;
    EShellView *view;

    view = E_SHELL_VIEW (data);

    g_return_if_fail (view != NULL);

    if (message != NULL) {
        const char *newline;
        
        newline = strchr (message, '\n');
        if (newline == NULL)
            status = g_strdup (message);
        else
            status = g_strndup (message, newline - message);
    } else {
        status = g_strdup ("");
    }

    bonobo_ui_component_set_status (view->priv->ui_component, status, NULL);

    g_free (status);

    if (busy)
        start_progress_bar (E_SHELL_VIEW (data));
    else
        stop_progress_bar (E_SHELL_VIEW (data));
}

static void
shell_view_interface_unset_message_cb (EvolutionShellView *shell_view,
                       void *data)
{
    EShellView *view;

    view = E_SHELL_VIEW (data);

    g_return_if_fail (view != NULL);

    bonobo_ui_component_set_status (view->priv->ui_component, "", NULL);

    stop_progress_bar (E_SHELL_VIEW (data));
}


EShellView *
e_shell_view_construct (EShellView *shell_view,
            EShell     *shell)
{
    EShellViewPrivate *priv;
    EShellView *view;
    GtkObject *window;
    BonoboUIContainer *container;

    g_return_val_if_fail (shell != NULL, NULL);
    g_return_val_if_fail (shell_view != NULL, NULL);
    g_return_val_if_fail (E_IS_SHELL (shell), NULL);
    g_return_val_if_fail (E_IS_SHELL_VIEW (shell_view), NULL);

    priv = shell_view->priv;

    view = E_SHELL_VIEW (bonobo_win_construct (BONOBO_WIN (shell_view), "evolution", "Evolution"));

    if (!view) {
        gtk_object_unref (GTK_OBJECT (shell_view));
        return NULL;
    }       

    window = GTK_OBJECT (view);
    gtk_signal_connect_after (window, "unrealize",
                  (GtkSignalFunc) unrealize, NULL);

    gtk_signal_connect (window, "delete_event",
                (GtkSignalFunc) delete_event, NULL);

    priv->shell = shell;

    container = bonobo_ui_container_new ();
    bonobo_ui_container_set_win (container, BONOBO_WIN (shell_view));

    priv->ui_component = bonobo_ui_component_new ("evolution");
    bonobo_ui_component_set_container (priv->ui_component,
                       bonobo_object_corba_objref (BONOBO_OBJECT (container)));

    bonobo_ui_component_freeze (priv->ui_component, NULL);

    bonobo_ui_util_set_ui (priv->ui_component, EVOLUTION_DATADIR,
                   "evolution.xml", "evolution");

    setup_widgets (shell_view);

    e_shell_view_menu_setup (shell_view);

    e_shell_view_set_folder_bar_mode (shell_view, E_SHELL_VIEW_SUBWINDOW_HIDDEN);

    bonobo_ui_component_thaw (priv->ui_component, NULL);

    return view;
}

EShellView *
e_shell_view_new (EShell *shell)
{
    GtkWidget *new;

    g_return_val_if_fail (shell != NULL, NULL);
    g_return_val_if_fail (E_IS_SHELL (shell), NULL);

    new = gtk_type_new (e_shell_view_get_type ());

    return e_shell_view_construct (E_SHELL_VIEW (new), shell);
}


static const char *
get_storage_set_path_from_uri (const char *uri)
{
    const char *colon;

    if (uri == NULL)
        return NULL;

    if (g_path_is_absolute (uri))
        return NULL;

    colon = strchr (uri, ':');
    if (colon == NULL || colon == uri || colon[1] == '\0')
        return NULL;

    if (! g_path_is_absolute (colon + 1))
        return NULL;

    if (g_strncasecmp (uri, E_SHELL_URI_PREFIX, colon - uri) != 0)
        return NULL;

    return colon + 1;
}

static void
update_window_icon (EShellView *shell_view,
            EFolder *folder)
{
    EShellViewPrivate *priv;
    const char *type;
    const char *icon_name;
    char *icon_path;

    priv = shell_view->priv;

    if (folder == NULL)
        type = NULL;
    else
        type = e_folder_get_type_string (folder);

    if (type == NULL) {
        icon_path = NULL;
    } else {
        EFolderTypeRegistry *folder_type_registry;

        folder_type_registry = e_shell_get_folder_type_registry (priv->shell);
        icon_name = e_folder_type_registry_get_icon_name_for_type (folder_type_registry, type);
        if (icon_name == NULL)
            icon_path = NULL;
        else
            icon_path = e_shell_get_icon_path (icon_name, TRUE);
    }

    if (icon_path == NULL) {
        gnome_window_icon_set_from_default (GTK_WINDOW (shell_view));
    } else {
        gnome_window_icon_set_from_file (GTK_WINDOW (shell_view), icon_path);
        g_free (icon_path);
    }
}

static void
update_folder_title_bar (EShellView *shell_view,
             EFolder *folder)
{
    EShellViewPrivate *priv;
    EFolderTypeRegistry *folder_type_registry;
    GdkPixbuf *folder_icon;
    const char *folder_name;
    const char *folder_type_name;

    priv = shell_view->priv;

    if (folder == NULL)
        folder_type_name = NULL;
    else
        folder_type_name = e_folder_get_type_string (folder);

    if (folder_type_name == NULL) {
        folder_name = NULL;
        folder_icon = NULL;
    } else {
        folder_type_registry = e_shell_get_folder_type_registry (priv->shell);
        folder_icon = e_folder_type_registry_get_icon_for_type (folder_type_registry,
                                    folder_type_name,
                                    TRUE);
        folder_name = e_folder_get_name (folder);
    }

    if (folder_icon)
        e_shell_folder_title_bar_set_icon (E_SHELL_FOLDER_TITLE_BAR (priv->view_title_bar), folder_icon);
    if (folder_name) {
        gchar * utf;
        utf = e_utf8_to_gtk_string (GTK_WIDGET (priv->view_title_bar), folder_name);
        e_shell_folder_title_bar_set_title (E_SHELL_FOLDER_TITLE_BAR (priv->view_title_bar), utf);
        g_free (utf);
    }
}

static void
update_for_current_uri (EShellView *shell_view)
{
    EShellViewPrivate *priv;
    EFolder *folder;
    char *folder_name;
    const char *path;
    char *window_title;

    priv = shell_view->priv;

    path = get_storage_set_path_from_uri (priv->uri);

    if (path == NULL)
        folder = NULL;
    else
        folder = e_storage_set_get_folder (e_shell_get_storage_set (priv->shell),
                           path);

    if (folder == NULL)
        folder_name = g_strdup (_("None"));
    else
        folder_name = e_utf8_to_gtk_string ((GtkWidget *) shell_view, e_folder_get_name (folder));

    window_title = g_strdup_printf (_("Evolution - %s"), folder_name);
    gtk_window_set_title (GTK_WINDOW (shell_view), window_title);
    g_free (window_title);
    g_free (folder_name);

    update_folder_title_bar (shell_view, folder);

    update_window_icon (shell_view, folder);

    gtk_signal_handler_block_by_func (GTK_OBJECT (priv->storage_set_view),
                      GTK_SIGNAL_FUNC (folder_selected_cb),
                      shell_view);

    if (path != NULL)
        e_storage_set_view_set_current_folder (E_STORAGE_SET_VIEW (priv->storage_set_view), path);

    gtk_signal_handler_unblock_by_func (GTK_OBJECT (priv->storage_set_view),
                        GTK_SIGNAL_FUNC (folder_selected_cb),
                        shell_view);
}

/* This displays the specified page, doing the appropriate Bonobo activation/deactivation
   magic to make sure things work nicely.  FIXME: Crappy way to solve the issue.  */
static void
set_current_notebook_page (EShellView *shell_view,
               int page_num)
{
    EShellViewPrivate *priv;
    GtkNotebook *notebook;
    GtkWidget *current;
    BonoboControlFrame *control_frame;
    int current_page;

    priv = shell_view->priv;
    notebook = GTK_NOTEBOOK (priv->notebook);

    current_page = gtk_notebook_get_current_page (notebook);
    if (current_page == page_num)
        return;

    if (current_page != -1 && current_page != 0) {
        current = gtk_notebook_get_nth_page (notebook, current_page);
        control_frame = bonobo_widget_get_control_frame (BONOBO_WIDGET (current));

        bonobo_control_frame_set_autoactivate (control_frame, FALSE);
        bonobo_control_frame_control_deactivate (control_frame);
    }

    gtk_notebook_set_page (notebook, page_num);

    if (page_num == -1 || page_num == 0)
        return;

    current = gtk_notebook_get_nth_page (notebook, page_num);
    control_frame = bonobo_widget_get_control_frame (BONOBO_WIDGET (current));

    bonobo_control_frame_set_autoactivate (control_frame, FALSE);
    bonobo_control_frame_control_activate (control_frame);
}

static void
setup_evolution_shell_view_interface (EShellView *shell_view,
                      GtkWidget *control)
{
    BonoboControlFrame *control_frame;
    EvolutionShellView *shell_view_interface;

    control_frame = bonobo_widget_get_control_frame (BONOBO_WIDGET (control));
    shell_view_interface = evolution_shell_view_new ();

    gtk_signal_connect_while_alive (GTK_OBJECT (shell_view_interface), "set_message",
                    GTK_SIGNAL_FUNC (shell_view_interface_set_message_cb),
                    shell_view, GTK_OBJECT (shell_view));
    gtk_signal_connect_while_alive (GTK_OBJECT (shell_view_interface), "unset_message",
                    GTK_SIGNAL_FUNC (shell_view_interface_unset_message_cb),
                    shell_view, GTK_OBJECT (shell_view));

    bonobo_object_add_interface (BONOBO_OBJECT (control_frame),
                     BONOBO_OBJECT (shell_view_interface));
}


/* Socket destruction handling.  */

static GtkWidget *
find_socket (GtkContainer *container)
{
    GList *children, *tmp;

    children = gtk_container_children (container);
    while (children) {
        if (BONOBO_IS_SOCKET (children->data))
            return children->data;
        else if (GTK_IS_CONTAINER (children->data)) {
            GtkWidget *socket = find_socket (children->data);
            if (socket)
                return socket;
        }
        tmp = children->next;
        g_list_free_1 (children);
        children = tmp;
    }
    return NULL;
}

static void
socket_destroy_cb (GtkWidget *socket_widget, gpointer data)
{
    EShellView *shell_view;
    EShellViewPrivate *priv;
    EFolder *folder;
    GtkWidget *control;
    const char *uri;
    char *copy_of_uri;

    shell_view = E_SHELL_VIEW (data);
    priv = shell_view->priv;

    uri = (const char *) gtk_object_get_data (GTK_OBJECT (socket_widget), "e_shell_view_folder_uri");

    /* Strdup here as the string will be freed when the socket is destroyed.  */
    copy_of_uri = g_strdup (uri);

    control = g_hash_table_lookup (priv->uri_to_control, uri);
    if (control == NULL) {
        g_warning ("What?! Destroyed socket for non-existing URI?  -- %s", uri);
        return;
    }

    priv->sockets = g_list_remove (priv->sockets, socket_widget);

    gtk_widget_destroy (control);
    g_hash_table_remove (priv->uri_to_control, uri);

    folder = e_storage_set_get_folder (e_shell_get_storage_set (priv->shell),
                       get_storage_set_path_from_uri (uri));

    e_shell_view_display_uri (shell_view, NULL);

    e_notice (GTK_WINDOW (shell_view), GNOME_MESSAGE_BOX_ERROR,
          _("Ooops!  The view for `%s' has died unexpectedly.  :-(\n"
            "This probably means that the %s component has crashed."),
          uri, e_folder_get_type_string (folder));

    g_free (copy_of_uri);
}


/* Create a new view for @uri with @control.  It assumes a view for @uri does not exist yet.  */
static GtkWidget *
get_control_for_uri (EShellView *shell_view,
             const char *uri)
{
    EShellViewPrivate *priv;
    EFolderTypeRegistry *folder_type_registry;
    EStorageSet *storage_set;
    EFolder *folder;
    EvolutionShellComponentClient *handler_client;
    Bonobo_Control corba_control;
    Evolution_ShellComponent handler;
    const char *path;
    const char *folder_type;
    GtkWidget *control;
    CORBA_Environment ev;
    Bonobo_UIContainer container;
    GtkWidget *socket;
    int destroy_connection_id;

    priv = shell_view->priv;

    path = strchr (uri, ':');
    if (path == NULL)
        return NULL;

    path++;
    if (*path == '\0')
        return NULL;

    storage_set = e_shell_get_storage_set (priv->shell);
    folder_type_registry = e_shell_get_folder_type_registry (priv->shell);

    folder = e_storage_set_get_folder (storage_set, path);
    if (folder == NULL)
        return NULL;

    folder_type = e_folder_get_type_string (folder);
    if (folder_type == NULL)
        return NULL;

    handler_client = e_folder_type_registry_get_handler_for_type (folder_type_registry, folder_type);
    if (handler_client == NULL)
        return NULL;

    handler = bonobo_object_corba_objref (BONOBO_OBJECT (handler_client));
    if (handler_client == CORBA_OBJECT_NIL)
        return NULL;

    CORBA_exception_init (&ev);

    corba_control = Evolution_ShellComponent_create_view (handler, e_folder_get_physical_uri (folder),
                                  folder_type, &ev);

    if (ev._major != CORBA_NO_EXCEPTION) {
        CORBA_exception_free (&ev);
        return NULL;
    }

    CORBA_exception_free (&ev);

    container = bonobo_ui_component_get_container (priv->ui_component);
    control = bonobo_widget_new_control_from_objref (corba_control, container);

    socket = find_socket (GTK_CONTAINER (control));
    destroy_connection_id = gtk_signal_connect (GTK_OBJECT (socket), "destroy",
                            GTK_SIGNAL_FUNC (socket_destroy_cb),
                            shell_view);
    gtk_object_set_data (GTK_OBJECT (socket),
                 "e_shell_view_destroy_connection_id",
                 GINT_TO_POINTER (destroy_connection_id));
    gtk_object_set_data_full (GTK_OBJECT (socket), "e_shell_view_folder_uri", g_strdup (uri), g_free);

    priv->sockets = g_list_prepend (priv->sockets, socket);

    setup_evolution_shell_view_interface (shell_view, control);

    return control;
}

static gboolean
show_existing_view (EShellView *shell_view,
            const char *uri,
            GtkWidget *control)
{
    EShellViewPrivate *priv;
    int notebook_page;

    g_print ("Already have view for %s\n", uri);

    priv = shell_view->priv;

    notebook_page = gtk_notebook_page_num (GTK_NOTEBOOK (priv->notebook), control);
    g_assert (notebook_page != -1);

    /* A BonoboWidget can be a "zombie" in the sense that its actual
       control is dead; if it's zombie, we have to recreate it.  */
    if (bonobo_widget_is_dead (BONOBO_WIDGET (control))) {
        GtkWidget *parent;

        parent = control->parent;

        /* Out with the old.  */
        gtk_container_remove (GTK_CONTAINER (parent), control);
        g_hash_table_remove (priv->uri_to_control, uri);

        /* In with the new.  */
        control = get_control_for_uri (shell_view, uri);
        if (control == NULL)
            return FALSE;

        gtk_container_add (GTK_CONTAINER (parent), control);
        g_hash_table_insert (priv->uri_to_control, g_strdup (uri), control);

        /* Show.  */
        gtk_widget_show (control);
    }

    set_current_notebook_page (shell_view, notebook_page);

    return TRUE;
}

static gboolean
create_new_view_for_uri (EShellView *shell_view,
             const char *uri)
{
    GtkWidget *control;
    EShellViewPrivate *priv;
    int page_num;

    priv = shell_view->priv;

    control = get_control_for_uri (shell_view, uri);
    if (control == NULL)
        return FALSE;

    gtk_widget_show (control);

    gtk_notebook_append_page (GTK_NOTEBOOK (priv->notebook), control, NULL);

    page_num = gtk_notebook_page_num (GTK_NOTEBOOK (priv->notebook), control);
    g_assert (page_num != -1);
    set_current_notebook_page (shell_view, page_num);

    g_hash_table_insert (priv->uri_to_control, g_strdup (uri), control);

    return TRUE;
}

gboolean
e_shell_view_display_uri (EShellView *shell_view,
              const char *uri)
{
    EShellViewPrivate *priv;
    GtkWidget *control;
    gboolean retval;

    g_return_val_if_fail (shell_view != NULL, FALSE);
    g_return_val_if_fail (E_IS_SHELL_VIEW (shell_view), FALSE);

    priv = shell_view->priv;

    bonobo_win_freeze (BONOBO_WIN (shell_view));

    if (uri == NULL) {
        gtk_notebook_remove_page (GTK_NOTEBOOK (priv->notebook), 0);
        gtk_notebook_prepend_page (GTK_NOTEBOOK (priv->notebook), create_label_for_empty_page (), NULL);

        set_current_notebook_page (shell_view, 0);

        if (priv->uri != NULL) {
            g_free (priv->uri);
            priv->uri = NULL;
        }

        retval = TRUE;

        goto end;
    }

    if (strncmp (uri, E_SHELL_URI_PREFIX, E_SHELL_URI_PREFIX_LEN) != 0) {
        retval = FALSE;
        goto end;
    }

    control = g_hash_table_lookup (priv->uri_to_control, uri);
    if (control != NULL) {
        g_assert (GTK_IS_WIDGET (control));
        show_existing_view (shell_view, uri, control);
    } else if (! create_new_view_for_uri (shell_view, uri)) {
        priv->delayed_selection = g_strdup (uri);
        gtk_signal_connect_after (GTK_OBJECT (e_shell_get_storage_set (priv->shell)), "new_folder",
                      GTK_SIGNAL_FUNC (new_folder_cb), shell_view);
        retval = FALSE;
        goto end;
    }

    g_free (priv->uri);
    priv->uri = g_strdup (uri);

    retval = TRUE;

 end:
    update_for_current_uri (shell_view);

    bonobo_win_thaw (BONOBO_WIN (shell_view));

    return retval;
}


void
e_shell_view_set_shortcut_bar_mode (EShellView *shell_view,
                    EShellViewSubwindowMode mode)
{
    EShellViewPrivate *priv;

    g_return_if_fail (shell_view != NULL);
    g_return_if_fail (E_IS_SHELL_VIEW (shell_view));
    g_return_if_fail (mode == E_SHELL_VIEW_SUBWINDOW_STICKY
              || mode == E_SHELL_VIEW_SUBWINDOW_HIDDEN);

    priv = shell_view->priv;

    if (priv->shortcut_bar_mode == mode)
        return;

    if (mode == E_SHELL_VIEW_SUBWINDOW_STICKY) {
        if (! GTK_WIDGET_VISIBLE (priv->shortcut_bar)) {
            gtk_widget_show (priv->shortcut_bar);
            e_paned_set_position (E_PANED (priv->hpaned), priv->hpaned_position);
        }
    } else {
        if (GTK_WIDGET_VISIBLE (priv->shortcut_bar)) {
            gtk_widget_hide (priv->shortcut_bar);
            /* FIXME this is a private field!  */
            priv->hpaned_position = E_PANED (priv->hpaned)->child1_size;
            e_paned_set_position (E_PANED (priv->hpaned), 0);
        }
    }

    priv->shortcut_bar_mode = mode;

    gtk_signal_emit (GTK_OBJECT (shell_view), signals[SHORTCUT_BAR_MODE_CHANGED], mode);
}

/**
 * e_shell_view_set_folder_bar_mode:
 * @shell_view: 
 * @mode: 
 * 
 * Set the visualization mode for the folder bar's subwindow.
 **/
void
e_shell_view_set_folder_bar_mode (EShellView *shell_view,
                  EShellViewSubwindowMode mode)
{
    EShellViewPrivate *priv;

    g_return_if_fail (shell_view != NULL);
    g_return_if_fail (E_IS_SHELL_VIEW (shell_view));
    g_return_if_fail (mode == E_SHELL_VIEW_SUBWINDOW_STICKY
              || mode == E_SHELL_VIEW_SUBWINDOW_HIDDEN);

    priv = shell_view->priv;

    if (priv->folder_bar_mode == mode)
        return;

    if (mode == E_SHELL_VIEW_SUBWINDOW_STICKY) {
        if (! GTK_WIDGET_VISIBLE (priv->storage_set_view_box)) {
            gtk_widget_show (priv->storage_set_view_box);
            e_paned_set_position (E_PANED (priv->view_hpaned), priv->view_hpaned_position);
        }

        e_title_bar_set_button_mode (E_TITLE_BAR (priv->storage_set_title_bar),
                         E_TITLE_BAR_BUTTON_MODE_CLOSE);

        e_shell_folder_title_bar_set_clickable (E_SHELL_FOLDER_TITLE_BAR (priv->view_title_bar),
                            FALSE);
    } else {
        if (GTK_WIDGET_VISIBLE (priv->storage_set_view_box)) {
            gtk_widget_hide (priv->storage_set_view_box);
            /* FIXME this is a private field!  */
            priv->view_hpaned_position = E_PANED (priv->view_hpaned)->child1_size;
            e_paned_set_position (E_PANED (priv->view_hpaned), 0);
        }

        e_title_bar_set_button_mode (E_TITLE_BAR (priv->storage_set_title_bar),
                         E_TITLE_BAR_BUTTON_MODE_PIN);

        e_shell_folder_title_bar_set_clickable (E_SHELL_FOLDER_TITLE_BAR (priv->view_title_bar),
                            TRUE);
    }

        priv->folder_bar_mode = mode;

    gtk_signal_emit (GTK_OBJECT (shell_view), signals[FOLDER_BAR_MODE_CHANGED], mode);
}

EShellViewSubwindowMode
e_shell_view_get_shortcut_bar_mode (EShellView *shell_view)
{
    g_return_val_if_fail (shell_view != NULL, E_SHELL_VIEW_SUBWINDOW_HIDDEN);
    g_return_val_if_fail (E_IS_SHELL_VIEW (shell_view), E_SHELL_VIEW_SUBWINDOW_HIDDEN);

    return shell_view->priv->shortcut_bar_mode;
}

EShellViewSubwindowMode
e_shell_view_get_folder_bar_mode (EShellView *shell_view)
{
    g_return_val_if_fail (shell_view != NULL, E_SHELL_VIEW_SUBWINDOW_HIDDEN);
    g_return_val_if_fail (E_IS_SHELL_VIEW (shell_view), E_SHELL_VIEW_SUBWINDOW_HIDDEN);

    return shell_view->priv->folder_bar_mode;
}


EShell *
e_shell_view_get_shell (EShellView *shell_view)
{
    g_return_val_if_fail (shell_view != NULL, NULL);
    g_return_val_if_fail (E_IS_SHELL_VIEW (shell_view), NULL);

    return shell_view->priv->shell;
}

BonoboUIComponent *
e_shell_view_get_bonobo_ui_component (EShellView *shell_view)
{
    g_return_val_if_fail (shell_view != NULL, NULL);
    g_return_val_if_fail (E_IS_SHELL_VIEW (shell_view), NULL);

    return shell_view->priv->ui_component;
}

GtkWidget *
e_shell_view_get_appbar (EShellView *shell_view)
{
    g_return_val_if_fail (shell_view != NULL, NULL);
    g_return_val_if_fail (E_IS_SHELL_VIEW (shell_view), NULL);

    return shell_view->priv->appbar;
}

const char *
e_shell_view_get_current_uri (EShellView *shell_view)
{
    g_return_val_if_fail (shell_view != NULL, NULL);
    g_return_val_if_fail (E_IS_SHELL_VIEW (shell_view), NULL);

    return shell_view->priv->uri;
}


/**
 * e_shell_view_save_settings:
 * @shell_view: 
 * @prefix: 
 * 
 * Save settings for @shell_view at the specified gnome config @prefix
 * 
 * Return value: TRUE if successful, FALSE if not.
 **/
gboolean
e_shell_view_save_settings (EShellView *shell_view,
                const char *prefix)
{
    EShellViewPrivate *priv;
    const char *uri;

    g_return_val_if_fail (shell_view != NULL, FALSE);
    g_return_val_if_fail (E_IS_SHELL_VIEW (shell_view), FALSE);
    g_return_val_if_fail (prefix != NULL, FALSE);

    priv = shell_view->priv;

    gnome_config_push_prefix (prefix);

    gnome_config_set_int ("FolderBarMode",      e_shell_view_get_folder_bar_mode (shell_view));
    gnome_config_set_int ("ShortcutBarMode",    e_shell_view_get_shortcut_bar_mode (shell_view));
    gnome_config_set_int ("HPanedPosition",     e_paned_get_position (E_PANED (priv->hpaned)));
    gnome_config_set_int ("ViewHPanedPosition", e_paned_get_position (E_PANED (priv->view_hpaned)));

    uri = e_shell_view_get_current_uri (shell_view);
    if (uri != NULL)
        gnome_config_set_string ("DisplayedURI", uri);
    else
        gnome_config_clean_section ("DisplayedURI");

    gnome_config_pop_prefix ();
    
    return TRUE;
}

/**
 * e_shell_view_load_settings:
 * @shell_view: 
 * @prefix: 
 * 
 * Load settings for @shell_view at the specified gnome config @prefix
 * 
 * Return value: 
 **/
gboolean
e_shell_view_load_settings (EShellView *shell_view,
                const char *prefix)
{
    EShellViewPrivate *priv;
    int val;
    char *stringval;

    g_return_val_if_fail (shell_view != NULL, FALSE);
    g_return_val_if_fail (E_IS_SHELL_VIEW (shell_view), FALSE);
    g_return_val_if_fail (prefix != NULL, FALSE);

    priv = shell_view->priv;

    gnome_config_push_prefix (prefix);

    val = gnome_config_get_int ("FolderBarMode");
    e_shell_view_set_folder_bar_mode (shell_view, val);

    val = gnome_config_get_int ("ShortcutBarMode");
    e_shell_view_set_shortcut_bar_mode (shell_view, val);

    val = gnome_config_get_int ("HPanedPosition");
    e_paned_set_position (E_PANED (priv->hpaned), val);

    val = gnome_config_get_int ("ViewHPanedPosition");
    e_paned_set_position (E_PANED (priv->view_hpaned), val);

    stringval = gnome_config_get_string ("DisplayedURI");
    if (! e_shell_view_display_uri (shell_view, stringval))
        e_shell_view_display_uri (shell_view, DEFAULT_URI);
    g_free (stringval);

    gnome_config_pop_prefix ();
    
    return TRUE;
}


E_MAKE_TYPE (e_shell_view, "EShellView", EShellView, class_init, init, BONOBO_TYPE_WIN)
10 6711 6712 6713 6714 6715 6716 6717 6718 6719 6720 6721 6722 6723 6724 6725 6726 6727 6728 6729 6730 6731 6732 6733 6734 6735 6736 6737 6738 6739 6740 6741 6742 6743 6744 6745 6746 6747 6748 6749 6750 6751 6752 6753 6754 6755 6756 6757 6758 6759 6760 6761 6762 6763 6764 6765 6766 6767 6768 6769 6770 6771 6772 6773 6774 6775 6776 6777 6778 6779 6780 6781 6782 6783 6784 6785 6786 6787 6788 6789 6790 6791 6792 6793 6794 6795 6796 6797 6798 6799 6800 6801 6802 6803 6804 6805 6806 6807 6808 6809 6810 6811 6812 6813 6814 6815 6816 6817 6818 6819 6820 6821 6822 6823 6824 6825 6826 6827 6828 6829 6830 6831 6832 6833 6834 6835 6836 6837 6838 6839 6840 6841 6842 6843 6844 6845 6846 6847 6848 6849 6850 6851 6852 6853 6854 6855 6856 6857 6858 6859 6860 6861 6862 6863 6864 6865 6866 6867 6868 6869 6870 6871 6872 6873 6874 6875 6876 6877 6878 6879 6880 6881 6882 6883 6884 6885 6886 6887 6888 6889 6890 6891 6892 6893 6894 6895 6896 6897 6898 6899 6900 6901 6902 6903 6904 6905 6906 6907 6908 6909 6910 6911 6912 6913 6914 6915 6916 6917 6918 6919 6920 6921 6922 6923 6924 6925 6926 6927 6928 6929 6930 6931 6932 6933 6934 6935 6936 6937 6938 6939 6940 6941 6942 6943 6944 6945 6946 6947 6948 6949 6950 6951 6952 6953 6954 6955 6956 6957 6958 6959 6960 6961 6962 6963 6964 6965 6966 6967 6968 6969 6970 6971 6972 6973 6974 6975 6976 6977 6978 6979 6980 6981 6982 6983 6984 6985 6986 6987 6988 6989 6990 6991 6992 6993 6994 6995 6996 6997 6998 6999 7000 7001 7002 7003 7004 7005 7006 7007 7008 7009 7010 7011 7012 7013 7014 7015 7016 7017 7018 7019 7020 7021 7022 7023 7024 7025 7026 7027 7028 7029 7030 7031 7032 7033 7034 7035 7036 7037 7038 7039 7040 7041 7042 7043 7044 7045 7046 7047 7048 7049 7050 7051 7052 7053 7054 7055 7056 7057 7058 7059 7060 7061 7062 7063 7064 7065 7066 7067 7068 7069 7070 7071 7072 7073 7074 7075 7076 7077 7078 7079 7080 7081 7082 7083 7084 7085 7086 7087 7088 7089 7090 7091 7092 7093 7094 7095 7096 7097 7098 7099 7100 7101 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7113 7114 7115 7116 7117 7118 7119 7120 7121 7122 7123 7124 7125 7126 7127 7128 7129 7130 7131 7132 7133 7134 7135 7136 7137 7138 7139 7140 7141 7142 7143 7144 7145 7146 7147 7148 7149 7150 7151 7152 7153 7154 7155 7156 7157 7158 7159 7160 7161 7162 7163 7164 7165 7166 7167 7168 7169 7170 7171 7172 7173 7174 7175 7176 7177 7178 7179 7180 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190 7191 7192 7193 7194 7195 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208 7209 7210 7211 7212 7213 7214 7215 7216 7217 7218 7219 7220 7221 7222 7223 7224 7225 7226 7227 7228 7229 7230 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 7242 7243 7244 7245 7246 7247 7248 7249 7250 7251 7252 7253 7254 7255 7256 7257 7258 7259 7260 7261 7262 7263 7264 7265 7266 7267 7268 7269 7270 7271 7272 7273 7274 7275 7276 7277 7278 7279 7280 7281 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7293 7294 7295 7296 7297 7298 7299 7300 7301 7302 7303 7304 7305 7306 7307 7308 7309 7310 7311 7312 7313 7314 7315 7316 7317 7318 7319 7320 7321 7322 7323 7324 7325 7326 7327 7328 7329 7330 7331 7332 7333 7334 7335 7336 7337 7338 7339 7340 7341 7342 7343 7344 7345 7346 7347 7348 7349 7350 7351 7352 7353 7354 7355 7356 7357 7358 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7370 7371 7372 7373 7374 7375 7376 7377 7378 7379 7380 7381 7382 7383 7384 7385 7386 7387 7388 7389 7390 7391 7392 7393 7394 7395 7396 7397 7398 7399 7400 7401 7402 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455 7456 7457 7458 7459 7460 7461 7462 7463 7464 7465 7466 7467 7468 7469 7470 7471 7472 7473 7474 7475 7476 7477 7478 7479 7480 7481 7482 7483 7484 7485 7486 7487 7488 7489 7490 7491 7492 7493 7494 7495 7496 7497 7498 7499 7500 7501 7502 7503 7504 7505 7506 7507 7508 7509 7510 7511 7512 7513 7514 7515 7516 7517 7518 7519 7520 7521 7522 7523 7524 7525 7526 7527 7528 7529 7530 7531 7532 7533 7534 7535 7536 7537 7538 7539 7540 7541 7542 7543 7544 7545 7546 7547 7548 7549 7550 7551 7552 7553 7554 7555 7556 7557 7558 7559 7560 7561 7562 7563 7564 7565 7566 7567 7568 7569 7570 7571 7572 7573 7574 7575 7576 7577 7578 7579 7580 7581 7582 7583 7584 7585 7586 7587 7588 7589 7590 7591 7592 7593 7594 7595 7596 7597 7598 7599 7600 7601 7602 7603 7604 7605 7606 7607 7608 7609 7610 7611 7612 7613 7614 7615 7616 7617 7618 7619 7620 7621 7622 7623 7624 7625 7626 7627 7628 7629 7630 7631 7632 7633 7634 7635 7636 7637 7638 7639 7640 7641 7642 7643 7644 7645 7646 7647 7648 7649 7650 7651 7652 7653 7654 7655 7656 7657 7658 7659 7660 7661 7662 7663 7664 7665 7666 7667 7668 7669 7670 7671 7672 7673 7674 7675 7676 7677 7678 7679 7680 7681 7682 7683 7684 7685 7686 7687 7688 7689 7690 7691 7692 7693 7694 7695 7696 7697 7698 7699 7700 7701 7702 7703 7704 7705 7706 7707 7708 7709 7710 7711 7712 7713 7714 7715 7716 7717 7718 7719 7720 7721 7722 7723 7724 7725 7726 7727 7728 7729 7730 7731 7732 7733 7734 7735 7736 7737 7738 7739 7740 7741 7742 7743 7744 7745 7746 7747 7748 7749 7750 7751 7752 7753 7754 7755 7756 7757 7758 7759 7760 7761 7762 7763 7764 7765 7766 7767 7768 7769 7770 7771 7772 7773 7774 7775 7776 7777 7778 7779 7780 7781 7782 7783 7784 7785 7786 7787 7788 7789 7790 7791 7792 7793 7794 7795 7796 7797 7798 7799 7800 7801 7802 7803 7804 7805 7806 7807 7808 7809 7810 7811 7812 7813 7814 7815 7816 7817 7818 7819 7820 7821 7822 7823 7824 7825 7826 7827 7828 7829 7830 7831 7832 7833 7834 7835 7836 7837 7838 7839 7840 7841 7842 7843 7844 7845 7846 7847 7848 7849 7850 7851 7852 7853 7854 7855 7856 7857 7858 7859 7860 7861 7862 7863 7864 7865 7866 7867 7868 7869 7870 7871 7872 7873 7874 7875 7876 7877 7878 7879 7880 7881 7882 7883 7884 7885 7886 7887 7888 7889 7890 7891 7892 7893 7894 7895 7896 7897 7898 7899 7900 7901 7902 7903 7904 7905 7906 7907 7908 7909 7910 7911 7912 7913 7914 7915 7916 7917 7918 7919 7920 7921 7922 7923 7924 7925 7926 7927 7928 7929 7930 7931 7932 7933 7934 7935 7936 7937 7938 7939 7940 7941 7942 7943 7944 7945 7946 7947 7948 7949 7950 7951 7952 7953 7954 7955 7956 7957 7958 7959 7960 7961 7962 7963 7964 7965 7966 7967 7968 7969 7970 7971 7972 7973 7974 7975 7976 7977 7978 7979 7980 7981 7982 7983 7984 7985 7986 7987 7988 7989 7990 7991 7992 7993 7994 7995 7996 7997 7998 7999 8000 8001 8002 8003 8004 8005 8006 8007 8008 8009 8010 8011 8012 8013 8014 8015 8016 8017 8018 8019 8020 8021 8022 8023 8024 8025 8026 8027 8028 8029 8030 8031 8032 8033 8034 8035 8036 8037 8038 8039 8040 8041 8042 8043 8044 8045 8046 8047 8048 8049 8050 8051 8052 8053 8054 8055 8056 8057 8058 8059 8060 8061 8062 8063 8064 8065 8066 8067 8068 8069 8070 8071 8072 8073 8074 8075 8076 8077 8078 8079 8080 8081 8082 8083 8084 8085 8086 8087 8088 8089 8090 8091 8092 8093 8094 8095 8096 8097 8098 8099 8100 8101 8102 8103 8104 8105 8106 8107 8108 8109 8110 8111 8112 8113 8114 8115 8116 8117 8118 8119 8120 8121 8122 8123 8124 8125 8126 8127 8128 8129 8130 8131 8132 8133 8134 8135 8136 8137 8138 8139 8140 8141 8142 8143 8144 8145 8146 8147 8148 8149 8150 8151 8152 8153 8154 8155 8156 8157 8158 8159 8160 8161 8162 8163 8164 8165 8166 8167 8168 8169 8170 8171 8172 8173 8174 8175 8176 8177 8178 8179 8180 8181 8182 8183 8184 8185 8186 8187 8188 8189 8190 8191 8192 8193 8194 8195 8196 8197 8198 8199 8200 8201 8202 8203 8204 8205 8206 8207 8208 8209 8210 8211 8212 8213 8214 8215 8216 8217 8218 8219 8220 8221 8222 8223 8224 8225 8226 8227 8228 8229 8230 8231 8232 8233 8234 8235 8236 8237 8238 8239 8240 8241 8242 8243 8244 8245 8246 8247 8248 8249 8250 8251 8252 8253 8254 8255 8256 8257 8258 8259 8260 8261 8262 8263 8264 8265 8266 8267 8268 8269 8270 8271 8272 8273 8274 8275 8276 8277 8278 8279 8280 8281 8282 8283 8284 8285 8286 8287 8288 8289 8290 8291 8292 8293 8294 8295 8296 8297 8298 8299 8300 8301 8302 8303 8304 8305 8306 8307 8308 8309 8310 8311 8312 8313 8314 8315 8316 8317 8318 8319 8320 8321 8322 8323 8324 8325 8326 8327 8328 8329 8330 8331 8332 8333 8334 8335 8336 8337 8338 8339 8340 8341 8342 8343 8344 8345 8346 8347 8348 8349 8350 8351 8352 8353 8354 8355 8356 8357 8358 8359 8360 8361 8362 8363 8364 8365 8366 8367 8368 8369 8370 8371 8372 8373 8374 8375 8376 8377 8378 8379 8380 8381 8382 8383 8384 8385 8386 8387 8388 8389 8390 8391 8392 8393 8394 8395 8396 8397 8398 8399 8400 8401 8402 8403 8404 8405 8406 8407 8408 8409 8410 8411 8412 8413 8414 8415 8416 8417 8418 8419 8420 8421 8422 8423 8424 8425 8426 8427 8428 8429 8430 8431 8432 8433 8434 8435 8436 8437 8438 8439 8440 8441 8442 8443 8444 8445 8446 8447 8448 8449 8450 8451 8452 8453 8454 8455 8456 8457 8458 8459 8460 8461 8462 8463 8464 8465 8466 8467 8468 8469 8470 8471 8472 8473 8474 8475 8476 8477 8478 8479 8480 8481 8482 8483 8484 8485 8486 8487 8488 8489 8490 8491 8492 8493 8494 8495 8496 8497 8498 8499 8500 8501 8502 8503 8504 8505 8506 8507 8508 8509 8510 8511 8512 8513 8514 8515 8516 8517 8518 8519 8520 8521 8522 8523 8524 8525 8526 8527 8528 8529 8530 8531 8532 8533 8534 8535 8536 8537 8538 8539 8540 8541 8542 8543 8544 8545 8546 8547 8548 8549 8550 8551 8552 8553 8554 8555 8556 8557 8558 8559 8560 8561 8562 8563 8564 8565 8566 8567 8568 8569 8570 8571 8572 8573 8574 8575 8576 8577 8578 8579 8580 8581 8582 8583 8584 8585 8586 8587 8588 8589 8590 8591 8592 8593 8594 8595 8596 8597 8598 8599 8600 8601 8602 8603 8604 8605 8606 8607 8608 8609 8610 8611 8612 8613 8614 8615 8616 8617 8618 8619 8620 8621 8622 8623 8624 8625 8626 8627 8628 8629 8630 8631 8632 8633 8634 8635 8636 8637 8638 8639 8640 8641 8642 8643 8644 8645 8646 8647 8648 8649 8650 8651 8652 8653 8654 8655 8656 8657 8658 8659 8660 8661 8662 8663 8664 8665 8666 8667 8668 8669 8670 8671 8672 8673 8674 8675 8676 8677 8678 8679 8680 8681 8682 8683 8684 8685 8686 8687 8688 8689 8690 8691 8692 8693 8694 8695 8696 8697 8698 8699 8700 8701 8702 8703 8704 8705 8706 8707 8708 8709 8710 8711 8712 8713 8714 8715 8716 8717 8718 8719 8720 8721 8722 8723 8724 8725 8726 8727 8728 8729 8730 8731 8732 8733 8734 8735 8736 8737 8738 8739 8740 8741 8742 8743 8744 8745 8746 8747 8748 8749 8750 8751 8752 8753 8754 8755 8756 8757 8758 8759 8760 8761 8762 8763 8764 8765 8766 8767 8768 8769 8770 8771 8772 8773 8774 8775 8776 8777 8778 8779 8780 8781 8782 8783 8784 8785 8786 8787 8788 8789 8790 8791 8792 8793 8794 8795 8796 8797 8798 8799 8800 8801 8802 8803 8804 8805 8806 8807 8808 8809 8810 8811 8812 8813 8814 8815 8816 8817 8818 8819 8820 8821 8822 8823 8824 8825 8826 8827 8828 8829 8830 8831 8832 8833 8834 8835 8836 8837 8838 8839 8840 8841 8842 8843 8844 8845 8846 8847 8848 8849 8850 8851 8852 8853 8854 8855 8856 8857 8858 8859 8860 8861 8862 8863 8864 8865 8866 8867 8868 8869 8870 8871 8872 8873 8874 8875 8876 8877 8878 8879 8880 8881 8882 8883 8884 8885 8886 8887 8888 8889 8890 8891 8892 8893 8894 8895 8896 8897 8898 8899 8900 8901 8902 8903 8904 8905 8906 8907 8908 8909 8910 8911 8912 8913 8914 8915 8916 8917 8918 8919 8920 8921 8922 8923 8924 8925 8926 8927 8928 8929 8930 8931 8932 8933 8934 8935 8936 8937 8938 8939 8940 8941 8942 8943 8944 8945 8946 8947 8948 8949 8950 8951 8952 8953 8954 8955 8956 8957 8958 8959 8960 8961 8962 8963 8964 8965 8966 8967 8968 8969 8970 8971 8972 8973 8974 8975 8976 8977 8978 8979 8980 8981 8982 8983 8984 8985 8986 8987 8988 8989 8990 8991 8992 8993 8994 8995 8996 8997 8998 8999 9000 9001 9002 9003 9004 9005 9006 9007 9008 9009 9010 9011 9012 9013 9014 9015 9016 9017 9018 9019 9020 9021 9022 9023 9024 9025 9026 9027 9028 9029 9030 9031 9032 9033 9034 9035 9036 9037 9038 9039 9040 9041 9042 9043 9044 9045 9046 9047 9048 9049 9050 9051 9052 9053 9054 9055 9056 9057 9058 9059 9060 9061 9062 9063 9064 9065 9066 9067 9068 9069 9070 9071 9072 9073 9074 9075 9076 9077 9078 9079 9080 9081 9082 9083 9084 9085 9086 9087 9088 9089 9090 9091 9092 9093 9094 9095 9096 9097 9098 9099 9100 9101 9102 9103 9104 9105 9106 9107 9108 9109 9110 9111 9112 9113 9114 9115 9116 9117 9118 9119 9120 9121 9122 9123 9124 9125 9126 9127 9128 9129 9130 9131 9132 9133 9134 9135 9136 9137 9138 9139 9140 9141 9142 9143 9144 9145 9146 9147 9148 9149 9150 9151 9152 9153 9154 9155 9156 9157 9158 9159 9160 9161 9162 9163 9164 9165 9166 9167 9168 9169 9170 9171 9172 9173 9174 9175 9176 9177 9178 9179 9180 9181 9182 9183 9184 9185 9186 9187 9188 9189 9190 9191 9192 9193 9194 9195 9196 9197 9198 9199 9200 9201 9202 9203 9204 9205 9206 9207 9208 9209 9210 9211 9212 9213 9214 9215 9216 9217 9218 9219 9220 9221 9222 9223 9224 9225 9226 9227 9228 9229 9230 9231 9232 9233 9234 9235 9236 9237 9238 9239 9240 9241 9242 9243 9244 9245 9246 9247 9248 9249 9250 9251 9252 9253 9254 9255 9256 9257 9258 9259 9260 9261 9262 9263 9264 9265 9266 9267 9268 9269 9270 9271 9272 9273 9274 9275 9276 9277 9278 9279 9280 9281 9282 9283 9284 9285 9286 9287 9288 9289 9290 9291 9292 9293 9294 9295 9296 9297 9298 9299 9300 9301 9302 9303 9304 9305 9306 9307 9308 9309 9310 9311 9312 9313 9314 9315 9316 9317 9318 9319 9320 9321 9322 9323 9324 9325 9326 9327 9328 9329 9330 9331 9332 9333 9334 9335 9336 9337 9338 9339 9340 9341 9342 9343 9344 9345 9346 9347 9348 9349 9350 9351 9352 9353 9354 9355 9356 9357 9358 9359 9360 9361 9362 9363 9364 9365 9366 9367 9368 9369 9370 9371 9372 9373 9374 9375 9376 9377 9378 9379 9380 9381 9382 9383 9384 9385 9386 9387 9388 9389 9390 9391 9392 9393 9394 9395 9396 9397 9398 9399 9400 9401 9402 9403 9404 9405 9406 9407 9408 9409 9410 9411 9412 9413 9414 9415 9416 9417 9418 9419 9420 9421 9422 9423 9424 9425 9426 9427 9428 9429 9430 9431 9432 9433 9434 9435 9436 9437 9438 9439 9440 9441 9442 9443 9444 9445 9446 9447 9448 9449 9450 9451 9452 9453 9454 9455 9456 9457 9458 9459 9460 9461 9462 9463 9464 9465 9466 9467 9468 9469 9470 9471 9472 9473 9474 9475 9476 9477 9478 9479 9480 9481 9482 9483 9484 9485 9486 9487 9488 9489 9490 9491 9492 9493 9494 9495 9496 9497 9498 9499 9500 9501 9502 9503 9504 9505 9506 9507 9508 9509 9510 9511 9512 9513 9514 9515 9516 9517 9518 9519 9520 9521 9522 9523 9524 9525 9526 9527 9528 9529 9530 9531 9532 9533 9534 9535 9536 9537 9538 9539 9540 9541 9542 9543 9544 9545 9546 9547 9548 9549 9550 9551 9552 9553 9554 9555 9556 9557 9558 9559 9560 9561 9562 9563 9564 9565 9566 9567 9568 9569 9570 9571 9572 9573 9574 9575 9576 9577 9578 9579 9580 9581 9582 9583 9584 9585 9586 9587 9588 9589 9590 9591 9592 9593 9594 9595 9596 9597 9598 9599 9600 9601 9602 9603 9604 9605 9606 9607 9608 9609 9610 9611 9612 9613 9614 9615 9616 9617 9618 9619 9620 9621 9622 9623 9624 9625 9626 9627 9628 9629 9630 9631 9632 9633 9634 9635 9636 9637 9638 9639 9640 9641 9642 9643 9644 9645 9646 9647 9648 9649 9650 9651 9652 9653 9654 9655 9656 9657 9658 9659 9660 9661 9662 9663 9664 9665 9666 9667 9668 9669 9670 9671 9672 9673 9674 9675 9676 9677 9678 9679 9680 9681 9682 9683 9684 9685 9686 9687 9688 9689 9690 9691 9692 9693 9694 9695 9696 9697 9698 9699 9700 9701 9702 9703 9704 9705 9706 9707 9708 9709 9710 9711 9712 9713 9714 9715 9716 9717 9718 9719 9720 9721 9722 9723 9724 9725 9726 9727 9728 9729 9730 9731 9732 9733 9734 9735 9736 9737 9738 9739 9740 9741 9742 9743 9744 9745 9746 9747 9748 9749 9750 9751 9752 9753 9754 9755 9756 9757 9758 9759 9760 9761 9762 9763 9764 9765 9766 9767 9768 9769 9770 9771 9772 9773 9774 9775 9776 9777 9778 9779 9780 9781 9782 9783 9784 9785 9786 9787 9788 9789 9790 9791 9792 9793 9794 9795 9796 9797 9798 9799 9800 9801 9802 9803 9804 9805 9806 9807 9808 9809 9810 9811 9812 9813 9814 9815 9816 9817 9818 9819 9820 9821 9822 9823 9824 9825 9826 9827 9828 9829 9830 9831 9832 9833 9834 9835 9836 9837 9838 9839 9840 9841 9842 9843 9844 9845 9846 9847 9848 9849 9850 9851 9852 9853 9854 9855 9856 9857 9858 9859 9860 9861 9862 9863 9864 9865 9866 9867 9868 9869 9870 9871 9872 9873 9874 9875 9876 9877 9878 9879 9880 9881 9882 9883 9884 9885 9886 9887 9888 9889 9890 9891 9892 9893 9894 9895 9896 9897 9898 9899 9900 9901 9902 9903 9904 9905 9906 9907 9908 9909 9910 9911 9912 9913 9914 9915 9916 9917 9918 9919 9920 9921 9922 9923 9924 9925 9926 9927 9928 9929 9930 9931 9932 9933 9934 9935 9936 9937 9938 9939 9940 9941 9942 9943 9944 9945 9946 9947 9948 9949 9950 9951 9952 9953 9954 9955 9956 9957 9958 9959 9960 9961 9962 9963 9964 9965 9966 9967 9968 9969 9970 9971 9972 9973 9974 9975 9976 9977 9978 9979 9980 9981 9982 9983 9984 9985 9986 9987 9988 9989 9990 9991 9992 9993 9994 9995 9996 9997 9998 9999 10000 10001 10002 10003 10004 10005 10006 10007 10008 10009 10010 10011 10012 10013 10014 10015 10016 10017 10018 10019 10020 10021 10022 10023 10024 10025 10026 10027 10028 10029 10030 10031 10032 10033 10034 10035 10036 10037 10038 10039 10040 10041 10042 10043 10044 10045 10046 10047 10048 10049 10050 10051 10052 10053 10054 10055 10056 10057 10058 10059 10060 10061 10062 10063 10064 10065 10066 10067 10068 10069 10070 10071 10072 10073 10074 10075 10076 10077 10078 10079 10080 10081 10082 10083 10084 10085 10086 10087 10088 10089 10090 10091 10092 10093 10094 10095 10096 10097 10098 10099 10100 10101 10102 10103 10104 10105 10106 10107 10108 10109 10110 10111 10112 10113 10114 10115 10116 10117 10118 10119 10120 10121 10122 10123 10124 10125 10126 10127 10128 10129 10130 10131 10132 10133 10134 10135 10136 10137 10138 10139 10140 10141 10142 10143 10144 10145 10146 10147 10148 10149 10150 10151 10152 10153 10154 10155 10156 10157 10158 10159 10160 10161 10162 10163 10164 10165 10166 10167 10168 10169 10170 10171 10172 10173 10174 10175 10176 10177 10178 10179 10180 10181 10182 10183 10184 10185 10186 10187 10188 10189 10190 10191 10192 10193 10194 10195 10196 10197 10198 10199 10200 10201 10202 10203 10204 10205 10206 10207 10208 10209 10210 10211 10212 10213 10214 10215 10216 10217 10218 10219 10220 10221 10222 10223 10224 10225 10226 10227 10228 10229 10230 10231 10232 10233 10234 10235 10236 10237 10238 10239 10240 10241 10242 10243 10244 10245 10246 10247 10248 10249 10250 10251 10252 10253 10254 10255 10256 10257 10258 10259 10260 10261 10262 10263 10264 10265 10266 10267 10268 10269 10270 10271 10272 10273 10274 10275 10276 10277 10278 10279 10280 10281 10282 10283 10284 10285 10286 10287 10288 10289 10290 10291 10292 10293 10294 10295 10296 10297 10298 10299 10300 10301 10302 10303 10304 10305 10306 10307 10308 10309 10310 10311 10312 10313 10314 10315 10316 10317 10318 10319 10320 10321 10322 10323 10324 10325 10326 10327 10328 10329 10330 10331 10332 10333 10334 10335 10336 10337 10338 10339 10340 10341 10342 10343 10344 10345 10346 10347 10348 10349 10350 10351 10352 10353 10354 10355 10356 10357 10358 10359 10360 10361 10362 10363 10364 10365 10366 10367 10368 10369 10370 10371 10372 10373 10374 10375 10376 10377 10378 10379 10380 10381 10382 10383 10384 10385 10386 10387 10388 10389 10390 10391 10392 10393 10394 10395 10396 10397 10398 10399 10400 10401 10402 10403 10404 10405 10406 10407 10408 10409 10410 10411 10412 10413 10414 10415 10416 10417 10418 10419 10420 10421 10422 10423 10424 10425 10426 10427 10428 10429 10430 10431 10432 10433 10434 10435 10436 10437 10438 10439 10440 10441 10442 10443 10444 10445 10446 10447 10448 10449 10450 10451 10452 10453 10454 10455 10456 10457 10458 10459 10460 10461 10462 10463 10464 10465 10466 10467 10468 10469 10470 10471 10472 10473 10474 10475 10476 10477 10478 10479 10480 10481 10482 10483 10484 10485 10486 10487 10488 10489 10490 10491 10492 10493 10494 10495 10496 10497 10498 10499 10500 10501 10502 10503 10504 10505 10506 10507 10508 10509 10510 10511 10512 10513 10514 10515 10516 10517 10518 10519 10520 10521 10522 10523 10524 10525 10526 10527 10528 10529 10530 10531 10532 10533 10534 10535 10536 10537 10538 10539 10540 10541 10542 10543 10544 10545 10546 10547 10548 10549 10550 10551 10552 10553 10554 10555 10556 10557 10558 10559 10560 10561 10562 10563 10564 10565 10566 10567 10568 10569 10570 10571 10572 10573 10574 10575 10576 10577 10578 10579 10580 10581 10582 10583 10584 10585 10586 10587 10588 10589 10590 10591 10592 10593 10594 10595 10596 10597 10598 10599 10600 10601 10602 10603 10604 10605 10606 10607 10608 10609 10610 10611 10612 10613 10614 10615 10616 10617 10618 10619 10620 10621 10622 10623 10624 10625 10626 10627 10628 10629 10630 10631 10632 10633 10634 10635 10636 10637 10638 10639 10640 10641 10642 10643 10644 10645 10646 10647 10648 10649 10650 10651 10652 10653 10654 10655 10656 10657 10658 10659 10660 10661 10662 10663 10664 10665 10666 10667 10668 10669 10670 10671 10672 10673 10674 10675 10676 10677 10678 10679 10680 10681 10682 10683 10684 10685 10686 10687 10688 10689 10690 10691 10692 10693 10694 10695 10696 10697 10698 10699 10700 10701 10702 10703 10704 10705 10706 10707 10708 10709 10710 10711 10712 10713 10714 10715 10716 10717 10718 10719 10720 10721 10722 10723 10724 10725 10726 10727 10728 10729 10730 10731 10732 10733 10734 10735 10736 10737 10738 10739 10740 10741 10742 10743 10744 10745 10746 10747 10748 10749 10750 10751 10752 10753 10754 10755 10756 10757 10758 10759 10760 10761 10762 10763 10764 10765 10766 10767 10768 10769 10770 10771 10772 10773 10774 10775 10776 10777 10778 10779 10780 10781 10782 10783 10784 10785 10786 10787 10788 10789 10790 10791 10792 10793 10794 10795 10796 10797 10798 10799 10800 10801 10802 10803 10804 10805 10806 10807 10808 10809 10810 10811 10812 10813 10814 10815 10816 10817 10818 10819 10820 10821 10822 10823 10824 10825 10826 10827 10828 10829 10830 10831 10832 10833 10834 10835 10836 10837 10838 10839 10840 10841 10842 10843 10844 10845 10846 10847 10848 10849 10850 10851 10852 10853 10854 10855 10856 10857 10858 10859 10860 10861 10862 10863 10864 10865 10866 10867 10868 10869 10870 10871 10872 10873 10874 10875 10876 10877 10878 10879 10880 10881 10882 10883 10884 10885 10886 10887 10888 10889 10890 10891 10892 10893 10894 10895 10896 10897 10898 10899 10900 10901 10902 10903 10904 10905 10906 10907 10908 10909 10910 10911 10912 10913 10914 10915 10916 10917 10918 10919 10920 10921 10922 10923 10924 10925 10926 10927 10928 10929 10930 10931 10932 10933 10934 10935 10936 10937 10938 10939 10940 10941 10942 10943 10944 10945 10946 10947 10948 10949 10950 10951 10952 10953 10954 10955 10956 10957 10958 10959 10960 10961 10962 10963 10964 10965 10966 10967 10968 10969 10970 10971 10972 10973 10974 10975 10976 10977 10978 10979 10980 10981 10982 10983 10984 10985 10986 10987 10988 10989 10990 10991 10992 10993 10994 10995 10996 10997 10998 10999 11000 11001 11002 11003 11004 11005 11006 11007 11008 11009 11010 11011 11012 11013 11014 11015 11016 11017 11018 11019 11020 11021 11022 11023 11024 11025 11026 11027 11028 11029 11030 11031 11032 11033 11034 11035 11036 11037 11038 11039 11040 11041 11042 11043 11044 11045 11046 11047 11048 11049 11050 11051 11052 11053 11054 11055 11056 11057 11058 11059 11060 11061 11062 11063 11064 11065 11066 11067 11068 11069 11070 11071 11072 11073 11074 11075 11076 11077 11078 11079 11080 11081 11082 11083 11084 11085 11086 11087 11088 11089 11090 11091 11092 11093 11094 11095 11096 11097 11098 11099 11100 11101 11102 11103 11104 11105 11106 11107 11108 11109 11110 11111 11112 11113 11114 11115 11116 11117 11118 11119 11120 11121 11122 11123 11124 11125 11126 11127 11128 11129 11130 11131 11132 11133 11134 11135 11136 11137 11138 11139 11140 11141 11142 11143 11144 11145 11146 11147 11148 11149 11150 11151 11152 11153 11154 11155 11156 11157 11158 11159 11160 11161 11162 11163 11164 11165 11166 11167 11168 11169 11170 11171 11172 11173 11174 11175 11176 11177 11178 11179 11180 11181 11182 11183 11184 11185 11186 11187 11188 11189 11190 11191 11192 11193 11194 11195 11196 11197 11198 11199 11200 11201 11202 11203 11204 11205 11206 11207 11208 11209 11210 11211 11212 11213 11214 11215 11216 11217 11218 11219 11220 11221 11222 11223 11224 11225 11226 11227 11228 11229 11230 11231 11232 11233 11234 11235 11236 11237 11238 11239 11240 11241 11242 11243 11244 11245 11246 11247 11248 11249 11250 11251 11252 11253 11254 11255 11256 11257 11258 11259 11260 11261 11262 11263 11264 11265 11266 11267 11268 11269 11270 11271 11272 11273 11274 11275 11276 11277 11278 11279 11280 11281 11282 11283 11284 11285 11286 11287 11288 11289 11290 11291 11292 11293 11294 11295 11296 11297 11298 11299 11300 11301 11302 11303 11304 11305 11306 11307 11308 11309 11310 11311 11312 11313 11314 11315 11316 11317 11318 11319 11320 11321 11322 11323 11324 11325 11326 11327 11328 11329 11330 11331 11332 11333 11334 11335 11336 11337 11338 11339 11340 11341 11342 11343 11344 11345 11346 11347 11348 11349 11350 11351 11352 11353 11354 11355 11356 11357 11358 11359 11360 11361 11362 11363 11364 11365 11366 11367 11368 11369 11370 11371 11372 11373 11374 11375 11376 11377 11378 11379 11380 11381 11382 11383 11384 11385 11386 11387 11388 11389 11390 11391 11392 11393 11394 11395 11396 11397 11398 11399 11400 11401 11402 11403 11404 11405 11406 11407 11408 11409 11410 11411 11412 11413 11414 11415 11416 11417 11418 11419 11420 11421 11422 11423 11424 11425 11426 11427 11428 11429 11430 11431 11432 11433 11434 11435 11436 11437 11438 11439 11440 11441 11442 11443 11444 11445 11446 11447 11448 11449 11450 11451 11452 11453 11454 11455 11456 11457 11458 11459 11460 11461 11462 11463 11464 11465 11466 11467 11468 11469 11470 11471 11472 11473 11474 11475 11476 11477 11478 11479 11480 11481 11482 11483 11484 11485 11486 11487 11488 11489 11490 11491 11492 11493 11494 11495 11496 11497 11498 11499 11500 11501 11502 11503 11504 11505 11506 11507 11508 11509 11510 11511 11512 11513 11514 11515 11516 11517 11518 11519 11520 11521 11522 11523 11524 11525 11526 11527 11528 11529 11530 11531 11532 11533 11534 11535 11536 11537 11538 11539 11540 11541 11542 11543 11544 11545 11546 11547 11548 11549 11550 11551 11552 11553 11554 11555 11556 11557 11558 11559 11560 11561 11562 11563 11564 11565 11566 11567 11568 11569 11570 11571 11572 11573 11574 11575 11576 11577 11578 11579 11580 11581 11582 11583 11584 11585 11586 11587 11588 11589 11590 11591 11592 11593 11594 11595 11596 11597 11598 11599 11600 11601 11602 11603 11604 11605 11606 11607 11608 11609 11610 11611 11612 11613 11614 11615 11616 11617 11618 11619 11620 11621 11622 11623 11624 11625 11626 11627 11628 11629 11630 11631 11632 11633 11634 11635 11636 11637 11638 11639 11640 11641 11642 11643 11644 11645 11646 11647 11648 11649 11650 11651 11652 11653 11654 11655 11656 11657 11658 11659 11660 11661 11662 11663 11664 11665 11666 11667 11668 11669 11670 11671 11672 11673 11674 11675 11676 11677 11678 11679 11680 11681 11682 11683 11684 11685 11686 11687 11688 11689 11690 11691 11692 11693 11694 11695 11696 11697 11698 11699 11700 11701 11702 11703 11704 11705 11706 11707 11708 11709 11710 11711 11712 11713 11714 11715 11716 11717 11718 11719 11720 11721 11722 11723 11724 11725 11726 11727 11728 11729 11730 11731 11732 11733 11734 11735 11736 11737 11738 11739 11740 11741 11742 11743 11744 11745 11746 11747 11748 11749 11750 11751 11752 11753 11754 11755 11756 11757 11758 11759 11760 11761 11762 11763 11764 11765 11766 11767 11768 11769 11770 11771 11772 11773 11774 11775 11776 11777 11778 11779 11780 11781 11782 11783 11784 11785 11786 11787 11788 11789 11790 11791 11792 11793 11794 11795 11796 11797 11798 11799 11800 11801 11802 11803 11804 11805 11806 11807 11808 11809 11810 11811 11812 11813 11814 11815 11816 11817 11818 11819 11820 11821 11822 11823 11824 11825 11826 11827 11828 11829 11830 11831 11832 11833 11834 11835 11836 11837 11838 11839 11840 11841 11842 11843 11844 11845 11846 11847 11848 11849 11850 11851 11852 11853 11854 11855 11856 11857 11858 11859 11860 11861 11862 11863 11864 11865 11866 11867 11868 11869 11870 11871 11872 11873 11874 11875 11876 11877 11878 11879 11880 11881 11882 11883 11884 11885 11886 11887 11888 11889 11890 11891 11892 11893 11894 11895 11896 11897 11898 11899 11900 11901 11902 11903 11904 11905 11906 11907 11908 11909 11910 11911 11912 11913 11914 11915 11916 11917 11918 11919 11920 11921 11922 11923 11924 11925 11926 11927 11928 11929 11930 11931 11932 11933 11934 11935 11936 11937 11938 11939 11940 11941 11942 11943 11944 11945 11946 11947 11948 11949 11950 11951 11952 11953 11954 11955 11956 11957 11958 11959 11960 11961 11962 11963 11964 11965 11966 11967 11968 11969 11970 11971 11972 11973 11974 11975 11976 11977 11978 11979 11980 11981 11982 11983 11984 11985 11986 11987 11988 11989 11990 11991 11992 11993 11994 11995 11996 11997 11998 11999 12000 12001 12002 12003 12004 12005 12006 12007 12008 12009 12010 12011 12012 12013 12014 12015 12016 12017 12018 12019 12020 12021 12022 12023 12024 12025 12026 12027 12028 12029 12030 12031 12032 12033 12034 12035 12036 12037 12038 12039 12040 12041 12042 12043 12044 12045 12046 12047 12048 12049 12050 12051 12052 12053 12054 12055 12056 12057 12058 12059 12060 12061 12062 12063 12064 12065 12066 12067 12068 12069 12070 12071 12072 12073 12074 12075 12076 12077 12078 12079 12080 12081 12082 12083 12084 12085 12086 12087 12088 12089 12090 12091 12092 12093 12094 12095 12096 12097 12098 12099 12100 12101 12102 12103 12104 12105 12106 12107 12108 12109 12110 12111 12112 12113 12114 12115 12116 12117 12118 12119 12120 12121 12122 12123 12124 12125 12126 12127 12128 12129 12130 12131 12132 12133 12134 12135 12136 12137 12138 12139 12140 12141 12142 12143 12144 12145 12146 12147 12148 12149 12150 12151 12152 12153 12154 12155 12156 12157 12158 12159 12160 12161 12162 12163 12164 12165 12166 12167 12168 12169 12170 12171 12172 12173 12174 12175 12176 12177 12178 12179 12180 12181 12182 12183 12184 12185 12186 12187 12188 12189 12190 12191 12192 12193 12194 12195 12196 12197 12198 12199 12200 12201 12202 12203 12204 12205 12206 12207 12208 12209 12210 12211 12212 12213 12214 12215 12216 12217 12218 12219 12220 12221 12222 12223 12224 12225 12226 12227 12228 12229 12230 12231 12232 12233 12234 12235 12236 12237 12238 12239 12240 12241 12242 12243 12244 12245 12246 12247 12248 12249 12250 12251 12252 12253 12254 12255 12256 12257 12258 12259 12260 12261 12262 12263 12264 12265 12266 12267 12268 12269 12270 12271 12272 12273 12274 12275 12276 12277 12278 12279 12280 12281 12282 12283 12284 12285 12286 12287 12288 12289 12290 12291 12292 12293 12294 12295 12296 12297 12298 12299 12300 12301 12302 12303 12304 12305 12306 12307 12308 12309 12310 12311 12312 12313 12314 12315 12316 12317 12318 12319 12320 12321 12322 12323 12324 12325 12326 12327 12328 12329 12330 12331 12332 12333 12334 12335 12336 12337 12338 12339 12340 12341 12342 12343 12344 12345 12346 12347 12348 12349 12350 12351 12352 12353 12354 12355 12356 12357 12358 12359 12360 12361 12362 12363 12364 12365 12366 12367 12368 12369 12370 12371 12372 12373 12374 12375 12376 12377 12378 12379 12380 12381 12382 12383 12384 12385 12386 12387 12388 12389 12390 12391 12392 12393 12394 12395 12396 12397 12398 12399 12400 12401 12402 12403 12404 12405 12406 12407 12408 12409 12410 12411 12412 12413 12414 12415 12416 12417 12418 12419 12420 12421 12422 12423 12424 12425 12426 12427 12428 12429 12430 12431 12432 12433 12434 12435 12436 12437 12438 12439 12440 12441 12442 12443 12444 12445 12446 12447 12448 12449 12450 12451 12452 12453 12454 12455 12456 12457 12458 12459 12460 12461 12462 12463 12464 12465 12466 12467 12468 12469 12470 12471 12472 12473 12474 12475 12476 12477 12478 12479 12480 12481 12482 12483 12484 12485 12486 12487 12488 12489 12490 12491 12492 12493 12494 12495 12496 12497 12498 12499 12500 12501 12502 12503 12504 12505 12506 12507 12508 12509 12510 12511 12512 12513 12514 12515 12516 12517 12518 12519 12520 12521 12522 12523 12524 12525 12526 12527 12528 12529 12530 12531 12532 12533 12534 12535 12536 12537 12538 12539 12540 12541 12542 12543 12544 12545 12546 12547 12548 12549 12550 12551 12552 12553 12554 12555 12556 12557 12558 12559 12560 12561 12562 12563 12564 12565 12566 12567 12568 12569 12570 12571 12572 12573 12574 12575 12576 12577 12578 12579 12580 12581 12582 12583 12584 12585 12586 12587 12588 12589 12590 12591 12592 12593 12594 12595 12596 12597 12598 12599 12600 12601 12602 12603 12604 12605 12606 12607 12608 12609 12610 12611 12612 12613 12614 12615 12616 12617 12618 12619 12620 12621 12622 12623 12624 12625 12626 12627 12628 12629 12630 12631 12632 12633 12634 12635 12636 12637 12638 12639 12640 12641 12642 12643 12644 12645 12646 12647 12648 12649 12650 12651 12652 12653 12654 12655 12656 12657 12658 12659 12660 12661 12662 12663 12664 12665 12666 12667 12668 12669 12670 12671 12672 12673 12674 12675 12676 12677 12678 12679 12680 12681 12682 12683 12684 12685 12686 12687 12688 12689 12690 12691 12692 12693 12694 12695 12696 12697 12698 12699 12700 12701 12702 12703 12704 12705 12706 12707 12708 12709 12710 12711 12712 12713 12714 12715 12716 12717 12718 12719 12720 12721 12722 12723 12724 12725 12726 12727 12728 12729 12730 12731 12732 12733 12734 12735 12736 12737 12738 12739 12740 12741 12742 12743 12744 12745 12746 12747 12748 12749 12750 12751 12752 12753 12754 12755 12756 12757 12758 12759 12760 12761 12762 12763 12764 12765 12766 12767 12768 12769 12770 12771 12772 12773 12774 12775 12776 12777 12778 12779 12780 12781 12782 12783 12784 12785 12786 12787 12788 12789 12790 12791 12792 12793 12794 12795 12796 12797 12798 12799 12800 12801 12802 12803 12804 12805 12806 12807 12808 12809 12810 12811 12812 12813 12814 12815 12816 12817 12818 12819 12820 12821 12822 12823 12824 12825 12826 12827 12828 12829 12830 12831 12832 12833 12834 12835 12836 12837 12838 12839 12840 12841 12842 12843 12844 12845 12846 12847 12848 12849 12850 12851 12852 12853 12854 12855 12856 12857 12858 12859 12860 12861 12862 12863 12864 12865 12866 12867 12868 12869 12870 12871 12872 12873 12874 12875 12876 12877 12878 12879 12880 12881 12882 12883 12884 12885 12886 12887 12888 12889 12890 12891 12892 12893 12894 12895 12896 12897 12898 12899 12900 12901 12902 12903 12904 12905 12906 12907 12908 12909 12910 12911 12912 12913 12914 12915 12916 12917 12918 12919 12920 12921 12922 12923 12924 12925 12926 12927 12928 12929 12930 12931 12932 12933 12934 12935 12936 12937 12938 12939 12940 12941 12942 12943 12944 12945 12946 12947 12948 12949 12950 12951 12952 12953 12954 12955 12956 12957 12958 12959 12960 12961 12962 12963 12964 12965 12966 12967 12968 12969 12970 12971 12972 12973 12974 12975 12976 12977 12978 12979 12980 12981 12982 12983 12984 12985 12986 12987 12988 12989 12990 12991 12992 12993 12994 12995 12996 12997 12998 12999 13000 13001 13002 13003 13004 13005 13006 13007 13008 13009 13010 13011 13012 13013 13014 13015 13016 13017 13018 13019 13020 13021 13022 13023 13024 13025 13026 13027 13028 13029 13030 13031 13032 13033 13034 13035 13036 13037 13038 13039 13040 13041 13042 13043 13044 13045 13046 13047 13048 13049 13050 13051 13052 13053 13054 13055 13056 13057 13058 13059 13060 13061 13062 13063 13064 13065 13066 13067 13068 13069 13070 13071 13072 13073 13074 13075 13076 13077 13078 13079 13080 13081 13082 13083 13084 13085 13086 13087 13088 13089 13090 13091 13092 13093 13094 13095 13096 13097 13098 13099 13100 13101 13102 13103 13104 13105 13106 13107 13108 13109 13110 13111 13112 13113 13114 13115 13116 13117 13118 13119 13120 13121 13122 13123 13124 13125 13126 13127 13128 13129 13130 13131 13132 13133 13134 13135 13136 13137 13138 13139 13140 13141 13142 13143 13144 13145 13146 13147 13148 13149 13150 13151 13152 13153 13154 13155 13156 13157 13158 13159 13160 13161 13162 13163 13164 13165 13166 13167 13168 13169 13170 13171 13172 13173 13174 13175 13176 13177 13178 13179 13180 13181 13182 13183 13184 13185 13186 13187 13188 13189 13190 13191 13192 13193 13194 13195 13196 13197 13198 13199 13200 13201 13202 13203 13204 13205 13206 13207 13208 13209 13210 13211 13212 13213 13214 13215 13216 13217 13218 13219 13220 13221 13222 13223 13224 13225 13226 13227 13228 13229 13230 13231 13232 13233 13234 13235 13236 13237 13238 13239 13240 13241 13242 13243 13244 13245 13246 13247 13248 13249 13250 13251 13252 13253 13254 13255 13256 13257 13258 13259 13260 13261 13262 13263 13264 13265 13266 13267 13268 13269 13270 13271 13272 13273 13274 13275 13276 13277 13278 13279 13280 13281 13282 13283 13284 13285 13286 13287 13288 13289 13290 13291 13292 13293 13294 13295 13296 13297 13298 13299 13300 13301 13302 13303 13304 13305 13306 13307 13308 13309 13310 13311 13312 13313 13314 13315 13316 13317 13318 13319 13320 13321 13322 13323 13324 13325 13326 13327 13328 13329 13330 13331 13332 13333 13334 13335 13336 13337 13338 13339 13340 13341 13342 13343 13344 13345 13346 13347 13348 13349 13350 13351 13352 13353 13354 13355 13356 13357 13358 13359 13360 13361 13362 13363 13364 13365 13366 13367 13368 13369 13370 13371 13372 13373 13374 13375 13376 13377 13378 13379 13380 13381 13382 13383 13384 13385 13386 13387 13388 13389 13390 13391 13392 13393 13394 13395 13396 13397 13398 13399 13400 13401 13402 13403 13404 13405 13406 13407 13408 13409 13410 13411 13412 13413 13414 13415 13416 13417 13418 13419 13420 13421 13422 13423 13424 13425 13426 13427 13428 13429 13430 13431 13432 13433 13434 13435 13436 13437 13438 13439 13440 13441 13442 13443 13444 13445 13446 13447 13448 13449 13450 13451 13452 13453 13454 13455 13456 13457 13458 13459 13460 13461 13462 13463 13464 13465 13466 13467 13468 13469 13470 13471 13472 13473 13474 13475 13476 13477 13478 13479 13480 13481 13482 13483 13484 13485 13486 13487 13488 13489 13490 13491 13492 13493 13494 13495 13496 13497 13498 13499 13500 13501 13502 13503 13504 13505 13506 13507 13508 13509 13510 13511 13512 13513 13514 13515 13516 13517 13518 13519 13520 13521 13522 13523 13524 13525 13526 13527 13528 13529 13530 13531 13532 13533 13534 13535 13536 13537 13538 13539 13540 13541 13542 13543 13544 13545 13546 13547 13548 13549 13550 13551 13552 13553 13554 13555 13556 13557 13558 13559 13560 13561 13562 13563 13564 13565 13566 13567 13568 13569 13570 13571 13572 13573 13574 13575 13576 13577 13578 13579 13580 13581 13582 13583 13584 13585 13586 13587 13588 13589 13590 13591 13592 13593 13594 13595 13596 13597 13598 13599 13600 13601 13602 13603 13604 13605 13606 13607 13608 13609 13610 13611 13612 13613 13614 13615 13616 13617 13618 13619 13620 13621 13622 13623 13624 13625 13626 13627 13628 13629 13630 13631 13632 13633 13634 13635 13636 13637 13638 13639 13640 13641 13642 13643 13644 13645 13646 13647 13648 13649 13650 13651 13652 13653 13654 13655 13656 13657 13658 13659 13660 13661 13662 13663 13664 13665 13666 13667 13668 13669 13670 13671 13672 13673 13674 13675 13676 13677 13678 13679 13680 13681 13682 13683 13684 13685 13686 13687 13688 13689 13690 13691 13692 13693 13694 13695 13696 13697 13698 13699 13700 13701 13702 13703 13704 13705 13706 13707 13708 13709 13710 13711 13712 13713 13714 13715 13716 13717 13718 13719 13720 13721 13722 13723 13724 13725 13726 13727 13728 13729 13730 13731 13732 13733 13734 13735 13736 13737 13738 13739 13740 13741 13742 13743 13744 13745 13746 13747 13748 13749 13750 13751 13752 13753 13754 13755 13756 13757 13758 13759 13760 13761 13762 13763 13764 13765 13766 13767 13768 13769 13770 13771 13772 13773 13774 13775 13776 13777 13778 13779 13780 13781 13782 13783 13784 13785 13786 13787 13788 13789 13790 13791 13792 13793 13794 13795 13796 13797 13798 13799 13800 13801 13802 13803 13804 13805 13806 13807 13808 13809 13810 13811 13812 13813 13814 13815 13816 13817 13818 13819 13820 13821 13822 13823 13824 13825 13826 13827 13828 13829 13830 13831 13832 13833 13834 13835 13836 13837 13838 13839 13840 13841 13842 13843 13844 13845 13846 13847 13848 13849 13850 13851 13852 13853 13854 13855 13856 13857 13858 13859 13860 13861 13862 13863 13864 13865 13866 13867 13868 13869 13870 13871 13872 13873 13874 13875 13876 13877 13878 13879 13880 13881 13882 13883 13884 13885 13886 13887 13888 13889 13890 13891 13892 13893 13894 13895 13896 13897 13898 13899 13900 13901 13902 13903 13904 13905 13906 13907 13908 13909 13910 13911 13912 13913 13914 13915 13916 13917 13918 13919 13920 13921 13922 13923 13924 13925 13926 13927 13928 13929 13930 13931 13932 13933 13934 13935 13936 13937 13938 13939 13940 13941 13942 13943 13944 13945 13946 13947 13948 13949 13950 13951 13952 13953 13954 13955 13956 13957 13958 13959 13960 13961 13962 13963 13964 13965 13966 13967 13968 13969 13970 13971 13972 13973 13974 13975 13976 13977 13978 13979 13980 13981 13982 13983 13984 13985 13986 13987 13988 13989 13990 13991 13992 13993 13994 13995 13996 13997 13998 13999 14000 14001 14002 14003 14004 14005 14006 14007 14008 14009 14010 14011 14012 14013 14014 14015 14016 14017 14018 14019 14020 14021 14022 14023 14024 14025 14026 14027 14028 14029 14030 14031 14032 14033 14034 14035 14036 14037 14038 14039 14040 14041 14042 14043 14044 14045 14046 14047 14048 14049 14050 14051 14052 14053 14054 14055 14056 14057 14058 14059 14060 14061 14062 14063 14064 14065 14066 14067 14068 14069 14070 14071 14072 14073 14074 14075 14076 14077 14078 14079 14080 14081 14082 14083 14084 14085 14086 14087 14088 14089 14090 14091 14092 14093 14094 14095 14096 14097 14098 14099 14100 14101 14102 14103 14104 14105 14106 14107 14108 14109 14110 14111 14112 14113 14114 14115 14116 14117 14118 14119 14120 14121 14122 14123 14124 14125 14126 14127 14128 14129 14130 14131 14132 14133 14134 14135 14136 14137 14138 14139 14140 14141 14142 14143 14144 14145 14146 14147 14148 14149 14150 14151 14152 14153 14154 14155 14156 14157 14158 14159 14160 14161 14162 14163 14164 14165 14166 14167 14168 14169 14170 14171 14172 14173 14174 14175 14176 14177 14178 14179 14180 14181 14182 14183 14184 14185 14186 14187 14188 14189 14190 14191 14192 14193 14194 14195 14196 14197 14198 14199 14200 14201 14202 14203 14204 14205 14206 14207 14208 14209 14210 14211 14212 14213 14214 14215 14216 14217 14218 14219 14220 14221 14222 14223 14224 14225 14226 14227 14228 14229 14230 14231 14232 14233 14234 14235 14236 14237 14238 14239 14240 14241 14242 14243 14244 14245 14246 14247 14248 14249 14250 14251 14252 14253 14254 14255 14256 14257 14258 14259 14260 14261 14262 14263 14264 14265 14266 14267 14268 14269 14270 14271 14272 14273 14274 14275 14276 14277 14278 14279 14280 14281 14282 14283 14284 14285 14286 14287 14288 14289 14290 14291 14292 14293 14294 14295 14296 14297 14298 14299 14300 14301 14302 14303 14304 14305 14306 14307 14308 14309 14310 14311 14312 14313 14314 14315 14316 14317 14318 14319 14320 14321 14322 14323 14324 14325 14326 14327 14328 14329 14330 14331 14332 14333 14334 14335 14336 14337 14338 14339 14340 14341 14342 14343 14344 14345 14346 14347 14348 14349 14350 14351 14352 14353 14354 14355 14356 14357 14358 14359 14360 14361 14362 14363 14364 14365 14366 14367 14368 14369 14370 14371 14372 14373 14374 14375 14376 14377 14378 14379 14380 14381 14382 14383 14384 14385 14386 14387 14388 14389 14390 14391 14392 14393 14394 14395 14396 14397 14398 14399 14400 14401 14402 14403 14404 14405 14406 14407 14408 14409 14410 14411 14412 14413 14414 14415 14416 14417 14418 14419 14420 14421 14422 14423 14424 14425 14426 14427 14428 14429 14430 14431 14432 14433 14434 14435 14436 14437 14438 14439 14440 14441 14442 14443 14444 14445 14446 14447 14448 14449 14450 14451 14452 14453 14454 14455 14456 14457 14458 14459 14460 14461 14462 14463 14464 14465 14466 14467 14468 14469 14470 14471 14472 14473 14474 14475 14476 14477 14478 14479 14480 14481 14482 14483 14484 14485 14486 14487 14488 14489 14490 14491 14492 14493 14494 14495 14496 14497 14498 14499 14500 14501 14502 14503 14504 14505 14506 14507 14508 14509 14510 14511 14512 14513 14514 14515 14516 14517 14518 14519 14520 14521 14522 14523 14524 14525 14526 14527 14528 14529 14530 14531 14532 14533 14534 14535 14536 14537 14538 14539 14540 14541 14542 14543 14544 14545 14546 14547 14548 14549 14550 14551 14552 14553 14554 14555 14556 14557 14558 14559 14560 14561 14562 14563 14564 14565 14566 14567 14568 14569 14570 14571 14572 14573 14574 14575 14576 14577 14578 14579 14580 14581 14582 14583 14584 14585 14586 14587 14588 14589 14590 14591 14592 14593 14594 14595 14596 14597 14598 14599 14600 14601 14602 14603 14604 14605 14606 14607 14608 14609 14610 14611 14612 14613 14614 14615 14616 14617 14618 14619 14620 14621 14622 14623 14624 14625 14626 14627 14628 14629 14630 14631 14632 14633 14634 14635 14636 14637 14638 14639 14640 14641 14642 14643 14644 14645 14646 14647 14648 14649 14650 14651 14652 14653 14654 14655 14656 14657 14658 14659 14660 14661 14662 14663 14664 14665 14666 14667 14668 14669 14670 14671 14672 14673 14674 14675 14676 14677 14678 14679 14680 14681 14682 14683 14684 14685 14686 14687 14688 14689 14690 14691 14692 14693 14694 14695 14696 14697 14698 14699 14700 14701 14702 14703 14704 14705 14706 14707 14708 14709 14710 14711 14712 14713 14714 14715 14716 14717 14718 14719 14720 14721 14722 14723 14724 14725 14726 14727 14728 14729 14730 14731 14732 14733 14734 14735 14736 14737 14738 14739 14740 14741 14742 14743 14744 14745 14746 14747 14748 14749 14750 14751 14752 14753 14754 14755 14756 14757 14758 14759 14760 14761 14762 14763 14764 14765 14766 14767 14768 14769 14770 14771 14772 14773 14774 14775 14776 14777 14778 14779 14780 14781 14782 14783 14784 14785 14786 14787 14788 14789 14790 14791 14792 14793 14794 14795 14796 14797 14798 14799 14800 14801 14802 14803 14804 14805 14806 14807 14808 14809 14810 14811 14812 14813 14814 14815 14816 14817 14818 14819 14820 14821 14822 14823 14824 14825 14826 14827 14828 14829 14830 14831 14832 14833 14834 14835 14836 14837 14838 14839 14840 14841 14842 14843 14844 14845 14846 14847 14848 14849 14850 14851 14852 14853 14854 14855 14856 14857 14858 14859 14860 14861 14862 14863 14864 14865 14866 14867 14868 14869 14870 14871 14872 14873 14874 14875 14876 14877 14878 14879 14880 14881 14882 14883 14884 14885 14886 14887 14888 14889 14890 14891 14892 14893 14894 14895 14896 14897 14898 14899 14900 14901 14902 14903 14904 14905 14906 14907 14908 14909 14910 14911 14912 14913 14914 14915 14916 14917 14918 14919 14920 14921 14922 14923 14924 14925 14926 14927 14928 14929 14930 14931 14932 14933 14934 14935 14936 14937 14938 14939 14940 14941 14942 14943 14944 14945 14946 14947 14948 14949 14950 14951 14952 14953 14954 14955 14956 14957 14958 14959 14960 14961 14962 14963 14964 14965 14966 14967 14968 14969 14970 14971 14972 14973 14974 14975 14976 14977 14978 14979 14980 14981 14982 14983 14984 14985 14986 14987 14988 14989 14990 14991 14992 14993 14994 14995 14996 14997 14998 14999 15000 15001 15002 15003 15004 15005 15006 15007 15008 15009 15010 15011 15012 15013 15014 15015 15016 15017 15018 15019 15020 15021 15022 15023 15024 15025 15026 15027 15028 15029 15030 15031 15032 15033 15034 15035 15036 15037 15038 15039 15040 15041 15042 15043 15044 15045 15046 15047 15048 15049 15050 15051 15052 15053 15054 15055 15056 15057 15058 15059 15060 15061 15062 15063 15064 15065 15066 15067 15068 15069 15070 15071 15072 15073 15074 15075 15076 15077 15078 15079 15080 15081 15082 15083 15084 15085 15086 15087 15088 15089 15090 15091 15092 15093 15094 15095 15096 15097 15098 15099 15100 15101 15102 15103 15104 15105 15106 15107 15108 15109 15110 15111 15112 15113 15114 15115 15116 15117 15118 15119 15120 15121 15122 15123 15124 15125 15126 15127 15128 15129 15130 15131 15132 15133 15134 15135 15136 15137 15138 15139 15140 15141 15142 15143 15144 15145 15146 15147 15148 15149 15150 15151 15152 15153 15154 15155 15156 15157 15158 15159 15160 15161 15162 15163 15164 15165 15166 15167 15168 15169 15170 15171 15172 15173 15174 15175 15176 15177 15178 15179 15180 15181 15182 15183 15184 15185 15186 15187 15188 15189 15190 15191 15192 15193 15194 15195 15196 15197 15198 15199 15200 15201 15202 15203 15204 15205 15206 15207 15208 15209 15210 15211 15212 15213 15214 15215 15216 15217 15218 15219 15220 15221 15222 15223 15224 15225 15226 15227 15228 15229 15230 15231 15232 15233 15234 15235 15236 15237 15238 15239 15240 15241 15242 15243 15244 15245 15246 15247 15248 15249 15250 15251 15252 15253 15254 15255 15256 15257 15258 15259 15260 15261 15262 15263 15264 15265 15266 15267 15268 15269 15270 15271 15272 15273 15274 15275 15276 15277 15278 15279 15280 15281 15282 15283 15284 15285 15286 15287 15288 15289 15290 15291 15292 15293 15294 15295 15296 15297 15298 15299 15300 15301 15302 15303 15304 15305 15306 15307 15308 15309 15310 15311 15312 15313 15314 15315 15316 15317 15318 15319 15320 15321 15322 15323 15324 15325 15326 15327 15328 15329 15330 15331 15332 15333 15334 15335 15336 15337 15338 15339 15340 15341 15342 15343 15344 15345 15346 15347 15348 15349 15350 15351 15352 15353 15354 15355 15356 15357 15358 15359 15360 15361 15362 15363
2003-05-22  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-about-box.c: Add Mark Gordon.

2003-05-20  Ettore Perazzoli  <ettore@ximian.com>

    [#43322]

    * e-shell-shared-folder-picker-dialog.c (storage_weak_notify): Set
    the storage member to NULL.
    (shell_weak_notify): Set the shell member to NULL.
    (cleanup_discovery): g_object_weak_unref() shell, parent and
    storage.

2003-05-19  Ettore Perazzoli  <ettore@ximian.com>

    * main.c: Removed "forced_upgrade" unused variable.
    (show_development_warning): Put in a DEVELOPMENT_WARNING cpp
    conditional.
    (warning_dialog_response_callback): Likewise.
    (view_map_callback): Likewise.
    (new_view_created_callback): Likewise.
    (idle_cb) [DEVELOPMENT_WARNING]: Do not connect
    new_view_created_callback() to the "new_view" shell signal
    anymore.

    * Makefile.am (install-evolution) [DEFAULT_BINARY]: Make a
    symbolic link from evolution to evolution-$(BASE_VERSION).

    [#43216]

    * e-shell-folder-creation-dialog.c (dialog_data_destroy):
    g_object_weak_unref shell and dialog if they are not NULL.
    (dialog_destroy_notify): Set ->dialog to NULL in all cases.

2003-05-19  Anna Marie Dirks  <anna@ximian.com>

    * e-corba-config-page.c: Remove some padding which I incorrectly
    added to the wrong vbox. This shoulda been fixed in 
    widgets/misc/e-multi-config-dialog.c . (And it is, now.) 
    
2003-05-17  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (e_storage_set_view_set_show_checkboxes):
    Reallocate the "expansions" member of ETreeState as well, to avoid
    a memory error.  [#43119]

2003-05-15  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (parse_default_uri): Protect against the component
    name having slashes in it.

    * e-shell-view.c (display_uri): Protect against invalid "default:"
    URIs.  [#43079]

2003-05-15  Rodrigo Moya <rodrigo@ximian.com>

    * main.c: #ifdef'ed wombat killing code, depending on whether
    KILL_PROCESS_CMD is defined or not.
    (kill_wombat): kill also the alarm daemon process.

2003-05-15  Ettore Perazzoli  <ettore@ximian.com>

    [Patch from Antonio Xu <antonio.xu@sun.com>, #42491]

    * e-config-upgrade.c (upgrade_xml_1_2_rec): Make it compile on
    Forte.

2003-05-14  JP Rosevear  <jpr@ximian.com>

    * e-shell.c (save_settings_for_component): release the interface
    if we got it

    * e-shell-view.c: include bonobo-exception.h
    (impl_dispose): release and unref the shell view corba interface
    (init): init to CORBA_OBJECT_NIL
    (e_shell_view_get_corba_interface): return the corba interface
    (setup_corba_interface): release the existing shell view, add as
    an interface and then query to get it back
    (get_view_for_uri): release and unref the control once we create
    the widget with it

    * e-corba-storage.c (storage_listener_servant_new): don't ref ourselves
    (storage_listener_servant_free): don't unref ourselves
    (impl_dispose): free the servant info

    * e-corba-storage-registry.c
    (impl_StorageRegistry_getStorageByName): we need to ref as well as
    duplicate since we didn't create the storage here

2003-05-09  Jeremy Katz  <katzj@redhat.com>

    * main.c: Add a #include to fix a warning.

    * e-shell-offline-handler.c (update_dialog_clist): Use a list
    store instead of a tree model for the store.

2003-05-08  Ettore Perazzoli  <ettore@ximian.com>

    [#42342]
    * e-shell-view.c (update_send_receive_sensitivity): New function
    to update the Send/Receive menu and toolbar items according to the
    current line status.
    (e_shell_view_construct): Call it here to set up the initial
    state.
    (shell_line_status_changed_cb): Use it here as well.

2003-05-08  Ettore Perazzoli  <ettore@ximian.com>

    [#36956]
    * e-shell-view.c (update_for_current_uri): Remove the version
    number from the window title.

    [#42518]
    * e-shell-view.c (handle_current_folder_removed): Casefold the
    Inbox name only once, instead of once per iteration.  Removed the
    spurious slash that was being passed in the path in the Inbox case
    and prevented it from working.  Added missing slash in the path
    for the storage case.  Casefold the path including the slash,
    since we compare against a string that does include the slash.
    (storage_set_removed_folder_callback): Remove the notebook page
    before calling handle_current_folder_removed(), instead of after;
    otherwise, the notebook page number we have might not be valid
    anymore.

    * e-shell-folder-creation-dialog.c (setup_dialog): Set the default
    response for the dialog to GTK_RESPONSE_OK.

2003-05-07  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-commands.c (e_shell_command_add_to_shortcut_bar):
    Do use the supplied folder_path to determine the unread count, if
    not NULL.  [#42465]

2003-05-07  JP Rosevear  <jpr@ximian.com>

    * e-shell-folder-commands.c (delete_dialog): don't pass
    NO_SEPARATOR flag as per gtkmessagedialog warning

2003-05-02  Not Zed  <NotZed@Ximian.com>

    * e-shell-about-box.c (text[]): grepped changelogs and added all
    names found.  #40391.

2003-05-01  Dan Winship  <danw@ximian.com>

    * glade/e-shell-shared-folder-picker-dialog.glade: Don't expand
    the select-names entry, because we don't want it as tall as the
    button.

2003-04-30  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-selection-dialog.c
    (e_shell_folder_selection_dialog_construct): Set the default
    response to GTK_RESPONSE_OK.

2003-04-29  Rodney Dawes  <dobey@ximian.com>

    * Makefile.am: Fix install of evolution
    
2003-04-28  Not Zed  <NotZed@Ximian.com>

    [#41013]

    * e-shell-importer.c (html_size_req): removed.
    (create_help): renamed from create_html.  Only creates a plain
    label widget now, with line wrap turned on.  Also make the
    g_return an assert, it failing is entirely based on internal code.
    (show_import_wizard): s/create_html/create_help/g

    [#41648]
    
    * e-config-upgrade.c (upgrade_xml_file): upgrade_xml_file_1_0 made
    a bit more generic, this handles io, a callback handles xml
    changes.
    (is_xml1encoded): new function to tell if a string is in gal's
    xml1 'encoded' format, or raw locale text.
    (decode_xml1): decode xml1 encoded format to valid utf8.
    (upgrade_xml_1_2_rec): upgrades xml1 encoded or badly encoded xml
    content for specific parent->child nodes.
    (CONF_REVISION): bump the config revision to 1.3.1.
    (e_config_upgrade): if config revision < 1.3.1, then check xml
    files for xml1 content.

2003-04-28  Rodney Dawes  <dobey@ximian.com>

    * Makefile.am: Fix up some stuff for the nognome script
    * evolution-nognome.in: Fix up nognome script for Sun GNOME2
    
2003-04-28  Rodrigo Moya <rodrigo@ximian.com>

    Fixes #41916

    * evolution-storage.c (get_folder_list_foreach): removed comment which
    does not apply any more.
    (impl_Storage__get_folderList): set sequence's maximum number of items
    to e_folder_tree_get_count as is.

2003-04-28  Ettore Perazzoli  <ettore@ximian.com>

    Patch from Sanshao Jiang <alex.jiang@sun.com>.

    [#41484]

    * main.c (main): Add e_proxy_init()
    
2003-04-24  Dan Winship  <danw@ximian.com>

    * evolution-shell-component.c (impl_setOwner): Comment out the
    pinging code again since it's only being used by Connector, where
    it's triggering an unrelated bug.

2003-04-25  Ettore Perazzoli  <ettore@ximian.com>

    [#41059]

    * e-corba-storage.c (async_open_cb): Added a missing unref of the
    storage in the closure.
    (async_open_folder_idle): Add the pending open to the pending open
    list before calling asyncOpenFolder, instead of after.

2003-04-23  Not Zed  <NotZed@Ximian.com>

    * e-local-storage.c (load_folder): cast to remove warning.
    (construct): set a physiucal uri on the root folder, so we dont
    get warnings when we add it later.

2003-04-22  Anna Marie Dirks  <anna@ximian.com>

    * e-shell-settings-dialog.c (init): Add appropriate padding 
    to the Evolution Settings window. This is another bit of the 
    fix for #41392.

    * e-corba-config-page.c (e_corba_config_page_construct): Add 
    appropriate padding to the corba_config_page widget. Partial 
    fix for #41392.

2003-04-23  Anna Marie Dirks  <anna@ximian.com>

    * glade/e-folder-list.glade: replaced buttons with stock buttons
    and added HIG-blessed spacing. Fixes 41145.

2003-04-22  Anna Marie Dirks  <anna@ximian.com>
    
    * e-shortcuts-view.c
    (destroy_group_cb): Set the border width of the message dialog 
    to 6. Also corrected the capitalization for "Remove Shortcut 
    Dialog". Fixes 41569
    (show_new_group_dialog): Fixed the title of "Create New Shortcut
    Group" . Partially fixes 41038.
    (rename_shortcut_cb): Corrected the label capitalization for 
    Rename dialog. Fixes 41567.

2003-04-21  Chris Toshok  <toshok@ximian.com>

    * e-folder-list.c (e_folder_list_parse_xml): this should never
    happen unless you're really trying, but don't crash if the xml
    setting is malformed.

2003-04-21  Ettore Perazzoli  <ettore@ximian.com>

    * e-local-storage.c (create_folder_directory): Don't signal an
    error if mkdir() returns EEXIST.  This should at least help with
    situations like the one described in #40989.

2003-04-21  Anna Marie Dirks  <anna@ximian.com>

    * e-shell-folder-commands.c (delete_dialog): Corrected border 
    with for Delete Folder dialog. Fixes 41036. 
    (e_shell_command_copy_folder): Corrected capitalization of the "Copy
    Folder" window title. Partial fix for 41025. 
    (e_shell_command_move_folder): Corrected the capitalization of the
    "Move Folder" dialog. Fixes 41024.


2003-04-21  Anna Marie Dirks  <anna@ximian.com>
    
    * e-shell-folder-selection-dialog.c 
    (e_shell_folder_selection_dialog_construct): Added appropriate border 
    width to the folder selection dialog. Fixes 41022, 41146, 41147, 
    41010, partially fixes 41025. 


2003-04-21  Anna Marie Dirks  <anna@ximian.com>

    * glade/evolution-startup-wizard.glade: Added spacing/padding to 
    first-run dialog. Fixes 41242.  

2003-04-21  Anna Marie Dirks  <anna@ximian.com>

    * glade/e-shell-folder-creation-dialog.glade: Misc HIG-related tweaks,
    mostly spacing and padding related. Fixes 41008. 

    * e-shell-folder-creation-dialog.c (add_storage_set_view): Added
    appropriate spacing to the main vbox of the folder creation dialog.
    Partially fixes 41008.

2003-04-21  Anna Marie Dirks  <anna@ximian.com>
    
    * glade/e-shell-config-default-folders.glade: Added appropriate
    spacing/padding to the default folder pages of the settings dialog. 
    Partial fix for 41128.


2003-04-21  Anna Marie Dirks  <anna@ximian.com>

    * glade/e-active-connection-dialog.glade: Fixed padding/spacing/caps
    of the "Go Offline" dialog. Fixes 41225 and 41227. 

2003-04-18  Rodney Dawes  <dobey@ximian.com>

    * e-shell-view.c: Use PREFIX instead of EVOLUTION_DATADIR for
    bonobo_ui_util_set_ui () [#21499]
    
2003-04-17  Dan Winship  <danw@ximian.com>

    * e-shell-folder-creation-dialog.c (add_folder_types): If the
    default_type is "foo/bar" and "foo" appears in the list but
    "foo/bar" doesn't, use "foo" as the default type. [#41468] Also,
    remove a workaround for a gtk 1.2 bug.

2003-04-16  Dan Winship  <danw@ximian.com>

    * e-corba-storage.c (async_create_folder): If the new folder's
    parent has unresolved children, async_open the parent first, then
    create the new folder. [#41413]
    (async_create_folder, async_remove_folder, async_xfer_folder,
    async_open_folder, async_discover_shared_folder,
    async_remove_shared_folder): Ref the storage.
    (async_folder_cb, async_folder_discovery_cb): Unref it

2003-04-16  Jeffrey Stedfast  <fejj@ximian.com>

    * e-config-upgrade.c: Turn off debugging. Fixes bug #41469.

2003-04-16  Ettore Perazzoli  <ettore@ximian.com>

    * apps_evolution_shell.schemas: Increase the default value for
    /schemas/apps/evolution/shell/view_defaults/folder_bar/width to
    200.    [#41002]

    * evolution-shell-component.c (owner_ping_callback): Enable this
    again.
    (setup_owner_pinging): Same.
    (impl_setOwner): Check if the shell is in-process and, if so, call
    setup_owner_pinging().

2003-04-15  Hans Petter Jansson  <hpj@ximian.com>

    * e-setup.c (e_setup_check_config): Free the temporary string.

    * e-shell-user-creatable-items-handler.c (append_xml_for_menu_item):
    Free the icon xml string.

    * e-shell.c (parse_default_uri): Free the component name, the
    configuration path and the temporary path.

2003-04-15  Dan Winship  <danw@ximian.com>

    * e-folder.c (e_folder_get_has_subfolders,
    e_folder_set_has_subfolders): new boolean flag.

    * e-storage.c (EStoragePrivate, impl_finalize, init): Remove the
    pseudofolders hash
    (e_storage_async_open_folder): Replace the pseudofolders test with
    a test of whether the folder has the "has_subfolders" flag set.
    (e_storage_new_folder): Likewise (for the folder's parent).
    (e_storage_declare_has_subfolders): Set "has_subfolders" on the
    folder.
    (e_storage_get_has_subfolders): Check "has_subfolders" on the
    folder.
    Should fix #33919.

2003-04-14  Not Zed  <NotZed@Ximian.com>

    * glade/e-active-connection-dialog.glade: fix the title of the
    dialogue box.  #41304.

2003-04-09  Dan Winship  <danw@ximian.com>

    * e-folder-list.c: Update for e_option_menu prototype
    constification

2003-04-08  Ettore Perazzoli  <ettore@ximian.com>

    * e-setup.c (setup_bonobo_conf_private_directory): Removed.
    (e_setup): Do not call here.  Also, removed hacks for
    ~/evolution/config and ~/evolution/local/Trash.

2003-04-08  Dan Winship  <danw@ximian.com>

    * main.c (main): Add a "--setup-only" flag, to just run e_setup()
    and exit. (For #40889)

    * glade/evolution-startup-wizard.glade: Remove the color specs so
    the druid will use theme colors

    * importer/import.glade: Likewise

2003-04-08  Ettore Perazzoli  <ettore@ximian.com>

    [#40912]

    * e-shell-folder-selection-dialog.c (impl_dispose):
    g_object_weak_unref() the shell here.

2003-04-07  Dan Winship  <danw@ximian.com>

    * evolution-storage.c (evolution_storage_class_init): Fix arg
    types on REMOVED_SHARED_FOLDER signal. #40888

    * evolution-folder-selector-button.c (clicked): Desensitize the
    window's top-level container rather than desensitizing the window
    itself, which causes strange problems [#40854]. Also fix up the
    code that tries to watch for the parent window being destroyed.

    * e-shell.c (impl_Shell_selectUserFolder): Use
    e_dialog_set_transient_for_xid.

    * e-shell-folder-selection-dialog.c (impl_response): Treat
    GTK_RESPONSE_DELETE_EVENT the same as GTK_RESPONSE_CANCEL.
    (e_shell_folder_selection_dialog_construct): No need to catch
    "delete_event" signal.

2003-04-07  Dan Winship  <danw@ximian.com>

    * Makefile.am ($(server_in_files)): Substitute version number into
    the evolution binary name in the server file
    (INCLUDES): define EVOLUTION_TOOLSDIR

    * GNOME_Evolution_Shell.server.in.in: Clean up server names. Add
    "-@VERSION@" to the end of the shell binary name

    * main.c (main): if KILL_PROCESS_CMD is defined, add a
    --force-shutdown argument that runs killev and exits.

2003-04-07  Not Zed  <NotZed@Ximian.com>

    [#40536]

    * evolution-shell-component.c (impl_interactive): If going
    interactive, track the view id in a private area.
    (evolution_shell_component_get_parent_view_xid): Accessor method
    to retrieve the current view xid.

2003-04-06  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (update_window_icon): Get the large version of
    the icon instead of the small one, so it works more nicely with
    modern WMs.

2003-04-04  Ettore Perazzoli  <ettore@ximian.com>

    [#40413]

    * e-shell-folder-selection-dialog.c: Define RESPONSE_NEW for the
    "New" button in the dialog.
    (impl_response): Handle RESPONSE_NEW.
    (e_shell_folder_selection_dialog_construct): Add the "new" button
    with RESPONSE_NEW response_id.

2003-04-04  Ettore Perazzoli  <ettore@ximian.com>

    [#40748]

    * apps_evolution_shell.schemas: Remove the icon_modes schema.

    * e-shell-view.c (setup_defaults): Don't set the icon modes from
    GConf, they are already stored in the shortcuts.xml file.
    (e_shell_view_save_defaults): Likewise, don't set it here.

    * e-config-upgrade.c: Remove translation from
    ShortcutBarGroup%iIconMode to
    shell/view_defaults/shortcut_bar/icon_types.

2003-04-02  Rodrigo Moya <rodrigo@ximian.com>

    * importer/GNOME_Evolution_Importer.idl:
    * importer/evolution-importer.[ch]: added "foldertype" argument to
    GNOME::Evolution::Importer.

    * importer/evolution-importer-client.[ch]
    (evolution_importer_client_load_file): added "folder_type" argument
    and use it in the call to GNOME_Evolution_Importer_loadFile.

    * e-shell-importer.c (start_import): added "folder_type" argument and
    use it in the call to evolution_importer_client_load_file.
    (folder_selected): pass in the "folder_type" argument to start_import,

2003-04-02  Not Zed  <NotZed@Ximian.com>

    [#40652]

    * e-shell-view.c (setup_widgets): Pack the folder and shortcut
    bars into the paned as sizeable.

    [#39467]
    
    * e-shell.c (e_shell_construct): Change the splash logic slightly,
    so that if we can't create the splash, we dont try and cast/use
    it.
    * e-splash.c (e_splash_new): dont use a g_return* for what could
    be a valid (tho incorrect) runtime condition.

    [#40590]

    * e-config-upgrade.c (identity_map[]): Move the signature stuff to
    a child node.
    (identity_sig_map[]): Define the signature node.  Fix
    *autogenerated_signature_%i to map to "auto". 

2003-04-01  Not Zed  <NotZed@Ximian.com>

    [#40474]

    * e-config-upgrade.c (gconf_remap_list[]): The summary settings
    start at "My-Evolution", not "/My-Evolution".
    (import_bonobo_config): Same for mail summary settings, and hex
    decode the string for the strlist.  Add a few extra debug
    printf's.

2003-03-28  Ettore Perazzoli  <ettore@ximian.com>

    [#40377]

    * main.c (kill_old_wombat): New.
    (kill_wombat): New.
    (idle_cb): Call kill_old_wombat().

2003-03-27  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-offline-handler.c (update_dialog_tree_view): Renamed
    from update_dialog_clist, Ported to GtkTreeView.
    (update_dialog_tree_view_hash_foreach): Likewise.

    * glade/e-active-connection-dialog.glade: Rename
    "active_connection_clist" to "active_connection_treeview".

2003-03-27  Not Zed  <NotZed@Ximian.com>

    * e-shell-about-box.c: Make Radek's surname correct, Doulík,
    inserted utf8 into the name string.  For bug #17034.

2003-03-26  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (e_shell_view_construct): Pass "evolution-1.4" as
    the app name to bonobo_ui_util_set_ui() instead of "evolution".

2003-03-26  Ettore Perazzoli  <ettore@ximian.com>

    [Shell part of #7153.]

    * e-local-storage.c (load_folder): Call e_storage_new_folder()
    instead of new_folder() here so the folder doesn't get added to
    the EvolutionStorage.  Since the EvolutionStorage has its own
    CORBAfied copy of the folder info [sigh] and it can't be updated,
    we have to set up the EvolutionStorage after setup_stock_folders()
    has been called.
    (setup_corba_storage): New function to set up the CORBA storage.
    (load_all_folders): Call setup_corba_storage() after
    setup_stock_folders().

2003-03-25  Not Zed  <NotZed@Ximian.com>

    * e-shell-settings-dialog.c (set_dialog_size): Use
    set_default_size instead of size_request so we allow the user to
    resize the window.  Also try using 60x30 rather than 72x35 as the
    approximate font cell size.  For bug #39706.

2003-03-25  Dan Winship  <danw@ximian.com>

    * e-folder-dnd-bridge.c: Update for e_notice move.
    * e-setup.c: Likewise
    * e-shell-folder-commands.c: Likewise
    * e-shell-folder-creation-dialog.c: Likewise
    * e-shell-offline-sync.c: Likewise
    * e-shell-shared-folder-picker-dialog.c: Likewise
    * e-shell-view-menu.c: Likewise
    * e-shell.c: Likewise
    * evolution-shell-component-utils.c: Likewise

    * Makefile.am (libeshell_la_LIBADD): libeshell depends on
    libeutil.

    * e-corba-storage.c: Fix warnings

    * glade/evolution-startup-wizard.glade: Fix colors again

2003-03-25  Dan Winship  <danw@ximian.com>

    * Evolution-ShellComponent.idl (interactive): add a "new_view_xid"
    arg, so the component has a window id to make use of as a parent
    if it needs to pop up a dialog.

    * e-shell.c (set_interactive): Pass the new_view_xid when going
    interactive.
    (e_shell_set_interactive): Remove this since it wasn't being used,
    and couldn't be used for anything except lying to the components.

    * evolution-shell-component.c
    (evolution_shell_component_class_init): Update "interactive"
    signal definition
    (impl_interactive): Update prototype and signal emission
    
    * e-shell-marshal.list (NONE:BOOL,INT): add

2003-03-21  Dan Winship  <danw@ximian.com>

    * e-corba-storage.c (async_open_folder_idle): If we get a second
    request to open a folder we're already waiting for, don't send a
    second CORBA request, just remember the additional request.
    (async_open_cb): Call the callbacks for all pending requests for
    this folder.
    (init): grumble-grumble-non-g_new0-using-people-grumbe

2003-03-20  JP Rosevear  <jpr@ximian.com>

    * e-shell-view-menu.c: remove unused command

2003-03-19  Not Zed  <NotZed@Ximian.com>

    * e-config-upgrade.c (e_config_upgrade): Added some more doco just
    to make it clear how it was intended to be used/expanded.

2003-03-18  Ettore Perazzoli  <ettore@ximian.com>

    * importer/evolution-importer.c
    (impl_GNOME_Evolution_Importer_loadFile): Get a physical_uri arg
    instead of a folderpath arg.

    * importer/evolution-importer-client.c
    (evolution_importer_client_load_file): Get a physical_uri arg.

    * e-shell-importer.c (start_import): Get a physical_uri arg
    instead of a folderpath.
    (folder_selected): Updated accordingly.

2003-03-19  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-importer.c (get_name_from_component_info): Look for the
    "evolution:menu_name" property instead of "evolution:menu-name".
    [#39692]

2003-03-19  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-folder-selector-button.c (set_folder): If you can't
    get a pixbuf icon for the folder's type, do not crash.  [#39599]

    * e-shell.c (impl_Shell__get_displayName): Removed.  [#38974]
    (e_shell_class_init): Do not install anymore.

    * Evolution-Shell.idl: Remove displayName attribute.

2003-03-18  Ettore Perazzoli  <ettore@ximian.com>

    * importer/evolution-importer.c
    (impl_GNOME_Evolution_Importer_loadFile): Get a physical_uri arg
    instead of a folderpath arg.

    * importer/evolution-importer-client.c
    (evolution_importer_client_load_file): Get a physical_uri arg.

    * e-shell-importer.c (start_import): Get a physical_uri arg
    instead of a folderpath.
    (folder_selected): Updated accordingly.

2003-03-14  Dan Winship  <danw@ximian.com>

    * e-storage.c (e_storage_get_has_subfolders): Add
    (e_storage_declare_has_subfolders): Rename from
    e_storage_has_subfolders to make it clearer that this is a setter,
    not a getter. (Can't call it e_storage_set_has_subfolders because
    that sounds like it belongs in e-storage-set.)

    * e-corba-storage.c (impl_StorageListener_notifyHasSubfolders):
    update for e_storage_declare_has_subfolders name change
    (get_folder): Override the default EStorage implementation: if
    asked for a folder under a not-yet-expanded folder, attempt to
    force the parent(s) to expand so that the child is available.
    Fixes part of #30415

2003-03-14  Dan Winship  <danw@ximian.com>

    * Evolution-Storage.idl (asyncOpenFolder): add a Bonobo::Listener
    to this like the other async interfaces, rather than having a
    hacky way to signal failure.

    * evolution-storage.c (impl_Storage_asyncOpenFolder): Update to
    take a listener and emit it as part of the signal
    (evolution_storage_class_init): update OPEN_FOLDER signal
    prototype.

    * e-shell-marshal.list (NONE:POINTER,STRING): add, for changed
    EvolutionStorage open_folder signal

    * e-storage.c (e_storage_async_open_folder): add a callback arg
    (impl_async_open_folder): call the callback with NOTIMPLEMENTED.
    (class_init): remove the CLOSE_FOLDER signal
    (e_storage_has_subfolders): Don't emit CLOSE_FOLDER since it
    doesn't exist any more, and this function is used for that side
    effect any more anyway.

    * e-corba-storage.c (async_open_folder): add the callback arg and
    create a proper closure.
    (async_open_folder_idle): Call the callback in case of error.
    Create a listener and pass that to the CORBA call.
    (async_open_cb): Listener callback.

    * e-storage-set.c (storage_set_view_folder_opened): Pass a
    callback to e_storage_async_open_folder.
    (async_open_cb): emit CLOSE_FOLDER if the open failed
    (storage_close_folder_cb): Remove this since the signal no longer
    exists.
    
2003-03-11  Dan Winship  <danw@ximian.com>

    * e-shell-startup-wizard.c (start_wizard): If the wizard factory
    returns NULL, we'll get a NIL wizard but no exception. Deal with
    that case. (ie, try the next wizard).
    (finish_func): Simplify for e-timezone-dialog changes.
    (prepare_timezone_page): If there is already a timezone set in
    gconf, set the map to point to it. (For connector autoconfig.)

2003-03-07  Not Zed  <NotZed@Ximian.com>

    ** reverted the following patch from ettore, this is a gnome 2.2
    api change, and shouldn't be used yet.
    
    * e-shell.c (impl_finalize): Use
    bonobo_activation_unregister_active_server() instead of
    bonobo_activation_active_server_unregister().
    (e_shell_construct): Use
    bonobo_activation_register_active_server() instead of
    bonobo_activation_active_server_register().

2003-03-04  Not Zed  <NotZed@Ximian.com>

    * main.c (show_development_warning): Separated the current stable
    version number from the warning prompt, and fixed a minor
    grammatical error.  For bug #38775.

2003-03-06  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (impl_Shell_selectUserFolder): At least for now,
    disable the nasty XWMHints trick to fool WMs; it is not needed now
    that everything is in-proc.

2003-03-06  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-utils.c (e_shell_folder_name_is_valid): Do not allow
    names with a "#" in them either.

2003-03-06  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (update_other_users_folder_items_sensitivity):
    New function to toggle the "open other user's folder" menu item
    sensitivity on or off depending on whether there are any storages
    that actually support that.
    (storage_set_removed_storage_callback): New callback for the
    EStorageSet's "removed_storage" signal; it updates the sensitivity
    if necessary.
    (storage_set_new_storage_callback): Likewise, new callback for the
    EStorageSet's "new_storage" signal.
    (e_shell_view_construct): Connect these two signal callbacks here.
    Also, call update_other_users_folder_items_sensitivity() to set up
    the initial sensitivity of the menu item.
    (update_for_current_uri): Add a missing EStorageSetView cast here.

2003-03-06  Ettore Perazzoli  <ettore@ximian.com>

    [#34371]

    * e-shell-shared-folder-picker-dialog.c
    (folder_name_entry_changed_callback): New callback to set the
    sensitivity of the OK button according to whether the folder name
    entry is empty or not.
    (show_dialog): Connect here.  Pop up an error message if no user
    is selected.

2003-03-06  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (impl_finalize): Use
    bonobo_activation_unregister_active_server() instead of
    bonobo_activatino_active_server_unregister().
    (e_shell_construct): Use
    bonobo_activation_register_active_server() instead of
    bonobo_activation_active_server_register().

2003-03-06  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-importer.c (IN): Use G_GNUC_FUNCTION instead of
    __FUNCTION__.
    (OUT): Likewise.

2003-03-06  Ettore Perazzoli  <ettore@ximian.com>

    Patch from Not Zed <NotZed@Ximian.com>:

    * main.c (show_development_warning): Separated the current stable
    version number from the warning prompt, and fixed a minor
    grammatical error.  For bug #38775.

2003-03-06  Ettore Perazzoli  <ettore@ximian.com>

    * e-config-upgrade.c (import_bonobo_config): Protect from val
    being NULL when printf()ing -- should fix #39096 (Solaris-specific
    crash).

2003-03-05  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view-menu.c: Added icon for "/popups/NewPopup/Folder".

2003-03-05  Ettore Perazzoli  <ettore@ximian.com>

    * importer/Makefile.am (BUILT_SOURCES): $(IDL_GENERATED), not
    $(IDL_GENERATED_H).
    (CLEANFILES): Make the same as $(BUILT_SOURCES).
    (GNOME_Evolution_Importer-impl.o): Removed useless rule.

2003-03-04  Mike Kestner  <mkestner@ximian.com>

    * e-shell-view.c (update_for_current_uri): only set current
    folder when the folder_path is different from the current folder.

2003-03-04  Ettore Perazzoli  <ettore@ximian.com>

    * e-folder-dnd-bridge.c (find_matching_target_for_drag_context):
    Handle p->data as a GdkAtom instead of a GdkAtom *.
    (handle_data_received_non_path): Set the target member of the
    corba_data struct to be the name of the atom.

    * e-storage-set-view.c (impl_tree_drag_data_get): Pass the name of
    the atom instead of the atom itself.

    * Evolution-ShellComponentDnd.idl: Changed the type of Data.target
    to string.

2003-03-03  Ettore Perazzoli  <ettore@ximian.com>

    * glade/e-shell-shared-folder-picker-dialog.glade: Swap Cancel/OK
    buttons as per the HIG.  Also added proper response_ids.

2003-03-03  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-folder-selector-button.c (impl_finalize): Protect
    against priv->possible_types being NULL.

2003-02-27  Rodney Dawes  <dobey@ximian.com>

    * Makefile.am (evolution_SOURCES): Add e-config-upgrade.h
    
2003-02-26  Chris Toshok  <toshok@ximian.com>

    * e-folder-list.c (e_folder_list_parse_xml): make this more robust
    - only assume it's a folderlistitem node if the name of the node
    is "folder".

2003-02-26  Jeffrey Stedfast  <fejj@ximian.com>

    * e-config-upgrade.c: Change the type of load_http_images to INT
    rather than BOOL. Fixes bug #38767.

2003-02-26  Dan Winship  <danw@ximian.com>

    * e-shell-startup-wizard.c (start_wizard): New routine to attempt
    to start each available startup wizard in priority order, and
    return once it has successfully started one. (Allows Connector,
    etc, to override the mailer startup wizard.)
    (make_corba_dialog_pages): Use it.

2003-02-26  Not Zed  <NotZed@Ximian.com>

    * apps_evolution_shell.schemas: Added a key for
    /apps/evolution/version - seems the best place to put it.  This
    should not return any value if unset, so i'm not sure if this is
    the right mechanism ...

    * e-config-upgrade.c: Upgrade settings from earlier versions of
    evolution.

    * main.c (upgrade_from_1_0_if_needed): Removed.
    (main): Call e_config_upgrade before going into gmainloop.
    (main): Turn off the --force-upgrade option, since it doesn't work
    yet ...

2003-02-25  Dan Winship  <danw@ximian.com>

    * Evolution-Wizard.idl: Change this to let the Wizard provide an
    array of title/icon/control triplets, instead of just controls, so
    the shell doesn't need to know the name of each page a priori.

    * glade/evolution-startup-wizard.glade: Remove the mailer-specific
    pages, which are now inserted at run time based on info from the
    mailer.

    * evolution-wizard.c: Update for new idl.
    (evolution_wizard_new): Now takes no arguments.
    (evolution_wizard_add_page): New function to add page info to the
    wizard.

    * e-shell-startup-wizard.c: Various renamings to make this
    slightly less mailer-centric, though it still explicitly launches
    the mailer startup wizard.
    (make_corba_page): Replaces make_identity_page, make_receive_page,
    etc. Uses the new Wizard idl to generically create a page and
    insert it into the druid.
    (e_shell_startup_wizard_create): Update

2003-02-25  Dan Winship  <danw@ximian.com>

    * e-shell-startup-wizard.c (connect_page, make_importer_page): Use
    g_signal_connect_after to connect to the "prepare" signal to work
    around a GnomeDruidPageStandard bug (b.g.o 81869)
    (e_shell_startup_wizard_create): Remove the "return TRUE" that was
    added here a while back to disable the startup wizard.

    * glade/evolution-startup-wizard.glade: Change "Next" and "Finish"
    in the text to "Forward" and "Apply" to match the gnome 2 druid
    buttons.

2003-02-24  Rodney Dawes  <dobey@ximian.com>

    * e-shell-view.c: Doh, forgot to remove the e-gray-bar.h include
    
2003-02-24  Rodney Dawes  <dobey@ximian.com>

    * Makefile.am: We don't need e-gray-bar.[ch] anymore
    * e-gray-bar.[ch]: Remove these unused files now
    * e-shell-folder-title-bar.c: We are themeable now!!!!
    Use GtkArrows now instead of pixmaps
    Get rid of the hardcoded colors
    Add an expose_event to paint a flat box for the background
    * e-shell-view.c: Don't need e-gray-bar anymore
    
2003-02-24  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-shell-component.c (impl_populateFolderContextMenu):
    Don't release_unref the corba_uih since
    bonobo_ui_component_set_container() takes ownership of the object
    without reffing it.

2003-02-24  Ettore Perazzoli  <ettore@ximian.com>

    * glade/e-active-connection-dialog.glade: Update dialog to use
    stock response IDs.

2003-02-20  Not Zed  <NotZed@Ximian.com>

    * main.c (upgrade_from_1_0_if_needed): fix the conf keys, currently unused.

    * e-shell.c (save_settings_for_component): lower-case the config prefix.

2003-02-20  Dan Winship  <danw@ximian.com>

    * Makefile.am (evolution_LDADD):
    s/libemiscwidgets.a/libemiscwidgets.la/ and likewise for
    libetimezonedialog

2003-02-18  Ettore Perazzoli  <ettore@ximian.com>

    * e-shortcuts.c (shortcut_item_new): Get the name from the name,
    not the type.  Fixes #37952, pointed out by Lonnie Borntreger.

2003-02-17  Chris Toshok  <toshok@ximian.com>

    * e-shortcuts.c (load_shortcuts): plug memory leak - free path.

2003-02-13  Ettore Perazzoli  <ettore@ximian.com>

    [Ported SIGSEGV signal redirection hack from mail/.]

    * main.c (segv_redirect): New, SIGSEGV signal handler.
    (setup_segv_redirect): New function to set it up.
    (main): Call setup_segv_redirect().

2003-02-12  Ettore Perazzoli  <ettore@ximian.com>

    * e-setup.c (DEFAULT_USER_PATH): Look into evolution/$BASE_VERSION
    instead of evolution-$BASE_VERSION.

2003-02-11  Joe Shaw  <joe@ximian.com>

    * main.c (show_development_warning): Suggest people use 1.2.x instead
    of 1.0.x.

2003-02-09  Larry Ewing  <lewing@ximian.com>

    * e-local-storage.c (remove_folder_directory): fix length calculation.
    (create_folder_directory): remove alloca usage, clears up crash.

2003-02-07  Larry Ewing  <lewing@ximian.com>

    * e-shell-folder-creation-dialog.c
    (folder_name_entry_activate_cb): add an activate handler that
    returns a response OK if the OK response would be active.

2003-02-06  Dan Winship  <danw@ximian.com>

    * evolution-test-component.c (main): s/PACKAGE/GETTEXT_PACKAGE/ in
    gettext init.

2003-02-06  Not Zed  <NotZed@Ximian.com>

    * e-shortcuts-view.c (class_init): use POINTER_STRING_BOOL for
    activate_shortcut.

    * e-shell-marshal.list: Added NONE,STRING,BOOL, and
    POINTER,STRING,BOOL, removed POINTER,STRING,INT

    * evolution-shell-view.c (evolution_shell_view_class_init): Use
    STRING_BOOL for the set_message signal to match rest of command.

    * e-shell-marshal.list: Added NONE,STRING,STRING,STRING

    * evolution-shell-component.c
    (evolution_shell_component_class_init): Change the
    user_create_new_item marshaller to STRING_STRING_STRING to match
    the rest of the call.  The 'new' button should work now.

    * e-setup.c (copy_default_stuff): We want to copy whats in the
    default user dir, not the default user dir.

2003-02-05  Dan Winship  <danw@ximian.com>

    * Makefile.am (INCLUDES): Define EVOLUTION_IMAGES using
    $(imagesdir). Define EVOLUTION_GLADEDIR using $(gladedir)
    (eshellincludedir): Define in terms of $(privincludedir)
    (evolution_LDFLAGS): Remove this. gmodule-2's LDFLAGS include the
    equivalent of -export-dynamic for us.
    (serverdir, etspecdir): Remove. Defined in configure.in now.

    * e-folder.c: #include <string.h>
    * e-corba-config-page.c: Likewise
    * e-shell-config.c: Likewise
    * e-shell-folder-creation-dialog.c: Likewise
    * e-shell-folder-title-bar.c: Likewise
    * e-shell-startup-wizard.c: Likewise
    * evolution-activity-client.c: Likewise.
    * evolution-shell-component-client.c: Likewise
    * evolution-shell-component-utils.c: Likewise
    * evolution-storage.c: Likewise
    * evolution-test-component.c: Likewise

    * e-shortcuts-view.c (destroy_group_cb): Remove unused variable

    * importer/Makefile.am (INCLUDES): Remove -I$(includedir). Define
    EVOLUTION_GLADEDIR using $(gladedir).
    (libevolution_importerincludedir): Define in terms of
    $(privincludedir)
    (gladedir): Removed. Defined in configure.in now.

    * glade/Makefile.am (gladedir): Likewise

2003-02-05  Dan Winship  <danw@ximian.com>

    * importer/evolution-intelligent-importer.c:
    s/BonoboXObject/BonoboObject/

    * e-folder-list.c (e_folder_list_class_init):
    s/glade_gnome_init/glade_init/

    * main.c (main): Likewise

2003-02-05  Not Zed  <NotZed@Ximian.com>

    * e-shell-startup-wizard.c (start_importers): re-enable.
    (prepare_importer_page): re-enable importer code.

    * e-shell-importer.c (druid_finish_button_change): removed, since
    its not such a hack to change anymore.  Dunno how to get an icon
    on it tho, without a stock button.
    (show_import_wizard): Change the apply button to "Import" here.

2003-01-28  Not Zed  <NotZed@Ximian.com>

    * e-local-storage.c (create_folder_directory): We can't use
    pointer arithmetic with g_path_get_*, so adjust code accordingly.

2003-01-16  Not Zed  <NotZed@Ximian.com>

    * e-shell-startup-wizard.c (e_shell_startup_wizard_create): Hook
    onto finish instead of next on the last page.

2003-01-28  Ettore Perazzoli  <ettore@ximian.com>

    * Makefile.am ($(SELECT_NAMES_IDL_GENERATED_C)): No need for the
    @true command.
    ($(IDL_GENERATED_C)): Likewise.
    (e-shell-marshal.h, e-shell-marshal.c): Use different names for
    the .tmp files so these can be generated in parallel.

    * importer/Makefile.am (GNOME_Evolution_Importer-impl.o): Remove
    unused rule.
    ($(IDL_GENERATED_C)): Remove useless @true command.
    (BUILT_SOURCES): Put the .h generated files in here as well.

2003-01-28  Ettore Perazzoli  <ettore@ximian.com>

    * Makefile.am (Evolution-impl.o): Removed unused rule.

2003-01-28  Ettore Perazzoli  <ettore@ximian.com>

    * importer/Makefile.am: Make this work with parallel make as well.

2003-01-28  Ettore Perazzoli  <ettore@ximian.com>

    * Makefile.am: Use a little trick for the IDL compilation so that
    it works with parallel makes.

2003-01-28  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (e_shell_construct): Use
    bonobo_activation_server_register() instead of
    bonobo_activation_register_active_server() again, since we want to
    be able to build against bonobo-activation 2.0 and the latter is
    2.2-specific.
    (impl_finalize): Likewise, use
    bonobo_activation_active_server_unregister() instead of
    bonobo_activation_unregister_active_server().

2003-01-27  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-importer.c (choose_importer_from_list): Set
    GTK_RESPONSE_OK as the default response.

    * Makefile.am (INCLUDES): Add -DGNOME_DISABLE_DEPRECATED,
    -DBONOBO_DISABLE_DEPRECATED.

    * e-shortcuts.c (update_shortcut_and_emit_signal): Use
    g_signal_emit() instead of gtk_signal_emit().

    * e-shortcuts-view.c (destroy_group_cb): Port from GnomeMessageBox
    to GtkMessageDialog.

    * e-shell.c (get_icon_path_for_component_info): Use
    gnome_program_locate_file() instead of gnome_pixmap_file().
    (impl_finalize): Use bonobo_activation_unregister_active_server()
    instead of bonobo_activation_active_server_register().
    (e_shell_construct): Use
    bonobo_activation_register_active_server() instead of
    bonobo_activation_active_server_register().

    * e-shell-view-menu.c (command_submit_bug): Use e_notice().
    (launch_pilot_settings): Use g_find_program_in_path() instead of
    gnome_is_program_in_path().
    (command_submit_bug): Likewise.

    * e-shell-utils.c (get_icon_path): Use g_file_test() instead of
    g_file_exists().

    * e-shell-startup-wizard.c (prepare_importer_page): Port from
    GnomeMessageBox to GtkMessageDialog.

    * e-shell-shared-folder-picker-dialog.c (show_dialog): Update for
    GtkDialog.
    (progress_dialog_close_callback): Removed.
    (progress_dialog_clicked_callback): Removed.
    (progress_dialog_response_callback): New.
    (create_progress_dialog): Ported to GnomeDialog.

    * e-shell-offline-sync.c: Add member parent_window to struct
    SyncData.
    (e_shell_offline_sync_all_folders): Set it from the parent_window
    arg.
    (progress_dialog_close_callback): Removed.
    (progress_dialog_clicked_callback): Removed.
    (progress_dialog_response_callback): New.
    (setup_dialog): Create a GtkDialog instead of a GnomeDialog.
    (sync_folder): Updated for GtkDialog.

    * e-shell-offline-handler.c (dialog_handle_ok): Make it get a
    GtkDialog instead of a GnomeDialog.
    (dialog_handle_cancel): Likewise.
    (dialog_clicked_cb): Removed.
    (dialog_response_cb): New.
    (pop_up_confirmation_dialog): Connect the new dialog_response_cb()
    instead of the old dialog_clicked_cb().  Removed
    gnome_dialog_set_default() call.

    * e-shell-folder-creation-dialog.c (dialog_response_cb): Make
    first arg a GtkDialog, not a GnomeDialog.

    * e-shell-folder-commands.c (e_shell_command_delete_folder):
    Expect delete_dialog() to return a GtkResponseType.
    (delete_dialog): Ported to GtkMessageDialog; Return a
    GtkResponseType.

    * e-shell-config-default-folders.c
    (e_shell_config_default_folders_create_widget): Removed unused
    variable.

    * e-setup.c (check_evolution_directory): Remove Evolution
    directory installation message.
    (e_setup): Remove check for the Executive-Summary directory.

    * e-local-storage.c (create_folder_directory): Use g_file_test()
    instead of g_file_exists().

    * evolution-shell-component-utils.c (e_pixmaps_update): Use
    g_build_filename() of g_concat_dir_and_file().
    * e-folder-dnd-bridge.c (handle_data_received_path): Likewise.
    * e-local-folder.c (construct_loading_metadata): Likewise.
    (save_metadata): Likewise.
    * e-local-storage.c (remove_folder_directory): Likewise.
    (append_xfer_item_list): Likewise.
    * e-setup.c (check_dir_recur): Likewise.
    (e_shell_rm_dir): Likewise.
    (setup_bonobo_conf_private_directory): Likewise.
    * e-shell-folder-commands.c
    (folder_selection_dialog_folder_selected_callback): Likewise.
    (e_shell_command_rename_folder): Likewise.
    * e-shell-folder-creation-dialog.c (dialog_response_cb): Likewise.
    * e-shell-settings-dialog.c (load_pages): Likewise.
    * e-shell-utils.c (get_icon_path): Likewise.
    * e-shell.c (setup_local_storage): Likewise.
    (get_icon_path_for_component_info): Likewise.
    (e_shell_construct): Likewise.
    * main.c (main): Likewise.

2003-01-27  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-about-box.c (timeout_callback): Pass a the context's
    language to pango_context_get_metrics() instead of NULL, so the
    heights are computed correctly.

2003-01-27  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-shell-component.c (owner_ping_callback): #if 0'ed out
    for now, since it seems to cause trouble for local components.
    (setup_owner_pinging): Likewise.

    * e-shell-user-creatable-items-handler.c
    (get_default_action_for_view): Return default_menu_item [instead
    of NULL] if there is no view displayed.  [#32736]

2003-01-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-title-bar.c (get_max_clipped_label_width): Use
    clipped_label->layout instead of creating a new PangoLayout; this
    way we respect the actual font being used.

2003-01-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (create_label_for_empty_page): Update for new
    args to e_clipped_label_new().

    * e-shell-folder-title-bar.c (e_shell_folder_title_bar_construct):
    Make the title label bold and larger using the new args to
    e_clipped_label_new().

2002-01-23  Ettore Perazzoli  <ettore@ximian.com>

    [Port fix for #34129 from evolution-1-2-branch, unread count in
    shortcut bar doesn't update properly.]

    * e-shortcuts.c (update_shortcuts_by_path): Use
    e_shell_parse_uri() so we handle default shortcuts properly as
    well.
    (update_shortcut_and_emit_signal): Use shortcut_item_update()
    once, and use the return value from it.  [Thanks to Leon Zhang
    <leon.zhang@sun.com> for pointing out the brokenness of this
    code.]

2003-01-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-about-box.c: Update copyright year.

2003-01-22  Ettore Perazzoli  <ettore@ximian.com>

    * Makefile.am: Install the shell executable as
    evolution-$(BASE_VERSION) using an install-exec-local hack.  Also
    put libeshell in $(privlibdir) instead of $(libdir).
    (eshellincludedir): Version using $(BASE_VERSION).
    (INCLUDES): Update for the new locations of things.
    (etspecdir): Likewise.

    * e-shell-view.c (e_shell_view_construct): Get evolution.xml from
    EVOLUTION_UIDIR.

    * importer/Makefile.am: Install libevolution-importer in
    $(privlibdir) instead of $(libdir).
    (INCLUDES): Updated for the new versioned paths.  Define
    EVOLUTION_UIDIR.
    (libevolution_importerincludedir): Version using $(BASE_VERSION).
    (gladedir): Likewise.

    * glade/Makefile.am (gladedir): Version using $(BASE_VERSION).

    * e-setup.c (DEFAULT_USER_PATH): New #define.
    (check_evolution_directory): Use it.
    (copy_default_stuff): Likewise.  Also, remove old shortcuts.xml
    removal cruft.

2003-01-17  Chris Toshok  <toshok@ximian.com>

    * e-shell-settings-dialog.c (set_dialog_size): pass
    pango_context_get_language (context) to
    pango_context_get_metrics.

2003-01-14  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-selection-dialog.c
    (e_shell_folder_selection_dialog_construct): Make dialog
    New/Cancel/OK to match HIG.

    * glade/e-shell-folder-creation-dialog.glade: Swap Cancel/OK
    buttons to match HIG.

    * e-shell-importer.c (choose_importer_from_list): Make dialog
    Cancel/OK to match HIG.

    * e-shell-folder-selection-dialog.c
    (e_shell_folder_selection_dialog_construct): Make dialog Cancel/OK
    to match HIG.

    * e-shell-view.c: Do not #include "e-bonobo-widget.h".

2003-01-14  Ettore Perazzoli  <ettore@ximian.com>

    * Makefile.am (EXTRA_DIST): Add $(schema_DATA) here.

2003-01-14  Rodney Dawes  <dobey@ximian.com>

    * e-shell-view.c: Use GtkPaned instead of EPaned
    
2003-01-13  Dan Winship  <danw@ximian.com>

    * s/BonoboXObject/BonoboObject/ (for BONOBO_DISABLE_DEPRECATED)

2003-01-10  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-shell-component.c (impl_setOwner): Don't duplicate the
    shell object here before passing to evolution_shell_client_new().

    * evolution-shell-client.c (evolution_shell_client_construct):
    Dupliate the @corba_shell before storing into the
    EvolutionShellClientPrivate struct.

    * e-shell-config-default-folders.c
    (e_shell_config_default_folders_create_widget): Do not duplicate
    the shell's CORBA objref.

    * e-shell-config-autocompletion.c
    (e_shell_config_autocompletion_create_widget): Do not duplicate
    the shell's CORBA objref.

2003-01-10  Dan Winship  <danw@ximian.com>

    * e-storage-set-view.c (popup_folder_menu): Make this work again.

2003-01-10  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (e_shell_view_save_defaults): Save the expansion
    state of the EStorageSetView.
    (setup_defaults): Load the expansion state.

2003-01-10  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (e_shell_request_close_view): Make the view save its
    settings as the default ones if it's the last one.

    * e-shell-view-menu.c (command_quit): Make this view save its
    settings as the defaults before quitting.

2003-01-10  Ettore Perazzoli  <ettore@ximian.com>

    * main.c (main): Generate the URI list from the popt context
    fetched from the GnomeProgram object.

    * e-shell-view.c (setup_defaults): Removed @setup_default_uri arg.
    Don't load any URI here.
    (e_shell_view_construct): Open the URI here instead.

2003-01-10  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (parse_default_uri): Remove bogus is_default check.

2003-01-10  Ettore Perazzoli  <ettore@ximian.com>

    * e-setup.c (set_default_folder_physical_uri_from_path): New
    function.
    (e_setup_check_config): Call it for each of the *_path keys.  Do
    not set the default for *_path keys as those come from the GConf
    schema anyways.

2003-01-10  Ettore Perazzoli  <ettore@ximian.com>

    * apps_evolution_shell.schemas: Set defaults for
    /apps/evolution/shell/default_folders/... .

    * e-shortcuts-view.c (pop_up_right_click_menu_for_group): Destroy
    the popup_menu with gtk_widget_destroy() instead of
    gtk_widget_unref().

2003-01-10  Not Zed  <NotZed@Ximian.com>

    * evolution-config-control.c (impl_apply): remove cast to
    GTK_OBJECT, it isn't, nor needed.

2003-01-09  Chris Toshok  <toshok@ximian.com>

    * e-shell-settings-dialog.c (set_dialog_size): use
    pango_layout_get_pixel_size here instead of
    pango_layout_get_width, which returns 0 (unless it's been set by
    the user before, I believe).

2003-01-09  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-shell-client.c (impl_dispose): Properly reset
    activity_interface to NULL.
    (evolution_shell_client_construct): Ref the shell object here.

    * e-shell.c (view_weak_notify): Ref the shell since it's being
    passed to notify_no_views_left_idle_cb as the data.
    (notify_no_views_left_idle_cb): Only unref the shell here.

2003-01-08  Not Zed  <NotZed@Ximian.com>

    * e-shell-settings-dialog.c (set_dialog_size): dont unref the
    pango context, get_context() doesn't create a ref.

2003-01-08  Ettore Perazzoli  <ettore@ximian.com>

    * Makefile.am: Images are now in $(datadir)/evolution/images
    instead of $(datadir)/images/evolution.

    * e-folder-list.c (e_folder_list_class_init): Remove
    "EFolderList::" prefix from the properties.

2003-01-08  Ettore Perazzoli  <ettore@ximian.com>

    * Makefile.am (evolution_LDFLAGS): -export-dynamic so custom
    widgets in libglade work.

2003-01-07  Dan Winship  <danw@ximian.com>

    * main.c (main): setup gettext

2003-01-06  Not Zed  <NotZed@Ximian.com>

    * evolution-folder-selector-button.c (set_folder): dont
    double-free storage_lname.

2003-01-06  Dan Winship  <danw@ximian.com>

    * Makefile.am: Remove idldir definition. (It's defined in
    configure.in now).

    * importer/Makefile.am: Likewise

2002-12-19  Ettore Perazzoli  <ettore@ximian.com>

    [With this commit, the shell compiles without deprecated GLib/GTK+
    functions, except for a couple of places were we use GtkCList.]

    * Makefile.am (INCLUDES): Add `-DG_DISABLE_DEPRECATED
    -DGTK_DISABLE_DEPRECATED'.

    * evolution-test-component.c (create_new_folder_selector): No
    gtk_window_set_policy().

    * main.c (quit_box_new): gtk_window_set_resizable() instead of
    gtk_window_set_policy().
    (view_map_callback): g_signal_handlers_disconnect_by_func()
    instead of gtk_signal_disconnect_by_func().
    (main): No need to push the GdkRGB visual/cmap anymore.
    (new_view_created_callback): Likewise.

    * e-task-widget.c: Renamed member pixmap of ETaskWidgetPrivate to
    `image'.
    (init): Updated accordingly.
    (e_task_widget_construct): Use GtkImage, not GtkPixmap.

    * e-storage.c (class_init): Converted from gtk_signal_new() to
    g_signal_new().

    * e-storage-set.c (class_init): Converted from gtk_signal_new() to
    g_signal_new().

    * e-storage-set-view.c
    (setup_folder_properties_items_if_corba_storage_clicked):
    g_string_append_printf() instead of g_string_sprintfa().
    (class_init): Converted from gtk_signal_new() to g_signal_new().
    (setup_folder_changed_callbacks): Use
    e_signal_connect_while_alive() and
    e_signal_connect_full_while_alive().

    * e-splash.c (e_splash_construct): gtk_window_set_resizable()
    instead of gtk_window_set_policy().

    * e-shortcuts.c: Do not #include e-unicode.h.
    (shortcut_item_update): Use g_path_get_basename() instead of
    g_basename().
    (e_shortcuts_add_default_shortcuts): No need to de-utfize strings.
    (e_shortcuts_add_default_group): Same here.

    * e-shortcuts-view.c: Do not #include <e-unicode.h>.
    (class_init): Converted from gtk_signal_new() to g_signal_new().
    (destroy_group_cb): No need to convert the text from UTF8.

    * e-shell.c (impl_dispose): g_signal_handlers_disconnect_by_func()
    instead of gtk_signal_disconnect_by_func().
    (class_init): Use g_signal_new() instead of gtk_signal_new().

    * e-shell-view.c: Do not #include e-unicode.h.  Renamed member
    offline_toggle_pixmap to offline_toggle_image in
    EShellViewPrivate.
    (update_folder_title_bar): No need to de-UTF8-ize the title.
    (cleanup_delayed_selection):
    g_signal_handlers_disconnect_by_func() instead of
    gtk_signal_disconnect_by_func().
    (ui_engine_add_hint_callback): gtk_label_set_text(), not
    gtk_label_set().
    (class_init): Use g_signal_new() instead of gtk_signal_new().
    (update_for_current_uri): No need to convert the title from UTF8.
    (setup_offline_toggle): Changed to set up a GtkImage, not a
    GtkPixmap.
    (update_offline_toggle_status): Accordingly (gtk_image* instead of
    gtk_pixmap*).
    (set_current_notebook_page): gtk_notebook_set_current_page(), not
    gtk_notebook_set_page().
    (get_storage_set_path_from_uri): g_ascii_strncasecmp() instead of
    g_strncasecmp().
    (folder_bar_popup_map_callback): Use
    e_signal_connect_while_alive() instead of
    gtk_signal_connect_while_alive().
    (e_shell_view_construct): Likewise.
    (display_uri): g_signal_connect_after() instead of
    gtk_signal_connect_full().
    (update_for_current_uri):
    g_signal_handlers_{block,unblock}_by_func() instead of
    gtk_signal_handler_{block,unblock}_by_func().

    * e-shell-view-menu.c (command_about_box):
    gtk_window_set_resizable() instead of gtk_window_set_policy().

    * e-shell-utils.c (get_mini_name): g_path_get_basename() instead
    of g_basename().

    * e-shell-user-creatable-items-handler.c
    (append_xml_for_menu_item): g_string_append_printf() instead of
    g_string_sprintfa().
    (create_menu_xml): Likewise.

    * e-shell-shared-folder-picker-dialog.c: Do not #include
    e-unicode.h.
    (progress_bar_timeout_callback): Expect a GtkProgressBar data and
    just use gtk_progress_bar_pulse().
    (create_progress_dialog): gtk_window_set_resizable() instead of
    gtk_window_set_policy().  No gtk_progress_set_activity_mode().
    (setup_server_option_menu): Just use
    gtk_menu_item_new_with_label() instead of
    e_utf8_gtk_menu_item_new_with_label().

    * e-shell-settings-dialog.c (set_dialog_size): Ported to Pango.

    * e-shell-offline-sync.c
    (impl_SyncFolderProgressListener_updateProgress):
    gtk_progress_set_fraction() instead of
    gtk_progress_bar_set_percentage().
    (sync_folder): Likewise.
    (setup_dialog): gtk_window_set_resizable() instead of
    gtk_window_set_policy().
    (sync_folder): No gtk_progress_set_activity_mode().

    * e-shell-offline-handler.c: #undef {G,GTK}_DISABLE_DEPRECATED
    here for now (need to port from GtkCList).
    (class_init): Use g_signal_new()

    * e-shell-importer.c: #undef {G,GTK}_DISABLE_DEPRECATED here for
    now (need to port from GtkCList).

    * e-shell-folder-title-bar.c (create_image_widget_from_xpm):
    Renamed from create_pixmap_widget_from_xpm(); handle GtkImage
    instead of GtkPixmap.
    (new_empty_image_widget): Renamed from new_empty_pixmap_widget();
    return a GtkImage instead of a GtkPixmap.
    (add_navigation_buttons): Updated accordingly; so use GtkImages
    instead of GtkPixmaps.
    (e_shell_folder_title_bar_construct): Likewise.
    (e_shell_folder_title_bar_set_icon): Use gtk_image_* instead of
    gtk_pixmap_* on the image widgets.
    (class_init): Converted to use g_signal_new() instead of
    gtk_signal_new().
    (e_shell_folder_title_bar_new): No need for pushing the GdkRGB
    visual/cmap anymore.

    * e-shell-folder-selection-dialog.c (check_folder_type_valid):
    Just use strcmp instead of strcasecmp().
    (class_init): g_signal_new() instead of gtk_signal_new().
    (e_shell_folder_selection_dialog_construct): Removed call to
    gtk_window_set_policy().

    * e-shell-folder-creation-dialog.c
    (type_with_display_name_compare_func): Changed to use
    g_utf8_casefold().

    * e-shell-folder-commands.c: Do not #include e-unicode.h.
    (e_shell_command_rename_folder): g_path_get_dirname() instead of
    g_dirname().
    (folder_selection_dialog_folder_selected_callback):
    g_path_get_basename() instead of g_basename().
    (rename_cb): Likewise.
    (delete_dialog): Do not convert from UTF8 for display purposes.
    (e_shell_command_rename_folder): Likewise.

    * e-shell-about-box.c (timeout_callback): Ported to Pango and use
    gdk_window_invalidate_rect() instead of gtk_widget_draw().

    * e-setup.c (check_evolution_directory): Use
    gtk_window_set_resizable() instead of gtk_window_set_policy().

    * e-local-storage.c: Do not include e-unicode.h.
    (create_folder): Use g_path_get_basename() instead of
    g_basename().
    (create_folder_directory): Likewise.
    (remove_folder_directory): Likewise.
    (append_xfer_item_list): Likewise.

    * e-local-folder.c (construct_loading_metadata): Use
    g_path_get_basename() instead of g_basename().

    * e-folder-dnd-bridge.c (handle_evolution_path_drag_motion): Use
    g_path_get_basename() instead of g_basename().

    * e-corba-storage-registry.c: G_STRUCT_OFFSET instead of
    GTK_STRUCT_OFFSET.

    * e-corba-shortcuts.c: G_STRUCT_OFFSET instead of
    GTK_STRUCT_OFFSET.

    * e-component-registry.c
    (sleep_with_g_main_loop_timeout_callback): g_main_loop_* instead
    of g_main_*.
    (sleep_with_g_main_loop): Likewise.

    * e-activity-handler.c: G_STRUCT_OFFSET instead of
    GTK_STRUCT_OFFSET.

    * evolution-wizard.c (evolution_wizard_class_init): g_signal_new()
    instead of gtk_signal_new().

    * evolution-storage-listener.c (class_init): g_signal_new()
    instead of gtk_signal_new().

    * evolution-shell-view.c (class_init): g_signal_new() instead of
    gtk_signal_new().

    * evolution-shell-component-dnd.c: G_STRUCT_OFFSET instead of
    GTK_STRUCT_OFFSET.

    * evolution-shell-component.c: G_STRUCT_OFFSET instead of
    GTK_STRUCT_OFFSET.

    * evolution-session.c: G_STRUCT_OFFSET instead of
    GTK_STRUCT_OFFSET.

    * evolution-folder-selector-button.c: Do not include e-unicode.h.
    (set_folder): No need to convert from UTF8 to locale encoding
    anymore.  Removed unused variable.

    * evolution-config-control.c (class_init): Use g_signal_new()
    instead of gtk_signal_new().

    * evolution-activity-client.c (class_init): Use g_signal_new()
    instead of gtk_signal_new().

    * e-folder-list.c: Do not include e-unicode.h.  Use E_MAKE_TYPE().
    (e_folder_list_get_type): Removed explicit implementation of this.
    (e_folder_list_set_arg): Removed.
    (e_folder_list_get_arg): Removed.
    (e_folder_list_set_property): New.
    (e_folder_list_get_property): New.
    (e_folder_list_destroy): Removed.
    (e_folder_list_dispose): New.
    (e_folder_list_class_init): Updated accordingly.

    * e-folder.c (impl_save_info): Use G_OBJECT_TYPE_NAME() instead of
    gtk_type_name().
    (impl_load_info): Likewise.
    (impl_remove): Likewise.
    (class_init): Use g_signal_new() instead of gtk_signal_new().

2002-12-16  Jeffrey Stedfast  <fejj@ximian.com>

    * e-shell-importer.c: Don't #include "e-util/e-html-utils.h" as
    we don't use it.

2002-12-13  Chris Toshok  <toshok@ximian.com>

    [ fixes bug #35394 ]
    
    * e-shell-shared-folder-picker-dialog.c (setup_name_selector):
    return the SelectNames corba interface too.
    (show_dialog): unref the corba interface when closing the dialog.

2002-12-05  Chris Toshok  <toshok@ximian.com>

    * e-shell-config-default-folders.c: use "contacts",
    "contacts/ldap" as the accepted contacts types, so it'll allow
    both normal and ldap contact folders.

2002-12-04  Ettore Perazzoli  <ettore@ximian.com>

    * e-component-registry.c (component_free): Only invoke
    wait_for_corba_object_to_die on components that are out-of-proc.

2002-11-27  Not Zed  <NotZed@Ximian.com>

    * main.c (show_development_warning): changed to use a gtkdialog
    instead of a gnome one.
    (warning_dialog_response_callback): clicked->response.

    * e-shell-folder-selection-dialog.c: Include gtk/gtkstock.h

    * e-shell-folder-creation-dialog.c: include gnome-dialog.h
    (dialog_response_cb): gtk_entry_get_text now returns const.  Dont
    free result.

    * e-setup.c: include gnome-messagebox.h

    * *.c: (re)run fix.sh over all, for e_notice changes & pick up
    some deprecated functions.

    * e-shell-shared-folder-picker-dialog.c
    (shared_folder_discovery_callback): reformat e_notice call for
    script.

    * e-shell-offline-sync.c
    (impl_SyncFolderProgressListener_reportFailure): Fix e_notice
    call, we weren't passing type in.

    * e-shell-folder-commands.c (xfer_result_callback): changed around
    slightly to save some processing & allow a script to run.
    (e_shell_command_rename_folder): reformat e_notice call to help script.
    Include gnome-messagebox.h

2002-11-25  Dan Winship  <danw@ximian.com>

    * e-shell-settings-dialog.c (page_new): e_get_language_list now
    returns language codes that actually work with oaf, making the
    _()s here redundant.

    * e-component-info.c (get_i18n_value): Remove code to turn "fr_FR"
    into "fr", since e_get_language_list will return both now.

2002-11-25  Ettore Perazzoli  <ettore@ximian.com>

    * apps_evolution_shell.schemas: Fix <key> -> <applyto> typo.

2002-11-25  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-offline-sync.c (e_shell_offline_sync_all_folders):
    Filled in, use GConf.
    (cleanup): Re-enabled again.
    (sync_folder): Likewise.
    (progress_dialog_close_callback): Likewise.
    (progress_dialog_clicked_callback): Likewise.
    (setup_dialog): Likewise.
    (setup_progress_listener): Likewise.
    (impl_SyncFolderProgressListener_reportFailure): Likewise.
    (impl_SyncFolderProgressListener_reportSuccess): Likewise.
    (impl_SyncFolderProgressListener_updateProgress): Likewise.
    (progress_listener_servant_free): Likewise.
    (progress_listener_servant_new): Likewise.

2002-11-25  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-storage-set-view.c
    (impl_StorageSetView__set_checkedFolders): Updated to pass a
    GSList to e_storage_set_view_set_checkboxes_list() [instead of a
    GList].
    (impl_StorageSetView__get_checkedFolders): Likewise with the
    return value from e_storage_set_view_get_checkboxes_list().

    * e-shell-config-offline.c (config_control_apply_callback): Filled
    in, using GConf.
    (init_storage_set_view_status_from_config): Likewise.

    * e-storage-set-view.c (e_storage_set_view_get_checkboxes_list):
    Return a GSList instead of a GList.
    (essv_add_to_list): Update for the GSList.
    (e_storage_set_view_set_checkboxes_list): Get a GSList instead of
    a GList.

    * apps_evolution_shell.schemas: Added
    /schemas/apps/evolution/shell/offline/folder_paths.

2002-11-20  Ettore Perazzoli  <ettore@ximian.com>

    * main.c (idle_cb): Set displayed_any in the case when we are
    calling e_shell_create_view().  Also initialize displayed_any to
    FALSE earlier so we dont' end up opening two views at startup by
    default.

2002-11-20  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-selection-dialog.c (impl_dispose): Save the
    expansion state for the EStorageSetView here.
    (impl_finalize): Instead of here.

2002-11-20  Chris Toshok  <toshok@ximian.com>

    * e-folder-list.c (e_folder_list_class_init): use e_shell_
    marshallers, and make sure STRING parameters map to *_STRING*
    marshallers.

    * evolution-wizard.c (evolution_wizard_class_init): same.

    * evolution-storage.c (class_init): same.

    * evolution-storage-set-view-listener.c (class_init): same.

    * evolution-storage-listener.c (class_init): same.

    * evolution-shell-view.c (class_init): same.

    * evolution-session.c (class_init): same.

    * evolution-folder-selector-button.c (class_init): same.

    * evolution-config-control.c (class_init): same.

    * evolution-activity-client.c (class_init): same.

    * e-storage-set.c (class_init): same.

    * e-shortcuts.c (class_init): same.

    * e-shortcuts-view.c (class_init): same.

    * e-shell.c (class_init): same.

    * e-shell-view.c (class_init): same.

    * e-shell-offline-handler.c (class_init): same.

    * e-shell-folder-title-bar.c (class_init): same.

    * e-shell-folder-selection-dialog.c (class_init): same.

    * e-folder.c (class_init): same.

    * e-shell-marshal.list: add all the STRING marshallers.
    
2002-11-20  Not Zed  <NotZed@Ximian.com>

    * e-shell-importer.c (prepare_intelligent_page): gnome message box
    -> gtk message dialog.
    (prepare_intelligent_page): Fix the signature on this.  This could
    NEVER have worked.

2002-11-19  Ettore Perazzoli  <ettore@ximian.com>

    * main.c (upgrade_from_1_0_if_needed): Disabled for now.

    * e-shell-startup-wizard.c: Removed member config_listener from
    struct SWData.
    (e_shell_startup_wizard_create): Updated accordingly, just use
    GConf, checking the /apps/evolution/mail/account-list key.
    (finish_func): Use GConf.

    * e-shell-config-default-folders.c: Removed member config_listener
    in struct EvolutionDefaultFolderConfig.
    (e_shell_config_default_folders_create_widget): Do not initialize
    here.  GConfified the paths.
    (config_control_destroy_notify): No unref of the config_listener
    anymore.
    (config_control_apply_cb): Use GConf.
    (setup_folder_selector): Likewise.

    * e-shell-config-autocompletion.c: Removed member config_listener
    from EvolutionAutocompletionConfig.
    (config_control_destroy_notify): Do not unref.
    (config_control_apply_callback): Use a GConfClient.

    * e-folder-list.c (e_folder_list_init): Add missing cast.

    * main.c (show_development_warning): Use GConf.

    * e-setup.c (e_setup_check_config): Removed arg @listener.
    GConfified.

    * e-shell-view.c (e_shell_view_save_defaults): New.
    (e_shell_view_save_settings): Removed.
    (e_shell_view_load_settings): Removed.
    (setup_defaults): New helper function.
    (e_shell_view_construct): New arg @uri.
    (e_shell_view_new): New arg @uri.

    * e-shell.c: Removed member config_listener in struct
    EShellPrivate.
    (impl_dispose): Do not unref.
    (init): Do not initialize.
    (get_config_start_offline): New helper function.
    (e_shell_construct): Use this to get the startup mode in case
    E_SHELL_STARTUP_LINE_MODE_CONFIG.
    (save_misc_settings): Changed to use GConfClient instead of
    EConfigListener.
    (e_shell_create_view_from_settings): Removed.
    (e_shell_restore_from_settings): Removed.
    (e_shell_get_config_listener): Removed.
    (e_shell_disconnect_db): Removed.
    (parse_default_uri): Use GConf.

    * main.c (idle_cb): Simplified the logic here.  Always assume that
    the view will be created with the default folder open by just
    using e_shell_create_view().

2002-11-19  Not Zed  <NotZed@Ximian.com>

    * e-shell-shared-folder-picker-dialog.c (show_dialog): Pass type
    to bonobo_widget::set_property.

2002-11-18  Not Zed  <NotZed@Ximian.com>

    * e-shell-view-menu.c (file_verbs[]): re-enable importer wizard.

    * importer/importer.c (dialog_response_cb): from clicked_cb.
    (start_import): gtkdialogise.

    * e-shell-importer.c: removed redundant header.
    (create_html): Removed utf8 from locale stuff.
    (get_name_from_component_info): oaf->bonobo activation.
    (get_iid_for_filetype): "
    (create_plugin_menu): Likewise, and change oafiid to bonoboiid
    (get_intelligent_importers): "
    (prepare_intelligent_page): "
    (show_import_wizard): add null domain to glade_xml_new.
    (choose_importer_from_list): gtkdialogise.
    (dialog_response_cb): changed from dialog_clicked_cb.
    (start_import): gtkdialogise.
    (show_error): use gtk message box.
    (error_response_cb): callback to close error box.
    (show_import_wizard): gnome_druid_page_start/finish ->
    gnome_druid_page_edge.
    (prepare_file_page):
    (filename_changed): set HELP button insensitive.
    (create_plugin_menu): casts for warnings and fix a typo,
    set_data->set_data_full.
    (import_druid_finish): folder_selection_dialog api change(?),
    allow create.
    (dialog_weak_notify): renamed from close_dialog().
    (show_import_wizard): remove gnome_dialog_close_hides -> its a
    gtkwindow anyway(!).

    * Makefile.am (evolution_LDADD): Added back importer.
    (evolution_SOURCES): Added back importer.

    * importer/intelligent.c (get_intelligent_importers):
    bonobo-activationised.
    (create_gui): gtkdialogise.
    (intelligent_importer_init): gtkdialogise.
    (create_gui): remove gnome_util_user_home().
    (intelligent_importer_init): "

    * importer/evolution-importer.c (finalise): from destroy.
    (evolution_importer_new): type_new->object_new.

    * importer/evolution-importer-listener.c (finalise): from destroy.
    (evolution_importer_listener_new): type_new->object_new.

    * importer/evolution-importer-client.c (destroy): removed, as it
    wasn't used anyway.
    (evolution_importer_client_new): g_object_new.
    (finalise): added, tho doesn't do anythign yet, should it unref
    the client->objref?  This whole class doesn't seem much use.

    * importer/evolution-importer-client.h: removed
    bonobo-object-client, change to g_object.

    * importer/*.[ch]: ran fix script over everything.
    
    * importer/evolution-intelligent-importer.c: gobjectise.
    (finalise): renamed from destroy.
    (evolution_intelligent_importer_new): gtk_type_new -> g_object_new

2002-11-18  Chris Toshok  <toshok@ximian.com>

    * importer/import.glade: run libglade-convert.

2002-11-16  Chris Toshok  <toshok@ximian.com>

    * e-folder-list.c (e_folder_list_init): force the scrolled table
    to be shown, apparently a bug in libglade2.

    * e-shell-config-default-folders.c (setup_folder_selector): same,
    but with the evolution-folder-selector-button's.

2002-11-16  Chris Toshok  <toshok@ximian.com>

    * e-shell-settings-dialog.c (load_pages): init the corba exception
    before loading each config page, so previous errors don't make
    subsequence pages to fail to load.

2002-11-15  Ettore Perazzoli  <ettore@ximian.com>

    * Makefile.am: Added rule to generate
    GNOME_Evolution_Shell.server.in from
    GNOME_Evolution_Shell.server.in.in, substituting @BINDIR@.

    * GNOME_Evolution_Shell.server.in.in: Renamed from
    GNOME_Evolution_Shell.server.in.  Prepend @BINDIR@ to the location
    of the executable.

2002-11-15  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-storage.c (impl_finalize): Fix typo; p -> sp.

2002-11-15  Ettore Perazzoli  <ettore@ximian.com>

    * e-activity-handler.c (impl_operationStarted): No need to check
    for priv being NULL here anymore.
    (impl_operationProgressing): Likewise.
    (impl_operationFinished): Likewise.
    (impl_requestDialog): Likewise.

    * evolution-folder-selector-button.c (clicked): Use
    g_object_add_weak_pointer() on the parent_window instead of using
    GTK_OBJECT_DESTROYED().

2002-11-15  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-startup-wizard.c (e_shell_startup_wizard_create): For
    now, always return TRUE.

2002-11-14  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-shell-client.c (class_init): Pass the right parent
    type to gtk_type_class().

2002-11-14  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-user-creatable-items-handler.c,
    * e-shell-user-creatable-items-handler.c: Changed into a GObject
    subclass instead of a GtkObject subclass.

    * e-component-registry.c,
    * e-component-registri.h: Changed into a GObject subclass instead
    of a GtkObject subclass.

    * evolution-shell-view.c (impl_ShellView_set_message): Remove
    bogus GTK_OBJECT() cast in call to g_signal_emit().
    (impl_ShellView_unset_message): Likewise.
    (impl_ShellView_change_current_view): Likewise.
    (impl_ShellView_set_title): Likewise.

    * e-shell-view.c (init): Ref/sink the GtkTooltips.

    * e-uri-schema-registry.c (schema_handler_free): g_object_unref()
    on the component instead of bonobo_object_unref().

2002-11-14  Ettore Perazzoli  <ettore@ximian.com>

    * main.c (no_views_left_cb): Use bonobo_main_quit() instead of
    gtk_main_quit().
    (shell_weak_notify): Likewise.
    (idle_cb): Likewise.

    * e-shell.c (notify_no_views_left_idle_cb): New idle function to
    emit the "no_views_left" signal.
    (view_weak_notify): Put it on the idle loop instead of firing the
    signal here.

    * e-task-widget.c (e_task_widget_construct): Ref/sink the
    GtkTooltips object.

2002-11-14  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (save_settings_for_views): Removed.
    (e_shell_save_settings): Do not call it here.

2002-11-14  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (impl_dispose): NULL priv->ui_component
    after unreffing it.

2002-11-14  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-shell-component-client.c (destroy_listener_interface):
    Avoid freeing the servant for now, it looks like something is
    messed up and this causes a crash on exit.

    * evolution-storage-set-view-listener.c (impl_finalize): Do not
    invoke POA_GNOME_Evolution_StorageSetViewListener__fini().

    * evolution-storage-listener.c (impl_finalize): Do not invoke
    POA_GNOME_Evolution_StorageListener__fini().

    * e-shell-offline-sync.c (progress_listener_servant_free): Do not
    invoke POA_GNOME_Evolution_SyncFolderProgressListener__fini().

    * e-shell-offline-handler.c (progress_listener_servant_free): Do
    not invoke POA_GNOME_Evolution_OfflineProgressListener__fini().

    * e-corba-storage.c (impl_dispose): Do not invoke
    POA_GNOME_Evolution_StorageListener__fini().

    * evolution-shell-component-client.c (destroy_listener_interface):
    Do not invoke POA_GNOME_Evolution_ShellComponentListener__fini().

2002-11-14  Ettore Perazzoli  <ettore@ximian.com>

    * main.c (quit_box_destroyed_callback): Removed.
    (no_views_left_cb): Use g_object_add_weak_pointer() instad of
    connecting to the "destroy" signal.
    (destroy_cb): Removed.
    (shell_weak_notify): New.
    (idle_cb): Use g_object_weak_ref() on the shell object instead of
    connecting to the "destroy" signal.

    * evolution-test-component.c (dialog_destroy_callback): Removed.
    (dialog_weak_notify): New.
    (create_new_folder_selector): Use g_object_weak_ref() on the
    dialog instead of connecting the "destroy" signal.

    * e-shortcuts.c (view_destroyed_cb): Removed.
    (view_weak_notify): New.
    (e_shortcuts_new_view): g_object_weak_ref() the new view instead
    of connecting the "destroy" signal.
    (impl_dispose): Free the ->views and g_object_weak_unref() all the
    items.

    * e-shell.c (view_destroy_cb): Removed.
    (view_weak_notify): New.
    (create_view): Use g_object_weak_ref() on the newly created view
    instead of connecting to the "destroy" signal.
    (impl_dispose): g_object_weak_unref() the views.
    (e_shell_show_settings): Use g_object_add_weak_pointer() on the
    settings_dialog instead of connecting to the "destroy" signal.
    (settings_dialog_destroy_cb): Removed.

    * e-shell-shared-folder-picker-dialog.c
    (progress_bar_weak_notify): New.
    (progress_bar_destroy_callback): Removed.
    (create_progress_dialog): Use g_object_weak_ref() on the progress
    bar object instead of connecting to its "destroy" signal.
    (shell_destroy_callback): Removed.
    (shell_view_destroy_callback): Removed.
    (storage_destroy_callback): Removed.
    (shell_weak_notify): New.
    (shell_view_weak_notify): New.
    (storage_weak_notify): New.
    (discover_folder): Use g_object_weak_ref() on the shell, parent,
    storage objects instead of connecting to their "destroy" signals.

    * e-shell-importer.c: Removed member destroyed from
    ImporterComponentData.
    (import_cb): Instead of checking if ->destroyed is TRUE, check if
    ->dialog is NULL to decide whether the dialog has been destroyed
    or not.
    (dialog_destroy_cb): Removed.
    (start_import): Use g_object_weak_ref() on the dialog object
    instead of connecting to its "destroy" signal.
    (dialog_close): Removed.
    (dialog_weak_notify): New.
    (show_import_wizard): Use g_object_weak_ref() on the dialog object
    instead of connecting to its "destroy" signal.
    (import_druid_destroy): New.
    (import_druid_weak_notify): New.
    (show_import_wizard): Use g_object_weak_ref() on the druid object
    instead of connecting to its "destroy" signal.

    * e-shell-folder-selection-dialog.c
    (e_shell_folder_selection_dialog_construct): g_object_weak_ref()
    the shell object instead of connecting to its "destroy" signal.

    * e-shell-folder-creation-dialog.c (dialog_destroy_cb): Removed.
    (dialog_destroy_notify): New.
    (e_shell_show_folder_creation_dialog): g_object_weak_ref() the
    dialog instead of connecting to its "destroy" signal.
    (shell_destroy_cb): Removed.
    (shell_destroy_notify): New.
    (e_shell_show_folder_creation_dialog): g_object_weak_ref() the
    shell object instead of connecting to its "destroy" signal.

    * e-shell-config-offline.c (config_control_destroy_callback):
    Removed.
    (config_control_destroy_notify): New.
    (e_shell_config_offline_create_widget): g_object_weak_ref() the
    config_control instead of connecting to its "destroy" signal.

    * e-shell-config-default-folders.c
    (config_control_destroy_callback): Removed.
    (config_control_destroy_notify): New.
    (e_shell_config_default_folders_create_widget):
    g_object_weak_ref() instead of connecting to the "destroy" signal.

    * e-shell-config-autocompletion.c (config_control_destroy_notify):
    New.
    (config_control_destroy_callback): Removed.
    (e_shell_config_autocompletion_create_widget):
    g_object_weak_ref() instead of connecting to the "destroy" signal.

    * e-activity-handler.c (task_bar_destroy_cb): Removed.
    (task_bar_destroy_notify): New.
    (e_activity_handler_attach_task_bar): Weak_ref the task_bar using
    task_bar_destroy_notify.
    (impl_dispose): Weak_unref the task bars in priv->task_bars.

2002-11-13  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-startup-wizard.c: Change type of member etd in
    TimezoneDialogPage to GObject from GtkObject.
    (make_timezone_page): Cast to G_OBJECT() not GTK_OBJECT().

2002-11-13  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-startup-wizard.c (e_shell_startup_wizard_create):
    Connect finish_func to the "next" signal for now, since GnomeDruid
    seems to be borked.

    * e-uri-schema-registry.c (schema_handler_new): g_object_ref()
    @component instead of bonobo_object_ref().

    * e-local-storage.c (create_folder): g_object_ref() for the
    component_client, instead of bonobo_object_ref().
    (remove_folder_step): Likewise.

2002-11-13  Not Zed  <NotZed@Ximian.com>

    * evolution-storage.c: remove GTK_OBJECT cast and other GTK stuff.

    * evolution-storage.h: this is a gobject not a gtkobject, fix cast
    macros, and get_type call.

2002-11-11  Chris Toshok  <toshok@ximian.com>

    * e-task-widget.c (impl_finalize): need to assign priv here, fixes
    a crash.

2002-11-11  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (impl_dispose): Do unref the config_listener here [I
    fixed the finalize crash we were getting].

2002-11-11  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (impl_finalize): Protect against
    priv->checkboxes being NULL.

2002-11-11  Ettore Perazzoli  <ettore@ximian.com>

    * e-component-registry.c: Make separate dispose/finalize overrides
    of just overriding destroy.
    * e-corba-config-page.c: Likewise.
    * e-corba-storage.c: Likewise.
    * e-folder-type-registry.c: Likewise.
    * e-folder.c: Likewise.
    * e-history.c: Likewise.
    * e-local-folder.c: Likewise.
    * e-local-storage.c: Likewise.
    * e-shell-folder-selection-dialog.c: Likewise.
    * e-shell-folder-title-bar.c: Likewise.
    * e-shell-offline-handler.c: Likewise.
    * e-shell-settings-dialog.c: Likewise.
    * e-shell-user-creatable-items-handler.c: Likewise.
    * e-shell-view.c: Likewise.
    * e-shortcuts-view-model.c: Likewise.
    * e-shortcuts-view.c: Likewise.
    * e-shortcuts.c: Likewise.
    * e-storage-set-view.c: Likewise.
    * e-storage-set.c: Likewise.
    * e-storage.c: Likewise.
    * e-task-bar.c: Likewise.
    * e-task-widget.c: Likewise.
    * e-uri-schema-registry.c: Likewise.
    * evolution-activity-client.c: Likewise.
    * evolution-folder-selector-button.c: Likewise.
    * evolution-storage-listener.c: Likewise.
    * evolution-storage-set-view-listener.c: Likewise.
    * evolution-test-component.c: Likewise.

2002-11-08  Rodrigo Moya <rodrigo@ximian.com>

    * importer/Makefile.am: use correctly IDL flags.

2002-11-07  Chris Toshok  <toshok@ximian.com>

    * e-task-widget.c (impl_destroy): guard against multiple calls.
    fixes a crash whenever a task finishes (the addressbook finishing
    loading, etc.).

    * e-shell-marshal.list: add NONE:BOOL for
    evolution-shell-component.

    * evolution-shell-component.c (class_init): register the signals
    with g_signal_new.

2002-11-05  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (e_shell_show_settings): Allow type being NULL.

2002-11-05  Ettore Perazzoli  <ettore@ximian.com>

    * e-local-storage.c (load_folder): Do add folders with an unknown
    type.

2002-11-05  Ettore Perazzoli  <ettore@ximian.com>

    * glade/e-shell-folder-creation-dialog.glade (ok_button): Set
    response_id to GTK_RESPONSE_OK.
    (cancel_button): Likewise, with GTK_RESPONSE_CANCEL.

    * e-shell-folder-creation-dialog.h,
    e-shell-folder-creation-dialog.c: Ported to GtkDialog.

2002-11-05  Ettore Perazzoli  <ettore@ximian.com>

    * e-folder-list.c: Use g_object_get_data() instead of
    gtk_object_get_data().
    * e-shell-config-default-folders.c: Likewise.
    * e-shell-folder-creation-dialog.c: Likewise.
    * e-shell-importer.c: Likewise.
    * e-shell-shared-folder-picker-dialog.c: Likewise.
    * e-shell-user-creatable-items-handler.c: Likewise.
    * e-shell-view.c: Likewise.
    * e-shell.c: Likewise.
    * e-storage.c: Likewise.

2002-11-05  Ettore Perazzoli  <ettore@ximian.com>

    * e-activity-handler.c: Split finalize/dispose.
    * e-corba-shortcuts.c: Likewise.
    * e-corba-storage-registry.c: Likewise.
    * e-shell-about-box.c: Likewise.
    * e-shell.c: Likewise.
    * e-splash.c: Likewise.
    * evolution-config-control.c: Likewise.
    * evolution-session.c: Likewise.
    * evolution-shell-component.c: Likewise.
    * evolution-shell-view.c: Likewise.
    * evolution-storage-set-view.c: Likewise.
    * evolution-storage.c: Likewise.
    * evolution-wizard.c: Likewise.

2002-11-05  Ettore Perazzoli  <ettore@ximian.com>

    * All: g_object_unref instead of bonobo_object_unref for the
    EvolutionShellComponentClient and EvolutionShellClient interfaces.

2002-11-05  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-shell-client.c (impl_dispose): New.
    (impl_finalize): New.
    (destroy): Removed.
    (class_init): Install dispose, finalize handlers.

    * All: Use evolution_shell_client_corba_objref() or
    evolution_shell_component_client_corba_objref() instead of
    BONOBO_OBJREF() or bonobo_object_corba_objref() where needed.

    * e-folder-type-registry.c (set_handler): Use g_object_ref() for
    the handler, not bonobo_object_ref().
    (folder_type_free): Likewise for unref.

    * evolution-shell-component-client.c
    (evolution_shell_component_client_corba_objref): New.
    (impl_dispose): Moved from impl_destroy; only unref things.
    (impl_finalize) New.
    (class_init): Install dispose/finalize.
    (evolution_shell_component_client_get_dnd_source_interface): Use
    priv->corba_objref instead of bonobo_object_corba_objref() since
    we are not a BonoboObject anymore.
    (evolution_shell_component_client_get_dnd_destination_interface):
    Likewise.
    (evolution_shell_component_client_get_offline_interface): Likewise.
    (evolution_shell_component_client_set_owner): Likewise.
    (evolution_shell_component_client_unset_owner): Likewise.
    (evolution_shell_component_client_create_view): Likewise.
    (evolution_shell_component_client_handle_external_uri): Likewise.
    (evolution_shell_component_client_async_create_folder): Likewise.
    (evolution_shell_component_client_async_xfer_folder): Likewise.
    (evolution_shell_component_client_populate_folder_context_menu): Likewise.
    (evolution_shell_component_client_unpopulate_folder_context_menu): Likewise.

    * e-component-registry.c (register_component): Use
    evolution_shell_component_client_corba_objref().
    (e_component_registry_restart_component): Likewise.
    (component_free): Likewise.

    * evolution-shell-component-client.c: g_object_new() instead of gtk_type_new().
    * e-component-registry.c: Likewise.
    * e-corba-config-page.c
    * e-folder-list.c: Likewise.
    * e-folder-type-registry.c: Likewise.
    * e-folder.c: Likewise.
    * e-gray-bar.c: Likewise.
    * e-history.c: Likewise.
    * e-local-folder.c: Likewise.
    * e-local-folder.c: Likewise.
    * e-local-storage.c: Likewise.
    * e-shell-about-box.c: Likewise.
    * e-shell-config-default-folders.c: Likewise.
    * e-shell-folder-selection-dialog.c: Likewise.
    * e-shell-folder-title-bar.c: Likewise.
    * e-shell-offline-handler.c: Likewise.
    * e-shell-settings-dialog.c: Likewise.
    * e-shell-user-creatable-items-handler.c: Likewise.
    * e-shell-view.c: Likewise.
    * e-shortcuts-view-model.c: Likewise.
    * e-shortcuts-view.c: Likewise.
    * e-shortcuts.c: Likewise.
    * e-splash.c: Likewise.
    * e-storage-set-view.c: Likewise.
    * e-storage-set.c: Likewise.
    * e-storage.c: Likewise.
    * e-task-bar.c: Likewise.
    * e-task-widget.c: Likewise.
    * e-uri-schema-registry.c: Likewise.
    * evolution-activity-client.c: Likewise.
    * evolution-folder-selector-button.c: Likewise.
    * evolution-shell-client.c: Likewise.
    * evolution-shell-view.c: Likewise.
    * evolution-storage-listener.c: Likewise.
    * evolution-storage-set-view-listener.c: Likewise.
    * evolution-storage-set-view.c: Likewise.
    * evolution-wizard.c: Likewise.

    * GNOME_Evolution_TestComponent.server: Renamed from
    GNOME_Evolution_TestComponent.oaf.

    * evolution-test-component.c (spit_out_shortcuts): Use
    BONOBO_EX_REPOID().
    (create_new_folder_selector): Ported to use GtkDialog instead of
    GnomeDialog.
    (storage_cancel_discover_shared_folder_callback): Add missing
    G_OBJECT() cast.
    (shared_folder_discovery_timeout_callback): Likewise.
    (storage_discover_shared_folder_callback): Likewise.
    (timeout_callback_2): Likewise.
    (timeout_callback_1): Likewise.
    (shared_folder_discovery_timeout_callback): Use
    g_object_get_data() instead of gtk_object_get_data().
    (storage_cancel_discover_shared_folder_callback): Likewise.
    (timeout_callback_2): Likewise.
    (timeout_callback_2): g_timeout_add() instead of
    gtk_timeout_add().
    (create_view_fn): Likewise.
    (timeout_callback_1): Likewise.
    (timeout_callback_1): Pass NULL as the error arg to
    gdk_pixbuf_new_from_file().
    (register_component): Use bonobo-activation instead of OAF.

    * e-shell-about-box.c (impl_destroy): Removed.
    (impl_finalize): New.
    (class_init): Install finalize handler, not destroy.

    * e-shell-view-menu.c (command_about_box): Use a GtkWindow again.
    Set the GTK_WINDOW_TYPE_HINT_DIALOG hint.

    * e-shell-about-box.c (e_shell_about_box_construct): Removed.

2002-11-04  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-commands.c (e_shell_command_copy_folder): Pass
    TRUE for arg allow_creation to
    e_shell_folder_selection_dialog_new().
    (e_shell_command_move_folder): Likewise.
    * e-shell-view-menu.c (command_goto_folder): Likewise.
    (command_new_shortcut): Likewise.
    * e-shell.c (impl_Shell_selectUserFolder): Likewise.

    * e-shell-folder-selection-dialog.c
    (e_shell_folder_selection_dialog_set_allow_creation): Removed.
    (e_shell_folder_selection_dialog_get_allow_creation): Removed.
    (e_shell_folder_selection_dialog_new): New arg allow_creation.
    (e_shell_folder_selection_dialog_construct): Likewise.  Also, do
    set priv->shell.

    * e-shell-folder-selection-dialog.h,
    e-shell-folder-selection-dialog.c: Port to GtkDialog.

2002-11-04  Ettore Perazzoli  <ettore@ximian.com>

    * e-folder-type-registry.c
    (e_folder_type_registry_get_handler_for_type): Remove warning for
    when the type is unknown.
    (e_folder_type_registry_type_is_user_creatable): Likewise.
    (e_folder_type_registry_get_display_name_for_type): Likewise.
    (e_folder_type_registry_get_description_for_type): Likewise.
    (e_folder_type_registry_get_exported_dnd_types_for_type):
    Likewise.
    (e_folder_type_registry_get_accepted_dnd_types_for_type):
    Likewise.
    (e_folder_type_registry_unregister_type): Likewise.
    (e_folder_type_registry_get_icon_name_for_type): Likewise.
    (e_folder_type_registry_get_icon_for_type): Likewise.
    (set_handler): Removed warning here too.

2002-11-04  Ettore Perazzoli  <ettore@ximian.com>

    * e-folder-list.c: Replace gtk_signal_emit() with g_signal_emit().
    * e-folder.c: Likewise.
    * e-shell-folder-selection-dialog.c: Likewise.
    * e-shell-folder-title-bar.c: Likewise.
    * e-shell-offline-handler.c: Likewise.
    * e-shell-view.c: Likewise.
    * e-shortcuts-view.c: Likewise.
    * e-shortcuts.c: Likewise.
    * e-storage-set-view.c: Likewise.
    * e-storage-set.c: Likewise.
    * e-storage.c: Likewise.
    * evolution-activity-client.c: Likewise.
    * evolution-folder-selector-button.c: Likewise.
    * evolution-storage-listener.c: Likewise.
    * evolution-storage-set-view-listener.c: Likewise.

2002-11-04  Ettore Perazzoli  <ettore@ximian.com>

    * e-folder-list.c: Use g_object_set_data() instead of
    gtk_object_set_data().
    * e-shell-config-default-folders.c: Likewise.
    * e-shell-folder-creation-dialog.c: Likewise.
    * e-shell-importer.c: Likewise.
    * e-shell-shared-folder-picker-dialog.c: Likewise.
    * e-shell-user-creatable-items-handler.c: Likewise.
    * e-shell-view.c: Likewise.
    * e-shell.c: Likewise.
    * e-storage-set-view.c: Likewise.
    * e-storage.c: Likewise.
    * evolution-test-component.c: Likewise.
    
    * e-storage-set-view.c (e_storage_set_view_construct): Use
    g_object_weakref() instead of gtk_object_weakref() for the
    ui_container.
    (ui_container_destroy_notify): Add param where_the_object_was to
    match the GWeakNotify prototype.

    * e-shell.c: Use g_signal_emit() instead of gtk_signal_emit().

2002-11-03  Ettore Perazzoli  <ettore@ximian.com>

    * glade/e-active-connection-dialog.glade: Converted to Glade2
    format.
    * glade/evolution-startup-wizard.glade: Likewise.
    * glade/e-shell-shared-folder-picker-dialog.glade: Likewise.
    * glade/e-shell-folder-creation-dialog.glade: Likewise.
    * glade/e-shell-config-default-folders.glade: Likewise.
    * glade/e-folder-list.glade: Likewise.

2002-11-03  Ettore Perazzoli  <ettore@ximian.com>

    * *.c, *.h: Changed all gtk_object_refs()/gtk_object_unrefs() into
    g_object_refs()/g_object_unrefs() and all gtk_signal_connect_*()
    into g_signal_connect_*().  [Except for some case where we have
    gtk_signal_connect_full() or gtk_signal_connect_while_alive()
    calls that cannot be trivially ported to use the g_signal_*
    functions, we'll have to fix those later.]

    * e-splash.c (impl_finalize): Finalize implementation, copied over
    from impl_destroy.
    (impl_destroy): Removed.
    (class_init): Override finalize, not destroy.

    * e-activity-handler.c: Ported from GtkObject to GObject.
    * evolution-storage.c: Likewise.
    * e-corba-shortcuts.c: Likewise.
    * evolution-session.h: Likewise.
    * evolution-config-control.c: Likewise.
    * evolution-shell-component-dnd.c: Likewise.
    * evolution-shell-component.c: Likewise.
    * evolution-shell-view.c: Likewise.
    * evolution-storage-set-view.c: Likewise.
    * evolution-wizard.c: Likewise.

2002-11-03  Ettore Perazzoli  <ettore@ximian.com>

    * e-component-info.c: Updated for libxml2.
    * e-shortcuts.c: Likewise.
    * e-folder-list.c: Likewise.
    * e-local-folder.c: Likewise.

2002-11-03  Ettore Perazzoli  <ettore@ximian.com>

    * GNOME_Evolution_Shell.server.in: Renamed from
    GNOME_Evolution_Shell.oaf.in.

    * Makefile.am: Port from OAF to bonobo-activation.
    (INCLUDES): Define SYSCONFDIR, DATADIR, LIBDIR.

    * main.c (main): Use gnome_program_init().

    * e-corba-storage-registry.c (e_corba_storage_registry_new):
    g_object_new(), not gtk_type_new().
    (impl_finalize): New, ported over from destroy.
    (destroy): Removed.
    (class_init): Install finalize handler, not destroy handler, since
    we are not a GtkObject anymore.

    * e-corba-storage.c (e_corba_storage_new): g_object_new(), not
    gtk_type_new().

    * e-shell.c (class_init): Override finalize, not destroy.
    (impl_finalize): Finalize implementation, basically the old
    destroy renamed.
    (e_shell_new): g_object_new(), not gtk_type_new().
    (class_init): Use e_shell_marshal_NONE__INT for
    line_status_changed instead of using an ENUM.
    (e_shell_construct): Use g_signal_connect_object() instead of
    gtk_signal_connect_while_alive().

    * e-setup.c (e_setup): Do not unref local_folder if NULL.

    * e-folder.c (init): Make not floating.
    (e_folder_construct): No need to make it floating here anymore.

    * e-shell.c (impl_Shell_selectUserFolder): For now don't set
    dialog parent from xid.

    * main.c (no_views_left_cb): Add missing GTK_SIGNAL_FUNC() cast.
    (new_view_created_callback): Likewise.
    (warning_dialog_clicked_callback): Update to use the
    EConfigListener from the shell instead of bonobo-conf.
    (show_development_warning): Likewise.
    (upgrade_from_1_0_if_needed): BONOBO_EX_ID -> BONOBO_EX_REPOID.
    (idle_cb): Use bonobo-activation and BONOBO_EX_REPOID().
    (main): Cleaned up the various things that are unneeded in GNOME
    2.
    (upgrade_from_1_0_if_needed): Use EConfigListener.

    * evolution-storage-set-view.h, evolution-storage-set-view.c:
    BonoboXObjectified.

    * e-storage.c (class_init): GLIB2-ified and made to use
    e-shell-marshal.h.
    (ES_CLASS): Use GTK_OBJECT_GET_CLASS().
    (e_storage_new_folder): Added missing GTK_SIGNAL_FUNC() prototype.

    * e-storage-set.c (class_init): GLIB2-ified and made to use
    e-shell-marshal.h.

    * e-storage-set-view.c (popup_folder_menu): For now, do not add
    the pop-up since we lack bonobo_ui_container_get_win() and I am
    not sure how to work around it.
    (popup_folder_menu): Pass self as the for_widget arg to
    gnome_popup_menu_do_popup_modal().
    (class_init): GLIB2-ified, and got to use e-shell-marshal.h.
    (marshal_NONE__GDKDRAGCONTEXT_STRING_STRING_STRING): Removed.
    (impl_tree_drag_data_get): Don't set the selection for now -- we
    have to fix the CORBA target stuff to match GTK 2.
    (e_storage_set_view_construct): Pass NULL as the opt_ev arg to
    bonobo_ui_component_set_container().

    * e-splash.c: #include <libgnomecanvas/gnome-canvas-pixbuf.h>
    instead of <gdk-pixbuf/gnome-canvas-pixbuf.h>.
    (e_splash_new): Pass NULL as the error arg to
    gdk_pixbuf_new_from_file().

    * e-shortcuts.c (class_init): GLIB2-ified.  Also use the
    e-shell-marshal marshallers.
    (e_shortcuts_new_view): Add missing GTK_SIGNAL_FUNC() cast.

    * e-shortcuts-view.c: Use GTK_STOCK_* stuff instead of
    GNOME_STOCK_* stuff.
    (pop_up_right_click_menu_for_group): Pass self as the for_widget
    arg to gnome_popup_menu_do_popup_modal().
    (pop_up_right_click_menu_for_shortcut): Likewise.
    (class_init): GLIB2-ified.

    * e-shell.c: Do not #include <gal/util/e-unicode-i18n.h> or
    #include <libgnome/gnome-defs.h>.
    (set_interactive): Use BONOBO_EX_REPOID().
    (setup_local_storage): Use _() not U_().
    (destroy): Use gtk_widget_destroy() instead of
    gtk_object_destroy() on priv->settings_dialog.
    (class_init): GLIB2-ized.
    (init): Initialize config_listener member.
    (get_icon_path_for_component_info): Port to bonobo-activation from
    OAF.
    (setup_components): Likewise.
    (destroy): Likewise.
    (e_shell_construct): Use e_setup_check_config(), not
    e_setup_check_db ().  Use the e_config_listener instead of
    bonobo-conf.
    (save_settings_for_views): Likewise.
    (save_misc_settings): Likewise.
    (e_shell_restore_from_settings): Likewise.
    (parse_default_uri): Likewise.
    (e_shell_component_maybe_crashed): Pass NULL for opt_ev arg to
    bonobo_unkown_ping()
    (e_shell_component_maybe_crashed): Use
    bonobo_engine_deregister_dead_components() instead of
    bonobo_window_deregister_component_by_ref() which is no more.
    (e_shell_send_receive): BONOBO_EX_REPOID() instead of
    BONOBO_EX_ID().
    (e_shell_get_config_listener): Return the config_listener.

    * e-shell-view.c (find_inbox_in_storage): Use _() instead of U_().
    (load_images): Pass NULL as the error arg to
    gdk_pixbuf_new_from_file().
    (load_images): Likewise.
    (find_inbox_in_storage): Work around the lack of
    g_utf8_strcasecmp() in glib-2.0.
    (class_init): GLIB2-ified.  Also, use the marshallers in
    e-shell-marshal.h.
    (pop_up_folder_bar): Use gtk_window_move()/gtk_widget_show()
    instead gtk_widget_popup().
    (unmerge_on_error): Work around the death of
    bonobo_ui_component_get_win() and
    bonobo_window_deregister_component_by_ref().
    (e_shell_view_construct): Pass NULL as the uic arg to
    bonobo_window_construct().  Add missing GTK_SIGNAL_FUNC() cast.
    Match the new BonoboWindow behavior wrt the UIContainer and the
    new opt_ev args.
    (display_uri): Use bonobo_ui_engine_freeze() and
    bonobo_ui_engine_thaw() since bonobo_window_freeze() and
    bonobo_window_thaw() got axed [sigh].
    (e_shell_view_save_settings): Use EConfigListener.
    (e_shell_view_load_settings): Likewise.
    (get_view_for_uri): Use bonobo_widget_new_control_from_objref()
    instead of e_bonobo_widget_new_control_from_objref().

    * e-shell-view-menu.c (command_help_faq): Pass NULL for the error
    arg to gnome_url_show().
    (command_about_box): Use GtkDialog instead of a GtkWindow of a
    type GTK_WINDOW_DIALOG [which does not exist anymore].
    (command_xml_dump): Removed.
    (menu_do_misc): Do not add the corresponding verb.

    * e-shell-user-creatable-items-handler.c (execute_verb): Use
    BONOBO_EX_REPOID().

    * e-shell-startup-wizard.c: Remove id member from SWData.  Replace
    member db with config_listener.
    (e_shell_startup_wizard_create): Initialize config_listener.
    (make_mail_dialog_pages): Do not set the listener id here.
    (druid_event_notify_cb): Pass FALSE as the help_sensitive arg to
    gnome_druid_set_buttons_sensitive().
    (e_shell_startup_wizard_create): Likewise.
    (make_mail_dialog_pages): Use bonobo-activation instead of OAF.
    (get_intelligent_importers): Likewise.
    (prepare_importer_page): Likewise.
    (start_importers): Do nothing here for now.
    (finish_func): Constify local variable displayname.
    (finish_func): Updated to use the config_listener instead of the
    bono-conf db.
    (prepare_importer_page): Do not actually run the importer yet.
    (e_shell_startup_wizard_create): Pass NULL as the domain arg to
    glade_xml_new().  Use the config_listener.

    * e-shell-shared-folder-picker-dialog.c (user_clicked):
    BONOBO_EX_REPOID() instead of BONOBO_EX_ID().
    (setup_name_selector): Likewise.
    (setup_name_selector): Use bonobo-activation.
    (show_dialog): Pass NULL as the domain arg to glade_xml_new().
    (setup_name_selector): Add a missing GTK_SIGNAL_FUNC() cast.

    * e-shell-settings-dialog.c: #include
    <bonobo-activation/bonobo-activation.h>.  Use
    Bonobo_ActivationProperty instead of OAF_Property.
    (set_dialog_size): Use gtk_style_get_font() to get the font from
    the widget->style.
    (load_pages): Converted to use bonobo-activation instead of OAF.
    Pass NULL as the error arg to gdk_pixbuf_new_from_file().

    * e-shell-offline-sync.c (sync_folder): BONOBO_EX_REPOID(), not
    BONOBO_EX_ID().
    (e_shell_offline_sync_all_folders): For now, avoid doing anything
    [see changes to e-shell-config-offline.c below].
    (setup_progress_listener): #if 0 for now.
    (setup_dialog): Likewise.
    (sync_folder): Likewise.
    (cleanup): Likewise.
    (progress_listener_servant_free): Likewise.
    (progress_listener_servant_new): Likewise.
    (impl_SyncFolderProgressListener_updateProgress): Likewise.
    (impl_SyncFolderProgressListener_reportSuccess): Likewise.
    (impl_SyncFolderProgressListener_reportFailure): Likewise.
    (progress_dialog_close_callback): Likewise.
    (progress_dialog_clicked_callback): Likewise.

    * e-shell-offline-handler.c (prepare_for_offline): Use
    BONOBO_EX_REPOID().
    (pop_up_confirmation_dialog): Pass NULL as the domain arg to
    glade_xml_new().
    (class_init): GLIB2-ified.

    * Makefile.am: Do not compile e-shell-importer.c,
    e-shell-importer.h for now.

    * e-shell-folder-title-bar.c (get_max_clipped_label_width): Use
    gtk_style_get_font() to retrieve the font.
    (class_init): GLIB2-ified.
    (e_shell_folder_title_bar_construct): Get {x,y}thickness from
    widget->style, not from widget->style->klass.

    * e-shell-folder-selection-dialog.c: #include <string.h>,
    <gtk/gtklabel.h> and <gtk/gtksignal.h>.
    (class_init): GLIB2-ified.

    * e-shell-folder-creation-dialog.c: No <libgnome/gnome-defs.h>,
    add some GTK includes.
    (e_shell_show_folder_creation_dialog): Pass NULL as the domain arg
    to glade_xml_new().  Added missing GTK_SIGNAL_FUNC() cast.

    * e-shell-folder-commands.c: Do not #include
    <libgnomeui/gnome-stock.h> and #include
    <bonobo-conf/Bonobo_Config.h>.

    * e-shell-config-default-folders.c: Replace member db in
    EvolutionDefaultFolderConfig with config_listener.
    (e_shell_config_default_folders_create_widget): Init here.
    (config_control_destroy_cb): Unref here.
    (config_control_apply_cb): Use EConfigListener instead of
    BonoboConf.
    (setup_folder_selector): Likewise.
    (e_shell_config_default_folders_create_widget): Pass NULL as the
    domain arg to glade_xml_new().

    * e-shell-config-offline.c (config_control_apply_callback): For
    now, do not change the configuration.  [Needs to be ported to
    EConfigListener or something, but we were storing a sequence using
    typecodes here and there is no trivial way to do that right now.]
    (init_storage_set_view_status_from_config): Likewise, do not
    retrieve the configuration here.

    * e-shell-marshal.list: Removed duplicates, added a bunch new
    marshallers.

2002-11-02  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-config-autocompletion.c: No bonobo-conf; removed member
    db in struct EvolutionAutocompletionConfig and replaced with a
    config_listener arg.
    (e_shell_config_autocompletion_create_widget): Init it here.
    (config_control_destroy_callback): Unref it here.
    (config_control_apply_callback): Updated to use the
    config_listener.

    * e-shell-config.c (e_shell_config_factory_register): Use
    bonobo_generic_factory_new() instead of
    bonobo_generic_factory_new_multi().

    * e-shell-about-box.c (impl_realize): Pass NULL as the error arg
    to gdk_pixbuf_new_from_file().
    (timeout_callback): Use gtk_style_get_font() to retrieve the
    style's font instead of style->font.
    (impl_draw): Removed.
    (impl_expose_event): Do the drawing of the pixmap here.

    * e-setup.c (e_setup_check_db): Removed.
    (e_setup_check_config): New, version using EConfigListener instead
    of bonobo-conf.

    * e-setup.h: #include "e-util/e-config-listener.h" instead of
    <bonobo-conf/bonobo-config-database.h>.

    * e-local-storage.c (construct): Use _() instead of U_().
    (setup_stock_folders): Likewise.

    * e-icon-factory.c (load_icon): Pass NULL as the error arg to
    gdk_pixbuf_new_from_file().

    * e-folder-type-registry.c (folder_type_new): Pass NULL as the
    error arg to gdk_pixbuf_new_from_file().

    * e-folder-dnd-bridge.c (find_matching_target_for_drag_context):
    GdkAtom is not an integer anymore; update accordingly.

    * e-corba-storage.c (async_folder_cb): Constified args
    appropriately to match BonoboListenerCallbackFn.
    (async_folder_discovery_cb): Likewise.
    (cancel_discover_shared_folder): BONOBO_EX_ID() ->
    BONOBO_EX_REPOID().
    (e_corba_storage_show_folder_properties): Likewise.

    * e-corba-storage-registry.h, e-corba-storage-registry.c:
    BonoboXObjectified.

    * e-corba-config-page.c: Removed member listener_id in struct
    ECorbaConfigPagePrivate.
    (init): Don't init.
    (setup_listener): Bonobo_EventSource_addListener doesn't return an
    ID anymore.
    (impl_destroy): Just pass the listener to
    Bonobo_EventSource_removeListener.
    (setup_listener): BONOBO_EX_REPOID() instead of BONOBO_EX_ID().
    (impl_apply): Likewise.
    (listener_event_callback): Constified args appropriately to match
    BonoboListenerCallbackFn.
    (e_corba_config_page_construct): Likewise.

    * e-component-registry.c (wait_for_corba_object_to_die): Pass NULL
    for the exception arg to bonobo_unknown_ping().

    * e-shell-view.h: <bonobo/bonobo-window.h>, not
    <bonobo/bonobo-win.h>.

    * e-shell.c: Replace member db in EShellPrivate with an
    EConfigListener config_listener.
    (destroy): Do not call e_shell_disconnect_db().  Unref
    EConfigListener.  Destroy settings_dialog if not NULL.  Pass
    config_listener to e_setup_check_db().
    (e_shell_get_config_db): Removed.
    (e_shell_get_config_listener): New.
    (e_shell_construct): Set up the config_listener, instead of the
    Bonobo_ConfigDatabase.

    * e-shell.h: #include <bonobo-activation/bonobo-activation.h>
    instead of <liboaf/oaf.h>.  No
    <bonobo-conf/bonobo-config-database.h>.

    * e-component-registry.c: #include
    <bonobo-activation/bonobo-activation.h> instead of <liboaf/oaf.h>.

    * e-activity-handler.c (task_widget_button_press_event_callback):
    Use BONOBO_EX() and BONOBO_EX_REPOID().
    (impl_operationStarted): Don't use GTK_OBJECT_DESTROYED() [needs
    to be fixed later].
    (impl_operationProgressing): Likewise.
    (impl_operationFinished): Likewise.
    (impl_requestDialog): Likewise.

    * evolution-wizard.c (evolution_wizard_class_init): GLIB2-ified.

    * evolution-wizard.h: Remove BEGIN_GNOME_DECLS/END_GNOME_DECLS.

    * evolution-storage.c: Chagned to use generated marshallers
    instead of custom ones or GAL's.

    * eshell-marshal.list: New.
    * Makefile.am: Added rule to build eshell-marshal.[ch] and link
    them in.

    * evolution-storage.h, evolution-storage.c: BonoboXObjectified.

    * evolution-storage-set-view-listener.c (class_init): GLIB2-ified.

    * evolution-storage-listener.c (class_init): GLIB2-ified.

    * evolution-shell-view.h, evolution-shell-view.c:
    BonoboXObjectified.

    * evolution-shell-component-utils.c: #include
    <bonobo-activation/bonobo-activation.h>.
    (e_pixmaps_update): Pass NULL as the error arg to
    gdk_pixbuf_new_from_file().
    (e_activation_failure_dialog): Bonobo_GeneralError instead of
    OAF_GeneralError.
    (e_get_activation_failure_msg): Likewise.

    * evolution-shell-component-dnd.h, evolution-shell-component-dnd.c:
    BonoboXObjectified.

    * evolution-shell-component.c: #include <unistd.h>.
    (owner_ping_callback): Pass NULL for the opt_ev arg to
    bonobo_unknown_ping().
    (impl_populateFolderContextMenu): Pass NULL for the opt_ev arg to
    bonobo_ui_component_set_container().
    (class_init): GLIB2-ified.

    * e-component-registry.c (component_free): Use g_object_unref() on
    the EvolutionShellComponentClient instead of
    bonobo_object_unref().
    (register_component): Likewise.
    (component_new): Likewise, use g_object_ref() instead of
    bonobo_object_ref().

    * evolution-shell-component-client.c: New member corba_objref in
    EvolutionShellComponentClientPrivate.
    (init): Init to CORBA_OBJECT_NIL.
    (impl_destroy): Unref.  Also CORBA_OBJECT_NILify all the pointers
    to unreffed objects.
    (corba_exception_to_result): Use BONOBO_EX_REPOID(ev) instead of
    ev->_repo_id.
    (evolution_shell_component_client_construct): Set the corba_objref
    pointer, do not call bonobo_object_client_construct().
    (evolution_shell_component_client_new): Use
    bonobo_activation_activate_from_id() here instead of
    oaf_activate_from_id().

    * evolution-shell-component-client.h,
    evolution-shell-component-client.c: Derive from GObject instead of
    BonoboObjectClient.

    * evolution-shell-client.c
    (evolution_shell_client_create_storage_set_view): Use
    BONOBO_EX_REPOID() instead of BONOBO_EX_ID().

    * evolution-folder-selector-button.c (destroy): g_object_unref the
    EvolutionShellClient instead of bonobo_object_unref().
    (evolution_folder_selector_button_construct): Likewise.

    * e-folder-list.c (e_folder_list_destroy): g_object_unref the
    EvolutionShellClient instead of bonobo_object_unref().
    (e_folder_list_construct): g_object_ref the EvolutionShellClient
    instead of bonobo_object_ref().

    * evolution-shell-client.c: New member corba_objref in
    EvolutionShellClientPrivate.
    (init): Init to CORBA_OBJECT_NIL.
    (destroy): Unref/release.
    (query_shell_interface): Use BONOBO_EX() and BONOBO_EX_REPOID()
    instead of ._major and ._repo_id.
    (destroy): Likewise.
    (evolution_shell_client_get_local_storage): Likewise.

    * evolution-shell-client.h: Derive from GObject instead of
    BonoboObjectClient.

    * evolution-session.c (corba_class_init): Get klass arg.
    (class_init): Pass klass arg.  GLIB2-ified.
    (evolution_session_construct): Removed.
    (evolution_session_new): Just return what gtk_type_new() returns.

    * evolution-session.h, evolution-session.c: Derive from
    BonoboXObject.

    * evolution-folder-selector-button.c (init): Make icon a GtkImage
    instead of a BonoboUIToolbarIcon.
    (set_folder, class_init): GLIB2-ified.

    * evolution-config-control.c (class_init): GLIB2-ified.

    * evolution-activity-client.c (corba_update_progress): Use
    BONOBO_EX_REPOID() instead of ._major and ._repo_id.
    (evolution_activity_client_request_dialog): Likewise.
    (impl_destroy): Likewise.
    (class_init): GLIB2-ified.

    * e-folder-list.c: #include <gtk/gtframe.h> and #include
    <string.h>.
    (e_folder_list_destroy): bonobo_object_unref(), not
    bonobo_object_client_unref().
    (e_folder_list_init): Pass NULL as the domain to glade_xml_new().

    * e-folder-list.h: #include <gtk/gtkvbox.h>.

    * e-folder.c (impl_remove): Renamed from remove().
    (impl_get_physical_uri): Renamed from get_physical_uri().
    (impl_load_info): Renamed from load_info().
    (impl_save_info): Renamed from save_info().
    (class_init): GLIB2-ified.

    * Evolution-Session.idl: #include <Bonobo.idl>, not <Bonobo.h>.
    * Evolution-Offline.idl: Likewise.
    * Evolution-ShellComponent.idl: Likewise.
    * Evolution-ShellComponentDnd.idl: Likewise.
    * Evolution-Storage.idl: Likewise.

    * Makefile.am: Do not compile the importer directory for now.

    * evolution-wizard.c (evolution_wizard_set_buttons_sensitive):
    ORBit2-ize type names.
    (evolution_wizard_set_show_finish): Likewise.
    (evolution_wizard_set_page): Likewise.

2002-10-28  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-settings-dialog.c (set_dialog_size): Increase the width
    slightly.

    * e-shell-view-menu.c: Set "settings.png" as the icon for
    /menu/Tools/Settings.

2002-10-25  Ettore Perazzoli  <ettore@ximian.com>

    [#31303]

    * e-shell-view (storage_set_view_box_button_release_event_cb): Pop
    down the popup folder bar if it's a toplevel node.
    (folder_bar_popup_map_callback): Connect to the "folder_opened"
    signal on the storage_set_view.

2002-10-25  Ettore Perazzoli  <ettore@ximian.com>

    * e-folder-list.c (create_display_string): Don't turn the string
    from UTF-8 to GTK.  [#32032]

2002-10-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (setup_local_storage): Set the is_stock flag to TRUE
    for the summary folder.

    * e-shell-view.c (setup_verb_sensitivity_for_folder): Don't allow
    folder operations on pseudo-folders that have a NULL physical_uri.

    * e-corba-storage.c (async_remove_folder): Make sure the folder
    has a physical URI.  [#30950]

2002-10-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-shared-folder-picker-dialog.c
    (setup_server_option_menu): Use
    e_utf8_gtk_menu_item_new_with_label() to create the option menu
    items from the storage's UTF-8 name.  [#31564]

2002-10-21  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-shell-component-utils.c
    (e_get_activation_failure_msg): If the exception_id is NULL,
    return NULL instead of crashing.  [#25891]

2002-10-17  Ettore Perazzoli  <ettore@ximian.com>

    [Implement the Cancel button in the "Open other user's folder"
    dialog, as per #27735.]

    * e-corba-storage.c (cancel_discover_shared_folder): New,
    implementation for the cancel_discover_shared_folder virtual
    method.
    (class_init): Install.

    * evolution-test-component.c
    (storage_discover_shared_folder_callback): Instead of passing the
    listener to the timeout function, just pass the storage.  Put the
    listener and the timeout ID on the storage object by using
    gtk_object_set_data().
    (shared_folder_discovery_timeout_callback): Updated accordingly.
    (storage_cancel_discover_shared_folder_callback): New, callback
    for the cancel_discover_shared_folder signal.
    (setup_custom_storage): Connect.

    * e-shell-shared-folder-picker-dialog.c: New member storage in
    struct DiscoveryData.  While I am at it, rename member user to
    user_email_address.
    (discover_folder): Set the storage member.
    (cleanup_discovery): Unref storage member.
    (progress_dialog_clicked_callback): New, callback for the
    "clicked" signal on the dialog.
    (discover_folder): Connect.

    * evolution-storage.c (class_init): Install signal
    "cancel_discover_shared_folder".
    (impl_Storage_cancelDiscoverSharedFolder): New, implementation for
    the cancelDiscoverSharedFolder CORBA method; emit
    "cancel_discover_shared_folder".
    (evolution_storage_get_epv): Install CORBA method implementation.

    * evolution-storage.h: Add signal cancel_discover_shared_folder.

    * e-storage.c (e_storage_cancel_discover_shared_folder): New.

    * e-storage.h: New virtual method cancel_discover_shared_folder.

    * Evolution-Storage.idl (cancelDiscoverSharedFolder): New.

2002-10-07  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-importer.c (choose_importer_from_list): Change the
    selection mode to GTK_SELECTION_BROWSE so there is always a
    selection.  The code here doesn't handle a NULL selection.
    [#31690]

    * e-shell-importer.c (import_cb): Only delay half a second
    (instead of 5 seconds) when getting EVOLUTION_IMPORTER_NOT_READY
    or EVOLUTION_IMPORTER_BUSY.

    * importer/evolution-importer-listener.c
    (impl_GNOME_Evolution_ImporterListener_notifyResult): Removed
    debugging message.

2002-10-04  Chris Toshok  <toshok@ximian.com>

    * e-shell-folder-selection-dialog.c (delete_event_cb): new
    function, emit cancelled so the folder selector button will
    sensitize the parent window again.
    (e_shell_folder_selection_dialog_construct): connect the
    delete_event signal.

2002-09-30  Aaron Weber  <aaron@ximian.com>

    * importer/import.glade: Import Assistant vs. Importer assistant.

    * glade/evolution-startup-wizard.glade: setup/set up confusion in 15.

2002-09-30  Dan Winship  <danw@ximian.com>

    * e-shell-view-menu.c (command_remove_other_users_folder): Calls
    e_shell_command_remove_shared_folder.
    (file_verbs): Set up command_remove_other_users_folder.

    * e-shell-folder-commands.c
    (e_shell_command_remove_shared_folder): New. Calls
    e_storage_set_async_remove_shared_folder with a callback to pop up
    an error dialog if it fails.

    * e-storage-set.c (e_storage_set_async_remove_shared_folder):
    Implement. Mostly like async_remove_folder.

    * e-storage.c (e_storage_supports_shared_folders,
    e_storage_async_discover_shared_folder,
    e_storage_async_remove_shared_folder): New methods. Default
    implementations return FALSE, NOTIMPLEMENTED, and NOTIMPLEMENTED.

    * e-corba-storage.c (supports_shared_folders,
    async_discover_shared_folder, async_remove_shared_folder):
    Implement using CORBA.

    * Evolution-Storage.idl: add Storage_asyncRemoveSharedFolder

    * e-shell-shared-folder-picker-dialog.c: Remove all the CORBA
    stuff from here and use the new EStorage methods.
    (setup_server_option_menu): Use e_storage_supports_shared_folders.
    (discover_folder): Use e_storage_async_discover_shared_folder.

    * evolution-storage.c (impl_Storage_asyncRemoveSharedFolder):
    Implement this by emitting a REMOVE_SHARED_FOLDER signal.
    (impl_Storage_asyncDiscoverSharedFolder): Make the
    DISCOVER_SHARED_FOLDER signal put the Bonobo_Listener first like
    all the other signals do.
    (class_init): Set up REMOVE_SHARED_FOLDER signal.

2002-09-30  Dan Winship  <danw@ximian.com>

    * evolution-folder-selector-button.c (clicked): If we return from
    evolution_shell_client_user_select_folder to find that our parent
    window has been destroyed, unref it and bail out, since that means
    we've been destroyed (and probably finalized) too. #31360

2002-09-26  Ettore Perazzoli  <ettore@ximian.com>

    * e-local-storage.c (load_folder): Always return TRUE, even in the
    unknown-type case.

2002-09-25  Rodrigo Moya <rodrigo@ximian.com>

    * e-shell-importer.c (importer_file_page_new): set history_id on
    GnomeFileEntry, to actually get the history.

2002-09-25  Dan Winship  <danw@ximian.com>

    * e-shell-folder-selection-dialog.c (check_folder_type_valid):
    If one of the allowed types is "type/*", allow anything starting
    with "type/". 
    (impl_clicked): If the first allowed type is "type/*", pass "type"
    to e_shell_show_folder_creation_dialog.

    * evolution-folder-selector-button.c
    (evolution_folder_selector_button_set_uri): Handle "type/*" as an
    allowed type.

    * e-shell-settings-dialog.c (e_shell_settings_dialog_show_type):
    If there are no pages for the current folder type, try the parent
    type (eg, "mail" for "mail/public").

    * e-shell-config-autocompletion.c
    (e_shell_config_autocompletion_create_widget): Use "contacts/*" as
    the allowed folder type.

2002-09-25  Ettore Perazzoli  <ettore@ximian.com>

    [Finish fixing #11645.]

    * e-shell-folder-commands.c (xfer_result_callback): Don't update
    the shortcuts here anymore since now the shell takes care of it.

    * e-shell.c (storage_set_moved_folder_callback): New callback for
    EStorageSetView::folder_moved; update the shortcuts.
    (e_shell_construct): Connect.

    * e-storage-set.c: Renamed StorageConverterCallbackData to
    StorageCallbackData.  New members destination_folder,
    source_folder, operation in it.
    (class_init): Install "moved_folder" signal.
    (storage_callback_data_new): Renamed from
    storage_converter_callback_data_new.
    (storage_callback_data_free): New.
    (storage_callback): Renamed from storage_callback_converter.  Use
    storage_callback_data_free().
    (e_storage_set_async_create_folder): Updated to use the
    storage_callback and storage_callback_data_new().
    (e_storage_set_async_remove_folder): Likewise.
    (e_storage_set_async_xfer_folder): Likewise.

    * e-storage-set.h: New signal "moved_folder".

2002-09-24  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #11645 for menu-based folder move operations.  Still requires
    fixage for the DnD case.]

    * e-shell-view-menu.c (launch_pilot_settings): Placate compiler.

    * e-shell-folder-commands.c (xfer_result_callback): When
    FOLDER_COMMAND_MOVE, update the shortcuts by using
    e_shortcuts_update_shortcuts_for_changed_uri().

    * e-shortcuts.c (e_shortcuts_update_shortcuts_for_changed_uri):
    New.

2002-09-24  Dan Winship  <danw@ximian.com>

    * e-shell.c (folder_selection_dialog_folder_selected_cb): Don't
    destroy the dialog. It does that itself whenever it emits
    folder_selected.

    * e-shell-folder-selection-dialog.c (double_click_cb): Don't close
    the dialog if the user double-clicks a bad folder. Just ignore it
    (like we do when they click OK on a bad folder).

2002-09-24  Ettore Perazzoli  <ettore@ximian.com>

    [#14019]

    * e-shell-view-menu.c: Add PilotConduitSettings verb.
    (command_pilot_conduit_settings): Implementation for the verb.
    (launch_pilot_settings): Helper function.

2002-09-24  Mike Kestner  <mkestner@ximian.com>

    * e-storage-set-view.c (e_storage_set_enable_search): Use the new
    e_tree_set_search_column function instead of my lameass sort hack.

2002-09-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (e_shell_construct): Oops, no @shell argument to
    e_shell_startup_wizard_create().

2002-09-23  Ettore Perazzoli  <ettore@ximian.com>

    [#28317]

    * e-shell-view-menu.c (command_close): Use
    e_shell_request_close_view().

    * e-shell.c (e_shell_request_close_view): New, code moved out of
    view_delete_event_cb().
    (view_delete_event_cb): Use it.

2002-09-23  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #16556.]

    * e-shell.c (e_shell_construct): Pass self to
    e_shell_startup_wizard_create.

    * e-shell-startup-wizard.c (e_shell_startup_wizard_create): Get a
    shell argument.  Set the shell interactive when doing the start-up
    wizard thing.

    * e-shell.c (e_shell_set_interactive): New.

2002-09-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-creation-dialog.c (get_type_from_parent_path):
    Return "mail" instead of NULL when we don't have a parent folder.
    [#28232]

2002-09-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-about-box.c: Added some missing names.

    * main.c (main): Declare --force-upgrade correctly so it works.

2002-09-20  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (class_init): Use PARENT_TYPE instead of
    e_tree_get_type().

2002-09-20  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c: Removed member sort_idle_id in
    EStorageSetViewPrivate.
    (resort): Removed.
    (sort_traverse_callback): Removed.
    (sort_idle_callback): Removed.
    (queue_resort): Removed.
    (impl_destroy): Removed.
    (folder_name_changed_cb): Sort now instead of queueing a resort.

2002-09-19  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #28495 with a lame hack that works around Bonobo sizing
    brokenness]

    * e-shell-settings-dialog.c (set_dialog_size): New.
    (impl_realize): Override for GtkWidget::realize; invoke
    set_dialog_size() to set a minimum size.
    (class_init): Install.

2002-09-19  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-creation-dialog.c (async_create_cb): Don't set
    the current folder for E_STORAGE_EXISTS.  [#30533]

2002-09-19  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-storage.c (evolution_storage_update_folder): Do not
    stop propagating the notification to the listeners if
    ::notifyFolderUpdate() fails.  [#27662 (?)]

2002-09-19  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (resort): New.
    (sort_idle_callback): Use it.
    (insert_storages): Use resort() instead of queue_resort() so we
    sort immediately.

2002-09-18  Mike Kestner  <mkestner@ximian.com>

    * e-storage-set-view.c (etree_value_at): bandaid for 30248.

2002-09-18  Not Zed  <NotZed@Ximian.com>

    * evolution-wizard.c (impl_GNOME_Evolution_Wizard_notifyAction):
    Allow 'back' to run if we're on the finish page.  For #29293.

2002-09-17  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage.c (e_storage_result_to_string): Add description for
    E_STORAGE_NOTONLINE.

    * e-corba-storage.c
    (e_corba_storage_corba_result_to_storage_result): Support
    GNOME_Evolution_Storage_NOT_ONLINE (E_STORAGE_NOTONLINE).

    * Evolution-Storage.idl: Add NOT_ONLINE to enum Result.

    * e-storage.h: Add E_STORAGE_NOTONLINE to EStorageResult enum.

2002-09-17  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (sort_idle_callback): Remove unused
    variable.

    * e-shell-view.c (shell_line_status_changed_cb): Make Send/Receive
    insensitive when in offline mode.  [#27855]

2002-09-17  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #28451.]

    * e-storage-set-view.c: New member sort_idle_id in
    EStorageSetViewPrivate.
    (init): Init to zero.
    (impl_destroy): Remove the idle source if not zero.
    (queue_resort): New.
    (sort_idle_callback): Idle function to sort.
    (setup_folder_changed_callback): New.
    (new_folder_cb): Call it on the new folder so we get the callback
    for new folders too.
    (popup_folder_menu): Ref the folder before popping up the menu,
    unref it after popping it down [the folder might be unreffed in
    gnome_popup_menu_do_popup_modal() because of a folder action].
    (new_storage_cb): Just queue_resort() instead of sorting.
    (new_folder_cb): Likewise.
    (insert_folders): Likewise.
    (insert_storages): Likewise.
    (folder_changed_cb): Queue a resort here too.

    * e-folder.c (class_init): Set up "name_changed" signal.
    (e_folder_set_name): Emit "name_changed".

    * e-folder.h: New signal "name_changed".

2002-09-17  Kjartan Maraas  <kmaraas@gnome.org>

    * e-shell-settings-dialog.c (page_new): Invoke gettext on 
    strings coming from the .oaf files.
    
2002-09-17  Ettore Perazzoli  <ettore@ximian.com>

    * e-local-storage.c: Remove some leftover junk.

2002-09-17  Kjartan Maraas  <kmaraas@gnome.org>

    * e-folder-list.c (create_display_string): Mark a string for
    translation.

    * evolution-folder-selection-button.c (set_folder): Same here.
    
2002-09-17  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage.c (e_storage_removed_folder): When a highlighted
    folder gets removed, update the parent to not have a highlight.
    [#24062]

2002-09-16  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-nognome.in: New script to run Evolution under a
    non-GNOME session when using a non-default GNOME prefix and a
    non-default Evolution prefix.

2002-09-11  Ettore Perazzoli  <ettore@ximian.com>

    * e-setup.c (setup_bonobo_conf_private_directory): g_free() not
    free(), since we allocate with glib functions.  [#19899]

2002-09-05  Mike Kestner  <mkestner@ximian.com>

    * Makefile.am : no longer distribute the etstate files.
    * e-shell-folder-selection-dialog.c : enable_search on the view.
    * e-storage-set-view.c : add search_enabled flag handling.
    (e_storage_set_view_set_show_checkboxes): manipulate the existing state
    instead of loading a state file from disk.
    (e_storage_set_view_enable_search): new. set a column in the sort_info
    on the etree to allow keystroke jumping in the etree.
    
2002-09-05  Anna Marie Dirks  <anna@ximian.com>

    * GNOME_Evolution_Shell.oaf.in : Changed the description
    of the folders page in the settings dialog to be more specific.

2002-09-04  Ettore Perazzoli  <ettore@ximian.com>

    * Makefile.am (INCLUDES): Add a -DPREFIX.

    * main.c (main): New command-line option "force-upgrade".
    (show_development_warning): Suggest 1.0.8, not 1.0.5.
    (upgrade_from_1_0_if_needed): New.
    (idle_cb): Call it.

2002-09-04  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (new_folder_cb): Pass FALSE as @queue to
    e_shell_view_display_uri() here.

2002-09-04  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (e_shell_view_get_current_component_id): If the
    current_folder_type is NULL, just return NULL instead of passing
    it to e_folder_type_registry_get_handler_for_type() [and generate
    a warning].  [#21122]

2002-09-04  Dan Winship  <danw@ximian.com>

    * glade/e-shell-shared-folder-picker-dialog.glade: Remove the
    "blah blah" text for now and change "Server" to "Account".

2002-09-04  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (create_view): Pass TRUE as @queue to
    e_shell_view_display_uri().

    * e-shell-view-menu.c (command_activate_view): Pass TRUE as @queue
    to e_shell_view_display_uri().
    (goto_folder_dialog_folder_selected_cb): Likewise.

    * e-shell-shared-folder-picker-dialog.c
    (shared_folder_discovery_listener_callback): Pass TRUE as @queue
    to e_shell_view_display_uri().

    * e-shell-view.c
    (display_uri): New arg @queue.  If true, it allows the
    delayed_selection mechanism to happen transparently (returning
    TRUE, while before it used to return FALSE).  Otherwise, refuse to
    queue the URI and return FALSE.
    (e_shell_view_display_uri): New arg @queue; pass it to
    display_uri().
    (handle_current_folder_removed): Pass TRUE as @queue to
    e_shell_view_display_uri().
    (set_folder_timeout): Likewise.
    (switch_on_folder_tree_click): Likewise.
    (activate_shortcut_cb): Likewise.
    (corba_interface_change_current_view_cb): Likewise.
    (socket_destroy_cb): Likewise.
    (socket_destroy_cb): Likewise.
    (e_shell_view_load_settings): Here, try displaying the old URI
    with @queue set to FALSE; if this fails, display the default URI
    and then invoke display again using @queue = TRUE so it gets
    queued up.  This should fix #27721.

2002-09-04  Ettore Perazzoli  <ettore@ximian.com>

    * main.c (idle_cb): Pass FALSE as @restore_all_views to
    e_shell_restore_from_settings() so we only restore the first view.

    * e-shell.c (e_shell_restore_from_settings): New arg
    @restore_all_views.

2002-09-04  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (popup_folder_menu): Remove the context
    menu items using
    evolution_shell_component_client_unpopulate_folder_context_menu()
    instead of doing it ourself, since BonoboUI sucks.

    * evolution-shell-component-client.c
    (evolution_shell_component_client_unpopulate_folder_context_menu):
    New.

    * evolution-test-component.c (register_component): Pass NULL as
    @unpopulate_folder_context_menu_fn to
    evolution_shell_component_new().

    * evolution-shell-component.c: New member
    unpopulate_folder_context_menu_fn in
    EvolutionShellComponentPrivate.  New member uic in
    EvolutionShellComponentPrivate.
    (init): Init new members to NULL.
    (destroy): bonobo_object_unref() priv->uic if not NULL.
    (evolution_shell_component_new): New arg
    @unpopulate_folder_context_menu_fn.
    (evolution_shell_component_construct): Likewise.
    (impl_populateFolderContextMenu): Set priv->uic to the newly
    created UIComponent.
    (impl_unpopulateFolderContextMenu): New, implementation for the
    ::unpopulateFolderContextMenu CORBA method.
    (class_init): Install.

    * Evolution-ShellComponent.idl (unpopulateFolderContextMenu): New
    method.
    (AlreadyPopulated): New exception.
    (populateFolderContextMenu): Can raise it.
    (NotPopulated): New exception.

2002-09-03  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (popup_folder_menu): Create an Items
    placeholder under ComponentPlaceholder, and then
    bonobo_ui_component_rm() it after we are done with the menu.  This
    -should- fix #29782, but it doesn't.  I am not sure why.

    * evolution-shell-component.h
    (EVOLUTION_SHELL_COMPONENT_POPUP_PLACEHOLDER): Append a "/Items"
    part.

2002-09-03  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-importer.c (show_import_wizard): Make the WM close
    button in the dialog hide instead of destroying, using
    gnome_dialog_close_hides().  [#15572]

2002-08-28  Dan Winship  <danw@ximian.com>

    * e-shell.c (setup_components): Pass a selection_order to
    oaf_query so we get the components back in a consistent order.
    Hack fix for #28490 for 1.2 by ensuring that Connector gets
    started before evolution-mail.
    (get_icon_path_for_component_info): Rename the oaf icon name
    property to use underscores to match the launch order property
    (which needs to use underscores because dashes are interpreted as
    subtraction in the selection_order context).

2002-08-27  Ettore Perazzoli  <ettore@ximian.com>

    * e-shortcuts-view.c (get_shortcut_info): Make sure
    *custom_icon_name_return is at least set to NULL on return [it
    used to leave it uninitialized if the URI was not prefixed with
    E_SHELL_URI_PREFIX].  Also use e_shell_parse_uri() to parse the
    URI so we handle the default shortcuts properly, too.

2002-08-19  Dan Winship  <danw@ximian.com>

    * e-shell-shared-folder-picker-dialog.c (show_dialog): Get the
    "addresses" property of the select names control rather than
    "text", so we get the email address too. #28953

    * e-folder-type-registry.c
    (e_folder_type_registry_type_registered,
    e_folder_type_registry_unregister_type): Fix the names of these
    functions. (They previously used "register" instead of
    "registry".)

    * e-component-registry.c (register_type): Update for renaming

    * e-local-storage.c (load_folder): Likewise

2002-08-16  Dan Winship  <danw@ximian.com>

    * evolution-folder-selector-button.c
    (evolution_folder_selector_button_set_uri): If the selected URI is
    of an invalid type, don't accept it.
    (evolution_folder_selector_button_get_folder): Returns the
    selected folder.
    (various): updates to support get_folder, and to simplify.

2002-08-09  Dan Winship  <danw@ximian.com>

    * e-shell-shared-folder-picker-dialog.c (create_progress_dialog):
    Remove both timeouts when the dialog is destroyed, not just one of
    them.
    (shared_folder_discovery_listener_callback): Don't try to access
    fields of discovery_data after destroying it. Interpret the result
    argument correctly, and put up an error dialog (using
    e_corba_storage_corba_result_to_storage_result and
    e_storage_result_to_string) if something went wrong.

    * e-corba-storage.c
    (e_corba_storage_corba_result_to_storage_result): convert a
    GNOME_Evolution_Storage_Result to an EStorageResult.
    (async_folder_cb): Use that.

2002-08-06  Dan Winship  <danw@ximian.com>

    * e-storage-set-view.c (folder_property_item_verb_callback): Don't
    include the storage name in the path passed to
    e_corba_storage_show_folder_properties, for consistency with the
    other EStorage methods.

2002-08-06  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-test-component.c
    (storage_show_folder_properties_callback): New callback for the
    show_folder_properties signal.
    (setup_custom_storage): Add two property items, and connect the
    callback to the signal.

    * e-storage-set-view.c: Renamed private member container into
    ui_container; new member ui_component.
    (init): Initialize ui_component to NULL.
    (impl_destroy): Unref if not NULL.
    (e_storage_set_view_construct): If @ui_container is not NULL,
    weakref it and create a new ui_component that uses it as its
    container.
    (ui_container_destroy_notify): New, weakref destroy callback for
    priv->ui_container.
    (remove_property_items): New helper function.
    (setup_folder_properties_items_if_corba_storage_clicked): New
    helper function.
    (folder_property_item_verb_callback): New callback for the verbs
    associated to the folder property items.
    (popup_folder_menu): Set up the per-storage folder property items
    using setup_folder_properties_items_if_corba_storage_clicked() and
    remove them with remove_property_items() after the menu has been
    popped down.  Don't invoke populate_folder_context_menu if there
    is no handler for this node [this avoids a spurious warning].

    * e-corba-storage.c (e_corba_storage_show_folder_properties): New.
    (e_corba_storage_get_folder_property_items): New.
    (e_corba_storage_free_property_items_list): New.

    * evolution-storage.c: New private member folder_property_items.
    (init): Init to NULL.
    (destroy): Free.
    (impl_showFolderProperties): New, implementation for the
    Storage::showFolderProperties CORBA method.
    (class_init): Set up the "show_folder_properties" signal here.
    (impl_Storage__get_propertyItems): New, getter for the
    Storage::propertyItems property.
    (corba_class_init): Install the new methods.
    (evolution_storage_add_property_item): New function to add
    property items to the storage.

    * evolution-storage.h: New signal show_folder_properties.

    * e-storage-set.c (e_storage_set_create_new_view): Renamed from
    e_storage_set_new_view().

    * Evolution-Storage.idl: Added attribute folderPropertyItems and
    method ::showFolderProperties.

2002-08-01  Ettore Perazzoli  <ettore@ximian.com>

    * e-gray-bar.c (endarken_style): Set the color for
    GTK_STATE_INSENSITIVE too so it doesn't look ugly when we quit.

2002-07-31  Ettore Perazzoli  <ettore@ximian.com>

    * e-shortcuts-view.c (create_default_shortcuts_cb): New, implement
    a right-click -> "Add Default Shortcuts" menu item.
    (rename_group_cb): Remove double casts.  *lol*

    * e-shortcuts.c (e_shortcuts_add_default_shortcuts): New.
    (e_shortcuts_add_default_group): Use
    e_shortcuts_add_default_shortcuts().

2002-07-31  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-user-creatable-items-handler.c (ensure_menu_items):
    Don't sort the menu_items here.
    (create_menu_xml): Instead, sort here, and only sort the
    non-default section of the menu.
    (get_default_action_for_view): Just get the first item that is
    default; since we don't sort anymore, this works.
    (find_menu_item_for_verb): Removed since it is not used anymore.

2002-07-31  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-test-component.c (register_component): Pass NULL for
    @folder_type to
    evolution_shell_component_add_user_creatable_item().

    * e-shell-user-creatable-items-handler.c: New member folder_type
    in struct MenuItem.
    (ensure_menu_items): Initialize ->folder_type.
    (item_is_default): New helper function.
    (create_menu_xml): New arg @folder_type.  Put the items on the top
    using item_is_default().
    (shell_view_view_changed_callback): Pass the folder type to
    create_menu_xml().

    * evolution-shell-component.c: New member folder_type in
    UserCreatableItemType.
    (user_creatable_item_type_new): New arg @folder_type.
    (user_creatable_item_type_free): Free ->folder_type.
    (evolution_shell_component_add_user_creatable_item): New arg
    @folder_type.
    (impl__get_userCreatableItemTypes): Set ->folderType in the
    returned CORBA structs.

    * Evolution-ShellComponent.idl: New member folderType in struct
    UserCreatableItemType.

    * e-shell-user-creatable-items-handler.c: New member component_id
    in struct MenuItem.  Removed member menu_xml from
    EShellUserCreatableItemsHandlerPrivate.
    (init): No need to initialize menu_xml here anymore.
    (impl_destroy): ...And no need to free here, either.
    (setup_menu_xml): New, derived from ensure_menu_xml().  This
    orders the menu so that the items for the current component go at
    the top.
    (create_menu_xml): Removed.
    (e_shell_user_creatable_items_handler_attach_menus): Set up
    properly for the current component ID, using setup_menu_xml().

2002-07-29  Jeffrey Stedfast  <fejj@ximian.com>

    * evolution-folder-selector-button.c
    (evolution_folder_selector_button_set_uri): New function to set
    the uri programatically on a EvolutionFolderSelectorButton dingus.

2002-07-26  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view-menu.c (command_new_shortcut): Capitalize the title
    of the dialog for consistency.

    * e-shell-folder-creation-dialog.c (setup_dialog): Don't prepend
    the window's title with "Evolution -" since we don't do that
    anywhere else.  Also capitalize properly.

2002-07-26  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-user-creatable-items-handler.c (ensure_menu_xml): Put in
    the ComponentItems placeholder, instead of NewItems.

2002-07-26  Ettore Perazzoli  <ettore@ximian.com>

    * e-local-storage.c (load_all_folders): Don't return FALSE if any
    of the folders fails to load; otherwise, if the user has played
    with ~/evolution, he might end up not seeing any folders at all.

2002-07-24  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view-menu.c (command_work_online): Remove debugging
    message.
    (command_work_offline): Likewise.

2002-07-18  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-selection-dialog.c (double_click_cb): Renamed
    from `dbl_click_cb'.
    (check_folder_type): Don't pop up an error dialog anymore.
    (check_folder_type_valid): Renamed from check_folder_type().
    (folder_selected_cb): Make the OK button sensitive only if the
    type of the selected folder is in the list of valid types;
    otherwise, make it insensitive.  [#848]

2002-07-18  Rodrigo Moya <rodrigo@ximian.com>

    * e-shell-importer.c (start_import): removed check for local folders,
    so that we can import into non-local ones.

2002-07-18  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-storage-set-view.c
    (impl_StorageSetView__set_checkedFolders): Removed unused
    variable.

    * e-shell-folder-title-bar.c (e_shell_folder_title_bar_construct):
    Removed unused variable.

    Mass-replaced G_DIR_SEPARATOR and G_DIR_SEPARATOR_S with
    E_PATH_SEPARATOR and E_PATH_SEPARATOR_S:

        * e-storage.c
            (e_storage_path_is_absolute)
            (e_storage_path_is_relative)
            (e_storage_async_xfer_folder)
        * e-storage-set.c
            (make_full_path)
            (get_storage_for_path) 
            (signal_new_folder_for_all_folders_under_paths) 
            (signal_new_folder_for_all_folders_in_storage) 
            (e_storage_set_get_path_for_physical_uri)
        * e-storage-set-view.c
            (storage_sort_callback)
            (new_storage_cb) 
            (removed_storage_cb)
            (new_folder_cb)
        * e-shortcuts-view.c
            (get_shortcut_info)
        * e-shell-view.c
            (handle_current_folder_removed) 
        * e-shell-utils.c
            (e_shell_folder_name_is_valid)
        * e-local-storage.c
            (construct)
        * e-folder-tree.c
            (get_parent_path)
            (get_parent_path)
            (e_folder_tree_destroy)
            (e_folder_tree_add)
            (e_folder_tree_foreach)
        * e-folder-dnd-bridge.c
            (handle_data_received_path)
        * evolution-storage.c
            (make_full_uri)

    * e-shell-constants.h: New #defines E_PATH_SEPARATOR and
    E_PATH_SEPARATOR_S.

    * e-local-storage.c (load_folder): Don't add the folder if its
    type isn't registered.

2002-07-17  Ettore Perazzoli  <ettore@ximian.com>

    * e-shortcuts-view-model.c (get_icon_for_item): Get the
    EStorageSet from the shortcut's shell since there is no
    e_shortcuts_get_storage_set() anymore.
    * e-shortcuts-view.c (get_shortcut_info): Likewise.
    (impl_shortcut_drag_motion): Likewise.
    (impl_shortcut_drag_data_received): Likewise.

    * e-shell.c (e_shell_construct): e_shortcuts_new_from_file(), not
    e_shortcuts_new() here.

    * e-shortcuts.c: Removed members storage_set and
    folder_type_registy in EShortcutsPrivate.  New member shell.
    (init): Init to NULL.
    (e_shortcuts_construct): Removed arg @storage_set and
    @folder_type_registry, new arg @shell.
    (e_shortcuts_new): Removed.
    (e_shortcuts_new_from_file): New.
    (impl_destroy): Renamed from destroy().
    (e_shortcuts_get_storage_set): Removed.
    (e_shortcuts_get_shell): New.
    (load_shortcuts): Accept any URI that can be parsed (by
    e_shell_parse_uri).

    * e-shell.c (e_shell_parse_uri): New.

    * e-shell-view.c (evolution_uri_for_default_uri): New.
    (display_uri): Use it to determine the evolution: uri given a
    default: uri.

    * e-shell.c (impl_Shell_handleURI): Pass it over to
    e_shell_create_view_from_uri_and_settings() even if it's an
    E_SHELL_DEFAULTURI_PREFIX.
    (handle_default_uri): Removed.

2002-07-12  Peter Williams  <peterw@ximian.com>

    * Makefile.am (INCLUDES): Add -I$(builddir)/libical/src/libical
    for the generated ical.h (some headers rely on this because
    they too get installed.)
 
2002-07-14  Rodrigo Moya <rodrigo@ximian.com>

    * evolution-storage.c (impl_Storage_getFolderAtPath): no need to
    convert the value returned by e_folder_tree_get_folder to a
    GNOME_Evolution_Folder, since it already is, and duplicate it before
    returning.

2002-07-14  Chris Toshok  <toshok@ximian.com>

    * e-shell.c (folder_selection_dialog_folder_selected_cb): set
    corba_folder.customIconName so we don't crash.
    (impl_Shell_selectUserFolder): remove the default_type parameter
    to fix a compiler warning.

2002-07-12  Dan Winship  <danw@ximian.com>

    * evolution-storage.c (impl_Storage_asyncDiscoverSharedFolder):
    dup the listener, for consistency with the other signals

2002-07-12  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-folder-selector-button.c (clicked): Ref the
    parent_window and then unref after you are done using it.
    [#27673]

2002-07-12  Peter Williams  <peterw@ximian.com>

    * Makefile.am (eshellinclude_HEADERS): Install some headers
    that weren't getting installed.

2002-07-11  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-title-bar.c (e_shell_folder_title_bar_set_icon):
    Allow a NULL icon [remove the precondition].

    * e-shell-view.c (update_folder_title_bar): Only unref the
    folder_icon if not NULL.

2002-07-11  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-storage-set-view.c
    (impl_StorageSetView__set_checkedFolders): Handle
    Folder.evolutionUri as a URI, not as a path.  Also use
    e_free_string_list().

2002-07-11  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (update_folder_title_bar): Ref the folder_icon
    that we get from e_folder_type_registry_get_icon_for_type().

2002-07-11  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-storage.c (get_folder_list_foreach): Copy
    customIconName and sortingPriority in the new_corba_folder.
    [#27670]

2002-07-11  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-title-bar.c: Remove some `#if 0'ed broken code.
    New members title_icon and title_button_icon in struct
    EShellFolderTitleBarPrivate.  Remove member icon_widget.  New
    static global variable empty_pixbuf.
    (init): Initialize these new members to NULL.  Don't initialize
    icon_widget anymore since it's gone.
    (e_shell_folder_title_bar_construct): Create the title_button_icon
    and pack it into the title_button_hbox.  Also, create the
    title_icon and pack that one as well.  Retouched some of the
    hardcoded padding values.
    (size_allocate_icon): Rewritten to use the title_icon and return
    the allocated space like size_allocate_navigation_buttons.
    (e_shell_folder_title_bar_set_icon): Remove bogus const from the
    @icon arg.  Ref the pixbuf, and update the two pixmap widgets from
    it.  If @icon is NULL, use the empty_pixbuf.
    (impl_destroy): Renamed from destroy().
    (realize): Removed.
    (unrealize): Removed.
    (impl_size_allocate): Renamed from size_allocate().
    (class_init): Call it.
    (add_icon_widget): Removed.
    (new_empty_pixbuf): New.
    (new_empty_pixmap_widget): New.
    (size_allocate_navigation_buttons_and_title_icon): Renamed from
    size_allocate_navigation_buttons; set up the title_icon too.

    * e-shell-view.c (update_folder_title_bar): Unref the folder_icon
    after using it.

    * e-icon-factory.c (e_icon_factory_get_icon): Ref the returned pixbuf.

2002-07-10  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (update_folder_title_bar): Get a @folder arg
    instead of a @type arg.  Use the custom icon if the folder has
    one.
    (update_for_current_uri): Updated accordingly.

2002-07-10  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-test-component.c (setup_custom_storage): Pass
    @sorting_priority to evolution_storage_new_folder() so we test it.
    Also make /FirstFolder have an "inbox" custom icon.

    * e-local-storage.c (new_folder): Pass zero as @sorting_priority
    to evolution_storage_new_folder().

    * evolution-storage.c (evolution_storage_new_folder): New arg
    @sorting_priority; put it in the CORBA folder struct.

    * evolution-shell-client.c
    (impl_FolderSelectionListener_selected): Copy the sortingPriority
    as well.

    * e-folder.c (e_folder_to_corba): Set sortingPriority.

    * e-corba-storage-registry.c
    (impl_StorageRegistry_getFolderByUri): Set sortingPriority in the
    new CORBA Folder struct.

    * e-corba-storage.c (impl_StorageListener_notifyFolderCreated):
    Set the custom_icon if folder->customIconName is not an empty
    string.  Likewise, set the sorting_priority

    * Evolution-common.idl: New member sortingPriority in struct
    Folder.

    * e-storage-set-view.c (folder_sort_callback): Sort according to
    the sorting_priorities.

    * e-folder.c: New member sorting_priority in EFolderPrivate.
    (init): Init to zero.
    (e_folder_set_custom_icon): Emit "changed" if required.
    (e_folder_set_sorting_priority): New.

2002-07-09  Ettore Perazzoli  <ettore@ximian.com>

    * e-icon-factory.c (load_icon): Ooops.  Swapped the large/small
    pixbufs here.  Also, plug a leak.

2002-07-09  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-test-component.c (setup_custom_storage): Pass NULL for
    @custom_icon_name to evolution_storage_new_folder().

    * e-local-storage.c (new_folder): Pass the custom_icon_name here
    to evolution_storage_new_folder().

    * evolution-shell-client.c
    (impl_FolderSelectionListener_selected): Set customIconName here
    too.

    * e-folder.c (e_folder_to_corba): Set customIconName too.

    * e-corba-storage-registry.c
    (impl_StorageRegistry_getFolderByUri): Set customIconName.  Also,
    use e_safe_corba_string() to clean up the code a bit.

    * evolution-storage.c (evolution_storage_new_folder): New arg
    @custom_icon_name.

    * Evolution-common.idl: New member customIconName in struct
    Folder.

2002-07-09  Ettore Perazzoli  <ettore@ximian.com>

    * e-shortcuts-view-model.c (get_icon_for_item): If the
    custom_icon_name is not NULL, return the pixbuf for it.

    * e-storage-set-view.c: #include "e-icon-factory.h".

    * e-shortcuts-view.c (impl_shortcut_dropped): Pass the
    custom_icon_name.
    (get_shortcut_info): New arg @custom_icon_name_return.
    (rename_shortcut_cb): Pass the custom_icon_name here.

    * e-shell-view-menu.c (new_shortcut_dialog_folder_selected_cb):
    Pass the custom_icon_name for the folder's shortcut.

    * e-shell-folder-commands.c (e_shell_command_add_to_shortcut_bar):
    Pass the custom_icon_name for the folder's shortcut.

    * e-corba-shortcuts.c (impl_add): Use the customIconName member in
    struct ::Shortcuts::Shortcut.
    (shorcut_list_to_corba): Set the customIconName member on the
    returned shortcuts.
    (impl_get): Likewise.

    * Evolution-Shortcuts.idl: New member customIconName in struct
    Shortcut.

    * e-shortcuts.c (shortcut_item_new): New arg @custom_icon_name;
    initialize the member in EShortcutItem from it.
    (shortcut_item_update): New arg @custom_icon_name; set the
    custom_icon_name from it.  Also remove some braindeadness from
    this code.
    (update_shortcut_and_emit_signal): New arg @custom_icon_name.
    (load_shortcuts): Load the custom icon name from the XML
    [eg. <item name="foo" type="mail" icon="inbox">].
    (save_shortcuts): Save the custom icon name in the XML.
    (e_shortcuts_add_shortcut): New arg @custom_icon_name.
    (update_shortcuts_by_path): Pass the custom_icon_name to
    update_shortcut_and_emit_signal().
    (e_shortcuts_update_shortcut): New arg @custom_icon_name; pass it
    to update_shortcut_and_emit_signal().
    (e_shortcuts_add_default_group): Pass "inbox" as the
    custom_icon_name for the inbox shortcut, and NULL for the other
    shortcuts.

    * e-shortcuts.h: New member custom_icon_name in EShortcutItem.

2002-07-09  Ettore Perazzoli  <ettore@ximian.com>

    * e-shortcuts-view.c (impl_shortcut_drag_motion): Remove debugging
    message.
    (impl_shortcut_drag_motion): Likewise.

    * e-local-storage.c (remove_folder_step): Remove debugging message.

    * e-folder-dnd-bridge.c (e_folder_dnd_bridge_data_received):
    Remove debugging message.

2002-07-09  Ettore Perazzoli  <ettore@ximian.com>

    * main.c (main): Call e_icon_factory_init().

    * e-local-storage.c (setup_folder_as_stock): New arg @icon_name;
    if not NULL, set up a custom icon for the folder.
    (setup_stock_folders): Set up custom icons for inbox and outbox.

    * e-storage-set-view.c (get_pixbuf_for_folder): If the folder has
    a custom icon, return the custom icon.

    * e-folder.c: New member custom_icon_name.
    (init): Initialize to NULL.
    (destroy): Free.
    (e_folder_get_custom_icon): New.
    (e_folder_set_custom_icon): New.

    * e-icon-cache.c: New.
    * e-icon-cache.h: New.

2002-07-09  Ettore Perazzoli  <ettore@ximian.com>

    * e-local-storage.c (remove_folder): Remove unused variable.

2002-07-08  Ettore Perazzoli  <ettore@ximian.com>

    * e-shortcuts-view.c (toggle_large_icons_cb): Change the group
    icon size using e_shortcuts_set_group_uses_small_icons() instead
    of changing it on the widget directly.
    (toggle_small_icons_cb): Likewise.
    (group_change_icon_size_callback): New, callback for the
    "group_change_icon_size" signal on the EShortcuts object.
    (e_shortcuts_view_construct): Connect.  Also, initialize the icon
    sizes in the icon bars from the EShortcuts object.

    * e-shell-view.c (e_shell_view_load_settings): Don't set the
    shortcut group icon modes here anymore.

    * e-shortcuts.c: New member use_small_icons in struct
    ShortcutGroup.
    (shortcut_group_new): Init to FALSE.
    (e_shortcuts_set_group_uses_small_icons): New.
    (e_shortcuts_get_group_uses_small_icons): New.
    (class_init): Install "group_change_icon_size" signal.
    (save_shortcuts): Save the icon size per-group
    here, i.e. <group title="foo" icon_size="small">.
    (load_shortcuts): Set the icon size from the group's definition
    here.

    * e-shortcuts.h: New signal "group_change_icon_size" in
    EShortcutsClass.

2002-07-08  Ettore Perazzoli  <ettore@ximian.com>

    * e-folder.c (safe_corba_string_dup): New helper function.
    (e_folder_to_corba): Use it here.

    * Makefile.am (libeshell_la_SOURCES): Move e-folder.c here, from
    evolution_SOURCES.
    (eshellinclude_HEADERS): Likewise, move e-folder.h here.

    * evolution-storage.c (impl_Storage_getFolderAtPath): New,
    implementation for Evoluiton::Storage::getFolderAtPath.
    (evolution_storage_get_epv): Install CORBA method here.

    * Evolution-Storage.idl (getFolderAtPath): New method in
    Evolution::Storage.

2002-07-05  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #22047, Crash after running the start-up wizard.  The patch
    was applied a while ago to the evolution-1-0-branch but not on
    the trunk.]
 
    * e-shell-startup-wizard.c (startup_wizard_cancel): Unref the
    ETimezoneDialog.
    (finish_func): Likewise.

2002-07-03  Ettore Perazzoli  <ettore@ximian.com>

    [Fixes #27354.]

    * e-storage-set-view.c (impl_tree_drag_drop): Invoke
    e_folder_dnd_bridge_drop().

    * e-folder-dnd-bridge.c (find_matching_target_for_drag_context):
    New arg @atom_return.  Return the GdkAtom associated with the type
    through it.
    (e_folder_dnd_bridge_drop): New.

2002-07-02  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (e_shell_show_settings): Don't set up the settings
    dialog as a transient.  [#25776]

2002-07-02  Ettore Perazzoli  <ettore@ximian.com>

    * e-local-storage.c (bonobo_interface_remove_folder_cb): Add
    parameter @listener to match the signal's signature.  [#24413]

2002-07-02  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-user-creatable-items-handler.c: New member tooltip in
    struct MenuItem.
    (ensure_menu_items): Initialize the tooltip member.
    (shell_view_view_changed_callback): Set the tooltip for the "New"
    button.
    (ensure_menu_xml): Set up the tooltip here as well.

    * evolution-shell-component.c: Add tooltip member to struct
    UserCreatableItemType.
    (user_creatable_item_type_new): New arg @tooltip.
    (evolution_shell_component_add_user_creatable_item): New arg
    @tooltip.
    (impl__get_userCreatableItemTypes): Put the tooltip in the struct
    as well.

    * e-shell-user-creatable-items-handler.c (setup_toolbar_button):
    Create a GtkTooltips object and attach it to the combo_button
    using gtk_object_set_data().
    (shell_view_view_changed_callback): Set up a tooltip for the
    button, according to the default.

    * Evolution-ShellComponent.idl: Add a tooltip member to struct
    UserCreatableItemType.

2002-07-01  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (e_shell_prepare_for_quit): Remove debugging message.

    * e-shell-view.c (setup_verb_sensitivity_for_folder): Set
    sensitivity of /commands/AddFolderToShortcutBar,
    /commands/OpenFolder and /commands/OpenFolderInNewWindow too,
    depending on whether the node that was right-clicked can be opened
    as a folder.

    * e-storage-set-view.c (popup_folder_menu): Pop up the right-click
    menu even if we are not clicking on a folder with a proper
    handler.

2002-07-01  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c: New member preparing_to_quit in EShellPrivate.
    (init): Initialize to FALSE.
    (e_shell_prepare_for_quit): Set preparing_to_quit to TRUE on
    entering, and set it to FALSE on return.
    (view_delete_event_cb): Don't call e_shell_prepare_for_quit() if
    preparing_for_quit is TRUE.

2002-06-28  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-storage.c (impl_Storage_updateFolder): Don't stop
    notifying the listeners if ::notifyFolderUpdated() fails.  Should
    fix #25598.

2002-06-28  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #10681, Incorrect behavior when deleting a hierarchy of local
    folders.]

    * e-local-storage.c: Change the ASyncRemoveFolderCallbackData
    struct to have only storage and next_paths_to_delete members.
    (remove_folder_step): New.
    (component_async_remove_folder_callback): Start deletion for the
    next path in next_paths_to_delete, so we handle recursion
    properly.
    (create_subfolder_list): New.
    (remove_folder): Create the list with create_subfolder_list,
    initialize the ASyncRemoveFolderCallbackData with the
    next_paths_to_delete list and do the first deletion.  This way we
    handle recursion properly.

2002-06-26  Iain <iain@ximian.com>

    * e-shell-importer.c (show_import_wizard): Only let the dialog be
    opened once.

2002-06-26  Iain <iain@ximian.com>

    * Evolution-StorageSetView.idl: Add a notifyFolderToggled method,
    allow checkedFolders to be writable.

    * e-shell-importer.c (free_iid_list): Free the list of iid infos.
    (get_name_from_component_info): Move this function from futher down
    the file to here because it's useful.
    (choose_importer_from_list): Present the user with a list of importer
    names to select the one they want to use.
    (get_iid_for_filetype): Store the name of the importer as well as the
    iid in the list. If there are multiple matches, show the user a list.

    * evolution-storage-set-view-listener.[ch]: Add a folder toggled signal.
    (impl_GNOME_Evolution_StorageSetViewListener_notifyFolderToggled):
    Notify listeners that a folder has been toggled.
    (corba_class_init): Hook up the new method.
    (class_init): Create the new signal.

    * evolution-storage-set-view.c
    (storage_set_view_widget_folder_toggled_cb): Call the CORBA method for 
    each listener.
    (impl_StorageSetView__set_checkedFolders): Set the checked folders
    from the list.
    (impl_StorageSetView__get_checkedFolders): Don't include blanks in the
    list.
    
2002-06-24  Ettore Perazzoli  <ettore@ximian.com>

    * e-local-storage.c (remove_folder): Removed arg @physical_uri.

    * e-shell-folder-selection-dialog.c (impl_clicked): Pass
    default_type to e_shell_show_folder_creation_dialog() properly.
    [Patch by Christian Kreibich <christian@whoop.org>.]

2002-06-19  Kjartan Maraas  <kmaraas@gnome.org>

    * e-corba-config-page.h: Remove #include <config.h>
    * e-shell-about-box.h: Same
    * e-history.h: Same
    * e-shell-importer.c: gtk_widget_show() all items in the optionmenu
    before showing it.
    * e-shell-offline-handler.h: Remove #include <config.h>
    * e-shell-settings-dialog.h: Same.
    
2002-05-31  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-storage-set-view.c
    (impl_StorageSetView__get_checkedFolders): Set release for the
    CORBA path sequence to TRUE.

    * evolution-shell-component.c
    (fill_corba_sequence_from_null_terminated_string_array): Set
    release for the CORBA sequence to TRUE so it gets freed properly.
    (impl__get_externalUriSchemas): Likewise for the returned
    uri_chema_list.

    * e-shell-offline-handler.c (duplicate_connection_list): Set
    release for the connection sequence to TRUE.

    * e-shell-config-offline.c (config_control_apply_callback): Set
    release for the path sequence to TRUE.

    * e-corba-storage-registry.c
    (impl_StorageRegistry_getStorageList): Set release for the storage
    sequence to TRUE.

    * evolution-storage.c (impl_Storage__get_folderList): Set release
    for the folder sequence to TRUE.

2002-05-30  Ettore Perazzoli  <ettore@ximian.com>

    [This fixes #25361.]

    * e-folder-list.c (e_folder_list_construct): Use
    bonobo_object_ref() instead of bonobo_object_client_ref() as the
    former only refs the CORBA object [Sigh].

    * e-shell-config-autocompletion.c
    (e_shell_config_autocompletion_create_widget): Don't unref the
    shell_client here, as we need it.  :-)

2002-05-30  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view-menu.c (command_about_box): Connect
    about_box_event_callback() to the "key_press_event" signal as
    well.  This way the about box is closed when you press a key too.
    [#25349]

2002-05-28  Chris Toshok  <toshok@ximian.com>

    * e-folder-list.c (e_folder_list_set_items): skip folders that
    aren't valid uri's.
    (e_folder_list_get_items): didn't update this to track the change
    in model columns.  bad toshok.

2002-05-24  Chris Toshok  <toshok@ximian.com>

    [ fixes 90% of #25047 ]
    * e-folder-list.c (get_folder_for_uri): shamelessly lifted from
    evolution-folder-selector-button.c.
    (create_display_string): modeled again after
    evolution-folder-selector-button.c, so we can give a little more
    context (and make the table look like the folder selector
    buttons.)
    (SPEC): add a pixbuf column, also remove the sorting behavior.
    (columns): add a pixbuf column and another string column (for the
    display string).
    (add_clicked): create the display string and get the proper
    pixbuf, and insert both.
    (edit_clicked): removed.
    (update_buttons): remove edit button handling from here.
    (e_folder_list_init): remove the hooking up of button-edit's
    "clicked" signal.
    (e_folder_list_construct): get a reference to the storage registry
    so we can look up folders.
    (e_folder_list_set_items): analogous change to add_clicked - get
    the display string and pixbuf and insert them.

    * glade/e-folder-list.glade: remove the edit button.

    * glade/e-shell-config-default-folders.glade: remove the
    frame/vbox,  since we embed it in a notebook and the tab has the
    title already.

    * e-shell-config.c (config_control_factory_cb): the only config
    control we deal with here now is the folder settings control.

    * e-shell-config-default-folders.c
    (e_shell_config_default_folders_create_widget): rename
    e_shell_config_default_folders_create_control to this, return the
    widget, and take the config control to use as an arg.

    * e-shell-config-offline.c (e_shell_config_offline_create_widget):
    make an analogous change here as with
    default_folders_create_widget.

    * e-shell-config-default-folders.h
    (e_shell_config_default_folders_create_widget): track change to
    prototype.

    * e-shell-config-offline.h (e_shell_config_offline_create_widget): same.

    * GNOME_Evolution_Shell.oaf.in: remove the DefaultFolders and
    OfflineFolders controls and add a FolderSettings_Control.

    * Makefile.am (evolution_SOURCES): add
    e-shell-config-folder-settings.[ch] and
    e-shell-config-autocompletion.[ch].

    * e-shell-config-folder-settings.[ch]: new files, embed (after a
    fashion) the default folder, offline, and autocompletion UI's in a
    notebook.

    * e-shell-config-autocompletion.[ch]: Basically copy over and
    shell-ize the addressbook autocompletion config control so it can
    be embedded more easily with the other folder settings.

2002-05-23  Ettore Perazzoli  <ettore@ximian.com>

    * main.c (quit_box_new): Set @allow_shrink and @allow_grow to
    FALSE for the window.  Fixes #17534.

2002-05-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-selection-dialog.c
    (e_shell_folder_selection_dialog_construct): Pass FALSE for
    @allow_shrink.  Fixes #15688.

2002-05-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-commands.c (delete_dialog): Make a little bit
    prettier.  Default to "Delete", not "Cancel".

2002-05-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-shortcuts-view.c (rename_group_cb): Set the view type from the
    original group, thus preserving the small-icon/large-icon state.
    Fixes #6732.

2002-05-23  Ettore Perazzoli  <ettore@ximian.com>

    * main.c (show_development_warning): Add a toggle to avoid
    displaying the dialog again.  Don't display the dialog at all if
    the /Shell/skip_warning_dialog_1_1 bonobo-conf key is set to
    FALSE.
    (warning_dialog_clicked_callback): Set
    /Shell/skip_warning_dialog_1_1 according to the state of the check
    button.

2002-05-22  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (impl_Shell_selectUserFolder): No more @default_type
    arg to e_shell_folder_selection_dialog_new().

    * e-shell-view-menu.c (command_goto_folder): No more @default_type
    arg to e_shell_folder_selection_dialog_new().
    (command_new_shortcut): Likewise.

    * e-shell-importer.c (import_druid_finish): No more @default_type
    arg to e_shell_folder_selection_dialog_new().

    * e-shell-folder-commands.c (e_shell_command_move_folder): No more
    @default_type arg to e_shell_folder_selection_dialog_new().
    (e_shell_command_copy_folder): Likewise.

    * e-shell-folder-selection-dialog.c: Removed default_type member
    in EShellFolderSelectionDialogPrivate.
    (e_shell_folder_selection_dialog_new): Removed @default_type arg.
    (e_shell_folder_selection_dialog_construct): Likewise.
    (impl_clicked): Just pass the first of the allowed types to
    e_shell_show_folder_creation_dialog() for the default type.

    * evolution-shell-client.c (user_select_folder): No more
    @default_type arg to the ::userSelectFolder CORBA method.

    * Evolution-Shell.idl (selectUserFolder): Remove arg
    @default_type.

2002-05-22  Ettore Perazzoli  <ettore@ximian.com>

    * main.c (view_map_callback): New callback for when the first
    created view in the shell gets mapped.
    (new_view_created_callback): New callback for when the first view
    of the shell gets created.
    (show_development_warning): New function to display a warning
    about the fact that Evolution is unstable.
    (idle_cb): Call show_development_warning() here unless the
    EVOLVE_ME_HARDER environment variable is set.

    * e-shell.c (class_init): Add the "new_view_created" signal here.
    (create_view): Emit the signal here.

    * e-shell.h: New signal "new_view_created".

2002-05-22  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-user-creatable-items-handler.c: New member
    default_menu_item in EShellUserCreatableItemsHandlerPrivate.
    (ensure_menu_items): Set ->default_menu_item.
    (get_default_action_for_view): When no default item is specified,
    just return ->default_menu_item.

2002-05-22  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (e_shell_prepare_for_quit): Only refuse quitting if
    the result is CANCEL.  This way we allow quitting if one of the
    components has crashed or something else otherwise goes wrong.
    Fixes #25093.

    * evolution-shell-component-client.c
    (result_from_async_corba_result): Handle
    GNOME_Evolution_ShellComponentListener_CANCEL.

2002-05-21  Christopher James Lahey  <clahey@ximian.com>

    * e-corba-storage.c (async_open_folder_idle): Do async_open_folder
    in an idle callback.

    * e-shell-shared-folder-picker-dialog.c (user_clicked),
    glade/e-shell-shared-folder-picker-dialog.glade: Added a select
    names button here.

2002-05-20  Chris Toshok  <toshok@ximian.com>

    * evolution-folder-selector-button.c (clicked): set the parent
    window insensitive before popping up the dialog and sensitive
    after it's popped down, to give us semi-modal behavior.  Also,
    emit a "popped_up" signal when popping up the dialog, and emit
    "canceled" when the return folder is NULL (when the user canceled
    the dialog).
    (class_init): fix typo (?) - parent type isn't
    bonobo_object_get_type(), it's PARENT_TYPE.  Also, initialize the
    POPPED_UP and CANCELED signals.

    * evolution-folder-selector-button.h (struct
    _EvolutionFolderSelectorButtonClass): add popped_up and canceled
    signals.

2002-05-20  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-offline-sync.c (sync_folder): Skip the folder if it
    doesn't have the can_sync_offline property set.

2002-05-20  Ettore Perazzoli  <ettore@ximian.com>

    * e-corba-storage.c (impl_StorageListener_notifyFolderCreated):
    Set the can_sync_offline property on the EFolder based on the
    canSyncOffline value on the CORBA folder.

    * evolution-test-component.c (setup_custom_storage): Pass FALSE
    for @sync_offline to evolution_storage_new_folder().

    * e-local-storage.c (new_folder): Pass FALSE for @sync_offline to
    evolution_storage_new_folder().

    * evolution-storage.h (evolution_storage_new_folder): New arg
    @can_sync_offline.

2002-05-20  Ettore Perazzoli  <ettore@ximian.com>

    * Evolution-Offline.idl (syncFolder): Remove exception.
    (cancelSyncFolder): Remove exception.

    * e-shell-config-offline.c (storage_set_view_has_checkbox_func):
    New.
    (e_shell_config_offline_create_control): Pass it as the
    @has_checkbox_func.

    * e-folder.c: New member can_sync_offline in EFolderPrivate.
    (init): Init to FALSE.
    (e_folder_get_can_sync_offline): New.
    (e_folder_to_corba): Set canSyncOffline in the returned CORBA
    folder.
    (e_folder_set_physical_uri): Protect from when @physical_uri and
    ->physical_uri are the same thing.
    (e_folder_set_description): Same here with description.
    (e_folder_set_type_string): And type.

    * Evolution-common.idl: New member canSyncOffline in struct
    Folder.

2002-05-20  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-config-offline.c
    (e_shell_config_offline_create_control): Pass NULL for
    @has_checkbox_func and @has_checkbox_func_data.

    * evolution-storage-set-view.c
    (impl_StorageSetView__set_showCheckboxes): Pass NULL for
    @has_checkbox_func and @has_checkbox_func_data.

    * e-storage-set-view.c: New member has_checkbox_func and
    has_checkbox_func_data in EStorageSetViewPrivate.
    (init): Init to NULL.
    (e_storage_set_view_set_show_checkboxes): New args
    @has_checkbox_func and @func_data.
    (has_checkbox): Always return FALSE for the toplevels.  For the
    other ones return TRUE unless ->has_checkbox_func is not-NULL; in
    which case, we use that function to determine whether the folder
    is actually checkable.

    * Evolution-ShellComponent.idl (requestQuit): Remove exception.

2002-05-16  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (view_delete_event_cb): Ask e_shell_prepare_for_quit()
    before destroying the view if it's the last one.

    * e-shell-view-menu.c (command_close): Synthesize a delete_event
    on the view instead of directly destroying it.

2002-05-15  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view-menu.c (command_quit): Check with
    e_shell_prepare_for_quit() before quitting.

    * e-shell.c (e_shell_prepare_for_quit): New.

    * evolution-test-component.c (request_quit_fn): New function
    asking for confirmation to quit.

    * evolution-shell-component.c (evolution_shell_component_new): New
    arg @request_quit_fn.
    (impl_requestQuit): New, implementation for
    EvolutionShellComponent::requestQuit.
    (evolution_shell_component_result_to_string): Handle
    EVOLUTION_SHELL_COMPONENT_CANCEL.
    (evolution_shell_component_client_request_quit): New.

    * Evolution-ShellComponent.idl (requestQuit): New.

2002-05-15  Iain <iain@ximian.com>

    * e-corba-storage-registry.c (impl_StorageRegistry_addStorage): Remove
    debuggin spew

2002-05-15  Iain <iain@ximian.com>

    * e-corba-storage-registry.c (impl_StorageRegistry_addStorage): Apply
    patch from Peter Williams to notify listeners when a new storage is
    created.

2002-05-14  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-offline-handler.c
    (e_shell_offline_handler_put_components_offline): Call
    e_shell_offline_sync_all_folders() if no connection is reported
    here.
    (dialog_handle_ok): Sync all the folders here through
    e_shell_offline_sync_all_folders().

    * e-shell-offline-sync.c: New.
    * e-shell-offline-sync.h: New.

    * Evolution-Offline.idl (syncFolder): Make oneway.
    (cancelSyncFolder): Likewise.
    (SyncFolderProgressListener::reportSuccess): New method.

2002-05-14  Christopher James Lahey  <clahey@ximian.com>

    * Makefile.am: Added check-empty.xpm, check-filled.xpm, and
    check-missing.xpm.

    * check-empty.xpm, check-filled.xpm, check-missing.xpm: New xpms.
    Copied from gal.  check-missing.xpm is simply a transparent xpm of
    the correct size.

    * e-storage-set-view.c (etree_value_at): When getting, check if
    the path doesn't have a check box and return 2 in that case.
    (etree_set_value_at): Check if the path doesn't have a check box
    and don't change it in that case.  Also, just invert the value
    here instead of paying attention to the set value passed in.
    (class_init): Initialize the checks GdkPixbufs.
    (e_storage_set_view_construct): Create the "optional_checkbox"
    cell.

    * e-storage-set-view.etspec: Changed the cell for the checkbox
    column to "optional_checkbox".

2002-05-14  Christopher James Lahey  <clahey@ximian.com>

    * evolution-storage.c (evolution_storage_new_folder): Compute the
    evolutionUri here and pass it in.

2002-05-14  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-config-offline.c
    (init_storage_set_view_status_from_config): Add a missing
    CORBA_free in the case in which the typecode of the
    /OfflineFolders/Paths key in the ConfigDatabase doesn't match the
    expected type.

2002-05-14  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (e_shell_go_offline): Pass self to
    e_shell_offline_handler_new() instead of the component registry.

    * e-shell-offline-handler.c: Replace member `component_registry'
    in EShellOfflineHandlerPrivate with a `shell' member.  Updated all
    the code to retrieve the component registry from the shell instead
    of directly.
    (e_shell_offline_handler_construct): Get a @shell instead of a
    @component_registry.

2002-05-13  Christopher James Lahey  <clahey@ximian.com>

    * e-storage-set-view.c (e_storage_set_view_get_checkboxes_list):
    Changed this to just walk the hash table to get the list of
    checked checkboxes instead of walking the tree.  (Makes it so that
    checked paths will remain checked, even if they're not shown in
    the tree when the list is gotten.)

2002-05-13  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-config.c: Handle the e-shell-config-offline and
    e-shell-config-default-folders pages.

    * e-shell-config-offline.h: New.
    * e-shell-config-offline.c: New.

    * e-shell-config-default-folders.h: New.
    * e-shell-config-default-folders.c: New.  Moved default folder
    page configuration in from e-shell-config.c.

    * GNOME_Evolution_Shell.oaf.in: Add
    GNOME_Evolution_Shell_Config_OfflineFolders_Control.

2002-05-13  Christopher James Lahey  <clahey@ximian.com>

    * e-storage-set-view.c (etree_set_value_at): Added a signal when
    the value of the checkboxes changes.

2002-05-10  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-shared-folder-picker-dialog.c: Add members `parent' and
    `shell' in DiscoveryData.
    (shell_view_destroy_callback): Callback for destruction of
    ->parent; set ->parent to NULL.
    (shell_destroy_callback): Callback for the desctruction of the
    shell; clean up everything.
    (discover_folder): Initialize ->parent and shell, and add the
    corresponding destruction handlers.
    (shared_folder_discovery_listener_callback): Open the discovered
    folder.
    (setup_progress_dialog): Renamed from `show_progress_dialog'.  Set
    up a timeout for displaying the dialog instead of displaying it
    right away.
    (progress_dialog_show_timeout_callback): Callback for showing the
    dialog after the callback.

2002-05-10  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-shared-folder-picker-dialog.c
    (shared_folder_discovery_listener_callback): Updated for
    FolderResult instead of DiscoverSharedFolderResult.

    * Evolution-Storage.idl: Remove struct DiscoverSharedFolderResult;
    we want to just use FolderResult for asyncDiscoverSharedFolder.

2002-05-10  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-test-component.c: Added some tests for the custom
    storage.

    * evolution-storage.c: New signal DISCOVER_SHARED_FOLDER.
    (impl_Storage_asyncXferFolder): Renamed from
    impl_Storage_async_xfer_folder.
    (impl_Storage_asyncRemoveFolder): Renamed from
    impl_Storage_async_remove_folder.
    (impl_Storage_asyncCreateFolder): Renamed from
    impl_Storage_async_create_folder.
    (impl_Storage_asyncOpenFolder): Renamed from
    impl_storage_async_open_folder.
    (impl_Storage_addListener): Renamed from
    impl_Storage_add_listener.
    (impl_Storage_removeListener): Renamed from
    impl_Storage_remove_listener.
    (impl_Storage_asyncDiscoverSharedFolder): New, implementation for
    ::asyncDiscoverSharedFolder.
    (evolution_storage_get_epv): Install the CORBA method here.
    (class_init): Set up the "discover_shared_folder" signal here.
    (e_marshal_NONE__POINTER_POINTER): Yet Another Marshaller.  Die
    die die.

    * Evolution-Storage.idl (Storage::asyncDiscoverSharedFolder): New
    method.
    (StorageListener::notifySharedFolderDiscovered): New method.

    * e-shell-shared-folder-picker-dialog.c: New.
    * e-shell-shared-folder-picker-dialog.h: New.

    * e-shell-view-menu.c (command_open_other_users_folder): New,
    implementation for the FileOpenOtherUsersFolder verb.

    * Makefile.am: Generate stubs and skels for
    Evolution::Addressbook::SelectNames as well.

    * glade/e-shell-shared-folder-picker-dialog.glade: New.

2002-05-09  Ettore Perazzoli  <ettore@ximian.com>

    * e-local-storage.c (construct): Pass %FALSE as
    @has_shared_folders to evolution_storage_new().

    * evolution-storage.c: New member has_shared_folders in
    EvolutionStoragePrivate.
    (init): Initialize to FALSE.
    (evolution_storage_new): New arg @has_shared_folders.
    (evolution_storage_construct): Likewise.
    (impl_Storage__get_folderList): Renamed from
    impl_Storage__get_folder_list.
    (impl_Storage__get_hasSharedFolders): New, implementation for
    ::hasSharedFolders.
    (evolution_storage_get_epv): Install the CORBA method
    implementation.

    * Evolution-Storage.idl: Make Storage::name a readonly attribute.  New attribute Storage::

2002-05-09  Ettore Perazzoli  <ettore@ximian.com>

    * Evolution-Offline.idl: Rename NotPrepared to notPrepared and
    NotSyncing to notSyncing.

    * evolution-storage.c (impl_Storage__get_folder_list): Renamed
    from impl_Storage_get_folder_list().

    * Evolution-Storage.idl: Don't typedef FolderList here.  Replace
    `getFolderList' method with a readonly attribute.

2002-05-07  Ettore Perazzoli  <ettore@ximian.com>

    * Evolution-Offline.idl: New interface SyncFolderProgressListener.
    (Offline::cancelSyncFolder): New.
    (Offline::syncFolder): New.

2002-05-07  JP Rosevear  <jpr@ximian.com>

    * evolution-storage.c (get_folder_list_foreach): add every folder
    to the sequence except the root folder
    (impl_Storage_get_folder_list): implement corba method
    (evolution_storage_get_epv): set new method implementation

    * evolution-folder-selector-button.h: fix signal prototype

    * e-folder-tree.h: new proto

    * e-folder-tree.c (e_folder_tree_get_count): count nodes
    (count_nodes): bump count foreach path

    * e-corba-storage-registry.c
    (impl_StorageRegistry_getStorageList): implement idl method
    (corba_class_init): set epv method

    * Evolution-Storage.idl: add getStorageList and getFolderList
    methods

2002-05-07  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-test-component.c (create_new_folder_selector): Use the
    new evolution_shell_client_create_storage_set_view() call.

    * evolution-shell-client.c
    (evolution_shell_client_create_storage_set_view): New.

2002-05-07  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-storage-set-view-factory.c
    (evolution_storage_set_view_factory_new_view): Put the
    EStorageSetView in an EScrollFrame.

    * e-shell.c (impl_Shell_createStorageSetView):
    CORBA_Object_duplicate the object before returning.

    * evolution-test-component.c
    (create_new_folder_selector): New function to create a simple test
    environment for the new checkbox-enabled StorageSetView.
    (register_component): Add user-creatable type FolderSelector.
    (user_create_new_item_callback): Handle FolderSelector.
    (dialog_clicked_callback): Print out the checked items in the
    folder selector.
    (main): Print out a message before going into bonobo_main().

    * evolution-storage-set-view.c
    (impl_StorageSetView__get_showFolders): Renamed from
    impl_StorageSetView__get_show_folders.
    (impl_StorageSetView__set_showFolders): Renamed from
    impl_StorageSetView__set_show_folders.
    (impl_StorageSetView__set_showCheckboxes): New, write the
    showCheckboxes CORBA attribute.
    (impl_StorageSetView__get_showCheckboxes): New, read the
    showCheckboxes CORBA attribute.
    (impl_StorageSetView__get_checkedFolders): New, read the
    checkedFolders CORBA attribute.
    (corba_class_init): Install the new CORBA methods methods.

    * e-storage-set-view.c (essv_add_to_list): strdup() the path.
    (e_storage_set_view_get_storage_set): New.

    * e-folder.c (e_folder_to_corba): New.

    * Evolution-StorageSetView.idl: Add showCheckboxes and
    checkedFolders attributes.

    * Evolution-common.idl: Add typedef for FolderList.

2002-05-03  Christopher James Lahey  <clahey@ximian.com>

    * e-folder-list.c: Use bonobo_object_client_(un)?ref instead of
    gtk_object_(un)?ref.
    (add_clicked): Don't pass NULL to
    evolution_shell_client_user_select_folder.

    * glade/Makefile.am: Added e-folder-list.glade

    * glade/e-folder-list.glade: The glade file for e-folder-list.

2002-05-03  Christopher James Lahey  <clahey@ximian.com>

    * Makefile.am (eshellinclude_HEADERS): Added e-folder-list.h.
    (libeshell_la_SOURCES): Added e-folder-list.c.

    * e-folder-list.c, e-folder-list.h: New widget for editing a list
    of folder uris.

2002-04-29  Christopher James Lahey  <clahey@ximian.com>

    * e-storage-set-view.c (e_storage_set_view_set_checkboxes_list,
    e_storage_set_view_get_checkboxes_list): Added these functions.
    Implemented checkboxes in the ETreeModel here.

2002-04-19  Anna Marie Dirks  <anna@ximian.com>

    * glade/e-shell-config-default-folders.glade: Minor label tweaks;
    changed "Default folders" to "Default Folders", and added
    accelerators.

2002-04-18  JP Rosevear  <jpr@ximian.com>

    * evolution-shell-view.c (impl_ShellView_show_settings): emit
    show_settings signal
    (corba_class_init): assign epv method
    (class_init): add signal

    * evolution-shell-view.h: new signal

    * e-shell.c (init): init settings_dialog private member
    (settings_dialog_destroy_cb): reset dialog pointer
    (e_shell_show_settings): show the settings dialog, bring it to the
    front if one already exists for this shell

    * e-shell.h: new proto

    * e-shell-view.c (corba_interface_show_settings): implement
    showSettings method
    (setup_corba_interface): listen for show_settings signal
    (e_shell_view_show_settings): show the settings dialog

    * e-shell-view.h: new proto

    * e-shell-view-menu.c (command_settings): call
    e_shell_view_show_settings instead

    * Evolution-ShellView.idl: add showSettings method

2002-04-17  Ettore Perazzoli  <ettore@ximian.com>

    * e-shortcuts-view.c (impl_shortcut_drag_motion): New, override
    for EShortcutBar::shortcut_drag_motion.
    (impl_shortcut_drag_data_received): New, override for
    EShortcutBar::shortcut_drag_data_received.
    (class_init): Install the method overrides.

2002-04-17  Christopher James Lahey  <clahey@ximian.com>

    * e-activity-handler.c: Updated this to match the new EPopupMenu.

2002-04-17  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (handle_evolution_path_drag_motion):
    Removed.
    (impl_tree_drag_motion): Rewritten to use
    `e_folder_dnd_bridge_motion()'.
    (impl_tree_drag_data_received): Rewritten to use
    `e_folder_dnd_bridge_data_received()'.
    (convert_gdk_drag_action_to_corba): Removed.
    (convert_corba_drag_action_to_gdk): Removed.
    (find_matching_target_for_drag_context): Removed.

    * e-folder-dnd-bridge.c: New.
    * e-folder-dnd-bridge.h: New.

2002-04-10  Dan Winship  <danw@ximian.com>

    * e-shell-config.c: Shell config page routines. Right now
    handles the default folders page.

    * glade/e-shell-config-default-folders.glade: New.

    * GNOME_Evolution_Shell.oaf.in: Add info for the default folders
    config page.

    * main.c (idle_cb): If we successfully registered the shell,
    register the config factory.

    * evolution-shell-client.c (evolution_shell_client_new): Note the
    fact that it frees the corba_shell when it is destroyed.

    * evolution-folder-selector-button.c
    (evolution_folder_selector_button_construct, destroy): Use
    bonobo_object_ref/unref on the shell client, not gtk.

    * e-shell.c (e_shell_construct): Pass local_directory to
    e_setup_check_db.
    (handle_default_uri): Fix the config db paths here to match the
    other routines.

    * e-setup.c (e_setup_check_db): Make this take the evolution
    directory path as well so we can properly set up file: URIs for
    the default folders.

2002-04-09  Ettore Perazzoli  <ettore@ximian.com>

    * main.c (idle_cb): Change the logic for displaying a default
    window, so we don't end up with two windows all the time.

2002-04-09  Ettore Perazzoli  <ettore@ximian.com>

    [Patch from Max Horn <max@quendi.de>.]

    * e-local-storage.c: Move <dirent.h> down the #include list so it
    compiles on Darwin.

2002-04-09  Dan Winship  <danw@ximian.com>

    * e-setup.c (e_setup_check_db): New. Check that things that need
    to be in the config db are. Right now it sets up the default
    folders.

    * e-shell.c (e_shell_construct): Call e_setup_check_db after
    getting the config db.
    (impl_Shell_handleURI): Handle "default:" URIs by looking up the
    default folders in the config db.
    
    * main.c (idle_cb): Check for "default:" URIs and treat them the
    same way as "evolution:" URIs. If the shell fails to display all
    of the requested URIs, fall back to the default URI (Summary).

    * e-shell-constants.h: Add E_SUMMARY_URI, E_LOCAL_INBOX_URI, etc.

    * e-shortcuts.c (e_shortcuts_add_default_group): Use
    E_LOCAL_INBOX_URI, etc.

    * e-shell-view.c: #define FALLBACK_URI to E_SUMMARY_URI

2002-04-09  Dan Winship  <danw@ximian.com>

    * Evolution-ShellComponent.idl (createView): Add a "view_info"
    argument.

    * e-shell-view.c (get_view_for_uri): if the URI contains a '#',
    split it into a URI and a "view_info" at that point. (Otherwise,
    pass "" for the view_info to ShellComponent_createView.) This can
    be used for things like specifying day/month/week view to the
    calendar.

    * e-shell.c (create_view): Ignore e_shell_view_display_uri's
    return code: it's possible/likely that the requested URL is remote
    and hasn't been filled in yet.
    (impl_Shell_handleURI): Don't use Shell_createNewView directly,
    call e_shell_create_view_from_uri_and_settings. (For the above fix
    and some others.)

    * evolution-shell-component.c (impl_createView): Add view_info.

    * evolution-shell-component-client.c
    (evolution_shell_component_client_create_view): Add view_info.

    * evolution-test-component.c (create_view_fn): add view_data.

    * e-corba-storage-registry.c
    (impl_StorageRegistry_getFolderByUri): kill a warning

2002-04-08  Dan Winship  <danw@ximian.com>

    Fix "evolution evolution:/path/to/folder" to use default view
    prefs.
    
    * e-shell.c (impl_Shell_createNewView): Use
    e_shell_create_view_from_uri_and_settings to create the new view
    based on saved view 0 instead of always using the initial
    evolution defaults.
    (e_shell_create_view_from_uri_and_settings): Renamed and
    simplified; the template_view argument was useless and
    settings_found would always be set to TRUE in the context it was
    being used it.
    (e_shell_restore_from_settings): Simplify for
    e_shell_create_view_from_uri_and_settings changes.

    * e-shell-view.c (e_shell_view_load_settings): Only load the
    DisplayedURI if the view isn't already displaying a URI. Also,
    pass an &ev to the first bonobo_config_get_long so we can tell if
    it failed and bail out.

    * e-shell-view.h: Remove a prototype for a non-existent function
    (e_shell_view_remove_control_for_uri).

    * main.c (idle_cb): Add some comments here and remove some dead
    code.

2002-04-06  JP Rosevear  <jpr@ximian.com>

    * e-shell-settings-dialog.c (page_new): set type
    (load_pages): get the oaf property for type and track the page
    number of the highest priority for each type
    (destroy_type_entry): destroy hash func
    (impl_destroy): destroy the hash table
    (init): create private struct and hash table
    (e_shell_settings_dialog_show_type): show the page of the given
    type

    * e-shell-view-menu.c (command_settings): show the page for the
    current folder type by default

    * e-shell-settings-dialog.h: new proto

2002-04-06  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-settings-dialog.c (init): Set the title of the dialog.

2002-04-04  Dan Winship  <danw@ximian.com>

    * evolution-shell-client.c
    (evolution_shell_client_get_pixbuf_for_type): Fix a memory mixup.

2002-04-04  Dan Winship  <danw@ximian.com>

    * evolution-folder-selector-button.c: New widget for a button that
    displays a folder selection in a standard form, and when clicked
    lets the user select a new folder.

    * Evolution-Shell.idl (FolderSelectionListener:notifySelected):
    Make this take an Evolution:Folder instead of a pair of uris.
    (Shell:getIconByType): New method to get the icon for a type from
    the folder type registry.
    
    * Evolution-common.idl (Folder): add "evolutionUri" to the folder
    structure.

    * Evolution-Storage.idl (StorageRegistry:getFolderByUri): get an
    Evolution:Folder for a given uri.

    * evolution-shell-client.c
    (evolution_shell_client_user_select_folder): Update this to
    reflect the IDL change: return a GNOME_Evolution_Folder instead of
    a pair of URIs. Make sure it always sets *@folder_return to %NULL
    if it fails (even if it's a g_return_if_fail).
    (evolution_shell_client_get_storage_registry_interface): New.
    (evolution_shell_client_get_pixbuf_for_type): New. Uses
    Shell_getIconByType, but caches results.

    * e-shell.c (folder_selection_dialog_folder_selected_cb): Update
    for API change. (Return a GNOME_Evolution_Folder.)
    (impl_Shell_getIconByType): Implement.

    * e-corba-storage-registry.c
    (impl_StorageRegistry_getFolderByUri): Implement.

    * evolution-storage.c (evolution_storage_new_folder): Add a
    (dummy) evolutionUri to the folder.

    * Makefile.am (libeshell_la_SOURCES): add
    evolution-folder-selector-button.c
    (eshellinclude_HEADERS): and .h

2002-04-04  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-shell-component.c: Change type of parent_class to
    BonoboXObjectClass.

    * e-shell.c (pop_up_activation_error_dialog): New helper function
    to pop up a dialog if one of the components couldn't be activated,
    getting the description for the error from
    e_get_activation_failure_msg().
    (setup_components): Use this function in case of activation error.
    (set_owner_on_components): Likewise, when the component gets
    restarted.  Also get a @splash arg so we can set the parent for
    this dialog correctly.

    * e-component-registry.c (register_component): New arg @ev.
    (e_component_registry_register_component): Likewise.
    (e_component_registry_restart_component): Likewise.  Also, remove
    some bogus code that was #if'ed out.

    * evolution-shell-component-client.c
    (evolution_shell_component_client_new): New arg @ev.

    * evolution-shell-component-utils.c
    (e_get_activation_failure_msg): New.

2002-04-03  Dan Winship  <danw@ximian.com>

    * e-storage.c (get_path_for_physical_uri_foreach): Deal with
    folders with no physical_uri.

2002-04-02  Christopher James Lahey  <clahey@ximian.com>

    * e-storage-set-view.c (e_storage_set_view_set_show_checkboxes):
    Set the show_checkboxes field here instead of the show_folders
    field.

2002-04-02  Christopher James Lahey  <clahey@ximian.com>

    * e-storage-set-view.c (etree_value_at): If folder is NULL, return
    the correct type of data.

2002-04-02  Christopher James Lahey  <clahey@ximian.com>

    * Makefile.am (etspec_DATA): Added
    e-storage-set-view-checkboxes.etstate and
    e-storage-set-view-no-checkboxes.etstate here.

    * e-storage-set-view-checkboxes.etstate,
    e-storage-set-view-no-checkboxes.etstate: The two possible states
    of the EStorageSetView.

    * e-storage-set-view.c, e-storage-set-view.h
    (e_storage_set_view_set_show_checkboxes,
    e_storage_set_view_get_show_checkboxes): Added this functionality.
    Added a model column to the underlying table for the checkbox
    data.

    * e-storage-set-view.etspec: Added a view column for the
    checkboxes.

2002-03-29  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-settings-dialog.c: Add type "Page".
    (page_new): New helper function.
    (page_free): New helper function.
    (compare_page_func): Callback for sorting a GList of pages.
    (sort_page_list): New helper function.
    (load_pages): Create the pages, sort them, add them sorted.  Now
    we have a priority field that overrides alphabetical sorting.

2002-03-26  Ettore Perazzoli  <ettore@ximian.com>

    * e-component-info.c: New.
    * e-component-info.h: New.

2002-03-26  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-settings-dialog.c (load_pages): g_warning if the control
    cannot be activated.

2002-03-25  Dan Winship  <danw@ximian.com>

    * e-shell.c (e_shell_construct): Register a "working" folder type
    with the hourglass icon. (Would eventually like an animated gif,
    when ETable supports that.)

    * e-storage.c (e_storage_has_subfolders): Use "working" rather
    than "noselect" as the folder type.

    * e-shell-view.c (get_view_for_uri): Simplify a bit.

2002-03-22  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-settings-dialog.c (get_language_list): Removed.
    (load_pages): Use e_get_language_list() here instead.  Also, free
    using e_free_language_list().

2002-03-22  Dan Winship  <danw@ximian.com>

    * evolution-storage.c (evolution_storage_update_folder): Fix a
    "how can this ever have worked" bug to make unread message counts
    start working again. (#22293 etc)
    (evolution_storage_removed_folder): Oops. Fix here too.
    (evolution_storage_has_subfolders): And here. When cut and paste
    goes bad...

    * e-shell-folder-commands.c (e_shell_command_rename_folder): Use
    e_folder_get_name. Don't assume it's the same as the last path
    element.

2002-03-21  Dan Winship  <danw@ximian.com>

    * e-splash.c (e_splash_construct): Set the wmclass to
    "evolution-splash" so sawfish knows it's not the same kind of
    window as the main window.

2002-03-20  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view-menu.c: Make all the verb/menu arrays appropriately
    static.

2002-03-20  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view-menu.c (command_send_receive): New, implementation
    for the "SendReceive" verb.

    * e-shell.c (e_shell_send_receive): New.

    * evolution-shell-component.c (impl_sendReceive): Implementation
    of ShellComponent::sendReceive.
    (class_init): Add the "send_receive" signal.

    * evolution-shell-component.h: Added `send_receive' signal.

    * Evolution-ShellComponent.idl: Added ShellComponent::sendReceive.

2002-03-18  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.etspec: Add `search="string"' for the
    keyboard navigability search thingy.

2002-03-15  Jeffrey Stedfast  <fejj@ximian.com>

    * e-activity-handler.c (show_cancellation_popup): Updated to use
    new EPopupMenu API.

2002-03-14  Dan Winship  <danw@ximian.com>

    Support for delayed filling-in of storages/folders.

    * Evolution-Storage.idl (StorageListener): add
    notifyHasSubfolders, to announce that a folder has currently-
    unknown subfolders.
    (Storage): add asyncOpenFolder, to request that previously-
    announced subfolders be filled in.

    * evolution-storage.c (impl_Storage_async_open_folder): emit
    OPEN_FOLDER.
    (evolution_storage_has_subfolders): Implement by calling
    notifyHasSubfolders on all of its listeners.

    * evolution-storage-listener.c
    (impl_GNOME_Evolution_StorageListener_notifyHasSubfolders): emit
    HAS_SUBFOLDERS.

    * e-corba-storage.c (impl_StorageListener_notifyHasSubfolders):
    Implement by calling e_storage_has_subfolders.
    (async_open_folder): Implement by calling asyncOpenFolder on the
    CORBA storage.

    * e-storage.c (EStoragePrivate, init, destroy): Keep a list of
    pseudofolders representing un-filled-in subtrees.
    (impl_async_open_folder): No-op default implementation
    (e_storage_async_open_folder): New function to request that
    un-filled-in subtrees be filled in.
    (e_storage_new_folder): If the new folder's parent has an
    "un-filled-in children" pseudofolder, remove it.
    (e_storage_has_subfolders): New function to note that a folder has
    unknown children. If the folder previously was marked as having
    real children, remove them, and emit CLOSE_FOLDER to reset it back
    to an a "unknown subfolders" state.

    * e-storage-set.c (make_full_path): Make this deal with path being
    "/", since that case gets used from storage_close_folder_cb
    sometimes.
    (storage_close_folder_cb): Proxy EStorage's CLOSE_FOLDER signal.
    (storage_set_view_folder_opened): Handle EStorageSetView's
    FOLDER_OPENED signal by calling e_storage_async_open_folder.

    * e-storage-set-view.c (etree_fill_in_children): If the given node
    is its parent's first child, emit FOLDER_OPENED for the parent.
    (close_folder_cb): Handler for EStorageSet's CLOSE_FOLDER signal.
    Ask the model to close that node.
    (e_storage_set_view_construct): Set the default expanded state for
    the tree to FALSE rather than TRUE, to prevent unwanted expansion
    of delayed nodes. (This only affects the very first time the tree
    is displayed anyway: after that its state is loaded off disk.)

    * e-shell.c (e_shell_construct): Register the "noselect" type with
    the folder type registry, so icon lookups on placeholder folders
    will work.

2002-03-13  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-settings-dialog.c (load_pages): Use
    `evolution:config_item:icon_name' instead of
    `evolution:config_item:icon_path'.  If it's not an absolute path,
    load from the IMAGESDIR.  Also, no need to specify the language
    list for this one, as the icon name shouldn't be translated.

2002-03-12  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-test-component.c (create_configuration_page): Update
    to create an EvolutionConfigControl instead of just a
    BonoboControl.

    * e-corba-config-page.c (e_corba_config_page_construct): Get a
    GNOME_Evolution_ConfigControl instead of a CORBA_Object.  Retrieve
    the control from it using ::_get_control instead of just assuming
    it's a control.  Also return a boolen indicating success or
    failure.
    (e_corba_config_page_new): Likewise, get a
    GNOME_Evolution_ConfigControl.
    (setup_listener): Renamed from `setup_config_control_interface'.
    Get a ::ConfigControl instead of a CORBA::Object.  Thus, no need
    to queryInterface here anymore.

    * evolution-config-control.c, evolution-config-control.h: New,
    implementation for the Evolution::ConfigControl interface.

    * Evolution-ConfigControl.idl: New attribute `control'.

2002-03-09  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-commands.c (e_shell_command_rename_folder): Make
    old_name_locale non-const to placate a compiler warning.
    (get_corba_null_value): Likewise.

    * e-activity-handler.c (report_task_event): `#if 0' out.

2002-03-09  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-settings-dialog.c (load_pages): Use ECorbaConfigPages.

    * e-corba-config-page.c: New.
    * e-corba-config-page.h: New.

    * Evolution.idl: #include <Evolution-ConfigControl.idl>.

    * Evolution-ConfigControl.idl: New IDL for configuration Controls
    that will be displayed in the global config dialog.

2002-03-08  Dan Winship  <danw@ximian.com>

    * e-storage-set-view.[ch]: Note that e_storage_set_view_new
    shouldn't be used directly.

    * e-shell-view.c (setup_storage_set_subwindow): Use
    e_storage_set_new_view instead of e_storage_set_view_new.

    * evolution-storage-set-view-factory.c
    (evolution_storage_set_view_factory_new_view): Likewise.

2002-03-07  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-test-component.c (create_configuration_page): New
    function to create a test configuration page for the test
    component.
    (configuration_control_factory_fn): Factory function for the
    configuration controls.
    (register_configuration_control_factory): New function to register
    the factory.
    (main): Call it.

    * e-shell-view-menu.c: Add verb "Settings".
    (command_settings): Implementation for the "Settings" verb.

    * GNOME_Evolution_TestComponent.oaf: Add a configuration control.

    * e-shell-settings-dialog.c: New.
    * e-shell-settings-dialog.h: New.   

2002-03-07  Dan Winship  <danw@ximian.com>

    Addendum to previous commit: Remove "storage_selected" vs
    "folder_selected" distinction.

    * evolution-storage-set-view.c
    (storage_set_view_widget_storage_selected_cb): Removed.

    * evolution-storage-set-view-listener.c
    (impl_GNOME_Evolution_StorageSetViewListener_notifyStorageSelected):
    Removed.
    (class_init): Remove STORAGE_SELECTED signal.

    * e-storage-set-view.c (impl_cursor_activated): Always emit
    FOLDER_SELECTED, never STORAGE_SELECTED.
    (class_init): Remove STORAGE_SELECTED signal.

    * e-shell-view.c (storage_selected_cb): Removed.

    * e-shell-folder-creation-dialog.c
    (storage_set_view_storage_selected_cb): Removed.

    * Evolution-StorageSetView.idl (StorageSetViewListener): Remove
    notifyStorageSelected.

2002-03-07  Dan Winship  <danw@ximian.com>

    Make storages-with-toplevel-views less of a hack.

    * e-folder-tree.c (e_folder_tree_add): Allow the caller to "add" a
    root folder, if the existing root folder has no children.
    (e_folder_tree_new): Use e_folder_tree_add to create the root
    folder, since it can do that now.

    * e-storage.c: (e_storage_construct): Replace toplevel_node_uri
    and toplevel_node_type args with root_folder.
    (e_storage_new): Likewise.
    (*): Remove toplevel uri/type stuff everywhere. Also remove
    display_name since now we will use the name of the root folder for
    that.

    * evolution-storage.c: Remove toplevel uri/type stuff everywhere.

    * e-local-storage.c (construct): Pass root_folder to
    e_storage_construct instead of toplevel uri/type.
    Also, evolution_storage_new no longer takes toplevel uri/type.

    * e-corba-storage.c (e_corba_storage_construct): Out with toplevel
    uri/type, in with root_folder.
    (e_corba_storage_new): Remove toplevel uri/type.

    * e-shell.c (setup_local_storage): Create a top-level folder of
    type "summary" for the Summary storage.

    * e-storage-set-view.c (set_e_shortcut_selection): Remove
    special-case for storages.
    (etree_icon_at): Remove special case for figuring out storage
    icons (but leave the code for storages without icons).
    (etree_value_at): Remove special case for storage names. (But
    still make storages always bold.) Remove unused special-case code
    for Summary.

    * e-shortcuts.c (load_shortcuts): Remove special case for
    storages, reorganize a bit.

    * e-shortcuts-view.c (get_shortcut_info): Remove special case for
    storages.

    * e-shell-view.c (update_for_current_uri): Remove special case for
    storages.
    (socket_destroy_cb): Likewise.
    (get_type_for_storage): No longer needed.
    (get_view_for_uri): No longer needs to special-case storages (but
    add a special case for folders of type "noselect", to make them
    unselectable like storages-without-toplevel-views used to be).

    * e-storage-set.c (get_storage_for_path): If passed "/foo", return
    "/" as subpath_return so e_storage_set_get_folder will DTRT in the
    NWO.

    * Evolution-Storage.idl (addStorage): Remove the toplevel_node_uri
    and toplevel_node_type arguments.

    * e-corba-storage-registry.c (impl_StorageRegistry_addStorage):
    Likewise.

2002-03-06  Dan Winship  <danw@ximian.com>

    * e-storage.c: Keep the storage name and display_name in
    EStoragePriv.
    (impl_get_name, impl_get_display_name): Return them.
    (e_storage_construct): Set them here.
    (e_storage_new): And here.

    * e-local-storage.c: (impl_get_name, impl_get_display_name):
    Removed.
    (construct): Pass E_LOCAL_STORAGE_NAME and U_("Local Folders") to
    e_storage_construct.

    * e-corba-storage.c: Remove priv->name.
    (get_name, get_display_name): Removed.
    (e_corba_storage_construct): Pass name to e_storage_construct().

    * e-summary-storage.[ch]: Gone. This didn't override anything in
    EStorage but get_name/get_display_name, and the defaults for those
    DTRT now.
    
    * e-shell-constants.h: Move E_SUMMARY_STORAGE_NAME here from
    e-summary-storage.h, and move E_LOCAL_STORAGE_NAME too for
    consistency.

    * e-storage-set-view.c: Fix up #includes.

    * e-shell-importer.c: Likewise

    * e-shell.c: Likewise. Create summary_storage as a plain EStorage
    since ESummaryStorage is gone now.

    * Makefile.am (evolution_SOURCES): Remove e-summary-storage.[ch]

2002-03-06  Dan Winship  <danw@ximian.com>

    * e-corba-storage-registry.c
    (impl_StorageRegistry_removeListener): Fix up GList/GSList
    confusion.

    * e-shell-user-creatable-items-handler.c
    (get_default_action_for_view): Don't look into the types list if
    it's empty.

2002-03-06  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-about-box.c: Reduce width of the copyright message so it
    looks prettier with the new Rupert artwork.

2002-03-04  Iain Holmes  <iain@ximian.com>

    * Evolution-Storage.idl: Add some methods to the StorageRegistry 
    interface to get a storage, and add or remove listeners. Also add a
    new exception and some structs and enums for messages.

    * e-corba_storage-registry.c: Add a GSList to the private stuct for
    recording the listeners.
    (listener_notify): Send a message to the listeners.
    (impl_StorageRegistry_getStorageByName): Implementation of the
    getStorageByName method. Returns the associated storage interface
    (storage_set_foreach): Loop through all the storages in the storageset
    and notify the listeners about them.
    (find_listener): Find a listener in the list of them.
    (impl_StorageRegistry_addListener): Add a new listener to the
    registry.
    (impl_StorageRegistry_removeListener): Remove a listener.
    (corba_class_init): Add the new methods to the EPV.
    (init): NULL the listeners list.

    * e-corba-storage.[ch] (e_corba_storage_get_corba_objref): Get the CORBA
    interface from the GtkObject.
    
2002-03-04  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #20234, Deleting Folder gratuitiously causes /local to open.]

    * e-shell-view.c (find_inbox_in_storage): New helper function to
    heuristically find an Inbox folder.
    (handle_current_folder_removed): New function to handle the
    removal of the currently displayed folder in a slightly smarter
    way than before.  It tries to display the parent folder of the
    folder that got deleted and, if not possible, the Inbox in the
    same storage.  If neither of this is possible, it displays the
    default local Inbox.  [It still doesn't handle the case where you
    have no Inbox gracefully, but that can come later.]
    (storage_set_removed_folder_callback): Call
    `handle_current_folder_removed'.

2002-03-04  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #20237, Shell silently drops xfer_folder errors.]

    * e-shell-folder-commands.c (xfer_result_callback): Display an
    error message if the operation failed.

2002-02-26  Ettore Perazzoli  <ettore@ximian.com>

    [This gets rid of some spurious "could not find handler" messages
    on exit.  What happened is that the signal would be disconnected
    twice, once by cleanup_delayed_selection() and once by the
    while_alive handler.]

    * e-shell-view.c (destroy): Call cleanup_delayed_selection() here.
    (e_shell_view_display_uri): Use gtk_signal_connect_full(), not
    e_gtk_signal_connect_full_while_alive().

2002-02-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-about-box.c: Add year 2002 to the copyright.

2002-02-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (impl_destroy): Renamed from `destroy'.
    (impl_right_click): Renamed from `right_click'.
    (impl_cursor_activated): Renamed from `cursor_activated'.
    (impl_tree_start_drag): Renamed from `tree_start_drag'.
    (impl_tree_drag_begin): Renamed from `tree_drag_begin'.
    (impl_tree_drag_end): Renamed from `tree_drag_end'.
    (impl_tree_drag_data_get): Renamed from `tree_drag_data_get'.
    (impl_tree_drag_data_delete): Renamed from
    `tree_drag_data_delete'.
    (impl_tree_drag_motion): Renamed from `tree_drag_motion'.
    (impl_tree_drag_leave): Renamed from `tree_drag_leave'.
    (impl_tree_drag_drop): Renamed from `tree_drag_drop'.
    (impl_tree_drag_data_received): Renamed from
    `tree_drag_data_received'.

2002-02-22  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #3029, Offline mode should be preserved across sessions.]

    * main.c (idle_cb): Use the e_shell_new() API below so that we use
    the saved offline settings at the next start-up if neither
    --offline nor --online has been specified.

    * e-shell.c (save_misc_settings): New function.  For now, just
    save `/Shell/StartOffline' indicating whether the shell should
    start in offline mode or not.
    (e_shell_construct): Replace @start_online with
    @startup_line_mode.
    (e_shell_new): Likewise.

    * e-shell.h: New enum EShellStartupLineMode.

2002-02-22  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (remove_uri_from_history): New helper function to
    remove all the matching URIs from the history.
    (history_uri_matching_func): Compare function for using
    e_history_remove_matching.
    (storage_set_removed_folder_callback): Call
    `remove_uri_from_history()'.

    * e-history.c (e_history_remove_matching): New.

2002-02-22  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (update_navigation_buttons): New.
    (display_uri): Call it before returning so the navigation buttons
    always have the right sensitivity.

    * e-shell-folder-title-bar.c
    (e_shell_folder_title_bar_update_navigation_buttons): New.
    (add_navigation_buttons): Remove the "Back" label.

2002-02-22  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c: New member `history' in `EShellViewPrivate'.
    (init): Initialize.
    (destroy): Unref.
    (e_shell_view_display_uri): Make it a no-op if the URI is the same
    as the current one.  Also, moved code into `display_uri' and use
    it.
    (back_clicked_callback): New, callback for the back button on the
    folder title bar.
    (forward_clicked_callback): Likewise for the forward button.

    * e-history.c: New.
    * e-history.h: New.

2002-02-22  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (e_shell_view_show_folder_bar):
    `e_shell_folder_title_bar_set_title_clickable()', not
    `e_shell_folder_title_bar_set_clickable()'.

    * e-shell-folder-title-bar.c: Rename `button', `button_label' and
    `button_arrow' to `title_button', `title_button_label' and
    `title_button_arrow'.  Renamed `label' to `title_label'.  Renamed
    `arrow_xpm' to `down_arrow_xpm'.  Added `left_arrow.xpm' and
    `right_arrow.xpm'.
    (class_init): Add the "back_clicked" and "forward_clicked"
    signals.
    (add_navigation_buttons): New function to add the navigation
    buttons to the title bar.
    (back_button_clicked_callback): Callback for the back button,
    emits "back_clicked".
    (forward_button_clicked_callback): Callback for the forward
    button, emits "forward_clicked".
    (e_shell_folder_title_bar_construct): Call
    `add_navigation_buttons()'.
    (forward_button_clicked_callback):
    (create_arrow_pixmap): Removed.
    (create_pixmap_widget_from_xpm): New.
    (title_button_box_realize_cb): Removed.
    (e_shell_folder_title_bar_construct): Don't connect.  Just add the
    icon normally using the new `create_pixmap_widget_from_xpm()'.
    (e_shell_folder_title_bar_set_title_clickable): Renamed from
    `e_shell_folder_title_bar_set_clickable'.
    (size_allocate_navigation_buttons): New.
    (size_allocate_title_button): Get an @offset.
    (size_allocate_label): Get an @offset.
    (size_allocate): Allocate the navigation buttons and offset
    everything else accordingly.

    * e-shell-folder-title-bar.h: New signals "back_clicked",
    "forward_clicked".

2002-02-21  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-user-creatable-items-handler.c
    (get_default_action_for_view): Return NULL if there is no
    component ID for the current view.
    
2002-02-21  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-user-creatable-items-handler.c (ensure_menu_items): Set
    the icons for all the "New..." menu items from the specified one
    in the type definitions.

    * e-activity-handler.c (create_gdk_pixbuf_from_corba_icon):
    Removed.
    (impl_operationStarted): Just use
    `e_new_gdk_pixbuf_from_corba_icon()'.

    * e-shell-corba-icon-utils.c (e_new_gdk_pixbuf_from_corba_icon):
    New.

2002-02-20  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #20311, new window from Shortcuts should not show the folder
    bar and the shortcut bar.  Also do the same for right-click on the
    folder bar.]

    * e-shell-view-menu.c (command_open_folder_in_new_window): Don't
    show the folder bar and the shortcut bar in the new window.

    * e-shell-view.c (activate_shortcut_cb): Don't show the folder bar
    and the shortcut bar in the new window.

    * e-shell-view.c (e_shell_create_view): Don't flush the GTK events
    here.

2002-02-20  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (e_shell_construct): New arg @start_online.  If true,
    invoke `e_shell_go_online()' before returning.
    (e_shell_new): New arg @start_online.  Pass it to
    e_shell_construct().
    (init): Default ->line_status to E_SHELL_LINE_STATUS_OFFLINE.

    * main.c (main): Add "--offline" and "--online" options.

2002-01-30  Not Zed  <NotZed@Ximian.com>

    * e-storage-set-view.c (popup_folder_menu): Use
    right_click_row_path rather than selected_row_path, so clients get
    the uri that was actually clicked on.

2002-01-27  Ettore Perazzoli  <ettore@ximian.com>

    * Makefile.am: Use SHELL_CFLAGS and SHELL_LIBS.
    * importer/Makefile.am: Likewise.

2002-01-24  Ettore Perazzoli  <ettore@ximian.com>

    * Makefile.am: Just use BONOBO_HTML_GNOME_CFLAGS and
    BONOBO_HTML_GNOME_LIBS for compiling/linking; we don't need the
    other ones.

2002-01-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-user-creatable-items-handler.c: New member `id' in
    struct `Component'.  New member `icon' in struct `MenuItem'.
    (component_free): Free ->id.
    (component_new): Renamed from `component_new_from_client'.  Get an
    @id arg and set ->id accordingly.
    (e_shell_user_creatable_items_handler_add_component): New arg @id.
    Pass it to `component_new'.
    (e_shell_user_creatable_items_handler_setup_menus): New arg
    @current_component_id.
    (e_shell_user_creatable_items_handler_update_menus): New.
    (set_current_component): New helper function.
    (get_component_by_id): New helper function.
    (add_verbs): Renamed from `add_verbs_to_ui_component()'.  Get a
    @shell_view instead of a @ui_component.  Set the SHELL_VIEW_KEY on
    the ui_component of the shell_view to point to the shell_view
    itself.
    (ensure_menu_items): Set item->icon to NULL.
    (free_menu_items): Unref item->icon.
    (ensure_menu_xml): Set the icon as well.
    (get_default_action_for_view): New helper function.
    (find_menu_item_for_verb): New helper function.
    (shell_view_view_changed_callback): New callback, set up the label
    on the "New" button depending on the current component.
    (e_shell_user_creatable_items_handler_attach_menus): New.  For
    now, do not display the toolbar button yet.
    (execute_verb): New helper function, splitting out code from
    `verb_fn'.
    (verb_fn): Use `execute_verb'.
    (combo_button_activate_default_callback): Callback for the
    "activate_default" signal on the EComboButton.
    (setup_toolbar_button): Connect.

    * evolution-shell-component.c: New member `icon' in
    `UserCreatableItemType'.
    (impl__get_userCreatableItemTypes): Put the ->icon in the
    corba_type as well.
    (user_creatable_item_type_new): Get a new @icon argument.
    (evolution_shell_component_add_user_creatable_item): New arg
    @icon.

    * Evolution-ShellComponent.idl: New member `icon' in struct
    `UserCreatableItemType'.

    * evolution-test-component.c (register_component): Pass a NULL
    @icon to `evolution_shell_component_add_user_creatable_item()'.

    * e-shell-view.c (class_init): Add the signal to the class.
    (e_shell_view_display_uri): Emit "view_changed".
    (e_shell_view_get_current_component_id): New.

    * evolution-shell-component-client.c: New member `id' in
    EvolutionShellComponentClientPrivate.
    (init): Init to NULL.
    (impl_destroy): Free.
    (evolution_shell_component_client_new_for_objref): Removed.
    (evolution_shell_component_client_construct): New arg @id.
    Initialize ->id from it.
    (evolution_shell_component_client_get_id): New.

    * e-shell-view.h: New signal "view_changed".

    * evolution-activity-client.c (create_icon_from_pixbuf): Removed.
    (create_corba_animated_icon_from_pixbuf_array): Removed.
    (evolution_activity_client_construct): Use
    `e_new_corba_animated_icon_from_pixbuf_array()' instead.

    * e-shell-icon-utils.h: New.
    * e-shell-icon-utils.c: New.

2002-01-23  Ettore Perazzoli  <ettore@ximian.com>

    [Patch by Michael Meeks <michael@ximian.com>.]

    * e-splash.c (e_splash_set_icon_highlight): g_return if there is
    no num-th icon.

2002-01-15  Iain Holmes  <iain@ximian.com>

    * e-shell-importer.c (show_import_wizard): Set the importer druid
    as a transient window of the parent shell.

2002-01-15  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #17441, Crash trying to import Multiple VCard file into LDAP
    folder.]

    * e-shell-importer.c (show_error): Add a NULL in the call to
    `gnome_message_box_new()'.

2001-12-14  Michael Meeks  <michael@ximian.com>

    * e-shell-view.c (set_current_notebook_page): re-order
    activate / de-activate to minimise flicker switching between
    identical components.

2002-01-11  Damon Chaplin  <damon@ximian.com>

    * e-shell-startup-wizard.c (finish_func): handle translated timezone
    names.

    * Makefile.am (INCLUDES): added -I$(top_srcdir)/libical/src/libical.

2001-12-17  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-about-box.c: Add Michael MacDonald.

2001-12-17  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #17377, Evolution doesn't work on multi-depth displays.]

    * main.c (main): Push GdkRGB visual and colormap.

2001-12-17  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #16693.  What happens there is that the user closed the
    dialog before the async operation was completed, so when the
    notification was received the shell crashed.]

    * e-shell-folder-creation-dialog.c: New member
    `creation_in_progress' in `DialogData'.
    (e_shell_show_folder_creation_dialog): Init to %FALSE.
    (async_create_cb): Set to %FALSE.  Also, if the
    dialog_data->dialog is %NULL, free the dialog_data before
    returning.
    (dialog_clicked_cb): Set to %TRUE.
    (dialog_destroy_cb): If a creation is in progress, just set the
    widget pointers in the DialogData struct to %NULL instead of
    freeing the whole struct.
    (async_create_cb): Make the OK and Cancel buttons sensitive.
    (dialog_clicked_cb): Make them insensitive here.

2001-12-12  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #17258, shell displays splash even if Evolution is already
    running.]

    * e-shell.c (e_shell_construct): Display the splash screen only if
    the registration succeeds.

2001-12-10  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #14838, saving passwords doesn't work.  It is actually a
    workaround for some obscure Bonobo-conf bug.]

    * e-setup.c (setup_bonobo_conf_private_directory): New helper
    function to create the `~/evolution/private' directory.
    (e_setup): Call it.

2001-12-07  Iain Holmes  <iain@ximian.com>

    [Trying to fix #14701, importing locks up Evolution.]

    * e-shell-importer.c (show_error): Show an error message, but not
    modally.
    (start_import): Use above function so none of the errors are modal.
    (folder_selected): Hide the folder dialog.
    
2001-12-04  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #7827, Switching desktops leaves the folder bar popped up.]

    * e-shell-view.c (folder_bar_popup_map_callback): And grab the
    keyboard as well.
    (popdown_transient_folder_bar): Ungrab the keyboard as well.
    (switch_on_folder_tree_click): Likewise.

    [Fix #16507, Right Click -> View does nothing.]

    * e-shell-view-menu.c: New verb "ActivateView".
    (command_activate_view): New, callback for the "ActivateView"
    verb.

2001-11-15  Zbigniew Chyla  <cyba@gnome.pl>

    * e-shell-folder-commands.c (e_shell_command_rename_folder): Convert
    folder name to locale's encoding before using it as part of the prompt.

2001-11-28  Federico Mena Quintero  <federico@ximian.com>

    Fixes bug #3290.

    * e-shell-folder-selection-dialog.c
    (e_shell_folder_selection_dialog_construct): Use our own filename
    for the collapsation state of the tree, instead of sharing the one
    of shell view number 0.
    (save_expanded_state): New function, saves the collapsation state
    of the tree.
    (impl_destroy): Call save_expanded_state().

2001-11-14  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-about-box.c: Add more contributors to the box.

2001-11-14  Damon Chaplin  <damon@ximian.com>

    * e-shell-startup-wizard.c (finish_func): make timezone default to
    "UTC" rather than "".

2001-11-12  Iain Holmes  <iain@ximian.com>

    * e-shell-startup-wizard.c (make_identity_page): Check for exception.
    (make_receive_page): Check for exception.
    (make_extra_page): Check for exception.
    (make_transport_page): Check for exception.
    (make_management_page): Check for exception.

2001-11-06  Iain Holmes  <iain@ximian.com>

    * e-shell-startup-wizard.c (make_timezone_page): Move the call to
    e_timezone_dialog_new out of the the GTK_OBJECT macro to stop it
    being called 4 times, and leaking 3.

2001-11-05  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (set_e_shortcut_selection): Get the storage
    name if we are dragging a storage instead of a folder.

2001-11-01  Anna Marie Dirks  <anna@ximian.com>

    * e-shell-importer.c (prepare_intelligent_page): Fixed spacing and
    alignment probelms. (See bug #14281)

    * e-shell-startup-wizard.c (prepare_importer_page): Fixed
    spacing and alignment problems. (See bug #14281) 

2001-11-05  Dan Winship  <danw@ximian.com>

    * e-storage-set-view.c (set_e_shortcut_selection): Set the
    shortcut name to be the folder name, not just the last component
    of its path, which may be different.

2001-11-01  Ettore Perazzoli  <ettore@ximian.com>

    * glade/evolution-startup-wizard.glade: `timezone-48.png', not
    `timezone.png'.

2001-11-01  Anna Marie Dirks  <anna@ximian.com>

    * glade/evolution-startup-wizard.glade: Changed the welcome
    message and the finishing message to be more descriptive. Also
    changed the window title to be "Evolution Setup Assistant". Finally,
    fixed a misnamed icon (replaced timezone.png with timezone-48.png).
    Partially fixes bug #14281 and totally fixes #14286. 

2001-10-31  Christopher James Lahey  <clahey@ximian.com>

    * e-storage-set-view.c (cursor_activated): Don't do operations on
    a NULL path.
    (updated_folder_cb, folder_changed_cb): Send pre_change signal
    here.

2001-10-31  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (handle_evolution_path_drag_motion): If the
    source folder is stock and the operation is GDK_ACTION_MOVE,
    always return %FALSE as we don't want that to be allowed ever.

2001-10-30  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (bonobo_widget_is_dead): Removed.
    (show_existing_view): Don't call it.

2001-10-30  Ettore Perazzoli  <ettore@ximian.com>

    * e-component-registry.c (sleep_with_g_main_loop): New utility
    function.
    (sleep_with_g_main_loop_timeout_callback): Callback function for
    `sleep_with_g_main_loop()'.
    (wait_for_corba_object_to_die): Use `sleep_with_g_main_loop()'
    instead of `sleep()'.

2001-10-30  Ettore Perazzoli  <ettore@ximian.com>

    * main.c (development_warning): Removed.
    (idle_cb): Don't call it.
    (warning_dialog_clicked_callback): Removed.

2001-10-30  Iain Holmes  <iain@ximian.com>

    * e-shell-view.c (e_shell_view_load_settings): If the display uri is
    NULL, set the view to the default.

2001-10-30  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-shell-component.c (owner_ping_callback): Duplicate the
    owner before pinging it.  Fixes #13802.

2001-10-30  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-shell-component.c (impl_owner_unset): New.
    (class_init): Install it.
    (impl_unsetOwner): Just emit the "owner_unset" signal as the
    default implementation for that signal does all the work now.
    (impl_owner_died): Set the owner_client to %NULL before unreffing
    it.
    (destroy): Likewise.
    (impl_owner_unset): Likewise.

2001-10-30  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (e_shell_view_construct): Connect to the
    "removed_folder" signal with gtk_signal_connect_while_alive() so
    we don't crash if the view gets destroyed.  Fixes #13285.

2001-10-29  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-startup-wizard.c (next_func): If we're not at the end of
    the druid list, tell the druid we're going to change the page.
    (back_func): Same for going back a page.  This way we can properly
    synchronise with the druid object and not race with the wizard
    object to set the right page.  Part of fix for #12127.

2001-10-29  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-shell-component.c (owner_ping_callback): Slightly
    change the debugigng message for when the shell has disappeared.

2001-10-29  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-shell-component.c (owner_ping_callback): Remove
    ping debugging messages.

2001-10-29  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (set_interactive): Remove debugging message.

2001-10-29  Damon Chaplin  <damon@ximian.com>

    * Makefile.am (evolution_LDADD): use libical-evolution.la

2001-10-29  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (e_shell_view_construct): Ref the shell.
    (destroy): Unref the shell.
    (destroy): Free the delayed_selection.  No need to call
    `cleanup_delayed_selection()' as the signal handler will have
    already be disconnected at this point [as we are using
    connect_while_alive()'].

2001-10-28  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (destroy): Call `cleanup_delayed_selection()' as
    there is a slight chance that the callback gets invoked during the
    cleanup phase.
    (e_shell_view_display_uri): For extra safety, make sure we don't
    get invoked on a dead object by connecting the "new_folder" signal
    with `e_gtk_signal_connect_full_while_alive()' instead of using
    plain `gtk_signal_connect_after()'.

2001-10-28  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (new_folder_cb): Don't do the
    `gtk_signal_disconnect_by_func()' as it's already done in
    `cleanup_delayed_selection()'.
    (e_shell_view_construct): Set the ->shell member as the first
    thing.
    (set_current_notebook_page): Add a cast to make the compiler
    happy.
    (new_folder_cb): Don't set priv->uri before calling
    `e_shell_view_display_uri()', because the latter does it anyways,
    and also if you set it before calling it, the selection in the
    folder tree doesn't get updated properly.

2001-10-29    <NotZed@Ximian.com>

    * evolution-storage.c (class_init): Set the return type of the
    signal handlers to GTK_TYPE_NONE.

2001-10-28  Ettore Perazzoli  <ettore@ximian.com>

    [The following should fix #13802, crash on exit.]

    * evolution-shell-component.c (impl_unsetOwner): Set the ping
    timeout ID to -1 when removing the source.
    (impl_destroy): Likewise.
    (impl_unsetOwner): Remove the timeout before unreffing, not after
    unreffing.

2001-10-28  Jon Trowbridge  <trow@ximian.com>

    * e-shell-about-box.c: Distribute credit equally.

2001-10-27    <NotZed@Ximian.com>

    * evolution-storage.c (impl_Storage_async_xfer_folder): We want
    XFER_FOLDER not REMOVE_FOLDER!

2001-10-26  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-offline-handler.c (prepare_for_offline): Remove
    debugging messages.
    (finalize_offline_hash_foreach): Likewise.

2001-10-26  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-offline-handler.c: New member `finished' in
    `EShellOfflineHandlerPrivate'.
    (finalize_offline): Ref the handler as we might get destroyed
    while putting every component offline.
    (impl_OfflineProgressListener_updateProgress): Don't emit
    ::offline_procedure_finished if ->finished is %TRUE.  Also, set it
    to %TRUE after emitting the signal.
    (cancel_offline): Likewise.
    (finalize_offline): Likewise.
    (update_dialog_clist): Guard against NULL ->dialog_gui.

2001-10-26  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-storage.c (impl_Storage_async_xfer_folder): Implement.
    (class_init): Add the signal "xfer_folder" signal.

    * evolution-storage.h: New signal "xfer_folder".

2001-10-26  Ettore Perazzoli  <ettore@ximian.com>

    * e-corba-storage.c
    (async_xfer_folder): New, implementation for the
    ::async_xfer_folder method.
    (class_init): Install it.

2001-10-26  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (destroy): Set ->is_initialized to %FALSE.
    (e_shell_unregister_all): Same here.

2001-10-26  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-importer.c (prepare_intelligent_page):
    gtk_widget_show_now() the dialog.
    * e-shell-startup-wizard.c (prepare_importer_page): Likewise.

2001-10-26  Ettore Perazzoli  <ettore@ximian.com>

    * main.c (quit_box_new): Use gtk_widget_show_now() so the stupid
    dialog hopefully displays all the time.

2001-10-26  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (set_current_notebook_page): Clear the folder bar
    label to be empty.  [#12553]

2001-10-26  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-about-box.c (timeout_callback): Draw one more line.

2001-10-26  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view-menu.c (command_about_box): Set the GtkWindow
    policy so that @allow_shrink, @allow_grow and @auto_shrink are all
    %FALSE.

2001-10-26  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-commands.c (e_shell_command_rename_folder): Don't
    allow invalid folder names.  [#12027]

    * e-shell-folder-creation-dialog.c (entry_name_is_valid): Removed.
    (dialog_clicked_cb): Use `e_shell_folder_name_is_valid()' instead.

    * e-shell-utils.c (e_shell_folder_name_is_valid): New.  Sorry I18N
    people, it breaks the string freeze slighty.

    * e-component-registry.c (component_free): Add a cast.
    (e_component_registry_restart_component): Argh, use the
    corba_objref properly in calling `wait_for_corba_object_to_die()'.

2001-10-25  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view-menu.c (update_offline_menu_item): Add accelerators
    for "Work Offline" and "Work Online".

2001-10-25  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (update_for_current_uri): Don't allow translators
    to translate "Ximian Evolution".

2001-10-25  Ettore Perazzoli  <ettore@ximian.com>

    * e-component-registry.c (wait_for_corba_object_to_die): New
    helper function.
    (e_component_registry_restart_component): Use it.
    (component_free): Call it to wait for the unowned object to die.

2001-10-25  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (impl_Shell_selectUserFolder): Handle failure from
    XGetClassHint properly.  Also, free res_name and res_class in case
    of success.  Fixes #13554.

2001-10-25  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (etree_icon_at): Don't display an icon for
    storages that have subfolders.

2001-10-25  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-importer.c: #include "e-util/e-gtk-utils.h".

    * e-shell-folder-creation-dialog.c
    (e_shell_show_folder_creation_dialog): Constify a local variable
    to placate a warning.

    * e-activity-handler.c (task_widget_cancel_callback): #if 0'ed
    out.

    * evolution-shell-component-client.c
    (evolution_shell_component_client_new): Remove unused variable
    `ior'.

2001-10-25  Ettore Perazzoli  <ettore@ximian.com>

    * e-activity-handler.c (impl_destroy): Set ->priv to NULL.
    (impl_operationStarted): Check for priv not being NULL.
    (impl_operationProgressing): Likewise.
    (impl_operationFinished): Likewise.
    (impl_requestDialog): Likewise.

2001-10-25  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-startup-wizard.c (make_mail_dialog_pages): Set the
    ->mailer to be CORBA_OBJECT_NIL in case of an exception, otherwise
    the caller will not realize about the problem.

2001-10-25  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-wizard.c (evolution_wizard_set_buttons_sensitive):
    Don't use __FUNCTION__.
    (evolution_wizard_set_show_finish): Likewise.
    (evolution_wizard_set_page): Likewise.

    * e-shell-startup-wizard.c (make_mail_dialog_pages): Do not use
    __FUNCTION__ and __LINE__.  This breaks the string freeze, but the
    old way made Evolution non-compilable with non-GNU compilers.

2001-10-24  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-about-box.c: Add a few names to the box.

2001-10-24  Dan Winship  <danw@ximian.com>

    * evolution-storage.c (evolution_storage_new_folder):
    g_return_if_fail if the display_name is NULL. "Fixes" 11182
    although there may be a few more cases lying around that pass
    NULLs in.

2001-10-24  Ettore Perazzoli  <ettore@ximian.com>

    * main.c (quit_box_new): Set the WMClass of the quit dialog to be
    different from the default one in an attempt to fix #13441.

2001-10-24  Ettore Perazzoli  <ettore@ximian.com>

    * e-local-storage.c (storage_result_from_component_result): New.
    (async_xfer_folder_callback): Use it so we get the right error
    message.
    (async_xfer_folder_complete): New arg @success.  Don't remove the
    directory and the metadata if @success is %FALSE.

2001-10-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-commands.c (rename_callback_data_new): Get the
    path and the shell view instead.
    (rename_callback_data_free): Updated accordingly.
    (rename_cb): Set the name on the folder based on the path, not the
    actual object [as the old object gets unreffed -- of course].

2001-10-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-commands.c (rename_callback_data_new): New.
    (rename_callback_data_free): New.
    (rename_cb): Rename the folder here.
    (e_shell_command_rename_folder): Don't rename the EFolder here.

2001-10-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-local-storage.c (async_xfer_folder_callback): Handle the
    return codes properly, and invoke the result callback too.

2001-10-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-activity-handler.c (show_cancellation_popup): #if 0'ed for
    now, per #7427.

2001-10-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (storage_set_removed_folder_callback): Explicitly
    deactivate the control frame, and display the default URI before
    destroying the dead one.

    * e-shell.c (e_shell_component_maybe_crashed): If the URI is of a
    folder that doesn't exist anymore, don't assume that the
    corresponding component has crashed.  Also, try pinging the
    component first; if the component responds, don't pop up the
    dialog.

2001-10-22  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view-menu.c (command_open_folder_in_new_window): No need
    to gtk_widget_show() the view anymore.

    * e-shell-view.c (activate_shortcut_cb): No need to
    gtk_widget_show() the view anymore.

    * e-shell.c (impl_Shell_createNewView): Don't explicitly show the
    new view.
    (e_shell_create_view): gtk_widget_show() the new view and flush
    the GTK+ event loop before sending the ::interactive notification.
    (create_view): New helper function.
    (e_shell_create_view): Use it.
    (e_shell_create_view_from_settings): New.
    (e_shell_restore_from_settings): Use
    `e_shell_create_view_from_settings()'.

2001-10-22  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view-menu.c (command_open_folder_in_new_window): Don't
    explicitly show the new view.

2001-10-22  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-shell-component.c (impl_unsetOwner): Remove the ping
    timeout.

2001-10-22  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (impl_Shell_selectUserFolder): Don't die if the parent
    window has no WMHints.

2001-10-22  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (show_existing_view): If the view is dead, just
    return FALSE.  Prevents crash #12483.

2001-10-22  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c: New member `is_interactive' in `EShellPrivate'.
    (init): Init to %FALSE.
    (set_interactive): New.
    (e_shell_create_view): Make interactive.
    (view_destroy_cb): If no views are left, make non-interactive.

    * evolution-shell-component.c (class_init): Set up the
    "interactive" signal.
    (impl_interactive): New implementation for the ::interactive
    method.
    (class_init): Install.

    * evolution-shell-component.h: New signal `interactive'.

    * Evolution-ShellComponent.idl: New method ::interactive.

2001-10-19  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (tree_drag_data_received): Pass the
    @folder_type to ::handleDrop.

    * evolution-shell-component-dnd.c
    (impl_GNOME_Evolution_ShellComponentDnd_DestinationFolder_handleMotion):
    New arg @folder_type.
    (impl_GNOME_Evolution_ShellComponentDnd_DestinationFolder_handleDrop):
    Likewise.

    * evolution-shell-component-dnd.h: Add @folder_type to
    `DndDestinationFolderHandleDropFn' and
    `DndDestinationFolderHandleMotionFn'.

    * e-storage-set-view.c (tree_drag_motion): Pass the folder type to
    `::handleMotion'.

    * Evolution-ShellComponentDnd.idl: Pass @folder_type in
    ::handleDrop and ::handleMotion.

2001-10-19  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view-menu.c (command_about_box): Use EShellAboutBox.
    (zero_pointer): Removed.

    * e-shell-about-box.h: New.
    * e-shell-about-box.c: New.

2001-10-18  Ettore Perazzoli  <ettore@ximian.com>

    * Makefile.am (evolution_SOURCES): Ooops.  Remove stale files
    `e-shell-about-box.[ch]'.

2001-10-17  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (impl_Shell_selectUserFolder): Set the parent
    according to the XID we get.

    * Evolution-Shell.idl: New arg @parent_xid in `::selectUserFolder'.

    * evolution-shell-client.c
    (evolution_shell_client_user_select_folder): New arg @parent.
    (user_select_folder): Likewise.  Pass it to the CORBA method.

2001-10-17  Ettore Perazzoli  <ettore@ximian.com>

    * main.c (idle_cb): Urgh.  Remove stale line that caused
    `display_default' to be set to TRUE for all the non-NULL shell
    cases.

2001-10-17  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (set_owner_on_components): Re-set the owner on the
    component that raised OldOwnerHasDied.

2001-10-15  Iain Holmes  <iain@ximian.com>

    * e-shell-startup-wizard.c (prepare_importer_page): Stop the prepare
    running twice.

2001-10-14  Dan Winship  <danw@ximian.com>

    * e-corba-storage.c (async_folder_cb): 
    * e-storage.c (e_storage_result_to_string): Add two missing codes.

2001-10-13  Dan Winship  <danw@ximian.com>

    * evolution-shell-component-utils.c (e_activation_failure_dialog):
    New function to try to activate a component when you know it's
    going to fail, and then pop up a dialog explaining why it failed.

2001-10-12  Iain Holmes  <iain@ximian.com>

    * e-shell-importer.c (prepare_intelligent_page): Flush the gdk 
    functions so that the window will be shown.

    * e-shell-startup-wizard.c (make_mail_dialog_pages): Fix some
    strings.
    (prepare_importer_page): Flush GDK functions so that the window 
    is shown.

2001-10-12  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #7643, Starting new view doesn't honor "view" settings.]

    * e-shell-view-menu.c (command_open_folder_in_new_window): Pass
    the parent @shell_view as the @template_view arg to
    `e_shell_create_view()'

    * e-shell-view.c (activate_shortcut_cb): Pass the _view as the
    @template_view arg to `e_shell_create_view()'.

    * e-shell-folder-commands.c
    (e_shell_command_open_folder_in_other_window): Pass the parent
    @shell_view as the @template_view arg to `e_shell_create_view()'.

    * e-shell.c (e_shell_create_view): New arg @template_view.
    (impl_Shell_createNewView): Pass %NULL as @template_view when
    calling it.
    (e_shell_restore_from_settings): Likewise.

2001-10-12  Ettore Perazzoli  <ettore@ximian.com>

    * main.c (quit_box_new): Also flush GDK after flushing GTK.
    Otherwise GTK might queue draw requests to X that don't get
    executed.

2001-10-12  Ettore Perazzoli  <ettore@ximian.com>

    [Hopefully really fix #8615 and friends.]

    * main.c (no_views_left_cb): Invoke `e_shell_disconnect_db()'
    before unreffing the shell.

    * e-shell.c (e_shell_disconnect_db): New.
    (destroy): Call it instead of unreffing the db manually here.

2001-10-12  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-commands.c
    (folder_selection_dialog_folder_selected_callback): Don't free the
    folder_command_data here.  It is supposed to be freed in the async
    callback.  The leak that Dan supposedly fixed was probably only
    due to the fact that the component that was supposed to perform
    the xfer didn't report a result.  Now that xfer actually works, it
    was triggering the crash instead.  [Fixes #9769.]

2001-10-12  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-offline-handler.c (prepare_for_offline): Only invoke
    `progress_listener_servant_free()', no need to also do `__fini()'
    on it as `__fini()' is also called by the former.  [Fixes #12329.]
    Also, print out the CORBA exception that gets raised so we have
    some more clues about what is wrong.

2001-10-11  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c
    (reparent_storage_set_view_box_and_destroy_popup): Don't die if
    the folder_bar_popup is %NULL.  Fixes #10922.

2001-10-11  Ettore Perazzoli  <ettore@ximian.com>

    * main.c (idle_cb): Display the default view only if we are
    starting our own shell, or if the command-line has no arguments
    and we are talking to an already existing shell.

    * e-uri-schema-registry.c
    (e_uri_schema_registry_set_handler_for_schema): Do not return a
    value.

2001-10-11  Dan Winship  <danw@ximian.com>

    * Evolution-Storage.idl: Remove "display_name" arg from update
    methods. It was only there to do the "Inbox (5)" hack, which is
    supported directly now.

    * evolution-storage.c (impl_Storage_updateFolder): no longer takes
    display_name.
    (evolution_storage_update_folder,
    evolution_storage_update_folder_by_uri): Likewise.
    (class_init): Update signal signature.

    * evolution-storage-listener.c
    (impl_GNOME_Evolution_StorageListener_notifyFolderUpdated): No
    longer takes display_name, but make it pass the unread_count along
    in the signal it emits.
    (class_init): Update signal signature.

    * e-local-storage.c (bonobo_interface_update_folder_cb): 
    * e-corba-storage.c (impl_StorageListener_notifyFolderUpdated): No
    longer take display_name.

2001-10-10  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (handle_evolution_path_drag_motion): Ooops,
    remove debugging message.

2001-10-10  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage.c (e_storage_async_xfer_folder): Make this a no-op if
    the source and the destination path are the same.

    * e-local-storage.c (impl_async_xfer_folder): return after
    returning `E_STORAGE_CANTCHANGESTOCKFOLDER' to the callback.

    * e-storage-set-view.c (handle_evolution_path_drag_motion): Make
    the check for dragging a folder over itself a little bit more
    accurate.

2001-10-05  Jon Trowbridge  <trow@ximian.com>

    * e-shell-view-menu.c (command_work_offline): This is a message,
    not a warning!
    (command_work_online): This is also a message, not a warning!
    (I'm feeling very anal today.)

2001-10-05  Ettore Perazzoli  <ettore@ximian.com>

    * main.c (idle_cb): Do not invoke
    `e_shell_restore_from_settings()' if `shell' is NULL.

2001-10-05  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (e_shell_view_save_settings): Get the right
    hpaned positions for when the shortcut bar and/or the folder bar
    are visible.

2001-10-05  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (impl_Shell_handleURI): Handle the return value from
    `evolution_shell_component_client_handle_external_uri()' as an
    EvolutionShellComponentClientResult instead of treating it as a
    boolean.  This prevents the incorrect NotFound exceptions we were
    getting for `mailto:' invocations.

2001-10-05  Ettore Perazzoli  <ettore@ximian.com>

    * main.c (quit_box_new): Also `gdk_flush()'.
    (idle_cb): If the user doesn't specify at least one `evolution:'
    URI, restore from the settings.  [Fixes #6093.]

2001-10-05  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-shell-component.c: New member `ping_timeout_id' in
    `EvolutionShellComponentPrivate'.
    (setup_owner_pinging): New helper function.
    (impl_owner_died): Unref the owner and set ->owner_client to
    %NULL.
    (impl_setOwner): Don't unref here.
    (destroy): Remove the source for ->ping_timeout_id if not -1.

2001-10-05  Ettore Perazzoli  <ettore@ximian.com>

    * main.c: #include "e-util/e-gtk-utils.h".
    (quit_box_new): Queue a draw on the window; otherwise it seems to
    fail to redraw in some cases for some reason [see #11412].

2001-10-05  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-shell-component.c (impl_setOwner): If the owner is
    dead, emit "owner_died" instead of "owner_unset".
    (impl_owner_died): New, default implementation for "owner_died".
    (class_init): Install it.

    * evolution-shell-component.h: New signal "owner_died".

2001-10-05  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (set_owner_on_components): If setting the owner fails,
    print the a warning message out.  Then restart the component.

    * e-component-registry.c (component_free): Return a boolean value.
    %FALSE if ::unsetOwner raises an exception.
    (register_type): New arg @override_duplicate, to avoid complaining
    if a component gets re-registered.
    (register_component): Likewise.
    (e_component_registry_restart_component): New.

    * e-uri-schema-registry.c
    (e_uri_schema_registry_set_handler_for_schema): Changed return
    type to `void'.  Just remove the old handler and set up the new
    one.

    * evolution-shell-component-client.c (corba_exception_to_result):
    Translate ::OldOwnerHasDied into
    EVOLUTION_SHELL_COMPONENT_OLDOWNERHASDIED.

    * evolution-shell-component.h: New enum value
    `EVOLUTION_SHELL_COMPONENT_OLDOWNERHASDIED'.

    * evolution-shell-component.c (impl_setOwner): If the old owner is
    not alive anymore [use CORBA_Object_non_existent() to figure this
    out], emit OWNER_UNSET and raise `OldOwnerHasDied'.
    (evolution_shell_component_result_to_string): New.

    * Evolution-ShellComponent.idl: New exception `OldOwnerHasDied'.
    (ShellComponent::setOwner): Can raise it.

    * e-folder-type-registry.c
    (e_folder_type_register_type_registered): New.
    (e_folder_type_register_unregister_type): New.

2001-10-04  Rodrigo Moya <rodrigo@ximian.com>

    * importer/Makefile.am: added BONOBO_GNOME_CFLAGS to make it compile
    with latest Bonobo

2001-10-02  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #11326, The folder list can become detached from its parent
    window.]

    * e-shell-view.c (folder_context_menu_popped_down_cb): Pop down
    the folder bar if it's popped up.

2001-10-02  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (e_shell_component_maybe_crashed): Make the crash
    message less dorky.  [#10264]

2001-10-02  Ettore Perazzoli  <ettore@ximian.com>

    [Don't allow dragging from a folder to one of its descendants or
    onto itself, when the operation is GDK_DRAG_MOVE.  This fixes bugs
    like #8737.]

    * e-storage-set-view.c (handle_evolution_path_drag_motion): Don't
    highlight if the user is attempting to move a folder to one of its
    descendants.

2001-10-02  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (e_shell_view_construct): Use
    `bonobo_ui_component_new_default()', not
    `bonobo_ui_component_new()'.

2001-10-02  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (storage_set_removed_folder_callback): New,
    callback for the ::removed_folder signal on the shell's
    EStorageSet.
    (e_shell_view_construct): Connect.
    (e_shell_view_remove_control_for_uri): Removed.

    * e-shell-folder-commands.c
    (folder_selection_dialog_folder_selected_callback): Don't call
    `e_shell_view_remove_control_for_uri()'.
    (e_shell_command_delete_folder): Not here either.  And don't
    display the default URI either.

2001-09-28  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #8053, `GNOME_Evolution_Shortcuts' doesn't seem to work.]

    * e-shell.c (e_shell_construct): Don't create the EShortcuts
    object a second time.

2001-09-28  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #8434, Shortcut bar not shown properly.]

    * e-shell-view.c (e_shell_view_show_shortcut_bar): Set the
    hpaned_position from the EPaned *before* hiding it -- otherwise,
    the position will of course always be zero.
    (e_shell_view_save_settings): Save from ->hpaned_position and
    ->view_hpaned_position.

2001-09-28  Iain Holmes  <iain@ximian.com>

    * importer/import.glade: Add new pages.

    * e-shell-importer.c (show_import_wizard): Set up new pages.
    (import_druid_finish): Check which type of importer to run.

2001-09-26  Iain Holmes  <iain@ximian.com>

    * Evolution-Shell.idl: Added a default_type parameter for setting the
    default folder creation type.

    * e-shell-folder-commands.c (e_shell_command_create_new_folder): Add NULL
    for default type.
    (e_shell_command_move_folder): Add NULL for default type.

    * e-shell-folder-creation-dialog.c (add_folder_types): Check for the
    default_type instead of for mail.
    (get_type_from_parent_path): Get the folder type from the parent folder
    (e_shell_show_folder_creation_dialog): Get the default folder type
    before creating the menu.

    * e-shell-folder-creation-dialog.h: Update headers.

    * e-shell-folder-selection-dialog.c (impl_clicked): Add default type.
    (e_shell_folder_selection_dialog_construct): Add default type.
    (e_shell_folder_selection_dialog_new): Add default type.

    * e-shell-folder-selection-dialog.h: Update headers.

    * e-shell-importer.c (import_druid_finish): Add NULL for default type.

    * e-shell-view-menu.c (command_new_folder): Set NULL for default type.
    (command_goto_folder): Set NULL for default type.

    * e-shell.c (impl_Shell_selectUserFolder): Update for the new default
    type.

    * evolution-shell-client.c (user_select_folder): Add "" for default type

2001-09-27  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view-menu.c (DEFINE_UNIMPLEMENTED): Remove.
    (command_new_mail_message): Removed.
    (command_pilot_settings): New.
    (e_shell_view_menu_setup): Add tools verbs.

2001-09-26  Ettore Perazzoli  <ettore@ximian.com>
    * e-shell-view.c (setup_verb_sensitivity_for_folder): New helper
    function.
    (folder_selected_cb): Call it.
    (folder_context_menu_popping_up_cb): New callback for the
    "folder_context_menu_popping_up" signal on the folder bar's
    EStorageSetView; set the sensitivities of the verbs according to
    the right-clicked folder.
    (folder_context_menu_popped_down_cb): New, callback for the
    "folder_context_menu_popped_down" signal on the folder bar's
    EStorageSetView; set the sensitivities of the verbs according to
    the currently displayed folder.
    (e_shell_view_get_folder_bar_right_click_path): Add a cast to
    placate a warning.

    * e-storage-set-view.c (class_init): Set up the
    "folder_context_menu_popping_up" and
    "folder_context_menu_popped_down" signals.
    (right_click): Emit "folder_context_menu_popping_up" before
    popping up the menu, "folder_context_menu_popped_down" after the
    menu is gone.

    * e-storage-set-view.h: New signals
    "folder_context_menu_popping_up" and
    "folder_context_menu_popped_down".

2001-09-25  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-commands.c (e_shell_command_rename_folder):
    Change the name on the EFolder object too.

2001-09-25  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage.c (e_storage_async_xfer_folder): Ooops.  Make the
    check for CANTMOVETODESCENDANT really work.

    * e-storage-set-view.c (tree_drag_data_received): Pass the
    EStorageSetView as the data for the async_xfer function.
    (folder_xfer_callback): Display an error dialog if something goes
    wrong.

    * e-shell-view-menu.c (command_rename_folder): Enable again.

    * e-shell-folder-commands.c (e_shell_command_rename_folder):
    Re-implemented.
    (delete_dialog): Use double quotes instead of single quotes around
    the folder name, for consistency with the other dialogs.

2001-09-25  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view-menu.c (get_path_for_folder_op): New helper
    function.
    (command_move_folder): Pass the @folder_path argument to
    `e_shell_command_move_folder' by using it.
    (command_copy_folder): Pass the @folder_path argument to
    `e_shell_command_copy_folder' by using it.
    (command_delete_folder): Pass the @folder_path argument to
    `e_shell_command_delete_folder()' by using it.
    (command_add_folder_to_shortcut_bar): Pass the @folder_path
    argument to `e_shell_command_add_to_shortcut_bar()' by using it.
    (command_create_folder): Pass the @parent_folder_path argument to
    `e_shell_command_create_new_folder()' by using it.
    (command_new_folder): Use `get_path_for_folder_op()'.

    * e-shell-folder-commands.c (e_shell_command_add_to_shortcut_bar):
    New arg @folder_path.
    (e_shell_command_copy_folder): New arg @folder_path.
    (e_shell_command_move_folder): New arg @folder_path.
    (e_shell_command_open_folder_in_other_window): New arg @folder_path.
    (e_shell_command_create_new_folder): New arg @parent_folder_path.
    (e_shell_command_delete_folder): New arg @folder_path.

    * e-shell-view.c (e_shell_view_get_folder_bar_right_click_path): New.

    * e-storage-set-view.c: New member `right_click_row_path'.
    (init): Init to NULL.
    (destroy): Free.
    (right_click): Set.
    (popup_folder_menu): Use `gnome_popup_menu_do_popup_modal()' so we
    are stuck in here until the menu disappears.  After that, destroy
    the menu and  call `e_tree_right_click_up()'.
    (e_storage_set_view_get_right_click_path): New.

2001-09-21  Iain Holmes  <iain@ximian.com>

    * e-shell-importer.c (folder_selected): Use GNOME functions to get
    full expanded path from file entry.

2001-09-20  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (tree_drag_motion): Check for a component
    for the given row *after* trying to handle
    EVOLUTION_PATH_TARGET_TYPE.  Otherwise, we always fail in the case
    of dnd between a folder and the toplevel node of its storage.
    (find_matching_target_for_drag_context): If not on a folder,
    always return EVOLUTION_PATH_TARGET_TYPE.

2001-09-20  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (storage_set_view_box_event_cb): Removed.
    (folder_bar_popup_map_callback): Don't connect.
    (reparent_storage_set_view_box_and_destroy_popup): Don't ungrab
    here.
    (popdown_transient_folder_bar): Ungrab here.
    (popdown_transient_folder_bar_idle): New.
    (switch_on_folder_tree_click): Invoke it in the idle loop.  Also,
    ungrab.

2001-09-20  Iain Holmes  <iain@ximian.com>

    * e-shell-startup-wizard.c (e_shell_startup_wizard_create): Check
    the number of mail accounts that exist and display the dialog it this
    is 0.

2001-09-19  Ettore Perazzoli  <ettore@ximian.com>

    * e-task-widget.c: New member `tooltips' in `ETaskWidgetPrivate'.
    (init): Init to NULL.
    (e_task_widget_construct): Create a GtkTooltips and make
    `tooltips' point to it.
    (e_task_widget_update): Set the tooltip for the label too.

2001-09-19  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-test-component.c: Removed globals `activity_client',
    `progress'.
    (timeout_callback_3): Get the activity client from @data.
    (timeout_callback_2): Likewise here.  Pass the activity client as
    the user data pointer for `gtk_timeout_add()'.  Put the progress
    count in a "my_progress" GtkObject data key.
    (timeout_callback_1): Pass the newly created EActivityClient as
    the user data pointer for `gtk_timeout_add()'.  Also, dispatch
    itself again with a random timeout delay, for a maximum of
    NUM_ACTIVITES times.  Initialize the "my_progress" GtkObject data
    to be -1.

    [Lame hack to reduce the number of parallel operations reported by
    the same component displayed in the task bar.]

    * e-activity-handler.c: New member `component_id' in
    `ActivityInfo'.
    (activity_info_new): New arg @component_id.  Init the
    `component_id' member accordingly.
    (activity_info_free): Free the `component_id' member.
    (impl_operationStarted): Pass the component_id to
    `activity_info_new()'.
    (task_widget_new_from_activity_info): Pass the component_id to the
    activity_info.

    * e-task-widget.c: New member `component_id' in
    `ETaskWidgetPrivate'.
    (impl_destroy): Free it.
    (init): Init to NULL.  Also init all the other members to NULL as
    well.
    (e_task_widget_construct): New arg @component_id.  Assign
    ->component_id to match it.
    (e_task_widget_new): New arg @component_id here as well.  Pass it
    over to `e_task_widget_construct()'.
    (e_task_widget_get_component_id): New.

2001-09-18  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (handle_evolution_path_drag_motion): New
    arg @row.  Highlight that row.
    (tree_drag_motion): Pass @row to
    `handle_evolution_path_drag_motion()'.

2001-09-18  Ettore Perazzoli  <ettore@ximian.com>

    * e-splash.c: #include "e-gtk-utils.h".

2001-09-18  Ettore Perazzoli  <ettore@ximian.com>

    * e-splash.c (e_splash_construct): Make the canvas backing stored.

2001-09-17  Ettore Perazzoli  <ettore@ximian.com>

    * main.c (quit_box_new): Call `e_make_widget_backing_stored()' on
    the widget so it refreshes properly even when we are busy waiting
    on CORBA calls.

2001-09-17  Ettore Perazzoli  <ettore@ximian.com>

    * main.c (quit_box_new): New.
    (quit_box_destroyed_callback): New.
    (no_views_left_cb): Use these two functions to display a warning
    message when Evolution is quitting.

2001-09-17  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (impl_Shell_getLocalStorage): Only raise NotReady if
    the local storage pointer is actually NULL.  This way it is
    possible for the components to access the local storage during
    initialization even if the shell is not quite finished
    initializing yet.

2001-09-17  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #9060, Shell crash after mailer crash.]

    * e-shell-view.c (hash_foreach_destroy_view): Renamed from
    `hash_forall_destroy_view'.  Don't free `name'.
    (socket_destroy_cb): Use `g_hash_table_lookup()' instead of
    `g_hash_table_lookup_extended()'.  Don't free the URI.
    (e_shell_view_remove_control_for_uri): Likewise.
    (show_existing_view): Use view->uri as the key when inserting the
    view.  Remove the old view from the hash when destroying it.
    (create_new_view_for_uri): Same here.

2001-09-16  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (e_shell_view_show_folder_bar): Hide the
    storage_set_view_box *before* getting the child1_size [otherwise,
    the latter will, um, always be zero].

2001-09-16  Christopher James Lahey  <clahey@ximian.com>

    * e-storage-set-view.c (etree_get_node_by_id): Made save_id const
    here.

2001-09-14  Ettore Perazzoli  <ettore@ximian.com>

    [Automake 1.5 fixes pointed out by Richard Boulton
    <richard@tartarus.org>, as per #9258.]

    * importer/Makefile.am (CLEANFILES): Assign directly using `=',
    instead of `+='.
    * Makefile.am (CLEANFILES): Likewise.

2001-09-14  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (impl_Shell_getLocalStorage): Return a proper value.
    (impl_Shell_createStorageSetView): Likewise.
    (impl_Shell_setLineStatus): Likewise.
    (impl_Shell__get_displayName): Likewise.
    (impl_Shell_getComponentByType): Likewise.
    (impl_Shell_createNewView): Likewise.
    (impl_Shell_handleURI): Likewise.

2001-09-14  Iain Holmes  <iain@ximian.com>

    * e-shell-importer.c (start_import): Only check for local path if the
    folderpath != NULL.

    * e-shell-startup-wizard.c (prepare_importer_page): Remove GTK_CLIST 
    cast.

2001-09-12  Iain Holmes  <iain@ximian.com>

    * evolution-wizard.c: Remove spewage.

2001-09-14  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-importer.c (start_import): Removed unused variable.

2001-09-14  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #8204 and the other bugs caused by allowing invocations on
    the ::Shell interface to happen before the shell is actually fully
    initialized.  This is a lame hack and not a nice, complete
    solution for the problem, but it should do for now.]

    * e-shell.c: New member `is_initialized' in `EShellPrivate'.
    (init): Initialize to %FALSE.
    (e_shell_construct): Set `is_initialized' to %TRUE after the
    initialization sequence is finished.
    (raise_exception_if_not_ready): New utility function to raise the
    notReady exception if the shell is not ready.
    (impl_Shell__get_displayName): Call it.
    (impl_Shell_getComponentByType): Likewise.
    (impl_Shell_createNewView): Likewise.
    (impl_Shell_handleURI): Likewise.
    (impl_Shell_selectUserFolder): Likewise.
    (impl_Shell_getLocalStorage): Likewise.
    (impl_Shell_createStorageSetView): Likewise.
    (impl_Shell_setLineStatus): Likewise.
    (e_shell_construct): Print out the repo_id of the exception from
    `bonobo_get_object()' if it fails.  Also, register on OAF just
    before displaying the splash.

    * Evolution-Shell.idl: New exception `NotReady'.  All the CORBA
    methods on ::Shell can now raise this exception.

2001-09-13  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #5990, Remembering Evolution window geometry.]

    * e-shell.c (impl_Shell_createNewView): gtk_widget_show() the new
    view returned by `e_shell_create_view()'.
    (e_shell_restore_from_settings): Same here, after loading the
    settings.

    * e-shell-view.c (activate_shortcut_cb): gtk_widget_show() the new
    view returned by `e_shell_create_view()'.

    * e-shell-view-menu.c (command_open_folder_in_new_window):
    gtk_widget_show() the view returned by `e_shell_create_view()'.

    * e-shell-folder-commands.c
    (e_shell_command_open_folder_in_other_window): gtk_widget_show()
    the view returned by `e_shell_create_view()'.

    * e-shell.c (e_shell_create_view): Don't show the view
    automatically anymore.

    * e-shell-view.c (e_shell_view_save_settings): Save the width and
    height of the window.
    (e_shell_view_load_settings): Restore the width and the height and
    gtk_window_set_default_size() based on them.

2001-09-13  Ettore Perazzoli  <ettore@ximian.com>

    [Remove a bunch of debugging messages, as per #7741.]

    * evolution-wizard.c (impl_GNOME_Evolution_Wizard_notifyAction):
    Removed debugging messages.

    * e-storage-set.c (storage_removed_folder_cb): Removed debugging
    message.

    * e-storage-set-view.c (tree_drag_begin): Removed debugging
    message.
    (tree_drag_data_received): Removed debugging messages.

    * e-shortcuts.c (idle_cb): Removed debugging message.

    * e-shortcuts-view-model.c (get_icon_for_item): Removed debugging
    message.

    * e-shell.c (setup_components): Removed debugging message.

    * e-shell-startup-wizard.c (druid_event_notify_cb): Removed
    debugging message.
    (e_shell_startup_wizard_create): Removed debugging message.

    * e-shell-offline-handler.c (finalize_offline_hash_foreach):
    Removed debugging message.

    * e-shell-importer.c (start_import): Removed debugging message.
    (item_selected): Same here.

    * e-local-storage.c (async_xfer_folder_step): Removed debugging
    message.

    * e-corba-storage.c (impl_StorageListener_notifyFolderCreated):
    Changed the error from a g_print() into a g_warning().  Removed
    debugging message.

    * e-corba-storage-registry.c (impl_StorageRegistry_addStorage):
    Removed debugging message.
    (impl_StorageRegistry_removeStorageByName): Likewise.

    * e-component-registry.c (component_free): Removed debugging
    message.
    (register_component): Don't printf() about the registered folder
    type.
    (register_component): Don't printf() about the registered schema
    type.

2001-09-13  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (pop_up_folder_bar): Disable DnD on the
    EStorageSetView to avoid strange behaviors.
    (reparent_storage_set_view_box_and_destroy_popup): Re-enable DnD
    here.
    (popdown_transient_folder_bar): And here as well.

    * evolution-storage-set-view-factory.c
    (evolution_storage_set_view_factory_new_view): Disable DnD on the
    EStorageSetView.

    * e-shell-folder-selection-dialog.c
    (e_shell_folder_selection_dialog_construct): Disable DnD on the
    EStorageSetView.

    * e-shell-folder-creation-dialog.c (add_storage_set_view): Disable
    DnD on the EStorageSetView.

    * e-storage-set-view.c: New member `allow_dnd' in
    `EStorageSetViewPrivate'.
    (init): Init to `allow_dnd' %TRUE.
    (tree_start_drag): If `allow_dnd' is false, don't start the drag
    and return %FALSE.
    (tree_drag_motion): If `allow_dnd' is false, return %FALSE.
    (e_storage_set_view_get_allow_dnd): New.
    (e_storage_set_view_set_allow_dnd): New.

2001-09-12  Ettore Perazzoli  <ettore@ximian.com>

    * main.c (main): Add SUB_VERSION to the version string passed to
    `gnome_init_with_popt_table()'.

2001-09-12  Chris Toshok  <toshok@ximian.com>

    * e-shell-importer.c (start_import): only allow importing to
    /local folders.

2001-09-12  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #4962, "Highlighting is left after a drag".]

    * e-storage-set-view.c (tree_drag_motion): Only highlight when
    moving over allowed targets.

2001-09-12  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-title-bar.c (unrealize): Only
    gtk_widget_destroy() the icon_widget if it's not NULL.

2001-09-12  Iain Holmes  <iain@ximian.com>

    * importers/evolution-importer-client.c 
    (evolution_importer_client_process_item): Remove spew.

2001-09-10  Dan Winship  <danw@ximian.com>

    * e-shell-view.c (socket_destroy_cb): Oops. Remove duplicate free.

2001-09-09  Dan Winship  <danw@ximian.com>

    Purify run. All small leaks.
    
    * e-shell-folder-commands.c
    (folder_selection_dialog_folder_selected_callback): Free the
    folder_command_data when destroying the dialog.

    * e-local-storage.c (remove_folder): Free physical_uri if we
    allocated it.

    * e-shortcuts-view.c (pop_up_right_click_menu_for_group): Unref
    the popup menu, don't destroy it.
    (destroy_group_cb): Free the question string.
    (rename_group_cb): Free the new_name.

    * e-shell-importer.c (create_plugin_menu): Free the list of
    importers.
    (get_iid_for_filetype): Likewise.
    (import_druid_finish): #ifdef out some g_strdups that are only
    used by other #ifdef'ed-out code.

    * e-shell-view.c: Make sure the keys in the uri_to_view hash get
    freed.

    * e-shell-folder-title-bar.c (set_title_bar_label_style): Unref
    the style after setting it on the widget.

    * e-shell-offline-handler.c (impl_destroy): free priv.

    * e-storage-set-view.c (tree_drag_data_received): Make sure
    target_type always gets freed.

    * e-shell-folder-creation-dialog.c (add_folder_types): Don't leak
    the type names.

2001-09-07  Iain Holmes  <iain@ximian.com>

    * e-shell-startup-wizard.c (prepare_importer_page): New design.
    (make_importer_page): Remove the extra widgets for the new design.

2001-09-07  Christopher James Lahey  <clahey@ximian.com>

    * e-storage-set-view.c (tree_start_drag): Changed this to use the
    new ETable/ETree drag stuff.

2001-09-07  Dan Winship  <danw@ximian.com>

    * evolution-shell-component-client.c
    (evolution_shell_component_client_new): Remove the "see previous
    error messages?" comment from the error message when starting a
    component, since oafd eats the output of the components it
    launches now, so it's just misleading.

2001-09-06  Chris Toshok  <toshok@ximian.com>

    * evolution-storage.c (impl_Storage_async_remove_folder): change
    to match create_folder.
    (e_marshal_NONE__POINTER_POINTER_POINTER): new marshaller for
    remove_folder.
    (class_init): make sure to use the right marshaller for
    create/remove_folder.

    * evolution-storage.h: change the signature of both the
    create_folder and remove_folder signals to be more in line with
    what's in evolution-storage.c.  They both take a Bonobo_Listener
    which the signal func notifies, instead of synchronously returning
    the result.

2001-09-06  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-activity-client.c (evolution_activity_client_update):
    Allow a value of -1.0 for @progress [which means "unknown
    progress"].

2001-09-05  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #958, ShellComponents should not be created by factories, for
    the test component.]

    * GNOME_Evolution_TestComponent.oaf: Remove the factory.

    * evolution-test-component.c (COMPONENT_FACTORY_ID): Removed.
    (component_factory_init): Removed.
    (register_component): Rename from `component_fn'.  No args, no
    return value.  Register the thing on OAF by yourself instead of
    using a factory.

2001-09-05  Ettore Perazzoli  <ettore@ximian.com>

    * e-shortcuts-view.c (get_shortcut_info): New.
    (get_efolder_from_shortcut): Removed.
    (impl_shortcut_dropped): Use `get_shortcut_info()' instead.

2001-09-05  Ettore Perazzoli  <ettore@ximian.com>

    * main.c (development_warning): s/Evolution/Ximian Evolution/.
    (idle_cb): Likewise.

    * e-splash.c (e_splash_construct): s/Evolution/Ximian Evolution/.

    * e-shell-view.c (e_shell_view_construct): s/Evolution/Ximian
    Evolution/.
    (update_for_current_uri): Likewise.
    (update_offline_toggle_status): Likewise.

    * e-shell-view-menu.c (command_about_box): s/Evolution/Ximian
    Evolution/.

2001-09-04  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #6474 and friends, crash when selecting things from the
    context activity context menu.]

    * e-activity-handler.c: New member `menu' in struct
    `ActivityInfo'.
    (activity_info_new): Init to NULL.
    (show_cancellation_popup): Set the `menu' member to point to this
    newly created pop-up, use `gnome_popup_menu_do_popup_modal()'
    instead of `gnome_popup_menu_do_popup()', and set the `menu'
    member to NULL when the menu is gone.
    (activity_info_free): Destroy `menu' member.
    (impl_requestDialog): Return
    `GNOME_Evolution_Activity_DIALOG_ACTION_ERROR' instead of nothing.

2001-09-04  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #6971, Default folder should be the Summary.]

    * main.c (idle_cb): s/DEFAULT_URI/E_SHELL_VIEW_DEFAULT_URI/.

    * e-shell.c (e_shell_create_view):
    s/DEFAULT_URI/E_SHELL_VIEW_DEFAULT_URI/.

    * e-shell-view.c (socket_destroy_cb):
    s/DEFAULT_URI/E_SHELL_VIEW_DEFAULT_URI/.
    (e_shell_view_save_settings): Likewise.

    * e-shell-folder-commands.c (e_shell_command_delete_folder):
    s/DEFAULT_URI/E_SHELL_VIEW_DEFAULT_URI/.

    * e-shell-view.h (DEFAULT_URI): Rename to
    `E_SHELL_VIEW_DEFAULT_URI'.  Change from "evolution:/local/Inbox"
    to be "evolution:/summary".

2001-09-04  Ettore Perazzoli  <ettore@ximian.com>

    [Fix ^#7675, Crashes trying to empty trash folder.]

    * e-shortcuts.c (e_shortcuts_construct): Use
    `gtk_signal_connect_while_alive()' so we don't invoke the
    callbacks on dead EShortcuts objects.

2001-09-04  Iain Holmes  <iain@ximian.com>

    * e-shell-importer.c (start_importer): Report errors in a dialog.

2001-09-04  Ettore Perazzoli  <ettore@ximian.com>

    * e-activity-handler.c (impl_operationProgressing): Just ignore
    the request if the activity handler has the GTK_OBJECT_DESTROYED()
    flag set.  This should prevent crashes like #7542 and friends when
    the components are not well-behaved enough to respect the Bonobo
    refcounting.
    (impl_operationStarted): Likewise.
    (impl_operationFinished): Likewise.
    (impl_requestDialog): Likewise.

2001-09-04  Iain Holmes  <iain@ximian.com>

    * e-shell-importer.c (start_import): Check the file exists before trying
    to do anything.

2001-09-04  Iain Holmes  <iain@ximian.com>

    * e-shell.c (e_shell_construct): Make the other components shut down
    correctly when the first time dialog is cancelled.

2001-09-04  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (tree_drag_motion): Remove debugging
    message.
    (tree_drag_motion): Likewise.

2001-09-04  Ettore Perazzoli  <ettore@ximian.com>

    [Patch from Richard Boulton <richard@tartarus.org> to fix #8497,
    "Warning when shutting view: RootNode not found".]

    * e-storage-set-view.c (e_storage_set_view_construct): Add the
    root node to the hash.
    (e_storage_set_view_set_show_folders): Likewise.

2001-08-30  Peter Williams  <peterw@ximian.com>

    * e-local-storage.c (async_xfer_folder_complete): Remove the folder from
    the EvolutionStorage as well as the EStorage.

2001-08-29  Peter Williams  <peterw@ximian.com>

    * e-storage-set-view.c (etree_node_destroy_func): Only call
    remove_node_from_hash if it's not the root node.
    (removed_storage_cb): Don't remove the node from the hash here,
    because it will be removed in the node_destroyed callback.
    (removed_folder_cb): Same.

    * e-shell-view.c (e_shell_view_remove_control_for_uri): Disconnect
    from the destroy signal so as not to confuse ourselves. Also, the
    page remove in the notebook destroys the control and the socket, so don't
    do that explicitly.

    * e-shell-folder-commands.c
    (folder_selection_dialog_folder_selected_callback): Remove the control
    for the source view if we're moving.

2001-08-31  Zbigniew Chyla  <cyba@gnome.pl>

    * e-local-storage.c
    (setup_folder_as_stock): Don't convert folder name to UTF-8 manually...
    (setup_stock_folders): ... just use U_() here.
    (impl_get_display_name): Marked string for translation (with U_).

    * e-storage-set-view.c
    (storage_sort_callback): s/strcasecmp/g_utf8_collate/
    (folder_sort_callback): ditto

    * e-summary-storage.c (impl_get_display_name):
    Marked string for translation (with U_).

2001-08-29  Iain Holmes  <iain@ximian.com>

    * e-local-storage.c (notify_listener): Function to create CORBAany
    and notify listeners.
    (component_async_create_folder_callback): Notify the listener again.
    (create_folder): Handle the Bonobo_Listener again and make it async.
    (impl_async_create_folder): Pass CORBA_OBJECT_NIL as the listener.
    (bonobo_interface_create_folder_cb): Make async.

    * evolution-storage.c (notify_bonobo_listener): Removed this broken
    broken function.
    (impl_Storage_async_create_folder): Make async, duplicate the listener
    instead of notifying it.
    (impl_Storage_async_remove_folder): Notify listener by hand.
    (e_marshal_NONE__POINTER_POINTER_POINTER_POINTER_POINTER): Return of the
    worst signal marshaller in Scotland.
    (class_init): Use the above marshaller for the create_folder signal.

2001-08-30  Jeffrey Stedfast  <fejj@ximian.com>

    * e-shell-folder-creation-dialog.c (entry_name_is_valid): Check
    for \r in the folder name, this is an invalid char. Also take a
    "reason" argument so we can inform the user why his folder name is
    invalid.
    (dialog_clicked_cb): Tell the user why the folder name is invalid.

2001-08-28  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #8125, Evolution crashes while starting.]

    * e-shortcuts.c (load_shortcuts): Handle the case when there is no
    URI without crashing.  Only add shortcuts when they are evolution:
    URIs.

2001-08-27  Ettore Perazzoli  <ettore@ximian.com>

    * Evolution-ShellComponent.idl: Studlycapsize all the IDs that are
    not.
    * Evolution-common.idl: Likewise.
    * evolution-activity-client.c: Updated accordingly.
    * evolution-shell-component.c: Likewise.
    * evolution-storage.c: Likewise.
    * e-activity-handler.c: Likewise.
    * e-component-registry.c: Likewise.
    * e-corba-storage.c: Likewise.
    * e-shell-user-creatable-items-handlers.c: Likewise.

    * e-local-storage.c (remove_folder): Remove unused variable.

    * e-shell-view.c (update_for_current_uri): Assign zero to
    `unread_count', not NULL.

    * e-shell-importer.c (import_druid_finish): Remove unused
    variable.

    * e-shell-user-creatable-items-handler.c: #include
    "e-corba-utils.h".

    * e-shell-startup-wizard.c: #include "e-shell-startup-wizard.h".

    * e-shell-startup-wizard.h: #include <glib.h>

2001-08-24  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (update_for_current_uri): Also display the unread
    count in the title bar.

2001-08-24  Ettore Perazzoli  <ettore@ximian.com>

    * e-setup.c (copy_default_stuff): Remove the stupid "do you want
    me to initialize stuff?" dialog.

2001-08-24  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c: Change the `selected_row_path' to be
    non-const.
    (destroy): Free it.
    (e_storage_set_view_set_current_folder): Set the selected_row_path
    to be this path.
    (tree_drag_begin): Free the selected_row_path and strdup() the
    value we assign.

2001-08-24  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (e_shell_view_remove_control_for_uri): Ooops.
    Save the pointer to the control for use after the view struct is
    freed.

2001-08-24  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c: New struct `View'.  Replace `uri_to_control' in
    `EShellViewPrivate' with `uri_to_view'.
    (view_new): New.
    (hash_forall_destroy_view): New, replacing
    `hash_forall_destroy_control'.
    (destroy): Updated to match the uri_to_control -> uri_to_view
    changes.
    (socket_destroy_cb): Likewise.
    (get_view_for_uri): Renamed from `get_control_for_uri'.  Return a
    View instead of a GtkWidget.
    (show_existing_view): Updated to use `get_view_from_uri', get a
    @view instead of a @control.
    (e_shell_view_display_uri): Updated to use `uri_to_view' instead
    of `uri_to_control'.
    (e_shell_view_remove_control_for_uri): Likewise.

2001-08-24  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (update_folder_title_bar): Changed to get a
    @title and a @type.
    (update_for_current_uri): Updated accordingly.
    (update_window_icon): Get a @type instead of a @folder.
    (update_for_current_uri): Updated accordingly.

2001-08-24  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #5978, "If a component dies, it's toolbar buttons remain".]

    * e-shell-view.c (socket_destroy_cb): If the view belongs to a
    toplevel storage node, get the right type information with
    `e_storage_get_toplevel_node_uri()' instead of trying to get the
    [non-existing] folder for it.

2001-08-24  Iain Holmes  <iain@ximian.com>

    * e-shell-startup-wizard.c (druid_event_notify_cb): Implement the other
    missing events.
    (make_identity_page):
    (make_receive_page):
    (make_extra_page):
    (make_transport_page):
    (make_management_page): Add the GnomeDruidPages to the page_list.

2001-08-24  Ettore Perazzoli  <ettore@ximian.com>

    * e-shortcuts-view.c: Added accelerators for the right-click
    shortcut menu.

2001-08-23  Zbigniew Chyla  <cyba@gnome.pl>

    * e-shortcuts.c (e_shortcuts_add_default_group): Convert names of the
    default group and shortcuts to UTF-8 (still no U_ :().

2001-08-23  Zbigniew Chyla  <cyba@gnome.pl>

    * e-shortcuts-view.c (destroy_group_cb): Convert the name of the group
    to GTK+ locale before displaying it in a dialog.

2001-08-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (tree_drag_data_received): If we get no
    data, don't notify the receiving component at all.

2001-08-23  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #5736, crashing when copying a message with drag and drop.]

    * e-storage-set-view.c (tree_drag_data_received): Handle NULL data
    gracefully.

2001-08-22  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage.c (e_storage_async_xfer_folder): If the remove_source
    is %TRUE and destination is a descendant of the parent, pass an
    `E_STORAGE_CANTMOVETODESCENDANT' error code to the callback.

    * e-storage.h: New value `E_STORAGE_CANTMOVETODESCENDANT' in
    `EStorageResult'.

2001-08-22  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-commands.c
    (folder_selection_dialog_folder_selected_callback): Actually
    return if the folder is being moved into one of its descendants.

2001-08-22  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-title-bar.c (label_realize_callback): `#if 0'ed
    out.
    (make_bold): Likewise.
    (e_shell_folder_title_bar_construct): Don't call it.

    * e-local-storage.c (component_async_remove_folder_callback): Only
    remove the directory if the component succeeds.

2001-08-22  Peter Williams  <peterw@ximian.com>

    * e-local-storage.c (async_xfer_folder_callback): Fix the improper
    construction of the new folder's physical URI.

2001-08-22  Ettore Perazzoli  <ettore@ximian.com>

    * e-local-storage.c (remove_folder): Don't remove the folder
    directory here.
    (component_async_remove_folder_callback): Remove it here instead.

2001-08-22  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #7775, crash trying to do New Task]

    * e-shell-user-creatable-items-handler.c (verb_fn): Make sure we
    don't pass NULL strings to
    `GNOME_Evolution_ShellComponent_userCreateNewItem()'.

2001-08-21  Damon Chaplin  <damon@ximian.com>

    * e-gray-bar.c (endarken_style): unref the rc_style.

2001-08-21  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c: #include "e-shell-startup-wizard.h".

    * e-shell-startup-wizard.h: New.

2001-08-21  Iain Holmes  <iain@ximian.com>

    * e-shell-startup-wizard.c (make_mail_dialog_pages): Show an error
    window if mailer doesn't respond.

2001-08-21  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-title-bar.c (label_realize_callback): Fix a leak:
    unref the EFont after we have used it.  Also, don't crash if
    `e_font_to_gdk_font()' returns NULL.  [This should fix #7666,
    Folder View crashes Evo.]

2001-08-21  Iain Holmes  <iain@ximian.com>

    * e-shell-importer.c (start_import): Don't print a NULL.

2001-08-20  Iain Holmes  <iain@ximian.com>

    * e-shell-importer.c (import_druid_finish): Do the correct thing when
    the new folder button is clicked.
    (folder_selected): Import the file.
    (folder_cancelled): Kill the dialog.

2001-08-18  Iain Holmes  <iain@ximian.com>

    * e-shell-startup-wizard.c (make_identity_page):
    (make_receive_page):
    (make_extra_page):
    (make_transport_page):
    (make_management_page): Check that the mailer has been inited correctly.
    (e_shell_startup_wizard_create): If some of the pages could not be 
    created, just stop trying to show the startup wizard.

2001-08-20  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (e_shell_view_load_settings): Don't set the
    paneds' positions if the respective left-hand elements [i.e. the
    shortcut bar and the folder bar] are hidden.
    (e_shell_view_show_folder_bar): Set the paned position to zero
    when hiding.
    (e_shell_view_show_shortcut_bar): Likewise.

2001-08-20  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-startup-wizard.c (finish_func): Don't free the returned
    displayname.

2001-08-20  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (pop_up_folder_bar): Make sure we display a pin
    when we are popped up.

2001-08-20  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (setup_widgets): Don't set the paned tree
    position.

2001-08-19  Chris Toshok  <toshok@ximian.com>

    * evolution-shell-component.c (impl__get_supported_types): fill
    the corba sequence for the accepted_dnd_types.

2001-08-20  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (setup_storage_set_subwindow): Don't show the
    vbox here.
    (setup_widgets): Don't show the storage_set_view_box here.

2001-08-20  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-test-component.c: Added display_name and description
    to the type.

    * evolution-shell-component.c (impl__get_supported_types): Pass
    `display_name' and `description' here.
    (evolution_shell_component_construct): Likewise.

    * evolution-shell-component.h: New members `display_name',
    `description' in `EvolutionShellComponentFolderType'.

    * e-component-registry.c (register_type): New args @description
    and @display_name.  Pass to
    `e_folder_type_registry_register_type()'.
    (register_component): Pass the values returned in the sequence
    from __get_supported_types.

    * e-folder-type-registry.c: New members `display_name' and
    `description' in `struct _FolderType'.
    (folder_type_new): New args @description and @display_name.
    Initialize the respective fields in the `FolderType' accordingly.
    (folder_type_free): Free `display_name' and `description'.
    (register_folder_type): New args @display_name, @description.
    (e_folder_type_registry_register_type): New args @display_name,
    @description.
    (e_folder_type_registry_get_description_for_type): New.
    (e_folder_type_registry_get_display_name_for_type): New.

    * Evolution-ShellComponent.idl: Added `display_name' and
    `description' fields to the `FolderType' struct.

2001-08-19  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (destroy): Put the bonobo_object_release_unref() for
    the db at the top in an attempt to fix #7542.

2001-08-19  Ettore Perazzoli  <ettore@ximian.com>

    * e-summary-storage.c (e_summary_storage_new): Change type of
    toplevel node from "Summary" to "summary".  [All the other folder
    types use lowercase names.]

    * e-shortcuts.c (load_shortcuts): Also use the display name for
    the storage.

2001-08-19  Ettore Perazzoli  <ettore@ximian.com>

    * e-shortcuts.c (load_shortcuts): Use xmlMemStrdup() to override
    the type as it's expected to be allocated by libxml later on.
    Also, get the icon for the storage if the shortcut points to a
    storage.

    * e-storage-set-view.c (etree_icon_at): Don't special case the
    Summary storage.  Rather, use `e_storage_get_toplevel_node_type()'
    for getting the type of the node.

    * e-shortcuts-view-model.c (get_icon_for_item): New helper
    function.
    (shortcuts_update_shortcut_cb): Use it.
    (shortcuts_new_shortcut_cb): Use it.
    (load_group_into_model): Use it.

2001-08-18  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c: New constant `MIN_POPUP_TREE_WIDTH'.
    (pop_up_folder_bar): Make sure the pop-up is always this size or
    more.
    (setup_widgets): Pass %FALSE for @shrink to `e_paned_pack1()'.
    (reparent_storage_set_view_box_and_destroy_popup): Likewise.

2001-08-18  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view-menu.c (shortcut_bar_visibility_changed_cb): New,
    replacing `shortcut_bar_mode_changed_cb'.
    (folder_bar_visibility_changed_cb): New, replacing
    `folder_bar_mode_changed_cb'.
    (command_toggle_folder_bar): Use `e_shell_view_show_folder_bar()'
    instead of `e_shell_view_set_folder_bar_mode()'.
    (command_toggle_shortcut_bar): Use
    `e_shell_view_show_shortcut_bar()' instead of
    `e_shell_view_set_shortcut_bar_mode()'.
    (e_shell_view_menu_setup): Updated for the
    "shortcut_bar_visibility_changed" and
    "folder_bar_visibility_changed" signals and the above changes.

    * e-shell-view.c: New member `folder_bar_popup' in
    `EShellViewPrivate'.  Replaced `folder_bar_mode' and
    `shortcut_bar_mode' with `folder_bar_shown' and
    `shortcut_bar_shown', respectively.
    (init): Updated to initialize these correctly.
    (reparent): New helper function.
    (reparent_storage_set_view_box_and_destroy_popup): New helper
    function.
    (popdown_transient_folder_bar): Updated to use the
    `folder_bar_popup'.
    (folder_bar_popup_map_callback): Renamed from
    `storage_set_view_box_map_cb'.
    (e_shell_view_set_shortcut_bar_mode): Removed.
    (e_shell_view_set_folder_bar_mode): Removed.
    (e_shell_view_show_shortcut_bar): New.  All the calls to
    `e_shell_view_set_shortcut_bar_mode()' replaced with calls to this
    one.
    (e_shell_view_show_folder_bar): New.  All the calls to
    `e_shell_view_set_folder_bar_mode()' replaced with calls to this
    one.
    (e_shell_view_folder_bar_shown): New.  All the calls to
    `e_shell_view_get_folder_bar_mode()' replaced with calls to this
    one.
    (e_shell_view_shortcut_bar_shown): New.  All the calls to
    `e_shell_view_get_shortcut_bar_mode()' replaced with calls to this
    one.
    (class_init): Replace signal `folder_bar_mode_changed' with
    `folder_bar_visibility_changed' and `shortcut_bar_mode_changed'
    with `shortcut_visibility_changed'.
    (e_shell_view_save_settings): Use keys "ShortcutBarShown" and
    "FolderBarShown" instead of "ShortcutBarMode" and "FolderBarMode",
    respectively.
    (e_shell_view_load_settings): Likewise.

    * e-shell-view.h: Removed enum `EShellViewSubwindowMode'.  Renamed
    signal `shortcut_bar_mode_changed' to
    `shortcut_bar_visibility_changed' and `folder_bar_mode_changed' to
    `folder_bar_visibility_changed'.

2001-08-17  Iain Holmes  <iain@ximian.com>

    * Makefile.am: Add the Evolution-Wizard.idl file

2001-08-17  Iain Holmes  <iain@ximian.com>

    * e-shell-folder-selection-dialog.c (folder_creation_dialog_result_cb):
    Check the priv isn't NULL before dereferencing it.

2001-08-17  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-shell-client.c
    (evolution_shell_client_set_line_status): g_return_if_fail(), not
    g_return_val_if_fail().

2001-08-17  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-shell-client.c
    (evolution_shell_client_get_local_storage): Added some g_warnings
    for when we return CORBA_OBJECT_NIL; this might help to figure out
    what is wrong with bug #6625.  Also, added a missing
    CORBA_exception_free().

2001-08-17  Jeffrey Stedfast  <fejj@ximian.com>

    * e-shell.c (e_shell_construct): Don't destroy the splash twice.

    * e-local-storage.c (setup_folder_as_stock): utf_name should not
    be const as e_utf8_from_locale_string() returns an allocated
    buffer.

3001-08-17  Iain Holmes  <iain@ximian.com>

    * Evolution.idl: Add Evolution-Wizard.idl

    * Evolution-Wizard.idl: New file implementing a wizard interface.

    * Makefile.am: Add the wizard stuff and the startup dialog stuff

    * e-shell.c (e_shell_construct): Hide the splash screen and try to
    start the startup assistant.

    * glade/Makefile.am: Add the evolution-startup-wizard.glade

2001-08-16  Jason Leach  <jleach@ximian.com>

    * e-shell-view-menu.c (authors): Add myself.

    * e-shell-view.c (folder_selected_cb): Desensitize the
    move/copy/delete/rename in the menus (including right click) for
    stock folders.

    * Evolution-Icon.idl: Actually remove this file from CVS (its
    contents are now in Evolution-common.idl).

2001-08-16  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view-menu.c: Remove the Help menu verbs and add a
    "HelpFAQ" verb.
    (command_help): Removed.
    (command_help_faq): New, implementation for the "HelpFAQ" verb.

2001-08-16  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-title-bar.c (label_realize_callback): New
    callback for the realize signal.
    (make_bold): New.  Hooks up the label_realize_callback.
    (e_shell_folder_title_bar_construct): Make the name of the folder
    bold using it.

2001-08-16  Ettore Perazzoli  <ettore@ximian.com>

    * e-gray-bar.c (endarken_style): Just hardcode the colors.

    * e-shell-folder-title-bar.c (set_title_bar_label_style): New.
    (e_shell_folder_title_bar_construct): Call it on the labels here,
    so we get nice white labels.

2001-08-16  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (e_shell_component_maybe_crashed): s/the view for `%s'
    have/the views for `%s' have/.

2001-08-16  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (etree_icon_at): Remove debugging message.

2001-08-15  Jason Leach  <jleach@ximian.com>

    * e-shell-view-menu.c (command_help): Don't hardcode/build a help
    URI here, use gnome_help_display() instead, which will figure out
    what language the user needs, etc.
    (help_verbs): Adapt these menu items to above changes, they don't
    need to pass "evolution/foo.html" to command_help, just
    "foo.html".

    * e-folder.c (e_folder_set_child_highlight): Emit a "changed"
    signal at the end of this function.  Bug #7232.

2001-08-15  Aaron Weber  <aaron@ximian.com>

    * e-shell-view-menu.c (command_about_box): Changed help menus to
    point to evolution/ and not evolution-guide/.

2001-08-15  Iain Holmes  <iain@ximian.com>

    * e-summary-storage.c: s/My Evolution/Summary

    * e-storage-set-view.c: s/My Evolution/Summary

2001-08-15  Jason Leach  <jleach@ximian.com>

    * Evolution-Shell.idl: Add a new IDL function,
    Evolution::Shell::setLineStatus (in boolean).  Bug #3030.

    * e-shell.c (impl_Shell_setLineStatus): Implementation of the
    above.

    * evolution-shell-client.c
    (evolution_shell_client_set_line_status): A wrapper function for
    the above, this is what a component can call to set the shell
    on/offline.

2001-08-14  Dan Winship  <danw@ximian.com>

    * evolution-storage.c (evolution_storage_new_folder): Use the
    passed-in unread_count.

    * e-corba-storage.c (impl_StorageListener_notifyFolderCreated):
    Pass the passed-in unread_count to e_storage_new_folder.

2001-08-13  Ettore Perazzoli  <ettore@ximian.com>

    * e-gray-bar.c (impl_style_set): Chain to the parent class.
    (endarken_style): Hardcode the colors here.

2001-08-13  Anna Marie Dirks  <anna@ximian.com> 

    * importer/intelligent.c : Changed the "Evolution has found the 
    following data sources" text in the import dialog to "Evolution
    can import data from the following files" in an attempt to 
    increase user-friendliness.

2001-08-13  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (setup_widgets): Add some little padding to the
    title bar so it looks nicer.

2001-08-13  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #7109, Evolution crashes when the splash screen dialog is
    killed by clicking the "X" button.]

    * e-shell.c (e_shell_construct): Connect
    `gtk_widget_hide_on_delete()' correctly.
    
2001-08-13  Anna Marie Dirks  <anna@ximian.com>

    * importer/import.glade : Changed all instances of "druid"
    and "wizard" to "assistant". 

2001-08-13  Ettore Perazzoli  <ettore@ximian.com>

    * main.c (idle_cb): Replaced the chained `if' statements with a
    `switch' statement for clarity.  Also, don't ref the created
    shell, and release the object reference properly.

2001-08-13  Ettore Perazzoli  <ettore@ximian.com>

    * e-corba-shortcuts.c (shortcut_list_to_corba): set_release on the
    sequence, not the buffer.

2001-08-13  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (view_destroy_cb): Restore the shell reffing/unreffing
    here.

2001-08-13  Peter Williams  <peterw@ximian.com>

    * e-corba-shortcuts.c (shortcut_list_to_corba): Don't cause an abort
    if the shortcut group is empty.

2001-08-13  Ettore Perazzoli  <ettore@ximian.com>

    * Makefile.am (IDLS): Add `Evolution-common.idl'.

2001-08-13  Dan Winship  <danw@ximian.com>

    * evolution-shell-component.c (init): Initialize
    priv->user_creatable_item_types. [Score: g_new: 0, g_new0: 2]

2001-08-13  Jason Leach  <jleach@ximian.com>

    * e-local-storage.c (remove_folder_directory): Remove unused
    variable @folder.

    * e-shell-folder-commands.c (e_shell_command_add_to_shortcut_bar):
    Give icons to shortcuts added via Right-click->Add to Shortcut
    Bar.

2001-08-12  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-selection-dialog.c
    (e_shell_folder_selection_dialog_construct): Grab focus on the
    storage set view.

2001-08-12  Ettore Perazzoli  <ettore@ximian.com>

    * e-local-storage.c (setup_folder_as_stock): Use utf 8 to set the
    name.

2001-08-12  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (etree_value_at): Remove debugging message.

2001-08-12  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (setup_widgets): Put the folder title bar into an
    EGrayBar.

    * e-gray-bar.c: New.
    * e-gray-bar.h: New.

2001-08-12  Ettore Perazzoli  <ettore@ximian.com>

    [Finally!  Fix #413, "Support for stock folders", and #786, "i18n:
    default folder names are not translated".]

    * e-local-storage.c (setup_folder_as_stock): New helper function.
    (setup_stock_folders): Use it to set the default folders as
    "stock" folders.  This will give them a translated name and also
    make them unmodifiable.
    (load_all_folders): Call `setup_stock_folders()' here.

    * e-shell-folder-commands.c (delete_cb): Display an error dialog
    if the deletion fails.
    (e_shell_command_delete_folder): Pass the shell view to the delete
    callback.

    * e-storage.c (e_storage_result_to_string): Add a string for
    `E_STORAGE_CANTCHANGESTOCKFOLDER' as well.

    * e-local-storage.c (remove_folder): Don't allow a stock folder to
    be removed.
    (impl_async_xfer_folder): Don't allow a stock folder to be moved.

    * e-corba-storage.c (async_remove_folder): Don't allow a stock
    folder to be removed.

    * e-storage.h: New enum value `E_STORAGE_CANTCHANGESTOCKFOLDER' in
    `EStorageResult'.

    * e-folder.c: Make member `self_highlight' a :1 int.  New :1 int
    member `is_stock'.
    (init): Init `is_stock' to %FALSE.
    (e_folder_set_is_stock): New.
    (e_folder_get_is_stock): New.

    * e-local-storage.c (bonobo_interface_update_folder_cb): For now,
    don't set the display name.

2001-08-10  Ettore Perazzoli  <ettore@ximian.com>

    * Evolution-common.idl: Add Folder struct here.

    * Evolution-Storage.idl: Removed Folder struct.

    * Evolution.idl: #include <Evolution-common.idl>, not
    <Evolution-Icon.idl>.

    * Evolution-common.idl: New.

    * Evolution-Icon.idl: Removed.

2001-08-10  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-commands.c (rename_clicked): `#if 0'ed out.
    (rename_cb): Likewise.

    * evolution-shell-component.c (destroy): Fixed a confusion between
    GList and GSList.

2001-08-10  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-user-creatable-items-handler.c (component_free): Only
    free the `type_list' if not NULL.
    (setup_menu_xml): Deal with the case of `type_list' being NULL
    gracefully.
    (verb_fn): Same here.
    (add_verbs_to_ui_component): Likewise.

2001-08-10  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #6787, Removing a storage with children and then re-adding it
    causes a crash.]

    * e-storage-set-view.c (convert_corba_drag_action_set_to_gdk):
    Removed `#if 0'ed function.
    (etree_node_destroy_func): New destroy function.
    (e_storage_set_view_construct): Set this as the new destroy
    function on the ETreeMemory.

2001-08-09  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-test-component.c (user_create_new_item_callback):
    Updated to display the parent folder's URI and its type as well.

    * evolution-shell-component.c (impl_userCreateNewItem): Updated to
    get the @parent_folder_physical_uri and the @parent_folder_type.
    (class_init): Update the "user_create_new_item" signal to have
    @parent_folder_physical_uri and @parent_folder_type args.

    * e-shell-view.c (get_type_for_folder): Don't bork on a NULL
    @physical_uri_return.
    (e_shell_view_get_current_physical_uri): New.
    (e_shell_view_get_current_folder_type): New.

    * e-shell-user-creatable-items-handler.c
    (e_shell_user_creatable_items_handler_setup_menus): Replace
    @ui_component arg with a @shell_view arg.  Set it on the
    UIComponent using gtk_object_set_data().
    (verb_fn): Pass the type and physical URI of the current folder;
    retrieve that from the shell_view got with gtk_object_get_data().

    * Evolution-ShellComponent.idl
    (userCreateNewItem): New args @parent_folder_uri,
    @parent_folder_type.

2001-08-09  Ettore Perazzoli  <ettore@ximian.com>

    * e-shortcuts-view.c (show_new_group_dialog): Cast the toplevel to
    be passed to `e_request_string()' to GtkWindow, not GtkWidget.
    Also, remove unused variables.
    (get_efolder_from_shortcut): Constify @item_url.
    (get_storage_set_path_from_uri): Removed.

    * evolution-shell-component.c (destroy): `p' shall be a GList, not
    a GSList.

2001-08-09  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (e_shell_view_construct): Add the menu items
    using the EShellUserCreatableItemsHandler.

    * e-shell-user-creatable-items-handler.c: New.
    * e-shell-user-creatable-items-handler.h: New.

    * e-shell.c: New member `user_creatable_items_handler' in
    `EShellPrivate'.
    (init): Initialize to NULL.
    (destroy): Unref.
    (e_shell_construct): Create here.
    (e_shell_get_user_creatable_items_handler): New accessor.
    (setup_components): Add the registered components to the
    user_creatable_items_handler.

    * evolution-test-component.c (factory_fn): Add a couple sample
    user-creatable items.
    (user_create_new_item_callback): New callback for the
    "user_create_new_item" signal on the EvolutionShellComponent.
    (factory_fn): Connect.

    * e-shell.c (e_shell_get_component_registry): New.

    * evolution-shell-component.c: New enum value
    `USER_CREATE_NEW_ITEM'.  New member `user_create_item_types' in
    `_EvolutionShellComponentPrivate'.
    (init): Init to NULL.
    (impl_destroy): Free it.
    (user_creatable_item_type_free): New helper function.
    (user_creatable_item_type_new): New helper function.
    (impl_userCreateNewItem): New, implementation for
    ::userCreateNewItem.
    (class_init): Install the "user_create_new_item" signal and the
    userCreateNewItem impl.
    (impl__get_external_uri_schemas): Renamed from
    `impl_ShellComponent__get_external_uri_schemas'.
    (impl___get_supported_types): Renamed from
    `impl_ShellComponent__get_supported_types'.
    (impl__get_user_creatable_item_types): New, implementation for the
    `user_creatable_item_types' attribute.
    (class_init): Install it.
    (evolution_shell_component_add_user_creatable_item): New.

    * evolution-shell-component.h: Added signal
    `user_create_new_item'.

    * Evolution-ShellComponent.idl: Added typedefs
    `UserCreatableItemType', `UserCreatableItemTypeList'.  New
    attribute `user_creatable_item_types'.
    (userCreateNewItem): New.

2001-08-09  Federico Mena Quintero  <federico@ximian.com>

    * e-component-registry.c (destroy): Chain to the destroy handler
    in the parent class!

    * e-shortcuts-view-model.c (impl_destroy): Likewise.  Sigh.

2001-08-08  Ettore Perazzoli  <ettore@ximian.com>

    [Fixes, among other things, #5705, "Ampersands not handled
    correctly in drag + drop".  Thanks to Nat for actually discovering
    the problem.]

    * e-shortcuts.c (save_shortcuts): Use `xmlNewTextChild()' instead
    of `xmlNewChild()'.

    * e-local-folder.c (save_metadata): Use `xmlNewTextChild' instead
    of `xmlNewChild()'.

2001-08-08  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-shell-component.c
    (fill_corba_sequence_from_null_terminated_string_array): Set the
    release flag on the sequence, and CORBA_string_dup() the strings
    anyway.

2001-08-08  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-shell-component.c
    (impl_ShellComponent__get_supported_types): Set the release flag
    on the returned folder type list too.

    * evolution-activity-client.c (create_icon_from_pixbuf): Set the
    release flag on the sequence, not the struct that contains it.

2001-08-08  Ettore Perazzoli  <ettore@ximian.com>

    * e-corba-shortcuts.c (shortcut_list_to_corba): Set the release
    flag for the newly allocated sequence.

    * e-activity-handler.c (impl_operationStarted): Unref the
    icon_pixbuf.

    * e-task-widget.c (impl_destroy): g_free the private struct.

2001-08-08  Jason Leach  <jleach@ximian.com>

    * e-storage-set-view.c (etree_icon_at): Set the My Evolution icon
    for the folder tree correctly.

2001-08-08  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-shell-component.c
    (impl_ShellComponent__get_supported_types): Fill the CORBA
    sequence once.

    * e-activity-handler.c (activity_info_free): Unref the icon.

2001-08-08  Ettore Perazzoli  <ettore@ximian.com>

    * e-task-bar.c (e_task_bar_prepend_task): Sigh.  If the function
    says "prepend", of course the function to call is
    `g_list_prepend()', not `g_list_append()'.  You dumbass.

2001-08-08  Jason Leach  <jleach@ximian.com>

    * e-shell-folder-creation-dialog.c
    (storage_set_view_storage_selected_cb): Set the sensitivity for
    the OK button when a storage is selected too.  Bug #6473.

2001-08-08  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-activity-client.c (create_icon_from_pixbuf): Set the
    release flag on the returned icon to %TRUE.

2001-08-07  Ettore Perazzoli  <ettore@ximian.com>

    * e-shortcuts.c (load_shortcuts): If the shortcut points to some
    folder in the storage set, get the type from it.

    * e-storage-set.c (signal_new_folder_for_all_folders_under_paths):
    New helper function.
    (signal_new_folder_for_all_folders_in_storage): New helper
    function.
    (e_storage_set_add_storage): Call the latter to emit a
    "new_folder" signal for all the folders contained in the newly
    added storage.

2001-08-07  Ettore Perazzoli  <ettore@ximian.com>

    [This should fix #5407, application crash on re-opening.]

    * e-shell.c (e_shell_construct): Call
    `gtk_widget_hide_on_delete()' on the splash.

    * e-splash.c (e_splash_add_icon): Don't check for destruction
    here.
    (e_splash_set_icon_highlight): Not even here.
    (button_press_event): Use a GTK+ cast.

2001-08-07  Ettore Perazzoli  <ettore@ximian.com>

    * e-shortcuts-view-model.c (load_group_into_model): Get the icon
    from the folder type registry.
    (shortcuts_new_shortcut_cb): Likewise.
    (shortcuts_update_shortcut_cb): Likewise.

    * e-shortcuts-view.c (icon_callback): Removed.
    (e_shortcuts_view_construct): Don't set the icon callback anymore.

2001-08-07  Jason Leach  <jleach@ximian.com>

    * e-storage-set-view.c (etree_value_at): Don't use a leaky hash to
    get folder names with unread count, use gtk_object_set_data_full
    and gtk_object_get_data on the EFolder.
    (etree_icon_at): Give the "My Evolution" storage an icon through a
    non-generic way.  Will be replaced by a generic method when other
    storages get icons too.

2001-08-07  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-activity-client.c
    (evolution_activity_client_construct): Free the CORBA version of
    the animated icon.

2001-08-07  Not Zed  <NotZed@Ximian.com>

    * evolution-activity-client.c (impl_destroy): Unref the listener
    when done.

2001-08-06  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-title-bar.c: Remove member `hbox' from `struct
    _EShellFolderTitleBarPrivate'.
    (make_icon_pixmap): Removed.
    (rgb_from_gdk_color): Removed.
    (endarken_style): Removed.
    (set_style_cb): Removed.
    (create_arrow_pixmap): Renamed from `create_icon_pixmap'.
    (get_max_clipped_label_width): New helper function.
    (size_allocate_icon): New helper function.
    (size_allocate_button): New helper function.
    (size_allocate_label): New helper function.
    (add_icon_widget): New helper function.
    (realize): Changed to use `add_icon_widget()'.
    (size_allocate): New function, handler for the ::size_allocate
    method.
    (class_init): Install it.
    (e_shell_folder_title_bar_construct): Changed so that the widget
    get added to this widget instead of adding an hbox to it and
    adding the widgets to the hbox.
    (e_shell_folder_title_bar_set_icon): Changed to use
    `add_icon_widget()'.

    * e-shell-folder-title-bar.h, e-shell-folder-title-bar.c: Changed
    to derive from GtkHBox, not GtkEventBox.

2001-08-06  Christopher James Lahey  <clahey@ximian.com>

    * e-storage-set-view.c (tree_drag_motion): Turn on highlighting on
    a row by row basis.

2001-08-04  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-title-bar.c (e_shell_folder_title_bar_construct):
    Add some padding to the label so that the title doesn't move
    around when you switch between pop-up and non-pop-up folder bar.
    Also, change all the GtkLabels to be GtkClippedLabels instead.
    (e_shell_folder_title_bar_set_title): Updated to use
    EClippedLabels instead of GtkLabels.
    (e_shell_folder_title_bar_set_folder_bar_label): Likewise.

    * e-shell.c (impl_Shell__get_displayName): New, implementation for
    the `displayName' attribute.

    * Evolution-Shell.idl: Added readonly attribute `displayName' to
    get the canonicalized X11 display name for the shell.

    * e-shell.c (e_shell_construct): Ooops.  Return
    `E_SHELL_CONSTRUCT_RESULT_CANNOTREGISTER' if the OAF registration
    fails, not `E_SHELL_CONSTRUCT_RESULT_GENERICERROR'.

    * e-shortcuts-view.c (rename_group_cb): Get the toplevel from the
    shortcuts view, not the widget.
    (rename_shortcut_cb): Likewise.
    (show_new_group_dialog): Changed to use `e_request_string()'.

    * evolution-test-component.c: Add the %FALSE value for the
    `user_creatable' field in the `folder_types' entry.

    * evolution-shell-client.c: New member `shortcuts_interface' in
    `EvolutionShellClientPrivate'.
    (destroy): Unref it if not CORBA_OBJECT_NIL.
    (init): Init to CORBA_OBJECT_NIL.
    (query_shell_interface): New helper function to query an interface
    on the shell and spit out warnings if it fails.
    (evolution_shell_client_construct): Use it to query the ::Activity
    interface.  Also query the ::Shortcuts interface and set the
    `shortcuts_interface' member to point to it.

    * e-shell.c: New member `corba_shortcuts' in `EShellPrivate'.
    (init): Init to NULL.
    (setup_shortcuts_interface): Helper function to add the
    ::Shortcuts CORBA interface to the shell.
    (e_shell_construct): Call it.

    * e-corba-shortcuts.c, e-corba-shortcuts.h: New objects
    implementing the `Evolution::Shortcuts' CORBA interface.

    * Evolution-Shortcuts.idl: New interface for accessing the
    shortcuts in the shell.

    * e-shell.c (e_shell_get_config_db): Moved down.

2001-08-03  Christopher James Lahey  <clahey@ximian.com>

    * e-storage-set-view.c (tree_drag_data_received): Some paths here
    don't set handled properly so lets initialize it to FALSE.
    (update_folder_with_unread_hash, etree_value_at): constified
    folder_name here.
    (init): Initialize priv->drag_path here to NULL.

2001-08-03  Jason Leach  <jleach@ximian.com>

    [Removing Evolution::LocalStorage interface, abstracting the
    unread counts from a folder's name, also abstract unread counts
    from a shortcut's name.  Fixes #4489 and #5497]

    * e-shortcuts.c (shortcut_item_new): Take an unread_count argument
    now.
    (shortcut_item_update): Ditto.
    
    * e-shortcuts-view-model.c (get_name_with_unread): Get a string
    containing a shortcut name and it's unread, because these are
    abstracted now.
    (load_group_into_model): Use the above function to make shortcuts
    that have unread counts.

    * e-storage-set-view.c (update_folder_with_unread_hash): Keep a
    hash of folder names with unread counts, because the folder name
    and it's unread count are to be separated, only the ETree is
    supposed to present it as one string.

    * e-shell-view.c: Renamed EShellView::view_title_bar to
    folder_title_bar, to closer match the 

    * e-shell-view-menu.c (new_shortcut_dialog_folder_selected_cb):
    Make a shortcut with the unread count.

    * e-shell-folder-commands.c (e_shell_command_add_to_shortcut_bar):
    Make a shortcut with the unread count.

    * e-local-storage.c: Updated for API changes.

    * e-folder.c (e_folder_get_unread_count): New function, does what
    it says.
    (e_folder_set_unread_count): Ditto.

    * e-corba-storage.c (impl_StorageListener_new_folder): Renamed to
    match the IDL function name.
    (impl_StorageListener_update_folder): Ditto.
    (impl_StorageListener_removed_folder): Ditto.

    * Evolution-Storage.idl (struct Folder): Replace the boolean
    highlighted with a long unread_count.
    (updateFolder): Brought in from the now dead
    Evolution::LocalStorage.

    * Evolution-Shell.idl (getLocalStorage): Return a Storage instead
    of a LocalStorage.

    * Evolution-LocalStorage.idl: Removed, no longer needed, only used
    function, updateFolder, has been moved into Evolution::Storage
    interface.
    
    * evolution-local-storage.[ch]: Ditto.

    * evolution-storage.c (impl_Storage_updateFolder): Implementation
    of the updateFolder taken from ::LocalStorage.
    (class_init): New "update_folder" signal, taken from
    evolution-local-storage.c too.
    (evolution_storage_update_folder): Take an @unread_count int
    instead of a @highlighted boolean.
    (evolution_storage_new_folder): Same for here.
    (evolution_storage_update_folder_by_uri): And here.

    * evolution-storage-listener.h: "update_folder" signal no longer
    sends a @highlighted boolean.

2001-08-03  Jason Leach  <jleach@ximian.com>

    * e-shell-view-menu.c (update_offline_menu_item): Use Jakub's new
    "Work Online" icon and fix a typo.

2001-08-03  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #6232, the thirty-four-splash-screens-at-startup bug.]

    * e-shell.c (setup_local_storage): Add an E_STORAGE() cast to
    prevent a warning.

    * main.c (idle_cb): Only try to activate from the shell ID if the
    result is `E_SHELL_CONSTRUCT_RESULT_CANNOTREGISTER'; if there is a
    different error, spit out a dialog box with a description of it
    and exit instead.

    * e-shell.c (e_shell_construct): Return an `EShellConstructResult'
    describing what kind of result we had.  Show the splash after the
    DB has been reached, not before.
    (e_shell_construct_result_to_string): New function to get a
    descriptive string out of an `EShellConstructResult'.
    (e_shell_new): New arg @construct_result_return to return a
    description of the result of the operation.

    * e-shell.h: New enum `EShellConstructResult'.

    * e-shell.c (impl_Shell_createNewView): Raise `InternalError'
    instead of crashing if the shell_view returns a CORBA_OBJECT_NIL.

    * Evolution-Shell.idl: New exception `InternalError'.
    `createNewView' and `handleURI' can raise it.

2001-08-03  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (storage_sort_callback): Put the storage
    named E_SUMMARY_STORAGE_NAME on top.

    * e-shell.c: New member `summary_storage' in `EShellPrivate'.
    (init): Init to NULL.
    (destroy): Unref if not NULL.

    * e-summary-storage.c: New.
    * e-summary-storage.h: New.

    * e-storage-set-view.c: New #define `ROOT_NODE_NAME', defined to
    be "/RootNode".
    (e_storage_set_view_set_show_folders): Use that instead of "My
    Evolution".
    (e_storage_set_view_construct): Hide the root node.  Use
    `ROOT_NODE_NAME' instead of "My Evolution".

    * e-shortcuts-view.c (icon_callback): No bad special hack for "My
    Evolution" here.

    * e-shell-view.c (update_window_icon): Remove kludgey
    @is_my_evolution arg and stop doing special "My Evolution" things.
    (update_folder_title_bar): Likewise.
    (update_for_current_uri): Don't do special "My Evolution" things
    here either.
    (get_control_for_uri): Don't do the "My Evolution" hack here.

2001-08-03  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (tree_drag_data_received): Call
    `gtk_drag_finish()' here.

2001-08-03  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-offline-handler.c (progress_listener_servant_free):
    Actually __fini the servant and deactivate the object too.
    (component_info_free): Updated accordingly [i.e. don't do the
    deactivation stuff here].

2001-08-03  Ettore Perazzoli  <ettore@ximian.com>

    [Fixes #4663, startup crash.]

    * e-shell.c (e_shell_construct): Make sure the pointer to the db
    object is CORBA_OBJECT_NIL if `bonobo_get_object()' raises an
    exception.

2001-08-03  Ettore Perazzoli  <ettore@ximian.com>

    [Fixes #3818, crash when going off-line.]

    * e-shell-offline-handler.c (component_info_free): Also call
    `PortableServer_POA_deactivate_object()' on the progress listener
    object so it gets deactivated.

2001-08-02  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (e_shell_construct): Spit out a warning if we cannot
    resolve "Bonobo/ConfigDatabase" on "wombat:".  Also, register on
    OAF only after we are sure we are not going to return FALSE.

2001-08-01  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (switch_on_folder_tree_click): Set the
    `set_folder_uri' to NULL when freeing it.

    * e-task-bar.c (e_task_bar_remove_task): Just destroy the widget.
    No need to `gtk_container_remove()' it.

2001-08-01  Jeffrey Stedfast  <fejj@ximian.com>

    * e-shell-view-menu.c (command_new_folder): Do a NULL-check on
    current_uri - socket is being closed? (as per the comments for the
    NULL-check in e-shell-view.c:socket_destroy_cb).

2001-07-31  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-activity-client.c: Removed debugging messages.

2001-07-31  Not Zed  <NotZed@Ximian.com>

    * evolution-activity-client.c (evolution_activity_client_update):
    Also update have_pending_update before calling corba, as below.

2001-07-30  Ettore Perazzoli  <ettore@ximian.com>

    [This should fix #5110, shell crash when switching folders.]

    * evolution-activity-client.c (update_timeout_callback): Set the
    `have_pending_update' flag before doing the CORBA call.
    (evolution_activity_client_update): Set the timeout before doing
    the CORBA call.

2001-07-30  Jason Leach  <jleach@ximian.com>

    * e-shortcuts-view.c (rename_group_cb): Remember the current group
    so after renaming a group it doesn't flip to the next group.  Bug
    #3857.

    * e-shortcuts.c (e_shortcuts_rename_group): Comparing two
    separately allocated strings, use strcmp() instead of !=.

2001-07-30  Jason Leach  <jleach@ximian.com>

    * e-shell-folder-creation-dialog.c (async_create_cb): If we can't
    create a folder because it already exists, select that folder that
    exists.  Bug #1716.

2001-07-30  Frederic Crozat  <fcrozat@mandrakesoft.com>

    * main.c (main): call gconf_init if gtkhtml is compiled with gconf
    support.

    * Makefile.am (INCLUDES): add $(GTKHTML_CFLAGS) since we might
    need to link with GConf (if gtkhtml is compiled with GConf
    support)

2001-07-26  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-activity-client.c (impl_destroy): Remove the source
    for the timeout *before* invoking the CORBA method, as we might
    get the timeout callback while invoking the CORBA method, thus
    screwing things up.

    * evolution-shell-component-client.c (destroy_listener_interface):
    New helper function.
    (dispatch_callback): Use it.
    (impl_destroy): Call it when destroying the listener interface
    instead of just freeing the servant.

2001-07-26  Jason Leach  <jleach@ximian.com>

    * e-shell-view-menu.c (update_offline_menu_item): Little UI thing:
    capitalize the words Offline/Online for the File menu.

2001-07-25  Jason Leach  <jleach@ximian.com>

    * e-shell-folder-selection-dialog.c (folder_selected_cb): New
    function.  When a folder is selected set the OK button to be
    sensitive (but before that have it desensitized).  Bug #5483.
    
2001-07-25  Jason Leach  <jleach@ximian.com>

    * e-shortcuts-view.c (icon_callback): A warning fix from Jacob.
    Bug #5057.

    * Makefile.am (INCLUDES): $(BONOBO_CONF_CFLAGS) was here twice,
    took out one of them.

    * e-shell-view.c (socket_destroy_cb): Mem leak fix.  Thanks to the
    amazing Jacob B.  Bug #5054.

2001-07-25  Jason Leach  <jleach@ximian.com>

    * e-task-widget.c: #include <libgnome/gnome-defs.h> and
    <libgnome/gnome-i18n.h> instead of the full <libgnome/libgnome.h>,
    as noted by a comment here.

2001-07-24  Jason Leach  <jleach@ximian.com>

    * e-storage-set-view.c (e_storage_set_view_construct): Add the
    "/My Evolution" path to the path_to_etree_node hash so that
    storage_set_view_set_current_folder() can select the My Evolution
    node when it's the current one.  Fixes #5114 and #3956.

2001-07-23  Ettore Perazzoli  <ettore@ximian.com>

    * main.c (development_warning): Only show the warning dialog
    instead of using `gnome_dialog_run()' so it is not modal.  Modal
    would be nice, but unfortunately it works bad with Bonobo.  Plus
    Sawfish doesn't like to keep the modal dialog on top, so it gets
    very confusing for users.

2001-07-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-task-widget.c (e_task_widget_construct): Uhm, set the usize to
    `1, -1' instead.

2001-07-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-task-widget.c (e_task_widget_construct): Set the usize for the
    contained hbox to 0x0.

2001-07-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view-menu.c: Get the manuals from the `evolution-guide'
    dir as that's where they get installed.

2001-07-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (storage_set_view_box_button_release_event_cb):
    Don't handle button events whose button number is not 1.

2001-07-22  Ettore Perazzoli  <ettore@ximian.com>

    * e-local-storage.c (remove_folder): Pass the folder type to
    `evolution_shell_component_client_async_remove_folder()'.
    (async_xfer_folder_step): Likewise with
    `evolution_shell_component_client_async_xfer_folder()'.

    * evolution-shell-component-client.c
    (evolution_shell_component_client_async_remove_folder): New arg
    @type.  Pass it to the `ShellComponent::removeFolder' CORBA
    method.
    (evolution_shell_component_client_async_xfer_folder): Likewise
    with `::xferFolder'.

    * evolution-shell-component.c (impl_removeFolderAsync): Add @type
    arg according to the IDL.
    (impl_xferFolderAsync): Likewise.

    * evolution-shell-component.h: Add arg @type to
    `EvolutionShellComponentRemoveFolderFn' and
    EvolutionShellComponentXferFolderFn'.

    * Evolution-ShellComponent.idl: Add @type arg to
    `::removeFolderAsync' and `::xferFolderAsync'.

2001-07-21  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-creation-dialog.c (add_folder_types): Only put
    the types that are user-creatable in the folder type option menu.

    * evolution-shell-component.c
    (impl_ShellComponent__get_supported_types): Set the
    `user_creatable' member too.
    (evolution_shell_component_construct): Copy the `user_creatable'
    member too.

    * evolution-shell-component.h: New member `user_creatable' in
    `EvolutionShellComponentFolderType'.

    * e-component-registry.c (register_type): Pass the user_creatable
    member of the CORBA FolderType struct.

    * e-folder-type-registry.c: New member `user_creatable' in struct
    FolderType.
    (e_folder_type_registry_register_type): New arg @user_creatable.
    (register_folder_type): Likewise.
    (folder_type_new): Likewise.
    (e_folder_type_registry_type_is_user_creatable): New.

    * Evolution-ShellComponent.idl: New member `user_creatable' in
    `struct FolderType'.

2001-07-21  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-activity-client.c (impl_destroy): Use
    `g_source_remove()' instead of `gtk_timeout_remove()' here, as we
    are using `g_timeout_add()' and not `gtk_timeout_add()' to set up
    the timeout callback.
    (update_timeout_callback): Reset `have_pending_update' when
    returning %TRUE.  Set the timeout id to zero when returning
    %FALSE.

2001-07-20  Jason Leach  <jleach@ximian.com>

    [Fix a crash if you start evolution with a bad URI.]
    
    * e-shell.c (e_shell_create_view): If we can't display the URI,
    display the default uri.  This is because it's necessary for
    e_shell_view_display_uri() to run all the way through so corba
    interfaces get setup.
    
    * e-shell-view.c (e_shell_view_display_uri): If we fail to create
    a new view for a URI (happens if you pass in an invalid URI), be
    sure to return FALSE.

2001-07-20  Jason Leach  <jleach@ximian.com>

    [This is a better way to have "Local Folders" be shown as the
    local storage name without breaking current user's shortcuts.]

    * e-corba-storage.c (get_display_name): Implement this, but it's
    only returning the real name now.  Need to change the IDL soon to
    let corba storages have separated display names.
    
    * e-shortcuts.c (e_shortcuts_add_default_group): Set these default
    shortcut URI's back to evolution:/local/

    * e-shell-view.h (DEFAULT_URI): Set this back to
    "evolution:/local/Inbox"
    
    * e-storage-set-view.c (etree_value_at): Get the display name for
    a storage rather than it's true name.

    * e-local-storage.c (impl_get_display_name): Implemented for the
    local folder (to return a translated "Local Folders").

    * e-storage.c (e_storage_get_display_name): New virtual function
    for retrieving the display name.

2001-07-19  Jason Leach  <jleach@ximian.com>

    * e-local-storage.h: Make the local storage name "Local Folders"
    instead of "local", looks better with "My Evolution", "VFolders",
    and "Other Contacts".

    * e-shell-view.h: Put the #define DEFAULT_URI here instead of in
    e-shell-view.c.

    * main.c: Remove the duplicated #define STARTUP_URI, actually make
    use of the nice defines.

    * e-shell-folder-commands.c (e_shell_command_delete_folder): Use
    the DEFAULT_URI here instead of a hard coded string.

    * e-shortcuts.c (e_shortcuts_add_default_group): Fix the URI's
    here to use "Local Folder".

2001-07-19  Jason Leach  <jleach@ximian.com>

    * e-shell-folder-title-bar.c (e_shell_folder_title_bar_construct):
    Line up the padding for the folder title bar labels when you have
    the folder bar enabled or disabled (previously when disabled it
    was padding ~8 pixels to the right while the other had 0).

    * e-shell-view.c (setup_widgets): Take out a 2 pixel padding
    around the vbox containing the title bar, folder bar, message list
    and mail display.  Also remove 2 more extra pixels of padding on
    the bottom.

2001-07-16  Ettore Perazzoli  <ettore@ximian.com>

    * e-shortcuts.c
    (override_shortcut_name_and_type_from_storage_set): Removed.
    (load_shortcuts): Don't call it.

2001-07-15  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #4387, Shortcut bar items don't keep the name after rename.]

    * e-shortcuts.c (update_shortcuts_by_path): Do not change the name
    of the shortcut if the folder's name changes.

2001-07-15  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (etree_icon_at): Return an icon for depths
    greater than 2 as well.

2001-07-15  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view-menu.c (e_shell_view_menu_setup): Connect the
    "line_status_changed" signal with
    `gtk_signal_connect_while_alive()' for the shell views, so we
    don't crash if a view gets destroyed.
    * e-shell-view.c (e_shell_view_construct): Likewise.

2001-07-12  Jason Leach  <jleach@ximian.com>

    * e-shell-view-menu.c (command_submit_bug): Because
    bugzilla.ximian does have a mail gateway now, we can have
    Help->Submit Bug Report open up bug-buddy.

2001-07-12  Iain Holmes  <iain@ximian.com>

    * importers/intelligent.c (create_gui): Remove the g_warnings as
    they are an annoying red herring

2001-07-12  Dan Winship  <danw@ximian.com>

    * e-shell.c (init): Initialize priv->db and priv->iid so that
    destroy() won't crash if e_shell_construct bails out before
    setting them. Reduces bug #4173 to #4169.

2001-07-11  Iain Holmes  <iain@ximian.com>

    * importers/intelligent.c (intelligent_importer_init): Sync the config
    so that the Don't Ask Again gets saved.

2001-07-11  Kjartan Maraas  <kmaraas@gnome.org>

    * importers/intelligent.c: Mark a string for translation.
    
2001-07-11  Jason Leach  <jleach@ximian.com>

    * e-shell-view.c (e_shell_view_save_settings): Make sure to create
    ~/evolution/config/ if it doesn't exist.  (ShellView settings get
    saved before component settings, so when the mailer comes around
    to saving ETree stuff, this dir will be there). Fixes bug #4279.

2001-07-10  Jason Leach  <jleach@ximian.com>

    * e-setup.c (copy_default_stuff): Add a temporary block of code to
    not use the $GNOME/share/evolution/default_user/shortcuts.xml for
    users who might be upgrading, so they'll get the shell-generated
    default set of shortcuts.  See notes on #4394.

2001-07-09  Larry Ewing  <lewing@ximian.com>

    * e-shell-folder-commands.c (delete_dialog): convert the folder
    name from utf8 before displaying them in the dialog and set the
    dialog parent.

2001-07-09  Federico Mena Quintero  <federico@ximian.com>

    * e-shortcuts-view.c: Make the "Rename" item be a
    GNOMEUIINFO_ITEM_NONE() since we don't have a stock icon; likewise
    for the "Open in New Window".  This gets rid of warnings from
    gnome-libs.  Use a better stock icon for the "Remove" command, and
    add a stock icon to the "Open" command.

2001-07-09  Jason Leach  <jleach@ximian.com>

    * e-shell-view.c (updated_folder_cb): It's very possible that
    get_storage_set_path_from_uri() returns NULL (5 of the 6 return
    cases), so check that it's not NULL before trying to strcmp() it.
    Fixes a startup crash.

2001-07-06  Dan Winship  <danw@ximian.com>

    * e-shortcuts.c (shortcut_item_update): Return a gboolean saying
    whether or not the shortcut changed. Use strcmp rather than
    pointer comparisons to determine this.
    (update_shortcut_and_emit_signal): propagate the gboolean from
    shortcut_item_update (and only emit the signal if it's TRUE).
    (update_shortcuts_by_path): Only call make_dirty if something
    changed.
    (storage_set_new_folder_callback,
    storage_set_updated_folder_callback): Don't call make_dirty:
    update_shortcuts_by_path will have called it if necessary.

    * e-shell-view.c (updated_folder_cb): Don't call
    update_for_current_uri if the folder that was updated isn't the
    one being displayed.

2001-07-06  Jason Leach  <jleach@ximian.com>

    * e-shortcuts-view.c: Little UI tweak for right click menu,
    pronouns shouldn't be capitalized ("This" in this case).

    [Misc fixes and part of #2228, There should be no dialog boxes
    during startup.]
    
    * e-setup.c (e_setup): Check for searches.xml instead of
    shortcuts.xml, since shortcuts.xml doesn't really need to exist
    (and thus wouldn't be a necessary test whether ~/evolution was
    invalid) because shell can generate shortcuts.
    (copy_default_stuff): For first time users, only present a dialog
    if a problem occurred.  We've already clicked "Ok" on a dialog
    about copying files.
    (check_evolution_directory): Take out the "successfully installed"
    dialog on updates too.

2001-07-06  Ettore Perazzoli  <ettore@ximian.com>

    [This should fix #3873, Bizzarre crash after deleting a few
    folders.]

    * e-local-storage.c (remove_folder): Don't free the
    `physical_path' on error, as it gets freed when freeing the
    callback data.

2001-07-06  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #3959, copying a folder over itself crashes Evolution.]

    * e-shell-folder-commands.c
    (folder_selection_dialog_folder_selected_callback): Sanity checks:
    don't allow copying a folder over itself, or moving it under one
    of its descendants.  In such cases, pop up an error dialog.

2001-07-05  Iain Holmes  <iain@ximian.com>

    * e-shortcuts-view.c (icon_callback): Special case the evolution:/My
    Evolution uri.

2001-07-05  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view-menu.c: Removed handler for verb
    "ChangeFolderProperties".
    (command_folder_properties): Removed.

    * e-shell-folder-commands.c (e_shell_command_folder_properties):
    Removed.

2001-07-03  Ettore Perazzoli  <ettore@ximian.com>

    * main.c (development_warning): Use both `VERSION' and
    `SUB_VERSION' here.
    (main): Likewise.

2001-07-04  Gediminas Paulauskas <menesis@delfi.lt>

    * evolution-shell-component-utils.c (e_pixmaps_update): set
    "pixname" value only if pixbuf was loaded successfully. Otherwise
    component crashes if image is not found. Should be checked for
    sanity in bonobo_ui_component_set_prop IMHO.

2001-07-03  Aaron Weber  <aaron@ximian.com>

    * main.c (development_warning): Revised to make it less scary.

2001-07-03  Ettore Perazzoli  <ettore@ximian.com>

    [Fix a problem with not being able to save a newly created
    `shortcuts.xml' file, and another bug that caused the default
    group to be added at every start-up, even there were groups
    already.]

    * e-shortcuts.c (e_shortcuts_new): If loading the shortcuts fails,
    set the file_name.
    (load_shortcuts): Update `num_groups'.

2001-07-03  Iain Holmes  <iain@ximian.com>

    * importer/Makefile.am: Add bonobo-conf stuff

2001-07-03  Ettore Perazzoli  <ettore@ximian.com>

    [The following makes the shell able to create the `shortcuts.xml'
    file by itself when the file is not present or corrupted.  Fixes
    #3668, failure to handle malformed shortcuts.xml file.]

    * e-shell.c (e_shell_construct): If the `e_shortcuts_new()'
    returns an object with no shortcuts in it, fill it in with
    `e_shortcuts_add_default_group()'.

    * e-shortcuts.c: New member `num_groups' in EShortcutsPrivate.
    (init): Init to zero.
    (e_shortcuts_add_group): Increment.
    (e_shortcuts_remove_group): Decrement.
    (e_shortcuts_get_num_groups): New.
    (e_shortcuts_add_default_group): New function to set up the
    default shortcuts.
    (e_shortcuts_new): Return an empty EShortcuts object if loading
    the file files, instead of returning NULL.

2001-07-03  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-offline-handler.c
    (e_shell_offline_handler_put_components_offline): Ref/unref the
    handler so the signal handlers can unref it safely.  Also, if
    `prepare_for_offline()' fails, don't say that there was an
    internal error, as that's confusing.  Just say we couldn't put the
    components off-line.

    [Fix #3758, clicking on the online/offline button crashed
    Evolution.]

    * Evolution-Offline.idl: Don't derive OfflineProgressListener from
    Bonobo::Unknown.

2001-07-03  Ettore Perazzoli  <ettore@ximian.com>

    [Fixed #3643, Shell crash when component crashed]

    * e-shell-view.c (socket_destroy_cb): Fix Jason's broken fix for
    #3205 that was causing #3643.  It is not safe to strcmp() the
    return value from `e_shell_view_get_current_uri()' as it might be
    NULL already.

2001-07-02  Christopher James Lahey  <clahey@ximian.com>

    * Makefile.am (INCLUDES): Added $(BONOBO_CONF_CFLAGS).
    (evolution_LDADD): Added $(BONOBO_CONF_LIBS).

2001-07-02  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (popup_folder_menu): Don't assert that
    there is a handler, so we don't crash if user clicks on a folder
    whose type we cannot handle for some reason [such as an
    uninstalled component].

    * evolution-test-component.c (activity_client_cancel_callback):
    New callback for the "cancel" signal on the
    EvolutionActivityClient object.
    (activity_client_show_details_callback): New callback for the
    "show_details" signal.
    (timeout_callback_1): Connect these two signal handlers.

    * e-activity-handler.c (task_widget_button_press_event_callback):
    Ahem, right-click is button 3, not button 2.
    (show_cancellation_popup): Actually pop up the menu.
    (get_corba_null_value): New helper function to create a CORBA_any
    null value.
    (report_task_event): New helper function to report events to the
    listener.
    (task_widget_cancel_callback): Use it.  Report "Cancel" instead of
    "Cancelled".
    (task_widget_show_details_callback): New, callback for the "Show
    Details" right-click menu item.

    * evolution-activity-client.c: Updated to dispatch the "Cancel"
    and "ShowDetails" events as "cancel" and "show_details" signals.
    (class_init): Install the signals.
    (listener_callback): Updated to update the signals corresponding
    to the "ShowDetails" and "Cancel" events.

    * Evolution-Activity.idl: Changed the docs about the events sent
    to the Bonobo::Listener.  We now only have "ShowDetails" and
    "Cancelled".

    * evolution-test-component.c (timeout_callback_1): Make the
    activity cancellable so we can test the right-click cancel menu
    too.

    * main.c (idle_cb): Actually exit if we cannot reach to the shell.

2001-07-01  Ettore Perazzoli  <ettore@ximian.com>

    * e-uri-schema-registry.c (init): Unset the FLOATING flag on the
    object.

2001-07-01  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c: Fixing a bug that could cause Evolution to crash
    if a new ShellView was created and then destroyed, and then a new
    folder would appear in the folder tree.  Sigh, this code with the
    delayed_selection is pretty messed up, but at least this will add
    some consistency to it and make it safe.
    (cleanup_delayed_selection): New function to disconnect the
    "new_folder_cb" callback if the `delayed_selection' is not NULL,
    and also free the `delayed_selection' itself.
    (new_folder_cb): Use it.
    (destroy): Call it here, otherwise we might [a] leak [b] cause a
    crash as soon as a new folder appears in the folder tree, as
    "new_folder" gets emitted and our connected signal handler has no
    EShellView to handle the signal on.
    (e_shell_view_display_uri): Call it here before re-setting the
    `delayed_selection'.

    * e-shortcuts-view.c (open_shortcut_in_new_window_cb): Add
    invocation for `open_shortcut_helper()' back in [it was gone, for
    unknown reasons].

2001-07-01  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (tree_drag_begin): If the node doesn't have
    a component, just don't start the whole CORBA drag thing instead
    of crashing with an assertion.

2001-07-01  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view-menu.c (command_new_shortcut): New, implementation
    for the "New Shortcut" command create a new shortcut.
    (goto_folder_dialog_cancelled_cb): Renamed from
    `folder_selection_dialog_cancelled_callback'.
    (goto_folder_dialog_folder_selected_cb): Renamed from
    `folder_selection_dialog_cancelled_callback'.

    * e-shell-folder-selection-dialog.c: New member `allow_creation'
    in `EShellFolderSelectionDialogPrivate'.
    (e_shell_folder_selection_dialog_get_allow_creation): New; return
    the value of `allow_creation'.
    (e_shell_folder_selection_dialog_set_allow_creation): New; hide or
    show the "New" button according to the @allow_creation arg.

2001-07-01  Ettore Perazzoli  <ettore@ximian.com>

    * e-shortcuts-view.c: Added "Rename Group" command to the
    right-click group menu item.
    (rename_group_cb): New callback for the "Rename Group" command.

    * e-shortcuts-view-model.c (shortcuts_rename_group_cb): New,
    callback for the EShortcuts::rename_group signal.  It renames the
    group by removing it and creating a new one which is the same;
    this sucks, but there is no other way with the current shortcut
    bar widget.
    (e_shortcuts_view_model_construct): Connect it.

    * e-shortcuts.c
    (class_init): Install signal "rename_group".
    (e_shortcuts_rename_group): New.

    * e-shortcuts.h: New signal "rename_group".

2001-07-01  Ettore Perazzoli  <ettore@ximian.com>

    * e-shortcuts.c: Removed `title_to_group' hash from
    `EShortcutsPrivate'.
    (init): Don't initialize it anymore.
    (unload_shortcuts): Don't remove the groups from the hash, and
    don't destroy/realloc the hash.
    (load_shortcuts): Don't check for duplicate group names.  Don't
    add the groups to the hash.
    (destroy): Don't free the hash.
    (e_shortcuts_get_shortcuts_in_group): Changed to get a @group_num
    instead of a @group_title.

    * e-shortcuts-view-model.c (load_group_into_model): Updated to
    pass the group number to `e_shortcuts_get_shortcuts_in_group()'.
    Removed arg @group_title.

2001-07-01  Ettore Perazzoli  <ettore@ximian.com>

    * e-shortcuts-view.c: Added a "Rename" right-click command.
    (rename_shortcut_cb): New function, implementation for the "Rename
    command".
    (rename_shortcut_dialog_cb): Callback for the gnome_request_dialog
    function to ask the new name.

    * e-shortcuts.c (e_shortcuts_update_shortcut): Call `make_dirty()'
    so we get saved too.

2001-07-01  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (activate_shortcut_cb): Receive an @in_new_window
    arg as well.

    * e-shortcuts-view.c: Added a new "Open in New Window" right-click
    menu item.  Renamed "Activate" to "Open".
    (class_init): Update the installation of the "activate_shortcut"
    signal for the additional @in_new_window_arg.
    (open_shortcut_helper): New helper function.
    (open_shortcut_cb): Renamed from `open_shortcut_cb'.  Changed to
    use `open_shortcut_helper'
    (open_shortcut_in_new_window_cb): New.
    (item_selected): Pass %FALSE as the @in_new_window arg for
    "activate_shortcut".

    * e-shortcuts.c (save_shortcuts): Set the "name" and "type"
    properties for the <item> nodes too.
    (load_shortcuts): Change `shortcut_group_title' to be an `xmlChar
    (shortcut_set): New helper function.
    (shortcut_update): New helper function.
    (update_shortcut_and_emit_signal): New helper function.
    (e_shortcuts_update_shortcut): Use it.

2001-07-01  Ettore Perazzoli  <ettore@ximian.com>

    This is a first shoot at making shortcuts renameable [#3719];
    unfinished.  Also, it causes the shortcut bar to stop displaying
    message unread count, but this is unfixable until we get rid of
    the ::LocalStorage interface, which should hopefully happen soon.

    * e-shortcuts-view.c (icon_callback): Get the icon from the type
    member of the shortcut item instead of going to the actual folder.

    * e-shell-view.c (updated_folder_cb): Don't update the shortcuts
    here for now.

    * e-shortcuts-view.c (item_selected): Use
    `e_shortcuts_get_shortcut()' instead of `e_shortcuts_get_uri()'.
    (impl_shortcut_dropped): Pass a NULL @name and @type.

    * e-shortcuts-view-model.c (load_group_into_model): Updated to
    match the new `e_shortcuts_get_shortcuts_in_group()' function that
    doesn't allocate the list anymore and returns a list of
    EShortcutItems instead of a list of strings.
    (load_group_into_model): Likewise.
    (load_all_shortcuts_into_model): Likewise.
    (shortcuts_new_shortcut_cb): Get the URI and the name from the
    EShortcutItem instead of retrieving them from the storage.
    (shortcuts_update_shortcut_cb): Likewise.
    (get_storage_set_path_from_uri): Removed [now unused].

    * e-shortcuts.c: Define the shortcuts to be EShortcutItems instead
    of just strings.
    (shortcut_new): New helper function to allocate a Shortcut.
    (shortcut_free): New helper function to free a Shortcut.
    (shortcut_group_new): New helper function to allocate a
    ShortcutGroup.
    (shortcut_group_free): New helper function to free a
    ShortcutGroup.
    (load_shortcuts): Use `shortcut_group_new()' here.
    (e_shortcuts_add_group): Same here.
    (unload_shortcuts): Use `shortcut_group_free()' here.
    (e_shortcuts_remove_group): Here too.
    (load_shortcuts): Update to handle `Shortcut's instead of simple
    `char *'s representing the URIs.
    (save_shortcuts): Likewise.
    (e_shortcuts_get_shortcuts_in_group): Likewise.  The returned list
    now doesn't belong to the caller anymore; the return type is now
    const.
    (removed_folder_cb): Removed.
    (e_shortcuts_construct): Don't connect.
    (e_shortcuts_get_group_titles): Dont' re-allocate the string.
    (e_shortcuts_get_uri): Removed.
    (e_shortcuts_get_shortcut): New.
    (e_shortcuts_add_shortcut): new args @name, @type.
    (e_shortcuts_update_shortcut_by_uri): Remove.
    (e_shortcuts_remove_shortcut_by_uri): Remove.
    (get_item): New helper function.
    (e_shortcuts_get_shortcut): Use it.
    (find_positions_by_uri): Removed.

    * e-shortcuts.h: New typedef EShortcutItem.

2001-06-30  Federico Mena Quintero  <federico@ximian.com>

    * e-storage-set-view.c (popup_folder_menu): Pass the event time to
    gtk_menu_popup() so that we can release the button and have the
    menu stay up.

2001-06-29  Christopher James Lahey  <clahey@ximian.com>

    * e-shortcuts-view-model.c (load_all_shortcuts_into_model):
    Replaced GList with GSList here to fix a type mismatch.

2001-06-29  Christopher James Lahey  <clahey@ximian.com>

    * Makefile.am (INCLUDES): Changed $(datadir)/evolution/etspec to
    "$(etspecdir)" here.

2001-06-29  Christopher James Lahey  <clahey@ximian.com>

    * e-shortcuts-view-model.c (load_group_into_model): Replaced GList
    with GSList here to fix a type mismatch.

2001-06-29  Ettore Perazzoli  <ettore@ximian.com>

    * e-shortcuts-view-model.c (load_group_into_model): Updated to
    match the fact that `e_shortcuts_in_group()' now returns a GSList
    instead of a GList.
    (load_all_shortcuts_into_model): Likewise for
    `e_shortcuts_get_group_titles()'.

    * e-shortcuts.c: Change all `groups' and `views' from GLists to
    GSLists in EShortcutsPrivate.
    (e_shortcuts_get_group_titles): Return a GSList instead of a
    GList.
    (e_shortcuts_get_shortcuts_in_group): Likewise.

2001-06-28  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #3756, `--debug' option not working anymore.]

    * main.c (main): Get the URI list from popt with `poptGetArgs'
    instead of just using argv.  Sigh, I am rusty.

2001-06-28  Ettore Perazzoli  <ettore@ximian.com>

    [Fix #3382, shortcut bar crashes when checking mail, and all the
    different incarnations involving updates to an shortcut bar having
    shortcuts to non-existent folders.  Also, this fixes #1643,
    shortcuts not visible until you enable an IMAP account, and #2436,
    misbehavior of shortcut groups when IMAP or invalid shortcuts are
    involved.]

    * e-shortcuts-view-model.c (load_group_into_model): Add the
    shortcuts that point to folders that don't exist yet, too.

2001-06-28  Dan Winship  <danw@ximian.com>

    * e-storage.c (e_storage_new_folder): Call folder_changed_cb after
    adding the new folder so that if it was added highlighted, its
    parent will get its child_highlight set.
    (e_storage_new_folder): Move the folder_changed_cb() call to avoid
    a g_warning.

2001-06-28  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (e_shell_create_view): Renamed from
    `e_shell_new_view'.

2001-06-28  Ettore Perazzoli  <ettore@ximian.com>

    * main.c (idle_cb): Re-implemented to get a GSList of URIs and
    open them on a running shell [if any] or on a newly created shell.
    If no args are provided [i.e. the list is NULL], it either
    restores from settings [if any], or it just opens the Inbox.
    (main): Set up the GSList of arguments and have it passed to the
    idle callback.

    * e-shell.c (init): Ooops.  Init `uri_schema_registry' to NULL as
    well.

    * evolution-shell-component-client.c
    (evolution_shell_component_client_handle_external_uri): New.
    (corba_exception_to_result): Handle the `UnsupportedSchema'
    exception too.

    * evolution-shell-component.h: New
    EvolutionShellComponentResult value
    `EVOLUTION_SHELL_COMPONENT_UNSUPPORTEDSCHEMA'.

    * Evolution-ShellComponent.idl: New exception `UnsupportedSchema'.
    (handleExternalURI): This can now raise `NotFound',
    `UnsupportedSchema' and `InternalError'.
    (createView): This can now raise `UnsupportedSchema' too.

    * e-shell.c (impl_Shell_handleURI): Finish implementation.
    (class_init): Install it.

    * e-uri-schema-registry.c
    (e_uri_schema_registry_get_handler_for_schema): Ooops.  Rename
    from `e_uri_schema_get_handler_for_schema'.  Also, return NULL if
    no handler is found.

2001-06-27  Ettore Perazzoli  <ettore@ximian.com>

    * e-component-registry.c (register_component): Get the supported
    schemas and register them into the schema registry.

    * e-shell.c: New member `uri_schema_registry' in `EShellPrivate'.
    (e_shell_construct): Init.
    (destroy): Unref.
    (impl_Shell_createNewView): Raise exception `UnsupportedSchema' if
    it's not an `evolution:' URI.  Raise exception `NotFound' if
    `e_shell_new_view()' returns NULL.
    (impl_Shell_handleURI): New, implementation for the `::handleURI'
    method.
    (e_shell_get_uri_schema_registry): New.

    * Evolution-Shell.idl: New exceptions `UnsupportedSchema' and
    `InvalidURI'.
    (createNewView): Make this able to raise `NotFound',
    `UnsupportedSchema' and `InvalidURI'.
    (handleURI): New method.

    * e-uri-schema-registry.h: New.
    * e-uri-schema-registry.c: New.

2001-06-27  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-shell-component-client.c: Remove redundant declaration
    for `free_ShellComponentListener_servant()'.

2001-06-27  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-shell-component.c (impl_handleExternalURI):
    Implementation for the `::handleExternalURI' CORBA method; just
    emit the `HANDLE_EXTERNAL_URI' signal.
    (class_init): Install.

2001-06-27  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-shell-component.c (impl_setOwner): Renamed from
    `impl_ShellComponent_set_owner'.
    (impl_unsetOwner): Renamed from `impl_ShellComponent_unset_owner'.
    (impl_debug): Renamed from `impl_ShellComponent_debug'.
    (impl_createView): Renamed from `impl_ShellComponent_create_view'.
    (impl_createFolderAsync): Renamed from
    `impl_ShellComponent_async_create_folder'.
    (impl_removeFolderAsync): Renamed from
    `impl_ShellComponent_async_remove_folder'.
    (impl_xferFolderAsync): Renamed from
    `impl_ShellComponent_async_xfer_folder'.
    (impl_populateFolderContextMenu): Renamed from
    `impl_ShellComponent_populate_folder_context_menu'.
    (class_init): Updated accordingly.

2001-06-27  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-test-component.c (factory_fn): Pass NULL as the
    @external_uri_schemas arg to `evolution_shell_component_new'.

    * evolution-shell-component.c: New enum value
    `HANDLE_EXTERNAL_URI'.  New member `external_uri_schemas' in
    `EvolutionShellComponentPrivate'.
    (init): Initialize `external_uri_schemas' to NULL.
    (destroy): Free it.
    (destroy):
    (class_init): Add the "handler_external_uri" signal.
    (evolution_shell_component_new): Added precondition on
    @folder_types.  New arg @external_uri_schemas.
    (evolution_shell_component_construct): Added preconditions.  New
    arg @external_uri_schemas.  Initialize the `external_uri_schemas'
    member in the EvolutionShellComponentPrivate part.
    (impl_ShellComponent__get_external_uri_schemas): New,
    implementation for reading the `external_uri_schemas' attribute.
    (class_init): Install it in the EPV.

    * evolution-shell-component.h: New signal `handle_external_uri'.

    * Evolution-ShellComponent.idl: New attribute `extra_uri_schemas'.
    (handleExternalURI): New method.

2001-06-26  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (etree_value_at): Don't strdup "My
    Evolution"!  It was getting leaked every time the e-table wanted
    to read the value this way.

2001-06-26  Ettore Perazzoli  <ettore@ximian.com>

    * e-local-storage.c: Removed member `BonoboListener' from
    `AsyncCreateFolderCallbackData' and
    `AsyncRemoveFolderCallbackData'.
    (bonobo_interface_remove_folder_cb) : Return the value from
    `create_folder()'.
    (bonobo_interface_remove_folder_cb): Return the value from
    `remove_folder()'.
    (notify_bonobo_listener): Removed.
    (component_async_create_folder_callback): Don't notify the
    listener here.
    (component_async_remove_folder_callback): Ditto.
    (create_folder): Removed @listener arg.  Not here either.  Return
    a valid E_STORAGE error code instead.  Also, don't set the
    `listener' field in `callback_data'.
    (remove_folder): Likewise.
    (bonobo_interface_create_folder_cb): Remove @listener arg.
    (bonobo_interface_remove_folder_cb): Likewise.

2001-06-25  jacob berkman  <jacob@ximian.com>

    * e-shell-view.c: (set_folder_timeout): display a selected uri in
    a timeout rather than right away, so the UI feels a bit more
    responsive, and the tree is more navigable via keyboard
    (switch_on_folder_tree_click): use the timeout rather than setting
    the URI right away
    (destroy): remove the timeout if it still exists
    (update_for_current_uri): if there is a timeout set, don't update
    (e_shell_view_display_uri): remove the timeout if it exists

2001-06-25  Ettore Perazzoli  <ettore@ximian.com>

    * main.c (no_views_left_cb): Call `e_shell_unregister_all()'.

    * e-shell.c (e_shell_unregister_all): New.

2001-06-25  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (convert_gdk_drag_action_to_corba): Remove
    trailing "\n" from g_warning.
    (convert_corba_drag_action_to_gdk): Likewise.
    (tree_drag_data_received): Likewise.
    (new_folder_cb): Likewise.

    * e-shortcuts-view-model.c (load_group_into_model): Remove
    trailing "\n" from g_warning.

2001-06-25  Ettore Perazzoli  <ettore@ximian.com>

    * main.c (no_views_left_cb): Unref the shell here.

    * e-storage-set.c (destroy): Use
    `name_to_named_storage_foreach_destroy()' as the function argument
    to `g_hash_table_foreach()', not `named_storage_destroy()', which
    is just plainly wrong.

    * e-shell.c (setup_corba_storages): Don't ref the
    corba_storage_registry here.
    (destroy): Don't unref here.
    (setup_activity_interface): Don't ref the activity_handler either.
    (destroy): Don't unref it here.

    * e-component-registry.c (e_component_registry_construct): Don't
    ref the shell here.
    (destroy): Don't unref it here.

2001-06-25  Ettore Perazzoli  <ettore@ximian.com>

    * main.c (no_views_left_cb): Don't call `e_shell_quit()' anymore.

    * e-shell-view-menu.c (command_quit): Call
    `e_shell_destroy_all_views()' instead of `e_shell_quit()', which
    does not exist anymore.

    * e-shell.c (e_shell_quit): Removed.
    (e_shell_destroy_all_views): New.

2001-06-24  Ettore Perazzoli  <ettore@ximian.com>

    * Makefile.am: s/\.oafinfo/.oaf/g.

    * GNOME_Evolution_TestComponent.oafinfo: Renamed to
    `GNOME_Evolution_TestComponent.oaf'.

2001-06-24  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c: New member `iid' in EShellPrivate.
    (init): Init to NULL.
    (e_shell_construct): Set it to the value of the @iid argument.
    (destroy): Unregister that IID.
    (register_shell): Removed.
    (e_shell_construct): Just do all the work here.  The function was
    too simple to really be useful as separate.

    * e-shell.c, e-shell.h: Changed to derive from BonoboXObject
    instead of deriving from BonoboObject and doing all the nasty
    CORBA work by hand.

2001-06-24  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-test-component.c (activity_client_clicked_callback):
    New callback for the "clicked" signal on the EActivityClient.
    Just spit out a warning now, for testing purposes.
    (timeout_callback_1): Connect it.

    * evolution-activity-client.c (listener_callback): Emit the
    "clicked" signal if we get the "Clicked" event from the Bonobo
    listener.

2001-06-24  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-commands.c: #include <gtk/gtklabel.h>.
    (delete_dialog): Constify @folder_name properly.
    (delete_cb): Change the first arg to be an EStorageSet as expected
    for EStorageSetResultCallbacks.
    (rename_dialog): #if 0.

2001-06-24  Ettore Perazzoli  <ettore@ximian.com>

    * e-task-widget.h, e-task-widget.c: Changed to derive from
    GtkEventBox.

    * e-activity-handler.c (task_widget_button_press_event_callback):
    New callback for the "button_press_event" signal on the
    ETaskWidgets.  Dispatch the "Clicked" event through the Bonobo
    listener.
    (task_widget_new_from_activity_info): Connect here.

2001-06-24  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-test-component.c: Changed to use the
    `EvolutionActivityClient' object.  New global static variable
    `activity_client'.
    (create_animated_icon): Removed.
    (create_icon_from_pixbuf): Removed.
    (task_bar_event_listener_callback): Removed.
    (timeout_callback_1): Create an EvolutionActivityClient object and
    put a pointer to it into `activity_client'.  Lower the timeout
    delay from 1000 msecs to 100 msecs, so we can stress-test the
    speed control code in EvolutionActivityClient.
    (timeout_callback_2): Use the EvolutionActivityClient.  Increment
    progress by 1, instead of 10.
    (timeout_callback_3): Destroy the EvolutionActivityClient.

    * Makefile.am (libeshell_la_SOURCES): Add
    `evolution-activity-client.c'.
    (eshellinclude_HEADERS): Add `evolution-activity-client.h'.

    * evolution-activity-client.c: New.
    * evolution-activity-client.h: New.

    * e-activity-handler.c: Updated all instances of `ActivityID' with
    `ActivityId'.

    * Evolution-Activity.idl: Renamed `ActivityID' to `ActivityID'.
    Added value `DIALOG_ACTION_ERROR' to `DialogAction'.

2001-06-24  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-test-component.c: Remove the `activity_interface'
    global.
    (timeout_callback_3): Get the ::Activity interface using
    `evolution_shell_client_get_activity_interface()' on
    `parent_shell' instead.
    (timeout_callback_2): Likewise.
    (timeout_callback_2): Likewise.
    (timeout_callback_1): Likewise.
    (owner_set_callback): Don't query interface here.  Check if the
    shell has an ::Activity interface by using
    `evolution_shell_client_get_activity_interface()' here as well.

    * evolution-shell-client.c: New member `activity_interface' in
    `EvolutionShellClientPrivate'.
    (destroy): unref/release it.
    (evolution_shell_client_construct): Initialize it by querying the
    shell CORBA Object for the ::Activity interface.
    (evolution_shell_client_get_activity_interface): New.

2001-06-23  Jason Leach  <jleach@ximian.com>

    * e-shell-folder-selection-dialog.c
    (e_shell_folder_selection_dialog_construct): Make the folder tree
    have a similar expanded state as the shell's folder tree.

    * e-local-storage.c (remove_folder): New function that does the
    meat of actual deletion stuff.
    (remove_folder_directory): A helper function that remove_folder()
    uses.
    (component_async_remove_folder_callback): A new callback to do the
    removing stuff from shell (if there weren't errors from the
    component).
    (impl_async_remove_folder): Implemented this.

    * evolution-shell-component-client.c
    (evolution_shell_component_client_async_remove_folder):
    Implemented this.

    * e-shell-view.c (e_shell_view_remove_control_for_uri): New
    function.

2001-06-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (e_shell_view_set_current_shortcuts_group_num):
    Moved at the bottom, as it's public API.  Also add preconditions.
    (e_shell_view_get_current_shortcuts_group_num): Likewise.

2001-06-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c: Get rid of some `#if 0'ed code.

2001-06-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (corba_interface_set_message_cb): Replaced with
    an empty stub, as the "set_message" method is going to be
    deprecated.
    (corba_interface_unset_message_cb): Likewise for the
    "unset_message" method.

2001-06-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c (e_shell_construct): Set `splash' to NULL when
    @show_splash is false, so the compiler doesn't complain.

    * e-shell-view-menu.c: #include <gtk/gtkmain.h>.

    * e-setup.c: #include <unistd.h>.

    * importer/intelligent.c: #include <gtk/gtkhbox.h> and
    <gtk/gtkdrawingarea.h>.

2001-06-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c: New member `menu_hint_label' in
    `EShellViewPrivate'.
    (init): Init to NULL.
    (ui_engine_add_hint_callback): Set the label in the menu hint
    label, show the menu hint label, hide the task bar.
    (ui_engine_remove_hint_callback): New callback for the
    "remove_hint" signal on the BonoboUIEngine; hide the hint label,
    show the task bar.
    (setup_statusbar_hints): Connect it.
    (setup_menu_hint_label): New helper function to create the menu
    hint label.
    (create_status_bar): Call it.

2001-06-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view-menu.c (command_quit): Add a `gtk_main_quit()' at
    the end here.

2001-06-23  Ettore Perazzoli  <ettore@ximian.com>

    * Makefile.am: Add rules to build the test component and an
    `install-test-component' target to install it.

    * GNOME_Evolution_TestComponent.oafinfo: New OAF file for the test
    component.

    * evolution-test-component.c: New component, currently to test the
    activity interfaces.  We will be able use it for testing more
    things in the future.

    * e-shell.c: New member `activity_handler' in `EShellViewPrivate'.
    (init): Init here.
    (class_init): Unref.
    (setup_activity_interface): New helper function to create an
    `EActivityHandler' object and aggregate it to the `EShell'.
    (e_shell_construct): Call here.
    (e_shell_new_view): Attach the task bar of the newly created view
    to the activity handler by using
    `e_activity_handler_attach_task_bar()'.

    * e-shell-view.c: Removed old progress bar code.  New members
    `status_bar' and `task_bar' in EShellViewPrivagte; removed member
    `progress_bar'.
    (init): Initialize the new fields; remove initialization for
    `progress_bar'.
    (impl_destroy): Handle the new fields here too.
    (setup_task_bar): New helper function to set up an ETaskBar.
    (create_status_bar): New helper function to create the status bar
    with an ETaskBar in it.
    (ui_engine_add_hint_callback): New callback for the "add_int"
    BonoboUIEngine signal.
    (setup_statusbar_hints): New helper function to set up the menu
    hints for the status bar; connect `ui_engine_add_hint_callback()'
    here.
    (setup_widgets): Call `create_status_bar()' and
    `setup_statusbar_hints()'; pack the status bar in a vbox instead
    of using the Bonobo status bar stuff, which is kinda broken.
    (e_shell_view_get_task_bar): New.
    (get_type_for_folder): No use to get the EFolderTypeRegistry here.

    * Evolution.idl: #include <Evolution-Activity.idl> and
    <Evolution-Icon.idl>.

    * Evolution-Activity.idl: New.

    * Evolution-Icon.idl: New.

    * e-activity-handler.c: New.
    * e-activity-handler.h: New.

    * e-task-bar.c: New.
    * e-task-bar.h: New.

    * e-task-widget.c: New.
    * e-task-widget.h: New.

2001-06-21  Jason Leach  <jleach@ximian.com>

    * evolution-storage.c (evolution_storage_deregister_on_shell): New
    function, uses the StorageRegistry::removeStoragebyName corba call
    to properly make the storage vanish from the shell.
    
2001-06-18  Dan Winship  <danw@ximian.com>

    * Makefile.am (evolution_LDADD): Remove DB3_LDADD

    * e-shell-view-menu.c: Fix the help URLs

2001-06-13  Not Zed  <NotZed@Ximian.com>

    * e-shell-view.c (switch_on_folder_tree_click): Check priv->uri
    isn't null before strcmp'ing it here too.

2001-06-11  Dan Winship  <danw@ximian.com>

    * e-shell-view.c (destroy): Don't destroy the
    offline_toggle_pixmap: the offline_toggle 0wnz it.
    (update_for_current_uri): Check priv->uri isn't NULL before
    strcmp()ing it.

2001-06-11  Jason Leach  <jleach@ximian.com>

    * evolution-storage.c (impl_Storage_async_create_folder): Fixed
    folder creation on IMAP storages (by notifying bonobo listener
    with the result).

    * evolution-storage-listener.c: Some cleaning.

2001-06-08  Iain Holmes  <iain@ximian.com>

    * e-setup.c (check_dir_recur): Don't copy the old Executive-Summary dir.
    (e_setup): If there is an Executive-Summary dir in ~/evolution/local
    ask it the user wants to remove it.
    (e_shell_rm_dir): Function to completely delete a directory.

2001-06-07  Iain Holmes  <iain@ximian.com>

    * evolution-storage.c (impl_Storage_async_create_folder): Removed
    debug spew.

    * e-shell-importer.c (start_import): Removed spew.

    * e-shell-view.c (update_window_icon): Take a gboolean to say if
    the folder is my evolution. Do special cased things for My Evolution.
    (update_folder_title_bar): Same.
    (update_for_current_uri): Find out if the uri is the my evolution one
    and act accordingly.
    (get_control_for_uri): Handle the toplevel My Evolution.
    
    * e-storage-set-view.c (etree_icon_at): Get an icon for the toplevel
    My Evolution.
    (etree_value_at): Default is to return "My Evolution"
    (e_storage_set_view_construct): Set the toplevel to be called "My 
    Evolution" and show it.
    (e_storage_set_view_set_show_folders): Same.

2001-06-08  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-commands.c (e_shell_command_add_to_shortcut_bar):
    Allow a NULL @shell_view arg.

2001-06-08  Jason Leach  <jleach@ximian.com>

    * e-shell.c (e_shell_construct): Fix splash setup to keep it from
    giving two Gtk-CRITICAL assertions when you do --no-splash.

2001-06-06  Jon Trowbridge  <trow@ximian.com>

    * evolution-storage.c (impl_Storage_async_create_folder): Changed
    purely informational debug spew from a g_warning to a g_message.

    * e-shell-importer.c (show_import_wizard): The import wizard
    defined in import.glade only has three pages... yet we were trying
    to manipulate "page4" as the finish page, with the expected bad
    results.  My guess is that the .glade file got changed, but the
    code didn't get updated.
    (start_import): We were trying to bonobo_object_unref
    (BONOBO_OBJECT (icd->client)), which is fine except for the
    fact that icd->client is just a GtkObject, not a BonoboObject.
    Changed to a gtk_object_unref.
    (start_import): Changed a purely informational bit of debug
    spew from a g_warning to a g_message.

2001-06-06  Iain Holmes  <iain@ximian.com>

    * importers/intelligent.c (create_gui): Make a few boxes, and make
    the whole dialog horizontal. Add better buttons, and a "Don't ask 
    again button" (And the world rejoices).
    Fixed the notebook so it displayed the blank page on startup.
    (intelligent_importer_init): Handle the "Don't ask me again" button.

2001-06-06  Jason Leach  <jleach@ximian.com>

    (Fix bug #3205: Component crash causes folder switch even when not
     needed)
    
    * e-shell-view.c (socket_destroy_cb): Only flip around the
    ShellView to different folders when we're currently viewing the
    URI that's being closed/crashed.

2001-06-06  Jason Leach  <jleach@ximian.com>

    (Fix bug #418: Save state of folder tree view)
    
    * e-shell-view.c (e_shell_view_save_settings): Changed the char *
    @prefix argument to an int @view_num.
    (e_shell_view_load_settings): Ditto.
    (get_local_prefix_for_view): New function that gets us a prefix
    from a view_num.

    * e-shell-view.c (e_shell_view_save_settings): Save the
    expanded/collapsed information for each storage-set-view here.
    (e_shell_view_load_settings): Load it here.

    * e-storage-set-view.c (e_storage_set_view_construct): Make it so
    new storage set views have their storages expanded by default, but
    will respsect the expanded state information that we load into it.
    (insert_storages): Minor change here too.
    (new_folder_cb): Ditto.
    
2001-06-05  Jason Leach  <jleach@ximian.com>

    * e-shell-view-menu.c: Plug in all the folder tree right click
    menu verbs so bonobo-warnings aren't emitted (even though the
    respective implementation functions are currently unimplemented).
    (command_delete_folder): New function, see above.
    (command_rename_folder): Ditto.
    (command_folder_properties): Ditto.

    * e-shell-folder-commands.c (e_shell_command_delete_folder): New
    function, currently unimplemented.

2001-06-04  Jason Leach  <jleach@ximian.com>

    (Fixing bug #1299: Shell saves shortcuts when display name
     changes)
    
    * e-shortcuts.c (class_init): New signal: "update_shortcut".

    * e-shortcuts-view-model.c (e_shortcuts_view_model_construct):
    Connect thew new signal here.

    * e-shortcuts-view-model.c (shortcuts_update_shortcut_cb): New
    function, uses the new e_shortcut_model_update_item().

    * e-shell-view.c (corba_interface_set_folder_bar_label): Fix a
    warning here.

2001-06-03  Ettore Perazzoli  <ettore@ximian.com>

    * Makefile.am (evolution_LDADD): Move `$(DB3_LDADD)' before
    libeutil.

2001-06-01  Ettore Perazzoli  <ettore@ximian.com>

    * Makefile.am (evolution_LDADD): Add `$(DB3_LDADD)'.

2001-05-30  Jason Leach  <jleach@ximian.com>

    * e-shell-view.c (e_shell_view_set_current_shortcuts_group_num):
    New function (probably should just be static).
    (e_shell_view_load_settings): Load the current shortcut group here
    using the above new function.
    (e_shell_view_save_settings): Save current shortcut group in here.

2001-05-30  Jason Leach  <jleach@ximian.com>

    * e-shell-folder-title-bar.c: New 'folder_bar_label' member for
    EShellFolderTitleBar, it's for information that's shown to the
    left of the icon like the dates in the calendar (or, potentially
    total and unread numbers for mailer).
    (e_shell_folder_title_bar_set_folder_bar_label): New function,
    lets others set the title bar extra label.

    * Evolution-ShellView.idl: New method 'setFolderBarLabel' for our
    exposed ShellView interface.
    
    * evolution-shell-view.h: New signal "set_folder_bar_label" for
    EvolutionShellView.

    * evolution-shell-view.c (impl_ShellView_set_message): Emit the
    new signal here.

    * e-shell-view.c (setup_corba_interface): Connect the signal here.

    * e-shell-view.c (corba_interface_set_folder_bar_label): New
    function, callback for the above signals, does the actual extra
    label setting for the folder title bar.

    * e-shell-folder-commands.c (e_shell_command_add_to_shortcut_bar):
    Fix a warning here.

2001-05-30  Jason Leach  <jleach@ximian.com>

    * e-shell.c (e_shell_construct): Removed an unecessary sleep(2)
    call, so evolution will start up 2 seconds faster now.

2001-05-30  Jason Leach  <jleach@ximian.com>

    * e-shell-view-menu.c: Connect the AddFolderToShortcutBar verb to
    their implementation functions.

    * e-shell-view.c (e_shell_view_get_current_shortcuts_group_num):
    New function, use it to find out which shourtcut group is
    currently open on the shortcut bar.

    * e-shell-folder-commands.c (e_shell_command_add_to_shortcut_bar):
    Implement this using new function described above.

2001-05-29  Federico Mena Quintero  <federico@ximian.com>

    * e-shell-view.c (setup_progress_bar): Added missing castt.
    (setup_offline_toggle): Likewise.

2001-05-29  JP Rosevear  <jpr@ximian.com>

    * e-shell-view.c (setup_progress_bar): unref the control when
    finished with it
    (setup_offline_toggle): ditto
    (destroy): destroy offline and progress widgets

2001-05-28  Dan Winship  <danw@ximian.com>

    * e-storage-set-view.c (new_storage_cb): Call
    e_tree_node_set_expanded on the storage_set_view, not the
    storage_set (which is not an ETree).

2001-05-27  Dan Winship  <danw@ximian.com>

    * evolution-shell-component-utils.c: New file.
    (e_pixmaps_update): Moved here from e-util to break e-util bonobo
    dependency.

    * e-shell-view-menu.c: #include
    "evolution-shell-component-utils.h" instead of "e-gui-utils.h"

    * Makefile.am (libeshell_la_SOURCES, eshellinclude_HEADERS): Add
    evolution-shell-component-utils.[ch]

2001-05-26  Dan Winship  <danw@ximian.com>

    * e-storage-set-view.c (destroy): Don't free the hash keys in
    priv->path_to_etree_node, because they're owned by the ETree now.
    (e_storage_set_view_set_show_folders): Likewise.

2001-05-25  Peter Williams  <peterw@ximian.com>

    * Makefile.am: Change libeshell from a noinst_LIBRARIES to
    a lib_LTLIBRARIES. Install its headers in 
    $includedir/evolution/shell.

    * evolution-storage.c (safe_corba_string): New, copy of e_safe_corba_string
    in libeutil. This way libeshell doesn't have a missing symbol when programs
    that don't have libeutil link to it.
    (evolution_storage_register): s,e_safe_corba_string,safe_corba_string,g.

2001-05-25  jacob berkman  <jacob@ximian.com>

    * e-shell-view.c (setup_widgets): place the shortcut bar in a
    frame

2001-05-21  Christopher James Lahey  <clahey@ximian.com>

    * Makefile.am (INCLUDES): Added ETSPECDIR.  Added
    e-storage-set-view.etspec to get installed.

    * e-local-storage.c (remove_folder_directory): Commented out this
    function since it is unused.

    * e-shell-folder-commands.c
    (folder_selection_dialog_folder_selected_callback), e-shell-view.c
    (update_offline_toggle_status): Fixed warnings here by adding a
    return; after the g_assert_not_reached();.

    * e-shell-importer.c (start_import): Got rid of real_folderpath
    here and just reused folderpath (It was causing uninitialized
    variable warnings.)

    * e-shell.c (impl_Shell_getLocalStorage): Use
    bonobo_object_dup_ref here.  It makes things simpler.

    * e-storage-set-view.c: Removed ETREE_SPEC since it's no longer
    needed.
    (convert_corba_drag_action_set_to_gdk,
    folder_context_menu_activate_cb, remove_cb,
    folder_context_menu_remove_cb): Commented out these functions
    since they're unused.
    (new_storage_cb, new_folder_cb, insert_folders, insert_storages):
    Don't bother using insert_id here since it no longer does
    anything.
    (new_storage_cb, removed_storage_cb, removed_folder_cb): Don't
    free the data returned from e_tree_memory_node_remove.
    (e_storage_set_view_construct): Set the destroy func here so that
    memory will automatically get freed when nodes are destroyed.
    g_strdup the root node string here.  Use
    e_tree_construct_from_spec_file here to use an external file.
    (e_storage_set_view_set_show_folders): g_strdup the root node
    string here.

    * e-storage-set-view.etspec: New etspec file.

    * evolution-shell-component-client.c
    (free_ShellComponentListener_servant): Added a prototype here.

2001-05-23  Chris Toshok  <toshok@ximian.com>

    * evolution-shell-component.h
    (EVOLUTION_SHELL_COMPONENT_POPUP_PLACEHOLDER): track change to the
    path to the ComponentPlaceholder.

2001-05-20  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c: New static members `offline_pixmap',
    `offline_mask', `online_pixmap', `online_mask'.  Add members
    `tooltips', `offline_toggle' and `offline_toggle_pixmap' to
    `EShellViewPrivate'.
    (init): Init to NULL.  Also init the `progress_bar' member to NULL
    as well, as we were not initializing it.
    (destroy): Unref the tooltips.
    (load_images): New static function to load the offline and online
    icons into the pixmaps/masks.
    (class_init): Call it.
    (update_offline_toggle_status): New.
    (shell_line_status_changed_cb): Call it.
    (offline_toggle_clicked_cb): New, callback for the "clicked"
    signal on the offline/online button.
    (setup_offline_button): New function to set up the
    `offline_button'.
    (setup_widgets): Call it.
    (setup_progress_bar): Changed to get an `EShellView' pointer,
    instead of an `EShellViewPriv' pointer.
    (setup_widgets): Updated accordingly.

2001-05-20  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view-menu.c: Define the verb for "CopyFolder" as well.
    (command_copy_folder): Implementation for the "CopyFolder" verb.

    * e-shell-folder-commands.c: New struct `FolderCommandData'.
    (folder_command_data_new): New function to allocate and initialize
    it.
    (folder_command_data_free): New function to free it.
    (e_shell_command_move_folder): Pass a pointer to a filled-in
    `FolderCommandData' struct to the callbacks instead of just
    passing a pointer to the shell object.
    (move_folder_selected_callback): Removed.
    (move_folder_cancelled_callback): Removed.
    (folder_selection_dialog_folder_selected_callback): New generic
    callback for the folder selection dialog.
    (folder_selection_dialog_cancelled_callback): New generic callback
    for the folder selection dialog.
    (connect_folder_selection_dialog_signals): New function to connect
    these two handlers to a folder selection dialog.
    (xfer_result_callback): New callback for the async xfer function.
    (get_folder_name): New utility function.
    (e_shell_command_copy_folder): Implement.

2001-05-19  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-commands.c
    (e_shell_command_create_new_folder): Changed to use
    `e_shell_view_get_current_path()' to get the default path, instead
    of computing it itself.
    (move_folder_cancelled_callback) (move_folder_selected_callback):
    New, callbacks for the "cancelled" and "folder_selected" signals
    on the folder selection dialog for the "Move folder" operation.
    (e_shell_command_move_folder): Implemented.

    * e-shell-view-menu.c (command_move_folder): New, implementation
    for the "MoveFolder" verb.

    * e-shell-view.c (e_shell_view_get_current_path): New.

2001-05-19  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-selection-dialog.h: Rename @default_path to
    @default_uri.

    * e-shell.c (impl_Shell_selectUserFolder): Pass a NULL @caption to
    `e_shell_folder_selection_dialog_new()'.

    * e-shell-importer.c (import_druid_finish): Add a caption to the
    folder selection dialog.  Constify local variable `foldername',
    and avoid g_strdupping/g_freeing it, as it's useless.

    * e-shell-view-menu.c (command_goto_folder): Add a caption to
    the folder selection dialog.

    * e-shell-folder-selection-dialog.c
    (e_shell_folder_selection_dialog_new): New arg @caption.
    (e_shell_folder_selection_dialog_construct): Likewise.  Also
    cleaned up a bit.

2001-05-19  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view-menu.c: Removed "NewView" verb.  Added
    `folder_verbs', with "OpenFolderInNewWindow" in it.
    (e_shell_view_menu_setup): Set up the `folder_verbs' too.
    (command_new_view): Renamed to
    `command_open_folder_in_new_window'.

    * e-shell-folder-commands.c
    (e_shell_command_open_folder_in_other_window): Implement.

2001-05-19  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view-menu.c (command_create_folder): Call
    `e_shell_command_create_new_folder()' implemented in
    `e-shell-folder-commands.c'.

    * e-shell-folder-commands.c: New.
    * e-shell-folder-commands.h: New.

2001-05-17  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c
    (populate_folder_context_menu_with_common_items): Removed.
    (popup_folder_menu): Instead of creating the component and the
    folder popup definition here, just do `bonobo_window_add_popup()'
    and assume that "/popups/FolderPopup" is defined in the toplevel
    window's UI xml file.

2001-05-16  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-shell-component-client.c: Moved some functions around
    to avoid the warning about the static
    `free_ShellComponentListener_servant()' function being used prior
    to declaration.

2001-05-15  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view-menu.c (command_run_bugbuddy): `#if 0'ed out.
    (command_submit_bug): New.  Just fire up the web browser with
    `http://bugzilla.ximian.com' in it.
    (menu_do_misc): Associate the latter instead of the former to the
    "HelpSubmitBug" verb.

2001-05-15  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view-menu.c: Add an `HelpFAQ' verb.

2001-05-14  jacob berkman  <jacob@ximian.com>

    * e-folder-tree.c (remove_folder): set the subfolder's parent to
    NULL so the subfolder list doesn't change whilst we are using it
    (folder_remove_subfolder): this function didn't used to work at
    all

2001-05-12  Chris Toshok  <toshok@ximian.com>

    * e-storage-set-view.c (tree_drag_data_received): implement the
    CORBA side of dragging.
    (convert_gdk_drag_action_set_to_corba): rename
    convert_gdk_drag_action_to_corba to this.
    (convert_corba_drag_action_set_to_gdk): rename
    convert_corba_drag_action_to_gdk to this.
    (convert_gdk_drag_action_to_corba): new function that doesn't
    build a bitmask, useful for the Action types, instead of
    ActionSet.
    (convert_corba_drag_action_to_gdk): same.

2001-05-11  Chris Toshok  <toshok@ximian.com>

    * e-storage-set-view.c
    (populate_folder_context_menu_with_common_items): add RemoveFolder
    menu item and verb.
    (folder_context_menu_remove_cb): new function, call
    e_storage_set_async_remove_folder.
    (remove_cb): callack for e_storage_set_async_remove_folder.

    * evolution-shell-component-client.c
    (evolution_shell_component_client_populate_folder_context_menu):
    fix prototype to reflect Component -> Container.

    * evolution-shell-component-client.h: same.

2001-05-11  Chris Toshok  <toshok@ximian.com>

    * evolution-shell-component.h
    (EVOLUTION_SHELL_COMPONENT_POPUP_PLACEHOLDER): add this define for
    the xml path to use when adding menu items to the folder popup.

    * e-storage-set-view.c
    (populate_folder_context_menu_with_common_items): add (#ifdef
    DEBUG_XML) a menu item to dump the bonobo xml.
    (popup_folder_menu): pass the BonoboUIContainer to the
    populate_folder_context_menu CORBA call, instead of the component.
    Also, reorder things a bit so the component doesn't get an error
    when setting xml the first time.

2001-05-11  Iain Holmes  <iain@ximian.com>

    * e-shell-folder-selection-dialog.c (dbl_click_cb): Use gnome_dialog_close
    instead of gtk_widget_destroy.
    (impl_clicked): Use gnome_dialog_close instead of gtk_widget_destroy.

    * e-shell-view-menu.c: #include e-shell-importer.h instead of importer/importer.h

    * importer/Makefile.am: Remove importer.c and importer.h.

    * importer/importer.[ch]: Moved these to e-shell-importer.[ch]

    * e-shell-importer.c (start_import): Take a folderpath to import into.
    (importer_druid_finish): Show the EShellFolderSelectionDialog to get a folder to
    import into.

2001-05-11  JP Rosevear  <jpr@ximian.com>

    * e-component-registry.c (register_component): component_new refs
    the object itself, so unref ours when we finish with it

    * e-shell.c (e_shell_construct): There is no need to explicitly
    ref the folder type registry, storage set and shortcuts because we
    are the creator and hold the initial ref count of 1.

2001-05-11  Dan Winship  <danw@ximian.com>

    * e-local-storage.c (load_folder): Lots of people seem to have
    "broken" local storage hierarchies. So ignore errors (like the old
    code did) and just print a warning.

2001-05-11  Chris Toshok  <toshok@ximian.com>

    * evolution-storage-set-view-factory.c
    (evolution_storage_set_view_factory_new_view): the only
    problematic area - pass NULL for now in as the BonoboUIContainer.
    how do we pass this container to the control?

    * e-storage-set-view.c (folder_context_menu_activate): un-#if 0
    this function.
    (populate_folder_context_menu_with_common_items): build our popup
    using the new xml bonobo stuffs.
    (popup_folder_menu): convert to using the new xml bonobo stuffs.
    (right_click): only do the popup menu if we have a
    BonoboUIContainer.
    (e_storage_set_view_new): add BonoboUIContainer* arg.
    (e_storage_set_view_construct): same.

    * e-storage-set-view.h: add BonoboUIContainer* args to
    e_storage_set_view_new and e_storage_set_view_construct.

    * e-shell-folder-creation-dialog.c (add_storage_set_view): pass
    NULL for the BonoboUIContainer, since we shouldn't (?) have a
    popup in this dialog.
    
    * e-shell-folder-selection-dialog.c
    (e_shell_folder_selection_dialog_construct): pass NULL for the
    BonoboUIContainer, since we shouldn't (?) have a popup in this
    dialog.

    * e-storage-set.h: add BonoboUIContainer* arg to
    e_storage_set_new_view.

    * e-storage-set.c (e_storage_set_new_view): add arg, and track
    change to e_storage_set_view_new.

    * e-shell-view.h: add prototype for
    e_shell_view_get_bonobo_ui_container.

    * e-shell-view.c (setup_storage_set_subwindow): track change to
    e_storage_set_view_new.
    (e_shell_view_construct): the BonoboUIContainer is now part of our
    private structure.
    (e_shell_view_get_bonobo_ui_container): new function.

2001-05-09  Christopher James Lahey  <clahey@ximian.com>

    * importer/intelligent.c (create_gui): Made this function static.
    Removed the unused variable placeholder.
    (intelligent_importer_init): Cast from gpointer to int here
    properly using GPOINTER_TO_INT.

2001-05-09  Dan Winship  <danw@ximian.com>

    * e-local-storage.c: Remove get_physical_path and load_folders,
    and replace the calls to them with calls to the e_path_* functions
    they inspired.

2001-05-08  Dan Winship  <danw@ximian.com>

    * glade/e-active-connection-dialog.glade: Rename "port" to "type"
    here too.

2001-05-08  Iain Holmes  <iain@ximian.com>

    * importer/evolution-importer-client.c (evolution_importer_client_load_file):
    Actually use the duplicated value.

    * e-local-storage.c (create_folder_directory): Assign 
    physical_path_return before trying to create the directory.
    (create_folder): Return the physical_path even if the directory
    creation failed. Free the physical path.

    * importer/evolution-importer-client.[ch]: Make EvolutionImporterClient
    from a GtkObject instead of a BonoboObject.

    * importer/importer.c: Use gtk_object_unref instead of 
    bonobo_object_unref on the clients.

    * importer/intelligent.c: New prettier dialog, and multiple importers
    done in the same window. 

2001-05-07  Dan Winship  <danw@ximian.com>

    * e-shell-offline-handler.c (update_dialog_clist_hash_foreach):
    Fix a free of non-malloc'ed memory introduced by my last change.

2001-05-07  Jon Trowbridge  <trow@ximian.com>

    * e-shell-view-menu.c (update_offline_menu_item): Changed some
    references to /commands/WorkOffline to /commands/ToggleOffline.

2001-05-04  Chris Toshok  <toshok@ximian.com>

    * evolution-shell-component-dnd.c
    (impl_GNOME_Evolution_ShellComponentDnd_DestinationFolder_handleMotion):
    take a physical_uri and pass it to the callback.
    (impl_GNOME_Evolution_ShellComponentDnd_DestinationFolder_handleDrop):
    same.

    * evolution-shell-component-dnd.h: add physical_uri args to the
    destination folder HandleMotion and HandleDrop types.

    * Evolution-ShellComponentDnd.idl: add "in string physical_uri" to
    DestinationFolder::handleMotion and DestinationFolder::handleDrop.

    * e-storage-set-view.c (tree_drag_motion): pass the physical uri
    of the folder to handleMotion.

2001-05-04  Dan Winship  <danw@ximian.com>

    * e-shell-offline-handler.c (update_dialog_clist_hash_foreach,
    (duplicate_connection_list): Use type instead of portNumber.
    (e_shell_offline_handler_put_components_offline): Fix the logic of
    when to show the connection dialog here. (Show it when there *are*
    connections, not when there aren't.)

    * Evolution-Offline.idl: Have a "string type" instead of "short
    portNumber" in Connection.

2001-05-04  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-offline-handler.c
    (e_shell_offline_handler_put_components_offline): Only display the
    dialog if there are active connections.  [It was displaying it all
    the time before just for testing purposes.]

2001-05-04  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-storage.c (evolution_storage_new_folder): Ooops.  The
    `corba_folder' is needed after returning; don't free it.

2001-05-04  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-storage.c (evolution_storage_new_folder): Free the
    `corba_folder' when not needed anymore.

    * e-local-storage.c (create_folder_directory): Free the parent
    path, and don't allocate it when we don't need it.

    * evolution-shell-component-client.c (dispatch_callback): Free the
    listener servant too.
    (impl_destroy): Release the listener object and free the servant
    if it exists.

2001-05-04  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-creation-dialog.c (dialog_clicked_cb): Don't
    strdup `path' before copying it into the `dialog_data'.

2001-05-04  Ettore Perazzoli  <ettore@ximian.com>

    * importer/intelligent.c (get_intelligent_importers): Free the
    `info_list' returned by `oaf_query()', thus plugging a leak.

2001-05-04  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-utils.c (get_icon_path): Don't use
    `gnome_pixmap_file()', which is broken as it looks in the current
    working directory first.  Instead, if the path is not absolute,
    just look up the file in the `EVOLUTION_IMAGES' directory.

2001-05-03  Ettore Perazzoli  <ettore@ximian.com>

    * glade/e-active-connection-dialog.c: Change the GtkCList mode to
    GTK_BROWSE_SINGLE.

2001-05-03  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-offline-handler.c
    (impl_OfflineProgressListener_updateProgress): Update the GtkCList
    before emitting the "offline_procedure_finished" signal.  In fact,
    we might be destroyed from within the signal handlers and then
    things would get messy.

    * evolution-shell-component-client.c
    (evolution_shell_component_client_get_offline_interface):
    "IDL:GNOME/Evolution/Offline:1.0", not
    "IDL:GNOME/Evolution/ShellComponent/Offline:1.0".  Sigh.

    * e-shell-view-menu.c: Update to match the rename of the
    `WorkOffline' menu item in the `File' menu into `ToggleOffline'.
    Now the `WorkOffline' verb actually puts the shell offline, while
    `WorkOnline' puts in online, so we don't use one single verb to
    toggle the online/offline status.
    (command_work_offline): Only go offline.
    (command_work_online): New.  Make the shell go online.
    (update_offline_menu_item): New.
    (shell_line_status_changed_cb): New, callback for the
    "line_status_changed" signal on the associated EShell.

2001-05-03  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-offline-handler.c: New member `dialog_gui' in
    `EShellOfflineHandlerPrivate'.
    (impl_destroy): Unref here if not NULL.
    (init): Init to NULL.
    (update_dialog_clist_hash_foreach): New.
    (update_dialog_clist): New.
    (dialog_clicked_cb): New, callback for the "clicked" signal on the
    active connection dialog.
    (pop_up_confirmation_dialog): Implemented.
    (init): Init `procedure_in_progress' to `FALSE' instead of `TRUE'.
    (cancel_offline): Emit `offline_procedure_finished'.
    (impl_OfflineProgressListener_updateProgress): Call
    `update_dialog_clist()'.

    * glade/e-active-connection-dialog.glade: New.

    * e-shell-view-menu.c: Update to use the `WorkOffline' verb
    instead of the `WorkOffLine' one.
    (command_work_offline): New, temporary implementation for the
    "WorkOffline" verb.

    * e-shell-view.c (shell_line_status_changed_cb): New, callback for
    the shell's `line_status_changed' signal.
    (e_shell_view_construct): Connect it.

    * e-shell.c: New member `line_status' in `EShellPrivate'.
    (init): Init to `E_SHELL_LINE_STATUS_ONLINE'.
    (class_init): Set up the `line_status_changed' signal.
    (e_shell_is_offline): Removed.
    (e_shell_get_line_status): New.
    (e_shell_go_online): Set the `line_status' member to
    `E_SHELL_LINE_STATUS_ONLINE' and emit `line_status_changed'.
    (offline_procedure_started_cb): New, signal for the
    `offline_procedure_started' signal in EShellOfflineHandler.
    (offline_procedure_finished_cb): New, signal for the
    `offline_procedure_finished' signal in EShellOfflineHandler.
    (e_shell_go_offline): Implemented.

    * e-shell.h: New enum `EShellLineStatus'.  New signal
    `line_status_changed'.

2001-05-03  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-offline-handler.c (e_shell_offline_handler_construct):
    Unset the `GTK_FLOATING' flag.

2001-05-02  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell.c: New members `is_offline' and `offline_handler' in
    `EShellPrivate'.
    (init): Init `is_offline' to %FALSE, `offline_handler' to %NULL.
    (e_shell_is_offline): New.
    (e_shell_go_online): New.
    (e_shell_go_offline): New.

    * e-shell-offline-handler.c: New.
    * e-shell-offline-handler.h: New.

    * evolution-shell-component-client.c: New member
    `offline_interface' in `EvolutionShellComponentClientPrivate'.
    (init): Init to `CORBA_OBJECT_NIL'.
    (impl_destroy): Unref/release if not NIL.
    (evolution_shell_component_client_get_offline_interface): New.

    * Evolution-Offline.idl: New.

2001-05-02  Chris Toshok  <toshok@ximian.com>

    * evolution-shell-component-dnd.c: new file.

    * evolution-shell-component-dnd.h: new file.

    * Makefile.am (libeshell_a_SOURCES): add
    evolution-shell-component-dnd.[ch].

2001-04-25  Dan Winship  <danw@ximian.com>

    * Makefile.am (evolution_LDADD): Remove $(UNICODE_LIBS).

    * main.c (main): Remove call to unicode_init.

2001-04-25  JP Rosevear  <jpr@ximian.com>

    * evolution-shell-client.c (destroy): free the private member

2001-04-25  Kjartan Maraas  <kmaraas@gnome.org>

    * e-component-register.c, e-corba-storage.c, e-folder-tree.c,
    e-folder-tree.h, e-folder.c, e-local-folder.c, e-shell.c,
    e-shortcuts-view-model.c, e-shortcuts.c, e-splash.c, 
    e-storage-set-view.c, e-storage-set.c, evolution-local-storage.c,
    evolution-shell-component-client.c, evolution-shell-component.c,
    evolution-storage.[ch], importer/evolution-importer-client.[ch],
    importer/evolution-importer-listener.[ch],
    importer/evolution-importer.[ch],
    importer/evolution-intelligent-importer.[ch], importer/intelligent.c:
    #include <glib.h> and move corresponding local includes to the top.
    
2001-04-23  Jeffrey Stedfast  <fejj@ximian.com>

    * e-splash.c: #include gnome-window-icon.h

2001-04-21  Duncan Mak  <duncan@ximian.com>

    * e-splash.c (e_splash_construct): Set window_icon to
    "evolution.png" in the splash screen.

2001-04-18  Ettore Perazzoli  <ettore@ximian.com>

    * e-local-folder.c: #include <unistd.h>.

2001-04-17  Christopher James Lahey  <clahey@ximian.com>

    * e-shell-view.c (storage_set_view_box_event_cb): Proxy events to
    the tooltip object properly.

2001-04-15  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-selection-dialog.c
    (folder_creation_dialog_result_cb): Set the current folder only if
    @result is `E_SHELL_FOLDER_CREATION_DIALOG_RESULT_SUCCESS'.

    * e-shell-folder-creation-dialog.c (folder_name_entry_changed_cb):
    Changed to get a pointer to the DialogData instead of just a
    pointer to the dialog itself.  Don't set the OK button sensitive
    if there is no folder selected in the storage set view.
    (setup_folder_name_entry): Don't connect
    `folder_name_entry_changed_cb' anymore.
    (e_shell_show_folder_creation_dialog): Connect here instead.
    (storage_set_view_folder_selected_cb): New callback for the
    "folder_selected" signal in the EStorageSetView.  Make the OK
    button sensitive if the entry is non-empty.
    (e_shell_show_folder_creation_dialog): Connect it.

2001-04-14  Michael Meeks  <michael@ximian.com>

    * Makefile.am (dist-hook): remove built sources from dist.

2001-04-13  Ettore Perazzoli  <ettore@ximian.com>

    * e-splash.c (impl_destroy): Call the parent class' ::destroy
    method.

2001-04-12  Christopher James Lahey  <clahey@ximian.com>

    * e-storage-set-view.c (etree_has_get_node_by_id,
    etree_get_node_by_id): Implemented these.

2001-04-11  Dan Winship  <danw@ximian.com>

    * e-shell-view.c (switch_on_folder_tree_click): Don't get into an
    infinite loop when clicking on an IMAP storage. Might not be the
    best fix?

2001-04-08  Chris Toshok  <toshok@ximian.com>

    * e-storage-set-view.c (tree_drag_motion): fix type.  we want the
    destination interface, not source.

2001-04-04  Kjartan Maraas  <kmaraas@gnome.org>

    * e-local-folder.c: Fix headers.
    * e-shell-view.c: Same here.
    * e-shortcuts-view.c: Same here.
    * e-shortcuts.c: Same here.
    * e-storage-set-view.c: Same here.
    
2001-04-04  Gediminas Paulauskas <menesis@delfi.lt>

    * importer/importer.c (create_html): copied newer and fixed function
    from mail/mail-config-druid.c.
    (html_new, put_html): removed.
    (show_import_wizard): use create_html instead of html_new/put_html pair.
    * importer/importer.glade: a try to set logo. removed source generation
    options.

2001-04-03  Dan Winship  <danw@ximian.com>

    * main.c:
    * evolution-shell-component-client.c: Don't declare debug_log as
    extern in evolution-shell-component-client.c, because that's part
    of libeshell and so gets linked into the other components.
    Instead, declare it there and extern it from main.c.
    (Noticed by Peter Williams)

2001-04-03  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (get_control_for_uri): Change `! folder_type'
    with `folder_type == NULL'.

    * e-corba-storage-registry.c (impl_StorageRegistry_addStorage): If
    the toplevel node URI or the toplevel node type are an empty
    string, use NULL Instead.

2001-04-03  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c: Fix bug #1878 "folder sometimes fails to
    display?".  Thanks to Dan for finding out an explanation for the
    problem.
    (e_shell_view_display_uri): Don't set `priv->uri' here.
    (show_existing_view): Set it here instead, and before showing the
    control.
    (create_new_view_for_uri): And here, likewise.

2001-04-03  Christopher James Lahey  <clahey@ximian.com>

    * e-shell-folder-selection-dialog.c (dbl_click_cb): Made double
    clicking not crash here.

2001-04-02  Ettore Perazzoli  <ettore@ximian.com>

    * e-setup.c (e_setup): If we have a local folder named "Trash" of
    type "mail", rename it to "Trash.old" so that the new
    vfolder-based trash type gets installed.

2001-04-03  Gediminas Paulauskas <menesis@delfi.lt>

    * importer/evolution-importer-client.c (evolution_importer_client_load_file):
    fix Iain's fix which did nothing. closes #1914.

2001-03-31  Christopher James Lahey  <clahey@ximian.com>

    * evolution-storage-set-view.c: Include <gal/util/e-util.h> here.

2001-04-01  Gediminas Paulauskas <menesis@delfi.lt>

    * e-shell-view-menu.c: set up menu icons for new folder, import and work
    offline.

2001-03-30  Iain Holmes  <iain@ximian.com>

    * importer/importer.c (start_import): If the importer can't be started, then
    don't continue.

2001-03-29  Iain Holmes  <iain@ximian.com>

    * importer/evolution-importer-client.c (evolution_importer_client_load_file):
    Duplicate the folderpath, or set it to \0

2001-03-30  Christopher James Lahey  <clahey@ximian.com>

    * e-shell-folder-selection-dialog.c (dbl_click_cb): Since this is
    an ETree now, the signature of the double click callback has
    changed.

2001-03-30  Dan Winship  <danw@ximian.com>

    * Evolution-ShellComponent.idl: add a "debug" method to tell a
    component to output debugging messages to a given file.

    * main.c (main): Add a "--debug filename" argument, to direct
    debugging output for all components to a file. Redirect the
    shell's stdout/stderr to that file if this argument is used.

    * evolution-shell-component-client.c
    (evolution_shell_component_client_set_owner): If debug_log is set,
    call the component's debug method as well.

    * evolution-shell-component.c (impl_ShellComponent_debug):
    redirect stdout/stderr to the named file and emit a "debug"
    signal.

2001-03-29  Kjartan Maraas  <kmaraas@gnome.org>

    * e-component-registry.c: Remove/replace  unneeded includes and
    move around stuff so that system headers are included first.
    * e-corba-storage.c: Replace #include <bonobo.h>
    * e-folder-tree.c: Shuffle.
    * e-folder.c: Remove #include <gtk/gtkobject.h>
    * e-local-storage.c: Replace #include <gnome.h> and <bonobo.h>
    * e-setup.c: Replace #include <glib.h> and <gnome.h>
    * e-shell-folder-creation-dialog.c: Replace #include <gnome.h>
    * e-shell-folder-title-bar.c: Replace <gnome.h>
    * e-shell-utils.c: Same here.
    * e-shell-view-menu.c: Same here (and <bonobo.h>)
    * e-shell-view.c: Replace <gnome.h> and <bonobo.h>
    * e-shell.c: Replace <gnome.h>
    * e-shell.h: Shuffle.
    * e-shortcuts-view-model.c: Replace <gnome.h>
    * e-shortcuts-view.c: Remove #include <gnome.h>
    * e-shortcuts.c: Move <string.h> up.
    * e-splash.c: Replace <gnome.h>
    * e-storage-set-view.c: Replace <gnome.h>
    * e-storage-set.c: Shuffle
    * e-storage.c: Replace <gnome.h>
    * evolution-local-storage.c: Same here
    * evolution-local-storage.h: And here.
    * evolution-session.c: Same here too.
    * evolution-session.h: Replace <bonobo.h>
    * evolution-shell-client.c: Here too.
    * evolution-shell-component-client.c: Shuffle.
    * evolution-shell-component.c: Replace <bonobo.h>
    * evolution-shell-view.c: Remove #include <bonobo.h>
    * evolution-shell-view.h: Replace <gnome.h>
    * evolution-storage-listener.c: Replace <gnome.h> and <bonobo.h>
    * evolution-storage-listener.h: Replace <gnome.h>
    * evolution-storage-set-view-listener.c: Replace <gnome.h> and <bonobo.h>
    * evolution-storage-set-view.c: Remove <gnome.h>
    * evolution-storage.c: Replace <bonobo.h>
    * main.c: Replace <gnome.h> and <bonobo.h>
    * importer/importer.c: Replace <gnome.h>
    * importer/intelligent.c: Replace <gnome.h>. Add prototype for
    intelligent_importer_init().
    * importer/intelligent.h: Added this file.
    
2001-03-28  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (folder_sort_callback): Use
    `g_strcasecmp()' instead of `strcasecmp()'.

2001-03-28  Christopher James Lahey  <clahey@ximian.com>

    * e-storage-set-view.c (storage_sort_callback,
    folder_sort_callback): Use strcasecmp instead of strcmp.

2001-03-28  Ettore Perazzoli  <ettore@ximian.com>

    * e-local-storage.c (async_xfer_folder_callback):
    s/new_folder/destination_folder/ where appropriate, idiot.

2001-03-28  Jon Trowbridge  <trow@gnu.org>

    * e-shell-view-menu.c: In a fit of egomania, added myself to the
    authors array.

2001-03-26  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-shell-component-client.c
    (shell_component_result_from_corba_exception): Implement.

2001-03-26  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-shell-component-client.c
    (evolution_shell_component_client_async_xfer_folder): Handle CORBA
    exception.
    (evolution_shell_component_client_async_create_folder): Likewise.

    * e-local-storage.c (create_folder_directory): Create the
    `subfolders' directory if it doesn't exist.

    * e-storage-set-view.c (tree_drag_data_received): Build the
    correct target path by appending the basename from the source
    path.

    * evolution-shell-component.c
    (impl_ShellComponent_async_xfer_folder): Enabled again.
    (class_init): Install it.

    * e-local-folder.c (METADATA_FILE_NAME_LEN): Removed #define.
    (METADATA_FILE_NAME): Removed #define.
    (save_metadata): Use the public
    `E_LOCAL_FOLDER_METADATA_FILE_NAME' value instead.
    (construct_loading_metadata): Likewise.

    * e-local-folder.h (E_LOCAL_FOLDER_METADATA_FILE_NAME_LEN): New
    #define.
    (E_LOCAL_FOLDER_METADATA_FILE_NAME): New #define.

    * e-local-storage.c (remove_folder_directory): New helper
    function.
    (async_xfer_folder_step): New.
    (async_xfer_complete): New.
    (async_xfer_folder_callback): New.
    (impl_async_xfer_folder): Implement.

    * e-storage.h: Added value `E_STORAGE_NOTEMPTY' to
    `EStorageResult'.

    * evolution-shell-component-client.c
    (evolution_shell_component_clinet_async_xfer_folder): New.

2001-03-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-local-storage.c (impl_async_xfer_folder): New, implementation
    for `EStorage::async_xfer_folder'.
    (class_init): Install it.
    (check_valid_name): Removed.  Conflicts shouldn't be handled this
    way, and hardcoding the names is *bad*.
    (create_folder_directory): New helper function.
    (real_do_folder_create): Removed.
    (create_folder): New.  Do things here using
    `create_folder_directory'.
    (impl_async_create_folder): Use `create_folder'.
    (notify_bonobo_listener): Renamed from `notify_listener'.  Moved
    on top for clarity.

2001-03-22  Iain Holmes  <iain@ximian.com>

    * importer/evolution-importer-listener.c (evolution_importer_listener_new):
    Remove the usage of the corba_object thing.
    (evolution_importer_listener_construct): Ditto.

    * e-local-storage.c (real_do_folder_create): Revert the e_mkdir_hier call
    to two seperate calls to mkdir. If the directory exists, just call the 
    callback and notify the listener.

    * importer/GNOME_Evolution_Importer.idl: Add a folderpath paramater to the
    loadFile method.

    * importer/evolution-importer.[ch]: Update for the new folderpath param.
    
    * importer/evolution-importer-client.[ch]: Ditto.

    * importer/importer.c: Ditto.

2001-03-22  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (motion_notify_event): Unref the target
    list we create on the fly.

2001-03-22  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-creation-dialog.c (async_create_cb): Changed
    signature to match `EStorageSetResultCallback' instead of
    `EStorageResultCallback', to match the changes in the async_create
    API call.

2001-03-22  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c: Removed some unused static variables.
    (set_evolution_path_selection): Removed unused variable
    `evolution_path'.

    * e-storage-set.c (e_storage_set_async_xfer_folder): Get an
    `EStorageSetResultCallback', instead of an
    `EStorageResultCallback'.
    (e_storage_set_async_remove_folder): Likewise.
    (e_storage_set_async_create_folder): Likewise.
    (storage_callback_converter): New callback to convert from the
    EStorageResultCallback to the EStorageSetResultCallback.

    * e-storage-set.h: New typedef `EStorageSetResultCallback'.

    * Evolution-ShellComponent.idl: Renamed `copyFolderAsync' into
    `xferFolderAsync' for consistency.

    * e-storage-set-view.c (tree_drag_data_received): Updated to use
    `e_storage_set_async_xfer_folder()' instead of
    `e_storage_set_async_move_folder()' or
    `e_storage_set_async_copy_folder()'.
    (folder_xfer_callback): New, callback for the xfer function.

    * e-storage-set.c (e_storage_set_async_move_folder): Removed.
    (e_storage_set_async_copy_folder): Removed.
    (e_storage_set_async_xfer_folder): New.

2001-03-22  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage.c (e_storage_async_xfer_folder): New.
    (impl_async_xfer_folder): New, default implementation for the
    `async_xfer_folder' method.
    (class_init): Install it.

    * e-storage.h: New virtual method `async_xfer_folder'.

    * evolution-storage.c (impl_Storage_async_xfer_folder): New.  Just
    a stub for now.
    (evolution_storage_get_epv): Install it as the implementation for
    the `asyncXferFolder' method.

    * Evolution-Storage.idl: New method `asyncXferFolder'.

2001-03-22  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c: Removed `source_drag_types',
    `num_source_drag_types', `destination_drag_types',
    `num_destination_drag_types', `target_list'.
    (E_SHORTCUT_TARGET_TYPE): Renamed from "E_SHORTCUT_TYPE".
    (EVOLUTION_PATH_TARGET_TYPE): Define to "_EVOLUTION_PRIVATE_PATH".
    (find_matching_target_for_drag_context): If any of the targets
    matches it, return it.
    (handle_evolution_path_drag_motion): New.
    (tree_drag_motion): Use it if we are matching an
    `EVOLUTION_PATH_TARGET_TYPE' target.
    (e_storage_set_view_construct): Call `e_tree_drag_dest_set()' on
    the view so that we become a possible DnD target.
    (get_folder_at_node): Don't die if you don't find a folder there.
    (create_target_entries_from_dnd_type_list): Make the first entry
    an `EVOLUTION_PATH_TARGET_TYPE', the second one an
    `E_SHORTCUT_TYPE', and the following ones the ones defined by the
    folder.
    (set_evolution_path_selection): New function to set the private
    Evolution path selection.
    (set_e_shortcut_selection): Assert @selection_data to be not NULL.
    (class_init): Don't set up the `target_list' anymore.
    (storage_sort_callback): Actually compare the two nodes, not the
    first node with itself.

    * e-storage-set.c (e_storage_set_async_copy_folder): New.
    (e_storage_set_async_move_folder): New.

2001-03-22  Christopher James Lahey  <clahey@ximian.com>

    * e-storage-set-view.c (etree_get_save_id): Changed get_save_id to
    just return a strdup of the path.
    (new_storage_cb, new_folder_cb, insert_folders, insert_storages):
    Call e_tree_memory_sort_node.

2001-03-21  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (etree_get_save_id): If we have no
    associated StorageSet yet, just return "root".  [This can happen
    when this function is called at construction time.]

2001-03-21  Ettore Perazzoli  <ettore@ximian.com>

    * Evolution-ShellComponentDnd.idl: StudlyCapsify struct members to
    match the new IDL naming standards.
    * e-storage-set-view.c: Updated accordingly.

2001-03-21  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (tree_drag_data_get): Get the target type
    from the atom, and pass it through the `SourceFolder::getData'
    invocation.  Also, signal an error by passing `-1' as the length
    value to `gtk_selection_data_set()'.
    (find_matching_target_for_drag_context): New helper function.
    (tree_drag_motion): Use it to figure out a suitable type for the
    drop action, and pass it to the `DestinationFolder::handleMotion'
    method.

    * e-storage-set-view.c (get_component_at_node): New helper
    function.
    (table_drag_begin): Use it.
    (convert_corba_drag_action_to_gdk): New helper function.
    (table_drag_motion): Use the `DestinationFolder::handleMotion'
    method to handle the "drag_motion" signal.

    * Evolution-ShellComponentDnd.idl: Change the signature for the
    `handleMotion' method so that it only has @suggested_action
    parameter.

2001-03-20  JP Rosevear  <jpr@ximian.com>

    * importer/Makefile.am: make sure intelligent.h gets disted

2001-03-19  Christopher James Lahey  <clahey@ximian.com>

    * Merged e-tree-rework-branch:

    2001-03-19  Christopher James Lahey  <clahey@ximian.com>

    * e-storage-set-view.c (etree_get_save_id): Made "root" detection
    deal properly with removed nodes.

    2001-03-18  Christopher James Lahey  <clahey@ximian.com>

    * e-shell-view.c (e_shell_view_save_settings): Added some unused
    code to implement saving of the expanded state.

    * e-storage-set-view.c: Added has_save_id and get_save_id methods.

    2001-03-13  Christopher James Lahey  <clahey@ximian.com>

    * e-storage-set-view.c (ETREE_SPEC): Set draw-grid here to false.

    2001-03-09  Christopher James Lahey  <clahey@ximian.com>

    * e-storage-set-view.c, e-storage-set-view.h: Chaned this to use
    ETree instead of ETable.

2001-03-19  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-shell-component-client.c: New members
    `dnd_source_folder_interface' and
    `dnd_destination_folder_interface' in
    `EvolutionShellCompoentClientPrivate'.
    (init): Initialize.
    (impl_destroy): Clean up.
    (evolution_shell_component_client_get_dnd_source_interface): New.
    (evolution_shell_component_client_get_dnd_destination_interface):
    New.

2001-03-19  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (init): Ooops.  Initialize the
    `drag_corba_source_context' member.  correctly.
    (table_drag_begin): Don't crash if queryInterface returns
    `CORBA_OBJECT_NIL'.
    (table_drag_end): Don't do anything if the
    `drag_corba_source_interface' is `CORBA_OBJECT_NIL'.

2001-03-19  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c New members `drag_data',
    `drag_corba_source_interface' and `drag_corba_source_context in
    `EStorageSetViewPrivate'.
    (init): Init the new members.
    (destroy): Clean up the new members.
    (table_drag_begin): Query for the
    `EvolutionShellComponentDnd::SourceFolder' interface on the
    handler for the folder we are dragging from, and initialize all
    the CORBA context information for the drag, after invoking
    `::beginDrag()' on it.
    (convert_gdk_drag_action_to_corba): New helper function.
    (table_drag_data_get): Get the data using
    `::SourceFolder::getData'.
    (table_drag_end): New, override for the "ETable::table_drag_end"
    signal.  Invoke `::endDrag' on the SourceFolder interface,
    unref/release the interface, and clean up the source context.
    (table_drag_data_delete): New, override for the
    "ETable::table_drag_data_delete" signal.
    (class_init): Install `table_drag_end' and
    `table_drag_data_delete'.

    * Evolution-ShellComponentDnd.idl: Derive `::DestinationFolder'
    and `SourceFolder' from `Bonobo::Unknown'.

2001-03-19  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (table_drag_data_get): Don't get the
    selection through
    `evolution_shell_component_client_get_dnd_selection()'.

    * evolution-shell-component.c
    (impl_ShellComponent_getDndSelection): Removed.
    (class_init): Don't install.

    * evolution-shell-component-client.c
    (evolution_shell_component_client_get_dnd_selection): Removed.

    * Evolution-ShellComponentDnd.idl: New file with the DnD stuff.

    * Evolution-ShellComponent.idl: Removed the dnd stuff.

2001-03-15  Pablo Saratxaga  <pablo@mandrakesoft.com>

    * main.c: fixed a no-c-format tag

2001-03-14  Ettore Perazzoli  <ettore@ximian.com>

    * importer/Makefile.am (INCLUDES): Remove `-g Wall' and friends.
    Use `$(EXTRA_GNOME_CFLAGS)' instead of `$(GNOME_INCLUDEDIR)'.  Add
    `-I$(top_builddir)/shell'.

2001-03-13  Iain Holmes  <iain@ximian.com>

    * importer/intelligent.c (start_importer): Add a "Don't ask me again"
    checkbox and don't ask about an importer if the box was ticked.

2001-03-12  Iain Holmes  <iain@ximian.com>

    * Evolution-Storage.idl: Add a FolderResult structure.

    * e-local-storage.c (struct _AsyncCreateFolderCallbackData): Add a
    Bonobo_Listener.
    (notify_listener): Function to...notify the listener.
    (component_async_create_folder_callback): Use the notify_listener
    function.
    (real_do_folder_create): New prototype. Replace all returns with
    a call to notify_listener. Make the directory with a call to
    e_mkdir_hier instead of multiple calls to mkdir. Only emit a fail
    on a bad error, not on EEXIST.
    (bonobo_interface_create_folder_cb): Namespace create_folder_cb to match
    the others. 

    e-shell.c: Run the intelligent importer.

    evolution-storage.c (impl_Storage_async_create_folder): Just emit the signal,
    not the callback.
    (e_marshal_NONE__POINTER_POINTER_POINTER_POINTER_POINTER): Lovely signal
    marshaller.
    (class_init): Change the signal definition for the create_folder signal.

    importer/GNOME_Evolution_Importer.idl: Add an IntelligentImporter inteface.

    importer/Makefile.am: Add the evolution-intelligent-importer.c, intelligent.c
    and evolution-intelligent-importer.h to the files.

    importer/evolution-importer-listener.[ch]: Convert to BonoboXObject.

    importer/evolution-importer.[ch]: BonoboXObjectification.

    importer/evolution-intelligent-importer.[ch]: BonoboXObject for the
    GNOME:Evolution:IntelligentImporter interface.

    importer/intelligent.c: Code for running the intelligent importers.

2001-03-08  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (get_folder_at_row): New helper function.
    (create_target_list_for_row): Use it.
    (table_drag_data_get): Get the selection from the shell component
    using `evolution_shell_component_client_get_dnd_selection()'.
    (set_e_shortcut_selection): Turn a `g_return_if_fail()' into a
    `g_assert()'.

    * evolution-shell-component.c: New member `get_dnd_selection_fn'
    in `EvolutionShellComponentPrivate'.
    (evolution_shell_component_construct): New arg
    @get_dnd_selection_fn.
    (evolution_shell_component_new): Likewise.
    (impl_ShellComponent_getDndSelection): New, implementation for
    `ShellComponent::getDndSelection'.
    (class_init): Install it.

    * evolution-shell-component-client.c
    (evolution_shell_component_client_get_dnd_selection): New, wrapper
    for `ShellComponent::getDndSelection'.

    * evolution-shell-component.h: Renamed
    `EvolutionShellComponentPopulateFolderContextMenu' into
    `EvolutionShellComponentPopulateFolderContextMenuFn'.  New
    function pointer typedef `EvolutionShellComponentGetDndSelectionFn'.

    * Evolution-ShellComponent.idl: New method
    `ShellComponent::getDndSelection'.

    * e-storage-set-view.c (create_target_entries_from_dnd_type_list):
    Always add an `E_SHORTCUT_TYPE' type at least.
    (create_target_list_for_row): Don't return NULL if the list of
    exported DND types is NULL.  Don't create an unused target list.
    Actually return the created target list.
    (table_drag_data_get): If the @info is zero, set the e-shortcut
    selection.
    (set_uri_list_selection): Temporarily disabled.

2001-03-07  Ettore Perazzoli  <ettore@ximian.com>

    * e-component-registry.c (register_type): New args
    @num_exported_dnd_types, @exported_dnd_types,
    @num_accepted_dnd_types, @accepted_dnd_types.  Pass them to
    `e_folder_type_registry_register_type()'.
    (register_component): Updated accordingly, getting the values from
    the CORBA `GNOME::Evolution::FolderType' struct.

    * e-folder-type-registry.c: New members `accepted_dnd_types' and
    `exported_dnd_types' in `struct _FolderType'.
    (e_folder_type_registry_register_type): New args
    @num_accepted_dnd_types, @accepted_dnd_types,
    @num_exported_dnd_types, @exported_dnd_types.
    (register_folder_type): Likewise.
    (folder_type_new): Likewise.  Use them to initialize
    `accepted_dnd_types' and `exported_dnd_types' in the newly created
    `FolderType' struct.
    (e_folder_type_registry_get_accepted_dnd_types_for_type): New.
    (e_folder_type_registry_get_exported_dnd_types_for_type): New.

    * e-storage-set-view.c: New #defined constant `DRAG_RESISTANCE'.
    New members `drag_x', `drag_y', `drag_column', `drag_row' in
    `EStorageSetViewPrivate'.
    (init): Initialize them.
    (button_press_event): New function, overriding for the
    `::button_press_event' method.
    (motion_notify_event): New function, overriding for the
    `::motion_notify_event' method.
    (class_init): Install them.

    * evolution-shell-component.c
    (duplicate_null_terminated_string_array): New helper function.
    (evolution_shell_component_construct): Copy the values for
    `accepted_dnd_types' and `exported_dnd_types' from the original
    folder type list using it.
    (destroy): Free the `exported_dnd_types' and `accepted_dnd_types'
    members too.
    (fill_corba_sequence_from_null_terminated_string_array): New
    helper function.
    (impl_ShellComponent__get_supported_types): Also set the
    `exported_dnd_types' and `accepted_dnd_types' values in the folder
    type elements we return.

    * evolution-shell-component.h: Added `accepted_dnd_types' and
    `exported_dnd_types' members to `EvolutionShellComponentFolderType'.

    * Evolution-ShellComponent.idl: Renamed `accepted_dnd_mime_types'
    to `accepted_dnd_types' and `exported_dnd_mime_types' to
    `exported_dnd_types'.  These are not necessarily MIME types.

2001-03-05  Christopher James Lahey  <clahey@ximian.com>

    * e-storage-set-view.c: Override cursor_activated signal instead
    of cursor_changed signal.

2001-02-27  Dan Winship  <danw@ximian.com>

    * main.c (development_warning): Update this again.

2001-02-26  Ettore Perazzoli  <ettore@ximian.com>

    * Evolution-Shell.idl: Rename `FolderTypeList' to
    `FolderTypeNameList' as it was confusing.

    * Evolution-ShellComponent.idl: New members
    `accepted_dnd_mime_types' and `exported_dnd_mime_types' in `struct
    FolderType'.

2001-02-24  Jeffrey Stedfast  <fejj@ximian.com>

    * e-storage.c (folder_changed_cb): Don't free a const pointer.

2001-02-23  Iain Holmes  <iain@ximian.com>

    * e-local-storage.c (construct): Connect to the create-folder signal.
    (impl_async_create_folder): Move this into the real_do_folder_create
    function.
    (real_do_folder_create): Function that creates the folder.
    (create_folder_cb): Creates the folder form a callback.

2001-02-21  Michael Meeks  <michael@ximian.com>

    * importer/importer.c: add include.
    (show_import_wizard): update signature to that of a verb.

    * evolution-shell-component.c (corba_class_init): move into
    (class_init): here & upd.
    (evolution_shell_component_construct): upd.
    (create_servant): kill.
    (E_MAKE_TYPE) -> E_MAKE_X_TYPE.

2001-02-20  Dan Winship  <danw@ximian.com>

    * e-folder.c (_EFolderPrivate): split "highlighted" into
    self_highlight and child_highligh.
    (e_folder_get_highlighted): Return TRUE if either self_highlight
    is true or any child is highlighted.
    (e_folder_set_child_highlight): New function to tell the folder
    about a child highlight change.

    * e-storage.c (folder_changed_cb): Update child highlights
    correctly on folders so that folders will be highlighted whenever
    their children are.

2001-02-17  Christopher James Lahey  <clahey@ximian.com>

    * e-shell-view-menu.c (file_verbs): Cast this fucntion pointer.

    * e-storage-set-view.c (ETABLE_SPEC): Turn on horizontal scrolling
    here.

    * evolution-shell-component.c
    (impl_ShellComponent_async_copy_folder): Commented out this unused
    function.

    * evolution-storage.c (storage_gtk_to_corba_result): Removed an
    unused variable here.

    * importer/importer.c: Include gal/widets/e-gui-utils.h.

2001-02-14  Dan Winship  <danw@ximian.com>

    * Evolution-Storage.idl: add asyncCreateFolder and
    asyncRemoveFolder interfaces. (Use Bonobo::Listener rather than
    creating a new listener interface.)

    * Evolution-LocalStorage.idl: Remove the
    Evolution::LocalStorageOpsListener interface, which wasn't being
    used.

    * evolution-storage.c (impl_Storage_async_create_folder,
    impl_Storage_async_remove_folder): implement by emitting signals
    on the EvolutionStorage object. Convert from
    EvolutionStorageResult to GNOME_Evolution_Storage_Result (blah!)
    (class_init): Set up the new "create_folder" and "remove_folder"
    signals.

    * e-corba-storage.c (async_create_folder, async_remove_folder):
    Implement, using the new Evolution::Storage IDL. Convert from
    GNOME_Evolution_Storage_Result to EStorageResult (blah!)

    * e-storage-set.c (e_storage_set_async_create_folder): Don't allow
    a NULL description (since it doesn't allow a NULL anythign else).

    * e-shell-folder-creation-dialog.c (dialog_clicked_cb): Pass ""
    rather than NULL for the description.

2001-02-12  Kjartan Maraas  <kmaraas@gnome.org>

    * Makefile.am: xml-i18n-tools setup.
    * GNOME_Evolution_Shell.oaf.in: Mark strings for translation.
    
2001-02-10  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view-menu.c: Moved the author list to the top of the
    file.
    (command_about_box): Display the `SUB_VERSION' as well.

2001-02-08  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-creation-dialog.c (dialog_clicked_cb): Destroy
    the dialog instead of using `gnome_dialog_close()'.
    (dialog_clicked_cb): Likewise.
    (dialog_close_cb): Removed.
    (e_shell_show_folder_creation_dialog): Don't connect to the
    "close" signal anymore.

    * e-shell-folder-selection-dialog.c
    (folder_creation_dialog_result_cb): New callback.  Set the default
    folder to be the newly created one.
    (impl_clicked): Use it.

    * e-shell-folder-creation-dialog.c: Add members `folder_path',
    `result_callback' and `result_callback_data' to `struct
    _DialogData'.
    (e_shell_show_folder_creation_dialog): New args @result_callback
    and @result_callback_data.
    (async_create_cb): Notify the result through the specified
    callback.
    (dialog_clicked_cb): Likewise.  Set the `folder_path' in the
    DialogData so that we can pass it over when we get the async
    notification of the result of the operation.

    * e-shell-folder-creation-dialog.h: New type
    `EShellFolderCreationDialogCallback'.

    * e-storage-set-view.c (e_storage_set_view_set_current_folder):
    Show the node too, using `e_tree_model_show_node()'.

2001-02-05  Ettore Perazzoli  <ettore@ximian.com>

    * e-setup.c (copy_default_stuff): s/first time you run/first time
    you are running/.

2001-02-02  Ettore Perazzoli  <ettore@ximian.com>

    * e-component-registry.h: Don't #include <config.h>.
    * e-corba-storage-registry.h: Likewise.
    * e-corba-storage.h: Likewise.
    * e-folder-type-registry.h: Likewise.
    * e-folder.h: Likewise.
    * e-local-folder.h: Likewise.
    * e-local-storage.h: Likewise.
    * e-shell-folder-title-bar.h: Likewise.
    * e-shell-view.h: Likewise.
    * e-shell.h: Likewise.
    * e-shortcuts-view.h: Likewise.
    * e-shortcuts.h: Likewise.
    * e-splash.h: Likewise.
    * e-storage-set-view.h: Likewise.
    * e-storage-set.h: Likewise.
    * e-storage.h: Likewise.
    * evolution-local-storage.h: Likewise.
    * evolution-session.h: Likewise.
    * evolution-shell-client.h: Likewise.
    * evolution-shell-component.h: Likewise.
    * evolution-shell-view.h: Likewise.
    * evolution-storage-listener.h: Likewise.
    * evolution-storage.h: Likewise.

2001-02-02  Iain Holmes  <iain@ximian.com>

    * importer/evolution-importer-client.c:
    (evolution_importer_client_new_from_id): Free the CORBA_Environment.

2001-01-30  Iain Holmes  <iain@ximian.com>

    * importer/importer.c: (start_import): Added a notice if there is no
    importer that can handle the file.
    (get_iid_for_filetype): Free the list of multiple items before returning.
    (importer_timeout_fn): Removed notice.
    (import_cb): Removed notice.    

2001-01-30  Iain Holmes  <iain@ximian.com>

    * importer/importer.c: Added a nasty hack to change the druids Finish
    button to be Import.

    * importer/import.glade: Remove the FIXME warning.

2001-01-30  Kjartan Maraas  <kmaraas@gnome.org>

    * importer/importer.c: Fixed some typos.
    
2001-01-28  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-creation-dialog.c (add_storage_set_view): Set the
    shadow type to be `GTK_SHADOW_IN' in the EScrollFrame.

2001-01-27  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (storage_set_view_box_button_release_event_cb):
    Don't pop down the folder bar if the button release happens in the
    e-paned's handle.
    (storage_set_view_box_button_release_event_cb): Changed the return
    value to be int.  Stupid me.

2001-01-27  Jason Leach  <jasonleach@usa.net>

    * e-shortcuts-view.h: Fix #include to point to gal instead of
    widgets/shortcut-bar/
    
    * e-shortcuts.c: Here too.
    * e-shortcuts-view-model.h: And lastly here.
    
    * Makefile.am (evolution_LDADD): Don't link with the old
    widgets/shortcut-bar/libshortcut-bar.la anymore, gal has the new
    shortcut-bar.

2001-01-27  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (get_pixbuf_for_folder): Don't scale if the
    size is the same.  `gdk_pixbuf_scale()' seems to be blurring the
    image even if the scaling factor is 1.0.

2001-01-26  Ettore Perazzoli  <ettore@ximian.com>

    * e-corba-storage.c: Remove all instances of `__FUNCTION__'.
    * e-folder-tree.c: Likewise.
    * e-folder-type-registry.c: Likewise.
    * e-shell-view.c: Likewise.
    * e-shell-view-menu.c: Likewise.

2001-01-25  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (e_shell_view_construct): Connect the
    "updated_folder" with `gtk_signal_connect_while_alive()' so that
    it gets disconnected when the shell view dies.

2001-01-24  Jason Leach  <jasonleach@usa.net>

    (Fix #1252: Need a File->Close way to close a view)
    
    * e-shell-view-menu.c (command_close): New function, destroys the
    current view.

    * e-shell.c (view_destroy_cb): Make sure shell settings get saved
    when the last view is destroyed.
    
2001-01-24  Kjartan Maraas  <kmaraas@gnome.org>

    * importer/GNOME_Evolution_Importer.idl: Fix missing ';'.
    
2001-01-23  Ettore Perazzoli  <ettore@ximian.com>

    * e-corba-storage.c (impl_StorageListener_update_folder): Don't
    call `e_storage_updated_folder()' as it's supposed to happen
    automatically now.

    * e-storage.c (e_storage_updated_folder): Removed.
    (folder_changed_cb): New callback for the "changed" signal on the
    EFolders.
    (e_storage_new_folder): Connect it.

    * e-folder-tree.c: New member `data_to_path' in `EFolderTree'.
    (e_folder_tree_new): Init here.
    (e_folder_tree_destroy): Destroy it here.
    (e_folder_tree_add): Add to the `data_to_path' hash.  Make sure
    we are not adding the same folder twice.
    (remove_folder): Remove from the `data_to_path' hash.
    (e_folder_tree_get_path_for_folder): New.

    * e-shell-view.c (e_shell_view_construct): Don't connect to the
    "folder_updated" signal of the local storage anymore.
    (folder_updated_cb): Removed.
    (updated_folder_cb): New.
    (e_shell_view_construct): Connect it to the "updated_folder"
    signal.

    * e-local-storage.c: Remove `FOLDER_UPDATED' enum value and the
    `signals' variable, as we don't want to define any custom signals
    here anymore.
    (bonobo_interface_update_folder_cb): No need to emit the
    "folder_updated" signal here.  The base class will take care of
    this already.
    (class_init): Don't install the "folder_updated" signal here.

    * e-local-storage.h: Removed signal "folder_updated".  It is not
    necessary, as we already have an `updated_folder' in `EStorage',
    which is the parent class of `ELocalStorage'.

2001-01-24  Iain Holmes  <iain@ximian.com>

    * importer/GNOME_Evolution_Importer.idl: Removed the busy exception.

2001-01-19  Iain Holmes  <iain@ximian.com>

    * importer/GNOME_Evolution_Importer.idl: Make the processItem oneway.
    Make the Listener interface inherit from Bonobo::Unknown.

    * importer/evolution-importer-client.[ch]: Remove all the crap to deal
    with creating the Listener object.

    * importer/evolution-importer-listener.[ch]: A new bonobo object to 
    implement the ImporterListener interface.

    * importer/importer.c: Fix it up to use the new Listener object.

2001-01-18  Iain Holmes  <iain@ximian.com>

    * e-shortcuts-view.c (show_new_group_dialog): Don't make the dialog
    modal. 

2001-01-16  Iain Holmes  <iain@ximian.com>

    * importer/GNOME_Evolution_Importer.idl: Removed the ImporterFactory
    interface and put the methods from it into the Importer interface.

    * importer/evolution-importer-factory.[ch]: Removed.

    * importer/evolution-importer.[ch]: Added the new methods.
    Added inline documentation for all public functions.

    * importer/evolution-importer-client.[ch]: Added new client support for
    the new methods.
    Added inline documentation for all public functions.

    * importer/importer.c (create_plugin_menu): Changed the query to look for
    IDL:GNOME/Evolution/Importer:1.0.
    (start_import): Do all CORBA methods through the EvolutionImporterClient.
    (get_iid_for_filetype): Change query to search for 
    IDL:GNOME/Evolution/Importer:1.0.

2001-01-19  Dan Winship  <danw@ximian.com>

    * evolution-storage.c (evolution_storage_folder_exists): New
    function. Obvious.

2001-01-19  Jason Leach  <jasonleach@usa.net>

    (Bug #883: Shortcut bar does not update when a folders display
     name changes)

    * e-local-storage.c (class_init): Define a new "folder_updated"
    signal here.
    (bonobo_interface_update_folder_cb): Emit the new folder_updated
    signal here.

    * e-shell-view.c (e_shell_view_construct): Connect the
    EShell::ELocalStorage folder_updated signal here.  Also connect
    the updated_folder signal coming from EShell::EStorageSet to the
    new callback.

    * e-shell-view.c (folder_updated_cb): Callback that actually
    initiates the shell updating.
    
    * e-shortcuts.c (e_shortcuts_update_shortcut_by_uri): New
    function.  Given a URI for a shortcut bar item, we'll update it.

    * e-shortcuts.c (e_shortcuts_remove_shortcut_by_uri): New
    function.  Given a URI for a shortcut bar item, we'll remove it.

    * e-shortcuts.c (removed_folder_cb): Connect this callback that
    will remove a renamed vfolder from the shortcut bar.  Temporary
    fix to the problem of renaming vfolders and having the shortcut
    bar think the old vfolder still exists.
    
    (Bug #1168: Shortcut bar and icon size persistence)
    
    * e-shell-view.c (save_shortcut_bar_icon_modes): New static
    function, save the icon modes (for all shortcut bar groups, even
    though we only have one group now).
    (load_shortcut_bar_icon_modes): New static function, load the
    saved shortcut bar group icon modes and apply them to our shortcut
    bar.

2001-01-17  Federico Mena Quintero  <federico@ximian.com>

    * importer/evolution-importer.h: Use "typedef enum { ... } Blah;"
    instead of "typedef enum _Blah Blah; enum _Blah { ... };" so that
    gtk-doc can parse it.  Sigh.

2001-01-17  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-folder-selection-dialog.c
    (e_shell_folder_selection_dialog_construct): Set the shadow type
    for the EScrollFrame.  Also, make the EStorageSetView widget grab
    the focus.  For some reason it doesnt' seem to work, but I'll
    blame ETree for now.

2001-01-17  Ettore Perazzoli  <ettore@ximian.com>

    * e-shell-view.c (update_for_current_uri): Display the folder name
    before "Evolution" instead of after it.  Also, display the
    sub-version string if it was defined when configuring.

2001-01-17  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.c (table_drag_drop): Don't emit the
    "dnd_action" signal here.  Instead, do a `gtk_drag_get_data()' to
    retrieve information about the drop.
    (table_drag_data_received): New, implementation for
    `ETable::table_drag_data_received'.
    (class_init): Install it.
    (table_drag_data_get): Use `unsigned int' instead of `guint' for
    consistency.
    (table_drag_motion): Same here.  Also use `int' instead of `gint'.
    (table_drag_drop): Likewise.
    (treepath_compare): Likewise.
    (marshal_NONE__ENUM_STRING_STRING_STRING): Removed.
    (marshal_NONE__GDKDRAGACTION_STRING_STRING_STRING): New.
    (class_init): Use it; update signal "dnd_action" so that it passes
    a `GdkDragAction *' instead of .

    * e-storage-set-view.h: Change signal "::dnd_action" so that it
    provides a `GdkDragContext' instead of just a `GdkDragAction'.

2001-01-16  Michael Meeks  <michael@helixcode.com>

    * e-shell-view.c (e_shell_view_construct): set config
    path on window.

2001-01-16  JP Rosevear  <jpr@ximian.com>

    * e-shell-folder-title-bar.c (e_shell_folder_title_bar_new): pop the
    visual/cm after the construct

2001-01-15  JP Rosevear  <jpr@ximian.com>

    * e-shell-folder-title-bar.c (e_shell_folder_title_bar_new): push/pop
    the color map
    (e_shell_folder_title_bar_new): and the visual...

2001-01-15  Iain Holmes  <iain@ximian.com>

    * importer/importer.c (import_druid_cancel): Just destroy the wizard.
    All other freeing code is moved into import_druid_destroy.
    (show_import_wizard): Connect the destroy signal to import_druid_destroy.
    (start_import): Connect to the destroy signal of the dialog and the
    clicked as well.
    (dialog_destroy_cb): Stop the import after the current item has finished.
    (dialog_clicked_cb): Stop the import.
    (import_cb): Only process the next item if the dialog hasn't been stopped.
    Destroy the dialog if it hasn't been destroyed already.

    * e-splash.c (e_splash_construct): Set the window title to Evolution.

2001-01-13  Jason Leach  <jasonleach@usa.net>

    (Fix bug #934: Add Right-click item to hide the shortcut bar)

    * e-shortcuts-view.c (class_init): Create a new hide_requested
    signal.
    (hide_shortcut_bar_cb): New function that gets called from the
    right click menu items, it emits the hide_requested signal.

    * e-shell-view.c (setup_widgets): Connect the hide_requested from
    the shortcut bar.
    (hide_requested_cb): New function.

2001-01-13  Ettore Perazzoli  <ettore@ximian.com>

    * e-storage-set-view.h: New signal `dnd_action'.

    * e-storage-set-view.c: Renamed `drag_types' to
    `source_drag_types' and `num_drag_types' to
    `num_source_drag_types'.  New variables `destination_drag_types'
    and `num_destination_drag_types'.
    (e_storage_set_view_construct): Set the ETree as a drag
    destination.  Allow both GDK_ACTION_MOVE and GDK_ACTION_COPY.

    * e-storage-set-view.c (table_drag_begin): Renamed from
    `etable_drag_begin'.
    (table_drag_data_get): Renamed from `etable_drag_data_get'.
    Changed to be a method override instead of a signal handler.
    (table_drag_motion): New; implementation for the
    `ETable::table_drag_motion' method. Changed to be a method
    override instead of a signal handler.
    (table_drag_drop): New, implementation for `::table_drag_drop'.
    (cursor_change): Renamed from `on_cursor_change'.
    (e_storage_set_view_construct): Don't connect the signals here.
    (class_init): Instead, override the methods here.  Also, install
    our override for `::table_drag_motion' and for
    `::table_drag_drop'.
    (right_click): Changed to be a method instead of a signal handler.
    (cursor_change): Likewise.

2001-01-13  Miguel de Icaza  <miguel@gnu.org>

    * e-shell.c (e_shell_construct): Unref our copy, and then destroy.

    * e-splash.c (e_splash_set_icon_highlight): Do not execute code if
    we have been destroyed.
    (e_splash_add_icon): ditto.

2001-01-12  Miguel de Icaza  <miguel@gnu.org>

    * e-splash.c (e_splash_construct): Ok, talked to Ettore.  Going
    back to TOPLEVEL non-POPUP.
    (e_splash_construct): Remove nice toplevel window.

2001-01-12  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-shell-component.c: Add member `copy_folder_fn' to
    `EvolutionShellComponentPrivate'.
    (init): Init to NULL.
    (impl_ShellComponent_async_copy_folder): New function,
    implementation for `::asyncCopyFolder'.
    (evolution_shell_component_construct): New arg @copy_folder_fn.
    Set the corresponding member in `EvolutionShellComponentPrivate'.
    (evolution_shell_component_new): New arg @copy_folder_fn.  Pass it
    to `evolution_shell_component_construct'.

    * evolution-shell-component.h: New type
    `EvolutionShellComponentCopyFolderFn'.

2001-01-12  Ettore Perazzoli  <ettore@helixcode.com>

    * Evolution-ShellComponent.idl: Add method `::removeFolderAsync'.

2001-01-12  Ettore Perazzoli  <ettore@ximian.com>

    * evolution-shell-component.c (corba_class_init):
    s/addFolderAsync/createFolderAsync/.

    * evolution-shell-component-client.c
    (evolution_shell_component_client_async_create_folder):
    s/addFolderAsync/createFolderAsync/.

    * Evolution-ShellComponent.idl: Rename `addFolder' into
    `createFolder'.

2001-01-12  Dan Winship  <danw@ximian.com>

    * importer/.cvsignore: Create

2001-01-12  Miguel de Icaza  <miguel@ximian.com>

    * e-storage-set-view.c: Added translation strings.

    * e-shell-view-menu.c (command_about_box): Update our name
    (command_new_mail_message): Remove "window"
    from the moniker path.

    * e-splash.c (e_splash_construct): Make the spalsh screen a
    toplevel instead of a popup.

2001-01-11  Dan Winship  <danw@ximian.com>

    * e-shell-view.c (show_existing_view): Remove the "Already have
    view for..." message. People keep assuming it's an error.

2001-01-11  Iain Holmes  <iain@ximian.com>

    * importer/*: New directory containing the importer framework.

    * e-shell-view-menu.c (file_verbs): Add the FileImporter verb.

2001-01-10  Miguel de Icaza  <miguel@helixcode.com>

    * e-shell-view-menu.c (command_goto_folder): Fix prototype
    (command_new_view): ditto.
    (command_new_mail_message): Implement command_new_mail_message.

    verbs: Use BONOBO_UI_VERB instead of BONOBO_UI_UNSAFE_VERB

2001-01-04  Dan Winship  <danw@helixcode.com>

    * evolution-storage.c (evolution_storage_update_folder_by_uri):
    New function to update a folder given its URI. Plus associated
    changes to other functions to keep track of the path<->URI
    mappings.

2000-12-28  Ettore Perazzoli  <ettore@helixcode.com>

    * evolution-shell-client.c (user_select_folder): Make sure the
    `*uri_return' and `*physical_uri_return' are always initialized on
    return, as that's what the caller expects.

2000-12-23  Jason Leach  <jasonleach@usa.net>

    * e-shell-view-menu.c (command_run_bugbuddy): Fix a crash when the
    user tries to "Submit bug report" but doesn't have bug-buddy
    installed.  Bug #633.

2000-12-23  Jason Leach  <jasonleach@usa.net>

    * e-setup.c (copy_default_stuff): Make the "Evolution
    installation" dialog resizable. Bug #742.
    (check_evolution_directory): Here too.

2000-12-14  Iain Holmes  <iain@helixcode.com>

    * e-shell-folder-selection-dialog.c (dbl_click_cb): Modify to suit the
    new double click callback signature. Destroy the dialog after the double
    click as well.

2000-12-14  Ettore Perazzoli  <ettore@helixcode.com>

    * main.c (development_warning): Slightly updated the text for the
    release.

2000-12-14  Ettore Perazzoli  <ettore@helixcode.com>

    * e-splash.c (ICON_Y): Update for the size of the new splash.

2000-12-12  Jeffrey Stedfast  <fejj@helixcode.com>

    * e-splash.c (button_press_event): Return TRUE as we have handled
    the event.

2000-12-12  Dan Winship  <danw@helixcode.com>

    * e-shell-view.c (get_control_for_uri): Pass path+1 rather than
    path to get_type_for_storage, to match the convention used by its
    other callers.

2000-12-11  Jeffrey Stedfast  <fejj@helixcode.com>

    * e-splash.c (e_splash_construct): Connect a button-press-event
    signal on the splash screen so users can click it to hide it.
    (button_press_event): New callback to hide the splash screen.

2000-12-11  Dan Winship  <danw@helixcode.com>

    * e-shell-view.c (get_type_for_{folder,storage}): return NULL if
    no {folder,storage} is found.
    (get_control_for_uri): return NULL if no folder_type is found.

2000-12-08  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shortcuts-view.c (e_shortcuts_view_construct): Ooops.  We were
    reffing a bogus pointer that was not assigned yet.

    * e-corba-storage-registry.c (impl_StorageRegistry_addStorage):
    Updated according to the new IDL.

    * e-local-storage.c (construct): Pass `NULL' to
    `e_storage_construct' as the @toplevel_node_type arg.

    * evolution-shell-component-client.c
    (evolution_shell_component_client_new_for_objref): New.
    (evolution_shell_component_client_new): Refactored to use it.

    * e-corba-storage.c (e_corba_storage_construct): New arg
    @toplevel_node_type.  Pass it to `e_storage_construct'.
    (e_corba_storage_new): New arg @toplevel_node_type.  Pass it to
    `e_corba_storage_construct'.

    * e-storage.c: New member `toplevel_node_uri_type' in
    `EStoragePrivate'.
    (init): Init to NULL.
    (destroy): Unref.
    (e_storage_construct): New arg @toplevel_node_type.  Set the
    private member value accordingly.
    (e_storage_new): New arg @toplevel_node_type.  Pass to
    `e_storage_construct'.
    (e_storage_get_toplevel_node_type): New.

    * e-shell-view.c (get_physical_uri_for_evolution_uri): New arg
    @shell_view.
    (get_physical_uri_for_storage): Filled in.  New arg @shell_view.
    (get_physical_uri_for_folder): Filled in.  New arg @shell_view.

    * evolution-local-storage.c (evolution_local_storage_construct):
    Pass `NULL' as the @toplevel_node_type arg to
    `evolution_storage_construct'.

    * evolution-storage.c: New member `toplevel_node_type' in
    `EvolutionStoragePrivate'.
    (destroy): Free.
    (init): Init to NULL.
    (evolution_storage_construct): New arg @toplevel_node_handler
    to initialize the corresponding field in `->priv'.
    (evolution_storage_new): New arg @toplevel_node_type.  Pass
    it to `evolution_storage_construct'.
    (evolution_storage_register): Pass the @toplevel_node_type
    arg to `::addStorage'.

    * Evolution-Storage.idl: Add arg @toplevel_node_type to
    `StorageRegistry::addStorage'.

    * main.c (new_view_on_running_shell): Deal with an exception in
    `::createNewView' gracefully.

    * e-shell-view.c (switch_on_folder_tree_click): New.
    (folder_selected_cb): Refactored to use it.
    (storage_selected_cb): Use it.

2000-12-07  Michael Meeks  <michael@helixcode.com>

    * Makefile.am (oaf_DATA): update to GNOME_Evolution_Shell.oafinfo

    * e-shell.h: upd.

2000-12-04  Ettore Perazzoli  <ettore@helixcode.com>

    * Evolution-StorageSetView.idl: Arg @uri renamed to @name in
    `StorageSetViewListener::notifyStorageSelected'.

    * evolution-storage-set-view.c
    (storage_set_view_widget_storage_selected_cb): Renamed arg @uri to
    @name.

    * e-storage-set-view.c (on_cursor_change): Only emit the name of
    the storage for the "storage_selected" signal [i.e. remove the
    leading slash].

    * e-shell-view.c (storage_selected_cb): New callback for the
    "storage_selected" signal on the EStorageSetView used for the
    folder tree.
    (setup_storage_set_subwindow): Connect it.

    * evolution-local-storage.c (evolution_local_storage_construct):
    Pass NULL as the @toplevel_node_uri arg to
    `evolution_storage_construct()'.

    * evolution-storage.c: New member `toplevel_node_uri' in
    `EvolutionStoragePrivate'.
    (init): Init to NULL.
    (destroy): Free.
    (evolution_storage_construct): New arg @toplevel_node_uri.  Set
    the @toplevel_node_uri member in the private part to its value.
    (evolution_storage_new): New arg @toplevel_node_uri.  Pass it to
    `evolution_storage_construct()'.
    (evolution_storage_register): Pass the @toplevel_node_uri value to
    the `::addStorage' CORBA method.

    * e-corba-storage-registry.c (impl_StorageRegistry_addStorage):
    New arg @toplevel_node_uri, to go with the IDL change.

    * Evolution-Storage.idl (StorageRegistry::addStorage): New arg
    @toplevel_node_uri.

    * e-local-storage.c (construct): Pass NULL as the
    @toplevel_node_uri arg to `e_storage_construct()'.

    * e-corba-storage.c (e_corba_storage_construct): New arg
    @toplevel_node_uri.  Pass it to `e_storage_construct()'.
    (e_corba_storage_new): New arg @toplevel_node_uri.  Pass it to
    `e_corba_storage_construct()'.

    * e-storage.c: New member `toplevel_node_uri' in
    `EStoragePrivate'.
    (init): Init to NULL.
    (destroy): Free.
    (e_storage_construct): New arg @toplevel_node_uri.  Set the
    `toplevel_node_uri' member in the private part to its value.
    (e_storage_new): New arg @toplevel_node_uri.  Pass it to
    `e_storage_construct()'.
    (e_storage_get_toplevel_node_uri): New.

    * e-corba-storage-registry.c (impl_StorageRegistry_addStorage):
    Renamed from `impl_StorageRegistry_register_storage'.
    (impl_StorageRegistry_removeStorageByName): Renamed from
    `impl_StorageRegistry_unregister_storage'.
    (corba_class_init): Updated accordingly.

2000-12-04  Ettore Perazzoli  <ettore@helixcode.com>

    * main.c (new_view_on_running_shell): Don't crash if the object
    returned from `oaf_activate_from_id' is NIL and the exception
    isn't set.  Just handle this as a normal error condition.

2000-12-04  Michael Meeks  <michael@helixcode.com>

    * e-shell-view.c (get_control_for_uri): return NULL if we can't
    create a view.
    (setup_evolution_shell_view_interface): add precondition.

2000-12-04  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shortcuts-view.c (e_shortcuts_view_construct): Ref the
    shortcuts.

    * main.c (new_view_on_running_shell): New.
    (idle_cb): If the shell cannot be created, then call
    `new_view_on_running_shell'.

    * e-shell-view.c: New member `shell_view_interface' in
    `EShellViewPrivate'.
    (init): Init to NULL.
    (setup_evolution_shell_view_interface): Set up.
    (destroy): Unref.

    * e-shell.c (impl_Shell_getComponentByType): Renamed from
    `impl_Shell_get_component_for_type'.
    (impl_Shell_selectUserFolder): Renamed from
    `impl_Shell_user_select_folder'.
    (impl_Shell_getLocalStorage): Renamed from
    `impl_Shell_get_local_storage'.
    (impl_Shell_createStorageSetView): Renamed from
    `impl_Shell_create_storage_set_view'.
    (corba_class_init): Updated accordingly.
    (impl_Shell_createNewView): New, implementation for the
    `createNewView' CORBA method.
    (corba_class_init): Install it.

    * Evolution-Shell.idl: New method `::createNewView'.

    * e-shell.c (register_shell): New.
    (e_shell_construct): Return value changed to `gboolean'.  New arg
    @iid.  Construct the Bonobo object before displaying the splash,
    then try to register it with the specified @iid.  If registration
    fails, return %FALSE.  Otherwise, just do everything normally and
    return %TRUE.
    (e_shell_new): Pass the OAFIID to `e_shell_construct()'.  If it
    fails, unref the object and return NULL.

    * evolution.oafinfo: New.

2000-11-27  JP Rosevear  <jpr@helixcode.com>

    * e-shell-view-menu.c (command_about_box): Add myself, anna, jesse

2000-11-15  Michael Meeks  <michael@helixcode.com>

    * e-shell.c (e_shell_component_maybe_crashed): de-register
    a component's UI if it dies.

2000-11-25  Peter Williams  <peterw@helixcode.com>

    * Makefile.am (idldir): Install our IDL's into $(datadir)/idl.

2000-11-25  Federico Mena Quintero  <federico@helixcode.com>

    * e-setup.c (check_dir_recur): Plug leaks of the fullname and
    fulldefaultname.
    (check_evolution_directory): Plug leaks of defaultdir and newfiles
    and the list's data; made the code have a single return point.

    * e-shell.c (e_shell_restore_from_settings): Plug leak of prefix.
    (corba_class_init): Plug leak; we were not assigning the
    vepv->_base_epv.

    * evolution-storage.c (corba_class_init): Likewise.

    * evolution-local-storage.c (corba_class_init): Likewise.

2000-11-24  Federico Mena Quintero  <federico@helixcode.com>

    * evolution-shell-component.c
    (impl_ShellComponent__get_supported_types): Plug leak; mark the
    CORBA sequence so that it will be released.

2000-11-14  Michael Meeks  <michael@helixcode.com>

    * e-shell-view.c (unmerge_on_error): add
    (e_shell_view_construct): hook up to system_exception on
    ui_container.

2000-11-11  Matt Bissiri  <bissiri@eecs.umich.edu>

    * e-shell.c: (setup_components), (save_settings_for_component):
    * evolution-storage.c: (evolution_storage_register_on_shell):
    Update the remaining "IDL:Evolution*" to "IDL:GNOME/Evolution*"
    to sync up with yesterday's IDL re-scoping.

2000-11-06  Michael Meeks  <michael@helixcode.com>

    * e-shell-view.c (unrealize): remove.
    (e_shell_view_construct): ditto.

2000-11-09  Christopher James Lahey  <clahey@helixcode.com>

    * e-shell-view.c: Make the panes of the EPaned not shrinkable
    beyond their minimum size.

2000-11-08  Matt Bissiri  <bissiri@eecs.umich.edu>

    * e-shell-folder-selection-dialog.c: Fix typo in a comment.

2000-11-06  Dan Winship  <danw@helixcode.com>

    * e-storage-set-view.c (insert_folders): Pass full_name, not
    folder_name to callback.

2000-11-06  Ettore Perazzoli  <ettore@helixcode.com>

    * evolution-shell-view.c (impl_ShellView_change_current_view):
    Constified @uri.
    (impl_ShellView_set_title): Constified @title.

2000-11-06  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell.c: New member `crash_type_names' in `EShellPrivate'.
    (init): Init to NULL.
    (destroy): Free.
    (e_shell_component_maybe_crashed): New.

2000-11-06  Ettore Perazzoli  <ettore@helixcode.com>

    * evolution-shell-component.c (impl_ShellComponent_create_view):
    `CORBA_Object_duplicate()' the return value.

2000-11-06  Kjartan Maraas  <kmaraas@gnome.org>

    * e-setup.c: Added #include <config.h>
    
2000-11-03  Ettore Perazzoli  <ettore@helixcode.com>

    * main.c: New local static variables `evolution_directory',
    `no_splash'.
    (main): Removed local variable `evolution_directory'.  Add a
    `--no-splash' command-line option for setting the value of
    `no_splash'.
    (idle_cb): Use the static `evolution_directory'.  Make the newly
    created shell show the splash or not according to the value of
    `no_splash'.

    * e-shell.c (setup_components): Deal with a NULL @splash
    parameter.
    (e_shell_construct): New arg `show_splash'.  Don't create a splash
    screen if FALSE; instead, pass NULL to `setup_components()' as the
    @splash arg.
    (e_shell_new): New arg `show_splash'.  Pass it to
    `e_shell_construct()'.

2000-11-03  Dan Winship  <danw@helixcode.com>

    * evolution-storage-listener.c (class_init): Fix the name of the
    signal passed to gtk_signal_new so that this actually works.

2000-11-01  Dan Winship  <danw@helixcode.com>

    * evolution-storage.c (evolution_storage_new_folder): Make this
    take "highlighted" as well.

    * e-local-storage.c (new_folder): 
    * e-corba-storage.c (impl_StorageListener_new_folder): set
    highlighted on the new folder.

    * e-storage-set-view.c (updated_folder_cb): Remove an unused
    variable.

2000-10-26  Iain Holmes  <iain@helixcode.com>

    * Evolution-ShellView.idl: Added a change_current_view method and 
    a set_title.

    * evolution-shell-view.c (class_init): Added signals for the above methods.
    (impl_ShellView_change_current_view), (impl_ShellView_set_title): Implementations
    for above methods.
    (corba_class_init): Connect the implemenations.

    * e-shell-view.c (shell_view_interface_change_current_view): Change
    the display to the new uri.
    (shell_view_interface_set_title): Set the window title.
    (setup_evolution_shell_view_interface): Connect the signals to the above
    functions.

2000-11-01  Dan Winship  <danw@helixcode.com>

    * Evolution-Storage.idl: Add "highligted" field to Folder. Add
    update_folder method to StorageListener to change display_name and
    highlight status.

    * e-folder.c: Add "highlighted" to EFolder to match the
    Evolution::Folder type.
    (e_folder_get_highlighted, e_folder_set_highlighted): Added

    * evolution-storage-listener.c
    (impl_Evolution_StorageListener_update_folder, etc):
    * e-storage.c (e_storage_updated_folder, etc):
    * e-corba-storage.c (impl_StorageListener_update_folder, etc):
    Implement update_folder.

    * e-storage-set.c (storage_updated_folder_cb, etc): Re-emit
    updated_folder signals received from EStorage.

    * e-storage-set-view.c (various): Add another model column to the
    ETable and set it up as a bold_column based on
    e_folder_get_highligted.
    (updated_folder_cb, etc): Listen to EStorageSet update_folder
    signal and emit ETree node_changed signals.

    * evolution-storage.c (evolution_storage_update_folder): Client
    function to update a folder's display_name and highlighted status.

    * Evolution-LocalStorage.idl:
    * evolution-local-storage.c: 
    * e-local-storage.c: Change set_display_name to update_folder to
    match Evolution::StorageListener

2000-10-25    <jpr@helixcode.com>

    * e-shortcuts-view-model.c (load_group_into_model): Set folder to NULL to
    kill warning

2000-10-23  Dan Winship  <danw@helixcode.com>

    * Makefile.am (INCLUDES): Update EVOLUTION_LOCALEDIR

2000-10-20  Michael Meeks  <michael@helixcode.com>

    * evolution-shell-component-client.c
    (evolution_shell_component_client_populate_folder_context_menu),
    (evolution_shell_component_client_create_view): update to new UI handler

    * e-shell-view-menu.c (command_create_folder): ditto.

    * e-storage-set-view.c (popup_folder_menu): ditto.

    * evolution-shell-component-client.h: kill ui-compat include.

2000-10-19  Iain Holmes  <iain@helixcode.com>

    *e-shell-view.c (e_shell_view_save_settings): If there is no view
        save the default uri instead.
        (socket_destroy_cb): When a view crashes, change the view to the
        default one.

2000-10-18  Michael Meeks  <michael@helixcode.com>

    * evolution-shell-component.c (impl_ShellComponent_populate_folder_context_menu):
    update for new UI handler.

2000-10-18  Iain Holmes  <iain@helixcode.com>

    * e-shell-view.c (start_progress_bar): If the widget is not realized
    don't do anything, to prevent BadGC's at shut down.
    (stop_progress_bar): Don't draw anything if the widget is not realized.
    Same reason.

    * e-shell-folder-selection-dialog.c (dbl_click_cb): Emit the
    folder-selected signal.
    (e_shell_folder_selection_dialog_construct): Connect to the e-table's
    double-click signal.

2000-10-17  Iain Holmes  <iain@helixcode.com>
    
    * e-shell.c (view_deleted_cb): Save the settings before the
    view is destroyed.
    (e_shell_quit): Don't save the settings when there are no views.

2000-10-16  Iain Holmes  <iain@helixcode.com>

    * e-setup.c (check_evolution_directory): Better dialog.

    * e-splash.c (icon_free): Don't unref the canvas item.
    (e_splash_construct): Add a frame round the splash screen.

2000-10-16  Dan Winship  <danw@helixcode.com>

    * evolution-storage-set-view-factory.c
    (evolution_storage_set_view_factory_new_view): Add a typecast.

    * e-storage-set-view.c (popup_folder_menu): Move variable
    declarations into the #if 0 to kill warnings.
    (populate_folder_context_menu_with_common_items,
    folder_context_menu_activate_cb): Move these into #if 0 too.

    * e-shell.c: Add prototype.

    * e-shell-view.c (storage_set_view_box_map_cb): 
    * e-shell-folder-title-bar.c (e_shell_folder_title_bar_construct):
    Remove unused variables.

    * e-setup.c: Fix warning caused by e-util -> gal migration.

2000-10-11  Iain Holmes  <iain@helixcode.com>

    * e-setup.c (check_evolution_directory): Check if there are any
    files in default_user that are not in ~/evolution and if so
    copy them over.
    (check_dir_recur): Recursive function to check the directory.

    * e-shell-view-menu.c: Look Maw! I'm an Evolution hacker too.

    * e-shell-view.c: Don't quit on when a view is destroyed.

    * e-shell.c: Save the settings for the remaining views whenever
    a view is destroyed.

2000-10-15  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view.c (setup_storage_set_subwindow): Use an
    EScrollFrame instead of a GtkScrolledWindow.

2000-10-14  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell.c (e_shell_construct): Display a splash screen.
    (setup_components): New arg @splash, pointer to an ESplash.
    Display the icons of the components in the splash and highlight
    them as the components are activated.

    * e-splash.c: New.
    * e-splash.h: New.

2000-10-13  Anna Marie Dirks  <anna@helixcode.com>
    
    * e-shell-folder-creation-dialog.glade: Added focus to the
    folder-name text entry.

2000-10-11  Christopher James Lahey  <clahey@helixcode.com>

    * e-storage-set-view.c: Fixed the spec on this.

2000-10-11  Christopher James Lahey  <clahey@helixcode.com>

    * e-storage-set-view.c: Changed this to use the built in cells.

2000-10-11  Christopher James Lahey  <clahey@helixcode.com>

    * e-storage-set-view.c: Adapted this for the new ETable system.

2000-10-09  Michael Meeks  <michael@helixcode.com>

    * e-shell-view-menu.c: Change paths in such a way as to require
    HEAD bonobo.
    (command_toggle_folder_bar, command_toggle_shortcut_bar): only
    respond to state changes.

2000-10-07  Matt Wilson  <msw@redhat.com>

    * e-shell-view.c (init): initialize priv->sockets to NULL, fixes
    startup crash on non-ia32 platforms

2000-10-06  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view.c: New member `sockets.
    (init): Init to NULL.
    (destroy): Free.  Also, disconnect the "destroy" signal from them
    before the controls get destroyed.
    (find_socket): New function.  [Thanks Dan.]
    (socket_destroy_cb): New callback for the destruction of a socket.
    (get_control_for_uri): Get the socket through `find_socket()' and
    connect the "destroy" signal to `socket_destroy_cb'.

2000-10-06  Chris Toshok  <toshok@helixcode.com>

    * e-storage-set-view.c (insert_storages): call
    _set_compare_function after inserting the storage.

2000-10-06  Michael Meeks  <michael@helixcode.com>

    * e-shell-view.c (e_shell_view_display_uri): add a freeze / thaw
    pair to reduce flicker on switching controls.

2000-10-05  Michael Meeks  <michael@helixcode.com>

    * e-shell-view-menu.c (command_xml_dump): fix.

2000-10-05  Chris Toshok  <toshok@helixcode.com>

    * e-shell-folder-creation-dialog.c: #include <gal/widgets/e-gui-utils.h>
    
    * e-shell-folder-selection-dialog.c: same.

2000-10-05  Chris Toshok  <toshok@helixcode.com>

    * e-shell-folder-selection-dialog.c: add #include for
    libgnomeui/gnome-messagebox.h

2000-10-05  Michael Meeks  <michael@helixcode.com>

    * e-shell-view-menu.c (shortcut_bar_mode_changed_cb): upd.
    (folder_bar_mode_changed_cb): upd.
    (command_xml_dump): clobber.
    (e_shell_view_menu_setup): upd.

    * e-shell-view.c (shell_view_interface_set_message_cb): upd.
    (shell_view_interface_unset_message_cb): upd.
    (e_shell_view_construct): upd.
    (get_control_for_uri): upd.
    (e_shell_view_get_bonobo_ui_component): upd.

2000-10-04  Michael Meeks  <michael@helixcode.com>

    * e-shell-view.c (setup_progress_bar): remove evil usize set.

2000-10-03  Matt Bissiri  <bissiri@eecs.umich.edu>

    * e-shell-view-menu.c (e_shell_view_menu_setup): Use
    `bonobo_ui_component_add_verb_list' instead of
    `bonobo_ui_component_add_verb_list_with_data' for help_verbs,
    so that `command_help' gets an html filename as user_data,
    instead of a ptr to EShellView.
    (menu_do_misc): Move DumpXML from help_verbs to here, because
    `command_xml_dump' needs to get EShellView as user_data.

2000-10-02  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shortcuts-view.c (show_new_group_dialog): Destroy the dialog
    if the user has clicked on "OK" or "Cancel".

2000-10-02  Chris Toshok  <toshok@helixcode.com>

    * e-storage-set-view.c (e_storage_set_view_get_current_folder): if
    we're not displaying folders, the current folder is NULL.
    (class_init): fix typo.

    * Makefile.am (libeshell_a_SOURCES):
    evolution-storage-set-view-listener.[ch] should be here, not
    evolution_SOURCES.

2000-10-02  Chris Toshok  <toshok@helixcode.com>

    * evolution-storage-set-view.c: add storage_selected behavior -
    loop over the listeners calling _storage_selected.

    * Evolution-StorageSetView.idl: add storage_selected to the
    Listener interface.

    * e-storage-set-view.c add storage_selected signal.
    (on_cursor_change): if the depth is less than 2, emit
    "storage_selected", otherwise emit "folder_selected".

    * e-storage-set-view.h: add storage_selected signal.

    * evolution-storage-set-view-listener.h: add storage_selected
    signal.

    * evolution-storage-set-view-listener.c: add storage_selected
    signal.

2000-10-02  Ettore Perazzoli  <ettore@helixcode.com>

    * evolution-storage-set-view-listener.c: New.
    * evolution-storage-set-view-listener.h: New.

2000-10-02  Chris Toshok  <toshok@helixcode.com>

    * evolution-storage-set-view.c (impl_StorageSetView_add_listener): fix typo.
    (impl_StorageSetView_remove_listener): same.
    (impl_StorageSetView__get_show_folders): implementation of getter for show_folders.
    (impl_StorageSetView__set_show_folders): implementation of setter for show_folders.
    (corba_class_init): install _set_show_folders and _get_show_folders.

    * Evolution-StorageSetView.idl: add show_folders attribute to
    StorageSetView.

    * e-storage-set-view.h: add prototypes for
    e_storage_set_view_{get,set}_show_folders.

    * e-storage-set-view.c (insert_storages): split this code out from
    e_storage_set_view_construct so we can call it when "show_folders"
    has been changed.
    (e_storage_set_view_construct): remove the code to insert
    storages.
    (e_storage_set_view_set_show_folders): new function.  tears down
    existing tree and node/path hashtable and calls insert_storages.
    (e_storage_set_view_get_show_folders): new function, retrieves
    current show_folders state.

2000-10-02  Chris Toshok  <toshok@helixcode.com>

    * evolution-storage-set-view-factory.c
    (evolution_storage_set_view_factory_new_view): pass
    storage_set_view_interface as second argument to
    bonobo_object_add_interface, and call gtk_widget_show on the
    storage_set_view widget.

2000-10-03  Michael Meeks  <michael@helixcode.com>

    * e-shell-view.c (setup_bonobo_ui_handler): kill.

    * e-shell-view-menu.c (e_shell_view_menu_setup): strip
    out the XML UI merge; move it to

    * e-shell-view.c (e_shell_view_construct): here, +
    freeze / thaw pair.

    * e-shell-view.c (setup_progress_bar): impl.
    (setup_widgets): hook in.
    (progress_bar_timeout_cb): fix.
    (start_progress_bar): fix.
    (stop_progress_bar): fix.
    (e_shell_view_construct): setup ui handler first.

2000-09-22  Michael Meeks  <michael@helixcode.com>

    * e-shell-view-menu.c (e_shell_view_menu_setup): upd.

2000-10-02  Chris Toshok  <toshok@helixcode.com>

    * e-storage-set-view.c (new_folder_cb): set the new node's compare function.
    (insert_folders): same.

    (new_storage_cb): remove uunecessary cast.

2000-10-02  Chris Toshok  <toshok@helixcode.com>

    * e-storage-set-view.c (new_storage_cb): track e-tree sort api change.
    (treepath_compare): same.
    (new_folder_cb): same.
    
2000-10-02  Chris Toshok  <toshok@helixcode.com>

    * e-storage-set-view.c (e_storage_set_view_construct): pass NULL
    for the open/closed pixbuf of the tree renderer.  we'll let it
    supply the default.
    (destroy): remove the expanded/unexpanded pixbuf references.
    (new_storage_cb): use e_tree_model_node_insert_id so we can (soon)
    save expanded/collapsed state.
    (new_folder_cb): same.
    (insert_folders): same.
    (e_storage_set_view_construct): same.

2000-10-02  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell.c (impl_Shell_create_storage_set_view): New,
    implementation for `::create_storage_set_view'.
    (corba_class_init): Install.

    * evolution-storage-set-view-factory.c: New.
    * evolution-storage-set-view-factory.h: New.

    * evolution-storage-set-view.c: New.
    * evolution-storage-set-view.h: New.

    * Evolution-Shell.idl: New method
    `Shell::create_storage_set_view'.

    * Evolution.idl: #include <Evolution-StorageSetView.idl>.

    * Evolution-StorageSetView.idl: New.

2000-10-02  Ettore Perazzoli  <ettore@helixcode.com>

    * evolution-storage.c (find_listener_in_list): New helper
    function.
    (impl_Storage_remove_listener): New, implementation for
    `Storage::remove_listener'.
    (remove_listener): Helper function for
    `impl_Storage_remove_listener'.
    (evolution_storage_get_epv): Install the implementation for
    `::remove_listener'.
    (add_listener): Return a boolean indicating success or failure.
    Reject multiple additions of the same listener.
    (impl_Storage_add_listener): Updated accordingly: raise an
    exception if `add_listener' fails.

    * Evolution-Storage.idl: Added `Storage::remove_listener'.  Added
    exception `AlreadyListening' for `::add_listener'.

2000-09-29  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view.c (popup_storage_set_view_button_clicked): Renamed
    from `popup_storage_set_view_close_button_clicked'.
    (storage_set_view_box_map_cb): Updated accordingly.  Connect to
    "button_clicked" instead of "close_button_clicked".
    (disconnect_popup_signals): Updated accordingly.
    (e_shell_view_set_folder_bar_mode): Update the button mode of the
    title bar according to the folder bar mode.

2000-09-28  Dan Winship  <danw@helixcode.com>

    * e-corba-storage.c (impl_StorageListener_new_folder): Don't print
    "Folder registered successfully" if it didn't. (Duh. :)

2000-09-28  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view.c: New constant `DEFAULT_URI'.
    (e_shell_view_load_settings): If the `DisplayedURI' from
    `gnome_config' cannot be displayed, display the `DEFAULT_URI'.

2000-09-26  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shortcuts.c (e_shortcuts_get_group_title): Cast the data
    pointer, not the node pointer.
    (e_shortcuts_add_group): If @group_num is -1, emit the effective
    group number with the "new_group" signal instead of -1, which is
    going to confuse the signal handler.
    (e_shortcuts_add_shortcut): Likewise with the shortcut.

    * e-shortcuts-view-model.c (shortcuts_new_group_cb): We are @data,
    not @shortcuts.
    (class_init): Install the `::destroy' handler.

    * e-shortcuts-view.c (e_shortcuts_view_construct): Set
    `priv->shortcuts'.
    (remove_shortcut_cb): Don't remove the item both on the data and
    the model.
    (toggle_small_icons_cb): Removed some crufty checks.
    (toggle_large_icons_cb): Likewise.
    (show_new_group_dialog): New, implementation for the "Create new
    shortcut group" dialog.
    (destroy_group_cb): Callback for the "Destroy this group" item.
    (create_new_group): Callback for the "Create new group" item.

2000-09-25  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shortcuts-view.c (item_selected): Renamed from
    `selected_item'.
    (class_init): Updated accordingly.
    (impl_shortcut_dropped): New function, implementation for
    `EShortcutBar::shortcut_dropped'.
    (impl_shortcut_dragged): New function, implementation for
    `EShortcutBar::shortcut_dragged'.
    (e_shortcuts_view_construct): Update to use EShortcutsViewModel.
    (class_init): Install them.

    * e-shortcuts.c (e_shortcuts_get_group_title): New.

    * e-shortcuts-view-model.c: New.
    * e-shortcuts-view-model.h: New.

2000-09-24  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell.c (setup_local_storage): Don't unref the local storage.

2000-09-22  Michael Meeks  <michael@helixcode.com>

    * e-shell-view-menu.c (e_shell_view_menu_setup): upd.

2000-09-21  Federico Mena Quintero  <federico@helixcode.com>

    * e-shell-view-menu.c: Fix mis-spelling of "calendar".

2000-09-21  Michael Meeks  <michael@helixcode.com>

    * e-shell-view.c (show_existing_view): upd.

    * Evolution-ShellComponent.idl: upd.

    * evolution-shell-component.c (impl_ShellComponent_populate_folder_context_menu):
    upd.

2000-09-18  Michael Meeks  <michael@helixcode.com>

    * e-shell-view-menu.c (command_xml_dump): add xml dump option.

2000-09-18  Christopher James Lahey  <clahey@helixcode.com>

    * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and
    $(EXTRA_GNOME_LIBS).  Removed unneeded libraries.

    * e-component-registry.c, e-corba-storage-registry.c,
    e-corba-storage.c, e-folder-type-registry.c, e-folder.c,
    e-local-folder.c, e-local-storage.c,
    e-shell-folder-creation-dialog.c,
    e-shell-folder-selection-dialog.c, e-shell-folder-title-bar.c,
    e-shell-view.c, e-shell.c, e-shortcuts-view.c, e-shortcuts.c,
    e-storage-set-view.c, e-storage-set-view.h, e-storage-set.c,
    e-storage.c, evolution-local-storage.c, evolution-session.c,
    evolution-shell-client.c, evolution-shell-component-client.c,
    evolution-shell-component.c, evolution-shell-view.c,
    evolution-storage-listener.c, evolution-storage.c, main.c: Fixed
    the #include lines to deal properly with gal.

2000-09-16  Michael Meeks  <michael@helixcode.com>

    * e-shell-view-menu.c (e_shell_view_menu_setup): use datadir.

2000-09-16  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view.h: #include "bonobo-win.h", not "bonobo-app.h".

2000-09-15  Dan Winship  <danw@helixcode.com>

    * e-storage.c (get_path_for_physical_uri_foreach): foreach_data
    should be set to the caller-supplied data, not the tree item data.

2000-09-14  Iain Holmes  <iain@helixcode.com>

    * e-shell-folder-title-bar.c (e_shell_folder_title_bar_construct):
    Remove the *kludge* so that the button width is set properly.
    Fixes bug #XXXX

2000-09-14  Michael Meeks  <michael@helixcode.com>

    * e-shell-view-menu.c: Remove sillies in toggle paths.

2000-09-14  Michael Meeks  <michael@helixcode.com>

    * e-shell-view.c: move fn to bonobo.

2000-09-14  Christopher James Lahey  <clahey@helixcode.com>

    * Makefile.am: Added $(GNOME_PRINT_LIBS) to evolution_LDADD.

2000-09-14  Michael Meeks  <michael@helixcode.com>

    * e-shell-view.c (e_shell_view_construct): prune cruft.
    (shell_view_interface_unset_message_cb),
    (shell_view_interface_set_message_cb): impl.

2000-09-14  Michael Meeks  <michael@helixcode.com>

    * e-shell-view-menu.c (e_shell_view_menu_setup): re-order to suit and
    add freeze / thaw, update paths to toggles, remove warnings

2000-09-07  Michael Meeks  <michael@helixcode.com>

    * e-shell-view-menu.c: Re-hash pretty much the whole file

    * ui.xml: Add.

    * e-shell-view.c (e_shell_view_construct): connect unrealize & delete_event
    to theit signals on the window (class_init): remove widget_class bits.

2000-09-06  Michael Meeks  <michael@helixcode.com>

    * e-shell.c (view_destroy_cb, destroy, e_shell_new_view, e_shell_quit): 
    update to track object type change.

    * e-shell.c (e_shell_restore_from_settings): ditto.

    * main.c (idle_cb): ditto.

    * e-shell-view.c (e_shell_view_new, e_shell_view_construct, setup_widgets): 
    updated for BonoboApp.
    (progress_bar_timeout_cb, start_progress_bar, stop_progress_bar),
    (shell_view_interface_set_message_cb, shell_view_interface_unset_message_cb): 
    emasculated for now.

    * e-storage-set-view.c (popup_folder_menu): disable popup menu for now.

2000-09-13  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view.c (popdown_transient_folder_bar): New.
    (storage_set_view_box_button_release_event_cb): Rewritten to use
    it.
    (folder_selected_cb): Pop down the transient folder bar if the
    folder bar mode is `TRANSIENT'.

2000-09-12  Ettore Perazzoli  <ettore@helixcode.com>

    * ($(IDL_GENERATED)): Stupid `orbit-idl' wants a space after the
    `-I'.

2000-09-12  Lauris Kaplinski  <lauris@helixcode.com>

    * e-shell-view.c (update_folder_title_bar): Translate UTF-8

2000-09-12  Ettore Perazzoli  <ettore@helixcode.com>

    * Makefile.am: Remove the `ui.xml' stuff.

2000-09-11  Dan Winship  <danw@helixcode.com>

    * main.c (main): Initialize libunicode

2000-09-11  Christopher James Lahey  <clahey@helixcode.com>

    * e-local-storage.c: Fixed some warnings.

2000-09-11  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-folder-selection-dialog.c (set_default_folder): Work on
    the assumption that @default_uri is not NULL.
    (e_shell_folder_selection_dialog_construct): Only call if the
    @default_uri is not NULL.

2000-09-11  Ettore Perazzoli  <ettore@helixcode.com>

    * e-local-storage.c (new_folder): Removed debugging message.

2000-09-11  Ettore Perazzoli  <ettore@helixcode.com>

    * evolution-storage.c (evolution_storage_new_folder): If
    description is NULL, use the empty string instead.

    * e-local-storage.c (new_folder): New utility function to add a
    new folder by keeping both the Bonobo interface and the EStorage
    up-to-date.
    (load_folders): Use it here instead of just
    `e_storage_new_folder()'.
    (component_async_create_folder_callback): Likewise.

    * e-shell-view.c (update_for_current_uri): Prevent an
    EStorageSetView warning if the path is NULL.

    * evolution-storage.c (impl_Storage_add_listener): New,
    implementation for `Evolution::Storage::add_listener'.
    (evolution_storage_get_epv): Install it.

    * evolution-storage-listener.c
    (evolution_storage_listener_corba_objref): New.
    (create_servant): Create the servant with `g_new0()' instead of
    `g_new()'.

2000-09-11  Ettore Perazzoli  <ettore@helixcode.com>

    * evolution-storage-listener.c
    (evolution_storage_listener_construct): Unset the `GTK_FLOATING'
    flag as `EvolutionStorageListener' is self-owned.

2000-09-11  Ettore Perazzoli  <ettore@helixcode.com>

    * e-storage.c (impl_list_folders): Removed.
    (impl_get_subfolder_paths): New static function, implementation
    for `::get_subfolder_paths'.
    (class_init): Install it.
    (e_storage_get_subfolder_paths): New.

    * e-storage.h: `list_folders' virtual method removed.  New virtual
    method `list_subfolder_paths'.

    * e-storage-set-view.c (etree_icon_at): If the folder is not
    found, return NULL.

    * e-local-storage.c (bonobo_interface_set_display_name_cb): New
    function, callback for the `set_display_name' signal on the
    EvolutionLocalStorage.
    (construct): Connect it.

    * e-storage-set-view.c (folder_changed_cb): New callback for the
    "changed" signal emitted by the EFolders.  It makes the model emit
    the "changed" signal for the appropriate row.
    (insert_folders): Connect it.

2000-09-09  Ettore Perazzoli  <ettore@helixcode.com>

    * e-storage-set-view.c (etree_value_at): Return the name of the
    folder or the storage instead of just returning the last segment
    of the path.

    * e-storage-set.c (e_storage_set_get_folder): If the storage is
    not found, just return NULL to avoid a g_warning.

2000-09-09  Christopher James Lahey  <clahey@helixcode.com>

    * e-shell-view.c: Fixed some warnings.

2000-09-09  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view.c (update_for_current_uri): Make sure `folder_name'
    is always dynamically allocated, as we `g_free()' it.

2000-09-08  Lauris Kaplinski  <lauris@helixcode.com>

    * e-shell-view.c (update_for_current_uri): Translate UTF-8 string

2000-09-08  Ettore Perazzoli  <ettore@helixcode.com>

    * evolution-storage.c (list_through_listener_foreach): Don't crash
    on nodes with no data.  [The root node has none indeed.]

2000-09-08  Ettore Perazzoli  <ettore@helixcode.com>

    * e-folder-tree.c (e_folder_tree_get_folder): Return NULL if there
    is no folder with that @path, instead of segfaulting.

2000-09-08  Ettore Perazzoli  <ettore@helixcode.com>

    * evolution-storage.c: New member `folder_tree' in
    `EvolutionStoragePrivate'.
    (init): Initialize it.
    (destroy): Destroy it.
    (list_through_listener): New.
    (add_listener): Use it to list all the current folders through the
    listener.
    (evolution_storage_new_folder): Add the thingie to the
    `folder_tree'.
    (evolution_storage_removed_folder): Remove the thingie from the
    `folder_tree'.

2000-09-08  Ettore Perazzoli  <ettore@helixcode.com>

    * e-storage.c: Replaced the `path_to_folder' GHashTable with an
    EFolderTree named `folder_tree'.
    (init): Updated accordingly.
    (destroy): Updated accordingly.
    (free_private): Removed.
    (remove_folder): Removed.
    (folder_new): Removed.
    (folder_remove_subfolder): Removed.
    (folder_add_subfolder): Removed.
    (folder_destroy): Removed.
    (get_parent_path): Removed.
    (impl_list_folders): Reimplemented by using the `EFolderTree'
    methods.
    (e_storage_construct): Don't create the root folder here.
    (get_path_for_physical_uri_foreach): Updated to be an
    `EFolderTreeForeachFunc'.
    (e_storage_get_path_for_physical_uri): Likewise, updated to use
    `e_folder_tree_foreach()'.
    (e_storage_new_folder): Updated to use the EFolderTree.
    (e_storage_removed_folder): Likewise.
    (folder_destroy_notify): New function, for the destroy
    notification of `EFolder'.

    * evolution-storage-listener.c: Change the `servant' member in
    `EvolutionStorageListenerPrivate' into an
    `EvolutionStorageListenerServant'.

    * e-folder-tree.c: New.
    * e-folder-tree.h: New.

2000-09-08  Ettore Perazzoli  <ettore@helixcode.com>

    * evolution-storage-listener.c (create_servant): Return an
    `EvolutionStorageListenerServant' instead of a
    `POA_Evolution_StorageListener'.
    (evolution_storage_listener_new): Add a cast accordingly.

    * evolution-storage.c (corba_class_init): Remove `NO_WARNINGS'
    madness.

2000-09-08  Christopher James Lahey  <clahey@helixcode.com>

    * e-storage-set-view.c: Added base ETableModel functions.

    * evolution-storage-listener.c, evolution-storage.c: Fixed some
    warnings.

2000-09-08  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell.c (set_owner_on_components): New.
    (e_shell_construct): Call it after setting up the local storage.

    * e-component-registry.c (register_component): Don't set the owner
    here.

    * evolution-shell-client.c
    (evolution_shell_client_get_local_storage): New.

2000-09-08  Ettore Perazzoli  <ettore@helixcode.com>

    * evolution-shell-view.c (destroy): Chain to the parent's
    destroy method.

    * evolution-shell-component.c (destroy): Chain to the parent's
    destroy method.

    * evolution-storage.c: `corba_storage_listener' in
    `EvolutionStoragePrivate' replaced with a list of listeners,
    `corba_storage_listeners'.
    (init): Init to NULL.
    (add_listener): New utility function.
    (destroy): Destroy all the listeners.
    (evolution_storage_new_folder): Notify all the listeners.
    (evolution_storage_removed_folder): Likewise.

    * e-local-storage.c: New member `bonobo_interface' in
    `ELocalStoragePrivate'.
    (init): Init to NULL.
    (e_local_storage_get_corba_interface): New.

    * e-shell.c: New member `local_storage' in `EShellPrivate'.
    (init): Init to NULL.
    (setup_local_storage): Make it point to the newly created local
    storage.
    (destroy): Unref if not NULL.
    (impl_Shell_get_local_storage): New, implementation for
    `Evolution::Shell::get_local_storage'.
    (corba_class_init): Set it up.

    * evolution-local-storage-client.c: New.
    * evolution-local-storage-client.h: New.
    * evolution-local-storage.c: New.
    * evolution-local-storage.h: New.
    * evolution-storage-listener.c: New.
    * evolution-storage-listener.h: New.

    * Evolution-Storage.idl: New method `Storage::add_listener'.

    * Evolution-Shell.idl: New method `Shell::get_local_storage'.

    * Evolution-LocalStorage.idl: New.

2000-09-02  Lauris Kaplinski  <lauris@helixcode.com>

    * e-shell-folder-creation-dialog.c: Use e_utf8 wrappers

2000-09-01  Chris Toshok  <toshok@helixcode.com>

    * e-storage-set-view.c (removed_folder_cb): free node_data.
    (removed_storage_cb): same.
    (new_storage_cb): don't free the path we put in the node's
    node_data.
    (e_storage_set_view_set_current_folder): remove calls to
    set_cursor_row (-1), and clean up a little bit.

2000-09-01  Christopher James Lahey  <clahey@helixcode.com>

    * e-local-storage.c: Strdup path when setting the callback data.

    * evolution-storage.c: Removed an unused variable.

2000-08-31  Chris Toshok  <toshok@helixcode.com>

    * e-shell-view.c (init): initialize delayed_selection = NULL;

2000-09-01  Ettore Perazzoli  <ettore@helixcode.com>

    * evolution-storage.c (evolution_storage_new_folder): Handle @path
    as the full path.

    * e-storage.c (e_storage_new_folder): Consider @path to be the
    full path, not the parent path.
    * e-local-storage.c (load_folders): Updated accordingly.

    * Evolution-Storage.idl: Member `name' of `struct Folder' renamed
    to `display_name'.

2000-08-31  Chris Toshok  <toshok@helixcode.com>

    * e-shell-view.c: add delayed_selection to _EShellViewPrivate.
    (new_folder_cb): new function.  check if the path is our
    delayed_selection and if so, select it.
    (folder_selected_cb): if the user selects something using a UI
    gesture, clear out a pending delayed selection.
    (e_shell_view_display_uri): if the uri isn't available, save it in
    the delayed_selection field, and set up the new_folder signal.

2000-08-29  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view.c (shell_view_interface_set_message_cb): If the
    message contains a newline, only display the part until the
    newline, excluding the newline.  Otherwise the status bar resizes
    nastily.

2000-08-28  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell.c (setup_components): Removed the hardcoding of the
    shell component IDs.  Rather, do an OAF query looking for the
    `Evolution::ShellComponent' interface and activate all the
    components in the result.
    (MAIL_COMPONENT_ID): Removed.
    (CALENDAR_COMPONENT_ID): Removed.
    (ADDRESSBOOK_COMPONENT_ID): Removed.

    * e-storage-set-view.c: Make `sort_model' static.

2000-08-25  Chris Toshok  <toshok@helixcode.com>

    * e-storage-set-view.c: convert to use ETree instead of GtkCTree.

    * e-storage-set-view.h: change superclass from GtkCTree to ETable.

    * main.c (main): call e_cursors_init.

    * Makefile.am (evolution_LDADD): add libetable.a

2000-08-25  Peter Williams  <peterw@helixcode.com>

    Silence some obvious assertions.
    
    * e-shell.c (e_shell_construct): Ref our shortcut bar to
    sink it. Same with the folder_type_registry.

    * e-shell-folder-title-bar.c (destroy): Only attempt to unref
    priv->icon if nonnull.

    * e-shell-view.c (update_folder_title_bar): Don't attempt to set
    the folder_icon/_name if they're NULL.

2000-08-24  Ettore Perazzoli  <ettore@helixcode.com>

    * evolution-shell-component-client.c
    (evolution_shell_component_client_new): Don't abort if the
    component cannot be activated.  Rather, just return NULL.

2000-08-20  arik devens  <arik@helixcode.com>

    * Makefile.am (evolution_LDADD): Added UNICODE_LIBS to link in the
    new e-text stuff.

2000-08-19  Christopher James Lahey  <clahey@helixcode.com>

    * e-shell-folder-title-bar.c: Fixed a warning.

2000-08-19  Christopher James Lahey  <clahey@helixcode.com>

    * e-shell-view.c: Fixed a warning.

2000-08-18  Larry Ewing  <lewing@helixcode.com>

    * e-shell-folder-title-bar.c (style_set_cb): update the pixmap
    define E_USE_STYLES to disable the current darkening behavior
    (destroy): free the icon.
    (e_shell_folder_title_bar_construct): style_set_cb does everything
    important now.
    (e_shell_folder_title_bar_set_icon): actually store the pixbuf
    when we set it so that we still have it if the style changes and
    take care of refcounting them properly.

2000-08-17  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view-menu.c (menu_create_file): Make capitalization of
    menu items consistent.
    (menu_create_view): Likewise.
    (menu_create_help): Likewise.
    (e_shell_view_menu_setup): Create a component menu placeholder so
    that components can add their own component-specific menus there.
    (menu_create_actions): Removed.
    (e_shell_view_menu_setup): Don't call it.
    (menu_create_tools): Removed.
    (e_shell_view_menu_setup): Don't call it.
    (menu_create_settings): New.
    (e_shell_view_menu_setup): Call it.

2000-08-13  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view.c (delete_event): New.  Make the parent shell quit.

2000-08-13  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view.c (shell_view_interface_set_message_cb): Removed
    debugging message.
    (shell_view_interface_unset_message_cb): Likewise.

2000-08-13  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view.c: New members `progress_bar_timeout_id',
    `progress_bar_value' in `EShellViewPrivate'.
    (init): Init them.
    (destroy): If the timeout id is not zero, remove the associated
    timeout.
    (progress_bar_timeout_cb): New.
    (start_progress_bar): New.
    (stop_progress_bar): New.
    (shell_view_interface_set_message_cb): If busy, start the progress
    bar.  Otherwise, stop it.
    (shell_view_interface_unset_message_cb): Stop the progress bar.

    * e-shell-view.c (setup_widgets): Enable the progress bar in the
    appbar.

    * e-shell-view.c (shell_view_interface_unset_message_cb): New
    function, callback for the `EvolutionShellView::unset_message'
    signal.
    (shell_view_interface_set_message_cb): New function, callback for
    the `EvolutionShellView::set_message' signal.
    (setup_evolution_shell_view_interface): Connect these signals to a
    newly created EvolutionShellView object, add ::add_interface this
    object to the control's frame.

    * evolution-shell-view.c: New.
    * evolution-shell-view.h: New.

    * Evolution-ShellView.idl: New interface.

2000-08-10  Dan Winship  <danw@helixcode.com>

    * Evolution-ShellComponent.idl: add "in string evolution_homedir"
    to ShellComponent::set_owner's arguments.

    * e-shell.c (e_shell_get_local_directory): Expose local_directory.

    * e-component-registry.c (register_component): Pass the shell's
    "local_directory" to the component as its evolution_homedir.

    * evolution-shell-component.c (impl_ShellComponent_set_owner):
    Update to include evolution_homedir.
    (class_init): Update signal prototype.

    * evolution-shell-component-client.c
    (evolution_shell_component_client_set_owner): Update to include
    evolution_homedir.

    * e-init.c: Remove. This wasn't being used.

2000-08-10  Peter Williams  <peterw@helixcode.com>

    * e-shell-view-menu.c (command_about_box): Add lil' ol'
    me to the about box.

2000-08-09  Christopher James Lahey  <clahey@helixcode.com>

    * e-setup.c, e-shell.c: Fixed some warnings.

2000-08-09  Christopher James Lahey  <clahey@helixcode.com>

    * e-shell-view.c: Fixed a warning.

2000-08-09  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view-menu.c (menu_create_file_new): Create a placeholder
    for the print items.

2000-08-08  Dan Winship  <danw@helixcode.com>

    * e-setup.c (e_setup): Check for ~/evolution/shortcuts.xml in
    addition to ~/evolution, to make sure it's really the directory
    we're expecting it to be. Also, convert from old-style config file
    to new-style config directory.

2000-08-04  Michael Meeks  <michael@helixcode.com>

    * evolution-shell-component.c (impl_ShellComponent_populate_folder_context_menu):
    unref.

    * e-shell.c (e_shell_construct): Remove erroneous refs on
    folder_type_registry, storage_set.

    * e-shortcuts-view.c (destroy): unref the shortcuts, causing a
    massive ripple chain ref-count reaction.

2000-08-03  JP Rosevear  <jpr@helixcode.com>

    * e-shell.h: Remove gconf references

    * e-shell-view.h: Remove gconf references

    * main.c (idle_cb): Remove gconf references

    * Makefile.am: Remove gconf cflags and libs 

    * e-shell-view.c (e_shell_view_load_settings): Change to use
    gnome-config
    (e_shell_view_save_settings): ditto

    * e-shell.c (e_shell_restore_from_settings): Change to
    use gnome_config
    (save_settings_for_views): ditto

2000-08-03  Michael Meeks  <michael@helixcode.com>

    * e-shell-view.c (destroy): unref the UI handler.

2000-08-03  Jeffrey Stedfast  <fejj@helixcode.com>

    * e-shell-folder-selection-dialog.c (set_default_folder): Make
    sure default_uri isn't NULL!!

2000-08-03  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view-menu.c (command_goto_folder): Just use the current
    URI as the @default_uri parameter for
    `e_shell_folder_selection_dialog_new()'.

    * evolution-session.c (class_init): Call `corba_class_init()'.

    * e-shell-folder-selection-dialog.c
    (e_shell_folder_selection_dialog_new): @default_path renamed to
    @default_uri.
    (e_shell_folder_selection_dialog_construct): Likewise.  If the
    @default_uri is an `evolution:' one, use it as a path; if it is
    different, assume it is a physical URI and consequently look for
    the folder that has that physical URI and make it the default.
    (set_default_folder): New helper function.
    (e_shell_folder_selection_dialog_construct): Use it.

    * e-storage-set.c (e_storage_set_get_path_for_physical_uri): New.

    * e-storage.c (e_storage_get_path_for_physical_uri): New.

2000-07-27  Dan Winship  <danw@helixcode.com>

    * main.c (idle_cb): work with either gconf 0.5 or newer

2000-07-26  Peter Williams  <peterw@helixcode.com>

    * e-storage.c (e_storage_new_folder): Fix tiny mem leak.

2000-07-26  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view.c (disconnect_popup_signals): Disconnect the "map"
    signal handler too.

2000-07-25  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-folder-creation-dialog.c (add_folder_types): Work around
    GtkOptionMenu utter brokenness by destroying the associated
    Glade-built GtkMenu and creating a new one from scratch.

2000-07-24  Dan Winship  <danw@helixcode.com>

    * e-shell.c, main.c: Remove GOAD support.

    * evolution-shell-component-client.c: Remove GOAD support.
    (evolution_shell_component_client_new): Give the "maybe
    OAF_INFO_PATH" message if no oafinfo file was found, and give a
    "consult previous error messages" message if the component was
    found but not activated. Abort in either case.

2000-07-23  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view-menu.c: Converted to use `bonobo_ui_handler_*()'
    stuff directly, instead of converting from GnomeUIInfo.
    (command_quit): Update arg types for BonoboUIHandler.
    (command_run_bugbuddy): Likewise.
    (command_about_box): Likewise.
    (command_new_task): Removed.
    (command_new_journal_entry): Removed.
    (menu_create_file_new): New.
    (menu_create_file): New.
    (menu_create_edit): New.
    (menu_create_view): New.
    (menu_create_tools): New.
    (menu_create_actions): New.
    (e_shell_view_menu_setup): Create menus using them instead of
    converting from GnomeUIInfo.

2000-07-22  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell.c (e_shell_construct): Don't unref NULL shortcuts, you
    idiot.

2000-07-22  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view.c (e_shell_view_set_folder_bar_mode): Make the
    title bar non-clickable when the folder tree is visible.

    * e-shell-folder-title-bar.c: New members `button_arrow' and
    `clickable' in `EShellFolderTitleBarPrivate'.  Renamed `label'
    into `button_label'.  Added `label'.
    (init): Init them.
    (e_shell_folder_title_bar_construct): Pass a pointer to the title
    bar as the user data for the "realize" signal.  Create `label'.
    (title_button_box_realize_cb): Use the `button_arrow' member
    instead of using `gtk_object_{set,get}_data()'.
    (setup_style): Set the style for `label' too.
    (e_shell_folder_title_bar_set_clickable): New.
    (e_shell_folder_title_bar_set_title): Set both `label' and
    `button_label'.

2000-07-21  Peter Williams  <peterw@helixcode.com>

    * evolution-shell-client.c (user_select_folder): Don't use
    g_main_loop to block the caller; this will break when 
    threads are enabled and GDK_THREADS_ENTER deadlocks. Use
    gtk_main / gtk_main_exit to enter and exit the main loop,
    which handles the recursive case correctly.
    (impl_FolderSelectionListener_selected): Same.
    (impl_FolderSelectionListener_cancel): Same.
    (struct _FolderSelectionListenerServant): No more main_loop member.

2000-07-21  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view.c (storage_set_view_box_button_release_event_cb):
    Set the toggle state to FALSE on the title bar.

    * e-shell-folder-title-bar.c: Signal "title_clicked" replaced by
    "title_toggled".
    (setup_style): Change the style for the button too.
    (e_shell_folder_title_bar_construct): Use a GtkToggleButton, not a
    GtkButton.
    (e_shell_folder_title_bar_set_toggle_state): New.

2000-07-21  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-folder-title-bar.c (create_icon_pixmap): New.  Create a
    small arrow-shaped GtkPixmap.
    (title_button_box_realize_cb): New.  Callback for the "realize"
    signal of the button's inner box.

    * e-shell-view.c (title_bar_clicked_cb): New function, callback
    for the "title_clicked" signal of the title bar.
    (setup_widgets): Connect it.

    * e-shell-view.c: New member `storage_set_title_bar' in
    `EShellViewPrivate'.
    (setup_storage_set_subwindow): Set it.

    * e-shell-folder-title-bar.c: Use a GtkLabel instead of an
    EClippedLabel for the title.
    (title_button_clicked_cb): New.
    (e_shell_folder_title_bar_construct): Put the label into a button.
    Connect the button's "clicked" signal to
    `title_button_clicked_cb'.

2000-07-21  Ettore Perazzoli  <ettore@helixcode.com>

    * evolution-shell-component.c
    (impl_ShellComponent_populate_folder_context_menu): If the pointer
    to the function to populate the folder context menu is NULL, don't
    do anything.

2000-07-21  Ettore Perazzoli  <ettore@helixcode.com>

    * e-storage-set-view.c (popup_folder_menu): New.  Create a
    BonoboUIHandler-managed pop-up menu, let the component fill it in
    with `::populate_folder_context_menu', and display it.  Then
    destroy it with the associated BonoboUIHandler.
    (handle_right_button_selection): New.
    (handle_left_button_selection): New.  This pops up the right-click
    menu.
    (button_release_event): Use them.
    (init): Set the `GTK_BUTTON_SELECTS' flag for button #3's actions.

    * evolution-shell-component-client.c
    (evolution_shell_component_client_populate_folder_context_menu):
    New.
    (evolution_shell_component_client_async_create_folder): Added
    preconditions.

    * e-shell-view.c (e_shell_view_save_settings): Add missing cast.

    * evolution-shell-component.c: New member
    `populate_folder_context_menu' in
    `EvolutionShellComponentPrivate'.
    (impl_ShellComponent_populate_folder_context_menu): New,
    implementation for
    `Evolution::ShellComponent::populate_folder_context_menu'.
    (corba_class_init): Install it.
    (evolution_shell_component_new): New arg
    @populate_folder_context_menu.
    (evolution_shell_component_construct): Likewise.

    * Evolution-ShellComponent.idl: New method
    `::populate_folder_context_menu'.

2000-07-20  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view.c (e_shell_view_save_settings): Save the paned
    positions.
    (e_shell_view_load_settings): Restore them.

2000-07-20  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell.c (save_settings_for_views): New.  Code moved out of
    `e_shell_save_settings'.
    (e_shell_save_settings): Use it.
    (save_settings_for_component): New.
    (save_settings_for_components): New.
    (e_shell_save_settings): Use it, so that we make all the
    components save settings too.

    * e-component-registry.c
    (e_component_registry_get_id_list): New.
    (e_component_registry_get_component_by_id): New.

    * Makefile.am (libeshell_a_SOURCES): Add
    `evolution-shell-component-client' and `evolution-session'.

    * evolution-session.c: New.
    * evolution-session.h: New.

    * Makefile.am (evolution_SOURCES): Removed files that were already
    in `libeshell.a'.

    * Evolution.idl: #include <Evolution-Session.idl>.

    * Evolution-Session.idl: New.

2000-07-20  Ettore Perazzoli  <ettore@helixcode.com>

    * main.c (no_views_left_cb): Call `e_shell_quit()' on the shell
    before getting out of the GTK+ main loop.
    (view_delete_event_cb): Removed.
    (idle_cb): Don't call it.

    * e-shell-view-menu.c (command_new_view): New, implementation of
    the "New view" command.

2000-07-16  Damon Chaplin  <damon@helixcode.com>

    * e-shortcuts-view.c (e_shortcuts_view_construct): created a model
    for the EShortcutBar. This will probably have to be moved to support
    multiple views.
    (class_init): #if'd out overriding the class functions. They don't
    exist any more (they are in the model instead).

2000-07-12  Christopher James Lahey  <clahey@helixcode.com>

    * main.c: Fixed to match gconf API change.

2000-07-10  Dan Winship  <danw@helixcode.com>

    * main.c (development_warning): Update the message.

2000-07-10  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-folder-title-bar.c (title_button_clicked_cb):
    Temporarily `#if 0'ed out.

2000-07-10  Dan Winship  <danw@helixcode.com>

    * e-shell.c (impl_Shell_user_select_folder): Translate a
    default_folder of "" into NULL (which can't be passed over CORBA).

2000-07-10  Ettore Perazzoli  <ettore@helixcode.com>

    * e-storage.c (e_storage_new_folder): Removed debugging message.

    * e-storage-set.c (storage_new_folder_cb): Removed debugging
    message.

2000-07-10  Federico Mena Quintero  <federico@helixcode.com>

    * e-shell-view.c (unrealize): As a quasi-hack, do a gdk_flush()
    when the shell view is unrealized so that the DeleteEvent gets
    sent to the remote plugs as soon as possible before we start
    making other CORBA calls.  The problem is that our CORBA pipe is
    synchronous while our X pipe is asynch.  We have to ensure
    ordering for certain operations.  This is NOT the correct and
    complete fix, which should go in Bonobo.

2000-07-08  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view.c (e_shell_view_display_uri): Don't update the
    current URI if there are problems creating a view for it.
    (show_error): Remove.  Not used anymore.

2000-07-08  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view-menu.c: Cleanup some unused menu items and added
    "FIXMEs" for the ones we plan to add in the short term but are not
    implemented yet.
    (command_create_folder): Get rid of an unused variable.

2000-07-07  Ettore Perazzoli  <ettore@helixcode.com>

    * evolution-shell-client.c (user_select_folder): Fix small warning
    by adding proper cast when filling in the CORBA sequence struct.

2000-07-07  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell.c (setup_corba_storages): Ref the CORBA storage
    registry.

2000-07-06  Ettore Perazzoli  <ettore@helixcode.com>

    * evolution-storage.c: Removed `corba_storage_registry' member
    from `EvolutionStoragePrivate'.
    (destroy): Don't unref/release it.  Call
    `StorageListener::destroy' to notify that we are dead.
    (evolution_storage_register): Don't ref and store the registry.

2000-07-05  Dan Winship  <danw@helixcode.com>

    * e-shell.c (e_shell_save_settings): Use the correct gconf path
    (/apps, not /app), and call gconf_client_suggest_sync at the end.
    (e_shell_restore_from_settings): Use the correct gconf path.

2000-07-05  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view-menu.c (command_goto_folder): Set the folder
    selection dialog as transient for the shell view.
    (command_create_folder): New, bound to the "Create folder"
    command in the "File" menu.

2000-07-01  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell.c (impl_Shell_user_select_folder): New arg
    @allowed_types.  Pass it to the EShellFolderSelectionDialog.
    Connect to the "cancelled" and "folder_selected" signals instead
    of "clicked".
    (corba_listener_destroy_notify): New callback.
    (impl_Shell_user_select_folder): Associate it to the DestroyNotify
    for the "corba_listener" GtkObject data, so we don't leak it.
    (folder_selection_dialog_clicked_cb): Don't release the listener
    interface here.
    (folder_selection_dialog_cancelled_cb): New callback for the
    "cancelled" signal.
    (folder_selection_dialog_folder_selected_cb): New callback for the
    "folder_selected" signal.

    * e-shell-view-menu.c (command_goto_folder): Don't connect to
    "clicked".  Connect to "cancelled" and "folder_selected" instead.
    (folder_selection_dialog_cancelled_cb): New, callback for the
    "cancelled" signal.
    (folder_selection_dialog_folder_selected_cb): New, callback for
    the "folder_selected" signal.

    * e-shell-folder-selection-dialog.c New members `allowed_types',
    `storage_set' in `EShellFolderSelectionDialogPrivate'.
    (class_init): Install signals "folder_selected", "cancelled".
    (init): Init to NULL.
    (impl_destroy): Free/unref them.
    (e_shell_folder_selection_dialog_new): New arg @allowed_types.
    (e_shell_folder_selection_dialog_construct): New arg
    @allowed_types.  Initialize `priv->allowed_types' from it.
    (check_folder_type): New function.  Check if the selected folder
    is of the appropriate type and, if not, return FALSE and pop up an
    error dialog.  Otherwise, return TRUE.
    (impl_clicked): Use `check_folder_type()' to check if the folder
    type is OK.  If it is not, stop emission of the "clicked" signal.

    * e-shell-folder-selection-dialog.h: New signals
    "folder_selected", "cancelled".

    * evolution-shell-client.c
    (evolution_shell_client_user_select_folder): New arg
    @allowed_types.
    (user_select_folder): New arg @allowed_types.  Pass this to the
    ::user_select_folder method.

    * Evolution-Shell.idl: New arg @required_types in
    ::user_select_folder.

2000-07-01  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell.c (setup_components): Don't ref the component registry.

2000-06-30  Dan Winship  <danw@helixcode.com>

    * Evolution-Shell.idl: add "cancel" to FolderSelectionListener.

    * evolution-shell-client.c (impl_FolderSelectionListener_cancel):
    Implement cancel (set *uri and *physical_uri to NULL).
    (evolution_shell_client_user_select_folder): document %NULL uri
    and physical_uri return values.
    
    * e-shell.c (folder_selection_dialog_clicked_cb): If the user
    clicked "Cancel" or used the wm to close the dialog, call _cancel
    instead of _selected.

2000-06-30  Ettore Perazzoli  <ettore@helixcode.com>

    * evolution-shell-component.c (impl_ShellComponent_set_owner):
    Duplicate the object before storing it, you doofus.

2000-06-30  Ettore Perazzoli  <ettore@helixcode.com>

    * evolution-shell-component.c (impl_ShellComponent_unset_owner):
    NULL the owner_client.

2000-06-30  Ettore Perazzoli  <ettore@helixcode.com>

    * evolution-shell-client.h
    (evolution_shell_client_user_select_folder): Add prototype.

2000-06-29  Ettore Perazzoli  <ettore@helixcode.com>

    * evolution-shell-component.c: New member `owner_client'.  Removed
    member `corba_owner'.  All the code updated to use it.
    (evolution_shell_component_get_owner): Changed so that it returns
    an EvolutionShellClient instead of the raw CORBA object.

    * evolution-shell-component.h: Change signal "owner_set" to get an
    EvolutionShellClient wrapper instead of a CORBA interface.

    * evolution-shell-client.c: New.
    * evolution-shell-client.h: New.

2000-06-29  Dan Winship  <danw@helixcode.com>

    * evolution-shell-component-client.c
    (evolution_shell_component_client_new): Update warning message to
    not say "CRASHING", since it won't if you have current bonobo.

2000-06-29  Peter Williams  <peter@beta.newton.cx>

    * e-shell.c (e_shell_restore_from_settings): Check for the 
    insanely invalid NumberOfViews = 0 case.

2000-06-29  Peter Williams  <peter@helixcode.com>

    * e-shell.c (e_shell_construct): Ref the various E-things that
    we create to go with our unrefs in the destructor.

2000-06-29  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view.c (e_shell_view_construct): Don't ref the shell.
    (destroy): Don't unref the shell.

2000-06-29  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shortcuts.c (e_shortcuts_construct): Fix typo: @shortcuts
    should unset `GTK_FLOATING', not @storage_set.

    * e-shell-view.c (get_storage_set_path_from_uri): If @uri is NULL,
    return NULL.

    * main.c (idle_cb): Restore the shell from the settings.  If this
    fails, just create a new view.

    * e-shell.c (e_shell_save_settings): New.
    (e_shell_quit): Save settings before exiting.
    (e_shell_restore_from_settings): New.

    * e-shell-view.c (e_shell_view_save_settings): New.
    (e_shell_view_load_settings): New.

    * main.c (idle_cb): Initialize Gconf, create the GConfClient and
    pass it to `e_shell_new()'.

    * e-shell.c: New member `gconf_client' in `EShellPrivate'.
    (destroy): Unref it if not NULL.
    (init): Init to NULL.
    (e_shell_new): New param @gconf_client.
    (e_shell_construct): Likewise.

    * Makefile.am (INCLUDES): Add `GCONF_CFLAGS'.

2000-06-27  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-folder-title-bar.c (e_shell_folder_title_bar_construct):
    Enable the title bar button.

2000-06-27  Michael Zucchi  <zucchi@zedzone.mmc.com.au>

    * e-shell.c (folder_selection_dialog_clicked_cb): Close the dialog
    when done.  Dont do anything if 'new' was pressed, and always
    return empty strings if 'cancel' was pressed.

2000-06-27  Michael Zucchi  <zucchi@zedzone.mmc.com.au>

    * e-shell.c (impl_Shell_user_select_folder): Set the listener as
    the corba_listener data, not the shell.

2000-06-26  Christopher James Lahey  <clahey@helixcode.com>

    * glade/Makefile.am: Added EXTRA_DIST for make distcheck.

2000-06-19  Ettore Perazzoli  <ettore@helixcode.com>

    * e-local-storage.c: Don't #define POSIX_SOURCE at all; this is
    not needed anymore as we no longer use `readdir_r'.

2000-06-19  Chris Toshok  <toshok@helixcode.com>

    * e-local-storage.c: #undef _POSIX_SOURCE after including
    dirent.h.  this breaks the build on freebsd if we leave it
    #defined.  go figure.

2000-06-19  Dan Winship  <danw@helixcode.com>

    * evolution-shell-component-client.c
    (evolution_shell_component_client_new): Add a warning before
    crashing due to a known bug when it can't activate a component, so
    people don't have to waste any time trying to figure out what's
    up.

2000-06-13  Ettore Perazzoli  <ettore@helixcode.com>

    * Makefile.am: Compile the CORBA-built files,
    evolution-shell-component.c and evolution-storage.c into a
    separate `libeshell.a' library.  Link the `evolution' executable
    to it.  Also cleaned up a bit and got rid of the `CPP_FLAGS'
    assignment.

2000-06-12  Michael Meeks  <michael@helixcode.com>

    * e-shell-folder-selection-dialog.c: include gnome-dialog.h
    (PARENT_TYPE): GNOME_TYPE_DIALOG replaced with gnome_dialog_get_type.

2000-06-10  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell.c (impl_Shell_user_select_folder): New, implementation
    for `Shell:user_select_folder'.
    (corba_class_init): Install it.
    (folder_selection_dialog_clicked_cb): Callback for the folder
    selection dialog.

    * Evolution-Shell.idl: New method `Shell::user_select_folder'.
    New interface `FolderSelectionListener'.

    * glade/e-shell-folder-creation-dialog.glade: Make it larger.

    * e-shell-folder-creation-dialog.h: Fix typo: #include
    <gtk/gtkwindow.h>, not <gtk/gtkwidget.h>.

    * e-shell-view-menu.c: Added "Go to folder..." command.
    (commmand_goto_folder): Implementation for it.

    * e-shell-folder-selection-dialog.c: New.
    * e-shell-folder-selection-dialog.h: New.

2000-06-10  Ettore Perazzoli  <ettore@helixcode.com>

    * e-local-folder.c (save_metadata): Don't set the description in
    the XML file if null.  Compute the physical path correctly.

    * e-folder.c (e_folder_construct): Allow NULL description.

    * evolution-shell-component-client.c (init): Initalize
    `listener_interface' to `CORBA_OBJECT_NIL' and `listener_servant'
    to NULL.
    (create_listener_interface): Return void and set the `servant' and
    `listener_servant' fields directly.
    (evolution_shell_component_client_async_create_folder): Updated
    accordingly.

    * e-shell-folder-creation-dialog.c: New struct `DialogData' to be
    passed to the dialog's callbacks.
    (dialog_data_destroy): New.
    (e_shell_show_folder_creation_dialog): Set up a `DialogData'
    object and pass it as the data for the signals.
    (shell_destroy_cb): New handler for the "destroy" signal on the
    shell.
    (e_shell_show_folder_creation_dialog): Connect it.
    (dialog_destroy_cb): New handler for the "destroy" signal on the
    dialog; it frees the associated `DialogData'.
    (e_shell_show_folder_creation_dialog): Connect it.
    (async_create_cb): New function, callback for the async folder
    creation function.
    (entry_name_is_valid): New function to check if the entered folder
    name is valid.
    (dialog_clicked_cb): Check if the specified folder name is valid
    and, if so, asynchronously create the new folder.
    (add_folder_types): Set "type_name" data on each menu item.

    * e-storage-set-view.c (e_storage_set_view_get_current_folder):
    New function.

    * e-storage-set.c (get_storage_for_path): New helper function.
    (e_storage_set_get_folder): Use it.

    * e-storage.c (e_storage_async_create_folder): Renamed from
    `e_storage_create_folder'.
    (e_storage_remove_folder): Renamed from `e_storage_remove_folder'.
    (impl_create_create_folder): Renamed from `impl_create_folder'.
    (impl_create_remove_folder): Renamed from `impl_remove_folder'.
    (class_init): Updated accordingly.
    (e_storage_result_to_string): New function.

    * e-storage.h: `::create_folder' renamed to
    `::async_create_folder'.  `::remove_folder' renamed to
    `::async_remove_folder'.

    * evolution-shell-component.h: Return type of
    `EvolutionShellComponentCreateFolderFn' and
    `EvolutionShellComponentRemoveFolderFn' changed to `void'.

    * e-local-storage.c: `EComponentRegistry component_registry'
    replaced with `EFolderTypeRegistry folder_type_registry' in
    `ELocalStoragePrivate'
    (component_async_create_folder_callback): New function, to handle
    the callback from EvolutionShellComponent.
    (construct): Likewise.
    (e_local_storage_open): Replaced @component_registry with
    @folder_type_registry.
    (impl_create_folder): Implemented.

    * e-local-folder.c (e_local_folder_new): New.
    (e_local_folder_construct): New.
    (e_local_folder_save): Precondition: physical URI is not NULL.
    (save_metadata): Unlink the metadata file if `xmlSaveFile()'
    fails.

    * e-storage.c (e_storage_create_folder): Precondition: @path is
    absolute.
    (e_storage_remove_folder): Likewise.

2000-06-09  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view-menu.c: Removed folder menu and "save as..." command.

    * main.c (main): Call `glade_gnome_init()'.

    * e-shell-view-menu.c (command_new_folder): Implemented.

    * e-shell-folder-creation-dialog.c: New.
    * e-shell-folder-creation-dialog.h: New.

    * glade/Makefile.am: New.
    * glade/e-shell-folder-creation-dialog.glade: New.

    * e-shell-view.c (e_shell_view_get_current_uri): New.

    * e-folder-type-registry.c
    (e_folder_type_registry_get_type_names): New.

    * e-shell-view.c (get_control_for_uri): Updated to use
    `EvolutionShellComponentClient'.

    * e-folder-type-registry.c: Use `EvolutionShellComponentClient's
    instead of `BonoboObjectClient's.

    * e-component-registry.c: Use `EvolutionShellComponentClient'
    instead of `BonoboObjectClient' in `Component'.
    (component_new): Updated accordingly.
    (register_component): Likewise.

    * evolution-shell-component-client.h: New.
    * evolution-shell-component-client.c: New.

    * evolution-shell-component.c
    (impl_ShellComponent_async_create_folder): New, implementation of
    `::async_create_folder'.
    (impl_ShellComponent_async_remove_folder): New, implementation of
    `::async_remove_folder'.
    (corba_class_init): Install them.
    (evolution_shell_component_new): New args `create_folder_fn' and
    `remove_folder_fn' for setting the handlers for these new methods.
    (evolution_shell_component_construct): Likewise.

    * Evolution-ShellComponent.idl
    (ShellComponent::async_create_folder): New.
    (ShellComponent::async_remove_folder): New.
    (ShellComponentListener): New.

    * evolution-shell-component.c (impl_ShellComponent_create_view):
    New param @type.  Use the new `EvolutionShellComponentCreateViewFn'.

    * evolution-shell-component.h: New enum `EvolutionShellComponentResult'.
    Changed `EvolutionShellComponentCreateViewFn' to return an
    `EvolutionShellComponentResult'.

    * e-shell-view.c (get_control_for_uri): Pass the folder type to
    `ShellComponent::create_view'.

    * Evolution-ShellComponent.idl: New param @type for
    `ShellComponent::create_view'.

2000-06-08  Miguel de Icaza  <miguel@helixcode.com>

    * main.c (development_warning): Use version here.  Add padding to
    the message.
    Only destroy object if its window was not closed.

2000-06-08  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view.c (setup_bonobo_ui_handler): Oops.  Don't create
    the toolbar.  This was not supposed to be committed.

2000-06-07  Ettore Perazzoli  <ettore@helixcode.com>

    * e-storage.c (folder_destroy): Don't destroy the subfolders.
    (remove_folder): New helper function.
    (free_private): Use it.
    (e_storage_removed_folder): Use it here too.
    (folder_destroy): Don't unref the EFolder if NULL.

    * e-storage-set-view.c (e_storage_set_view_construct): Use
    `gtk_signal_connect_while_alive()' instead of just
    `gtk_signal_connect()' so that the signal handler is automatically
    removed when we are destroyed.

    * e-storage-set.c (e_storage_set_remove_all_storages): New
    function.

    * e-shell-view.c (e_shell_view_construct): Use `bonobo_object_ref'
    on the shell instead of `gtk_object_ref'.
    (destroy): Unref the shell.

    * e-local-storage.h: #include "e-component-registry.h".

    * e-shell.c (setup_local_storage): Renamed from `setup_storages'.
    Only set up the local storage, not the CORBA one, and don't create
    the storage set.
    (e_shell_construct): Create the storage set here instead.  Call
    `setup_local_storage' after setting up the components.

    * e-local-storage.c: New member `component_registry' in
    `ELocalStoragePrivate'.
    (init): Init to NULL.
    (destroy): If not null, unref it.
    (e_local_storage_open): New arg @component_registry.
    (construct): New arg @component_registry.  Init
    `priv->component_registry' from it.

    * e-local-storage.c (impl_get_name): Renamed from `get_name'.
    (impl_create_folder): New function, implementing
    `EStorage::create_folder'.  Just a stub for now.
    (impl_remove_folder): New function, implementing
    `EStorage::remove_folder'.  Just a stub for now.
    (class_init): Install these stub implementations.

    * e-storage.c (e_storage_remove_folder): New function.
    (e_storage_create_folder): New function.
    (impl_create_folder): New function, default implementation for
    `::create_folder'.
    (impl_remove_folder): New function, default implementation for
    `::remove_folder'.
    (class_init): Install the implementations.

    * e-storage.c (impl_get_name): Renamed from `get_name'.
    (impl_get_folder): Renamed from `get_folder'.
    (impl_list_folders): Renamed from `list_folders'.

    * e-storage.h: New virtual methods `remove_folder',
    `create_folder'.

    * e-storage.c (e_storage_removed_folder): Renamed from
    `e_storage_remove_folder'.
    * e-corba-storage.c (impl_StorageListener_removed_folder): Updated
    accordingly.

2000-06-02  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view.c (setup_bonobo_ui_handler): Create the default toolbar.

2000-06-02  Jeffrey Stedfast  <fejj@helixcode.com>

    * e-shell-view-menu.c: Changed "Using the Shell" to "Getting Started"

2000-06-02  Christopher James Lahey  <clahey@helixcode.com>

    * e-shell-view.c: Free the uri variable.

    * e-shell.c: Free the local_directory variable.

2000-06-02  Ettore Perazzoli  <ettore@helixcode.com>

    * main.c (view_delete_event_cb): New callback for the
    "delete_event" on the view.
    (idle_cb): Connect it.

2000-06-01  Christopher James Lahey  <clahey@helixcode.com>

    * e-storage-set-view.c (set_e_shortcut_selection): Added a
    g_return_if_fail check.

2000-06-01  Dan Winship  <danw@helixcode.com>

    * e-shell-view-menu.c (command_help): New menu callback to launch
    the help browser.
    (menu_help): add pointers to the users' guide.
    (e_shell_view_menu_setup): Add the help menu stuff to the uih.

    * main.c (main): Set up gettext. (Problem noted by Héctor García
    Alvarez)

2000-06-01  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view.c (DEFAULT_WIDTH): Add more 5 pixels.

2000-06-01  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view.c (DEFAULT_WIDTH): Made the default window a bit
    narrower.
    (DEFAULT_HEIGHT): And shorter.
    (setup_widgets): Set the border width of the vbox that holds the
    title bar to 2 pixels, so that the view looks a bit nicer.

2000-06-01  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view.c (DEFAULT_TREE_WIDTH): Made the tree 150 pixel
    wide [instead of 100].
    (setup_widgets): Use `DEFAULT_TREE_WIDTH' instead of
    `DEFAULT_SHORTCUT_BAR_WIDTH' where appropriate.
    (e_shell_view_construct): Hide the folder bar by default.

    * e-storage-set-view.c (e_storage_set_view_construct): Set
    auto-resize mode for column one.

2000-06-01  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view-menu.c (e_shell_view_menu_setup): Set the
    statusbar.

    * e-shell-view.c: New member `appbar' for `EShellViewPrivate'.
    (init): Initialize to NULL.
    (setup_widgets): Install a status bar and set `appbar' to point to
    it.
    (setup_bonobo_ui_handler): Make the BonoboUIHandler use `appbar'
    as its statusbar.
    (e_shell_view_get_appbar): New function.
    (e_shell_view_construct): Set up the BonoboUIHandler after setting
    up the widgets.

    * e-shortcuts.c (class_init): Add new signals "new_shortcut",
    "removed_shortcut", "new_group", "removed_group".
    (e_shortcuts_remove_shortcut): Emit "remove_shortcut".
    (e_shortcuts_add_shortcut): Emit "new_shortcut".
    (e_shortcuts_remove_group): Emit "remove_group".
    (e_shortcuts_add_group): Emit "new_group".
    (unload_shortcuts): Emit "remove_group" for all the groups.

    * e-shortcuts.h: New signals "new_shortcut", "removed_shortcut",
    "new_group", "removed_group".

    * e-shortcuts-view.c (pop_up_right_click_menu): New function to
    pop up the right-click menu for the shortcut bar.
    (pop_up_right_click_menu_for_shortcut): New function.
    (selected_item): Pop up right click menu when appropriate.  Don't
    activate the shortcut when right-clicking.

2000-05-31  Ettore Perazzoli  <ettore@helixcode.com>

    * evolution-storage.h: #include 'Evolution.h".

2000-05-31  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view.c (show_error): Use `set_current_notebook_page()'
    instead of `gtk_notebook_set_page()'; this will also deactivate
    the current control properly.

    * e-shell-view-menu.c (e_shell_view_menu_setup): Initialize the
    state of the shortcut/folder toggle menu items using
    `e_shell_view_get_shortcut_bar_mode()' and
    `e_shell_view_get_folder_bar_mode()'.
    (command_toggle_shortcut_bar): Removed debugging message.
    (command_toggle_folder_bar): Likewise.

    * e-shell-view.c (e_shell_view_get_shortcut_bar_mode): New
    function.
    (e_shell_view_get_folder_bar_mode): New function.

2000-05-31  Ettore Perazzoli  <ettore@helixcode.com>

    * e-storage-set-view.c: New constant `DRAG_RESISTANCE'.  New
    members `button_x', `button_y' in `EStorageSetViewPrivate'.
    (init): Initialize to zero.
    (button_press_event): Set.
    (motion_notify_event): Don't start drag unless the current x/y
    position is farther than `DRAG_RESISTANCE', in any of the two
    directions, from the original position of the button click.
    (button_release_event): Always ungrab the pointer, even if
    `selected_row_path' is NULL.

2000-05-31  Ettore Perazzoli  <ettore@helixcode.com>

    * evolution-shell-component.c (class_init): Eeek!
    s/owner_set/owner_unset/.

    * e-shell-folder-title-bar.c (e_shell_folder_title_bar_construct):
    Increase the size of the border of the hbox slightly to make the
    title bar a bit nicer.

2000-05-31  Ettore Perazzoli  <ettore@helixcode.com>

    * e-component-registry.c (component_free): Invoke `::unset_owner'
    on the component before releasing it.

    * evolution-shell-component.c (class_init): Install the
    "owner_set" signal.
    (impl_ShellComponent_unset_owner): New function, implementation of
    `ShellComponent::unset_owner'.
    (corba_class_init): Install it.

    * evolution-shell-component.h: New signal "owner_unset".

    * Evolution-ShellComponent.idl: New method `ShellComponent::
    unset_owner'.

    * e-shell.c (e_shell_quit): Destroy all the views explicitly.

    * e-shell-view-menu.c: Changed `Show shortcut bar' and `Show
    folder tree' items into toggle items.
    (shortcut_bar_mode_changed_cb): New callback to update the status
    of the "show shortcut bar" toggle item when the shortcut bar is
    hidden/shown in the view.
    (folder_bar_mode_changed_cb): Likewise for the folder bar.
    (e_shell_view_menu_setup): Connect these to the corresponding
    signals on the shell.

    * e-shell-view.c: New members `shortcut_bar_mode' and
    `folder_bar_mode' in `EShellViewPrivate'.
    (init): Initialize `shortcut_bar_mode' and `folder_bar_mode' to
    `E_SHELL_VIEW_SUBWINDOW_HIDDEN'.
    (class_init): Add the new signals.
    (e_shell_view_set_shortcut_bar_mode): Renamed from
    `e_shell_view_show_shortcuts'.  Emit "shortcut_bar_mode_changed"
    and update the `shortcut_bar_mode' member.
    (e_shell_view_set_folder_bar_mode): Renamed from
    `e_shell_view_show_folders'.  Emit "folder_bar_mode_changed" and
    update the `folder_bar_mode' member.

    * e-shell-view.h: New signals "shortcut_bar_mode_changed",
    "folder_bar_mode_changed".

    * e-shell-view.c (setup_menus): Removed.
    (e_shell_view_construct): Use `e_shell_view_menu_setup' instead.
    (e_shell_view_get_bonobo_ui_handler): New function.

    * e-shell-view-menu.c (e_shell_view_menu_setup): New.

    * e-shell.c (impl_Shell_get_component_for_type): New function,
    implementation of `Evolution::Shell::get_component_for_type'.
    (corba_class_init): Install it into the EPV.

    * Evolution-Shell.idl: Added method `get_component_for_type'.

2000-05-30  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shortcuts.c: New members `dirty', `save_idle_id' in
    `EShortcutsPrivate'.
    (init): Initialize.
    (destroy): If the idle ID is nonzero, remove the idle.  If `dirty'
    is true, save.
    (idle_cb): New.
    (schedule_idle): New.
    (make_dirty): New.
    (e_shortcuts_remove_shortcut): Call it.
    (e_shortcuts_add_shortcut): Likewise.
    (e_shortcuts_remove_group): Likewise.
    (e_shortcuts_add_group): Likewise.

    * e-shell.c (e_shell_construct): Updated to match the `EShortcuts'
    API changes.

    * e-shortcuts.c: New member `file_name' in `EShortcutsPrivate'.
    (init): Init to NULL.
    (destroy): Free it.
    (e_shortcuts_load): Removed.
    (e_shortcuts_save): Removed.
    (e_shortcuts_new): New arg @file_name.  Load from the specified
    file name.

    * e-shortcuts-view.c (added_item): New method implementation.
    (removed_item): New method implementation.
    (added_group): New method implementation.
    (removed_group): New method implementation.
    (class_init): Install these.

    * e-shortcuts.c (e_shortcuts_remove_shortcut): New function.
    (e_shortcuts_add_shortcut): New function.
    (e_shortcuts_remove_group): New function.
    (e_shortcuts_add_group): New function.

    * e-shell-view.c: New member `view_title_bar' in
    `EShellViewPrivate'.
    (setup_widgets): Put an EShellFolderTitleBar on top of the tree
    view and the content view.
    (update_window_icon): Renamed from `set_icon'.
    (update_folder_title_bar): New.
    (popup_tree): New function to pop up the tree view when the title
    button in the title bar is clicked.
    (folder_title_clicked_cb): New callback for the "clicked" signal
    of EShellFolderTitleBar.
    (setup_widgets): Don't add a title bar to the shortcut bar.
    (create_storage_set_subwindow): New helper function.
    (setup_widgets): Use it.
    (show_error): Use an EClippedLabel instead of a GtkLabel.

    * e-shell-view.c: Replaced all the occurences of `gpointer' with
    `void *' for consistency.

    * e-shell-folder-title-bar.c: New file.
    * e-shell-folder-title-bar.h: New file.

    * e-storage-set-view.c (e_storage_set_view_construct): Ooops.  Fix
    inverted key/value pair in the call to `g_hash_table_insert()'.

2000-05-28  Dan Winship  <danw@helixcode.com>

    * main.c (main): Remove extra free of evolution_directory.

2000-05-28  Ettore Perazzoli  <ettore@helixcode.com>

    * evolution-storage.c (evolution_storage_register): Use the
    storage's name when registering.

2000-05-26  Matt Loper  <matt@helixcode.com>

    * e-shell-view-menu.c (command_about_box): Make authorlist more
    alphabetical.
    (command_show_treeview): New function; shows the treeview, when it
    has been hidden.
    (command_show_shortcut_bar): New function; shows the shortcut bar,
    when it's been hidden.

2000-05-26  Ettore Perazzoli  <ettore@helixcode.com>

    * e-corba-storage.c (impl_StorageListener_new_folder): Set the
    physical URI on the folder using `e_folder_set_physical_uri()'.

    * e-local-folder.c (get_physical_uri): Removed.
    (construct_loading_metadata): Use EFolder's `physical_uri' field
    instead of ours, which is gone.
    (save_metadata): Likewise.
    (destroy): Don't free.

    * e-local-folder.h: Removed `physical_uri' from `ELocalFolder'.

    * e-folder.c: New member `physical_uri' in `EFolderPrivate'.
    (init): Initialize to NULL.
    (destroy): Free it.
    (get_physical_uri): Removed.
    (e_folder_set_physical_uri): New function.

    * e-storage-set.c (e_storage_set_get_folder): Fix off-by-one error
    in extracting the base name.

    * e-storage.c: New member `path' in `Folder'.
    (folder_destroy): Free it.
    (folder_new): New arg.  Initialize `path' from it.
    (e_storage_construct): Updated accordingly.
    (e_storage_new_folder): Likewise.
    (e_storage_remove_folder): Remove the folder from the hash.

    * e-storage-set-view.c (remove_node): New function.
    (removed_storage_cb): Use it.
    (new_folder_cb): New function, callback for the "new_folder"
    signal on the EStorageSet.
    (removed_folder_cb): New function, callback for the
    "removed_folder" signal on the EStorageSet.
    (e_storage_set_view_construct): Connect these signal handlers to
    the respective signals on our model storage.

    * e-storage-set.c (storage_new_folder_cb): New function, callback
    for the "new_folder" signal on the storages.
    (storage_removed_folder_cb): New function, callback for the
    "removed_folder" signal on the storages.
    (e_storage_set_add_storage): Connect them to the signals of the
    storage being added.

    * e-corba-storage-registry.c
    (impl_StorageRegistry_register_storage): Throw an exception if
    `e_storage_set_add_storage()' returns false.

    * e-shell.c (setup_storages): Unref the local storage after adding
    to the storage set.

    * e-corba-storage-registry.c
    (impl_StorageRegistry_register_storage): Unref the storage after
    adding to the storage set.

    * e-storage-set.c: New hash table `name_to_named_storage' in
    `EStorageSetPrivate'.
    (named_storage_new): New helper function.
    (named_storage_destroy): New helper function.
    (e_storage_set_add_storage): Use the hash table.  Return value
    changed to `gboolean'.  Return FALSE if there is a storage with
    that name already.  Also, ref the storage.
    (e_storage_set_remove_storage): Likewise [but of course don't ref
    the storage].
    (e_storage_set_get_storage): Use the `name_to_named_storage' hash
    table.
    (destroy): Destroy the `name_to_named_storage' hash.

    * e-storage-set.h: New signals "new_folder", "removed_folder".

    * e-storage.c (e_storage_get_watcher_for_path): Removed.
    (get_watcher_for_path): Removed.
    (class_init): Install signals "new_folder" and "removed_folder".
    (e_storage_remove_folder): Emit "removed_folder".
    (e_storage_new_folder): Emit "new_folder".

    * e-storage.h: Removed method `get_watcher_for_path'.  New signals
    "new_folder", "removed_folder".

    * e-storage-watcher.c: Removed.
    * e-storage-watcher.h: Removed.

    * e-corba-storage-registry.c (corba_class_init): Set the
    Bonobo_Unknown evp parts.

    * evolution-storage.c: New.
    * evolution-storage.h: New.

    * evolution-shell-component.c
    (evolution_shell_component_get_owner): New.

    * e-storage-set-view.c (new_storage_cb): New function.
    (e_storage_set_view_construct): Connect to the "new_storage"
    signal on the EStorageSet.
    (removed_storage_cb): New function.
    (e_storage_set_view_construct): Connect to the "removed_storage"
    signal on the EStorageSet.

    * e-storage-set-view.c (e_storage_set_view_construct): Make this
    always look pretty, with Helix GNOME or without.

2000-05-25  Christopher James Lahey  <clahey@helixcode.com>

    * e-storage-set-view.c: Make this always look pretty, with Helix
    GNOME or without.

2000-05-25  Ettore Perazzoli  <ettore@helixcode.com>

    * e-storage-set-view.c (e_storage_set_view_construct): Set the
    dotted line type again.  Dotted is less butt-ugly than continuous.

    * e-shell-view.c (show_error): Display page zero in the notebook.

    * main.c (idle_cb): Renamed from `new_view_idle_cb'.  Create the
    EShell object here, because now the shell depends on the GLib loop
    to be running for correct operation.
    (main): Don't create the EShell here.

    * e-storage-set-view.c (get_pixmap_and_mask_for_folder): If the
    icon is not found, set the returned pixmap and mask to NULL.

    * e-shell.c (e_shell_construct): Added precondition: @corba_object
    must be non-nil.
    (e_shell_new): Added precondition: @local_direcory must be
    non-null.

    * evolution-shell-component.c: New.
    * evolution-shell-component.h: New.

    * e-shell.c: New member `component_registry' in `EShellPrivate'.
    (init): Initialize to NULL.
    (destroy): Unref it.
    (setup_components): New function to set up the compnent registry
    and initialize the mail, calendar and addressbook components.
    (e_shell_construct): Call it.

    * e-storage-set.c: Updated to use EFolderTypeRegistry.
    * e-storage-set.h: Likewise.
    * e-shortcuts.c: Likewise.
    * e-shortcuts.h: Likewise.
    * e-shell.c: Likewise.

    * e-shell.h: Likewise.
    * e-shell-view.c: Likewise.
    * e-shortcuts-view.c: Likewise.
    * e-storage-set-view.c: Likewise.

    * e-component-registry.c: New.
    * e-component-registry.h: New.

    * e-folder-type-registry.c: New.
    * e-folder-type-registry.h: New.

    * e-folder-type-repository.c: Removed.
    * e-folder-type-repository.h: Removed.

    * Evolution-ShellComponent.idl: New struct `FolderType'; new type
    `FolderTypeList'. New attribute `supported_types'.
    (ShellComponent::set_owner): Renamed from `set_shell'.
    (ShellComponent::create_view): New.

2000-05-24  Christopher James Lahey  <clahey@helixcode.com>

    * e-shell-view.c: Was using the wrong include here.

    * e-storage-set-view.c: Got rid of the lines in the tree view.

2000-05-24  Christopher James Lahey  <clahey@helixcode.com>

    * Makefile.am: Added libepaned.a.

    * e-shell-view.c: Switched from GtkPaned to EPaned.

2000-05-23  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell.c: New member `corba_storage_registry' in
    `EShellPrivate'.
    (init): Initialize it to NULL.
    (destroy): Unref it if not NULL.
    (setup_corba_storages): New function to set up the CORBA storage
    registry and `bonobo_object_add_interface()' it to the shell.
    (setup_storages): Call it from here.

    * e-shell.h, e-shell.c: Derive EShell from BonoboObject instead of
    GtkObject.

    * e-storage.c (e_storage_remove_folder): Return value changed into
    `gboolean'; return false if an error occurs, true otherwise.
    (e_storage_new_folder): Likewise.

    * e-corba-storage-registry.c: New.
    * e-corba-storage-registry.h: New.

    * e-corba-storage.c: New.
    * e-corba-storage.h: New.

    * Evolution.idl: Include the new IDLs, but no
    `evolution-service-repository.idl' anymore.

    * Evolution-Shell.idl: New.
    * Evolution-ShellComponent.idl: New.
    * Evolution-Storage.idl: New.

    * evolution-service-repository.idl: Removed.
    * evolution-service-repository.c: Removed.
    * evolution-service-repository.h: Removed.

    * e-folder-type-repository.c (folder_type_new): Free `icon_path'.

2000-05-18  Dan Winship  <danw@helixcode.com>

    * main.c (new_view_idle_cb): add development_warning (moved from
    mail component)

2000-05-16  Ettore Perazzoli  <ettore@helixcode.com>

    * e-storage-set-view.c: Get rid of the `ICON_WIDTH' and
    `ICON_HEIGHT' #defines.
    (get_pixmap_and_mask_for_folder): Get the mini icon instead of the
    big one.  Use `E_SHELL_MINI_ICON_SIZE' instead of `ICON_WIDTH' and
    `ICON_HEIGHT'.

    * e-folder-type-repository.c: New member `mini_icon_pixbuf' in
    `FolderType'.
    (folder_type_new): Initialize `mini_icon_pixbuf' by loading the
    mini icon if possible.  If the mini icon is not found, resort to
    the big one.
    (folder_type_free): Unref the mini icon.
    (e_folder_type_repository_get_icon_for_type): New arg @mini.  If
    true, return the mini icon instead of the standard one.

    * e-shell-view.c (set_icon): Get the mini icon instead of the big
    one by using `e_shell_get_icon_path's @try_mini arg.

    * e-shell-constants.h: New file.

    * e-shell-utils.c
    (e_shell_get_icon_path): New arg @try_mini.  If true, look for the
    mini version [whose name ends in `-mini'].

    * e-folder-type-repository.c
    (folder_type_new): Free string returned by
    `e_shell_get_icon_path()'.

2000-05-16  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view.c: New members `storage_set_view_box',
    `shortcut_bar_box', `hpaned1_position', `hpaned2_position' in
    `EShellViewPrivate'.
    (init): Initialize them.
    (setup_widgets): Add title bars to the tree and shortcut views.
    (shortcuts_view_close_button_clicked_cb): New callback function.
    (setup_widgets): Connect to the "close_button_clicked" signal of
    the shortcut view's title bar.
    (storage_set_view_close_button_clicked_cb): New callback function.
    (setup_widgets): Connect to the "close_button_clicked" signal of
    the storage set view's title bar.
    (e_shell_view_show_shortcuts): New function.
    (e_shell_view_show_folders): New function.

    * e-shell-view.c: New members `hpaned1', `hpaned2' in
    `EShellViewPrivate'.
    (init): Initialize both to NULL.
    (setup_widgets): Invert the parenting order for the GtkHPaneds and
    store them into the private `hpaned' and `hpaned2' members.

    * Makefile.am (evolution_LDADD): Link with `libemiscwidgets.a'.

2000-05-15  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shortcuts.c
    (load_shortcuts_into_view): Removed.
    (e_shortcuts_new_view): Don't set up the shortcut bar manually
    here anymore, and don't set the icon callback either.  The
    `EShortcutsView' object is now able to do this by itself.

    * e-shortcuts-view.c
    (icon_callback): Moved here from `e-shortcuts.c'.
    (load_group): New function.
    (load_all_shortcuts): New function.
    (e_shortcuts_view_construct): Call it to load the shortcuts from
    the `EShortcuts' object.  Also, set `icon_callback' as the icon
    callback.

    * e-storage-set-view.c
    (button_press_event): Add/remove grab with `gtk_grab_add' and
    `gtk_grab_remove'.
    (button_release_event): Call `gtk_grab_remove' when removing the
    grab.

    * e-shortcuts.c: New member `title_to_group' in
    `EShortcutsPrivate'.
    (init): Initialize here.
    (destroy): Destroy here.
    (unload_shortcuts): Destroy and recreate here.
    (load_shortcuts): Avoid inserting multiple groups with the same
    title, and insert the groups into the `title_to_group' hash table.
    Also, avoid leaking the return value from `xmlNodeListGetString'.
    (e_shortcuts_get_group_titles): New function.
    (e_shortcuts_get_shortcuts_in_group): New function.
    (e_shortcuts_get_storage_set): New function.

    * e-storage-set-view.c
    (e_storage_set_view_set_current_folder): Emit the
    "folder_selected" signal.

    * e-local-folder.c
    (get_string_value): Return a `char *' to be deallocated by the
    caller instead of a `const char *' that does not need to be
    deallocated.
    (construct_loading_metadata): Free values returned from
    `get_string_value'.

2000-05-15  Ettore Perazzoli  <ettore@helixcode.com>

    * e-storage-set-view.c: New members `dragged_row_path',
    `selected_row_path_before_click' in `EStorageSetViewPrivate'.
    (init): Initialize them to NULL.
    (motion_notify_event): Set `dragged_row_path' from
    `selected_row_path'.
    (button_press_event): Initialize `selected_row_path_before_click'
    from `selected_row_path'.
    (button_release_event): Set `selected_row_path_before_click' to
    NULL.
    (drag_end): Restore the current selection from
    `selected_row_path_before_click'; then set both `dragged_row_path'
    to NULL.

2000-05-15  Ettore Perazzoli  <ettore@helixcode.com>

    * e-storage-set-view.c: New members `in_drag' and `drag_button' in
    `EStorageSetViewPrivate'.  New static variables `drag_types',
    `num_drag_types', `target_list'.
    (class_init): Create the `target_list'.
    (init): Initialize the private `in_drag' member to false.
    Initialize the private `drag_button' member to zero.
    (button_release_event): Set it to false.
    (motion_notify_event): New function, implementation of
    `GtkWidget::motion_notify_event'.  If `in_drag' is false, set it
    to true and set ourselves up as a drag source.
    (button_press_event): New function, implementation of
    `GtkWidget::button_press_event'.  Set `drag_button' to the event's
    button number and then chain to the implementation in the parent
    class.
    (drag_end): New function, implementation of `GtkWidget::drag_end'.
    (drag_data_get): New function, implementation of
    `GtkWidget::drag_data_get'.
    (set_e_shortcut_selection): New function, helper for `drag_data_get'.
    (set_uri_list_selection): New function, helper for `drag_data_get'.
    (class_init): Install these method implementations.

    * e-storage-set-view.c: New member `selected_row_path' in
    `EStorageSetViewPrivate'.
    (init): Initialize it to NULL.
    (tree_select_row): Set it to the path of the selected row.  Don't
    emit "folder_selected" yet.  Also, keep the grab.
    (button_release_event): New function, implementation of
    `GtkWidget::button_release_event'.  If `selected_row_path' is not
    NULL, emit the "folder_selected" signal with `selected_row_path'
    as the parameter and then set `selected_row_path' to NULL again.
    (class_init): Install `button_release_event'.

    * e-storage-set-view.c: Made `ICON_WIDTH' and `ICON_HEIGHT' global
    #defines.
    (e_storage_set_view_construct): Set the row height to
    `ICON_HEIGHT'.  Alos, set the selection mode to
    `GTK_SELECTION_BROWSE'.

2000-05-15  Iain Holmes  <ih@csd.abdn.ac.uk>

    * e-local-folder.c (get_string_value): Use the correct function to
    get the node's contents.
    
    * e-shortcuts.c (load_shortcuts): Same as above.

2000-05-14  Ettore Perazzoli  <ettore@helixcode.com>

    * e-folder-type-repository.c
    (e_folder_type_repository_get_control_id_for_type): Protect
    against non-existing types.
    (e_folder_type_repository_get_icon_for_type): Likewise.

2000-05-14  Ettore Perazzoli  <ettore@helixcode.com>

    * e-storage-set-view.c
    (folder_compare_cb): Callback comparison function for comparing
    folders based on their names.
    (insert_folders): Use it to sort the folder list before using it.

2000-05-14  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell.c
    (setup_storages): Pass the pointer to the folder type repository.
    (e_shell_construct): Initialize the folder type repository before
    everything else.

    * e-storage-set.c: New member `folder_type_repository' in
    `EStorageSetPrivate'.
    (init): Initialize it to NULL.
    (destroy): Unref it.
    (e_storage_set_construct): New arg @folder_type_repository.
    Initialize the corresponding member in the private struct through
    it.
    (e_storage_set_new): New arg @folder_type_repository.
    (e_storage_set_get_folder_type_repository): New function.

    * e-shortcuts.c (icon_callback): Just use [the new version of]
    `e_folder_type_repository_get_icon_for_type()' instead of loading
    the image manually.

    * e-folder-type-repository.c: New member `icon_pixbuf' in
    `FolderType'.
    (folder_type_new): Load the pixbuf.
    (folder_type_free): Unref the pixbuf.
    (e_folder_type_repository_get_icon_name_for_type): Renamed from
    `e_folder_type_repository_get_icon_for_type'.
    (e_folder_type_repository_get_icon_for_type): New function, now
    returning a `GdkPixbuf *'.

    * e-shortcuts.c
    (icon_callback): Use `e_shell_get_icon_name()'.

    * e-shell-view.c: New member `storage_set_view' in
    `EShellViewPrivate'.
    (init): Initialize it to NULL.
    (e_shell_view_construct): Create an EStorageSetView for the
    shell's EStorageSet and put it into a scrolled window.  Also, put
    the scrolled window into the EShellView with some
    [temporary] GtkPaned action.  Store the pointer to the
    EStorageSetView to `priv->storage_set_view'.
    (set_icon): Get an EShellView and an EFolder instead of an
    EShellView and a URI.  Also, don't leak.
    (update_for_current_uir): New helper function.  Call `set_icon'.
    (show_error): Call it.
    (folder_selected_cb): New function.
    (setup_widgets): Connect it to the "folder_selected" signal of the
    storage set view.

    * e-storage-set-view.c: New file.
    * e-storage-set-view.h: New file.

    * e-shell-utils.c: New file.
    * e-shell-utils.h: New file.

2000-05-10  Christopher James Lahey  <clahey@helixcode.com>

    * e-shell-view-menu.c: Added an about box.

2000-05-10  Christopher James Lahey  <clahey@helixcode.com>

    * e-shell-view.c: Set the icons when changing between components.

    * main.c: Set the default icon.  (The change in e-shell-view.c
    doesn't work unless we do this.)

2000-05-09  Matt Loper  <matt@helixcode.com>

    * e-shell-view-menu.c (command_run_bugbuddy): New function; allows
    users to submit a bug.
    (command_run_bugbuddy): Implemented with jacob's patch.

2000-05-09  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell.c (e_shell_new_view): Display the specified @uri in the
    view.

    * e-shell-view.c (e_shell_view_construct): Removed arg @uri.
    (e_shell_view_new): Likewise.

    * main.c: New string constant `STARTUP_URI', specifying the URI to
    show in the startup view.
    (new_view_idle_cb): New callback function to create a new view for
    `STARTUP_URI' in the idle loop.  We need to do this in the idle
    loop because the CORBA stuff cannot work until the loop starts
    running.
    (main): Set `new_view_idle_cb' up as the idle callback instead of
    creating the view right away.

2000-05-09  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell.c (setup_storages): Woops.  Don't free the path before
    the warning message, as we need to print it.

2000-05-08  Ettore Perazzoli  <ettore@helixcode.com>

    * main.c (destroy_cb): New function.
    (main): Connect it to the `destroy' signal on the shell.

2000-05-08  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shortcuts.c (load_shortcuts): Const fix.

2000-05-08  Larry Ewing  <lewing@helixcode.com>

    * e-shortcuts.c (load_shortcuts_into_view): xmlFree the return
    value of xmlGetProp.

2000-05-07  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shortcuts-view.c (e_shortcuts_view_construct): Use
    correct cast.

2000-05-07  Ettore Perazzoli  <ettore@helixcode.com>

    * main.c (main): Connect to "no_views_left", not "destroy".

    * e-shell.c (view_destroy_cb): Grmpf.

2000-05-07  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell.c (e_shell_construct): Output a warning message if the
    shortcut file is not found.
    (setup_storages): Output a warning message if the local storage
    cannot be initialized.
    (destroy): Destroy all the views.

    * e-shell-view.c
    (e_shell_view_construct): Ref the shell.

    * e-shortcuts-view.c
    (e_shortcuts_view_construct): Ref the shortcuts.

    * e-shell.c: Create the "no_views_left" signal.  New member
    `views' in `EShellPrivate'.
    (init): Initialize `views' to NULL.
    (view_destroy_cb): Destroy handler for a view: remove the view
    from `views', and emit the "no_views_left" signal if this was the
    last view.
    (e_shell_new_view): Add the new view to `views' and connect the
    "destroy" signal to `view_destroy_cb'.
    (destroy): Destroy the views.

    * e-shell.h: New signal "no_views_left".

    * e-shell-view-menu.c (command_quit): New function, implementation
    of the "quit" command.

    * e-shell-view.c (e_shell_view_get_shell): New function.

    * e-shell.c (e_shell_quit): New function.

    * main.c (main): If it is not possible to create the shell for
    some reason, pop up an error message.
    (shell_destroy_cb): New function, signal handler for "destroy" on
    the shell object.
    (main): Connect it.

2000-05-06  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shortcuts.c (destroy): Be safer about NULL objects.

    * e-shell.c (destroy): Be safer about NULL objects.

    * e-local-storage.c (load_folders): Use `readdir()', not
    `readdir_r()'.

2000-05-06  Ettore Perazzoli  <ettore@helixcode.com>

    * main.c (init_corba) [! USING_OAF]: We have no options no
    popt context.

2000-05-06  Ettore Perazzoli  <ettore@helixcode.com>

    * All files: Reorganized and redone a lot of the shell.  New
    features: internal URI namespace, extensible storage/folder
    mechanism, configurable shortcuts.

2000-05-03  Damon Chaplin  <damon@helixcode.com>

    * e-shell-view.c (e_shell_view_new): turned the notebook border off.
    The calendar looks better without it. If any of the views want a
    border they should create it themselves, shouldn't they?

2000-05-04  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shortcut.c (shell_icon_cb): Type of @url changed from `gchar
    *' to `const gchar *'; new arg @data.
    (e_shortcut_bar_view_new): Pass NULL as the closure value for
    `e_shortcut_bar_set_icon_callback()'.

2000-05-02  Ettore Perazzoli  <ettore@helixcode.com>

    * e-folder-mail.c: Removed.

    * e-folder-mail.h: Removed.

    * eshell-types.h: Removed.

    * e-folder.h: Don't #include "eshell-types.h".

2000-05-02  Ettore Perazzoli  <ettore@helixcode.com>

    * e-folder.h: Removed member `eservice' from `EFolder'.

    * e-service.c: Removed.

    * e-service.h: Removed.

2000-05-02  Matt Loper  <matt@helixcode.com>

    * Makefile.am: set G_LOG_DOMAIN.

2000-05-01  Dan Winship  <danw@helixcode.com>

    * e-shell-view.c (e_shell_view_set_view): Turn off control frame
    autoactivation, so the toolbars work correctly. This may actually
    be a bug in Bonobo, but we'll kludge around it here for now.

2000-04-27  Ettore Perazzoli  <ettore@helixcode.com>

    * e-shell-view.c: OAFized.
    (get_view): If `bonobo_widget_new_control()' fails for the
    calendar, don't try to get the property bag and stuff and thus
    prevent a segfault.

    * main.c
    (corba_init): Removed Bonobo initialization.  Implemented OAF
    version for the case in which `USING_OAF' is #defined.
    (init_bonob): New function.
    (main): Call `init_bonobo()'.

2000-04-26  Matt Loper  <matt@helixcode.com>

    * e-shell-view.c (bonobo_widget_is_dead): Helper function to see
    whether a bonobo widget is a zombie (ie the remote bonobo control
    died).
    (e_shell_view_set_view): Try to respawn dead widgets.

2000-04-25  Dan Winship  <danw@helixcode.com>

    * Makefile.am: include -I$(datadir)/idl in orbit-idl arguments so
    that you can have bonobo installed in the same prefix as
    evolution, when that isn't the same prefix is gnome-libs, which a
    lot of people seem to be doing.
    (CLEANFILES): add EVOLUTION_CORBA_GENERATED
    
2000-04-24  Christopher James Lahey  <clahey@helixcode.com>

    * idl/folder.idl: Made some functions syncronous that didn't need
    to be asyncronous.

2000-04-24  Matt Loper  <matt@helixcode.com>

    * e-shell-view.h: Added hpaned and treeview widgets to
    EShellView. Added e_shell_view_toggle_shortcut_bar() and
    e_shell_view_toggle_treeview().

    * e-shell-view.c (e_shell_view_setup_shortcut_display): Use EPaned
    widget to house our shortcut bar.
    (e_shell_view_toggle_shortcut_bar): New function; toggles whether
    the shortcut bar is showing.
    (e_shell_view_toggle_treeview): Same, for the treeview (NYI).
    (e_shell_view_new): Put the notebook view in our EPaned widget.

    * e-shell-view-menu.c (esv_cmd_toggle_shortcut_bar): New function;
    toggles whether the shortcut bar is viewed.
    (esv_cmd_toggle_treeview): Same, but with the treeview.  Added
    menuitems in the "view" menu to allow access to the above.

2000-04-19  Seth Alves  <alves@hungry.com>

    * e-shell-view.c (get_view): set calendar's uri with a property bag

2000-04-19  Christopher James Lahey  <clahey@helixcode.com>

    * idl/folder.idl: New idl file.  Still unused.

2000-04-14  Christopher James Lahey  <clahey@helixcode.com>

    * e-shell-view.c: Made the left pane of the shell view not
    autoresize.

2000-04-09  Matt Loper  <matt@helixcode.com>

    * e-shell-view.c (e_shell_view_setup): Set the default height
    bigger, to 600, so that everything in the shortcut-bar shows up.

2000-04-07  Matt Loper  <matt@helixcode.com>

    * e-shell-view.c (destroy_folder_view): New function;
    Bonobo_Unknown_unref's the controls that have the views in them.
    (esv_destroy): Calls the above for each folder_view in the
    hashtable.
    (get_view): unref the ServiceRepository interface of the control
    when we're done with it.

2000-04-06  Miguel de Icaza  <miguel@gnu.org>

    * shell/e-shortcut.c (shell_icon_cb): Append a slash here.
    (shell_icons): Only list the filenames.

    * shell/main.c (evolution_boot): Be less rude.

2000-04-06  Matt Loper  <matt@helixcode.com>

    * shell/main.c (evolution_boot): Make sure our data directory is
    available with e_setup_base_dir ().

2000-04-06  Miguel de Icaza  <miguel@gnu.org>

    * shell/e-shortcut.c (shell_icon_cb): Load the icons from the
    installation path, not form the GNOME-libs installation prefix. 
    (shell_icon_cb): Memory leak fix.

    * shell/Makefile.am (imagesdir): Pass the EVOLUTION_IMAGES
    installation directory here.

2000-04-05  Seth Alves  <alves@hungry.com>

    * shell/e-shell-view.c (get_view): hook up control:calendar

2000-03-31  Dan Winship  <danw@helixcode.com>

    * shell/e-shortcut.c (e_shortcut_bar_view_new, shell_icon_cb):
    Update for shortcut bar changes.

    * shell/e-folder.h: add E_FOLDER_SUMMARY
    * shell/e-shell.c (e_shell_setup_default_folders): make the
    "Today" icon be of type E_FOLDER_SUMMARY, not E_FOLDER_MAIL.

2000-03-30  Dan Winship  <danw@helixcode.com>

    * shell/e-shell-view.c (e_shell_view_set_view): Hold off on
    deactivating the "outgoing" control until after setting up the
    "incoming" control. That way if the new control takes a few
    seconds to load, there won't be an ugly empty spot where the
    toolbar used to be while the new control loads.

2000-03-29  Dan Winship  <danw@helixcode.com>

    * shell/e-shell-view.c (e_shell_view_set_view): Call
    bonobo_control_frame_activate on the folder_view every time it
    is displayed, and bonobo_control_frame_deactivate every time it is
    hidden.

2000-03-25  Matt Loper  <matt@helixcode.com>

    * shell/e-shell-view.c (get_view): Move CORBA_Environment to
    different scope.

2000-03-22  Matt Loper  <matt@helixcode.com>

    * shell/main.c (evolution_boot): gtk_signal_connect'ed "destroy"
    to gtk_main_quit, so that the shell dies when you want it to.

    * shell/e-shell-view.c (get_view): Reorganized, and added
    assertions.
    (e_shell_view_set_view): Added assertions.

2000-03-20  Matt Loper  <matt@helixcode.com>
    
    * shell/e-shell-view.h: New private field in EShellView added,
    which contains the notebook and a hashtable of folders to views.

    * shell/e-shell-view.c (e_shell_view_set_view): Instead of
    creating a new control every time we set the view, we now keep our
    controls in a notebook. This function now switches to the correct
    notebook page, or creates a new page/control as necessary.
    (e_shell_view_new): Creates and inserts the notebook into the
    shell.

2000-03-13  Christopher James Lahey  <clahey@helixcode.com>

    * shell/e-shell-view.c: Added an E_FOLDER_CONTACTS section to the
    get_view function.

2000-03-13  bertrand  <bertrand@helixcode.com>

    * shell/e-shell.c (EShell_register_service): 
    test implementation. Show the uri and the type 
    of service that has just been registered.
    
    * shell/e-shell-view.c (get_view): 
    once we have the bonobo control widget, 
    disable the autoactivation and activate
    the control frame.
    (get_view): added a parameter to have
    a reference to the EShellView.
    (get_view): In the case of the mail component
    use the Evolution_ServiceRepository to 
    give the component a reference to the 
    Shell server.

2000-03-12  bertrand  <bertrand@helixcode.com>

    * shell/e-shell-view.c (get_view): name change
    

    * shell/e-folder.c (e_folder_get_folder_type): added the
    get_e_folder_type function.

    * shell/evolution-service-repository.c:
    (evolution_service_repository_new): creates an 
    Evolution_ServiceRepository object.
    (create_evolution_service_repository): 
    create the corresponding servant.
    (evolution_service_repository_construct): set 
    the closure as well as the virtual functions. 

2000-03-12  bertrand  <bertrand@helixcode.com>

    * shell/evolution-service-repository.c: 
    * shell/evolution-service-repository.h: 
    Implementation of the service repository interface
    as a bonobo object.

    * shell/evolution-service-repository.idl: 
    new file. Contains the definition for the service
    repository interface.

    * shell/Shell.idl: move the shell related stuff 
    here
    
2000-03-12  bertrand  <bertrand@helixcode.com>

    * shell/e-folder.h: add a field refering to a
    service associated to the efolder. In the case of 
    distant folders, it is generally a server.  

    * shell/e-service.c: New class. Models a service.
    A service is an object with an URI and a root folder. 
    It genreally reporesents a distant folder. 
    A service is generally a ressource shared amongst
    several folders. 
    * shell/e-service.h: 

2000-03-07  bertrand  <bertrand@helixcode.com>

    * shell/e-shell-shortcut.c (shortcut_bar_item_selected): 
    removed a test that prevented the standard menu 
    to be shown.

2000-03-01  Ettore Perazzoli  <ettore@helixcode.com>

    * shell/Makefile.am (INCLUDES): use `top_srcdir' instead of
    `srcdir'.  Also, add `$(top_srcdir)'.  And put the srcdir includes
    before everything else.
    (evolution_LDADD): `libeutil.la', not `libeutil.a'.

2000-02-22  bertrand  <Bertrand.Guiheneuf@aful.org>

    * shell/Makefile.am (evolution_LDADD): 
    add libetext.a.

2000-02-08  Iain Holmes  <ih@csd.abdn.ac.uk>

    * shell/Makefile.am: Changed the order of the compilation, so the CORBA
    stuff was generated before it was needed.

2000-01-15  Miguel de Icaza  <miguel@gnu.org>

    * shell/e-shell.c: Construct the default folders 

    * shell/e-shell-view.c (e_shell_view_new): Setup the main GnomeApp
    application, load the shortcut, internal api. 

    * shell/e-folder.c (e_folder_get_type_name): Return description
    here;  Change of policy;  We now know about all of the possible
    types that can be displayed on Evolution. 

2000-01-15  Miguel de Icaza <miguel@gnu.org>

    * shell/e-folder.c: Renamed signal.

    * widgets/shortcut-bar/e-shortcut-bar.c (e_shortcut_bar_add_item):
    Use e_bar_set_item_data.

    Drop item_url;  Require image argument;  Require user data
    argument. 

2000-01-05  Miguel de Icaza  <miguel@gnu.org>

    * shell/Makefile.am: New file.