PP Script: Favorite Folders on Open/Save

Те, кто ей начинают пользоваться, уже не в силах остановиться! Она может все. Или почти все!

PP Script: Favorite Folders on Open/Save

Сообщение Reuben » Чт янв 23, 2003 2:04 pm

Пытаюсь сделать File Box Extender Replacement , причем Эксплорера у меня нет -Litestep PowerPro и TC

Как бы Этого добиться?
<span style='color:purple'>
Ugly girl is better than nothing
Nothing is better than pretty girl
</span>
Reuben
Подполковник
 
Сообщений: 532
Зарегистрирован: Ср дек 04, 2002 8:59 am
Откуда: Jerusalem
Пункты репутации: 0

Сообщение Ergo » Чт янв 23, 2003 4:00 pm

*Menu FavFolder не работает? Или ты не пробовал? А вообще эта функция у PowerPro мне не очень нравится. Не везде работает. Я и сам уже давно думаю, как это воплотить. В Open она работает отлично, а вот при Save имеют место глюки <!--emo&:(-->Изображение<!--endemo-->

Поэтому я тут присел и решил сделать скрипик и для тебя <!--emo&:)-->Изображение<!--endemo-->

1. Создаешь в каталоге Clip подкаталог Folders в котором создаешь обыкновенные текстовые файлы, можно даже без расширения, содержимым которых является их полный путь. например файл Downloads - содержимое C:Downloads и т.д. короче сколько хочешь столько и указываешь этих избранных директорий

2. Сам скрипт

Код: выделить все

Clip ClearClipboard

Clip Menu Folders

foldername = Clip

Clip ClearClipboard

if ((activewindow "Open*") or (activewindow "Save*")) Do

Clip Cut

filename = Clip

Clip TextPaste &(foldername)

Keys {Enter}{Del}

Clip TextPaste &(filename)

Clip ClearClipboard

Endif


изменено 23.01.2003 - 22:20:35

Сохраняешь его, например recent_folders.txt и назначаешь на этот скрипт кнопку или горячие клавиши. Можно сделать кнопку, которая будет появляться только если открыто окно с заголовком *Save* или *Open*

<span style='color:green'><span style='font-size:16pt;line-height:100%'>Winamp np:silence</span></span>
<!--coloro:purple--><span style="color:purple"><!--/coloro--><!--sizeo:1--><span style="font-size:8pt;line-height:100%"><!--/sizeo-->I can't stop using<a href="http://wincmd.ru" target="_blank">Total Commander</a> <!--sizec--></span><!--/sizec--><!--colorc--></span><!--/colorc-->
Ergo
Полковник
 
Сообщений: 1357
Зарегистрирован: Чт мар 28, 2002 12:42 pm
Откуда: Brest Fortress
Пункты репутации: 0

Сообщение Reuben » Ср янв 29, 2003 3:29 pm

Чего-то он у меня не заработал. Пришлось читать Help <!--emo&:)-->Изображение<!--endemo-->

В итоге у меня получился такой вариант:

<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->
if ((activewindow "Open*") or (activewindow "Save*")) Do
Keys {ho} +{ed}  
Clip ClearClipboard
filename = Clip
foldername = Clip
clip cut
filename = Clip
Clip ClearClipboard
Clip Menu Folders
foldername = Clip
Clip ClearClipboard
Clip TextPaste &(foldername)
Keys {Enter}
Clip Cut
Clip ClearClipboard
Clip TextPaste &(filename)
Endif
<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->

это, по идее, Аналог TC-овских HotDir для окон Save* и Open*, только еше бы придумать как туда добавить Add Current Dir.
По идее хотелось бы и Recent Dirs , это как-то делается с FavFolder, но я не понял как подружить Clip и filemenu
<span style='color:purple'>
Ugly girl is better than nothing
Nothing is better than pretty girl
</span>
Reuben
Подполковник
 
