Changeset 196


Ignore:
Timestamp:
03/29/09 06:24:36 (3 years ago)
Author:
antonbatenev.ya.ru
Message:

В дереве форумов и сообщений доделана отметка ответов мне.

Location:
trunk
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/forum_tree.cpp

    r192 r196  
    99#include "model/all.h" 
    1010#include "form_date.h" 
     11#include "icon_effect.h" 
    1112#include "form_message.h" 
    1213#include "tree_widget_item.h" 
     
    2324typedef struct AForumInfoGUI 
    2425{ 
    25         AForumInfo Info; 
    26         int        UnreadCount; 
     26        AForumInfo Info;          /*!< \brief Описатель форума                       */ 
     27        int        UnreadCount;   /*!< \brief Количество непрочитанных сообщений     */ 
     28        int        UnreadCountMy; /*!< \brief Количество непрочитанных сообщений мне */ 
    2729} AForumInfoGUI; 
    2830//---------------------------------------------------------------------------------------------- 
     
    3537AForumTree::AForumTree (QWidget* parent, QWidget* form) : QTreeWidget (parent), IForumTree () 
    3638{ 
     39        // 
     40        // инициализация полей 
     41        // 
     42 
    3743        m_parent       = form; 
    3844        m_message_tree = 0; 
     
    4450        m_specail_group_count = 0; 
    4551 
     52        // 
     53        // инициализация GUI виджета 
     54        // 
     55 
    4656        setFrameShadow(QFrame::Plain); 
    4757        setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); 
     
    5767        headerItem()->setTextAlignment(1, Qt::AlignCenter); 
    5868 
     69        // 
     70        // контекстное меню 
     71        // 
     72 
    5973        m_menu = new QMenu(this); 
    6074 
     
    7892        m_menu_unsubscribe->setIcon(QIcon(":/icons/unsubscribe16.png")); 
    7993 
     94        // 
     95        // иконки статусов форумов 
     96        // 
     97 
     98        m_forum_read      = QIcon(":/icons/messageread.png"); 
     99        m_forum_unread    = QIcon(":/icons/messageunread.png"); 
     100        m_forum_unread_my = AIconEffect::unionIcons(":/icons/messageunread.png", ":/icons/myunread.png"); 
     101 
     102        // 
     103        // события виджета 
     104        // 
     105 
    80106        connect(this, SIGNAL(currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*)), this, SLOT(current_item_changed(QTreeWidgetItem*, QTreeWidgetItem*))); 
    81107        connect(this, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(context_menu_request(const QPoint&))); 
     108 
     109        // 
     110        // события меню 
     111        // 
    82112 
    83113        connect(m_menu_mark_all_as_read,       SIGNAL(triggered()), this, SLOT(menu_mark_all_as_read_triggered())); 
     
    144174        } 
    145175 
     176        // получение информации о себе 
     177        // TODO: вынести в AGlobal 
     178        QSettings settings; 
     179        AUserInfo me; 
     180 
     181        me.Name = settings.value("rsdn/login", "").toString(); 
     182 
     183        if (storage->whoAmI(me, NULL) == false) 
     184                me.Name = ""; 
     185 
    146186        // получение списка форумов 
    147187        AForumGroupInfoList list; 
     
    156196        AUnreadForumCountInfoList unread; 
    157197 
    158         if (storage->getUnreadCount(unread, NULL) == false) 
     198        if (storage->getUnreadCount(unread, me.ID, NULL) == false) 
    159199        { 
    160200                storage->showError(m_parent); 
     
    232272                        AForumInfoGUI info; 
    233273 
    234                         info.Info        = list[group_index].Forums[forum_index]; 
    235                         info.UnreadCount = 0; 
     274                        info.Info          = list[group_index].Forums[forum_index]; 
     275                        info.UnreadCount   = 0; 
     276                        info.UnreadCountMy = 0; 
    236277 
    237278                        forum_item->setTag(info); 
     
    240281 
    241282                        forum_item->setTextAlignment(1, Qt::AlignCenter); 
     283 
     284                        /* 
     285                        // установка иконок форумов для спец группы 
     286                        // (внешний вид мне не нравится, по этому убрано) 
     287                        if (info.Info.IDGroup == SPECIAL_ID_GROUP) 
     288                        { 
     289                                if (info.Info.ID == SPECIAL_ID_FORUM_MESSAGE2SEND) 
     290                                        forum_item->setIcon(0, QIcon(":/icons/new16.png")); 
     291                                else if (info.Info.ID == SPECIAL_ID_FORUM_RATING2SEND) 
     292                                        forum_item->setIcon(0, QIcon(":/icons/rate_plus.png")); 
     293                                else if (info.Info.ID == SPECIAL_ID_FORUM_MODERATE2SEND) 
     294                                        forum_item->setIcon(0, QIcon(":/icons/moderate.png")); 
     295                        } 
     296                        */ 
    242297 
    243298                        // поиск количества непрочитаных сообщений 
     
    255310                                                m_total_unread_count += unread_count; 
    256311 
    257                                         forum_item->pag()->UnreadCount = unread_count; 
     312                                        forum_item->pag()->UnreadCount   = unread_count; 
     313                                        forum_item->pag()->UnreadCountMy = unread[i].CountMy; 
    258314 
    259315                                        forum_item->setText(1, QString::number(unread_count)); 
     
    263319                                        forum_item->setFont(1, font); 
    264320 
     321                                        if (list[group_index].Forums[forum_index].IDGroup != SPECIAL_ID_GROUP) 
     322                                        { 
     323                                                if (unread[i].CountMy > 0) 
     324                                                        forum_item->setIcon(0, m_forum_unread_my); 
     325                                                else 
     326                                                        forum_item->setIcon(0, m_forum_unread); 
     327                                        } 
     328 
    265329                                        found = true; 
    266330 
     
    275339                                font.setBold(false); 
    276340                                forum_item->setFont(1, font); 
     341 
     342                                if (list[group_index].Forums[forum_index].IDGroup != SPECIAL_ID_GROUP) 
     343                                        forum_item->setIcon(0, m_forum_read); 
    277344                        } 
    278345                } 
     
    308375        } 
    309376 
     377        // получение информации о себе 
     378        // TODO: вынести в AGlobal 
     379        QSettings settings; 
     380        AUserInfo me; 
     381 
     382        me.Name = settings.value("rsdn/login", "").toString(); 
     383 
     384        if (storage->whoAmI(me, NULL) == false) 
     385                me.Name = ""; 
     386 
    310387        // получение количества непрочитаных сообщений 
    311388        AUnreadForumCountInfoList unread; 
    312389 
    313         if (storage->getUnreadCount(unread, NULL) == false) 
     390        if (storage->getUnreadCount(unread, me.ID, NULL) == false) 
    314391        { 
    315392                storage->showError(m_parent); 
     
    344421                                                m_total_unread_count += unread_count; 
    345422 
    346                                         pitem->UnreadCount = unread_count; 
     423                                        pitem->UnreadCount   = unread_count; 
     424                                        pitem->UnreadCountMy = unread[i].CountMy; 
    347425 
    348426                                        forum_item->setText(1, QString::number(unread_count)); 
     
    352430                                        forum_item->setFont(1, font); 
    353431 
     432                                        if (pitem->Info.IDGroup != SPECIAL_ID_GROUP) 
     433                                        { 
     434                                                if (unread[i].CountMy > 0) 
     435                                                        forum_item->setIcon(0, m_forum_unread_my); 
     436                                                else 
     437                                                        forum_item->setIcon(0, m_forum_unread); 
     438                                        } 
     439 
    354440                                        found = true; 
    355441 
     
    359445                        if (found == false) 
    360446                        { 
    361                                 pitem->UnreadCount = 0; 
     447                                pitem->UnreadCount   = 0; 
     448                                pitem->UnreadCountMy = 0; 
    362449 
    363450                                forum_item->setText(1, "-"); 
     
    366453                                font.setBold(false); 
    367454                                forum_item->setFont(1, font); 
     455 
     456                                if (pitem->Info.IDGroup != SPECIAL_ID_GROUP) 
     457                                        forum_item->setIcon(0, m_forum_read); 
    368458                        } 
    369459                } 
     
    457547//---------------------------------------------------------------------------------------------- 
    458548 
    459 void AForumTree::changeUnreadCount (int count) 
     549void AForumTree::changeUnreadCount (int count, int count_my) 
    460550{ 
    461551        ForumTreeWidgetItem* forum_item = static_cast<ForumTreeWidgetItem*>(getSelectedForumItem()); 
     
    464554                return; 
    465555 
    466         forum_item->pag()->UnreadCount += count; 
     556        forum_item->pag()->UnreadCount   += count; 
     557        forum_item->pag()->UnreadCountMy += count_my; 
    467558 
    468559        if (forum_item->pag()->UnreadCount != 0) 
     
    474565                forum_item->setFont(1, font); 
    475566 
     567                if (forum_item->pag()->Info.IDGroup != SPECIAL_ID_GROUP) 
     568                { 
     569                        if (forum_item->pag()->UnreadCountMy > 0) 
     570                                forum_item->setIcon(0, m_forum_unread_my); 
     571                        else 
     572                                forum_item->setIcon(0, m_forum_unread); 
     573                } 
     574 
    476575                // установка возможных действий 
    477576                m_main_form->setEnabledAction(aaPrevNextUnreadArticle, true); 
     
    485584                font.setBold(false); 
    486585                forum_item->setFont(1, font); 
     586 
     587                if (forum_item->pag()->Info.IDGroup != SPECIAL_ID_GROUP) 
     588                        forum_item->setIcon(0, m_forum_read); 
    487589 
    488590                // установка возможных действий 
  • trunk/forum_tree.h

    r131 r196  
    7272                int m_specail_group_count; /*!< \brief Общее количество спец-групп форумов */ 
    7373 
     74                // 
     75                // иконки для отображения статусов сообщений 
     76                // 
     77 
     78                QIcon m_forum_read;      /*!< \brief Все сообщения прочитанны              */ 
     79                QIcon m_forum_unread;    /*!< \brief Есть непрочитанные сообщения          */ 
     80                QIcon m_forum_unread_my; /*!< \brief Есть непрочитанные сообщения для меня */ 
     81 
    7482                /*! 
    7583                 * \brief Функция проверки установки выделения, в случае отсутствия выделения, выделяет самый верхний элемент 
     
    115123                void reloadUnread (bool reload_message_tree); 
    116124 
    117                 void changeUnreadCount (int count); 
     125                void changeUnreadCount (int count, int count_my); 
    118126 
    119127                void newMessage (); 
  • trunk/iforum_tree.h

    r131 r196  
    3838                 *              отрицательное значение уменьшает число на count, 
    3939                 *              проверка соответствия итогового значения с реальным числом непрочитанных сообщений в дереве сообщений не производится. 
     40                 * \param count_my дельта числа непрочитанных сообщений мне (по аналогии с параметром count) 
    4041                 */ 
    41                 virtual void changeUnreadCount (int count) = 0; 
     42                virtual void changeUnreadCount (int count, int count_my) = 0; 
    4243 
    4344                /*! 
  • trunk/message_tree.cpp

    r191 r196  
    895895                                // и должна произойти смена иконки 
    896896                                if (old_unread_count_my != 0 && info_parent->UnreadChildCountMy == 0) 
    897                                         item_parent->setIcon(0, m_message_unread); 
     897                                { 
     898                                        // исключение составляет момент, когда элемент, у которого должна поменяться иконка 
     899                                        // сам по себе является ответом мне. В этом случае, у него свойства 
     900                                        // HasUnreadChildMy = false и UnreadChildCountMy = 0, однако, поскольку он является ответом мне 
     901                                        // то пометка с него сниматься не должна 
     902 
     903                                        MessageTreeWidgetItem* item_parent_parent = static_cast<MessageTreeWidgetItem*>(item_parent->parent()); 
     904 
     905                                        if (item_parent_parent == NULL || item_parent_parent->pag()->IDUser != m_me.ID) 
     906                                                item_parent->setIcon(0, m_message_unread); 
     907                                } 
    898908                        } 
    899909                        else 
    900910                        { 
     911                                // TODO: уменьшить возможное количество смен иконок на точно такие же 
     912 
    901913                                // родитель прочитан 
    902914 
     
    909921                                // и должна произойти смена иконки 
    910922                                else if (old_unread_count != info_parent->UnreadChildCount && info_parent->UnreadChildCount > 0) 
    911                                         item_parent->setIcon(0, m_child_unread); 
     923                                { 
     924                                        // если, конечно, нет непрочитанных мне 
     925                                        if (info_parent->UnreadChildCountMy == 0) 
     926                                                item_parent->setIcon(0, m_child_unread); 
     927                                } 
    912928 
    913929                                // нет дочерних непрочитанных 
     
    920936 
    921937                // уменьшение количества непрочитанных в дереве форума 
    922                 m_forum_tree->changeUnreadCount(-1); 
     938                if (message_to_me == true) 
     939                        m_forum_tree->changeUnreadCount(-1, -1); 
     940                else 
     941                        m_forum_tree->changeUnreadCount(-1, 0); 
    923942        } 
    924943        else   // if (is_read == true) 
    925944        { 
    926                 // TODO: Доделать пометку родителей, если отметилось сообщение, которое является ответом мне 
    927  
    928                 // установка иконки помечаемому сообщению 
    929                 item->setIcon(0, m_message_unread); 
     945                // флаг того, что это было сообщение для меня 
     946                bool message_to_me = false; 
    930947 
    931948                // установка флагов и иконок у родительских сообщений 
    932949                MessageTreeWidgetItem* parent_item = static_cast<MessageTreeWidgetItem*>(item->parent()); 
    933950 
     951                // для текущего сообщения 
     952                if (parent_item != NULL && parent_item->pag()->IDUser == m_me.ID) 
     953                        message_to_me = true; 
     954 
     955                if (message_to_me == true || info->HasUnreadChildMy == true) 
     956                        item->setIcon(0, m_message_unread_my); 
     957                else 
     958                        item->setIcon(0, m_message_unread); 
     959 
     960                // для родительских сообщений 
    934961                while (parent_item != NULL) 
    935962                { 
     
    938965                        // смена иконки при необходимости 
    939966                        if (parent_info->IsRead == true && parent_info->HasUnreadChild == false) 
    940                                 parent_item->setIcon(0, m_child_unread); 
     967                        { 
     968                                if (message_to_me == true) 
     969                                        parent_item->setIcon(0, m_child_unread_my); 
     970                                else 
     971                                        parent_item->setIcon(0, m_child_unread); 
     972                        } 
    941973 
    942974                        parent_info->UnreadChildCount++; 
    943975                        parent_info->HasUnreadChild = true; 
    944976 
     977                        if (message_to_me == true) 
     978                        { 
     979                                parent_info->UnreadChildCountMy++; 
     980                                parent_info->HasUnreadChildMy = true; 
     981                        } 
     982 
    945983                        parent_item = static_cast<MessageTreeWidgetItem*>(parent_item->parent()); 
    946984                } 
    947985 
    948986                // увеличение количества непрочитанных в дереве форума 
    949                 m_forum_tree->changeUnreadCount(1); 
     987                if (message_to_me == true) 
     988                        m_forum_tree->changeUnreadCount(1, 1); 
     989                else 
     990                        m_forum_tree->changeUnreadCount(1, 0); 
    950991 
    951992        }   // if (is_read == true) ... else 
     
    955996void AMessageTree::menu_mark_message_as_read_triggered () 
    956997{ 
     998        // остановка таймера пометки как прочитанного, т.к. его операция должна быть в любом случае прервана 
     999        m_timer.stop(); 
     1000 
    9571001        QTreeWidgetItem* item = currentItem(); 
    9581002 
     
    9661010void AMessageTree::menu_mark_message_as_unread_triggered () 
    9671011{ 
     1012        // остановка таймера пометки как прочитанного, т.к. его операция должна быть в любом случае прервана 
     1013        m_timer.stop(); 
     1014 
    9681015        QTreeWidgetItem* item = currentItem(); 
    9691016 
     
    9971044void AMessageTree::menu_mark_thread_as_read_triggered () 
    9981045{ 
     1046        // остановка таймера пометки как прочитанного, т.к. его операция должна быть в любом случае прервана 
     1047        m_timer.stop(); 
     1048 
    9991049        QTreeWidgetItem* item = currentItem(); 
    10001050 
     
    10141064        if (info->IsChildLoaded == true) 
    10151065        { 
    1016                 int count = 0; 
    1017  
    1018                 markThreadAsRead(parent, true, count); 
    1019  
    1020                 m_forum_tree->changeUnreadCount(-count); 
     1066                int count    = 0; 
     1067                int count_my = 0; 
     1068 
     1069                markThreadAsRead(parent, true, count, count_my); 
     1070 
     1071                m_forum_tree->changeUnreadCount(-count, -count_my); 
    10211072        } 
    10221073        else 
     
    10401091void AMessageTree::menu_mark_thread_as_unread_triggered () 
    10411092{ 
     1093        // остановка таймера пометки как прочитанного, т.к. его операция должна быть в любом случае прервана 
     1094        m_timer.stop(); 
     1095 
    10421096        QTreeWidgetItem* item = currentItem(); 
    10431097 
     
    10571111        if (info->IsChildLoaded == true) 
    10581112        { 
    1059                 int count = 0; 
    1060  
    1061                 markThreadAsRead(parent, false, count); 
    1062  
    1063                 m_forum_tree->changeUnreadCount(count); 
     1113                int count    = 0; 
     1114                int count_my = 0; 
     1115 
     1116                markThreadAsRead(parent, false, count, count_my); 
     1117 
     1118                m_forum_tree->changeUnreadCount(count, count_my); 
    10641119        } 
    10651120        else 
     
    10791134                // обновление количества непрочитаных в дереве форума 
    10801135                m_forum_tree->reloadUnread(false); 
     1136 
     1137                // перегружаем информацию о топике (возможно, что есть непрочитанные сообщения для меня) 
     1138                info->IsInfoLoaded = false; 
     1139 
     1140                scrollTopics(); 
    10811141        } 
    10821142} 
     
    18951955//---------------------------------------------------------------------------------------------- 
    18961956 
    1897 void AMessageTree::markThreadAsRead (QTreeWidgetItem* parent, bool is_read, int& count) 
     1957void AMessageTree::markThreadAsRead (QTreeWidgetItem* parent, bool is_read, int& count, int& count_my) 
    18981958{ 
    18991959        MessageTreeWidgetItem* item = static_cast<MessageTreeWidgetItem*>(parent); 
     
    19091969        { 
    19101970                item->setIcon(0, m_message_read); 
     1971 
     1972                if (info->UnreadChildCountMy > count_my) 
     1973                        count_my = info->UnreadChildCountMy; 
    19111974 
    19121975                info->HasUnreadChild     = false; 
     
    19161979 
    19171980                for (int i = 0; i < item->childCount(); i++) 
    1918                         markThreadAsRead(item->child(i), is_read, count); 
     1981                        markThreadAsRead(item->child(i), is_read, count, count_my); 
    19191982        } 
    19201983        else   // if (is_read == true) 
    19211984        { 
    1922                 item->setIcon(0, m_message_unread); 
    1923  
    19241985                info->HasUnreadChild     = false; 
    19251986                info->HasUnreadChildMy   = false; 
     
    19271988                info->UnreadChildCountMy = 0; 
    19281989 
     1990                // флаг того, что есть дочерние сообщения для меня 
     1991                bool inc_unread_my = false; 
     1992 
    19291993                MessageTreeWidgetItem* parent = static_cast<MessageTreeWidgetItem*>(item->parent()); 
    19301994 
     1995                // установка иконки на текущее сообщение, если это ответ мне 
     1996                if (parent != NULL && parent->pag()->IDUser == m_me.ID) 
     1997                { 
     1998                        count_my++; 
     1999                        inc_unread_my = true; 
     2000                        item->setIcon(0, m_message_unread_my); 
     2001                } 
     2002                else 
     2003                        item->setIcon(0, m_message_unread); 
     2004 
    19312005                while (parent != NULL) 
    19322006                { 
    19332007                        info = parent->pag(); 
     2008 
     2009                        if (inc_unread_my == true) 
     2010                        { 
     2011                                if (info->HasUnreadChildMy == false) 
     2012                                        parent->setIcon(0, m_message_unread_my); 
     2013 
     2014                                info->HasUnreadChildMy = true; 
     2015                                info->UnreadChildCountMy++; 
     2016                        } 
    19342017 
    19352018                        info->HasUnreadChild = true; 
     
    19402023 
    19412024                for (int i = 0; i < item->childCount(); i++) 
    1942                         markThreadAsRead(item->child(i), is_read, count); 
     2025                        markThreadAsRead(item->child(i), is_read, count, count_my); 
    19432026 
    19442027        }   // if (is_read == true) ... else 
  • trunk/message_tree.h

    r191 r196  
    189189                 * \param is_read Флаг прочитанного 
    190190                 * \param count Количество элементов, которые были помечены 
    191                  */ 
    192                 void markThreadAsRead (QTreeWidgetItem* parent, bool is_read, int& count); 
     191                 * \param count Количество элементов, которые были помечены и являлись ответами мне 
     192                 */ 
     193                void markThreadAsRead (QTreeWidgetItem* parent, bool is_read, int& count, int& count_my); 
    193194 
    194195                /* 
  • trunk/model/forum.h

    r118 r196  
    5252typedef struct AUnreadForumCountInfo 
    5353{ 
    54         int IDForum; /*!< \brief ID форума                          */ 
    55         int Count;   /*!< \brief Количество непрочитанных сообщений */ 
     54        int IDForum; /*!< \brief ID форума                              */ 
     55        int Count;   /*!< \brief Количество непрочитанных сообщений     */ 
     56        int CountMy; /*!< \brief Количество непрочитанных сообщений мне */ 
    5657} AUnreadForumCountInfo; 
    5758 
  • trunk/storage/istorage.h

    r191 r196  
    122122                 * в т.ч. и для спец-группы "Локальные" (см. константы SPECIAL_ID_FORUM_xxx в model/forum.h). 
    123123                 * \param list Список с количеством непрочитанных сообщений для id форумов. 
    124                  * \param progress Прогресс выполнения операции. 
    125                  */ 
    126                 virtual bool getUnreadCount (AUnreadForumCountInfoList& list, IProgress* progress = NULL) = 0; 
     124                 * \param id_me ID текущего пользователя avalon. 
     125                 * \param progress Прогресс выполнения операции. 
     126                 */ 
     127                virtual bool getUnreadCount (AUnreadForumCountInfoList& list, int id_me, IProgress* progress = NULL) = 0; 
    127128 
    128129                /*! 
  • trunk/storage/mysql_storage.cpp

    r191 r196  
    17021702//---------------------------------------------------------------------------------------------- 
    17031703 
    1704 bool AMySQLStorage::getUnreadCount (AUnreadForumCountInfoList& list, IProgress* progress) 
     1704bool AMySQLStorage::getUnreadCount (AUnreadForumCountInfoList& list, int id_me, IProgress* progress) 
    17051705{ 
    17061706        if (progress != NULL) 
     
    17111711        sql += "SELECT\n"; 
    17121712        sql += "        `id_forum`,\n"; 
    1713         sql += "        COUNT(*)\n"; 
     1713        sql += "        COUNT(*),\n"; 
     1714        sql += "        SUM(IF(`id_parent_user` = " + QString::number(id_me) + ", 1, 0))\n"; 
    17141715        sql += "FROM\n"; 
    17151716        sql += "        `unread`\n"; 
     
    17311732                info.IDForum = query_select->value(0).toInt(); 
    17321733                info.Count   = query_select->value(1).toInt(); 
     1734                info.CountMy = query_select->value(2).toInt(); 
    17331735 
    17341736                list.append(info); 
     
    17601762        info_message.IDForum = SPECIAL_ID_FORUM_MESSAGE2SEND; 
    17611763        info_message.Count   = query_message->value(0).toInt(); 
     1764        info_message.CountMy = 0; 
    17621765 
    17631766        if (info_message.Count > 0) 
     
    17851788        info_rating.IDForum = SPECIAL_ID_FORUM_RATING2SEND; 
    17861789        info_rating.Count   = query_rating->value(0).toInt(); 
     1790        info_rating.CountMy = 0; 
    17871791 
    17881792        if (info_rating.Count > 0) 
     
    18101814        info_moderate.IDForum = SPECIAL_ID_FORUM_MODERATE2SEND; 
    18111815        info_moderate.Count   = query_moderate->value(0).toInt(); 
     1816        info_moderate.CountMy = 0; 
    18121817 
    18131818        if (info_moderate.Count > 0) 
  • trunk/storage/mysql_storage.h

    r191 r196  
    5555                bool getMessageQuery        (ADataQuery& query, IProgress* progress = NULL); 
    5656                bool setMessageList         (const ADataList& list, const ARowVersion& row_version, bool save_row_version, IProgress* progress = NULL); 
    57                 bool getUnreadCount         (AUnreadForumCountInfoList& list, IProgress* progress = NULL); 
     57                bool getUnreadCount         (AUnreadForumCountInfoList& list, int id_me, IProgress* progress = NULL); 
    5858                bool getForumTopicList      (int id_forum, int count, QList<int>& list, IProgress* progress = NULL); 
    5959                bool getTopicInfoList       (int id_forum, AMessageInfoGUIPtrList& list, int id_me, IProgress* progress = NULL); 
  • trunk/version.h

    r195 r196  
    2020 * \brief Дата билда (заменяется автоматически при каждом билде в version.h, что и приводит к смене номера ревизии) 
    2121 */ 
    22 #define AVALON_DATE "Сбт Мар 28 10:17:52 MSK 2009" 
     22#define AVALON_DATE "Вск Мар 29 06:22:19 MSD 2009" 
    2323 
    2424#endif 
Note: See TracChangeset for help on using the changeset viewer.