summaryrefslogtreecommitdiff
path: root/plugins/Clist_nicer/docs/CHANGELOG
blob: dd718ce84f1f71ed33b76df20923d31da8a84196 (plain)
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

                                Changelog:
                                ---------

! = bugfix
* = changed feature
+ = new feature
- = removed

0.9.0.2  - 2009/07/20
		* It is now possible to use the real location-based timezones set
		  by UserInfoEx. If present, clist_nicer will use it to calculate
		  a correct date and time.

0.9.0.1  - 2009/07/18
		* removed separator from view mode menu when not needed
		* version bump, plugin will only load in Miranda 0.9.dev

0.8.1.2  - 2009/07/03
		* support relative path for skin filenames.
		* fixed some redrawing problems for floating frames
		* fixed issue with disappearing "Appearance" context menu item.

0.8.1.0 -  2009/06/30

		* release for Miranda 0.8.1

0.8.0.x  - 2009/05/03
		* resource.rc rework for vc6 bugfix
		+ statusbar font can be changed
		* fix for 'Contact list display and ignore options' window
		! fix for the valid skin extension
		* slots numbers unification (part 2)

0.8.0.5  - 2009/04/09
		* slots numbers unification (m_cluiframes.h is now shared between all plugins)
		+ ToolbarButton support for modernopt.dll
		! fix for translation issues in clist_nicer options
		+ x64 portability

0.8.0.4  - 2009/03/05

		* Made project GCC / MingW32 compatible. Added makefile(s) and project
		  files.

		+ option added to allow clist being shown on task bar, under the following
		  circumstances:

		  a) Window style is set to "title bar" (ordinary Window like any other,
			 not border- or frameless).
		  b) Option "Always hide on task bar" (Options->Contact List-> Window) is
			 DISABLED. This option is enabled by default.

		  Does not work with skinned contact list, only when using a default windows
		  theme.

		* corrected some visual glitches in various option dialogs.

0.8.0.2  - 2007/10/20

		* advanced option to save position while moving or resizing (old behaviour)
		  Use DBEditor++ and set CLUI/save_pos_always (BYTE value) to 1. RESTART
		  MIRANDA thereafter (the setting is only read at plugin startup).
		  Deleting the value or set it to 0 to disable it (save position/size only
		  when Miranda exits).

		* new option for floating contacts (Fill with contact list background color).
		  If enabled, floaters will be filled with this color before drawing the skin
		  item. This allows people who don't use a skin at all to show the floaters w/o
		  having them fully transparent.

0.8.0.1  - 2007/10/02

		* removed all hardcoded instances of the MetaContacts protocol name

0.8.0.0  - 2007/10/02

		* released for Miranda 0.7. NOT compatible with 0.6 or earlier.

0.7.2.1  - 2007/09/xx

		* completed floating contacts (patch by yaho, yaho@miranda-easy.net). All the
		  options on Options->Contact List->Floating contacts are now working and a few
		  new features (transparency, snapping) have been added.

		* reworked options. Display profiles is now where you can set most things for
		  the contact layout. Right now, only one profile (<current>) is available, but
		  in the future, there will be the possibility to configure multiple profiles for
		  quickly changing display options.

0.7.1.1  - 2007/01/25

		* more options for per contact display settings.

		* the font colors for selected and hottracked skin items are no longer ignored.

		* removed internal font configuration dialog. Customize->Fonts is now where fonts
		  and colors can be configured for NON-SKINNED MODE ONLY. Otherwise, settings from
		  Customize->Contact List skin->Skin items are used.

0.7.1.0  - 2007/01/20

		* removed old icon code. From now on, clist_nicer requires IcoLib services, either
		  via IcoLib plugin or by using Miranda 0.7.x build.

		* added new option to auto-apply last active view mode when the contact list
		  starts (Options->Contact List)

		* Removed the "Priority Contact" menu item. This can now be found in the new
		  "Contact settings" dialog which is an improved version of the old "Visibility and
		   Ignore" dialog. It allows to set various other options "per contact" (e.g. avatar
		   display override/disable, 2nd line of text display option etc.).

0.7.0.x  - see SVN for changes. Mostly bugfixes, no new features.

0.6.0.7  - 2006/03/xx

		* added 2 items to the view mode menu, allowing to:
		  1) setup view modes
		  2) clear the current view mode

		* fixed another frame ordering bug.

0.6.0.6  - 2006/02/28

		* fixed possible crash on exit bug.

		* fixed auth requests not appearing on the tray & event area

		* improved performance for "sort by last message" - event timestamps are only
		  retrieved when actually needed.

		* Various CLUIframes tweaks and fixes to get rid of some annoying problems with
		  frame re-ordering after deleting or installing frame-aware plugins.

0.6.0.5  - 2006/01/30

		* groups now have their own alignment option.
		  * Always left
		  * Always right
		  * Automatic (in that case, RTL detection will determine whether the group name will
		    be right or left aligned).

		! fixed hit-testing for right-aligned groups (you can now click on the expand/collapse
		  icon even if it is aligned to the right).

		* sort by last message works "dynamically" now (when new messages or events arrive,
		  the contact list will update its sorting).

		+ started floating contacts implementation. Quite big changes, will take a while until
		  it is usable.

