FileInfo plugin

Discuss and announce AkelPad plugins
  • Author
  • Message
Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Instructor
Это известно. Fr0sT (да и не только) искал переименование в AkelAPI, типа отдельного метода, чтобы дёрнуть его и не заморачиваться :)

Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

VladSh
Расчетное значение размера зависит от кодировки, это придется весь текст перегонять (ну или ооочень приблизительно вычислять на основе данных кодировки). Я подумаю, но не обещаю.
Шрифт - хм, а у меня совпадает... по идее он берется из системного dialog font. У тебя не так разве?
Instructor
спасибо, погляжу!

Апд
Ага, как я и думал - сохранить состояние, закрыть, переименовать, открыть. За неимением альтернатив сделаем так (про каретку и кодировку - полезно), хотя winapi позволяет переименовывать файл, открытый в данный момент :)

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Fr0sT wrote:> это придется весь текст перегонять (ну или ооочень приблизительно вычислять на основе данных кодировки)
Я думал это просто, типа у чего-нибудь вызвать метод Size))). Значит забить)

По шрифтам прошу прощения, фальстарт (на меню смотрел). В XP "Свойства: Экран" -> "Оформление" -> "Дополнительно" у меня всё стоит "Тахома", но действительно диалоги, даже в Акеле "MS Sans Serif"...

Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

Version 0.4. Наконец-то вышли из состояния беты!!!


Основное
* ФИЧА: параметры в вызове функции плагина
* ФИЧА: переименование текущего файла (изменить текст в контроле "Имя файла" и нажать Ctrl-S)
* ФИЧА: копирование пути к файлу в буфер обмена
* ФИЧА: обзор файла в Проводнике
* ФИЧА: получить отчет в буфер обмена
* Единый прогресс для подсчета слов и символов
* Обновлена документация
* Исправлен неверный подсчет строк в случае, когда есть выделение и каретка находится в начале строки
* Все дополнительные команды могут быть выполнены как из интерфейса, так и через вызов с параметром
* Поясняющие тултипы для некоторых контролов

Другое:
* Если путь файла превышает ширину контрола, контролу присваивается тултип

Highlights
* FEATURE: parameters in plugin function call
* FEATURE: rename current file (change the text in FileName edit and press Ctrl-S)
* FEATURE: copy full file path to clipboard
* FEATURE: browse for file in Explorer
* FEATURE: get full statistics as text to clipboard
* Single progress for word and char count
* Documentation updated
* Incorrect line count fixed (when selection is present and caret is in the beginning of the line)
* All additional commands could be performed from GUI (controls added).
* Tooltips on some controls

Other
* When file path exceeds the width of the edit control, this control gains a tooltip

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Fr0sT

Сразу виден плюс! Вариант

Code: Select all

"Показать в Проводнике..." Call("FileInfo::Main", "browse")
лучше этого

Code: Select all

"Открыть папку..." Exec("explorer /select, %f")
тем, что отображает слева область папок, и имеется возможность выхода вверх.
Плохо только что не работает из меню последних файлов. Наверное всё-таки параметр надо передавать.
Также не работает копирование пути из списка последних файлов (хотелось бы чтобы работало :) ).


Если уж пошла такая пьянка, то здорово было бы иметь "весь спектр" из 5-ти команд либо ещё как..:
- копировать полный путь файла (имеется);
- копировать только путь;
- копировать имя файла с расширением;
- копировать только имя файла;
- копировать расширение.


Переименование файла не совсем удобное, т.к. отсутствует опция "без разширения". См. RenameFileDialog.js, было бы хорошо, если бы добавить её и логику из скрипта (сохранение файла, если вдруг он новый и т.д.).

* ФИЧА: переименование текущего файла (изменить текст в контроле "Имя файла" и нажать Ctrl-S)
Для случая, когда файл не сохранён (показывается иконка, что есть изменения) и имя файла не менялось, предлагаю просто сохранять файл.


Кнопки в диалоге "Копир. путь" и "Обзор" лишние, когда файл не сохранён, их можно скрывать.

Кнопка с названием "Обзор" обычно используется для выбора файла, в данном случае её можно было бы поместить справа от наименования файла и выбирать новое место хранения :)

