Changeset 252


Ignore:
Timestamp:
06/30/09 22:51:42 (3 years ago)
Author:
antonbatenev.ya.ru
Message:

Исправление ошибок компиляции 1.0a + исправление поведения при ошибке парсинга ответа синхронизации (см.  http://www.rsdn.ru/forum/janus/3449147.1.aspx)

Location:
tags/1.0a
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • tags/1.0a/dev/build.sh

    r51 r252  
    99 
    1010# путь до Qt4.4 без слеша в конце 
    11 QT_PATH="/usr/lib/qt4.4" 
     11QT_PATH="/usr/lib/qt4" 
    1212 
    1313# имя проекта 
  • tags/1.0a/form_main.cpp

    r48 r252  
    115115                        AUserInfoList list; 
    116116 
    117                         AWebservice::GetUserList_WebserviceParse(answer, list, row_version.User, NULL); 
     117                        QString result = AWebservice::GetUserList_WebserviceParse(answer, list, row_version.User, NULL); 
     118 
     119                        if (result.length() > 0) 
     120                        { 
     121                                QMessageBox::critical(this, QString::fromUtf8("Ошибка!"), result); 
     122                                return; 
     123                        } 
    118124 
    119125                        // сохранение ответа 
  • tags/1.0a/message_tree.cpp

    r46 r252  
    2828        // загружено ли тело сообщения 
    2929        bool IsBodyLoaded; 
    30 }; 
     30} AMessageInfoGUI; 
    3131//---------------------------------------------------------------------------------------------- 
    3232// элемент для дерева группы форумов с информацией о группе 
  • tags/1.0a/model/forum.h

    r26 r252  
    2121        bool    InTop;     // участвует ли оценки этого форума в топе 
    2222        int     RateLimit; // лимит оценки в форуме 
    23 }; 
     23} AForumInfo; 
    2424//---------------------------------------------------------------------------------------------- 
    2525// список форумов 
     
    3333        int  IDForum; // id форума 
    3434        bool IsFirst; // true - первая подписка, иначе false 
    35 }; 
     35} ASubscribedForumInfo; 
    3636//---------------------------------------------------------------------------------------------- 
    3737// список id подписаных форумов 
     
    4545        int IDForum; // id форума 
    4646        int Count;   // количество непрочитанных сообщений 
    47 }; 
     47} AUnreadForumCountInfo; 
    4848//---------------------------------------------------------------------------------------------- 
    4949// список количества непрочитаных сообщений 
  • tags/1.0a/model/forum_group.h

    r19 r252  
    2020        // список форумов в группе 
    2121        AForumInfoList  Forums; 
    22 }; 
     22} AForumGroupInfo; 
    2323//---------------------------------------------------------------------------------------------- 
    2424// дерево форумов 
  • tags/1.0a/model/group.h

    r19 r252  
    1717        QString Name;      // наименование группы 
    1818        int     SortOrder; // порядок сортировки 
    19 }; 
     19} AGroupInfo; 
    2020//---------------------------------------------------------------------------------------------- 
    2121// список групп 
  • tags/1.0a/model/message.h

    r44 r252  
    3232        int       UserTitleColor; // цвет повязки 
    3333        QDateTime LastModerated;  // дата последней модерилки или "1970-01-01 00:00:00" 
    34 }; 
     34} AMessageInfo; 
    3535//---------------------------------------------------------------------------------------------- 
    3636// список сообщений 
     
    4545        QList<int>               BrokenMessage; // список ID сообщений для загрузки 
    4646        QList<int>               BrokenTopic;   // список ID оборванных топиков 
    47 }; 
     47} ADataQuery; 
    4848//---------------------------------------------------------------------------------------------- 
    4949// объединенная структура для синхронизации списка сообщений от вебсервиса 
     
    5454        ARatingInfoList   Rating;   // рейтинги 
    5555        AModerateInfoList Moderate; // модерилки 
    56 }; 
     56} ADataList; 
    5757//---------------------------------------------------------------------------------------------- 
    5858// расширенная информация о сообщении для отображения в дереве в GUI 
     
    6161{ 
    6262        bool IsRead; // прочитано ли сообщение 
    63 }; 
     63} AMessageInfoEx; 
    6464//---------------------------------------------------------------------------------------------- 
    6565// список сообщений для отображения в дереве в GUI 
     
    7373        bool HasChild;       // есть ли дочерние сообщения 
    7474        bool HasUnreadChild; // есть ли дочерние непрочитанные сообщения 
    75 }; 
     75} ATopicInfo; 
    7676//---------------------------------------------------------------------------------------------- 
    7777// список сообщений для отображения в дереве в GUI 
  • tags/1.0a/model/moderate.h

    r44 r252  
    1818        int       IDForum;   // id форума 
    1919        QDateTime Created;   // дата 
    20 }; 
     20} AModerateInfo; 
    2121//---------------------------------------------------------------------------------------------- 
    2222// cписок модерилок 
  • tags/1.0a/model/rating.h

    r44 r252  
    2020        int       Rate;       // "+1" = -3, "1" = 1, "2" = 2, "3" = 3, "+" = -4, "-" = 0, ";)" = -2 
    2121        QDateTime RateDate;   // дата 
    22 }; 
     22} ARatingInfo; 
    2323//---------------------------------------------------------------------------------------------- 
    2424// список рейтингов 
  • tags/1.0a/model/row_version.h

    r21 r252  
    1818        QString Rating;   // рейтинг 
    1919        QString Moderate; // модерилки 
    20 }; 
     20} ARowVersion; 
    2121//---------------------------------------------------------------------------------------------- 
    2222#endif 
  • tags/1.0a/model/user.h

    r21 r252  
    2323        QString WhereFrom;      // откуда 
    2424        QString Origin;         // подпись 
    25 }; 
     25} AUserInfo; 
    2626//---------------------------------------------------------------------------------------------- 
    2727// список пользователей 
  • tags/1.0a/storage/istorage.h

    r44 r252  
    2121        idsGroup,   // группа 
    2222        idsAll      // все 
    23 }; 
     23} AIDSet; 
    2424//---------------------------------------------------------------------------------------------- 
    2525// общий интерфейс для всех хранилищ (см. AStorageFactory в storage_factory.h) 
  • tags/1.0a/sysheaders.h

    r48 r252  
    4444#include <QDesktopServices> 
    4545//---------------------------------------------------------------------------------------------- 
     46// системные заголовочные файлы 
     47//---------------------------------------------------------------------------------------------- 
     48#include <memory> 
     49//---------------------------------------------------------------------------------------------- 
    4650// макрос для отладки и легкого вывода алерта, в релизе использоваться не должен 
    4751//---------------------------------------------------------------------------------------------- 
  • tags/1.0a/webservice.cpp

    r37 r252  
    227227//---------------------------------------------------------------------------------------------- 
    228228 
    229 void AWebservice::GetUserList_WebserviceParse (const QString& data, AUserInfoList& list, QString& row_version, IProgress* progress) 
     229QString AWebservice::GetUserList_WebserviceParse (const QString& data, AUserInfoList& list, QString& row_version, IProgress* progress) 
    230230{ 
    231231        if (progress != NULL) 
     
    262262        row_version = GetNextBlock(&data, "<lastRowVersion>", "</lastRowVersion>", seed); 
    263263 
     264        // проверка ошибок получения версий строк 
     265        // подавлять ошибки сбросом в значение по умолчанию ("AAAAAAAAAAA=") оказалось неправильно 
     266        // подробнее см. http://www.rsdn.ru/forum/janus/3449147.1.aspx 
    264267        if (row_version.length() == 0) 
    265                 row_version = "AAAAAAAAAAA="; 
     268                return QString::fromUtf8("В ответе вебсервиса не найдено поле <lastRowVersion>"); 
     269 
     270        return ""; 
    266271} 
    267272//---------------------------------------------------------------------------------------------- 
     
    450455        row_version.Moderate = GetNextBlock(&data, "<lastModerateRowVersion>", "</lastModerateRowVersion>", seed); 
    451456 
     457        // проверка ошибок получения версий строк 
     458        // подавлять ошибки сбросом в значение по умолчанию ("AAAAAAAAAAA=") оказалось неправильно 
     459        // подробнее см. http://www.rsdn.ru/forum/janus/3449147.1.aspx 
    452460        if (row_version.Rating.length() == 0) 
    453                 row_version.Rating = "AAAAAAAAAAA="; 
     461                return QString::fromUtf8("В ответе вебсервиса не найдено поле <lastRatingRowVersion>"); 
    454462        if (row_version.Message.length() == 0) 
    455                 row_version.Message = "AAAAAAAAAAA="; 
     463                return QString::fromUtf8("В ответе вебсервиса не найдено поле <lastForumRowVersion>"); 
    456464        if (row_version.Moderate.length() == 0) 
    457                 row_version.Moderate = "AAAAAAAAAAA="; 
     465                return QString::fromUtf8("В ответе вебсервиса не найдено поле <lastModerateRowVersion>"); 
    458466 
    459467        return ""; 
  • tags/1.0a/webservice.h

    r44 r252  
    2727 
    2828                // парсит ответ со списком пользователей и заносит результат в список 
    29                 static void GetUserList_WebserviceParse (const QString& data, AUserInfoList& list, QString& row_version, IProgress* progress = NULL); 
     29                static QString GetUserList_WebserviceParse (const QString& data, AUserInfoList& list, QString& row_version, IProgress* progress = NULL); 
    3030 
    3131                // возвращает заголовок и данные для POST запроса получения списка сообщений 
Note: See TracChangeset for help on using the changeset viewer.