Как обновить вид браузера в окне поиска (Mac OS 10.5)? - PullRequest
0 голосов
/ 01 февраля 2012

Я хочу обновить все NSTableView в NSBrowserView поиска в Mac OS 10.5.Для обновления вида значков, представления списка и представления списка потоков я использую скрипт Apple.

@"tell application \"Finder\" to update every item in front window"

В браузере этот скрипт обновляет только последний столбец.

Например, этот скрипт обновляет только третий столбец (icns-copy.m .....).

enter image description here Может кто-нибудь помочь мне?

Ответы [ 2 ]

2 голосов
/ 02 февраля 2012

Это только обновление последнего столбца, потому что каждое окно Finder имеет ровно одну целевую папку за раз (содержимое которой отображается в последнем столбце). Решение состоит в том, чтобы перейти вверх по иерархии папок и обновить родительские папки.

tell application "Finder"
    set t to front window's target
    repeat
        try
            update every item in t
            set t to t's parent -- go one level up
        on error                -- e.g. when you reach root
            exit repeat
        end try
    end repeat
end tell

Это быстрое и грязное решение, так как оно подходит к корню диска. В идеале он остановился бы на папке, которая отображается в крайнем левом столбце, но я не мог понять, как определить, что это такое.

0 голосов
/ 23 июля 2012
tell application "Finder"
    set view to (get current view of front window as string)
    if view is equal to "column view" then
        set t to front window's target
        set p to folder "Myfolder" of folder "parag" of folder "Users" of startup disk as string
        repeat
            if (t as string) begins with p then
                try
                    update every item in t
                    set t to t's parent -- go one level up
                on error -- e.g. when you reach root
                    exit repeat
                end try
            else
                exit repeat
            end if
        end repeat
    end if
end tell
...