Вообще, чтобы минимизировать интерфейс, можно было бы лейбл "Путь" преобразовать в "гиперссылку" и тогда отпала бы необходимость в кнопке "Обзор", открывающей файл в Проводнике.
А кнопку "копир. путь" можно было бы сделать стандартным значком копирования в буфер справа от поля с именем файла. Для этого чуть шире бы сделать диалог.. да и вообще предлагаю его сделать вытянутым по ширине, а не по высоте, хоть имя файла влазить будет. Возможно)) Ну или чуть больше его будет влазить)


Значок "крестик", когда файл не сохранён, можно помещать в то место, где выводится иконка файла, и там же справа, где указывается имя сохранённого файла, выводить надпись "Документ не сохранён в файл", но не в поле, а лейблом, как сейчас, чтобы не сбивало с толку.
Возможно это предложение не катит, но, по моему, инфа об этом или об изменении файла лучше бы смотрелась выше имени файла.


На кнопке "Отчёт" тоже бы повесить значок копирования в буфер, а то не понятно, что сейчас будет делаться.. мне интуитивно показалось, что по нажатию откроется новая вкладка и отчёт будет выгружен в неё.
Ну или по нажатию на кнопку выводить менюшку:
- "Копировать в буфер";
- "Поместить на новую вкладку" (если текущая вкладка есть, и она пуста, то шарабанить в неё, не создавая ещё одну).


Непонятно, что всё-таки делает кнопка "Подсчитать". при нажатии ничего не происходит. Предлагаю делать её видимой только в тех случаях, когда она действительно может быть нужна.


Строка в доке

Code: Select all

Call("ContextMenu::Main"[, "STRING"])
сбивает с толку, лучше для примера дать реальный вызов:

Code: Select all

"Показать в Проводнике..." Call("FileInfo::Main", "browse")


Спасибо за плаг! Круто!!! 8)

Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

VladSh
спасибо за отзыв :)
Вариант (...) лучше этого (...) тем, что отображает слева область папок, и имеется возможность выхода вверх.
http://support.microsoft.com/kb/130510/ru
/e: Используется представление проводника Windows. Проводник Windows выглядит во многом подобно
диспетчеру файлов в Windows 3.x. Примечание. Представление по умолчанию —
"Открыть".
Насчет "не работает из меню последних файлов" - это про то, что функция обзора не срабатывает для произвольно указываемого файла? Ну, в общем-то, плаг предназначен для работы исключительно с текущим открытым файлом.
Если уж пошла такая пьянка, то здорово было бы иметь "весь спектр" из 5-ти команд либо ещё как..:
Думал об этом, но счел нецелесообразным. Имя можно скопировать из поля редактирования, расширение быстрее набрать вручную, путь можно извлечь из пути-с-именем (правда, возможно, сделаю вывод только пути без имени в контрол). К тому же такое разнообразие потребует кучи кнопок/пунктов меню... ну ладно, сделаю возможность копировать только имя / только путь, остальные нет смысла делать.
Переименование файла не совсем удобное, т.к. отсутствует опция "без разширения". См. RenameFileDialog.js, было бы хорошо, если бы добавить её и логику из скрипта (сохранение файла, если вдруг он новый и т.д.).
В todo на будущие версии стоит пункт "выделять в выдаваемом диалоге на переименование только имя", но это будет только при вызове командой, остальные опции едва ли стоят усилий.
Для случая, когда файл не сохранён (показывается иконка, что есть изменения) и имя файла не менялось, предлагаю просто сохранять файл.
Нет, решать что-то за пользователя - неэтично. Вдруг эти изменения - временные и сохранению не подлежат?