Сообщений: 532
Зарегистрирован: Ср дек 04, 2002 8:59 am
Откуда: Jerusalem
Пункты репутации: 0

Сообщение Reuben » Ср янв 29, 2003 3:33 pm

Known Bugs
К предыдущему скрипту

Пути, заключенные в ковычки работают в Бреде, в окнах Save as Ворда, Ultra Editа и RulNote-а , но в окнах Open Ворда, Ultra Editа и RulNote-а почему-то не работают
<span style='color:purple'>
Ugly girl is better than nothing
Nothing is better than pretty girl
</span>
Reuben
Подполковник
 
Сообщений: 532
Зарегистрирован: Ср дек 04, 2002 8:59 am
Откуда: Jerusalem
Пункты репутации: 0

Сообщение Ergo » Ср янв 29, 2003 5:09 pm

2Reuben
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> итоге у меня получился такой вариант: <!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
В идеале здесь надо писать скрипт для каждого окна в отдельности, так как у разных оконо своя специфика <!--emo&:(-->Изображение<!--endemo-->
Вот я например не понимаю на кой Микрософту нужно было городить огород и встраивать в Оффис эксклюзивные окна?
<!--coloro:purple--><span style="color:purple"><!--/coloro--><!--sizeo:1--><span style="font-size:8pt;line-height:100%"><!--/sizeo-->I can't stop using<a href="http://wincmd.ru" target="_blank">Total Commander</a> <!--sizec--></span><!--/sizec--><!--colorc--></span><!--/colorc-->
Ergo
Полковник
 
Сообщений: 1357
Зарегистрирован: Чт мар 28, 2002 12:42 pm
Откуда: Brest Fortress
Пункты репутации: 0

Сообщение XLSoft » Ср янв 29, 2003 8:02 pm

Я пользуюсь DlgXRSizer. Трудно представить, что PP сможет заменить ее, хотя бы что касается окон. Размер окна open/save можно увеличивать на N% сразу при открытии? Помимо фаворитов, DlgXRSizer имеет хистори как глобальный, так и для каждого приложения в отдельности.
<a href='http://xlsoft.net.ru/' target='_blank'>XLSoft</a> - оффлайн-каталог лучших программ и сайтов
XLSoft
Капитан
 
Сообщений: 158
Зарегистрирован: Чт мар 28, 2002 8:39 pm
Откуда: Киев
Пункты репутации: 0

Сообщение Ergo » Ср янв 29, 2003 9:26 pm

<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Трудно представить, что PP сможет заменить ее<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
Лучшей программой этого класа я все же считаю DocCommander. Кстати, где можно посмотреть этот DlgXSizer и бесплатный ли он?
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Размер окна open/save можно увеличивать на N% сразу при открытии?<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
А почему бы нет. есть ведь возможность изменять размеры открываемых окон автоматом до необходимых размеров.
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Помимо фаворитов, DlgXRSizer имеет хистори как глобальный, так и для каждого приложения в отдельности<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
И эхотаг имеет. В фишке Menu FavFolders
<!--coloro:purple--><span style="color:purple"><!--/coloro--><!--sizeo:1--><span style="font-size:8pt;line-height:100%"><!--/sizeo-->I can't stop using<a href="http://wincmd.ru" target="_blank">Total Commander</a> <!--sizec--></span><!--/sizec--><!--colorc--></span><!--/colorc-->
Ergo
Полковник
 
Сообщений: 1357
Зарегистрирован: Чт мар 28, 2002 12:42 pm
Откуда: Brest Fortress
Пункты репутации: 0

Сообщение XLSoft » Ср янв 29, 2003 10:47 pm

<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Кстати, где можно посмотреть этот DlgXSizer и бесплатный ли он?<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
<a href='http://www.gajits.com/dlgxrsizer.asp' target='_blank'>http://www.gajits.com/dlgxrsizer.asp</a>
Платный. <!--emo&:)-->Изображение<!--endemo-->
Наиболее похож на него <a href='http://www.cottonwoodsw.com/fx3summ.html' target='_blank'>File-Ex</a>, но DlgXSizer нравится мне более опрятным меню в виде кнопок.

