1. 27 May, 2020 1 commit
    • Robert Sprowson's avatar
      [489] Fix for Ctrl-X/Ctrl-C clearing Filer rename writable · 70d24384
      Robert Sprowson authored
      When Ctrl-X or Ctrl-C are pressed during a rename the Wimp (via Clipboard Manager) claim the clipboard to denote the text that was placed on it. This sends a Message_ClaimEntity. Unfortunately Filer wasn't discriminating which entity was being claimed, when it is only interested in loss of caret, so removed the writable and aborted the rename.
      Add a check on the entity being claimed; only do something for caret.
      Version 2.48. Tagged as 'Filer-2_48'
  2. 01 Feb, 2020 1 commit
  3. 07 Dec, 2019 1 commit
    • ROOL's avatar
      Correction to SetCaretPosition parameters · f3dd15d8
      ROOL authored
        MVN #1 is -2, whereas Wimp_SetCaretPosition expects -1 to mean "you calculate for me".
        Spotted during Clipboard Support bounty testing.
      Version 2.46. Tagged as 'Filer-2_46'
  4. 02 Nov, 2019 1 commit
    • Timothy E Baldwin's avatar
      Allow imagefs files to be applications. · b50359d5
      Timothy E Baldwin authored
      This replicates the functionality of ImageFSFix, which
      is supplied and enabled by default with SparkFS and ArcFS,
      without the detrimental effects of confusing other programs.
      Version 2.45. Tagged as 'Filer-2_45'
  5. 09 Mar, 2019 1 commit
    • Robert Sprowson's avatar
      Create intermediates for a (non leaf) new directory · 469d30f3
      Robert Sprowson authored
      The Ursula Filer enhancements (see 1309,211/FS section 4.4) aimed to replace the former 'New directory' writeable with a Save As style draggable box, based on the 'Copy as' one. However, its implementation was asymmetrical.
      Consider what 'Copy as' does:
      * When the dir icon is dragged the leaf is used as the target regardless of what else was typed in the text box
        eg. "foo.bar.baz" when dragged will created "baz" only
      * When text is typed in the box and OK (or enter) pressed
        * If the text is a leaf (no dots) it is prefixed with the containing dir then passed to *COPY
        * Otherwise passed direct to *COPY which will recursively create the steps
          eg. select "baz", type "foo.bar", result is contents of "baz" now copied to "foo.bar.baz" in the CSD - which may not be the containing dir
      Whereas 'New directory' did:
      * When the dir icon is dragged the leaf is used as the target regardless of what else was typed in the text box
      * When text is typed in the box and OK (or enter) pressed
        * If the text is a leaf (no dots) it is prefixed with the containing dir then passed to *CDIR
        * Otherwise passed direct to *CDIR which will error "Not found" since the intermediates are missing
      Update the Filer to spot the last case and create the intermediates, before presenting the final path to *CDIR as before.
      Clicks.s: For each path element create the directory, then call *CDIR for the final level.
      DecodeMenu.s: Delete dead code.
      PathMunge.s: Correct comment (r1 is preserved).
      Version 2.44. Tagged as 'Filer-2_44'
  6. 29 May, 2016 1 commit
  7. 08 May, 2016 1 commit
  8. 01 Aug, 2015 1 commit
    • Jeffrey Lee's avatar
      Fix null pointer dereferences in keyboard shortcut handling. Fix Ctrl-R... · c5d2c65d
      Jeffrey Lee authored
      Fix null pointer dereferences in keyboard shortcut handling. Fix Ctrl-R renaming not always working.
        s/Redraw - Introduce always_create_rename_writeable, as a variation of create_rename_writeable. This new version ignores the mouse position and positions the caret at the end of the filename.
        s/KeyPress - Fix delete shortcut handling to do nothing if nothing selected (avoids null pointer dereference in Filer_Action). Fix null pointer dereference in 'open parent' shortcut handling if parent already open. Change rename handling to use always_create_rename_writeable instead of trying to generate a fake mouse position (old code only worked for some filer view modes). Fix comments for next/prev dir shortcuts to match reality, and wrap rename code in AltRenaming switch to match the implementation in s/Redraw.
        Tested on Pandaboard
        Fixes null pointer dereferences reported on forums:
      Version 2.41. Tagged as 'Filer-2_41'
  9. 29 Jul, 2015 1 commit
    • Robert Sprowson's avatar
      Minor filer fixes · 41d6847d
      Robert Sprowson authored
      When a viewer is in 'sort by size' mode the size of image files was not being considered. So, a dir full of ZIP files (SparkFS not run) would be in size order amongst the other files, but if SparkFS was running the image files would be sorted as dirs of 0 size.
      Fix for ticket #400, the *Filer_Run command now defaults to '-noshift' and inspecting the shift key state must be requested (opt in instead of opt out). This solves two key annoyances, running the !Boot sequence and holding shift causes you to enter the desktop with the obey files from the Tasks directory unhelpfully loaded in a text editor, and when setting a task alarm in !Alarm if the alarm happens to go off when you're typing with the shift key the task's !Run file opens in a text editor.
      SortDir.s: count image files as files so they're sorted like they were in Filer 2.26
      Commands.s: parse new option switch, and consider -noshift the default
      Messages/HelpSrc: add the switch to the command syntax
      Tested with a task alarm in !Alarm with and without shift held down, and running a !Boot sequence similarly.
      Version 2.40. Tagged as 'Filer-2_40'
  10. 17 Nov, 2014 2 commits
    • Robert Sprowson's avatar
      Fix error on drag termination · a90a789f
      Robert Sprowson authored
      When DragASprite is unplugged the Filer would error on terminating a file drag.
      Changed to 'X' SWI like all the other DragASprite_Stop uses.
      Tested on a Risc PC with & without the DragASprite setting enabled.
      Version 2.39. Tagged as 'Filer-2_39'
    • Robert Sprowson's avatar
      Use bit definitions from headers · ae498b01
      Robert Sprowson authored
      All uses of FileSwitchCMOS now use symbolic names from Hdr:CMOS.
      Fix up $$ escape warning from objasm.
      Same binary, not tagged.
  11. 10 Nov, 2014 1 commit
  12. 29 Jun, 2014 1 commit
    • Jeffrey Lee's avatar
      Fix incorrect d_filesperrow calculation when directory path name is wider than the screen · a5e1b7ca
      Jeffrey Lee authored
        s/Open - When widening the viewer width so that the full directory name is visible, clamp the value to the screen width before calculating d_filesperrow. Without this fix the window width will get clamped to the screen width (by the Wimp?), but d_filesperrow will reflect the pre-clamp value, potentially causing one or more columns of files to be placed outside the window bounds until the window is next resized.
        s/Errors, s/GoFiler, s/Redraw - Swap some ADRs for ADRL and fix a typo that prevented the module from building when debugging was enabled
        Tested on BB-xM with some long path names and 640x480 screen
      Version 2.37. Tagged as 'Filer-2_37'
  13. 01 Mar, 2014 1 commit
    • Jeffrey Lee's avatar
      Redraw items in a more optimal order · 878526ad
      Jeffrey Lee authored
        This change moves some identical code out of event_redraw_window and UpdateFile, to create the RedrawDirectory routine.
        This new routine improves on the original code by using the spare part of the userdata block to build a list of all files which need redrawing, and then sorting the list by filetype & state in order to try and make sure all files which have the same sprites are drawn in one go. This helps avoid thrashing the translation table generation code in the Wimp/ColourTrans, and helps improve CPU cache performance.
        File changes:
        s/Redraw - Cut up event_redraw_window and  UpdateFile to create the new RedrawDirectory routine and SortAndDraw subroutine.
        s/SortDir - Add sort_redraw function which is used to sort the files into their redraw order. However it takes different arguments to the other sort routines and so is only of use to SortAndDraw.
        Tested on Iyonix, BB-xM, StrongARM RiscPC
      Version 2.36. Tagged as 'Filer-2_36'
  14. 14 Jan, 2014 1 commit
    • Robert Sprowson's avatar
      Build fix · b8a00568
      Robert Sprowson authored
      Hdr:Services moved up above Hdr:Wimp
      Retagged as Filer-2_35
  15. 09 Dec, 2013 1 commit
    • Robert Sprowson's avatar
      Fix to Filer_OpenDir parsing · 2fcce31f
      Robert Sprowson authored
      Correcting the db_sm_ variable names to match the values stored in CMOS location 198 exposed the fact that the old order was masking a bug where the ReadArgs switch order didn't match the syntax string.
      Syntax string switched round.
      Fix for ticket #369.
      Version 2.35. Tagged as 'Filer-2_35'
  16. 24 Nov, 2013 1 commit
    • Robert Sprowson's avatar
      Add support for sorting dir contents numerically as well as alphabetically · dfe8a930
      Robert Sprowson authored
      New option to the display menu "Numerical sort" modifies the existing 4 sort methods (name, size, type, date) to sort by interpreting any numbers as cardinals. This modifier only really has effect on "Sort by name" since the other three already sort numerically.
      This means for example a dir containing "File9,File10,File11" will appear in that order, whereas sorting by name alone would show "File10,File11,File9".
      SelStuff0.s/SelStuff.s/Gets.s: Removed. Single function placed into SelStuff.
      ModHdr.s/OpenDir.s/Commands.s/DebugFlags.s: Decoding of -NumericalSort switch, switched out undocumented 'Query' flags.
      DecodeMenu.s/MenuCreate.s: Handle menu entry, simplify rename code a little.
      HelpSrc.s/Messages: Extra help text.
      SortDir.s: Pass option flag to Territory_Collate.
      WkspEtc.s: Corrected definition of db_sm_type and db_sm_size.
      Version 2.34. Tagged as 'Filer-2_34'
  17. 15 Dec, 2012 1 commit
    • Robert Sprowson's avatar
      Adjust tokenisation hints · 16cce4f2
      Robert Sprowson authored
      The syntax messages for Filer_ commands are also needed by the ReadArgs macro which, unlike OSCLI, can't pass Token0 in r2 for expansion, resulting in garbled error messages.
      Hints changed to just use DictTokens only on syntax messages, and directed Token0 hints on the help messages.
      Updated missing German translations too.
      Fixes ticket #329.
  18. 25 Sep, 2012 1 commit
    • Robert Sprowson's avatar
      Adjust shortcut key · fc00e359
      Robert Sprowson authored
      Turns out !Draw and !Edit (from which the delete precedent was taken) were themselves not the best example, this change uses the approved ^K key combo.
      German messages updated to include shortcut menu hints.
      Version 2.33. Tagged as 'Filer-2_33'
  19. 12 Sep, 2012 1 commit
    • Steve Revill's avatar
      Tweak to positioning of input focus. · 4bb955e9
      Steve Revill authored
      Now places input focus into any filer window that is opened or brought
      to the front. Previously, the window you opened from, usually behind
      the new window, would be the one with focus.
      Version 2.32. Tagged as 'Filer-2_32'
  20. 11 Sep, 2012 1 commit
    • Robert Sprowson's avatar
      Swap hot key for something less fat finger prone · 050ac5b9
      Robert Sprowson authored
      When used with 'confirm deletes' off (which is probably a common mode of operation so as to not have to confirm every single file) it's now all too easy to delete whole directories of files if selected.
      Shortcut key changed to CTRL-X (to match the build in apps) and pave the way for a future with CTRL-C and CTRL-V ala Windows.
      Version 2.31. Tagged as 'Filer-2_31'
  21. 07 May, 2012 1 commit
    • Ben Avison's avatar
      Keyboard shortcuts in the Filer · 6f72f6ee
      Ben Avison authored
        Tab - focus to next window
        Shift-Tab - focus to previous window
        Backspace - open parent
        ^W - Set working directory
        ^F - Change display format
        ^S - Change sort order
        ^F2 - Close current window and move focus
        ^A - Select all
        ^Z/Esc - clear selection
        Del - delete selected object(s)  (WARNING - No confirmation)
        Also installed error handler to help prevent it becoming the innocent victim
        of failures in callback handlers etc.
        Changes received from Adrian Lees
      Version 2.30. Tagged as 'Filer-2_30'
  22. 24 Mar, 2012 1 commit
    • Jeffrey Lee's avatar
      Fix asasm 2.00 error · 11ca852b
      Jeffrey Lee authored
        s/WkspEtc - Fixed missing colon on end of :LNOT:
        No change to binary under objasm
      Version 2.29. Retagged as 'Filer-2_29'
  23. 12 Nov, 2011 1 commit
    • Robert Sprowson's avatar
      Adjust dragging to drive icons no longer attempts to reference a deleted dir viewer. · bfb09d9e
      Robert Sprowson authored
      In the case of adjust dragging from one dir viewer to another it is safe to call CloseInitiatingDir because the operation is handled entirely internally. In the case of adjust dragging to a drive icon the dir viewer must be kept until after the next wimp poll so that the selection can be retrieved and the copy operation started.
      DelViews.s: made the stack frame a bit more reasonably sized
      GoFiler.s: removed some unused messages from the message list
      MsgsIn.s: removed the corresponding dead switch
      Version 2.29. Tagged as 'Filer-2_29'
  24. 26 Oct, 2011 1 commit
  25. 14 Oct, 2011 1 commit
    • Robert Sprowson's avatar
      Fix bug in sort-by-size mode for files > 2G. · 6926e01c
      Robert Sprowson authored
      A signed comparison meant the larger files appeared last and in reverse order. Fixed by using an effective 40 bit compare by ripping off the date sorting code.
      Also made all the reverse sort versions use common sorting by using ALTENTRY macros for the forware sort versions.
      Version 2.27. Tagged as 'Filer-2_27'
  26. 23 Oct, 2010 1 commit
    • Robert Sprowson's avatar
      Fix for 'set type' writeable icon being out of step with the disc. · e648207e
      Robert Sprowson authored
      Adjust clicking would recreate the menu immediately after the operation but before the next wimp poll when the directory gets recached, so the first entry in the cache is manually fixed up so the recreated menu is right (the files all get refreshed later anyway).
      Collapsed switch 'Fix003', after 21 years of testing it's safe to assume it's good.
      Reinstated ExtractCMOSOptions conditional on not OptionsAreInRAM so that combination still assembles.
      Optimise MUL/ADD into MLA where possible, and set 'S' flag on ALU operations when followed by TEQ#0.
      Tested with & without filer action running, fixes ticket 254.
      Version 2.26. Tagged as 'Filer-2_26'
  27. 09 Mar, 2010 1 commit
    • Robert Sprowson's avatar
      Fill in missing interactive help. · 4450a4ed
      Robert Sprowson authored
      New arrivals 'Refresh' and 'Reverse sort' caused errors when used with !Help due to missing tokens. Volunteers from Germany sought.
      Version 2.25. Tagged as 'Filer-2_25'
  28. 07 Mar, 2010 1 commit
    • Robert Sprowson's avatar
      Correct sprite name clamping while looking for sm!app · 67875a57
      Robert Sprowson authored
      A previous fix in Filer-2_10 had changed the concatenation to be clamped at 10 letters so it doesn't overflow the buffer for long app names. However, having failed to find 'sm!app' it then just tried adding 2 to the string pointer therefore looking for a 10 letter sprite '!app'.
      This is different behaviour to before Filer-2_10, which would have overrun thebuffer but at least looked for a full 12 letter name.
      Optimised strncat a bit.
      Put unused source file in the attic.
      Trimmed some bug fix switches dating back to 1989.
      Version 2.24. Tagged as 'Filer-2_24'
  29. 30 Jan, 2010 1 commit
    • Jeffrey Lee's avatar
      Fix missing 'Refresh' option in filer menu · 25b97604
      Jeffrey Lee authored
        A bad merge of some kind meant that the size of m_main was decreased by one entry between revisions 4.5 and 4.6 of s/WkspEtc, causing the menu code to chop the last item off of the menu (the 'Refresh' item, as listed in s/MenuCreate).
        This change fixes the size of m_main so that the number of items matches the number in s/MenuCreate.
        Tested on rev C2 beagleboard.
        Fixes bug #233.
      Version 2.23. Tagged as 'Filer-2_23'
  30. 07 Jan, 2010 2 commits
    • ROOL's avatar
      Add the ability to sort Filer objects in reverse order · 91cd1f33
      ROOL authored
        It's been possible to sort Filer objects using various criteria for a long
        time but sorting objects in reverse order was not possible. This change aims
        to remedy that omission.
        The option 'Reverse sort' has been added to the 'Display' submenu of the
        Filer menu, allowing the sort order of individual directory viewers to be
        changed dynamically.
        The switch -ReverseSort has been added to the command Filer_OpenDir to allow
        it to open directories with the sort order reversed.
        The switch -ReverseSort has been added to the Filer_Layout command so that
        reverse sort order can be set as default for new directory viewers. The
        Filer_Layout command is also written to the FlrSetup file in Choices:Boot.
        Tasks by the Filer configure plug-in (which has been also updated to allow
        Tested on Iyonix RO5.14
      Version 2.22. Tagged as 'Filer-2_22'
    • ROOL's avatar
      Make doubleclick-and-hold configurable · 96ebf063
      ROOL authored
        Added the command Filer_DClickHold to the Filer.
        It allows you to specify how long the second click of a doubleclick must be
        held down for before it is seen as a doubleclick-and-hold.
        The delay is specified in centiseconds, setting the delay to zero turns
        doubleclick-and-hold off.
        Tested on Iyonix RO5.14
        Submitted by Fred Graute, mid-December 2009
      Version 2.21. Tagged as 'Filer-2_21'
  31. 05 Dec, 2009 1 commit
    • Jeffrey Lee's avatar
      Fix alignment exception in Filer desktop save code · 5fcd11ce
      Jeffrey Lee authored
        transfer_number was allocating 18 bytes of space on the stack, leaving SP unaligned. To avoid alignment exceptions on ARMv6+, 20 bytes are now allocated instead.
        Tested on rev C2 beagleboard
      Version 2.20. Tagged as 'Filer-2_20'
  32. 03 Jul, 2009 1 commit
    • Steve Revill's avatar
      Added -NoShift parameter to Filer_Run · f3ac929f
      Steve Revill authored
        Added -NoShift parameter to Filer_Run command, mainly for benefit of future version of Alarm.
        Added new macro for reading cli parameters.
        Restored missing spaces from messages file.
        Tested on RPC RO4.02
        Changes by James Lampard.
      Version 2.19. Tagged as 'Filer-2_19'
  33. 15 Jun, 2009 1 commit
    • Ben Avison's avatar
      Bugfixes related to misuse of unaligned loads · 30ab68c3
      Ben Avison authored
        s.Commands: Filer_Truncation code to parse OS_ReadArgs output block was
          written on the assumption that LDR allows unaligned accesses - this is
          only true as of ARMv6! We got away with it as long as all the truncation
          widths were <= 65535 OS units - which in practice is easily as wide as
          any screen anyone might use. Nevertheless, this is now fixed to use the
          LDW macro.
        s.DragEnd - d_filesperrow is a 1-byte variable, yet it was loaded using
          LDR. This is clearly wrong and may in part be responsible for offsets
          48-63 of Message_FilerSelection being nonsense (though they are still
          incorrect after this fix).
        s.Redraw - loaded colour values to pass to Wimp_SetColour from 1-byte
          variables using LDR, and hence was setting undefined bits. Harmless with
          current Wimps, but probably not a good idea.
        Builds but untested.
      Version 2.18. Tagged as 'Filer-2_18'
  34. 11 Jun, 2009 1 commit
    • Ben Avison's avatar
      GET file pathnames changed · acfd82b0
      Ben Avison authored
        Uses suffixed file extensions for compatiblity with both objasm and asasm.
        Supplied by Peter Naulls, tested at ROOL
      Version 2.17. Not tagged
  35. 04 Oct, 2008 1 commit
    • Ben Avison's avatar
      Merged in changes from Castle · 7faf5a0b
      Ben Avison authored
        fix for Alt-Select filer renamimg intermittant failure.
        s.msgsin .. replaced EXIT NE after SWI. as NE state not held through 32bit SWI
        file access permissions sub menu window now initialises again
      Version 2.17. Tagged as 'Filer-2_17'
  36. 05 Nov, 2007 3 commits
    • Steve Revill's avatar
      Fixed main menu in filer. · fb7ebf3a
      Steve Revill authored
        The RO3 style guide states a main menu should be opened at x-64,y.
        Instead the filer was opening it's menu at x-192,y+16.
        This has now been fixed.
        Tested on RiscPC RO402.
        Changes by James Lampard.
      Version 2.16. Tagged as 'Filer-2_16'
    • Steve Revill's avatar
      Remove iconised viewer icon when the viewer is reopened. · d64c5d50
      Steve Revill authored
        Opening a viewer, iconising it then reopening it from its parent viewer or
        the iconbar doesn't remove the iconised viewer icon from the pinboard.
        Sending the message Wimp_WindowClosed (&400CC) when reopening an existant
        viewer fixes this.
        Tested on Iyonix RO5.11
      Changes by:
        Fred Graute
      Version 2.15. Tagged as 'Filer-2_15'
    • Steve Revill's avatar
      Make doubleclick-and-hold emulate Shift-doubleclick. · 4f496ef8
      Steve Revill authored
        Changed handling of doubleclicks so that after checking for Shift-doubleclick,
        and Shift isn't pressed, it checks if the mouse button is depressed for at
        least 0.2s.
        Implements a loop that runs for 0.2s whilst checking mouse button status, so
        will starve background processes for that time but this is by far the easiest
        way to implement this.
        Also there's no option to turn it off, adding one should be easy though.
        Tested on Iyonix RO5.11
      Changes by:
        Fred Graute
      Version 2.14. Tagged as 'Filer-2_14'