Opened 8 years ago

Closed 8 years ago

Last modified 6 years ago

#484 closed задача (fixed)

Функция "Телефонный справочник"

Reported by: san Owned by: dimag
Priority: critical Milestone:
Component: ПО MC04-Dispatcher. Пульт диспетчера/техника Keywords: interface, phone book
Cc: alx

Description

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

  • В главное меню добавить пункт "Телефонный справочник" (иконка menu_logs.png)
  • Настройку Прочее-> "Текстовая кодировка лога программы" переименовать в "Кодировка текстовых файлов".
  • В файл настроек добавить "Путь к файлу телефонного справочника", по умолчанию это phonebook.txt, расположенный в папке программы.
  • При переходе в "Телефонный справочник" пользователю отображается содержимое текстового файла, Файл отображается в кодировке, указанной в настройке "Кодировка текстовых файлов".
  • Если файл обновился, то при следующем переходе в "Телефонный справочник" файл должен быть перечитан.
  • Если при попытке открыть файл произошла ошибка - выдать сообщение.

Change History (17)

comment:1 by dimag, 8 years ago

Сделать настройку шрифта телефонной книги в настройках, во разделе "внешний вид" в виде списка от 8 до 20.

comment:2 by dimag, 8 years ago

Keywords: interface phone book added
Resolution: fixed
Status: newclosed

r497
Добавлен новый пункт в главное меню и новый параметр в раздел внешний вид настроек для вывода телефонной книги пользователя, файл с телефонной книгой пользователя по умолчанию в файле phonebook.txt.

comment:3 by dimag, 8 years ago

размер шрифта от 8 до 48

comment:4 by alx, 8 years ago

Запустил программу. Открываю вкладку "Телефонный справочник" и вижу:

 1 111111
 2 222222
 3 333333
 4 444444

Почему в телефонном справочнике такое странное содержимое? Не будет ли более логично, если изначально файл справочника будет пустой?

Last edited 8 years ago by alx (previous) (diff)

comment:5 by alx, 8 years ago

Какую роль в реализации отображения телефонного справочника играют две добавленные строчки

 pjsipsua.DeInit();
 sshsftp.DeInit();

в файле StartupDlg.cpp?

in reply to:  4 ; comment:6 by dimag, 8 years ago

Replying to alx:

Запустил программу. Открываю вкладку "Телефонный справочник" и вижу:

 1 111111
 2 222222
 3 333333
 4 444444

Почему в телефонном справочнике такое странное содержимое? Не будет ли более логично, если изначально файл справочника будет пустой?

Можно и пустой файл, но нужно было проверить как будет выглядеть текст на экране.

in reply to:  5 comment:7 by dimag, 8 years ago

Replying to alx:

Какую роль в реализации отображения телефонного справочника играют две добавленные строчки

 pjsipsua.DeInit();
 sshsftp.DeInit();

в файле StartupDlg.cpp?

Никакого, я добавил это для корректного закрытия программы при выходе из диалога инициализации.

in reply to:  6 ; comment:8 by alx, 8 years ago

Replying to dimag:

Можно и пустой файл, но нужно было проверить как будет выглядеть текст на экране.

Но ведь ничто, наверное, не мешало после завершения проверки и до коммита удалить этот текст...

Replying to dimag:

Никакого, я добавил это для корректного закрытия программы при выходе из диалога инициализации.

Следовательно, если когда-нибудь заказчик попросит убрать функцию отображения телефонного справочника, и changeset:497 будет откачен, программа будет некорректно закрываться при выходе из диалога инициализации...

in reply to:  8 ; comment:9 by dimag, 7 years ago

Replying to alx:

Replying to dimag:

Можно и пустой файл, но нужно было проверить как будет выглядеть текст на экране.

Но ведь ничто, наверное, не мешало после завершения проверки и до коммита удалить этот текст...

Replying to dimag:

Никакого, я добавил это для корректного закрытия программы при выходе из диалога инициализации.

Следовательно, если когда-нибудь заказчик попросит убрать функцию отображения телефонного справочника, и changeset:497 будет откачен, программа будет некорректно закрываться при выходе из диалога инициализации...

Маловероятно, заказчик об этом очень просил. Но я всегда проверяю когда убираю некий функционал.

in reply to:  9 comment:10 by alx, 7 years ago

Replying to dimag:

Но я всегда проверяю когда убираю некий функционал.

  1. Вы делаете работу не для себя, а для Компании. Почему Вы уверены, что откат будете делать непременно Вы? Может быть это будет делать кто-то совсем другой, в то время как Вы будете, например, заняты другой работой, отдыхать в отпуске, или, скажем, вообще уже не будете здесь работать... Человек прочитает комментарий к changeset:497, убедится, что там нет ни слова о диалоге аутентификации и корректности выхода и ошибочно сделает вывод, что ни к каким побочным эффектам откат changeset:497 не приведет...
  1. Вы всегда проверяете что? Вы всегда, исправив какую-то мелочь типа упомянутого убирания отображения справочника, выполняете весь спектр проверок работы программы, включая корректность инициализации/деинициализации всех библиотек? Извините, "Не верю" (с) Станиславский. Как же тогда объяснить, что вплоть до r497 в программе не было вызовов pjsipsua.DeInit(); и sshsftp.DeInit();? Плохо проверяли?
Last edited 7 years ago by alx (previous) (diff)

comment:11 by dimag, 7 years ago

Не было нужно, я поменял работу с SSH, плюс к тому было добавленна поддержка повторного входа в программу по Alt+Q.

in reply to:  11 comment:12 by alx, 7 years ago

Replying to dimag:

Не было нужно, я поменял работу с SSH, плюс к тому было добавленна поддержка повторного входа в программу по Alt+Q.

??? Вы добавили повторный вход в программу по Alt-Q в changeset:497? Можете привести пример (имя файла и номер строки) изменения в changeset:497, добавляющего поддержку повторного входа (кроме двух упомянутых мной строк)?

comment:13 by dimag, 7 years ago

Это была первая попытка, сразу так переделать не удалось, и я всё стёр из кода. Но вот этот фрагмент остался.

in reply to:  13 comment:14 by alx, 7 years ago

Replying to dimag:

Это была первая попытка, сразу так переделать не удалось, и я всё стёр из кода. Но вот этот фрагмент остался.

Может быть чтобы исключить подобные ошибки Вам стоит что-то изменить в технологии вашей работы? Например всегда начинать работу над каким-то новым тикетом/багом/фичей с svn checkout, чтобы быть уверенным в отсутствии каких-либо следов других экспериментов в свежей рабочей копии исходников? И вручную стирать что-либо из кода тогда не потребуется...

Last edited 7 years ago by alx (previous) (diff)

comment:15 by dimag, 7 years ago

Можно попробовать, хотя не любитель размножать коммиты.

in reply to:  15 comment:16 by alx, 7 years ago

Replying to dimag:

Можно попробовать, хотя не любитель размножать коммиты.

Я не предлагал Вам размножать коммиты. Я предлагал Вам вариант изменения вашей внутренней организации работы, который, возможно, поможет Вам решить вашу проблему.

comment:17 by san, 6 years ago

Milestone: Срочно!

Milestone deleted

Note: See TracTickets for help on using tickets.