Обновить
149
Евгений@rule

Предприниматель в IT

54
Подписчики
Отправить сообщение

Nokia N900 — «кто» это?

Время на прочтение8 мин
Охват и читатели6.5K
Доброго времени суток уважаемый читатель.
Давайте внесем ясность касательно этой статьи. По названию может показаться, что это очередной обзор Nokia N900. Уверяю Вас — это не так.
Я считаю что обзоров уже более чем предостаточно, писать еще один — нет смысла. Но если вам все-же нужен обзор, то могу порекомендовать парочку. Вот например:
официальный обзор;
статья-ссылка на хабре;
статья-обзор на хабре;
статья в википедии;
содержательный обзор от mail.ru
еще один содержательный обзор от mobile-review.com.
А вот хороший демо-ролик, который хорошо иллюстрирует основные возможности и задачи этого устройства.



С обзором разобрались. Теперь собственно вопрос: «Так о чем же эта статья?». А суть статьи как раз в названии. В этой статье я вместе с Вами попробую разобраться в том, чем или кем является Nokia N900. Может быть это просто очередной смартфон от Nokia, может это эволюция телефонов Nokia, а может это революция на мобильном рынке. Рассматривать я буду это с субъективной точки зрения. Так как я являюсь разработчиком ПО для мобильных и встраиваемых систем, то попробую представить точку зрения разработчиков ПО в общем. Ну и подмешаю к этому коктейлю свое мнение как конечного пользователя. В итоге, я надеюсь, что получился обзор «изнутри».
Читать дальше →

Мои первые собственные доработки Qt-creator'a

Время на прочтение1 мин
Охват и читатели2.5K
Всем привет. Пару дней назад я начал немного «похачивать» Qt-creator. Чтобы понять в общих чертах внутренности прилось потратить вечер. Еще один вечер ушел чтобы понять как реализовать эту фичу. Ну и в конечном итоге реализация заняла около часа.

Смысл этой фичи заключается в том, что теперь можно с помощью соотвественного переключателя соеденить деревья исходных файлов и заголовчных файлов. Мне было неудобно иметь два дерева — одно для заголовочных файлов — другое для исходных, и это сподвинуло меня реализовать эту маленьку переделку.

Результаты можно посмотреть в моем «merge request» на gitorious'е .

Вот небольшая видео-демка, демонстрирующая мою фичу.


Я поменял класс FolderNode, теперь в нем есть свойство FileType contentType(). Это свойство определяет тип содержимого папки (исходники, заголовочные файлы, ресурси и тд.). Еще я добавил свойство excludeFolderType в FlatMode. Это свойство служит для того, чтоб исключить все папки, у которых контент соостветсвующего типа, из модели со всеми наследниками.

Зачем мне это было нужно.
1. Хотелось понять как устроен Qt-creator.
2. Повысить свои навыки (поучится на чужом коде).
3. Помочь сделать Qt-creator лучше.

Дальше планирую реализовать еще парочку небольших улучшений:
1. Панель файловой системы сделать древовидной.
2. Состояние файла в проекте в системе контроля версий.

P.S: Это был мой первый опыт работы с git и gitorious.
Если кому нибудь будет непонятно как «контрибутить» свой код — обращайтесь, с радостью все расскажу.
UPD: как всегда английскую версию можно найти на моем блоге

Разработка на Qt для Symbian S60 официально доступна

Время на прочтение2 мин
Охват и читатели5K
Очень долго ждал официального релиза Qt 4.6.0, так как Тролли обещали поддержать официально разработку под S60 на Qt. Пока существовал Developer Preview — разработчик мог писать приложения для S60, но не существовало никаких механизмов для предоставления приложений конечному потребителю (то-есть пользователю).
image
image
На момент выхода релиза 4.6.0 обещали эту ситуацию поправить, и в форумах и в переписке тролли отвечали на вопросы касающиеся «deploy»'у (очень не нравится мне русский аналог этого слова: «развертывание» ) приложений на устройства так: «В пред релизе этого нет, ждите официального релиза. Там всё будет!».

Что же изменилось с выходом официального релиза?
Читать дальше →

Приватные слоты в паттерне Pimpl от Qt

Время на прочтение10 мин
Охват и читатели8.2K

Вступление.


Недавно я писал по поводу реализации паттерна Pimpl в библиотеке Qt и призывал людей следовать такому подходу при разработке их собственных бибиотек. Теперь я хочу поговорить о таком понятии, как приватные слоты и тем самым продолжить эту тему. Заключительной статьей на эту тему будет реализация механизма Implicit Sharing и shared d-pointer.

Что это и зачем это нужно.


Приватные слоты — это механизм дополняющий функционал d-указателей. Он позволяет реализовать слоты для приватного класса, даже если он не является наследником от QObject (обычно он им и не является), но для этого публичный класс должен быть наследником от QObject. Тоесть по факту создается некий приватный слот в публичном классе и он непосредственно дергает нужный метод приватного класса.
Зачем это нужно? Ну рассмотрим на примере. Есть класс QAbstractScrollArea. Он просто отображает некий виджет (viewport) и обеспечивает прокрутку. Прокрутка обеспечивается с помощью двух экземпляров класса QScrollBar. Сами эти скролбары он хранит в приватном классе. Теперь проблемма: как подключить сигнал от скроллбара об изменение его позиции с классом QAbstractScrollAreaPrivate, ведь он не является QObject'ом? Сделать его наследником от QObject — лучше не делайте это :-). Можно сделать слот в публичном классе и повесить на него, то в таком случае это не очень красиво — так как наружу выходят слоты от внутренней реализации. Вот ту Qt-шниками был придуман достаточно разумный и элегантный подход — приватные слоты.

Читать дальше →

Что такое Pimpl по версии Qt, и с чем его едят!

Время на прочтение12 мин
Охват и читатели41K

Вступление.



Часто в документации от Qt встречается термин Pimpl. Кроме того, те кто хоть немного копался в исходном коде Qt часто видел такие макросы как: Q_DECLARE_PRIVATE, Q_D. А также встречал так называемые приватные заголовочные файлы, название которых заканчивается на "_p.h".
В этой статье я попробую приоткрыть ширму за всей это структурой.

Pimpl, что это?


Pimpl — Pointer to private implementation. Это одно из названий паттерна программирования. Еще его называют чеширским котом — «Cheshire Cat» (это название мне больше нравится). В чем суть этого паттерна? Основная идея этого паттерна — это вынести все приватные члены класса и, в не которых случаях, функционала в приватный класс.
Отсюда название «чеширский кот» — видно только улыбку, а все остальное остается невидимым, но оно несомненно есть :-) Кто не помнит этого замечательного кота, может обратится к первоисточнику, к книге Льюиса Кэрролла «Алиса в стране чудес». Очень интересная книга, особенно если читать в оригинале.
Что это дает?
Читать дальше →
2

Информация

В рейтинге
Не участвует
Откуда
Sydney, New South Wales, Австралия
Дата рождения
Зарегистрирован
Активность