Skip to content

fedoroff/osx-project-3

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

#Update 4/01/13

  • При добавлении папки теперь в список попадает перечень файлов внутри нее, исключая скрытые файлы и папки.
  • По нажатию на кнопку "Go!" генерируется список новых имен для файлов. В дальнейшем список будет генерироваться автоматически при любых изменениях в полях ввода.
  • Имена файлов на русском языке теперь отображаются корректно.

#Текущее состояние Программа толком еще не работает, и переименовывать файлы еще не умеет. Все, что пока она может - это добавлять в список файлы и папки.

Больше всего времени потратил на понимание того, как работать с двумя TableView одновременно. Был уверен, что не обязательно делать outlet, если из таблицы не нужно получать данные. Это до сих пор для меня вопрос, но без создания outlet'ов не удалось ничего сделать. Сейчас реализация тоже не самая правильная.

Также, массу времени потратил на понимание того, как выделить имя файла из URL, потом открыл для себя NSFileManager, но было поздно. сдаю, как есть.

Что предстоит исправить в программе:

  • необходимо переписать numberOfRowsInTableView: и tableView:objectValueForTableColumn:row: - вынести в отдельные файлы, и сделать отдельный контроллер для каждого TableView;
  • возможно, создать отдельный класс для хранения имен файлов, в котором будут храниться распарсенные из URL имена файлов - отдельно путь, отдельно - имя и отдельно - расширение;
  • возможно, вынести обновление TableView отдельно, чтоб TableView обновлялись при любом изменении массивов;
  • переписать получение списка файлов из директории - отбрасывая директории из результатов, или обрабатывая вложенные директории, как вариант, и заполнить все параметры вызова;
  • сделать нормальный вывод имен файлов в таблицах, т.к. сейчас он нечитаем.

Это пока все, что я вижу.

#Задача Иногда возникает задача группового переименования большого количества файлов по определенной формуле. Существует ряд программ, занимающихся переименованием файлов, но большая часть их не бесплатны, или сложны в освоении. Эта программа призвана решить задачу переименования файлов максимально просто.

#Описание Программа позволяет задать префикс имени файла, и добавить к нему счетчик. При необходимости, также, можно сменить расширение файлов. Такой алгоритм переименования будет интересен, в первую очередь, фотографам, у которых большое количество файлов с именами вида IMG_0001.jpg (двое уже ждут такую).

#Пример использования Разные фотоаппараты, в зависимости от настройки, именуют файлы по-разному. Часто бывает такая ситуация, когда во время съемки фотоаппарат создает на карте памяти новую папку, и начинает нумерацию файлов с нуля. Если все файлы этой съемки скопировать в одну папку, то порядок их следования не будет соответствовать хронологии. Для того, чтоб порядок следования файлов соответствовал порядку съемки, их необходимо упорядочить. Т.е. переименовать. Данная простая утилита позволяет переименовать файлы в нужном порядке за 3 простых действия:

* выбрать файлы для переименования;
* задать префикс и счетчик;
* нажать кнопку "Go".

#Описание поведения По нажатию на кнопку "Добавить файлы" открывается окно выбора файлов (NSOpenPanel). Должна быть возможность выбора нескольких файлов. Возвращаемые массив копируем в отдельный mutable array (или добавляем - тут подумать, какую коллекцию лучше использовать) и отображаем в левой таблице. Необходимо учесть, чтоб один и тот же файл не попадал дважды в список.

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

По нажатию на кнопку "Очистить список" - очистить mutable array и таблицы.

В поле "Префикс" указываем любой допустимый префикс.

В поле "Маска счетчика" указываем маску - по сути, число разрядов. (подумать, не лучше ли заменить на просто число разрядов)

В поле "Начиная с" указываем стартовое число счетчика. Этим числом потом проинициализируем счетчик в цикле. По мере ввода новые имена должны отображаться в правой таблице.

(подумать, на каком этапе контролировать входные значения в полях - по мере ввода, или по нажатию на Go!)

По нажатию на кнопку "Go!" запускается процедура переименования файлов. Общая идея в том, чтоб при помощи NSFileManager movePath:toPath:handler: присвоить файлам новые имена. Это будет реализовано либо в один цикл, либо в два (отдельно для генерации полных имен с путем и для перемещения). По факту переименования записи из обеих таблиц должны исчезать. Когда таблицы очистятся - переименование завершено.

Идеи, которые необходимо проработать:

  • сортировка файлов перед переименованием по различным признакам;
  • удаление отдельных файлов или групп файлов из списка перед переименованием;
  • указание другого пути для сохранения переименованных файлов.

About

OS X Development Course, Project 3

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Objective-C 100.0%