#include <X11/Xos.h>
#include <pwd.h>
-#include "selfile.h"
#include "xstat.h"
+#include "selfile.h"
#include <X11/Xaw/Scrollbar.h>
#ifndef MAXPATHLEN
extern uid_t getuid();
#endif /* def HAS_DIRENT_H */
-/* added missing prototypes */
-extern void SFtextChanged();
-extern int SFgetDir(SFDir *);
-extern void SFdrawLists(int);
-extern void SFdrawList(int, int);
-extern void SFclearList(int, int);
-extern void SFmotionList(Widget, int, XMotionEvent*);
-
typedef struct {
char *name;
char *dir;
static int SFtwiddle = 0;
+void SFsetText(char *path);
+
int
SFchdir(path)
char *path;
int n;
XButtonPressedEvent *event;
{
+ int dir = 0;
+ if(event->button == Button4) dir = -2; // kludge to indicate relative motion
+ if(event->button == Button5) dir = -1;
+ if(dir) SFvSliderMovedCallback(w, n, dir); else
SFbuttonPressed = 1;
}
XButtonReleasedEvent *event;
{
SFDir *dir;
+ static int lastClick;
+ if(event->button == Button4 || event->button == Button5) return; // [HGM] mouse wheel does not select
SFbuttonPressed = 0;
if (SFcurrentInvert[n] != -1) {
dir->entries[dir->vOrigin + SFcurrentInvert[n]].shown
);
SFmotionList(w, n, (XMotionEvent *) event);
+ if(lastClick == 256*n + SFcurrentInvert[n]) SFstatus = SEL_FILE_OK; // [HGM] double click implies OK
}
+ lastClick = 256*n + SFcurrentInvert[n];
}
static int