• AimTask, или как мы сделали планировщик задач

      Всем привет!
      В этой статье я расскажу вам, о том как мы с друзьями делали свою версию программной реализации GTD и что в итоге у нас получилось.
      Как произошло что мы этим занялись и что мы хотели получить в итоге? Как все началось и чем закончилось?
      И так вам все еще интересно? Тогда, как говорится, Добро пожаловать под кат.
      Читать дальше →
    • Трюки с моделями в Qt

      Всем привет!
      В этой небольшой статье я научу вас, одному интересному трюку с моделями, который можно реализовать с помощью MVC фреймворка Qt.

      Исходные данные для трюка.


      Двухуровневая модель дерева:
      |Parent 1
      -----Child 1
      -----Child N
      |Parent N
      -----Child 1
      -----Child N
      


      Модель списка:
      Item1
      Item2
      Item3


      В результате трюка мы получим модель объединяющую две вышеприведенные модели:
      |Parent 1
      ------Child 1
      ------Child N
      |Parent N
      ------Child 1
      ------Child N
      |Item1
      |Item2
      |Item3


      Приступим к реализации.


      И так как же это сделать? Я думаю вы уже догадались что сделать это можно прибегнув к помощи QAbstractProxyModel. А вот и нет! К сожалению стандартный класс QAbstractProxyModel может преобразовать лишь одну исходную модель (что тоже неплохо). Поэтому мы напишем свою ModelJoinerProxy, которая будет компоновать наши две исходные модели в одно целое.
      И так приступим:

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