0.6.0.4  - 2006/01/27

		! The option "If window is partially covered..." should no longer affect the
		  minimize/maximize feature when the visual style in use has a rounded window frame.

		! more docking tweaks (still possible minor visual glitches)

		* tweaked RTL detection for group names and completely disabled RTL for the non-
		  unicode build.

		! fixed long standing CLUIframes bug - Position up/down is now working for all top
		  or bottom aligned frames, so re-arranging frames shouldn't be longer a problem.

0.6.0.3  - 2006/01/27

		* fixed possible memory allocation - related crash on startup.

0.6.0.2  - 2006/01/27

		* still bugfixing phase. Some troubles with autosizing were fixed.

		  fix: sticky taskbar button when there shouldn't be one (e.g. borderless mode)
		  restored the old way of skinning the clist with the desktop wallpaper (the
		  option "Use these settings to skin the entire background" now works like it did
		  in older builds).

		* added "priority contacts" - you can toggle a priority contact in the contact menu
		  (right click). A priority contact will always be on top of the list or its group
		  and override the normal sorting order. If there are multiple priority contacts
		  per group, then they will be sorted according to the normal contact list sorting,
		  but will still all stay on top of the group.

		* added multilevel sorting. Up to 3 levels of sorting can be selected to sort the clist.
		  There are 4 available sorting criterias, as following:

		  * name
		  * protocol
		  * status
		  * last message received

		  The feature works similar to the sorting in clist_modern. It respects the setting "Do
		  not separate offline contacts" and will also take priority contacts into account.

		* improved docking. Should now work again, but the clist must have one of the following
		  frame styles:

		  * tool window
		  * thin border
		  * no border.

		  With the default border/title bar, docking doesn't work (may or may be not fixed in the
		  future, but it doesn't matter much - most people prefer to dock the clist without any
		  title bar at all.

		* status floater fixed. In some cases, it appeared when it shouldn't (auto-hide was
		  "reversed"). Also, the event area on the status floater will now clear events when
		  the clist is hidden.