По интерфейсу вообще замечания дельные по большей части, я хочу все переделать на чисто графические кнопки (с иконкой), но пока не разобрался, как их намутить на WinAPI. По всей вероятности, сделаю что-то вроде тулбара внизу закладки.
Вообще, чтобы минимизировать интерфейс, можно было бы лейбл "Путь" преобразовать в "гиперссылку" и тогда отпала бы необходимость в кнопке "Обзор", открывающей файл в Проводнике.
Хм... слегка неинтуитивно, но подумаю.
А кнопку "копир. путь" можно было бы сделать стандартным значком копирования в буфер справа от поля с именем файла
С одной стороны - да, с другой - удобно, когда все команды скучкованы. Буду думать.
Значок "крестик", когда файл не сохранён, можно помещать в то место, где выводится иконка файла, и там же справа, где указывается имя сохранённого файла, выводить надпись "Документ не сохранён в файл", но не в поле, а лейблом, как сейчас, чтобы не сбивало с толку.
Пожалуй, в этом есть смысл!
На кнопке "Отчёт" тоже бы повесить значок копирования в буфер, а то не понятно, что сейчас будет делаться.. мне интуитивно показалось, что по нажатию откроется новая вкладка и отчёт будет выгружен в неё.
Для этого есть тултипы :)
Непонятно, что всё-таки делает кнопка "Подсчитать". при нажатии ничего не происходит. Предлагаю делать её видимой только в тех случаях, когда она действительно может быть нужна.
А попробуй на файлике размером под 5 мегов - сразу узнаешь, зачем она ;)
Хотя при успешном завершении процесса она, пожалуй, и правда не нужна.
Строка в доке сбивает с толку, лучше для примера дать реальный вызов
Пожалуй, скобки действительно будут понятны не многим, думаю, пометки об опциональности параметра будет вполне достаточно

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Fr0sT wrote:В todo на будущие версии стоит пункт "выделять в выдаваемом диалоге на переименование только имя", но это будет только при вызове командой
Если это будет опцией, например доп. параметром, то будет здорово. Удобно использовать разные опции из контекстного меню редактирования (в большинстве случаев, чтобы расширение случайно не запороть) и на вкладке (когда нужно изменить и расширение). То есть выдавать только имя файла, а не просто его выделять, по моему, лучше.
Fr0sT wrote:
Для случая, когда файл не сохранён (показывается иконка, что есть изменения) и имя файла не менялось, предлагаю просто сохранять файл.
Нет, решать что-то за пользователя - неэтично. Вдруг эти изменения - временные и сохранению не подлежат?
Наверное я тут плохо донёс что хотел сказать. Сохранять, когда пользователь открыл диалог, увидел, что файл не сохранён и нажал в диалоге Ctrl+S. Т.е. он сам решает, сохранять или нет.
Другое дело, что наверное правда, когда он ни разу не сохранялся делать это не нужно, т.к. там нужен диалог сохранения файла... А вот когда уже сохранённый на диск файл редактируется, тогда Ctrl+S в диалоге было бы полезно.
Fr0sT wrote:
На кнопке "Отчёт" тоже бы повесить значок копирования в буфер, а то непонятно, что сейчас будет делаться.. мне интуитивно показалось, что по нажатию откроется новая вкладка и отчёт будет выгружен в неё.
Для этого есть тултипы :)
Да, но на кнопках их непривычно видеть, потому я и не знал, что они там есть))
Я о чём, текст, который копируется в буфер, он куда будет вставляться? В основном в окно редактирования AkelPad'а :) Т.е. полезной была бы вставка в пустую вкладку, чтобы буфер лишний раз не "портить".
Fr0sT wrote:
Непонятно, что всё-таки делает кнопка "Подсчитать". при нажатии ничего не происходит. Предлагаю делать её видимой только в тех случаях, когда она действительно может быть нужна.
А попробуй на файлике размером под 5 мегов - сразу узнаешь, зачем она ;)
Хотя при успешном завершении процесса она, пожалуй, и правда не нужна.
Да. Как я понимаю, диалог уже открывается с рассчитанными данными. Или на больших файлах (начиная с какого-то размера?) расчёт не производится при открытии диалога? Если так, то вот и вариант отображения кнопки - не рассчитано, значит отображать.
Ну или если бы диалог плага был, например, немодальный, то кнопка пригодилась бы, если после открытия диалога изменил файл, и его надо пересчитать заново (но это какая-то уж больно теоретическая ситуация)) ).

Спасибо за ответ по моим закорючкам :)


Добавлено (наконец-то ms-узел открылся):
Здорово, спасибо! Теперь использую:

Code: Select all

"Показать в Проводнике..." Exec("explorer /e,/select, %f")

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

А у меня оно не работает.
explorer /e /select,c:\autoexec.bat
Матерится

Code: Select all

---------------------------
Проводник
---------------------------
Путь "/e /select" не существует или не является каталогом.
---------------------------
ОК   
---------------------------
UPD: ну какой, какой деге*т придумал параметры разделять запятой?

Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