Принимая во внимание возможность изменения размеров окна и настройки хистори/фаворитов, может и получится что-то похожее. <!--emo&:)-->Изображение<!--endemo--> Только надо засесть и сделать.
<a href='http://xlsoft.net.ru/' target='_blank'>XLSoft</a> - оффлайн-каталог лучших программ и сайтов
XLSoft
Капитан
 
Сообщений: 158
Зарегистрирован: Чт мар 28, 2002 8:39 pm
Откуда: Киев
Пункты репутации: 0

Сообщение Reuben » Чт янв 30, 2003 4:28 pm

Все полная фигня. Menu Favfolder прекрасно работает (после непродолжительной настройки <!--emo&:)-->Изображение<!--endemo-->)и полностью покрывает (почти) все экстендеры. Я правда пока не знаю, будет ли он отслеживать TC как Файлбокс, но и так за глаза хватает. Перекинул вот Хотлист из ТС в Open/Save диалог!
<span style='color:purple'>
Ugly girl is better than nothing
Nothing is better than pretty girl
</span>
Reuben
Подполковник
 
Сообщений: 532
Зарегистрирован: Ср дек 04, 2002 8:59 am
Откуда: Jerusalem
Пункты репутации: 0

Сообщение dAnIK SeNT » Пн фев 10, 2003 7:37 am

Мне нравится такой скрипт:
Код: выделить все

if (activewindow("Open*,Save*")) do

 .clipsave

 local foldername

 Clip Menu favorites

 foldername = Clip

 Clip TextPaste &(foldername)

 Keys {fast}{Enter}{ho}+{ed}{del}

 .cliprestore

endif


В папке scriptsclip должны быть скрипты save и restore (мой вариант или вариант Ergo).
В папке clip должна быть папка favorites, а в ней файлы с расширением .fav. Предварительно надо зайти в свойства папки и на закладке "типы файлов" зарегистрировать тип .fav и назначить ему красивую иконку.
Если на иконки наплевать, тогда файлы могут быть с любым расширением или вовсе без оного.
яНЯЕД ОН СОПЪФЙЕ: Athlon 64 X2 5200+ @2,86GHz / nF 570 SLI (ASUS M2N SLI Deluxe) / 4 Gb RAM (4x1Gb Kingston) / 2,9Tb SATAII (0,50+0,64+0,75+1,00Tb WD) / ASUS 8800 GTS512 / 2x NEC-Optiarc AD-7173 / Thermaltake ToughPower 650W / 2x30W Microlab Solo-2 / 20" LCD Benq FP202W (wide) / openSUSE 11.1 / KDE 4.2.1
<!--coloro:Navy--><span style="color:Navy"><!--/coloro-->оН БЯЕЛ БНОПНЯЮЛ - Б email. б ICQ ОНЪБКЪЧЯЭ ПЮГ Б ОНКЦНДЮ.<!--colorc--></span><!--/colorc-->
dAnIK SeNT
Маршал
 
Сообщений: 5101
Зарегистрирован: Чт мар 28, 2002 7:48 pm
Откуда: яяяп
Пункты репутации: 0

Сообщение Ergo » Пн фев 10, 2003 8:42 am

<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->В папке scriptsclip должны быть скрипты save и restore (мой вариант или вариант Ergo). <!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
И что ты так любишь рассовывать все свои скрипты по папочкам? Так может получиться двадцать папочек, в которых будет под 2-3 скрипта. Я категорически против <!--emo&:)-->Изображение<!--endemo-->
<!--coloro:purple--><span style="color:purple"><!--/coloro--><!--sizeo:1--><span style="font-size:8pt;line-height:100%"><!--/sizeo-->I can't stop using<a href="http://wincmd.ru" target="_blank">Total Commander</a> <!--sizec--></span><!--/sizec--><!--colorc--></span><!--/colorc-->
Ergo
Полковник
 
