Спасибо за ценные предложения, обязательно доработаю по всем пунктам. Даже и не знал, что такие цветовые схемы существуют. А вот про налезающие кнопки знал, но сам «схалявил» — подумал что мало кто заметит.
Мне видится использование QSS целесообразным в следующих случаях:
когда предполагается использование приложения на разных платформах одновременно: например пользователь часто работает с приложением на desktop системе на рабочем месте и с планшетного компьютера «в поле» (для iStodo — дома и на лекциях) и компоновка элементов остается прежней. Тогда возможно пользователю легче будет принять один интерфейс, чем постоянно «переключаться» с одного на другой. Другое дело, когда используется смартфон, тогда организация интерфейса все равно меняется (например с горизонтальной на вертикальную) и возможно не имеет смысла повторять стиль интерфейса desktop приложения.
для реализации поддержки скинов (skins) в приложениях на подобии аудиоплееров, приложений обмена мгновенными сообщениями и т.д. Один мой знакомый был одержим идеей переделки темы Windows XP в Mac OSX и для всех приложений он искал соответствующие темы (для Aimp, Mirinda, Firefox). Наличие «шкурки» было для него решающим в выборе того или иного софта. Другой знакомый решил сделать подарок подруге — именной скин под Aimp с сердечками и рюшечками в знак выражения своей любви. Не знаю, долго ли пользовалась его подруга этим скином, но она была в восторге. Эту потенциальную аудиторию тоже стоит иметь в виду.
Но в любом случае (на мой взгляд) необходимо оставить возможность пользователю установить «родной» стиль системы, а для этого нужно оценивать usability как стилизованного интерфейса, так и нативного. Мне это видится как пункты меню «Settings->Style->» в котором появляются Ваши стили (зашитые в ресурсы) и стили сторонних разработчиков, обнаруженные в соответствующей папке.
Конкретно для iStodo кому-то возможно вместо темы «blue» захочется написать тему «dark». Возможно даже человек напишет о этой теме в блоге, как например для QtCreator это сделал shedward в своей статье Редизайн QtCreator своими руками (еще одна хорошая статья по QSS).
Мне такого плагина не попадалось (готовлю статью-обзор существующих плагинов сторонних разработчиков и ищу их на GitHub, sourceforge, форумах), но его действительно можно написать самому. В частности в функции initialize плагина необходимо получить указатель на виджет, в котором размещаются менеджер редакторов (EditorManager) (а вместе с ним и все редакторы):
А какие действия, на ваш взгляд, целесообразно вынести в ToolBar? Мне на ум пришло «Auto Indent», которое выделяет весь текст и выполняет для него «Auto Indent Selection» (для этого действия по умолчанию нет хоткея). Или например «Advancend Find For Current Project» (для которого есть хот-кей из трех клавиш, но требуется еще выбор из ListBox'a). Конечно целесообразно сделать состав ToolBar'a настраиваемым, но в нем все равно должны быть какие-то действия по умолчанию (наиболее востребованные, за которыми неудобно лезть в меню или для которых есть сложные комбинации клавиш).
Сам сплит есть, как часть самого QtCreator. Нет его поддержки плагином в том смысле, что при разбиении редактора на две области TabBar остается один для обеих областей, что на мой взгляд не совсем правильно (но привыкнуть возможно). Хотелось бы, чтобы TabBar создавался свой для каждого сплита, но я не вижу способа, как это сделать только с помощью API (не затрагивая закрытые методы и данные самого QtCreator).
Тем временем сайт Митрофанова ушел в даун. В статье в частности упоминается ссылка на голосование в этой теме как одна из возможных причин отказа в обслуживании…
Меня тем временем заинтересовало, как будет осуществляться правоприменительная практика? Так как декларируемая цель данного закона — борьба с терроризмом, то от этого и будем отталкиваться. Предположим у следственных органов имеется информация, что некто X (являющийся Т) заходил с своего компьютера на ваш сайт. Неизвестно, что он там делал: может mp3 слушал, а может пытался организовать коммуникацию терр. ячейки. В таких случаях что делается? Вроде оборудование изымается и увозится на экспертизу специалистами по форензике. Это если хостинг в России. А если хостинг в стране Y, с которой трудно организовать взаимодействие даже по линии интерпола? Смысл тогда хранения логов на неподконтрольном хостинге, разве что скриншот с экрана к делу подшить?
И тут возникает вопрос: почему задачу хранения логов деятельности перекладывают на плечи владельцев сайтов? Ведь это создает предпосылки как к сокрытию (затиранию) такой информации, так и к ее фальсификации. Почему они не стали возлагать это на системы, подобные СОРМ? Наверное потому что это выльется в «скачивание интернета».
Другой вопрос — что делать владельцу сайта с запрещенным контентом, который разместил пользователь в нарушение правил форума (но который был впоследствии удален администрацией). Ведь данный факт уже является нарушением законодательства (как факт распространения). А владельцу форума это хранить у себя? Или сразу сообщать по адресу?
Зато я наверняка знаю, кто с удовольствием займется аутсорсингом хранения логов. Найдется крупная западная компания, которая почти за бесценок будет логировать текст, а за дополнительную небольшую плату и видео с фото. А потом методами DataMining исследовать, изучать, делать отчеты и… продавать заинтересованным организациям. Хотя возможно это просто параноидальные мысли.
LONGMAN, поиск реализует утилита simian, автором которой является Simon Harris. Плагин вызывает процесс, которому передаются необходимые аргументы запуска и ожидает вывода. Получив результаты анализа в XML-структурированном виде плагин его парсит и представляет пользователю. Таким образом плагин является GUI-оболочкой для консольной утилиты. Так как код этой утилиты закрыт, то предположить алгоритм работы не представляется возможным. Предположу, что используется один из алгоритмов, представленных в статье Detecting duplicate code.
{
int bar;
int one;
int two;
int foo;
}
{
int foo;
int one;
int two;
int bar;
}
В каждом примере первая и последняя переменная int присутствует для того, чтобы «изолировать» фрагмент повтора. С настройкой -threshold=2 у меня при проверке выдало 2 повтора по 2 строки в каждом.
В статью (в скриншот и код примера) закралась ошибка (текст статьи уже поправил). Спасибо за помощь. Еще раз проанализировал, как ведет себя программа. При 2-х найденных фрагментах повторах текст Find 4 duplicated lines в «summary» означает, что каждый повтор содержит 2 строки (всего четыре). Так что получается, что нет разделения на «оригинал» и «повтор». Еще раз прошу прощения, что ввел в заблуждение текстом статьи с ошибкой.
Но в любом случае (на мой взгляд) необходимо оставить возможность пользователю установить «родной» стиль системы, а для этого нужно оценивать usability как стилизованного интерфейса, так и нативного. Мне это видится как пункты меню «Settings->Style->» в котором появляются Ваши стили (зашитые в ресурсы) и стили сторонних разработчиков, обнаруженные в соответствующей папке.
Конкретно для iStodo кому-то возможно вместо темы «blue» захочется написать тему «dark». Возможно даже человек напишет о этой теме в блоге, как например для QtCreator это сделал shedward в своей статье Редизайн QtCreator своими руками (еще одна хорошая статья по QSS).
и в нем уже разместить нужные виджеты, например QFrame:
необходимо также добавить заголовочный файл менеджера редакторов (помимо прочих):
А какие действия, на ваш взгляд, целесообразно вынести в ToolBar? Мне на ум пришло «Auto Indent», которое выделяет весь текст и выполняет для него «Auto Indent Selection» (для этого действия по умолчанию нет хоткея). Или например «Advancend Find For Current Project» (для которого есть хот-кей из трех клавиш, но требуется еще выбор из ListBox'a). Конечно целесообразно сделать состав ToolBar'a настраиваемым, но в нем все равно должны быть какие-то действия по умолчанию (наиболее востребованные, за которыми неудобно лезть в меню или для которых есть сложные комбинации клавиш).
Меня тем временем заинтересовало, как будет осуществляться правоприменительная практика? Так как декларируемая цель данного закона — борьба с терроризмом, то от этого и будем отталкиваться. Предположим у следственных органов имеется информация, что некто X (являющийся Т) заходил с своего компьютера на ваш сайт. Неизвестно, что он там делал: может mp3 слушал, а может пытался организовать коммуникацию терр. ячейки. В таких случаях что делается? Вроде оборудование изымается и увозится на экспертизу специалистами по форензике. Это если хостинг в России. А если хостинг в стране Y, с которой трудно организовать взаимодействие даже по линии интерпола? Смысл тогда хранения логов на неподконтрольном хостинге, разве что скриншот с экрана к делу подшить?
И тут возникает вопрос: почему задачу хранения логов деятельности перекладывают на плечи владельцев сайтов? Ведь это создает предпосылки как к сокрытию (затиранию) такой информации, так и к ее фальсификации. Почему они не стали возлагать это на системы, подобные СОРМ? Наверное потому что это выльется в «скачивание интернета».
Другой вопрос — что делать владельцу сайта с запрещенным контентом, который разместил пользователь в нарушение правил форума (но который был впоследствии удален администрацией). Ведь данный факт уже является нарушением законодательства (как факт распространения). А владельцу форума это хранить у себя? Или сразу сообщать по адресу?
Зато я наверняка знаю, кто с удовольствием займется аутсорсингом хранения логов. Найдется крупная западная компания, которая почти за бесценок будет логировать текст, а за дополнительную небольшую плату и видео с фото. А потом методами DataMining исследовать, изучать, делать отчеты и… продавать заинтересованным организациям. Хотя возможно это просто параноидальные мысли.
В каждом примере первая и последняя переменная int присутствует для того, чтобы «изолировать» фрагмент повтора. С настройкой -threshold=2 у меня при проверке выдало 2 повтора по 2 строки в каждом.