You can fix this with a change to TBFILELIST.e - and unfortunately, similar changes in other tool windows that have the same problem. Basically, what this does is if you click on the 2nd or later columns it makes like you clicked on the 1st column.
The side effect is now you get the scroll-left problem -- when you click on an item, it will always scroll to the left - but usually this is better than scrolling to the right.
In tbfilelist.e change the lbutton_up() function:
#define FIX_SCROLLER
void ctl_file_list.lbutton_up()
{
#ifdef FIX_SCROLLER
// This is the change to keep the horizonal scroller to the left.
// Same code needs to be added to many of the Slickedit listboxes that have the auto-right-scroll bug.
if (true) {
int curIndex=_TreeCurIndex();
if (curIndex<0) {
return;
}
// get a list of the selected items
int buffers_to_close[];
buffers_to_close._makeempty();
bufid := 0;
int info;
for (ff:=1;;ff=0) {
index := ctl_file_list._TreeGetNextSelectedIndex(ff,info);
if (index <= 0 && ff)
index = ctl_file_list._TreeCurIndex();
if (index <= 0)
break;
buffers_to_close[buffers_to_close._length()] = index;
}
int sib = _TreeGetNextSiblingIndex(curIndex);
if (sib >= 0) {
_TreeDeselectAll();
_TreeSetCurIndex(sib);
}
_TreeSetCurIndex(curIndex);
for (i:=0; i<buffers_to_close._length(); ++i) {
_TreeSelectLine(buffers_to_close[i], false);
}
}
#else
if (p_active_form.p_name == DOCUMENT_TAB_FORM) {
open_selected_files();
}
#endif
}