Сообщений: 1357
Зарегистрирован: Чт мар 28, 2002 12:42 pm
Откуда: Brest Fortress
Пункты репутации: 0

Сообщение dAnIK SeNT » Пн фев 10, 2003 8:53 am

2Ergo
А я категорически за <!--emo&:)-->Изображение<!--endemo-->
Я люблю когда все рассортировано по папочкам. А скриптов я думаю со временем будет больше чем 2-3. К тому же у меня есть папочка misc куда я сую скрипты не поддающиеся классификации.
яНЯЕД ОН СОПЪФЙЕ: Athlon 64 X2 5200+ @2,86GHz / nF 570 SLI (ASUS M2N SLI Deluxe) / 4 Gb RAM (4x1Gb Kingston) / 2,9Tb SATAII (0,50+0,64+0,75+1,00Tb WD) / ASUS 8800 GTS512 / 2x NEC-Optiarc AD-7173 / Thermaltake ToughPower 650W / 2x30W Microlab Solo-2 / 20" LCD Benq FP202W (wide) / openSUSE 11.1 / KDE 4.2.1
<!--coloro:Navy--><span style="color:Navy"><!--/coloro-->оН БЯЕЛ БНОПНЯЮЛ - Б email. б ICQ ОНЪБКЪЧЯЭ ПЮГ Б ОНКЦНДЮ.<!--colorc--></span><!--/colorc-->
dAnIK SeNT
Маршал
 
Сообщений: 5101
Зарегистрирован: Чт мар 28, 2002 7:48 pm
Откуда: яяяп
Пункты репутации: 0

Сообщение Reuben » Вс мар 09, 2003 11:44 am

итак, набор скриптов, покрывающий все что нужно в плане Favorite Folders :
Код: выделить все

if (clip.get != "") Do

  saved_clip=clip.get

  clip_empty = "0"

Else

  clip_empty = "1"

Endif





if ((activewindow "*Select*") or (activewindow "*Open*") or (activewindow "*Browse*") or (activewindow "*Save*") or (activewindow "*Select*")) Do

 keys %n

  clip.clear

  clip.copy

  a = clip.get

  clip.set(filemenu("D:Program FilesPowerProfavfolder_any.txt"))

  clip.paste

  keys {enter}

  if (a != "") Do

     clip.set("&(a)")

       clip.paste

     else

       clip.clear

       clip.paste

  Endif

else

if (activewindow "Total Commander 5*") Do



Window SendMessage "wm_user+51 2029  " Total Commander 5*

if (select(clip.get,3) == "" ) Do

  Window SendMessage "wm_user+51 2002  " Total Commander 5*   

 Debug &(select(clip.get,3) )

 Endif

       clip.set(filemenu("D:Program FilesPowerProfavfolder_any.txt"))

   if ((select(clip.get,1) le "9") and (select(clip.get,1) ge "0") ) Do

 Window SendMessage "wm_user+51 &(clip.get)  " Total Commander 5*   

   Else

        Window SendMessage "wm_user+51 2005  " Total Commander 5*

       clip.set("cd " ++ clip.get)

   clip.paste

       keys {enter}

   Endif







Else

; Return Hotkey

Endif

endif

clip.clear

if (clip_empty == "0") Do

  clip.set("&(saved_clip)")

EndIf


это основное меню, которое открывается по хоткею в окнах Open/Save... и в окнах TC. В первом столбце - последние фолдеры Open/Save... ,(они добавляются автоматически PP, надо проставить галочку в нужном месте). в последнем столбце - favorite folders, добавляемые из TC с помощю скрипта:

Код: выделить все

Window SendMessage "wm_user+51 2029  " Total Commander 5*

clip.set(clip.get ++ "'n")

clip.tofileappend("D:Program FilesPowerProfavfolder_any.txt")

.sortfavfolmenu