Сохранять, когда пользователь открыл диалог, увидел, что файл не сохранён и нажал в диалоге Ctrl+S. Т.е. он сам решает, сохранять или нет.
Эм... я окончательно перестал понимать. Сохранять в каком случае - когда изменили имя и нажали ctrl-s?
Я о чём, текст, который копируется в буфер, он куда будет вставляться? В основном в окно редактирования AkelPad'а Т.е. полезной была бы вставка в пустую вкладку, чтобы буфер лишний раз не "портить".
Да мало ли куда :) Со вкладками не хочется заморачиваться, т.к. у меня, например, SDI всегда - не открывать же новое окно ради вставки туда отчета. Разве что в Log отправить, но это уже на отдаленную перспективу
Да. Как я понимаю, диалог уже открывается с рассчитанными данными. Или на больших файлах (начиная с какого-то размера?) расчёт не производится при открытии диалога? Если так, то вот и вариант отображения кнопки - не рассчитано, значит отображать.
Открытие происходит сразу с инфой по файлу, и запускается фоновый поток подсчета статистики по документу. Это позволяет юзать плаг на больших файлах без утомительного ожидания. В любом случае, сделал убирание кнопки.
какой деге*т придумал параметры разделять запятой?
Сам поначалу не поверил :)

UPDATE

* Обновил доки (более понятно насчет параметров)
* При переименовании через команду, в поле ввода в диалоге выделяется только имя файла
* В поле "Путь файла" пишется только путь, без имени
* Кнопка "Подсчитать" прячется, когда процесс подсчета завершается успешно
* Кнопки "Обзор" и "Копир. путь" дизейблятся, если содержимое не сохранено в файл
Спасибо VladSh за предложения :)

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Fr0sT wrote:Сохранять в каком случае - когда изменили имя и нажали ctrl-s?
Смотри, у меня на экране открытый на редактирование файл, изменённый; открываю диалог плага и вижу, что имеются изменения, так я прямо в плаге жму Ctrl+S, чтобы не закрывая диалога сохранить файл (забыл сохранить перед вызовом, а закрывать, сохранять и открывать заново не хочется). Ну не знаю, у меня чисто интуитивно именно такое желание возникло. Хотя, возможно, это от того, что в описании что-то про Ctrl+S было :)

Хороший рывок! Теперь гораздо лучше)

P.S. Отличается ли действие кнопки "Ok" от крестика закрытия? Если нет, то может лучше переименовать в "Закрыть"? А то как-то выбивает из колеи немного, Ok - это вроде как "Да", и обозначает решение по текущему процессу, а процесса-то и нет, а надо просто закрыть диалог. Но это так... в порядке бреда))

Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

VladSh
аа, сохранять именно файл... ну не знаю, это влияет только на дату модификации да размер файла, да и ctrl-s запускает переименование.
Про кнопку - ну, я ориентировался на все информационные мессаджбоксы, там ОК никого не смущает)) Подумаю.

UPD
* Показ иконки ошибки на месте иконки файла и надписи "Не соахранен в файл" на месте поля "Имя файла"
* В отчете отмечается, если статистика посчитана по выделенному фрагменту, а не целому документу
* Кнопка OK на гланвом диалоге переименована в Закрыть

Offline
Posts: 767
Joined: Mon Sep 28, 2009 10:03 am
Location: Minsk, Belarus

Post by se7h »

Fr0sT
а почему плага нет в официальном списке при обновлении через AkelUpdater?
непорядок :?

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

se7h
Потому что плаг не релизнутый ещё :)
Потому что авторе не желает пока этого :) (никто не заставит)
Ваш вариант :)

Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

Да, он хоть и выбрался из бета-версии, но пока идут всяческие допиливания (с частыми выпусками версий) нет смысла закидывать Инструктора релизами :)

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Fr0sT
Спасибо! :)

Ещё несколько замечаний, и, пожалуй, всё)

Надпись "Есть несохранённые изменения" лучше бы смотрелась чуть ниже имени файла, т.к. внимание расфокусируется.
Значок "жёлтый треугольник с !" особо не нужен. Для наглядности, что файл несохранён, можно либо делать иконку файла полупрозрачной либо устанавливать "бордюр" у иконки каким-нибудь цветом, допустим какой-то штриховой линией. Либо сочетать полупрозначность и штриховой бордюр.

В плаге используются иконки, как-то "красный крестик" и т.п., если они вшиты в плаг, а не подтягиваются, можно ли сделать так, чтобы они были доступны извне, как и те 2 иконки, которые там уже есть?

Вопрос по размеру плага. Размер плага Coder.dll = 208.4kb (это понятно, т.к. там реально наворот), а FileInfo.dll = 201.7, можно ли что-то с этим сделать? Не критично, но всё же.. хотелось бы чтобы плаг весил как-то пропорционально другим.
Post Reply