Jump to content

FastStone Image Viewer: enlarge Copy/Move dialog to screen height to enjoy more target folders

Recommended Posts

Posted (edited)

This is very handy code if you want to sort tons of pics (thumbnail pane) FAST into specified/favorited destination folders.

This will work with v7.7 and possibly back a few years. For the older versions I have some of this code hidden away in an old thread.

The default dialog size when pressing C or M in FastStone is just what you see below, and not adjustable, AFAIK.

It only allows for so much destination folders that are directly clickable. My code can reveal a multiple of this amount.

Personally, I have my left side mouse button opening the Move dialog, then the code pops it to full height.

You can then double-click a destination.



This might be amateur code that doesn't work on everyone's screen, but for me has been working dependably for years on 1920 x 1200px.

The .exe / loop runs in the background, detecting when one of either dialogs is opened, then shifts stuff around, displaying things at screen height with the Favorites tab in front.

#include <WinAPI.au3>
#include <WindowsConstants.au3>

Opt("WinTitleMatchMode", 2)

; MAIN program loop

While 1

    ; detect opening of both Copy & Move windows in FastStone Image Viewer (www.faststone.org/FSViewerDetail.htm)
    If WinActive ("[CLASS:TCopyMoveFolder.UnicodeClass]") Then _FastStone_EnlargeDlg()



; enlarge Copy/Move window and click 'Favorites' tab

Func _FastStone_EnlargeDlg()

    Local $hWnd = WinGetHandle(" to Folder")

    Local $desktop_y = _WinAPI_GetSystemMetrics($SM_CYSCREEN)

    ; auto-click once on tab 'Favorites'
    ControlClick ($hWnd, "", "[CLASS:TTntPageControl.UnicodeClass; INSTANCE:1]", "left", 1, 70, 10)                         ;

    ; WinMove ( "title", "text", x, y [, width [, height [, speed]]] )
    WinMove ($hWnd, "", Default, 4, 900, $desktop_y - 40)


    ; BUTTON Clear History List
    ControlMove ($hWnd, "", "[CLASS:TMyButton.UnicodeClass; INSTANCE:1]", Default, $desktop_y - 100)

    ; BUTTON Organize Favorites
    ControlMove ($hWnd, "", "[CLASS:TMyButton.UnicodeClass; INSTANCE:2]", Default, $desktop_y - 100)

    ; BUTTON Cancel
    ControlMove ($hWnd, "", "[CLASS:TMyButton.UnicodeClass; INSTANCE:3]", Default, $desktop_y - 100)

    ; BUTTON Move
    ControlMove ($hWnd, "", "[CLASS:TMyButton.UnicodeClass; INSTANCE:4]", Default, $desktop_y - 100)

    ControlMove ($hWnd, "", "[CLASS:TTntPageControl.UnicodeClass; INSTANCE:1]", Default, Default, 862, $desktop_y - 170)

    ; ensure focus is back to inside window and previously selected item (so selecting items by keypress will work)
    ControlFocus ($hWnd, "", "[CLASS:TTntListView.UnicodeClass; INSTANCE:1]")

    WinWaitNotActive("[CLASS:TCopyMoveFolder.UnicodeClass]", "")



As a power user I wished the dialog had three columns of folder name/path for these...

I know you could remove the buttons and top field (or also cover the task bar) to gain a few additional target folders w/o really hurting yourself.

What I'm wondering about: Can AutoIt also change the vertical spacing or font size of the rows with the paths?

That would offer me a handy amount of extra destination folders — the more the better.

Edited by Guy_
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...