так можно добавлять нормальные папки и FS плагины, но не то, что открывается по командам cm_, по-этому имеет смысл сделать столбец посередине, и перенести туда, во-первых, имеющееся меню из wincmd.ini, а так же добавить команды cm_, после знака равно должен стоять номер команды. Все это, естественно, работает не только в последней версии TC.
последняя строчка в предыдушем скрипте вызывает скрипт, сортируюший первый и последний столбцы меню. мне так удобнее, но можно и закомментировать
сам скрипт вот он:
sortfavfolmenu.powerpro:
Код: выделить все

han = file.open("D:Program FilesPowerProfavfolder_any.txt","r")

local i j k

v = vec.create(200,100)

j=0

for (i=0;1;i=i+1)

          cline = file.readline(han)

        v[i]=cline  

  if (cline == "colsep'n")

  j=i

   if (file.eof(han))

  break

endfor



if (j ==0)

j=&(vec.length(v))

file.close(han)

vv =vec.create(vec.length(v))

for (i=0; (i lt j);i=i+1)

 if(v[i] == "colsep'n")

   break

 vv[i]=v[i]

endfor

k=i

vv1 =vec.create(vec.length(v))

for (;i le j;i=i+1)

  vv1[i-k]=v[i]

endfor

vv2 =vec.create(vec.length(v))

for (;i lt vec.length(v)-1;i=i+1)

   vv2[i-j-1]=v[i]

endfor



vec.sort(vv)

vec.sort(vv2)



han=file.open("D:Program FilesPowerProfavfolder_any.txt", "w")



file.writeline(han,vv[0])

for (i=1; i lt vec.length(vv); i=i+1)

  if (vv[i] != vv[i-1])  

  file.writeline(han,vv[i])

endfor

for (i=0; i lt vec.length(vv1); i=i+1)

     file.writeline(han,vv1[i])

endfor

file.writeline(han,vv2[0])

for (i=1; i lt vec.length(vv2); i=i+1)

  if (vv2[i] != vv2[i-1])  

  file.writeline(han,vv2[i])

endfor



file.close(han)

vec.destroy(v)

vec.destroy(vv)

vec.destroy(vv1)

vec.destroy(vv2)



К сожалению, после того, как я вставил поддержку для FS-плагинов и cm_ комманд, все заработало довольно медленно(до этого все летало). кроме того, появилось странность , если хоткеем поставить ^D, при первом же вызове cm_-команды хоткей возвращается на родное TC-вское меню, и на "Delete" в Open/Save соответственно. вернуть его обратно не представилось никакой возможности. Пришлось повесить на Win-D <!--emo&:(-->Изображение<!--endemo-->. в общем, есть тут наверно место исправлениям, у кого какие идеи, правте и пишите.
<span style='color:purple'>
Ugly girl is better than nothing
Nothing is better than pretty girl
</span>
Reuben
Подполковник
 
Сообщений: 532
Зарегистрирован: Ср дек 04, 2002 8:59 am
Откуда: Jerusalem
Пункты репутации: 0

Сообщение Reuben » Вт мар 11, 2003 9:27 am

Иногда при использовании этого скрипта вылетают все горячие клавиши PP , и не восстанавливаются ничем, кроме любого горячего клика. причина мне абсолютно не ясна. Если кто знает, поделитесь
<span style='color:purple'>
Ugly girl is better than nothing
Nothing is better than pretty girl
</span>
Reuben
Подполковник
 
Сообщений: 532
Зарегистрирован: Ср дек 04, 2002 8:59 am
Откуда: Jerusalem
Пункты репутации: 0

*Save* *Open* ...

Сообщение Diam » Вс мар 23, 2003 6:49 pm

Вместо *Save* *Open* лучше использовать filedialog.
Diam
Призывник
 
Сообщений: 2
Зарегистрирован: Вс фев 02, 2003 2:33 pm
Пункты репутации: 0

След.

Вернуться в Windows PowerPro

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5