Pull to refresh
150
0
Евгений @rule

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

Send message

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

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



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

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

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

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

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

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


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

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

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

P.S: Это был мой первый опыт работы с git и gitorious.
Если кому нибудь будет непонятно как «контрибутить» свой код — обращайтесь, с радостью все расскажу.
UPD: как всегда английскую версию можно найти на моем блоге
Total votes 50: ↑46 and ↓4+42
Comments16

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

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

Что же изменилось с выходом официального релиза?
Читать дальше →
Total votes 30: ↑27 and ↓3+24
Comments28

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

Reading time10 min
Views7.4K

Вступление.


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

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


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

Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments17

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

Reading time12 min
Views39K

Вступление.



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

Pimpl, что это?


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

Information

Rating
Does not participate
Location
Sydney, New South Wales, Австралия
Date of birth
Registered
Activity