0.6.0.00 - 2006

		* from now on, clist_nicer+ is based on the new clist interface code which was
		  introduced in 0.4.3.x (nightly build #42). It is no longer compatible with older
		  versions of the miranda core and requires a recent core + database plugin.
		  We call this "post clist revolution", because the changes in the contact list api
		  were HUGE and required a lot of changes to all contact list plugins.

0.5.1.17 - 2005/11/20

		! fixed a few minimize/maximize issues with various border styles.
		  Minimize now always follow the "miniemize to tray" setting

0.5.1.16 - 2005/11/20

		+ added UNICODE_AWARE so that a unicode core will not reject the contact list.

0.5.1.15 - 2005/11/05

        ! toolbar icon bugs (introduced in .14) fixed.

        ! fixed flickering group header items when group skin items are set to be ignored.

        * GDI+ text rendering is disabled since the results were not satisfying. You can
          still enable it if you want.

          Use dbeditor and create the following setting:
          CLC/gdiplustext (BYTE value, set it to 1).

        + added per contact skin items. There is no UI for that (and there probably won't
          come one). It can be done by editing a .ini style file which can be loaded when
          at startup or during runtime (from the Background+ options page).

          See the included contacts.cln for description how per contact skinning works and
          how to create your own personal .ini file.

          Note that per contact skinning should be considered an advanced and probably rarely
          used feature. Future enahancements, like more advanced contact matching, are
          possible, but I don't think I'll make an UI for it.

        * moved the invisible/visible icons to the right so they are now aligned with the
          other extra icons. Looks better, also it makes much better text flow possible. If
          the avatar is high enough to allow more than 2 lines of text, the 2nd row (status
          message) will wrap and show with multiple lines (if needed). The text flows
          around the icons so that the available space is used in the best possible way.

        + added ability to right align the entire contact list. This will just mirror the
          entire display, so right becomes left and vice versa.
          On the advanced options page you can specify when this should happen.

        + added new toolbarbutton. "Status menu" -> can be used to set and show the current
          global status.

        + added option to set the border and titlebar type on Options->Contact List->Window.
          4 options are possible.
          * Normal (normal title bar, window frame)
          * Tool window (toolstyle titlebar, thinner window frame)
          * Thin border (one pixel, black border)
          * No border (nothing, no title bar, no window border).

        * BIG skinning changes. See the skinning.howto for more detail on how to use it. Along
          with this, some options now have different effects. Particularly the "Rounded window"
          and "Clip border by" options now only work when the clist is set to full transparency.
          If you only want to remove the border - don't use the clipping anymore, use the new
          "Border" option to set the title bar and border to "None".

        * several memory leaks fixed, optimized drawing performance.

        + smoother resizing in skinned and transparent mode

		+ added a status floater (activate it in the contact lists context menu -> appearance.
		  The floater shows the same status as the global status mode button (most online
		  status mode) and the icon. The floater allows you to access:

		  * the status menu (left click the icon)
		  * the main menu (right click the floater anywhere).

		  The floater can be skinned by defining its skin item (Background+ page). It can be
		  transparent, have rounded corners and so on. You can drag the floater around with
		  the left mouse button, its size, however, is automatically calculated so that the
		  longest status mode text will "fit" on it.
		  You can also set the floater to auto hide (context menu->Appearance->Auto Hide
		  Floater) in which case it will only be visible when the contact list is minimized
		  or hidden.
		  And finally, the floater can show a copy of the event area.

		+ changed RTL behaviour a bit. When rtl alignment is set to "Never", RTL text will
		  be printed left to right, that is, no RTL alignment will be made in any case and the
		  contact list will look like normal (left to right aligned) for all contacts.
		  A new option "RTL TEXT only" has been added to the alignment options which will,
		  when active, only align the text label, but not "mirror" the entire contact.

		  RTL text is still autodetected, but the formatting depends on the setting of the
		  "Right align" combo box.

		+ added UNICODE_AWARE flag so that the clist will load with new unicode cores

0.5.1.14 - 2005/10/15

        ! fixed misising status messages (rarely happening, but still possible)

        ! some skin items were ignoring margin settings (frame titles, event area).

          You can also specifiy the colors which will be used to draw the 3d border for the
          "Raised" and "Sunken" border styles.

        ! corrected docking with active border clipping (no more gaps between the clist window
          and the screen edge).

        * the import/export function now imports and exports more skin-related settings.

        * View Modes: new group entry -> Ungrouped contacts. Check if you want to include
          ungrouped contacts in the current view mode. Uncheck it, if ungrouped contacts should
          be filtered out.

        * cvs synced with clist_classic (minor translation fixes)

        ! fixed ugly tray tooltip on 9x systems (when using mTooltip)

        + added toolbar buttons for accessing the view mode functions (select, modify, clear).
          Remember, you can configure the toolbar by right clicking on any toolbar button and
          choosing the buttons you want to see from the button submenu.

        + added button skinning. There are 4 new items on the Background+ page. Toolbar buttons
          pressed/not pressed and UI buttons pressed/not pressed. The first is only used for the
          toolbar, the latter is used for all other buttons (the menu and status button at the
          bottom and the buttons in the view mode frame).
          Note that in order to get UI buttons skinned, you need to activate the "Set all
          buttons to skinned mode" option on the Background+ page. Also, for best results,
          enable the "Skin entire background" setting on the Background option page.

          With the two color boxes "3D border bright / dark" on the Background+ button you
          can configure the colors for 3d highlighting of skin items (when the border style
          is set to either "Raised" or "Sunken".

        * fixed small alignment bug (right aligned avatars and extra icons)

        * fixed several hittesting bugs for the extra icons when avatars are set to right
          aligned.

        * fixed bug when creating subgroup (garbage groupnames appearing) (unicode version
          only).

        + added separate row height value for group items (Options->Contact List->List).

        + improved performance - While connecting the protocols, the clist sorts and
          redraws less frequently than normal. Also, some minor improvements in the painting
          handler will skip things which don't need to be drawn more effectively.

        + added "drag on toolbar" - you can now drag the contact list window using any empty
          space on the toolbar. Effectively, the toolbar behaves like a title bar now.

        * fixed group name display (alignments, unneeded ellipsis appearing, quicksearch with
          centered group names).

        * put xstatus menu(s) directly as submenus below the the protocol menus. So they are
          now available from the status bar menus aswell.

        + many improvements added for fist time users. Using clist_nicer+ with a fresh profile
          now gives much better results. Frames are created properly, button bar is configured
          to only show the most important buttons and more.

        ! fixed the long standing bug which sometimes made a scrollbar appear on the title
          bar of the contact list frame.

        + improved and fixed fading - now fades the entire clist frame, including all subframes
          smoothly, also works together with transparent contact lists of all sorts.

        + added RTL support - UNICODE version ONLY (sorry, won't make it into the non-unicode
          build).

          This works automatically. When the contact list detects a nickname with hebrew or
          arabic characters, it displays the nickname RTL formatted. Same happens for status
          messages. On the "Advanced Options" page, you can set an option named "Reverse entire
          contact display for RTL" - what it does is basically simple. For RTL contacts, the
          entire layout of that contact will be flipped horizontally, that is, the icon appears
          on the right side, the nickname is printed RTL and so on. It just "mirrors" the
          contact display by using a mirrored device context.

          When editing a RTL nickname, you get a RTL aligned text edit box aswell.

          RTL also works for group names (again, automatically, no need for configuring anything).

        + the GDI+ renderer now produces better text output by using antialising and gamma
          correction for much smoother text. However, this CAN BE SLOW and if you have a full
          featured contact list, including avatars, extra icons, you may experience noticeable
          performance drops when using the GDI+ option. The text output DOES look better, though.
          You should only use it on fast systems.

        + added new toolbar buttons:
          ) 3 view mode buttons (select, configure, clear)
          ) button to open miranda main menu

          To configure visible buttons right click the button bar and select the buttons you wish
          to see from the submenu.

0.5.1.13 - 2005/10/15

        * view modes which have been set to auto-expire won't expire as long as the mouse
          pointer is over the contact list

        * added a debuggin message when the "Hidden" value of a contact is set to 1 (causing
          the contact to be hidden on the clist). This is temporary and only to find out why
          somtimes contacts are set to hidden.

0.5.1.12 - 2005/10/15

        ! fixed internal font dialog.

        ! fixed deleting last view mode from list creating "strange" view mode name.

        * contacts local time is now only shown when it actually differs from your own time-
          zone to keep the clist "cleaner" (there is an option for this, so you can still have
          local time display for all contacts with a valid time zone).

        * fixed: adding/removing subcontacts should now update the clist properly (still, make
          sure you have the latest MetaContacts plugin installed as clist_nicer+ relies on
          some of the newer features).

        ! fixed: last protocol did not appear in the skin configuration.

        ! fixed: hide per group wasn't working

        ! don't clip icon on the status button - only status text is clipped (when needed)

        ! fixed: redrawing issues when "Pin to desktop" is active.

        ! more redrawing issues with fading active etc..

        ! fixed a few bugs with the menu bar

        ! fixed file dropping on contact list main window.

        * changed: View mode configuration.

          * Empty protocol or group selection boxes are now ignored.
          * Stickies can use their own status modes (per contact). To configure stickies,
            select the global status mode for sticky contacts using the status icons in
            the "*** All Contacts ***" row. You can then change each status mode for
            individual contacts. Remember that only checked contacts will be examined
            by the sticky filter, unchecked contacts will follow the global ruleset.

        * moved ICQ custom status menu from the main menu to the status menu (patch by
          nullbie - only works with recent ICQJ versions (alpha releases)).

        ! when multiple tray icons are visible and you have hidden one or more protocols
          (MetaContacts for example), flashing has been corrected (no icon will flash if
          the protocol causing the event has been hidden in the contact lists protocol order
          configuration).

        + show xstatus icons on the status bar (optional, can be enabled/disabled on
          Options->Contact List->Status bar

0.5.1.11 - 2005/10/04 - beta and unicode build only.

        ! status message wasn't properly clipped when visibility icon active.

        * multiple tray icons now follow the protocol configuration (protocols which are
          invisible in the status bar are now also invisible on the tray).

        * connecting icon(s) are now visible on the status button and in the tray.

        ! the row gap does no longer affect the minimum row height (the latter is enforced,
          even with a row gap in effect)

        ! improved meta support. clist_nicer+ does no longer use the "Meta Contacts hidden
          group hack", instead it detects subcontacts in another way. This needs a recent
          version of the MC protocol (0.9.13.4 MINIMUM) and improves the behaviour with
          server side contact lists, where the "hidden group hack" could cause strange
          effects.

        + added mTooltips over statusbar panels showing protocol name + statusmode. Requires
          a mToolTip plugin with service API (0.0.1.5 or later). Also, the tray tooltip has
          been replaced with a mTooltip (if mTooltip with service api is present). This removes
          the limitation of 127 characters for the tray tooltip which might be a problem when
          lots of protocols are installed.

        * NOTE FOR DEVELOPERS:

          * MS_CLIST_GETCONTACTDISPLAYNAME supports the GCDNF_UNICODE flag in lParam to get
            the contact name as wide string (compatible with clist_classic).

          * MS_CLIST_SYSTRAY_NOTIFY supports a NIIF_INTERN_UNICODE flag in MIRANDASYSTRAYNOTIFY.dwInfoFlags.
            If set, the service will treat all strings in the MIRANDASYSTRAYNOTIFY structure
            as wide strings (you'll probably have to cast the pointers to avoid compiler
            warnings).

        + added extra font setting for the event area.

        + Importing and exporting themes (.clist files) now also import or export all font settings,
          background configuration and the contact list window config.

        + custom hittesting now allows to resize the clist window even when it does not have a visible
          resizing border (e.g. when the border has been removed by TweakUI or the "Clip border"
          option.

        + option to disable the tray icon tooltips when hovering the contact list tray icon(s)
          (Options->Contact List)

        + added a first (and simple) versions of the "view modes" extension. A view mode is a
          contact filter, currently based on protocol, group and status mode and allows for quick
          filtering in the contact list. A new multiwindow frame has been added with a few buttons
          to select and configure available view modes.

        + added option to scale the extra icons (Options->Contact List->Window->Extra icon size)
          At the default value of 16 pixels (which is the default icon size), the icons won't be scaled.
          You can scale them down to 8 and up to 20 pixels if you want (of course, at a loss of
          quality - scaling small images like 16x16 icons won't give very beautiful results).
          NOTE: status icons are not affected by icon scaling, only the "extra" (right aligned)
                icons are (to save some space on the clist...)

        + ability to show contacts local time on the contact list. The following requirements must
          be fulfilled:

          * a timezone needs to be present (either set by the protocol (ICQ only) or set as user
            info using UserInfoEx or tabSRMMs per contact preferences dialog.
          * contact list must be in dual row mode (either forced or by using avatars large enough
            to make enough space for 2 lines of text).
          * the option to show local time needs to be enabled (Options->Contact List->Advanced options,
            where you set the dual row display options).

          NOTE: local timestamps are refreshed once per minute (which is enough and the time stamp
                is formatted according to your regional language settings.

          a new font setting (Contact list local time) has been added to the font configuration
          options.

        + added option: Contact List->Don't separate offline contacts (at the sorting options).
          When enabled, offline contacts will be sorted together with contacts of other status mode(s).
          This setting makes only real sense when using sort by protocol or by name.
          Make sure to disable the "dividers" on the Options->Contact List->List page, or else
          you'll get dividers when there shouldn't be any.

        ! fixed: the option "If window is partially covered, bring it to front instead of hiding it"
          now works when window clipping (clip border and rounded window options) are enabled.

0.5.1.10 - 2005/09/29 - beta and unicode build only.

        + new option: center status icons (Advanced option page, at the top).
          Effect: status icons are vertically and horizontally centered within their
          space. That works only when avatars are emabled. Use the "Always align icons and
          text for missing avatars" option to get a consistent space for both avatars and
          icons. This option also centers avatars horizontally within the available space
          (that is, if the avatars width is less than its height).

        * restored old behaviour of the "Always align icon and text for missing avatars"
          option. It now again allows an "empty" avatar space.

        ! fixed bug with subgroup indent

        ! fixed - main menu didn't always update when using menu bar.

        + ability to skin the status bar with a clist_nicer item. Eanble skinning on the status
          bar option page and set up the skin item on the Background+ page.

        + ability to skin the toolbar background (skin item on the Background+ page). To
          enable/disable a skinned toolbar, right click any toolbar button and select "skinned
          toolbar".

        + added "per protocol" skin items. Enable it on the Background+ page and set the skin
          items for each protocol.

          Protocol skin items have priority over status skin items, however, the text color is, by
          default taken from the status skin item. So you can have per-protocol background
          skins mixed with per-status text colors. If you don't want to mix, then check "Override
          per status text colors, so that items with a valid "per protocol" skin will not use the
          per status text color.

          For metacontacts: Unless the "Ignore all subcontact states" option is checked,
          metacontacts will be skinned according to their "real" protocol. Otherwise, you can define
          a protocol skin for the MetaContacts protocol.

        ! "sort by proto" now uses the protocol order defined under Options->protocols. It also
          properly sorts metacontacts according to their active subcontact (unless, the "Ignore all
          subcontact states" option is checked.

        + added the ability to show the "connecting" status for each protocol using a special icon
          for the status bar panel of that protocol. The icon is visible while the connection is
          "in progress".
          If you are using IcoLib, you can configure one connecting icon for each installed protocol,
          otherwise it is global and cannot be changed (unless, you edit the DLL).

        ! fixed all option pages so that the "Apply" button isn't enabled when the dialog opens.

        + support for the GCDNF_UNICODE flag added to the MS_CLIST_GETCONTACTDISPLAYNAME service.
          If this flag is set in the lParam, the service returns a widestring contact name.
          (Unicode build only).

        * the setting to configure the minimum row height has been moved away from the font
          configuration page and is now on the "List" page, because clist_nicer hides the font
          configuration page when the font service plugin is available.

0.5.1.9 - 2005/09/22

        * Non-Unicode build should now again work with Miranda 0.4.0.1.

        * status bar doesn't look weird when "Make sections equal width" is unchecked

        * many internal code robustness updates

        + merged one critical unicode / group related bugfix from clist_classic

        * When sorting contacts by protocol, metacontacts are sorted by their current
          "real" protocol (the protocol which determines the most online contact).
          Note: Uncheck "Ignore all subcontact states" on the advanced option page to
          make this work. If the setting is checked, the contact list will ignore all
          subcontact state values and only use the master contact information.
          NOTE: this feature is incomplete, it does not react to protocol changes (yet).

        + new, experimental, autosizing optimization. Much less repainting and flickering
          when a large number of contacts go online/offline (e.g. while conncting a
          protocol).

        * changed the way selective status icons work a bit. The setting does no longer
          depend on "Show status icons" being off, and the "Always align..." option being
          on. Note that selective status icons only work with the avatar alignment set to
          "Far left".

0.5.1.8 - 2005/09/20

        * Critical bug (hangup when status bar disabled) solved.

0.5.1.7 - 2005/09/20

        ! items in protocol ordering dialog were not dragable (unicode build).

        ! The option "Automatically fill background with wallpaper" was crashing the plugin
          in the unicode build.

0.5.1.6 - 2005/09/19 - released as UNICODE only build (for testing).

        + added status bar protocol sorting

        + added new option on the Background+ page: Apply group indent to background drawing.
          When enabled, the indentation values for grouped contacts will also affect the background
          of the items, not only the contents.

        + BIG unicode changes. All clist_classic changes to allow Unicode contact and group names
          have been merged. This should, however, be considered experimental alpha code. There
          are probably bugs and it may crash. BACKUP your db before using the unicode build (that's
          generally a good idea when testing bleeding edge builds, including the nightly builds
          of the unicode core).

        + ability to show the ICQ extended status menu on the status menu. Patch by Nullbie - this
          feature requires a slightly modified ICQJ. Maybe, this code will make it into the
          official ICQJ version.

        ! fix: Move to Group->Root Group actually made the contact invisible, because it set the
          Group to an empty string (wrong, the Group entry needs to be deleted in the db).

0.5.1.5 - 2005/09/15

        + added TweakUI - like full transparency. Setting is on the Window page (same place
          where you can set normal transparency). This setting can be mixed with active/
          inactive transparency values, which will then control the transparency of the
          remaining parts of the window (fonts etc..).

        + added: double clicking the avatar opens the user info dialog.
          Enable it on Options->Contact List->List.

        * somewhat smoother and less "jumpy" resizing (new bugs/small visual glitches possible,
          especially with autosizing enabled).
          This includes "fast resizing" for manual resize operations (dragging the window border).
          Certain "expensive" paint operations are skipped to speed up resizing. A full window
          repaint is executed at the end of a resizing cycle.

        * fix: minor visual glitch with sunken frame and bottom buttons enabled.

        + added pflagnum_5 support to the status menu builder...

        ! fixed: status bar default setting was ignored for fresh profiles

0.5.1.4 - 2005/09/13

        + added "move to group" contact menu entry

        + client icon update from clist_mw. Should be all there now.

        + "Automatically fill background with wallpaper" now also works with the new setting
          on the background page (use background for entire window).

        * The "Plus" page has been renamed to "Advanced options". Reason: "Plus" conflicts with
          a similar page of the popup plugin, and with some language packs the resulting trans-
          lation can be confusing - for example, in german language pack, plus is translated to
          "smilies and skins" (for the popup+ plugin) which doesn't really match the purpose
          of clist_nicer's former "Plus" page. "Advanaced options" is neutral and not confusing
          at all.

        + added the 2 new font settings for status messages and frame titles to the font service
          configuration. Consequently, when the font service plugin is installed and detected,
          clist_nicer+ disables its internal font configuration dialog. Also, the internal font
          configuration dialog has been moved to the "Customize" section.

        + added the genmenu group menu stuff (group, subgroup etc.)

0.5.1.3 - 2005/09/13

        ! fix for status detection not working in some cases (too much optimizations done)

0.5.1.2 - 2005/09/13

        ! row gap value wasn't loaded at startup.

        ! fixed problem with ICQ xstatus modes & messages

        * strip cr/lf sequences from status messages to avoid unreadable chars.

        * reorganized client icons and id strings

        * fixed dimmed avatar for idle contacts when using GDI+

        + new setting on the "Advanced Options" page.
          "Don't request avatars for offline contacts". This option will, when enabled, prevent
          the contact list from requesting avatars using the avatar service when a contact is
          offline.
          The option is useful if your contact list is very large and the initial request for
          all avatars may cause a delay or if you have set your clist to display all contacts
          (including offline). Avatars will then be requested when a contact comes online. This
          option might also save quite some memory on large contact lists, because most of the
          time only a fraction of your contacts will be actually online.

        ! fixed hit-test (double click on extra icons...)

        * changed database paths for menu item configuration. Unfortunately, you may have to
          redo your menus :/ Reason: collisions when switching clists (mw, modern, nicer) may
          cause troubles with the menu system. clist_mw and _modern are already using different
          database paths, so clist_nicer also has to do so.

        + added a skin item for the event area. Also, the button is now gone and the entire
          event area is now clickable. The button just didn't look well with a skinned event
          area.

        ! fixed "not on list" font color was ignored.

        + added icon to show activity in irc channels, based on the visiblity setting. You need to
          have "Show visibility icons" enabled in order to show it.
          Icon is configureable via IcoLib, as always.

        * the detection for the "most online" protocol now ignores protocols which are not fully IM
          capable (like RSSNews) and don't support away status mode(s). This prevents the status
          button from showing always "Online", when a protocol cannot go into away mode (like RSS).

0.5.1.1 - 2005/09/09

        ! fixed a few mw bugs (frame gap, some redraw issues). Additional pointer checks in AddFrame()

        ! fixed possible on exit crash (using deleted critical section)

        + added clist_nicer+ skin item for the frame title bar background.

        * some optimizations to resizing (clui frame mainly).

        + added extra icons (mail, sms, homepage + one reserved). Options
          are in Contact List->Window. The icons are clickable and open your default browser
          or email client respectively (double click needed).

        + frame title bar can now be fully skinned. A new font setting has been added to set
          the font + color for frame titles.

        + new setting: Clip border by (Window page). Will clip the main window border by
          x pixels on each side which can effectively be used to completely get rid of the
          contact lists border. This can work in combination with the "rounded window" setting
          on the same page. Note: may not fully work when autosizing is enabled.

        + new setting: Row gap (List page). Insert x pixels of gap after each contact on the
          list. The gap is transparent, so the background image (or color) will be visible here.
          This is somewhat different from the Background+ item configuration where a margin can
          be set for each side of a contact list item. The row gap is considered when calculating
          row heights, the individual item margins are not.

        * removed clist_nicers own copy of ICQ xstatus icons. These icons are now obtained by
          using the extraimages api (like clist_mw does). The ICQ protocol sends these icons
          on request.

        * the options to show extra and client icons were moved to the "Window" page, where you
          can also configure the other extra icons (email, homepage, URL etc..).
          In order to see mBirthday icons, you need to activate the "Reserved" and "Reserved2"
          entries.

        * the event area is now a frame of its own and can be moved anywhere you want it. Autohide
          feature does still work.

0.5.0.7 - 2005/08/30 - not officially released, for testing purpose only

        * GDI+ rendering added. Requires gdi+ installed - it is on all XP and most Win2K systems,
          others can get it here:

          http://www.microsoft.com/downloads/details.aspx?FamilyID=6a63ab9c-df12-4d41-933c-be590feaa05a&DisplayLang=en

          Using GDI+ for rendering the avatars gives better quality, especially for fully alpha-
          blended PNG images, but even normal bitmaps look better because of the higher quality
          image rescaling in gdi+.

        + the toolbar button for toggling sounds has now 2 icons showing the actual state of the
          sounds setting.

        + updated toolbar icons with the latest ttb icon set by Angeli-Ka

        * show xstatus (if set) on the status button (patch submitted by nullbie)

        + more GDI+ rendering - background items are now also rendered with GDI+ using antialiasing,
          so rounded contact list items should look better now. GDI+ is optional and needs to be
          enabled on the "Plus" page in the options tree. It cannot be enabled, if it isn't installed
          though. GDI+ is used with "delayed" linkage, so it shouldn't give you an error if the
          gdiplus.dll is not installed on your system.

        ! small bug with "far right" aligned avatars corrected (text overdrawing the avatars).

        + added customizable menus (main menu, status menu and contact menu only) - code from clist_mw,
          slightly changed because some _mw features are not in clist_nicer.

        + added multiwindow API, so all multiwindow plugins should work now, including top toolbar
          of course.

        * client icons are loaded "on demand" to save gdi resources

0.5.0.6 - 2005/08/27

        + option to disable the expand/collapse icons for groups (Options->Contact List->List)
          If enabled, you'll have to double click the group label in order to expand/collapse
          a group.

        + added more client icons - thanks to Angeli-Ka for the icon set.

        + some performance optimizations (about +5k code size)

        * changed the status icon on the bottom status selection button. If you don't have set
          a preferred system tray icon on Options->contact list, the button will now show your
          "most online" status, using the global status icon.

        * visual corrections for multiline-status messages. only full rows of text are visible.

        ! fixed and added a few border styles for contact list items (Background+ page)

0.5.0.5 - 2005/08/25

        + added rounded window frame

        + added support for database-cached Yahoo and GG status messages. Also, ICQ
          extended status messages can be shown on the contact list, since they are
          also saved to the database.

        - removed the "unknown" avatar feature. Since the avatar service now supports
          per protocol default images, it's rather pointless to have a fallback
          image in the clist itself.

        * reduced database reads and writes a lot (caching some configuration data).

        * slightly changed the way the clist determines if a second line of text is
          needed. There are now 4 modes availble, selectable via a combo
          box and they are considered in the following order:

          * Never - the 2nd line will never be visible, no matter how much space is
            available. If an avatar requires a larger row size, the nickname will be
            centered and the remaining space will be left empty.

          * Always - each contact will have a second row of text.

          * If space allows - The second row will be visible when the row height is already
            large enough (e.g. due to the avatar using a considerable amount of vertical
            space).

          * If needed - The second row will be visible if there is useful information to
            display, that is, the contact has set a status message or extended status mode
            (for ICQ contacts). The normal protocol status is not considered here.

        + some tweaks to avatar drawing - better clipping with rounded avatars, region based
          borders.

        + another memory overflow found and fixed in the DrawAlpha() function

0.5.0.4 - 2005/08/25

        + bugfix for startup crash

0.5.0.3 - 2005/08/22

        ! bugfix: when starting hidden/minimized, some buttons did not show up after
          restoring the clist until it was resized.

        * delete group warning dialog now shows the name of the group which is about to
          be deleted in the title bar (useful, if the delete group service was called by
          another plugin, and you therefore cannot know which group is affected).

        * embedded contact lists can now display avatars and use dual row mode.

        ! fixed quicksearch problems with avatars and dual row display.

        ! Background+ page was not translateable (inherited bug from original clist_nicer).

        + added option ("Plus page") to show the status msg instead of the status mode. Note
          that this only shows cached "CList" status messages and does NOT retrieve them
          actively. Also, you need to enable "Allow two rows of text" to show them.

          The order of tings shown in the 2nd line is (depending on availability):
          1) Clist status message (if enabled on the option page)
          2) Custom status mode name (ICQ only)
          3) protocol status mode name (online, offline, away and so on...)

        ! fixed incorrect display of some contacts.

        + added "overlay" status icons which can be superimposed over avatars. Customization
          possible via IcoLib plugin. Enable them on the "Plus" option page.
          Thanks to Faith Healer for permission to use the icons.

        + added "selective status icon" support. This is a bit tricky. Basically, it fills
          the empty space for missing avatars with the protocol status icon. Selective status
          icons require the following:

          * option enabled (plus page)
          * Status icons switched off (plus page)
          * Avatars enabled
          * "Always align icons and text for missing avatars" enabled

          If these settings are in effect, then the empty space showing up if a contact has
          no avatar is filled with the protocol status icon.

        + added variable row heights. Thanks to pescuma for a really nice and clean
          implementation of this feature with minimal impact on the contact list core code.
          As a result, the avatar height is now a separate value and does no longer depend
          on the row height (set it on the "Plus" page - default are 28 pixels in height).

        + added support for the updater plugin by sje. Future versions of clist_nicer+ may
          be available by automatic updates ONLY ("major" releases will still be available
          in the file listing).

0.5.0.2 - 2005/08/06

        * changed API of loadavatars. You need to update both .DLLs not only the
          clist_nicer_plus.dll. If you don't, it will crash.

        * better quality for "rounded" avatars.

        + option to always align nicknames and/or icons, even if there is NO avatar for
          a contact (just leave an empty space then).

        * if an extended status mode (ICQ) is set, it will be shown in the second line,
          instead of the normal protocol status.

        ! center group names now also works with the contact count numbers enabled. Also,
          draw lines along group names works with centered group names.

        + avatar alignment now supports 3 modes:
          * far left (avatar at the left edge of the contact list)
          * far right (avatar at the right edge)
          * with nickname (avatar just in front of the nickname, but right of the status
            icon).

        + some fixes to hottracking (works for ignored items). The option "ignore selection
          for group names" is now working.

0.5.0.1 - 2005/08/05

        * hottrack item config moved to the item list. It can now be configured like any
          other item, except that it inherits the following stats from the underlying
          item.

          * corners
          * gradient TYPE (colors can be set)
          * margins

          colors and transparency value can be set for the hottracking item, but shape
          (corners), margins and gradient type cannot, because they need to be inherited
          from the item which is currently "hottracked".

        ! another bugfix with window layout when autosizing is enabled

        * changed sorting method. It now uses sorting based on current locale
          settings, which means it peroperly handles language specific characters like
          german umlauts. That also fixes wrong sortings with cyrillic nicknames.

        + avatars added. Yes, I don't like avatars on the contact list, but since it is
          requested so often... really, I need someone who can explain me why avatars are
          SO important in instant messaging... :)

          The options are, as always, in the context
          menu of the contact list. Avatars can be switched off, they can be ordered to left
          align (normally, they are just left of the nickname, but after the status icon)
          and they can have a border.

          Avatars follow the row height, so in order to get a reasonable avatar size, you
          should increase the row height (a value of 28 or more pixels already gives decent
          quality). They are also drawn with the alpha value of the background item, so they
          can be partially transparent.

          Avatars require the plugin LOADAVATARS.DLL, which is a separate plugin and works
          as some kind of avatar service in the background.

        + dual row mode added. When the row height allows for more than a single line of text
          (given the current fonts), a second line is added showing the status mode. Also, some
          icon position are changed in dual row mode and the visibility icon is moved to the
          2nd row so it won't take space from the nickname.

        + some options to tweak the layout added. It is now possible to make the status icons
          optional, for example.

        + status icons are now optional (enable them via the context menu or use the new "Plus"
          option page.

        + new option page added (Contact List->Plus). Contains all the new settings for tweaking
          the layout and other stuff.

0.4.0.4 - 2005/07/13

        * better client icon update

        ! evemt area only groups message events

        + timer based clist sorting added. This saves A LOT of sorting, especially while
          connecting multiple protocols and filling the contact list. It can reduce the
          number of sorting runs by a factor of 10. The disadvantage are very small delays
          in the range of 100 - 150 milliseconds. In most cases, you won't notice it.

          The timer based sorting can be disabled by creating a DWORD value in the CLC
          module. Name it "SortTimer" and set its value to 0.
          Alternatively, you can set the timer value in milliseconds, using the same db
          setting. Default is 150 ms and you can set it to any value between 50 and 500.
          Smaller and larger values will be ignored as they don't make sense.

          NOTE: restart required after changing the db setting.

        + added right margin indent value. Affects text, right-aligned icons only, but not
          the background (they already have individual margins for each item type).
          Options->Contact List->List. Basically, it prevents the client or extended status
          icon(s) to "touch" the right window border (which may look ugly).

        + added "full row selection". Simple, you don't HAVE to click on the contacts text
          any longer in order to select it. This conflicts with the "easy move" feature,
          unless you have some free space in your contact list. To disable full row select
          hold the SHIFT key while using the mouse, so you can still "easy drag" the contact
          list window around.

          You can enable/disable full row select under Options->Contact List->List
          Note: full row selection also impacts hottracking of items.

        + added hottracking with changing background color. Two new color fields are on
          the Background+ page which allow you to set the (background) colors for hottracked
          items. If a gradient has been set for an item type, hottracking uses both colors
          to build the new gradient, otherwise, only the first color is active.

        ! fixed a few redrawing/layout problems with the new window elements.

        ! fixed autosize-related focus stealing (ugly)

        + added a new skin item "First group on list" - allows to draw the first group header
          with a different skin.

0.4.0.3 - 2005/07/13

        ! don't draw additional icons in "embedded" mode (e.g. if the clist control
          is being used in a dialog box like typing notify options.

        ! only show the toolbar config menu when right clicking over the toolbar.

        ! some visual glitches fixed when autosizing is on.

0.4.0.2 - 2005/07/09

        ! fixed bug with fade in/out contact list

        ! fixed "sorting by name" bug (inherited from clist_classic, rather old bug)

        ! fixed metacontacts not disappearing from group when going offline

        - removed "simple" font configuration dialog.

        + added a context menu to allow configuration of some aspects of the button bar.
          You can increase/decrease the size of the buttons, can set them as flat or 3d,
          and you can disable visual styles for the buttons (may look better with some
          visual styles as they have problems to draw very small buttons).
          Also, you can now decide which buttons you want to see on the button bar,
          and which buttons you don't (that may be an opportunity to add some more
          buttons in the future).

        + added option to the contact list context menu -> use meta protocol icons. If
          enabled, icons for the meta protocol will be shown for metacontacts (instead of
          the actual protocol icons).

        ! some visual glitches fixed (especially, when TweakUI is enabled).

        ! another old bug fixed. Groups are now using the colors from the "Background+"
          page.

        + added the "Event Area". This is a small area at the bottom of the contact list
          which will show you the most recent contact list event (received message, file
          and so on...). If more than one event is waiting, a list of unhandled event is
          opened when you click the button in that area.
          This feature is, of course, optional. Right click the contact list and you'll find
          the options in the context menu. You can disable the event area or set it to auto-
          hide so it will only be visible when needed.

        + feature added: "Move events on top" - contacts with unread or
          "unhandled" events (simply, all flashing contacts) will stick on top of their group
          (or the entire contact list, if no groups are in use).

          This is optinonal, and can be configured at the "Contact List" main page (where you
          set other sorting options.

0.4.0.1 - 2005/07/08 - first public release